LyoKICogT2xlVmlldyAoRnIucmMpCiAqIEZyZW5jZyBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA2IEpvbmF0aGFuIEVybnN0CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfRlJFTkNILCBTVUJMQU5HX05FVVRSQUwKCklETV9NRU5VIE1FTlUKewogICAgUE9QVVAgIiZGaWNoaWVyIgogICAgewogICAgICAgIE1FTlVJVEVNICImTGllciBhdSBmaWNoaWVyLi4uIiwgICAgSURNX0JJTkQKICAgICAgICBNRU5VSVRFTSAiJkFmZmljaGVyIGxhIFR5cGVMaWIuLi4iLCAgICBJRE1fVFlQRUxJQgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQ29uZmlndXJhdGlvbiBzeXN06G1lLi4uIiwgICAgSURNX1NZU0NPTkYKICAgICAgICBNRU5VSVRFTSAiJkV46WN1dGVyIGwn6WRpdGV1ciBkZSBsYSBiYXNlIGRlIHJlZ2lzdHJlIiwgICAgSURNX1JFR0VESVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlF1aXR0ZXIiLCAgICBJRE1fRVhJVAogICAgfQogICAgUE9QVVAgIiZPYmpldCIKICAgIHsKICAgICAgICBQT1BVUCAiJkNvQ3JlYXRlSW5zdGFuY2UgRmxhZyIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfJklOUFJPQ19TRVJWRVIiLCAgICBJRE1fRkxBR19JTlNFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYX0lOUFJPQ18mSEFORExFUiIsICAgIElETV9GTEFHX0lOSEFOREwKICAgICAgICAgICAgTUVOVUlURU0gIkNMU0NUWF8mTE9DQUxfU0VSVkVSIiwgICAgICAgIElETV9GTEFHX0xPQ1NFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYXyZSRU1PVEVfU0VSVkVSIiwgICAgSURNX0ZMQUdfUkVNU0VSVgogICAgICAgIH0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBzdXIgbGUgJnR5cGUiLCAgICBJRE1fVFlQRUlORk8sIEdSQVlFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJDcullciB1bmUgJmluc3RhbmNlIiwgICAgSURNX0NSRUFURUlOU1QsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICJDcullciB1bmUgaW5zdGFuY2UgJnN1ci4uLiIsICAgIElETV9DUkVBVEVJTlNUT04sIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICImTGli6XJlciBsJ2luc3RhbmNlIiwgICAgSURNX1JFTEVBU0VJTlNULCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQ29waWVyIGxlICZDTFNJRCBkYW5zIGxlIHByZXNzZS1wYXBpZXJzIiwgICAgSURNX0NPUFlDTFNJRCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gIkNvcGllciBsYSBiYWxzZSAmSFRNTCBkZSBsJ29iamV0IGRhbnMgbGUgcHJlc3NlLXBhcGllcnMiLCBJRE1fSFRNTFRBRywgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBZmZpY2hlci4uLiIsICAgIElETV9WSUVXLCBHUkFZRUQKICAgIH0KICAgIFBPUFVQICImQWZmaWNoYWdlIgogICAgewogICAgICAgIE1FTlVJVEVNICJNb2RlICZleHBlcnQiLCAgICBJRE1fRVhQRVJULENIRUNLRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQ2F06WdvcmllcyBkZSBjb21wc2FudHMgJmNhY2jpcyIsICAgIElETV9ISURERU4sIEdSQVlFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQmFycmUgZCdvdXRpbHMiLCAgICBJRE1fVE9PTEJBUixDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIkJhcnJlIGQn6SZ0YXQiLCAgICBJRE1fU1RBVFVTQkFSLENIRUNLRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQSZjdHVhbGlzZXJcdEY1IiwgICAgSURNX1JFRlJFU0gKICAgIH0KICAgIFBPUFVQICJBaWQmZSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiwCAmcHJvcG9zIGRlIE9sZVZpZXciLCAgICBJRE1fQUJPVVQKICAgIH0KfQoKSURNX1RZUEVMSUIgTUVOVQp7CiAgICBQT1BVUCAiJkZpY2hpZXIiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIkVucmVnaXN0cmVyICZzb3VzLi4uIiwgICAgSURNX1NBVkVBUwogICAgICAgIE1FTlVJVEVNICImRmVybWVyIiwgIElETV9DTE9TRQogICAgfQogICAgUE9QVVAgIiZBZmZpY2hhZ2UiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZHcm91cGVyIHBhciB0eXBlIiwgSURNX0dST1VQCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkJhcnJlIGQnJm91dGlscyIsICAgIElETV9UT09MQkFSCiAgICAgICAgTUVOVUlURU0gIiZCYXJyZSBkJ+l0YXQiLCBJRE1fU1RBVFVTQkFSLENIRUNLRUQKICAgIH0KfQoKU1RSSU5HVEFCTEUKewogICAgSURTX0FQUE5BTUUgICAgICAgICAgICAiT2xlVmlldyIKICAgIElEU19BUFBUSVRMRSAgICAgICAgICAgIk9sZVZpZXciCiAgICBJRFNfUkVBRFkgICAgICAgICAgICAgICJQcup0IgogICAgSURTX0FCT1VUICAgICAgICAgICAgICAiT2xlVmlldyAtIFZpc2lvbm5ldXIgZCdvYmpldHMgT0xFL0NPTSIKICAgIElEU19BQk9VVFZFUiAgICAgICAgICAgInZlcnNpb24gMS4wIgogICAgSURTX1RZUEVMSUJUSVRMRSAgICAgICAiVmlzaW9ubmV1ciBkJ0lUeXBlTGliIgogICAgSURTX09QRU4gICAgICAgICAgICAgICAiT3V2cmlyIgogICAgSURTX09QRU5fVFlQRUxJQl9GSUxURVIgIlR5cGVMaWIgRmlsZXMgKCoudGxiOyoub2xiOyouZGxsOyoub2N4OyouZXhlKVwwKi50bGI7Ki5vbGI7Ki5kbGw7Ki5vY3g7Ki5leGVcMEFsbCBGaWxlcyAoKi4qKVwwKi4qXDBcMCIKCiAgICBJRE1fQklORCwgICAgICAgICAgICAgICJMaWUg4CB1biBmaWNoaWVyIOAgbCdhaWRlIGQndW4gRmlsZSBNb25pa2VyIgogICAgSURNX1RZUEVMSUIsICAgICAgICAgICAiT3V2cmUgdW4gZmljaGllciBUeXBlTGliIGV0IGFmZmljaGVyIHNvbiBjb250ZW51IgogICAgSURNX1NZU0NPTkYsICAgICAgICAgICAiTW9kaWZpZSBsZXMgcGFyYW3odHJlcyBDT00gZGlzdHJpYnXpZXMgcG91ciBsJ2Vuc2VtYmxlIGRlIGxhIG1hY2hpbmUiCiAgICBJRE1fUkVHRURJVCwgICAgICAgICAgICJFeOljdXRlIGwn6WRpdGV1ciBkZSBiYXNlIGRlIHJlZ2lzdHJlIGRlIFdpbmUiCiAgICBJRE1fRVhJVCwgICAgICAgICAgICAgICJRdWl0dGUgbCdhcHBsaWNhdGlvbiBhcHLocyBhdm9pciBkZW1hbmTpIHMnaWwgZmF1dCBlbnJlZ2lzdHJlciBsZXMgbW9kaWZpY2F0aW9ucyIKICAgIElETV9DUkVBVEVJTlNULCAgICAgICAgIkNy6WUgdW5lIGluc3RhbmNlIGRlIGwnb2JqZXQgc+lsZWN0aW9ubukiCiAgICBJRE1fQ1JFQVRFSU5TVE9OLCAgICAgICJDcullIHVuZSBpbnN0YW5jZSBkZSBsJ29iamV0IHPpbGVjdGlvbm7pIHN1ciB1bmUgbWFjaGluZSBzcOljaWZpcXVlIgogICAgSURNX1JFTEVBU0VJTlNULCAgICAgICAiTGli6HJlIGwnaW5zdGFuY2UgZGUgbCdvYmpldCBhY3R1ZWxsZW1lbnQgc+lsZWN0aW9ubukiCiAgICBJRE1fQ09QWUNMU0lELCAgICAgICAgICJDb3BpZSBsZSBHVUlEIGRlIGwnb2JqZXQgYWN0dWVsbGVtZW50IHPpbGVjdGlvbm7pIGRhbnMgbGUgcHJlc3NlLXBhcGllcnMiCiAgICBJRE1fVklFVywgICAgICAgICAgICAgICJBZmZpY2hlIGxlIHZpc2lvbm5ldXIgcG91ciBsJ29iamV0IGFjdHVlbGxlbWVudCBz6WxlY3Rpb25u6SIKICAgIElETV9GTEFHX0lOU0VSViwgICAgICAgIlV0aWxpc2UgQ0xTQ1RYX0lOUFJPQ19TRVJWRVIgbG9ycyBkZSBsJ2FwcGVsIOAgQ29HZXRDbGFzc09iamVjdCIKICAgIElETV9GTEFHX0lOSEFOREwsICAgICAgIlV0aWxpc2UgQ0xTQ1RYX0lOUFJPQ19IQU5ETEVSIGxvcnMgZGUgbCdhcHBlbCDgIENvR2V0Q2xhc3NPYmplY3QiCiAgICBJRE1fRkxBR19MT0NTRVJWLCAgICAgICJVdGlsaXNlIENMU0NUWF9MT0NBTF9TRVJWRVIgbG9ycyBkZSBsJ2FwcGVsIOAgQ29HZXRDbGFzc09iamVjdCIKICAgIElETV9GTEFHX1JFTVNFUlYsICAgICAgIlV0aWxpc2UgQ0xTQ1RYX1JFTU9URV9TRVJWRVIgbG9ycyBkZSBsJ2FwcGVsIOAgQ29HZXRDbGFzc09iamVjdCIKICAgIElETV9FWFBFUlQsICAgICAgICAgICAgIkJhc2N1bGUgZW50cmUgbGUgbW9kZSBkJ2FmZmljaGFnZSBleHBlcnQgZXQgbGUgbW9kZSBkJ2FmZmljaGFnZSBk6WJ1dGFudCIKICAgIElETV9ISURERU4sICAgICAgICAgICAgIkJhc2N1bGUgbCdhZmZpY2hhZ2UgZGVzIGNhdOlnb3JpZXMgZGVzIGNvbXBvc2FudCBxdWkgbmUgc29udCBwYXMgcHLpdnVlIHBvdXIg6nRyZSB2aXNpYmxlIgogICAgSURNX1RPT0xCQVIsICAgICAgICAgICAiQWZmaWNoZSBvdSBtYXNxdWUgbGEgYmFycmUgZCdvdXRpbHMiCiAgICBJRE1fU1RBVFVTQkFSLCAgICAgICAgICJBZmZpY2hlIG91IG1hc3F1ZSBsYSBiYXJyZSBkJ+l0YXQiCiAgICBJRE1fUkVGUkVTSCwgICAgICAgICAgICJBY3R1YWxpc2UgdG91dGVzIGxlcyBsaXN0ZXMiCiAgICBJRE1fQUJPVVQsICAgICAgICAgICAgICJBZmZpY2hlIGxlcyBpbmZvcm1hdGlvbnMgc3VyIGxlIHByb2dyYW1tZaA7IGxlIG51belybyBkZSB2ZXJzaW9uIGV0IGxhIGxpY2VuY2UiCgogICAgSURNX1NBVkVBUywgICAgICAgICAgICAiRW5yZWdpc3RyZXIgZW4gdGFudCBxdWUgZmljaGllciAuSURMIG91IC5IIgogICAgSURNX0NMT1NFLCAgICAgICAgICAgICAiRmVybWVyIGxhIGZlbup0cmUiCiAgICBJRE1fR1JPVVAsICAgICAgICAgICAgICJHcm91cGVyIHBhciB0eXBlaW5mb3MiCgogICAgSURTX1RSRUVfT0MsICAgICAgICAgICAiT2JqZWN0Q2xhc3NlcyIKICAgIElEU19UUkVFX0dCQ0MsICAgICAgICAgIkdyb3Vw6XMgcGFyIGNhdOlnb3JpZSBkZSBjb21wb3NhbnRzIgogICAgSURTX1RSRUVfTzFPLCAgICAgICAgICAiT2JqZXRzIE9MRSAxLjAiCiAgICBJRFNfVFJFRV9DTE8sICAgICAgICAgICJPYmpldHMgZGUgbGEgYmlibGlvdGjocXVlIENPTSIKICAgIElEU19UUkVFX0FPLCAgICAgICAgICAgIlRvdXMgbGVzIG9iamV0cyIKICAgIElEU19UUkVFX0FJRCwgICAgICAgICAgIklkZW50aWZpY2F0ZXVycyBkJ2FwcGxpY2F0aW9uIgogICAgSURTX1RSRUVfVEwsICAgICAgICAgICAiQmlibGlvdGjocXVlcyB0eXBlIgogICAgSURTX1RMX1ZFUiwgICAgICAgICAgICAidmVyLiIKICAgIElEU19UUkVFX0ksICAgICAgICAgICAgIkludGVyZmFjZXMiCgogICAgSURTX1RBQl9SRUcsICAgICAgICAgICAiQmFzZSBkZSByZWdpc3RyZSIKICAgIElEU19UQUJfSU1QTCwgICAgICAgICAgIkltcGzpbWVudGF0aW9uIgogICAgSURTX1RBQl9BQ1RJViwgICAgICAgICAiQWN0aXZhdGlvbiIKCiAgICBJRFNfQ0dDT0ZBSUwsICAgICAgICAgICJDb0dldENsYXNzT2JqZWN0IGEg6WNob3XpLiIKICAgIElEU19FUlJPUl9VTktOLCAgICAgICAgIkVycmV1ciBpbmNvbm51ZSIKICAgIElEU19UUlVFLCAgICAgICAgICAgICAgIlRydWUiCiAgICBJRFNfRkFMU0UsICAgICAgICAgICAgICJGYXV4IgogICAgSURTX0JZVEVTLCAgICAgICAgICAgICAib2N0ZXRzIgoKICAgIElEU19FUlJPUl9MT0FEVFlQRUxJQiwgIsljaGVjIGRlIExvYWRUeXBlTGliKCAlcyApICgkJXgpIgogICAgSURTX0lOSEVSSVRJTlRFUkZBQ0VTLCAiSW50ZXJmYWNlcyBo6XJpdOllcyIKfQoKRExHX0NSRUFURUlOU1RPTiBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjUwLCA0MQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU2UgY29ubmVjdGVyIOAgdW5lIGF1dHJlIG1hY2hpbmUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiTm9tIGRlIGxhICZtYWNoaW5loDoiLCBJRElHTk9SRSwgNSwgNiwgMTkwLCA4CiAgICBFRElUVEVYVCAgICBJRENfTUFDSElORSwgNSwgMTYsIDE5MCwgMTIsIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBFU19BVVRPSFNDUk9MTAogICAgREVGUFVTSEJVVFRPTiAgICImT0siLCBJRE9LLCAyMDAsIDUsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZBbm51bGVyIiwgSURDQU5DRUwsIDIwMCwgMjIsIDQ1LCAxNAp9CgpETEdfU1lTQ09ORiBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMTcwLCAxMDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkNvbmZpZ3VyYXRpb24gc3lzdOhtZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJQYXJhbeh0cmVzIHN5c3TobWUiLCBJRElHTk9SRSwgNSwgNiwgMTYwLCA4CiAgICBDSEVDS0JPWCAgICAiJkFjdGl2ZXIgbGUgQ09NIGRpc3RyaWJ16SIsIElEQ19FTkFCTEVEQ09NLCA1LCAyMCwgMTYwLCAxMCwgV1NfVEFCU1RPUCB8IFdTX0dST1VQIHwgQlNfQVVUT0NIRUNLQk9YCiAgICBDSEVDS0JPWCAgICAiQWN0aXZlciBsZXMgY29ubmV4aW9ucyDgICZkaXN0YW5jZSAoc2V1bGVtZW50IFdpbjk1KSIsIElEQ19FTkFCTEVSRU1PVEUsIDUsIDM1LCAxNjAsIDEwLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBCU19BVVRPQ0hFQ0tCT1gKICAgIExURVhUICAgIkNlcyBwYXJhbeh0cmVzIG5lIGZvbnQgcXVlIG1vZGlmaWVyIGxlcyB2YWxldXJzIGR1IHJlZ2lzdHJlLlxuSWxzIG4nb250IHBhcyBkJ2VmZmV0IHN1ciBsZXMgcGVyZm9ybWFuY2VzIGRlIFdpbmUuIiwgSURJR05PUkUsIDUsIDUwLCAxNjAsIDQwCiAgICBERUZQVVNIQlVUVE9OICAgIiZPSyIsIElET0ssIDcwLCA4MCwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJkFubnVsZXIiLCBJRENBTkNFTCwgMTIwLCA4MCwgNDUsIDE0Cn0KCkRMR19ERUZBVUxUX0lWIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDUwClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJWaXNpb25uZXVyIGQnaW50ZXJmYWNlIHBhciBk6WZhdXQiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiSW50ZXJmYWNlIiwgSURJR05PUkUsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIklJRDoiLCBJRElHTk9SRSwgNSwgMTYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfSURFTlRJRklFUiwgNjAsIDE2LCAxNjUsIDgKICAgIERFRlBVU0hCVVRUT04gICAiJkZlcm1lciIsIElEQ0FOQ0VMLCAyMzAsIDYsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZBZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHR5cGUiLCBJRENfVklFV1RZUEVJTkZPLCA2LCAzMSwgNzAsIDE0LCBXU19ESVNBQkxFRAp9CgpETEdfSVBFUlNJU1RfSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMjkKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIklQZXJzaXN0IEludGVyZmFjZSBWaWV3ZXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiTm9tIGRlIGxhIGNsYXNzZaA6IiwgSURJR05PUkUsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIkNMU0lEOiIsIElESUdOT1JFLCA1LCAxNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19JREVOVElGSUVSLCA2MCwgMTYsIDE2NSwgOAogICAgREVGUFVTSEJVVFRPTiAgICImRmVybWVyIiwgSURDQU5DRUwsIDIzMCwgNiwgNDUsIDE0Cn0KCkRMR19JUEVSU0lTVFNUUkVBTV9JViBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCA2OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiVmlzaW9ubmV1ciBkJ2ludGVyZmFjZSBJUGVyc2lzdFN0cmVhbSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJOb20gZGUgbGEgY2xhc3NloDoiLCBJRElHTk9SRSwgNSwgNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19MQUJFTCwgNjAsIDYsIDE0NSwgOAogICAgTFRFWFQgICAiQ0xTSUQ6IiwgSURJR05PUkUsIDUsIDE2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0lERU5USUZJRVIsIDYwLCAxNiwgMTY1LCA4CiAgICBERUZQVVNIQlVUVE9OICAgIiZGZXJtZXIiLCBJRENBTkNFTCwgMjMwLCA2LCA0NSwgMTQKICAgIFBVU0hCVVRUT04gICImSXNEaXJ0eSIsIElEQ19JU0RJUlRZX0JVVFRPTiwgNiwgMzEsIDUwLCAxNAogICAgTFRFWFQgICAiPz8/IiwgSURDX0lTRElSVFksIDYwLCAzNCwgMTQ1LCA4CiAgICBQVVNIQlVUVE9OICAiJkdldFNpemVNYXgiLCBJRENfR0VUU0laRU1BWF9CVVRUT04sIDYsIDQ5LCA1MCwgMTQKICAgIExURVhUICAgIj8/PyIsIElEQ19HRVRTSVpFTUFYLCA2MCwgNTIsIDE0NSwgOAp9Cg==