LyoKICogVHVya2lzaCByZXNvdXJjZXMgZm9yIHJlZ2VkaXQKICoKICogQ29weXJpZ2h0IDIwMDYgRmF0aWggQf79Y/0KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19UVVJLSVNILCBTVUJMQU5HX0RFRkFVTFQKCi8qCiAqIE1lbnUKICovCgpJRFJfUkVHRURJVF9NRU5VIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICAgIFBPUFVQICImS2F5/XQiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJLYXn9dCBEb3N5YXP9ICZBbC4uLiIsICAgICAgICBJRF9SRUdJU1RSWV9JTVBPUlRSRUdJU1RSWUZJTEUKICAgICAgICBNRU5VSVRFTSAiS2F5/XQgRG9zeWFz/SAmS2F5ZGV0Li4uIiwgICAgSURfUkVHSVNUUllfRVhQT1JUUkVHSVNUUllGSUxFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkEm8CBLYXlk/W5hIEJh8Gxhbi4uLiIsICAgICAgIElEX1JFR0lTVFJZX0NPTk5FQ1RORVRXT1JLUkVHSVNUUlksIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICJB8CBLYXlk/SBCYfBsYW50/XP9bv0gS29wYXIuLi4iLCBJRF9SRUdJU1RSWV9ESVNDT05ORUNUTkVUV09SS1JFR0lTVFJZLCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiWWEmemT9clx0Q3RybCtQIiwgICAgICAgICAgICAgSURfUkVHSVNUUllfUFJJTlQsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImx/1r/f4iLCAgICAgICAgICAgICAgICAgICAgICBJRF9SRUdJU1RSWV9FWElUCiAgICBFTkQKICAgIFBPUFVQICImRPx6ZW4iCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImRGXwaf50aXIiLCAgICAgICAgICAgICAgICAgICBJRF9FRElUX01PRElGWQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIFBPUFVQICImWWVuaSIKICAgICAgICBCRUdJTgogICAgICAgICAgICBNRU5VSVRFTSAiJkFuYWh0YXIiLCAgICAgICAgICAgICAgICBJRF9FRElUX05FV19LRVkKICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgICAgIE1FTlVJVEVNICImRGl6Z2UgRGXwZXJpIiwgICAgICAgICAgIElEX0VESVRfTkVXX1NUUklOR1ZBTFVFCiAgICAgICAgICAgIE1FTlVJVEVNICIm3WtpbGkgRGXwZXIiLCAgICAgICAgICAgIElEX0VESVRfTkVXX0JJTkFSWVZBTFVFCiAgICAgICAgICAgIE1FTlVJVEVNICImx2lmdCBT9npj/GsgRGXwZXJpIiwgICAgIElEX0VESVRfTkVXX0RXT1JEVkFMVUUKICAgICAgICAgICAgTUVOVUlURU0gIiZNdWx0aSBTdHJpbmcgVmFsdWUiLCAgICAgSURfRURJVF9ORVdfTVVMVElfU1RSSU5HVkFMVUUKICAgICAgICBFTkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlNpbFx0RGVsIiwgICAgICAgICAgICAgICAgICAgSURfRURJVF9ERUxFVEUKICAgICAgICBNRU5VSVRFTSAiJlllbmlkZW4gQWRsYW5k/XJcdEYyIiwgICAgICAgSURfRURJVF9SRU5BTUUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkFuYWh0YXIgQWT9bv0gS29weWFsYSIsICAgICAgSURfRURJVF9DT1BZS0VZTkFNRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQnVsXHRDdHJsK0YiLCAgICAgICAgICAgICAgICBJRF9FRElUX0ZJTkQsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICImU29ucmFraW5pIEJ1bFx0RjMiLCAgICAgICAgICBJRF9FRElUX0ZJTkRORVhULCBHUkFZRUQKICAgIEVORAogICAgUE9QVVAgIiZH9nL8bvxtIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiRHVydW0gJsd1YnXwdSIsICAgICAgICAgICAgICAgSURfVklFV19TVEFUVVNCQVIKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQSZ5cmHnIiwgICAgICAgICAgICAgICAgICAgICAgIElEX1ZJRVdfU1BMSVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlllbmlsZVx0RjUiLCAgICAgICAgICAgICAgICAgSURfVklFV19SRUZSRVNICiAgICBFTkQKICAgIFBPUFVQICImU/1rIEt1bGxhbv1sYW5sYXIiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICJT/WsgS3VsbGFu/WxhbmxhcmEgRWtsZS4uLiIsICAgICBJRF9GQVZPUklURVNfQUREVE9GQVZPUklURVMKICAgICAgICBNRU5VSVRFTSAiU/1rIEt1bGxhbv1sYW5sYXJkYW4gU2lsLi4uIiwgICAgSURfRkFWT1JJVEVTX1JFTU9WRUZBVk9SSVRFCiAgICBFTkQKICAgIFBPUFVQICImWWFyZP1tIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJllhcmT9bSBLb251bGFy/Vx0RjEiLCAgICAgICAgSURfSEVMUF9IRUxQVE9QSUNTCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlNpc3RlbSBLYXn9dCBE/HplbmxleWljaXNpICZIYWtr/W5kYSIsICAgICAgSURfSEVMUF9BQk9VVAogICAgRU5ECkVORAoKSURSX1BPUFVQX01FTlVTIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KICBQT1BVUCAiIgogIEJFR0lOCglNRU5VSVRFTSAiJkRl8Gn+dGlyIiwgICAgICAgICAgICAgICAgICAgSURfRURJVF9NT0RJRlkKCU1FTlVJVEVNICLda2lsaSBWZXJpeWkgRGXwaf50aXIiLCAgICAgICBJRF9FRElUX01PRElGWV9CSU4KCU1FTlVJVEVNIFNFUEFSQVRPUgoJTUVOVUlURU0gIiZTaWxcdERlbCIsICAgICAgICAgICAgICAgICAgIElEX0VESVRfREVMRVRFCglNRU5VSVRFTSAiJlllbmlkZW4gQWRsYW5k/XIiLCAgICAgICAgICAgSURfRURJVF9SRU5BTUUKICBFTkQKICBQT1BVUCAiIgogIEJFR0lOCiAgICAgICAgUE9QVVAgIiZZZW5pIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIE1FTlVJVEVNICImQW5haHRhciIsICAgICAgICAgICAgICAgICAgICBJRF9FRElUX05FV19LRVkKICAgICAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgICAgIE1FTlVJVEVNICImRGl6Z2UgRGXwZXJpIiwgICAgICAgICAgICAgICBJRF9FRElUX05FV19TVFJJTkdWQUxVRQogICAgICAgICAgICBNRU5VSVRFTSAiJt1raWxpIERl8GVyIiwgICAgICAgICAgICAgICAgSURfRURJVF9ORVdfQklOQVJZVkFMVUUKICAgICAgICAgICAgTUVOVUlURU0gIibHaWZ0IFP2emP8ayBEZfBlcmkiLCAgICAgICAgIElEX0VESVRfTkVXX0RXT1JEVkFMVUUKICAgICAgICAgICAgTUVOVUlURU0gIiZNdWx0aSBTdHJpbmcgVmFsdWUiLCAgICAgICAgIElEX0VESVRfTkVXX01VTFRJX1NUUklOR1ZBTFVFCiAgICAgICAgRU5ECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZTaWxcdERlbCIsICAgICAgICAgICAgICAgICAgIElEX0VESVRfREVMRVRFCiAgICAgICAgTUVOVUlURU0gIiZZZW5pZGVuIEFkbGFuZP1yXHRGMiIsICAgICAgIElEX0VESVRfUkVOQU1FCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZFeHBvcnQuLi4iLCAgICAgICAgICAgICAgICAgIElEX0VESVRfRVhQT1JUCiAgICAgICAgTUVOVUlURU0gIiZBbmFodGFyIEFk/W79IEtvcHlhbGEiLCAgICAgIElEX0VESVRfQ09QWUtFWU5BTUUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkJ1bFx0Q3RybCtGIiwgICAgICAgICAgICAgICAgSURfRURJVF9GSU5ELCBHUkFZRUQKICBFTkQKRU5ECgoKLyoKICogRGlhbG9nCiAqLwoKSUREX0ZJTkQgRElBTE9HIERJU0NBUkRBQkxFICAyMiwgMTcsIDIxMCwgODUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkJ1bCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgICJCdWw6IixJRENfU1RBVElDLDUsNywxMTksOAogICAgRURJVFRFWFQgICAgICAgIElEQ19WQUxVRV9OQU1FLDQwLDUsMTI1LDEyLCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgRVNfQVVUT0hTQ1JPTEwKICAgIExURVhUICAgICAgICAgICAiS29udW06IixJRENfU1RBVElDLDUsIDIyLCAxMTksIDgKICAgIENIRUNLQk9YICAgICAgICAiQW5haHRhcmxhciIsIElEQ19GSU5EX0tFWVMsIDUsIDM0LCA5MCwgMTAsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IEJTX0FVVE9DSEVDS0JPWAogICAgQ0hFQ0tCT1ggICAgICAgICJEZfBlciBhZGxhcv0iLCBJRENfRklORF9WQUxVRVMsIDUsIDQ2LCA5MCwgMTAsIFdTX1RBQlNUT1AgfCBCU19BVVRPQ0hFQ0tCT1gKICAgIENIRUNLQk9YICAgICAgICAiRGXwZXIgaedlcmnwaSIsIElEQ19GSU5EX0NPTlRFTlQsIDUsIDU4LCA5MCwgMTAsIFdTX1RBQlNUT1AgfCBCU19BVVRPQ0hFQ0tCT1gKICAgIENIRUNLQk9YICAgICAgICAiWWFsbv16Y2EgdPxtIHP2emP8a2xlciIsIElEQ19GSU5EX1dIT0xFLCA1LCA3MCwgOTAsIDEwLCBXU19UQUJTVE9QIHwgQlNfQVVUT0NIRUNLQk9YCiAgICBERUZQVVNIQlVUVE9OICAgIkJ1bCIsSURPSywxNzUsNSwzMCwxMSxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICJLYXBhdCIsSURDQU5DRUwsMTc1LDIyLDMwLDExLCBXU19HUk9VUApFTkQKCklERF9BRERGQVZPUklURSBESUFMT0cgRElTQ0FSREFCTEUgIDIyLCAxNywgMjEwLCA1NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiU/1rIEt1bGxhbv1sYW5sYXJhIEVrbGUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAgICAiQWQ6IixJRENfU1RBVElDLDUsNSwxMTksOAogICAgRURJVFRFWFQgICAgICAgIElEQ19WQUxVRV9OQU1FLDUsMTUsMjAwLDEyLCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgRVNfQVVUT0hTQ1JPTEwKICAgIERFRlBVU0hCVVRUT04gICAiVGFtYW0iLElET0ssMTQwLDQwLDMwLDExLFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIt1wdGFsIixJRENBTkNFTCwxNzUsNDAsMzAsMTEsIFdTX0dST1VQCkVORAoKSUREX0RFTEZBVk9SSVRFIERJQUxPRyBESVNDQVJEQUJMRSAgMjIsIDE3LCAyMTAsIDkwClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJT/WsgS3VsbGFu/WxhbmxhcmRhbiBTaWwiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAgICAiQWQ6IixJRENfU1RBVElDLDUsNSwxMTksOAogICAgTElTVEJPWCAgICAgICAgIElEQ19OQU1FX0xJU1QsNSwxNSwyMDAsNTIsIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBMQlNfU09SVCB8IExCU19OT0lOVEVHUkFMSEVJR0hUIHwgV1NfVlNDUk9MTAogICAgREVGUFVTSEJVVFRPTiAgICJUYW1hbSIsSURPSywxNDAsNzMsMzAsMTEsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAi3XB0YWwiLElEQ0FOQ0VMLDE3NSw3MywzMCwxMSwgV1NfR1JPVVAKRU5ECgpJRERfRURJVF9TVFJJTkcgRElBTE9HIERJU0NBUkRBQkxFICAyMiwgMTcsIDIxMCwgNzUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIkRpemdleWkgRPx6ZW5sZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgICJEZfBlciBhZP06IixJRENfU1RBVElDLDUsNSwxMTksOAogICAgRURJVFRFWFQgICAgICAgIElEQ19WQUxVRV9OQU1FLDUsMTUsMjAwLDEyLCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgRVNfQVVUT0hTQ1JPTEx8IFdTX0RJU0FCTEVECiAgICBMVEVYVCAgICAgICAgICAgIkRl8GVyIHZlcmlzaToiLElEQ19TVEFUSUMsNSwzMCwxMTksOAogICAgRURJVFRFWFQgICAgICAgIElEQ19WQUxVRV9EQVRBLDUsNDAsMjAwLDEyLCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgRVNfQVVUT0hTQ1JPTEwKICAgIERFRlBVU0hCVVRUT04gICAiVGFtYW0iLElET0ssMTQwLDYwLDMwLDExLFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgIt1wdGFsIixJRENBTkNFTCwxNzUsNjAsMzAsMTEsV1NfR1JPVVAKRU5ECgpJRERfRURJVF9EV09SRCBESUFMT0cgRElTQ0FSREFCTEUgIDIyLCAxNywgMjEwLCAxMDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsdpZnQgRGl6Z2V5aSBE/HplbmxlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgIkRl8GVyIGFk/ToiLElEQ19TVEFUSUMsNSw1LDExOSw4CiAgICBFRElUVEVYVCAgICAgICAgSURDX1ZBTFVFX05BTUUsNSwxNSwyMDAsMTIsIFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBFU19BVVRPSFNDUk9MTHwgV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiRGXwZXIgdmVyaXNpOiIsSURDX1NUQVRJQyw1LDMwLDkwLDgKICAgIEVESVRURVhUICAgICAgICBJRENfVkFMVUVfREFUQSw1LDQwLDkwLDEyLCBXU19CT1JERVIgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgIlRhYmFuIiwgSURDX0RXT1JEX0JBU0UsIDEyMCwgMzAsIDg1LCAzNywgQlNfR1JPVVBCT1gKICAgIEFVVE9SQURJT0JVVFRPTiAiT25hbHT9bP0iLCBJRENfRFdPUkRfSEVYLCAxMzAsIDQwLCA2MCwgMTAsIFdTX1RBQlNUT1AKICAgIEFVVE9SQURJT0JVVFRPTiAiT25sdSIsIElEQ19EV09SRF9ERUMsIDEzMCwgNTIsIDYwLCAxMCwgV1NfVEFCU1RPUAogICAgREVGUFVTSEJVVFRPTiAgICJUYW1hbSIsSURPSywxNDAsODAsMzAsMTEsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAi3XB0YWwiLElEQ0FOQ0VMLDE3NSw4MCwzMCwxMSxXU19HUk9VUApFTkQKCklERF9FRElUX0JJTkFSWSBESUFMT0cgRElTQ0FSREFCTEUgIDIyLCAxNywgMjEwLCAxMDAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIt1raWxpeWkgRPx6ZW5sZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgICJEZfBlciBhZP06IixJRENfU1RBVElDLDUsNSwxMTksOAogICAgRURJVFRFWFQgICAgICAgIElEQ19WQUxVRV9OQU1FLDUsMTUsMjAwLDEyLCBXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgRVNfQVVUT0hTQ1JPTEx8IFdTX0RJU0FCTEVECiAgICBMVEVYVCAgICAgICAgICAgIkRl8GVyIHZlcmlzaToiLElEQ19TVEFUSUMsNSwzMCw5MCw4CiAgICBDT05UUk9MICAgICAgICAgIiIsSURDX1ZBTFVFX0RBVEEsIkhleEVkaXQiLFdTX1RBQlNUT1AsNCw0MCwxNjAsNDAKICAgIERFRlBVU0hCVVRUT04gICAiVGFtYW0iLElET0ssMTQwLDgwLDMwLDExLFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgIt1wdGFsIixJRENBTkNFTCwxNzUsODAsMzAsMTEsV1NfR1JPVVAKRU5ECgovKgogKiBTdHJpbmcgVGFibGUKICovCgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0xJU1RfQ09MVU1OX05BTUUgICAgIkFkIgogICAgSURTX0xJU1RfQ09MVU1OX1RZUEUgICAgIlT8ciIKICAgIElEU19MSVNUX0NPTFVNTl9EQVRBICAgICJWZXJpIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfQVBQX1RJVExFICAgICAgICAgICAiS2F5/XQgRNx6ZW5sZXlpY2kiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEX1JFR0lTVFJZX01FTlUgICAgICAgICJU/G0ga2F5/XRsYXJsYSDnYWz9/m1hayBp52luIGtvbXV0bGFy/SBp52VyaXIiCiAgICBJRF9FRElUX01FTlUgICAgICAgICAgICAiRGXwZXJsZXJpIHZleWEgYW5haHRhcmxhcv0gZPx6ZW5sZW1layBp52luIGtvbXV0bGFy/SBp52VyaXIiCiAgICBJRF9WSUVXX01FTlUgICAgICAgICAgICAiS2F5/XQgcGVuY2VyZXNpbmkg9nplbGxl/nRpcm1layBp52luIGtvbXV0bGFy/SBp52VyaXIiCiAgICBJRF9GQVZPUklURVNfTUVOVSAgICAgICAiU/1rIGt1bGxhbv1sYW4gYW5haHRhcmxhcmEgZXJp/m1layBp52luIGtvbXV0bGFy/SBp52VyaXIiCiAgICBJRF9IRUxQX01FTlUgICAgICAgICAgICAiS2F5/XQgZPx6ZW5sZXlpY2kgaGFra/1uZGEgeWFyZP1tIHZlIGJpbGdpIGf2c3Rlcm1layBp52luIGtvbXV0bGFy/SBp52VyaXIiCiAgICBJRF9FRElUX05FV19NRU5VICAgICAgICAiWWVuaSBhbmFodGFybGFyIHZlIGRl8GVybGVyIPxyZXRtZWsgaedpbiBrb211dGxhcv0gaedlcmlyIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRF9FRElUX01PRElGWSAgICAgICAgICAiRGXwZXIgdmVyaXNpbmkgZGXwaf50aXJpciIKICAgIElEX0VESVRfTkVXX0tFWSAgICAgICAgICJZZW5pIGJpciBhbmFodGFyIGVrbGVyIgogICAgSURfRURJVF9ORVdfU1RSSU5HVkFMVUUgIlllbmkgYmlyIGRpemUgZGXwZXJpIGVrbGVyIgogICAgSURfRURJVF9ORVdfQklOQVJZVkFMVUUgIlllbmkgYmlyIGlraWxpIGRl8GVyIGVrbGVyIgogICAgSURfRURJVF9ORVdfRFdPUkRWQUxVRSAgIlllbmkgYmlyIOdpZnQgc/Z6Y/xrIGRl8GVyaSBla2xlciIKICAgIElEX1JFR0lTVFJZX0lNUE9SVFJFR0lTVFJZRklMRSAiU2lzdGVtIGtheWT9bmEgYmlyIG1ldGluIGRvc3lhc/1u/SBha3Rhcv1yIgogICAgSURfUkVHSVNUUllfRVhQT1JUUkVHSVNUUllGSUxFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2lzdGVtIGtheWT9bv1uIGJpciBr/XNt/W79IHZleWEgdPxt/G78IGJpciBtZXRpbiBkb3N5YXP9bmEgYWt0YXL9ciIKICAgIElEX1JFR0lTVFJZX0NPTk5FQ1RORVRXT1JLUkVHSVNUUlkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVemFrIGJpciBiaWxnaXNheWFy/W4ga2F5ZP1uYSBiYfBsYW79ciIKICAgIElEX1JFR0lTVFJZX0RJU0NPTk5FQ1RORVRXT1JLUkVHSVNUUlkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVemFrIGJpciBiaWxnaXNheWFy/W4ga2F5ZP1uYSBvbGFuIGJh8GxhbnT9ef0ga2VzZXIiCiAgICBJRF9SRUdJU1RSWV9QUklOVCAgICAgICAiU2lzdGVtIGtheWT9bv1uIGJpciBr/XNt/W79IHZleWEgdPxt/G78IHlhemT9cv1yIgovKiAgICBJRF9IRUxQX0hFTFBUT1BJQ1MgICAgICAiT3BlbnMgcmVnaXN0cnkgZWRpdG9yIGhlbHAiICovCiAgICBJRF9IRUxQX0FCT1VUICAgICAgICAgICAiUHJvZ3JhbSBiaWxnaXNpbmksIHP8cvxtIG51bWFyYXP9bv0gdmUgdGVsaWYgaGFra/1u/SBn9nN0ZXJpciIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURfUkVHSVNUUllfRVhJVCAgICAgICAgIkthef10IGT8emVubGV5aWNpc2luZGVuIOf9a2FyIgogICAgSURfRkFWT1JJVEVTX0FERFRPRkFWT1JJVEVTICJT/Wsga3VsbGFu/WxhbmxhciBsaXN0ZXNpbmUgYW5haHRhcmxhcv0gZWtsZXIiCiAgICBJRF9GQVZPUklURVNfUkVNT1ZFRkFWT1JJVEUgIlP9ayBrdWxsYW79bGFubGFyIGxpc3Rlc2luZGVuIGFuYWh0YXJsYXL9IHNpbGVyIgogICAgSURfVklFV19TVEFUVVNCQVIgICAgICAgIkR1cnVtIOd1YnXwdW51IGf2c3RlcmlyIHZleWEgZ2l6bGVyIgogICAgSURfVklFV19TUExJVCAgICAgICAgICAgIt1raSBwYW5lbCBhcmFz/W5kYWtpIGF5cmFj/W4ga29udW11bnUgZGXwaf50aXJpciIKICAgIElEX1ZJRVdfUkVGUkVTSCAgICAgICAgICJQZW5jZXJleWkgeWVuaWxlciIKICAgIElEX0VESVRfREVMRVRFICAgICAgICAgICJTZedpbWkgc2lsZXIiCiAgICBJRF9FRElUX1JFTkFNRSAgICAgICAgICAiU2XnaW1pIHllbmlkZW4gYWRsYW5k/XIiCiAgICBJRF9FRElUX0NPUFlLRVlOQU1FICAgICAiU2XnaWxpIGFuYWh0YXIgYWT9bv0gcGFub3lhIGtvcHlhbGFyIgogICAgSURfRURJVF9GSU5EICAgICAgICAgICAgIkJpciBhbmFodGFyLCBkZfBlciB2ZXlhIHZlcmkgaedlcmlzaW5kZWtpIG1ldGluIGRpemVzaW5pIGJ1bHVyIgogICAgSURfRURJVF9GSU5ETkVYVCAgICAgICAgItZuY2VraSBhcmFtYWRhIGJlbGlybGVuZW4gbWV0bmluIGJpciBzb25yYWtpIGX+bGX+bWVzaW5pIGJ1bHVyIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfRVJST1IJCSAgICAiSGF0YSIKICAgIElEU19CQURfS0VZCQkgICAgIiclcycgYW5haHRhcv0gc29yZ3VsYW5hbWFk/SIKICAgIElEU19CQURfVkFMVUUgICAgICAgICAgICInJXMnIGRl8GVyaSBzb3JndWxhbmFtYWT9IgogICAgSURTX1VOU1VQUE9SVEVEX1RZUEUgICAgIkJ1IHT8ciAoJXUpIGFuYWh0YXJsYXIgZGXwaf50aXJpbGVtZXoiCiAgICBJRFNfVE9PX0JJR19WQUxVRSAgICAgICAiRGXwZXIg529rIGL8efxrICgldSkiCiAgICBJRFNfREVMRVRFX0JPWF9USVRMRSAgICAiRGXwZXIgc2lsbWV5aSBvbmF5bGEiCiAgICBJRFNfREVMRVRFX0JPWF9URVhUICAgICAiJyVzJyBkZfBlcmluaSBzaWxtZWsgaXN0ZWRp8GluaXpkZW4gZW1pbiBtaXNpbml6PyIKICAgIElEU19ERUxFVEVfQk9YX1RFWFRfTVVMVElQTEUgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlc2UgdmFsdWVzPyIKICAgIElEU19ORVdLRVkgICAgICAgICAgICAgICJZZW5pIEFuYWh0YXIgIyVkIgogICAgSURTX05FV1ZBTFVFICAgICAgICAgICAgIlllbmkgRGXwZXIgIyVkIgogICAgSURTX05PVEZPVU5EICAgICAgICAgICAgIkFyYW1hIGRpemVzaSAnJXMnIGJ1bHVuYW1hZP0iCkVORAoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKLyoKICogVEVYVElOQ0xVREUKICovCgoxIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFCkJFR0lOCiAgICAicmVzb3VyY2UuaFwwIgpFTkQKCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K