LyoKICogQ29weXJpZ2h0IDE5OTggSnVlcmdlbiBTY2htaWVkCiAqIENvcHlyaWdodCAyMDAzLTIwMDQgUHVvdGkKICogQ29weXJpZ2h0IDIwMDYgQW50b25pbyBDb2RhenppCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfSVRBTElBTiwgU1VCTEFOR19ORVVUUkFMCgpNRU5VXzAwMSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCglNRU5VSVRFTSAiSWNvbmUgJkdyYW5kaSIsCUZDSURNX1NIVklFV19CSUdJQ09OCglNRU5VSVRFTSAiSWNvbmUgJlBpY2NvbGUiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCglNRU5VSVRFTSAiJkxpc3RhIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwoJTUVOVUlURU0gIiZEZXR0YWdsaSIsCQlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwpFTkQKCi8qCiBzaGVsbHZpZXcgYmFja2dyb3VuZCBtZW51CiovCk1FTlVfMDAyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCVBPUFVQICIiCglCRUdJTgoJICBQT1BVUCAiJlZpc3VhbGl6emEiCgkgIEJFR0lOCgkgICAgTUVOVUlURU0gIkljb25lICZHcmFuZGkiLAlGQ0lETV9TSFZJRVdfQklHSUNPTgoJICAgIE1FTlVJVEVNICJJY29uZSAmUGljY29sZSIsCUZDSURNX1NIVklFV19TTUFMTElDT04KCSAgICBNRU5VSVRFTSAiJkxpc3RhIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwoJICAgIE1FTlVJVEVNICImRGV0dGFnbGkiLAlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwoJICBFTkQKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIFBPUFVQICJEaXNwb25pICZJY29uZSIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiUGVyICZOb21lIiwJMHgzMAkvKiBjb2x1bW4gMCAqLwoJICAgIE1FTlVJVEVNICJQZXIgJlRpcG8iLAkweDMyCS8qIGNvbHVtbiAyICovCgkgICAgTUVOVUlURU0gIlBlciBEaSZtZW5zaW9uZSIsCTB4MzEJLyogLi4uICovCgkgICAgTUVOVUlURU0gIlBlciAmRGF0YSIsCTB4MzMKCSAgICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgICBNRU5VSVRFTSAiJkRpc3BvbmkgQXV0b21hdGljYW1lbnRlIiwJRkNJRE1fU0hWSUVXX0FVVE9BUlJBTkdFCgkgIEVORAoJICBNRU5VSVRFTSAiQWxsaW5lYSBJY29uZSIsCUZDSURNX1NIVklFV19TTkFQVE9HUklECgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiQWdnaW9ybmEiLAkJRkNJRE1fU0hWSUVXX1JFRlJFU0gKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJJbmNvbGxhIiwJCUZDSURNX1NIVklFV19JTlNFUlQKCSAgTUVOVUlURU0gIkNyZWEgQ29sbGVnYW1lbnRvIiwJRkNJRE1fU0hWSUVXX0lOU0VSVExJTksKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIFBPUFVQICJOdW92byIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiTnVvdmEgJkNhcnRlbGxhIiwJRkNJRE1fU0hWSUVXX05FV0ZPTERFUgoJICAgIE1FTlVJVEVNICJOdW92byBDbyZsbGVnYW1lbnRvIiwJRkNJRE1fU0hWSUVXX05FV0xJTksKCSAgICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgRU5ECgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiUHJvcHJpZXTgIiwJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKCUVORApFTkQKCi8qCiBzaGVsbHZpZXcgaXRlbSBtZW51CiovCk1FTlVfU0hWX0ZJTEUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJUE9QVVAgIiIKCUJFR0lOCgkgIE1FTlVJVEVNICImU2VsZWN0IgkJRkNJRE1fU0hWSUVXX09QRU4KCSAgTUVOVUlURU0gIkUmc3Bsb3JhIiwJCUZDSURNX1NIVklFV19FWFBMT1JFCgkgIE1FTlVJVEVNICImQXByaSIsCQlGQ0lETV9TSFZJRVdfT1BFTgoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIiZUYWdsaWEiLAkJRkNJRE1fU0hWSUVXX0NVVAoJICBNRU5VSVRFTSAiJkNvcGlhIiwJCUZDSURNX1NIVklFV19DT1BZCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiQ3JlYSBDbyZsbGVnYW1lbnRvIiwJRkNJRE1fU0hWSUVXX0NSRUFURUxJTksKCSAgTUVOVUlURU0gIiZDYW5jZWxsYSIsCQlGQ0lETV9TSFZJRVdfREVMRVRFCgkgIE1FTlVJVEVNICImUmlub21pbmEiLAkJRkNJRE1fU0hWSUVXX1JFTkFNRQoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIiZQcm9wcmlldOAiLAlGQ0lETV9TSFZJRVdfUFJPUEVSVElFUwoJRU5ECkVORAoKTUVOVV9DUEFORUwgTUVOVQpCRUdJTgogICAgUE9QVVAgIiZGaWxlIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiRSZ4aXQiLCBJRE1fQ1BBTkVMX0VYSVQKICAgIEVORAoKICAgIFBPUFVQICImVmlldyIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIkljb25lICZHcmFuZGkiLCBGQ0lETV9TSFZJRVdfQklHSUNPTgogICAgICAgIE1FTlVJVEVNICJJY29uZSAmUGljY29sZSIsIEZDSURNX1NIVklFV19TTUFMTElDT04KICAgICAgICBNRU5VSVRFTSAiJkxpc3RhIiwgRkNJRE1fU0hWSUVXX0xJU1RWSUVXCiAgICAgICAgTUVOVUlURU0gIiZEZXR0YWdsaSIsIEZDSURNX1NIVklFV19SRVBPUlRWSUVXCiAgICBFTkQKCiAgICBQT1BVUCAiJkhlbHAiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNICImQWJvdXQgQ29udHJvbCBQYW5lbC4uLiIsIElETV9DUEFORUxfQUJPVVQKICAgIEVORApFTkQKClNIQlJTRk9SRk9MREVSX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDE4OCwgMTkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IERTX01PREFMRlJBTUUgfCBEU19TRVRGT05UIHwgRFNfM0RMT09LCkNBUFRJT04gIlNmb2dsaWEgQ2FydGVsbGEiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiT0siLCAxLCA4MCwgMTc2LCA1MCwgMTIsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkFubnVsbGEiLCAyLCAxMzQsIDE3NiwgNTAsIDEyLCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIExURVhUICIiLCBJRERfVElUTEUsIDQsIDQsIDE4MCwgMTIKIExURVhUICIiLCBJRERfU1RBVFVTLCA0LCAyNSwgMTgwLCAxMgogQ09OVFJPTCAiIiwgSUREX1RSRUVWSUVXLCAiU3lzVHJlZVZpZXczMiIsCiAJVFZTX0hBU0JVVFRPTlMgfCBUVlNfSEFTTElORVMgfCBUVlNfTElORVNBVFJPT1QgfAoJV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwKCTQsIDQwLCAxODAsIDEyMAp9CgpTSEVMTF9BQk9VVF9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAyMjAsIDE1MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSW5mb3JtYXppb25pIHN1ICVzIgpGT05UIDEwLCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDE1MywgMTMzLCA2MCwgMTIsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIldpbmUgJmxpY2Vuc2UuLi4iLCBJRENfQUJPVVRfTElDRU5TRSwgMTUzLCAxMTMsIDYwLCAxMiwgV1NfVEFCU1RPUAogTElTVEJPWCBJRENfQUJPVVRfTElTVEJPWCwgOCwgNjUsIDEzNywgODIsIExCU19OT1RJRlkgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCiBJQ09OICIiLCBzdGMxLCAxMCwgMTAsIDMwLCAzMAogTFRFWFQgIiIsIElEQ19BQk9VVF9TVEFUSUNfVEVYVDEsIDQwLCAxMCwgMTcwLCAxMAogTFRFWFQgIiIsIElEQ19BQk9VVF9TVEFUSUNfVEVYVDIsIDQwLCAyMiwgMTcwLCAxMAogTFRFWFQgIlJ1bm5pbmcgb24gJXMiLCBJRENfQUJPVVRfU1RBVElDX1RFWFQzLCA0MiwgMzQsIDE3MCwgMTAKIExURVhUICJXaW5lIOggZGlzcG9uaWJpbGUgZ3JhemllIGE6IiwgSURDX0FCT1VUX1dJTkVfVEVYVCwgOCwgNTQsIDIwNCwgMTAKfQoKU0hFTExfUlVOX0RMRyBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyMjcsIDk1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogSUNPTiAiIiwgMTIyOTcsIDcsIDExLCAxOCwgMjAsIFdTX1ZJU0lCTEUKIExURVhUICJEaWdpdGFyZSBpbCBub21lIGRlbCBwcm9ncmFtbWEsIGRlbGxhIGNhcnRlbGxhLCBkZWwgZG9jdW1lbnRvIG8gZGVsbGEgcmlzb3JzYSBpbnRlcm5ldCwgZSBXaW5lIGxhIGFwcmly4C4iLCAxMjI4OSwgMzYsIDExLCAxODIsIDE4CiBMVEVYVCAiJkFwcmk6IiwgMTIzMDUsIDcsIDM5LCAyNCwgMTAKIENPTlRST0wgIiIsIDEyMjk4LCAiQ09NQk9CT1giLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBXU19WU0NST0xMIHwgV1NfVklTSUJMRSB8IENCU19ESVNBQkxFTk9TQ1JPTEwgfCBDQlNfQVVUT0hTQ1JPTEwgfCBDQlNfRFJPUERPV04sIDM2LCAzNywgMTgzLCAxMDAKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgNjIsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkFubnVsbGEiLCBJRENBTkNFTCwgMTE2LCA2MywgNTAsIDE0LCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJFJnNwbG9yYS4uLiIsIDEyMjg4LCAxNzAsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKfQoKU1RSSU5HVEFCTEUKewoJLyoJY29sdW1ucyBpbiB0aGUgc2hlbGx2aWV3CSovCglJRFNfU0hWX0NPTFVNTjEJCSJGaWxlIgoJSURTX1NIVl9DT0xVTU4yCQkiRGltZW5zaW9uZSIKCUlEU19TSFZfQ09MVU1OMwkJIlRpcG8iCglJRFNfU0hWX0NPTFVNTjQJCSJNb2RpZmljYXRvIgoJSURTX1NIVl9DT0xVTU41CQkiQXR0cmlidXRpIgoJSURTX1NIVl9DT0xVTU42CQkiU3BhemlvIgoJSURTX1NIVl9DT0xVTU43CQkiU3BhemlvIGRpc3BvbmliaWxlIgoJSURTX1NIVl9DT0xVTU44CQkiTm9tZSIKCUlEU19TSFZfQ09MVU1OOQkJIkNvbW1lbnRpIgoJSURTX1NIVl9DT0xVTU4xMAkiT3duZXIiCglJRFNfU0hWX0NPTFVNTjExCSJHcm91cCIKCUlEU19TSFZfQ09MVU1OX0RFTEZST00JIk9yaWdpbmFsIGxvY2F0aW9uIgoJSURTX1NIVl9DT0xVTU5fREVMREFURQkiRGF0ZSBkZWxldGVkIgoKCS8qIHNwZWNpYWwgZm9sZGVyICovCglJRFNfREVTS1RPUAkJIkRlc2t0b3AiCglJRFNfTVlDT01QVVRFUgkJIlJpc29yc2UgZGVsIENvbXB1dGVyIgoJSURTX0NPTlRST0xQQU5FTAkiQ29udHJvbCBQYW5lbCIKCgkvKiAgY29udGV4dCBtZW51cyAgKi8KCUlEU19WSUVXX0xBUkdFCQkiSWNvbmUgJkdyYW5kaSIKCUlEU19WSUVXX1NNQUxMCQkiSWNvbmUgJlBpY2NvbGUiCglJRFNfVklFV19MSVNUCQkiJkxpc3RhIgoJSURTX1ZJRVdfREVUQUlMUwkiJkRldHRhZ2xpIgoJSURTX1NFTEVDVAkJIlNlbGV6aW9uZSIKCUlEU19PUEVOCQkiQXByaSIKCglJRFNfQ1JFQVRFRk9MREVSX0RFTklFRCAiSW1wb3NzaWJpbGUgY3JlYXJlIGxhIGNhcnRlbGxhOiBBY2Nlc3NvIG5lZ2F0by4iCglJRFNfQ1JFQVRFRk9MREVSX0NBUFRJT04gIkVycm9yZSBkdXJhbnRlIGxhIGNyZWF6aW9uZSBkZWxsYSBjYXJ0ZWxsYSIKCUlEU19ERUxFVEVJVEVNX0NBUFRJT04gIkNvbmZlcm1hcmUgbGEgY2FuY2VsbGF6aW9uZSBkZWwgZmlsZSIKCUlEU19ERUxFVEVGT0xERVJfQ0FQVElPTiAiQ29uZmVybWFyZSBsYSBjYW5jZWxsYXppb25lIGRlbGxhIGNhcnRlbGxhIgoJSURTX0RFTEVURUlURU1fVEVYVCAiU2VpIHNpY3VybyBkaSB2b2xlciBjYW5jZWxsYXJlICclMSc/IgoJSURTX0RFTEVURU1VTFRJUExFX1RFWFQgIlNlaSBzaWN1cm8gZGkgdm9sZXIgY2FuY2VsbGFyZSBxdWVzdGkgJTEgZWxlbWVudGk/IgoJSURTX0RFTEVURVNFTEVDVEVEX1RFWFQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlIHNlbGVjdGVkIGl0ZW0ocyk/IgoJSURTX1RSQVNISVRFTV9URVhUICJBcmUgeW91IHN1cmUgdGhhdCB5b3Ugd2FudCB0byBzZW5kICclMScgdG8gdGhlIFRyYXNoPyIKCUlEU19UUkFTSEZPTERFUl9URVhUICJBcmUgeW91IHN1cmUgdGhhdCB5b3Ugd2FudCB0byBzZW5kICclMScgYW5kIGFsbCBpdHMgY29udGVudCB0byB0aGUgVHJhc2g/IgoJSURTX1RSQVNITVVMVElQTEVfVEVYVCAiQXJlIHlvdSBzdXJlIHRoYXQgeW91IHdhbnQgdG8gc2VuZCB0aGVzZSAlMSBpdGVtcyB0byB0aGUgVHJhc2g/IgoJSURTX0NBTlRUUkFTSF9URVhUICJUaGUgaXRlbSAnJTEnIGNhbid0IGJlIHNlbnQgdG8gVHJhc2guIERvIHlvdSB3YW50IHRvIGRlbGV0ZSBpdCBpbnN0ZWFkPyIKCUlEU19PVkVSV1JJVEVGSUxFX1RFWFQgIlRoaXMgZm9sZGVyIGFscmVhZHkgY29udGFpbnMgYSBmaWxlIGNhbGxlZCAnJTEnLlxuXG5EbyB5b3Ugd2FudCB0byByZXBsYWNlIGl0PyIKCUlEU19PVkVSV1JJVEVGSUxFX0NBUFRJT04gIkNvbmZlcm1hcmUgbGEgc292cmFzY3JpemlvbmUgZGVsIEZpbGUiCglJRFNfT1ZFUldSSVRFRk9MREVSX1RFWFQgIlRoaXMgZm9sZGVyIGFscmVhZHkgY29udGFpbnMgYSBmb2xkZXIgbmFtZWQgJyUxJy5cblxuIlwKCSAgICAiSWYgdGhlIGZpbGVzIGluIHRoZSBkZXN0aW5hdGlvbiBmb2xkZXIgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcyBmaWxlcyBpbiB0aGVcbiJcCgkgICAgInNlbGVjdGVkIGZvbGRlciB0aGV5IHdpbGwgYmUgcmVwbGFjZWQuIERvIHlvdSBzdGlsbCB3YW50IHRvIG1vdmUgb3IgY29weVxuIlwKCSAgICAidGhlIGZvbGRlcj8iCgoJLyogbWVzc2FnZSBib3ggc3RyaW5ncyAqLwogICAgICAgSURTX1JFU1RBUlRfVElUTEUgICAgICAgIlJpYXZ2aWEiCiAgICAgICBJRFNfUkVTVEFSVF9QUk9NUFQgICAgICAiVnVvaSBzaW11bGFyZSB1biByaWF2dmlvIGRpIFdpbmRvd3M/IgogICAgICAgSURTX1NIVVRET1dOX1RJVExFICAgICAgIlRlcm1pbmEgc2Vzc2lvbmUiCiAgICAgICBJRFNfU0hVVERPV05fUFJPTVBUICAgICAiVnVvaSB0ZXJtaW5hcmUgbGEgc2Vzc2lvbmUgZGkgV2luZT8iCgoJLyogc2hlbGwgZm9sZGVyIHBhdGggZGVmYXVsdCB2YWx1ZXMgKi8KCUlEU19TVEFSVE1FTlUgICAgICAgICAgICAgICAiU3RhcnQgTWVudSIKCUlEU19QUk9HUkFNUyAgICAgICAgICAgICAgICAiU3RhcnQgTWVudVxcUHJvZ3JhbW1pIgoJSURTX1NUQVJUVVAgICAgICAgICAgICAgICAgICJTdGFydCBNZW51XFxQcm9ncmFtbWlcXFN0YXJ0VXAiCglJRFNfQURNSU5UT09MUyAgICAgICAgICAgICAgIlN0YXJ0IE1lbnVcXFByb2dyYW1taVxcQWRtaW5pc3RyYXRpdmUgVG9vbHMiCglJRFNfSU5URVJORVRfQ0FDSEUgICAgICAgICAgIlNldHRhZ2dpIExvY2FsaVxcVGVtcG9yYXJ5IEludGVybmV0IEZpbGVzIgoJSURTX0hJU1RPUlkgICAgICAgICAgICAgICAgICJTZXR0YWdnaSBMb2NhbGlcXENyb25vbG9naWEiCglJRFNfTE9DQUxfQVBQREFUQSAgICAgICAgICAgIlNldHRhZ2dpIExvY2FsaVxcQXBwbGljYXppb25pIgoJSURTX0NEQlVSTl9BUkVBICAgICAgICAgICAgICJTZXR0YWdnaSBMb2NhbGlcXEFwcGxpY2F6aW9uaVxcTWljcm9zb2Z0XFxDRCBCdXJuaW5nIgoJSURTX1BST0dSQU1fRklMRVMgICAgICAgICAgICJQcm9ncmFtbWkiCglJRFNfUFJPR1JBTV9GSUxFU19DT01NT04gICAgIlByb2dyYW1taVxcQ29tbW9uIEZpbGVzIgoJSURTX0NPTU1PTl9ET0NVTUVOVFMgICAgICAgICJEb2N1bWVudGkiCglJRFNfQ09NTU9OX01VU0lDICAgICAgICAgICAgIkRvY3VtZW50aVxcTXVzaWNhIgoJSURTX0NPTU1PTl9QSUNUVVJFUyAgICAgICAgICJEb2N1bWVudGlcXEltbWFnaW5pIgoJSURTX0NPTU1PTl9WSURFTyAgICAgICAgICAgICJEb2N1bWVudGlcXFZpZGVvIgoJSURTX1BFUlNPTkFMICAgICAgICAgICAgICAgICJNaWVpIERvY3VtZW50aSIKCUlEU19NWU1VU0lDICAgICAgICAgICAgICAgICAiTXVzaWNhIgoJSURTX01ZVklERU8gICAgICAgICAgICAgICAgICJWaWRlbyIKCUlEU19NWVBJQ1RVUkVTICAgICAgICAgICAgICAiSW1tYWdpbmkiCglJRFNfRkFWT1JJVEVTICAgICAgICAgICAgICAgIkZhdm9yaXRpIgoJSURTX1JFQ0VOVCAgICAgICAgICAgICAgICAgICJSZWNlbnRpIgoJSURTX1NFTkRUTyAgICAgICAgICAgICAgICAgICJTZW5kVG8iCglJRFNfREVTS1RPUERJUkVDVE9SWSAgICAgICAgIkRlc2t0b3AiCglJRFNfTkVUSE9PRCAgICAgICAgICAgICAgICAgIk5ldEhvb2QiCglJRFNfVEVNUExBVEVTICAgICAgICAgICAgICAgIk1vZGVsbGkiCglJRFNfQVBQREFUQSAgICAgICAgICAgICAgICAgIkFwcGxpY2F6aW9uaSIKCUlEU19QUklOVEhPT0QgICAgICAgICAgICAgICAiUHJpbnRIb29kIgoJSURTX0NPT0tJRVMgICAgICAgICAgICAgICAgICJDb29raWVzIgoKCUlEU19ORVdGT0xERVIJCSJOZXcgRm9sZGVyIgoKCUlEU19DUEFORUxfVElUTEUgICAgICAgICAgICAiV2luZSBDb250cm9sIFBhbmVsIgoJSURTX0NQQU5FTF9OQU1FICAgICAgICAgICAgICJOYW1lIgoJSURTX0NQQU5FTF9ERVNDUklQVElPTiAgICAgICJEZXNjcmlwdGlvbiIKfQo=