LyoKICogT2xlVmlldyAoRGUucmMpCiAqIEdlcm1hbiBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA2IEZyYW5rIFJpY2h0ZXIKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKI2luY2x1ZGUgInJlc291cmNlLmgiCgpMQU5HVUFHRSBMQU5HX0dFUk1BTiwgU1VCTEFOR19ORVVUUkFMCgpJRE1fTUVOVSBNRU5VCnsKICAgIFBPUFVQICImRGF0ZWkiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIkFuIERhdGVpIGImaW5kZW4uLi4iLCAgICBJRE1fQklORAogICAgICAgIE1FTlVJVEVNICImVHlwZUxpYiBhbnplaWdlbi4uLiIsICAgIElETV9UWVBFTElCCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZTeXN0ZW1rb25maWd1cmF0aW9uLi4uIiwgICAgSURNX1NZU0NPTkYKICAgICAgICBNRU5VSVRFTSAiJlJlZ2lzdHJ5LUVkaXRvciBhdXNm/GhyZW4iLCAgICBJRE1fUkVHRURJVAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQmVlbmRlbiIsICAgIElETV9FWElUCiAgICB9CiAgICBQT1BVUCAiJk9iamVrdCIKICAgIHsKICAgICAgICBQT1BVUCAiJkNvQ3JlYXRlSW5zdGFuY2UgRmxhZyIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfJklOUFJPQ19TRVJWRVIiLCAgICBJRE1fRkxBR19JTlNFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYX0lOUFJPQ18mSEFORExFUiIsICAgIElETV9GTEFHX0lOSEFOREwKICAgICAgICAgICAgTUVOVUlURU0gIkNMU0NUWF8mTE9DQUxfU0VSVkVSIiwgICAgICAgIElETV9GTEFHX0xPQ1NFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYXyZSRU1PVEVfU0VSVkVSIiwgICAgSURNX0ZMQUdfUkVNU0VSVgogICAgICAgIH0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlR5cC1JbmZvcm1hdGlvbmVuIGFuemVpZ2VuIiwgICAgSURNX1RZUEVJTkZPLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkluc3RhbnogZXJzdGVsbGVuIiwgICAgSURNX0NSRUFURUlOU1QsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICJJbnN0YW56IGVyc3RlbGxlbiAmYXVmLi4uIiwgICAgSURNX0NSRUFURUlOU1RPTiwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gIkluc3RhbnogJmZyZWlnZWJlbiIsICAgIElETV9SRUxFQVNFSU5TVCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkMmTFNJRCBpbiBad2lzY2hlbmFibGFnZSBrb3BpZXJlbiIsICAgIElETV9DT1BZQ0xTSUQsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICImSFRNTC1vYmplY3QtVGFnIGluIFp3aXNjaGVuYWJsYWdlIGtvcGllcmVuIiwgSURNX0hUTUxUQUcsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQW56ZWlnZW4uLi4iLCAgICBJRE1fVklFVywgR1JBWUVECiAgICB9CiAgICBQT1BVUCAiJkFuc2ljaHQiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZFeHBlcnRlbm1vZHVzIiwgICAgSURNX0VYUEVSVCxDSEVDS0VECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZWZXJzdGVja3RlIEtvbXBvbmVudGVuLUthdGVnb3JpZW4iLCAgICBJRE1fSElEREVOLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlN5bWJvbGxlaXN0ZSIsICAgIElETV9UT09MQkFSLENIRUNLRUQKICAgICAgICBNRU5VSVRFTSAiUyZ0YXR1c2xlaXN0ZSIsICAgIElETV9TVEFUVVNCQVIsQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQWt0dWFsaXNpZXJlblx0RjUiLCAgICBJRE1fUkVGUkVTSAogICAgfQogICAgUE9QVVAgIiZIaWxmZSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAi3CZiZXIgT2xlVmlldyIsICAgIElETV9BQk9VVAogICAgfQp9CgpJRE1fVFlQRUxJQiBNRU5VCnsKICAgIFBPUFVQICImRGF0ZWkiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZTcGVpY2hlcm4gdW50ZXIuLi4iLCAgICBJRE1fU0FWRUFTCiAgICAgICAgTUVOVUlURU0gIiZTY2hsaWVzc2VuIiwgIElETV9DTE9TRQogICAgfQogICAgUE9QVVAgIiZBbnNpY2h0IgogICAgewogICAgICAgIE1FTlVJVEVNICJOYWNoIFR5cC1BcnQgJmdydXBwaWVyZW4iLCBJRE1fR1JPVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlN5bWJvbGxlaXN0ZSIsICAgIElETV9UT09MQkFSCiAgICAgICAgTUVOVUlURU0gIlMmdGF0dXNsZWlzdGUiLCBJRE1fU1RBVFVTQkFSLENIRUNLRUQKICAgIH0KfQoKU1RSSU5HVEFCTEUKewogICAgSURTX0FQUE5BTUUgICAgICAgICAgICAiT2xlVmlldyIKICAgIElEU19BUFBUSVRMRSAgICAgICAgICAgIk9sZVZpZXciCiAgICBJRFNfUkVBRFkgICAgICAgICAgICAgICJCZXJlaXQiCiAgICBJRFNfQUJPVVQgICAgICAgICAgICAgICJPbGVWaWV3IC0gT0xFL0NPTSBPYmpla3RiZXRyYWNodGVyIgogICAgSURTX0FCT1VUVkVSICAgICAgICAgICAiVmVyc2lvbiAxLjAiCiAgICBJRFNfVFlQRUxJQlRJVExFICAgICAgICJJVHlwZUxpYi1CZXRyYWNodGVyIgogICAgSURTX09QRU4gICAgICAgICAgICAgICAi1mZmbmVuIgogICAgSURTX09QRU5fVFlQRUxJQl9GSUxURVIgIlR5cGVMaWIgRmlsZXMgKCoudGxiOyoub2xiOyouZGxsOyoub2N4OyouZXhlKVwwKi50bGI7Ki5vbGI7Ki5kbGw7Ki5vY3g7Ki5leGVcMEFsbCBGaWxlcyAoKi4qKVwwKi4qXDBcMCIKCiAgICBJRE1fQklORCwgICAgICAgICAgICAgICJBbiBEYXRlaSB2aWEgRGF0ZWktTW9uaWtlciBiaW5kZW4iCiAgICBJRE1fVFlQRUxJQiwgICAgICAgICAgICJUeXBlTGliLURhdGVpIPZmZm5lbiB1bmQgSW5oYWx0IGJldHJhY2h0ZW4iCiAgICBJRE1fU1lTQ09ORiwgICAgICAgICAgICJNYXNjaGluZW53ZWl0ZSBEaXN0cmlidXRlZC1DT00tRWluc3RlbGx1bmdlbiDkbmRlcm4iCiAgICBJRE1fUkVHRURJVCwgICAgICAgICAgICJXaW5lLVJlZ2lzdHJ5LUVkaXRvciBhdXNm/GhyZW4iCiAgICBJRE1fRVhJVCwgICAgICAgICAgICAgICJBbndlbmR1bmcgYmVlbmRlbi4gRnJhZyBvYiDEbmRlcnVuZ2VuIHp1IHNwZWljaGVybiBzaW5kIgogICAgSURNX0NSRUFURUlOU1QsICAgICAgICAiRWluZSBJbnN0YW56IGRlcyBhdXNnZXfkaGx0ZW4gT2JqZWt0cyBlcnN0ZWxsZW4iCiAgICBJRE1fQ1JFQVRFSU5TVE9OLCAgICAgICJFaW5lIEluc3RhbnogZGVzIGF1c2dld+RobHRlbiBPYmpla3RzIGF1ZiBlaW5lciBiZXN0aW1tdGVuIE1hc2NoaW5lIGVyc3RlbGxlbiIKICAgIElETV9SRUxFQVNFSU5TVCwgICAgICAgIkF1c2dld+RobHRlIE9iamVrdC1JbnN0YW56IGZyZWlnZWJlbiIKICAgIElETV9DT1BZQ0xTSUQsICAgICAgICAgIkdVSUQgZGVzIGF1c2dld+RobHRlbiBPYmpla3RzIGluIGRpZSBad2lzY2hlbmFibGFnZSBrb3BpZXJlbiIKICAgIElETV9WSUVXLCAgICAgICAgICAgICAgIkJldHJhY2h0ZXIgZvxyIGF1c2dld+RobHRlcyBFbGVtZW50IGFuemVpZ2VuIgogICAgSURNX0ZMQUdfSU5TRVJWLCAgICAgICAiQ0xTQ1RYX0lOUFJPQ19TRVJWRVIgZvxyIEF1ZnJ1ZiB2b24gQ29HZXRDbGFzc09iamVjdCBiZW51dHplbiIKICAgIElETV9GTEFHX0lOSEFOREwsICAgICAgIkNMU0NUWF9JTlBST0NfSEFORExFUiBm/HIgQXVmcnVmIHZvbiBDb0dldENsYXNzT2JqZWN0IGJlbnV0emVuIgogICAgSURNX0ZMQUdfTE9DU0VSViwgICAgICAiQ0xTQ1RYX0xPQ0FMX1NFUlZFUiBm/HIgQXVmcnVmIHZvbiBDb0dldENsYXNzT2JqZWN0IGJlbnV0emVuIgogICAgSURNX0ZMQUdfUkVNU0VSViwgICAgICAiQ0xTQ1RYX1JFTU9URV9TRVJWRVIgZvxyIEF1ZnJ1ZiB2b24gQ29HZXRDbGFzc09iamVjdCBiZW51dHplbiIKICAgIElETV9FWFBFUlQsICAgICAgICAgICAgIlp3aXNjaGVuIGVpbmZhY2hlbSB1bmQgRXhwZXJ0ZW4tTW9kdXMgdW1zY2hhbHRlbiIKICAgIElETV9ISURERU4sICAgICAgICAgICAgIkFuemVpZ2Ugdm9uIG5pY2h0IGFscyBzaWNodGJhciBhbmdlZGFjaHRlbiBLb21wb25lbnRlbi1LYXRlZ29yaWVuIHVtc2NoYWx0ZW4iCiAgICBJRE1fVE9PTEJBUiwgICAgICAgICAgICJTeW1ib2xsZWlzdGUgemVpZ2VuIG9kZXIgdmVyc3RlY2tlbiIKICAgIElETV9TVEFUVVNCQVIsICAgICAgICAgIlN0YXR1c2xlaXN0ZSB6ZWlnZW4gb2RlciB2ZXJzdGVja2VuIgogICAgSURNX1JFRlJFU0gsICAgICAgICAgICAiQWxsZSBMaXN0ZW4gYWt0dWFsaXNpZXJlbiIKICAgIElETV9BQk9VVCwgICAgICAgICAgICAgIlByb2dyYW1tLUluZm9ybWF0aW9uLCAtVmVyc2lvbiB1bmQgLUNvcHlyaWdodCBhbnplaWdlbiIKCiAgICBJRE1fU0FWRUFTLCAgICAgICAgICAgICJBbHMgZWluZSAuSURMLSBvZGVyIC5ILURhdGVpIHNwZWljaGVybiIKICAgIElETV9DTE9TRSwgICAgICAgICAgICAgIkZlbnN0ZXIgc2NobGllc3NlbiIKICAgIElETV9HUk9VUCwgICAgICAgICAgICAgIlR5cC1JbmZvcm1hdGlvbmVuIG5hY2ggQXJ0IGdydXBwaWVyZW4iCgogICAgSURTX1RSRUVfT0MsICAgICAgICAgICAiT2JqZWt0a2xhc3NlbiIKICAgIElEU19UUkVFX0dCQ0MsICAgICAgICAgIk5hY2ggS29tcG9uZW50ZW4tS2F0ZWdvcmllIGdydXBwaWVydCIKICAgIElEU19UUkVFX08xTywgICAgICAgICAgIk9MRS0xLjAtT2JqZWt0ZSIKICAgIElEU19UUkVFX0NMTywgICAgICAgICAgIkNPTS1CaWJsaW90aGVrcy1PYmpla3RlIgogICAgSURTX1RSRUVfQU8sICAgICAgICAgICAiQWxsZSBPYmpla3RlIgogICAgSURTX1RSRUVfQUlELCAgICAgICAgICAiQW53ZW5kdW5ncy1JRHMiCiAgICBJRFNfVFJFRV9UTCwgICAgICAgICAgICJUeXBiaWJsaW90aGVrZW4iCiAgICBJRFNfVExfVkVSLCAgICAgICAgICAgICJWZXIuIgogICAgSURTX1RSRUVfSSwgICAgICAgICAgICAiU2Nobml0dHN0ZWxsZW4iCgogICAgSURTX1RBQl9SRUcsICAgICAgICAgICAiUmVnaXN0cnkiCiAgICBJRFNfVEFCX0lNUEwsICAgICAgICAgICJJbXBsZW1lbnRpZXJ1bmciCiAgICBJRFNfVEFCX0FDVElWLCAgICAgICAgICJBa3RpdmllcnVuZyIKCiAgICBJRFNfQ0dDT0ZBSUwsICAgICAgICAgICJDb0dldENsYXNzT2JqZWN0IGZlaGxnZXNjaGxhZ2VuLiIKICAgIElEU19FUlJPUl9VTktOLCAgICAgICAgIlVuYmVrYW5udGVyIEZlaGxlciIKICAgIElEU19UUlVFLCAgICAgICAgICAgICAgIldhaHIiCiAgICBJRFNfRkFMU0UsICAgICAgICAgICAgICJGYWxzY2giCiAgICBJRFNfQllURVMsICAgICAgICAgICAgICJieXRlcyIKCiAgICBJRFNfRVJST1JfTE9BRFRZUEVMSUIsICJMb2FkVHlwZUxpYiggJXMgKSBmZWhsZ2VzY2hsYWdlbiAoJCV4KSIKICAgIElEU19JTkhFUklUSU5URVJGQUNFUywgIkVyZXJidGUgU2Nobml0dHN0ZWxsZW4iCn0KCkRMR19DUkVBVEVJTlNUT04gRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI1MCwgNDEKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlp1IGFuZGVyZXIgTWFzY2hpbmUgdmVyYmluZGVuIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIiZNYXNjaGluZW5uYW1lOiIsIC0xLCA1LCA2LCAxOTAsIDgKICAgIEVESVRURVhUICAgIElEQ19NQUNISU5FLCA1LCAxNiwgMTkwLCAxMiwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IEVTX0FVVE9IU0NST0xMCiAgICBERUZQVVNIQlVUVE9OICAgIiZPSyIsIElET0ssIDIwMCwgNSwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJkFiYnJlY2hlbiIsIElEQ0FOQ0VMLCAyMDAsIDIyLCA0NSwgMTQKfQoKRExHX1NZU0NPTkYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDE3MCwgMTAwClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTeXN0ZW1rb25maWd1cmF0aW9uIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIlN5c3RlbWVpbnN0ZWxsdW5nZW4iLCAtMSwgNSwgNiwgMTYwLCA4CiAgICBDSEVDS0JPWCAgICAiJkRpc3RyaWJ1dGVkIENPTSBha3RpdmllcmVuIiwgSURDX0VOQUJMRURDT00sIDUsIDIwLCAxNjAsIDEwLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBCU19BVVRPQ0hFQ0tCT1gKICAgIENIRUNLQk9YICAgICImUmVtb3RlLVZlcmJpbmR1bmdlbiBha3RpdmllcmVuIChudXIgV2luOTUpIiwgSURDX0VOQUJMRVJFTU9URSwgNSwgMzUsIDE2MCwgMTAsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAiRGllc2UgRWluc3RlbGx1bmdlbiDkbmRlcm4gbnVyIFJlZ2lzdHJ5LVdlcnRlLlxuU2llIGhhYmVuIGtlaW5lbiBFaW5mbHVzcyBhdWYgZGllIFdpbmUtUGVyZm9ybWFuY2UuIiwgLTEsIDUsIDUwLCAxNjAsIDQwCiAgICBERUZQVVNIQlVUVE9OICAgIiZPSyIsIElET0ssIDcwLCA4MCwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJkFiYnJlY2hlbiIsIElEQ0FOQ0VMLCAxMjAsIDgwLCA0NSwgMTQKfQoKRExHX0RFRkFVTFRfSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgNTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlN0YW5kYXJkLVNjaG5pdHRzdGVsbGVuLUJldHJhY2h0ZXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiU2Nobml0dHN0ZWxsZSIsIC0xLCA1LCA2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0xBQkVMLCA2MCwgNiwgMTQ1LCA4CiAgICBMVEVYVCAgICJJSUQ6IiwgLTEsIDUsIDE2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0lERU5USUZJRVIsIDYwLCAxNiwgMTY1LCA4CiAgICBERUZQVVNIQlVUVE9OICAgIiZTY2hsaWVzc2VuIiwgSURDQU5DRUwsIDIzMCwgNiwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJlR5cC1JbmZvcm1hdGlvbmVuIGJldHJhY2h0ZW4iLCBJRENfVklFV1RZUEVJTkZPLCA2LCAzMSwgNzAsIDE0LCBXU19ESVNBQkxFRAp9CgpETEdfSVBFUlNJU1RfSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgMjkKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIklQZXJzaXN0LVNjaG5pdHRzdGVsbGVuLUJldHJhY2h0ZXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiS2xhc3Nlbm5hbWU6IiwgLTEsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIkNMU0lEOiIsIC0xLCA1LCAxNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19JREVOVElGSUVSLCA2MCwgMTYsIDE2NSwgOAogICAgREVGUFVTSEJVVFRPTiAgICImU2NobGllc3NlbiIsIElEQ0FOQ0VMLCAyMzAsIDYsIDQ1LCAxNAp9CgpETEdfSVBFUlNJU1RTVFJFQU1fSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgNjgKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIklQZXJzaXN0U3RyZWFtLVNjaG5pdHRzdGVsbGVuLUJldHJhY2h0ZXIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiS2xhc3Nlbm5hbWU6IiwgLTEsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIkNMU0lEOiIsIC0xLCA1LCAxNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19JREVOVElGSUVSLCA2MCwgMTYsIDE2NSwgOAogICAgREVGUFVTSEJVVFRPTiAgICImU2NobGllc3NlbiIsIElEQ0FOQ0VMLCAyMzAsIDYsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZJc0RpcnR5IiwgSURDX0lTRElSVFlfQlVUVE9OLCA2LCAzMSwgNTAsIDE0CiAgICBMVEVYVCAgICI/Pz8iLCBJRENfSVNESVJUWSwgNjAsIDM0LCAxNDUsIDgKICAgIFBVU0hCVVRUT04gICImR2V0U2l6ZU1heCIsIElEQ19HRVRTSVpFTUFYX0JVVFRPTiwgNiwgNDksIDUwLCAxNAogICAgTFRFWFQgICAiPz8/IiwgSURDX0dFVFNJWkVNQVgsIDYwLCA1MiwgMTQ1LCA4Cn0K