LyoKICogT2xlVmlldyAoUGwucmMpCiAqIFBvbGlzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA2IFBpb3RyIENhYmFuCiAqIENvcHlyaWdodCAyMDA4IE1pa29sYWogWmFsZXdza2kKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19QT0xJU0gsIFNVQkxBTkdfREVGQVVMVAoKSURNX01FTlUgTUVOVQp7CiAgICBQT1BVUCAiJlBsaWsiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZEb3dpub8gZG8gcGxpa3UuLi4iLCAgICBJRE1fQklORAogICAgICAgIE1FTlVJVEVNICImT3R383J6IGJpYmxpb3Rla+ogdHlw83cuLi4iLCAgICBJRE1fVFlQRUxJQgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImS29uZmlndXJhY2phIHN5c3RlbXUuLi4iLCAgICBJRE1fU1lTQ09ORgogICAgICAgIE1FTlVJVEVNICImVXJ1Y2hvbSBFZHl0b3IgUmVqZXN0cvN3IiwgICAgSURNX1JFR0VESVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlpha2/xY3oiLCAgICBJRE1fRVhJVAogICAgfQogICAgUE9QVVAgIiZPYmlla3QiCiAgICB7CiAgICAgICAgUE9QVVAgIkZsYWdpICZDb0NyZWF0ZUluc3RhbmNlIgogICAgICAgIHsKICAgICAgICAgICAgTUVOVUlURU0gIkNMU0NUWF8mSU5QUk9DX1NFUlZFUiIsICAgIElETV9GTEFHX0lOU0VSVixDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfSU5QUk9DXyZIQU5ETEVSIiwgICAgSURNX0ZMQUdfSU5IQU5ETAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYXyZMT0NBTF9TRVJWRVIiLCAgICAgICAgSURNX0ZMQUdfTE9DU0VSVixDSEVDS0VECiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfJlJFTU9URV9TRVJWRVIiLCAgICBJRE1fRkxBR19SRU1TRVJWCiAgICAgICAgfQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJXeZx3aWV0bCBpbmZvcm1hY2plIG8gJnR5cGllIiwgICAgSURNX1RZUEVJTkZPLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU3R383J6ICZpbnN0YW5jauoiLCAgICBJRE1fQ1JFQVRFSU5TVCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gIlN0d/NyeiBpbnN0YW5jauogJm5hLi4uIiwgICAgSURNX0NSRUFURUlOU1RPTiwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gIiZad29sbmlqIGluc3RhbmNq6iIsICAgIElETV9SRUxFQVNFSU5TVCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIktvcGl1aiBDJkxTSUQgZG8gc2Nob3drYSIsICAgIElETV9DT1BZQ0xTSUQsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICJLb3BpdWogdGFnIG9iaWVrdHUgJkhUTUwgZG8gc2Nob3drYSIsIElETV9IVE1MVEFHLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJld5nHdpZXRsLi4uIiwgICAgSURNX1ZJRVcsIEdSQVlFRAogICAgfQogICAgUE9QVVAgIiZXaWRvayIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiVHJ5YiAmZWtzcGVydGEiLCAgICBJRE1fRVhQRVJULENIRUNLRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlVrcnl0ZSBrYXRlZ29yaWUga29tcG9uZW5083ciLCAgICBJRE1fSElEREVOLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUGFzZWsgJm5hcnrqZHppIiwgICAgSURNX1RPT0xCQVIsQ0hFQ0tFRAogICAgICAgIE1FTlVJVEVNICJQYXNlayAmc3RhbnUiLCAgICBJRE1fU1RBVFVTQkFSLENIRUNLRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk9knHdpZb9cdEY1IiwgICAgSURNX1JFRlJFU0gKICAgIH0KICAgIFBPUFVQICJQb21vJmMiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZPbGVWaWV3IC0gaW5mb3JtYWNqZSIsICAgIElETV9BQk9VVAogICAgfQp9CgpJRE1fVFlQRUxJQiBNRU5VCnsKICAgIFBPUFVQICImUGxpayIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiWiZhcGlzeiBqYWtvLi4uIiwgICAgSURNX1NBVkVBUwogICAgICAgIE1FTlVJVEVNICImWmFta25paiIsICBJRE1fQ0xPU0UKICAgIH0KICAgIFBPUFVQICImV2lkb2siCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZHcnVwdWogd2Vks3VnIHJvZHphanUiLCBJRE1fR1JPVVAKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUGFzZWsgJm5hcnrqZHppIiwgICAgSURNX1RPT0xCQVIKICAgICAgICBNRU5VSVRFTSAiUGFzZWsgJnN0YW51IiwgSURNX1NUQVRVU0JBUixDSEVDS0VECiAgICB9Cn0KClNUUklOR1RBQkxFCnsKICAgIElEU19BUFBOQU1FICAgICAgICAgICAgIk9sZVZpZXciCiAgICBJRFNfQVBQVElUTEUgICAgICAgICAgICJPbGVWaWV3IgogICAgSURTX1JFQURZICAgICAgICAgICAgICAiR290b3d5IgogICAgSURTX0FCT1VUICAgICAgICAgICAgICAiT2xlVmlldyAtIHByemVnbLlkYXJrYSBvYmlla3TzdyBPTEUvQ09NIgogICAgSURTX0FCT1VUVkVSICAgICAgICAgICAid2Vyc2phIDEuMCIKICAgIElEU19UWVBFTElCVElUTEUgICAgICAgIlByemVnbLlkYXJrYSBJVHlwZUxpYiIKICAgIElEU19PUEVOICAgICAgICAgICAgICAgIk90d/NyeiIKICAgIElEU19PUEVOX1RZUEVMSUJfRklMVEVSICJQbGlraSBUeXBlTGliICgqLnRsYjsqLm9sYjsqLmRsbDsqLm9jeDsqLmV4ZSlcMCoudGxiOyoub2xiOyouZGxsOyoub2N4OyouZXhlXDBXc3p5c3RraWUgcGxpa2kgKCouKilcMCouKlwwXDAiCgogICAgSURNX0JJTkQsICAgICAgICAgICAgICAiRG93abm/IGRvIHBsaWt1IHphIHBvbW9juSBvYmlla3R1IEZpbGUgTW9uaWtlciIKICAgIElETV9UWVBFTElCLCAgICAgICAgICAgIk90d/NyeiBwbGlrIHogYmlibGlvdGVraSB0eXDzdyAoVHlwZUxpYikgaSB3eZx3aWV0bCBqZWdvIHphd2FydG+c5iIKICAgIElETV9TWVNDT05GLCAgICAgICAgICAgIlptaWXxIHVzdGF3aWVuaWEgRGlzdHJpYnV0ZWQgQ09NIHRlZ28ga29tcHV0ZXJhIgogICAgSURNX1JFR0VESVQsICAgICAgICAgICAiVXJ1Y2hvbSBFZHl0b3IgUmVqZXN0cvN3IFdpbmUiCiAgICBJRE1fRVhJVCwgICAgICAgICAgICAgICJaYWtv8WN6IGFwbGlrYWNq6i4gTW+/ZXN6IHpvc3Rh5iB6YXB5dGFueSwgY3p5IHphcGlzYeYgem1pYW55LiIKICAgIElETV9DUkVBVEVJTlNULCAgICAgICAgIlN0d/NyeiBpbnN0YW5jauogd3licmFuZWdvIG9iaWVrdHUiCiAgICBJRE1fQ1JFQVRFSU5TVE9OLCAgICAgICJTdHfzcnogaW5zdGFuY2rqIHd5YnJhbmVnbyBvYmlla3R1IG5hIG9rcmWcbG9ueW0ga29tcHV0ZXJ6ZSIKICAgIElETV9SRUxFQVNFSU5TVCwgICAgICAgIlp3b2xuaWogYWt0dWFsbmllIHd5YnJhbrkgaW5zdGFuY2rqIG9iaWVrdHUiCiAgICBJRE1fQ09QWUNMU0lELCAgICAgICAgICJTa29waXVqIEdVSUQgYWt0dWFsbmllIHd5YnJhbmVnbyBvYmlla3R1IGRvIHNjaG93a2EiCiAgICBJRE1fVklFVywgICAgICAgICAgICAgICJXeZx3aWV0bCBwcnplZ2y5ZGFya+ogYWt0dWFsbmllIHd5YnJhbmVnbyBlbGVtZW50dSIKICAgIElETV9GTEFHX0lOU0VSViwgICAgICAgIlW/eWogZmxhZ2kgQ0xTQ1RYX0lOUFJPQ19TRVJWRVIgcG9kY3phcyB3eXdvs3l3YW5pYSBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0ZMQUdfSU5IQU5ETCwgICAgICAiVb95aiBmbGFnaSBDTFNDVFhfSU5QUk9DX0hBTkRMRVIgcG9kY3phcyB3eXdvs3l3YW5pYSBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0ZMQUdfTE9DU0VSViwgICAgICAiVb95aiBmbGFnaSBDTFNDVFhfTE9DQUxfU0VSVkVSIHBvZGN6YXMgd3l3b7N5d2FuaWEgQ29HZXRDbGFzc09iamVjdCIKICAgIElETV9GTEFHX1JFTVNFUlYsICAgICAgIlW/eWogZmxhZ2kgQ0xTQ1RYX1JFTU9URV9TRVJWRVIgcG9kY3phcyB3eXdvs3l3YW5pYSBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0VYUEVSVCwgICAgICAgICAgICAiUHJ6ZbO5Y3ogcG9taepkenkgdHJ5YmVtIGVrc3BlcnRhIGkgcG9jerl0a3VquWNlZ28iCiAgICBJRE1fSElEREVOLCAgICAgICAgICAgICJQcnpls7ljeiB3eZx3aWV0bGFuaWUga2F0ZWdvcmlpLCBrdPNyZSBuaWUgbXVzerkgYnnmIHdpZG9jem5lIiAgLyogPyAqLwogICAgSURNX1RPT0xCQVIsICAgICAgICAgICAiUG9rYb8gbHViIHVrcnlqIHBhc2VrIG5hcnrqZHppIgogICAgSURNX1NUQVRVU0JBUiwgICAgICAgICAiUG9rYb8gbHViIHVrcnlqIHBhc2VrIHN0YW51IgogICAgSURNX1JFRlJFU0gsICAgICAgICAgICAiT2Scd2llvyB3c3p5c3RraWUgbGlzdHkiCiAgICBJRE1fQUJPVVQsICAgICAgICAgICAgICJXeZx3aWV0bCBpbmZvcm1hY2plIG8gcHJvZ3JhbWllLCBudW1lcnplIGplZ28gd2Vyc2ppIGkgcHJhd2FjaCBhdXRvcnNraWNoIgoKICAgIElETV9TQVZFQVMsICAgICAgICAgICAgIlphcGlzeiBqYWtvIHBsaWsgLklETCBsdWIgLkgiCiAgICBJRE1fQ0xPU0UsICAgICAgICAgICAgICJaYW1rbmlqIG9rbm8iCiAgICBJRE1fR1JPVVAsICAgICAgICAgICAgICJHcnVwdWogaW5mb3JtYWNqZSBvIHR5cGFjaCB3ZWSzdWcgcm9kemFq83ciCgogICAgSURTX1RSRUVfT0MsICAgICAgICAgICAiS2xhc3kgb2JpZWt083ciCiAgICBJRFNfVFJFRV9HQkNDLCAgICAgICAgICJaZ3J1cG93YW5lIHdlZLPzdyBrYXRlZ29yaWkga29tcG9uZW5083ciCiAgICBJRFNfVFJFRV9PMU8sICAgICAgICAgICJPYmlla3R5IE9MRSAxLjAiCiAgICBJRFNfVFJFRV9DTE8sICAgICAgICAgICJPYmlla3R5IHN0YW5kYXJkb3dlIENPTSIKICAgIElEU19UUkVFX0FPLCAgICAgICAgICAgIldzenlzdGtpZSBvYmlla3R5IgogICAgSURTX1RSRUVfQUlELCAgICAgICAgICAiSWRlbnR5ZmlrYXRvcnkgYXBsaWthY2ppIChBcHBJRCkiCiAgICBJRFNfVFJFRV9UTCwgICAgICAgICAgICJCaWJsaW90ZWtpIHR5cPN3IChUeXBlTGliKSIKICAgIElEU19UTF9WRVIsICAgICAgICAgICAgIndlci4iCiAgICBJRFNfVFJFRV9JLCAgICAgICAgICAgICJJbnRlcmZlanN5IgoKICAgIElEU19UQUJfUkVHLCAgICAgICAgICAgIlJlamVzdHIiCiAgICBJRFNfVEFCX0lNUEwsICAgICAgICAgICJJbXBsZW1lbnRhY2phIgogICAgSURTX1RBQl9BQ1RJViwgICAgICAgICAiQWt0eXdhY2phIgoKICAgIElEU19DR0NPRkFJTCwgICAgICAgICAgIkNvR2V0Q2xhc3NPYmplY3QgbmllIHBvd2lvZLNvIHNp6i4iCiAgICBJRFNfRVJST1JfVU5LTiwgICAgICAgICJOaWV6bmFueSBis7lkIgogICAgSURTX1RSVUUsICAgICAgICAgICAgICAiUHJhd2RhIgogICAgSURTX0ZBTFNFLCAgICAgICAgICAgICAiRmGzc3oiCiAgICBJRFNfQllURVMsICAgICAgICAgICAgICJiYWp0eSjzdykiCgogICAgSURTX0VSUk9SX0xPQURUWVBFTElCLCAiTG9hZFR5cGVMaWIoICVzICkgbmllIHBvd2lvZLNvIHNp6iAoJCV4KSIKICAgIElEU19JTkhFUklUSU5URVJGQUNFUywgIk9kemllZHppY3pvbmUgaW50ZXJmZWpzeSIKfQoKRExHX0NSRUFURUlOU1RPTiBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjUwLCA0MQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUG+zuWN6IHogaW5ueW0ga29tcHV0ZXJlbSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICImTmF6d2Ega29tcHV0ZXJhOiIsIElESUdOT1JFLCA1LCA2LCAxOTAsIDgKICAgIEVESVRURVhUICAgIElEQ19NQUNISU5FLCA1LCAxNiwgMTkwLCAxMiwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IEVTX0FVVE9IU0NST0xMCiAgICBERUZQVVNIQlVUVE9OICAgIiZPSyIsIElET0ssIDIwMCwgNSwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJkFudWx1aiIsIElEQ0FOQ0VMLCAyMDAsIDIyLCA0NSwgMTQKfQoKRExHX1NZU0NPTkYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDE3MCwgMTAwClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJLb25maWd1cmFjamEgc3lzdGVtdSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJVc3Rhd2llbmlhIHN5c3RlbXUiLCBJRElHTk9SRSwgNSwgNiwgMTYwLCA4CiAgICBDSEVDS0JPWCAgICAiV7O5Y3ogJkRpc3RyaWJ1dGVkIENPTSIsIElEQ19FTkFCTEVEQ09NLCA1LCAyMCwgMTYwLCAxMCwgV1NfVEFCU1RPUCB8IFdTX0dST1VQIHwgQlNfQVVUT0NIRUNLQk9YCiAgICBDSEVDS0JPWCAgICAiV7O5Y3ogJnphZGFsbmUgcG+zuWN6ZW5pYSAodHlsa28gV2luOTUpIiwgSURDX0VOQUJMRVJFTU9URSwgNSwgMzUsIDE2MCwgMTAsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAiVGUgdXN0YXdpZW5pYSB6bWllbmlharkgdHlsa28gd2FydG+cY2kgdyByZWplc3RyemUuIE5pZSBtYWq5IHdws3l3dSBuYSB6YWNob3dhbmllIFdpbmUuIiwgSURJR05PUkUsIDUsIDUwLCAxNjAsIDQwCiAgICBERUZQVVNIQlVUVE9OICAgIiZPSyIsIElET0ssIDcwLCA4MCwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJkFudWx1aiIsIElEQ0FOQ0VMLCAxMjAsIDgwLCA0NSwgMTQKfQoKRExHX0RFRkFVTFRfSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgNTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlN0YW5kYXJkb3dhIHByemVnbLlkYXJrYSBpbnRlcmZlanN1IgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIkludGVyZmVqcyIsIElESUdOT1JFLCA1LCA2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0xBQkVMLCA2MCwgNiwgMTQ1LCA4CiAgICBMVEVYVCAgICJJSUQ6IiwgSURJR05PUkUsIDUsIDE2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0lERU5USUZJRVIsIDYwLCAxNiwgMTY1LCA4CiAgICBERUZQVVNIQlVUVE9OICAgIiZaYW1rbmlqIiwgSURDQU5DRUwsIDIzMCwgNiwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJld5nHdpZXRsIFR5cGVJbmZvIiwgSURDX1ZJRVdUWVBFSU5GTywgNiwgMzEsIDcwLCAxNCwgV1NfRElTQUJMRUQKfQoKRExHX0lQRVJTSVNUX0lWIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDI5ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJQcnplZ2y5ZGFya2EgaW50ZXJmZWpzdSBJUGVyc2lzdCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJOYXp3YSBrbGFzeToiLCBJRElHTk9SRSwgNSwgNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19MQUJFTCwgNjAsIDYsIDE0NSwgOAogICAgTFRFWFQgICAiQ0xTSUQ6IiwgSURJR05PUkUsIDUsIDE2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0lERU5USUZJRVIsIDYwLCAxNiwgMTY1LCA4CiAgICBERUZQVVNIQlVUVE9OICAgIiZaYW1rbmlqIiwgSURDQU5DRUwsIDIzMCwgNiwgNDUsIDE0Cn0KCkRMR19JUEVSU0lTVFNUUkVBTV9JViBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCA2OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiUHJ6ZWdsuWRhcmthIGludGVyZmVqc3UgSVBlcnNpc3RTdHJlYW0iCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgTFRFWFQgICAiTmF6d2Ega2xhc3k6IiwgSURJR05PUkUsIDUsIDYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfTEFCRUwsIDYwLCA2LCAxNDUsIDgKICAgIExURVhUICAgIkNMU0lEOiIsIElESUdOT1JFLCA1LCAxNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19JREVOVElGSUVSLCA2MCwgMTYsIDE2NSwgOAogICAgREVGUFVTSEJVVFRPTiAgICImWmFta25paiIsIElEQ0FOQ0VMLCAyMzAsIDYsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZJc0RpcnR5IiwgSURDX0lTRElSVFlfQlVUVE9OLCA2LCAzMSwgNTAsIDE0CiAgICBMVEVYVCAgICI/Pz8iLCBJRENfSVNESVJUWSwgNjAsIDM0LCAxNDUsIDgKICAgIFBVU0hCVVRUT04gICImR2V0U2l6ZU1heCIsIElEQ19HRVRTSVpFTUFYX0JVVFRPTiwgNiwgNDksIDUwLCAxNAogICAgTFRFWFQgICAiPz8/IiwgSURDX0dFVFNJWkVNQVgsIDYwLCA1MiwgMTQ1LCA4Cn0K