LyoKICogQ29weXJpZ2h0IDE5OTggSnVlcmdlbiBTY2htaWVkCiAqIENvcHlyaWdodCAyMDAzLDIwMDQsMjAwNyBKb3PpIE1hbnVlbCBGZXJyZXIgT3J0aXoKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19TUEFOSVNILCBTVUJMQU5HX05FVVRSQUwKCk1FTlVfMDAxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCU1FTlVJVEVNICJJY29ub3MgJmdyYW5kZXMiLAlGQ0lETV9TSFZJRVdfQklHSUNPTgoJTUVOVUlURU0gIkljb25vcyAmcGVxdWXxb3MiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCglNRU5VSVRFTSAiJkxpc3RhIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwoJTUVOVUlURU0gIiZEZXRhbGxlcyIsCQlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwpFTkQKCi8qCiBzaGVsbHZpZXcgYmFja2dyb3VuZCBtZW51CiovCk1FTlVfMDAyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCVBPUFVQICIiCglCRUdJTgoJICBQT1BVUCAiJlZlciIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiSWNvbm9zICZncmFuZGVzIiwgICAgIEZDSURNX1NIVklFV19CSUdJQ09OCgkgICAgTUVOVUlURU0gIkljb25vcyAmcGVxdWXxb3MiLCAgICBGQ0lETV9TSFZJRVdfU01BTExJQ09OCgkgICAgTUVOVUlURU0gIiZMaXN0YSIsICAgICAgICAgICAgICBGQ0lETV9TSFZJRVdfTElTVFZJRVcKCSAgICBNRU5VSVRFTSAiJkRldGFsbGVzIiwgICAgICAgICAgIEZDSURNX1NIVklFV19SRVBPUlRWSUVXCgkgIEVORAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIk9yZGVuYXIgJmljb25vcyIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiUG9yICZub21icmUiLAkweDMwCS8qIGNvbHVtbiAwICovCgkgICAgTUVOVUlURU0gIlBvciAmdGlwbyIsCTB4MzIJLyogY29sdW1uIDIgKi8KCSAgICBNRU5VSVRFTSAiUG9yIHQmYW1h8W8iLAkweDMxCS8qIC4uLiAqLwoJICAgIE1FTlVJVEVNICJQb3IgJmZlY2hhIiwJMHgzMwoJICAgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICAgIE1FTlVJVEVNICImT3JkZW5hciBhdXRvbeF0aWNhbWVudGUiLAlGQ0lETV9TSFZJRVdfQVVUT0FSUkFOR0UKCSAgRU5ECgkgIE1FTlVJVEVNICJBbGluZWFyIGljb25vcyIsCQlGQ0lETV9TSFZJRVdfU05BUFRPR1JJRAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIkFjdHVhbGl6YXIiLAkJRkNJRE1fU0hWSUVXX1JFRlJFU0gKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJQZWdhciIsCQkJRkNJRE1fU0hWSUVXX0lOU0VSVAoJICBNRU5VSVRFTSAiUGVnYXIgYWNjZXNvIGRpcmVjdG8iLAlGQ0lETV9TSFZJRVdfSU5TRVJUTElOSwoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIk51ZXZvIgoJICBCRUdJTgoJICAgIE1FTlVJVEVNICJOdWV2YSAmY2FycGV0YSIsCQlGQ0lETV9TSFZJRVdfTkVXRk9MREVSCgkgICAgTUVOVUlURU0gIk51ZXZvICZhY2Nlc28gZGlyZWN0byIsCUZDSURNX1NIVklFV19ORVdMSU5LCgkgICAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIEVORAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIlByb3BpZWRhZGVzIiwJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKCUVORApFTkQKCi8qCiBzaGVsbHZpZXcgaXRlbSBtZW51CiovCk1FTlVfU0hWX0ZJTEUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJUE9QVVAgIiIKCUJFR0lOCgkgIE1FTlVJVEVNICImU2VsZWNjaW9uYXIiCQlGQ0lETV9TSFZJRVdfT1BFTgoJICBNRU5VSVRFTSAiRSZ4cGxvcmFyIiwJCQlGQ0lETV9TSFZJRVdfRVhQTE9SRQoJICBNRU5VSVRFTSAiJkFicmlyIiwJCQlGQ0lETV9TSFZJRVdfT1BFTgoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIkMmb3J0YXIiLAkJCUZDSURNX1NIVklFV19DVVQKCSAgTUVOVUlURU0gIiZDb3BpYXIiLAkJCUZDSURNX1NIVklFV19DT1BZCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiQyZyZWFyIGFjY2VzbyBkaXJlY3RvIiwJRkNJRE1fU0hWSUVXX0NSRUFURUxJTksKCSAgTUVOVUlURU0gIiZFbGltaW5hciIsCQkJRkNJRE1fU0hWSUVXX0RFTEVURQoJICBNRU5VSVRFTSAiUmUmbm9tYnJhciIsCQlGQ0lETV9TSFZJRVdfUkVOQU1FCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiJlByb3BpZWRhZGVzIiwJCUZDSURNX1NIVklFV19QUk9QRVJUSUVTCglFTkQKRU5ECgpTSEJSU0ZPUkZPTERFUl9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAxODgsIDE5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBEU19NT0RBTEZSQU1FIHwgRFNfU0VURk9OVCB8IERTXzNETE9PSwpDQVBUSU9OICJFeHBsb3JhciBjYXJwZXRhIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIkFjZXB0YXIiLCAxLCA4MCwgMTc2LCA1MCwgMTIsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgMiwgMTM0LCAxNzYsIDUwLCAxMiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiIiwgSUREX1RJVExFLCA0LCA0LCAxODAsIDEyCiBMVEVYVCAiIiwgSUREX1NUQVRVUywgNCwgMjUsIDE4MCwgMTIKIENPTlRST0wgIiIsIElERF9UUkVFVklFVywgIlN5c1RyZWVWaWV3MzIiLAogCVRWU19IQVNCVVRUT05TIHwgVFZTX0hBU0xJTkVTIHwgVFZTX0xJTkVTQVRST09UIHwKCVdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsCgk0LCA0MCwgMTgwLCAxMjAKfQoKU0hFTExfWUVTVE9BTExfTVNHQk9YIERJQUxPRyAyMDAsIDEwMCwgMjgwLCA5MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTWVuc2FqZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBERUZQVVNIQlVUVE9OICImU+0iLCBJRFlFUywgMzQsIDY5LCA1MywgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAiU+0gYSAmdG9kbyIsIElERF9ZRVNUT0FMTCwgOTIsIDY5LCA2NSwgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAiJk5vIiwgSUROTywgMTYyLCA2OSwgNTMsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gIiZDYW5jZWxhciIsIElEQ0FOQ0VMLCAyMjAsIDY5LCA1MywgMTQsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgSUNPTiAiIiwgSUREX0lDT04sIDEwLCAxMCwgMTYsIDE2CiAgICBMVEVYVCAiIiwgSUREX01FU1NBR0UsIDQwLCAxMCwgMjM4LCA1MiwgMAp9CgpTSEVMTF9BQk9VVF9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAyMTAsIDE1MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQWNlcmNhIGRlICVzIgpGT05UIDEwLCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJBY2VwdGFyIiwgSURPSywgMTUzLCAxMzMsIDUwLCAxMiwgV1NfVEFCU1RPUAogTElTVEJPWCA5OSwgOCwgNjUsIDEzNywgODIsIExCU19OT1RJRlkgfCBXU19WU0NST0xMIHwgV1NfQk9SREVSCiBJQ09OICIiLCAxMDg4LCAxMCwgMTAsIDE0LCAxNgogTFRFWFQgIiIsIDEwMCwgMzAsIDEwLCAxMzcsIDEwCiBMVEVYVCAiIiwgMTAxLCAzMCwgMjIsIDEzNywgMTAKIExURVhUICJXaW5lIGxlIGhhIHNpZG8gcHJvcG9yY2lvbmFkbyBwb3I6IiwgOTgsIDgsIDU1LCAxMzcsIDEwCn0KClNIRUxMX1JVTl9ETEcgRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMCwgMCwgMjI3LCA5NQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKIElDT04gIiIsIDEyMjk3LCA3LCAxMSwgMTgsIDIwLCBXU19WSVNJQkxFCiBMVEVYVCAiSW50cm9kdXpjYSBlbCBub21icmUgZGUgdW4gcHJvZ3JhbWEsIGNhcnBldGEsIGRvY3VtZW50byBvIHJlY3Vyc28gZGUgSW50ZXJuZXQsIHkgV2luZSBsbyBhYnJpcuEgcGFyYSB1c3RlZC4iLCAxMjI4OSwgMzYsIDExLCAxODIsIDE4CiBMVEVYVCAiJkFicmlyOiIsIDEyMzA1LCA3LCAzOSwgMjQsIDEwCiBDT05UUk9MICIiLCAxMjI5OCwgIkNPTUJPQk9YIiwgV1NfVEFCU1RPUCB8IFdTX0dST1VQIHwgV1NfVlNDUk9MTCB8IFdTX1ZJU0lCTEUgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX0RST1BET1dOLCAzNiwgMzcsIDE4MywgMTAwCiBERUZQVVNIQlVUVE9OICJBY2VwdGFyIiwgSURPSywgNjIsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkNhbmNlbGFyIiwgSURDQU5DRUwsIDExNiwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJkV4YW1pbmFyLi4uIiwgMTIyODgsIDE3MCwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAp9CgpTVFJJTkdUQUJMRQp7CiAgICAgICAgLyogY29sdW1ucyBpbiB0aGUgc2hlbGx2aWV3ICovCglJRFNfU0hWX0NPTFVNTjEgICAgICAgICAiQXJjaGl2byIKCUlEU19TSFZfQ09MVU1OMiAgICAgICAgICJUYW1h8W8iCglJRFNfU0hWX0NPTFVNTjMgICAgICAgICAiVGlwbyIKCUlEU19TSFZfQ09MVU1ONCAgICAgICAgICJNb2RpZmljYWRvIgoJSURTX1NIVl9DT0xVTU41ICAgICAgICAgIkF0cmlidXRvcyIKCUlEU19TSFZfQ09MVU1ONiAgICAgICAgICJUYW1h8W8iCglJRFNfU0hWX0NPTFVNTjcgICAgICAgICAiVGFtYfFvIGRpc3BvbmlibGUiCglJRFNfU0hWX0NPTFVNTjggICAgICAgICAiTm9tYnJlIgoJSURTX1NIVl9DT0xVTU45ICAgICAgICAgIkNvbWVudGFyaW9zIgoJSURTX1NIVl9DT0xVTU4xMCAgICAgICAgIlByb3BpZXRhcm8iCglJRFNfU0hWX0NPTFVNTjExICAgICAgICAiR3J1cG8iCglJRFNfU0hWX0NPTFVNTl9ERUxGUk9NICAiTG9jYWxpemFjafNuIG9yaWdpbmFsIgoJSURTX1NIVl9DT0xVTU5fREVMREFURSAgIkZlY2hhIGRlIGJvcnJhZG8iCgogICAgICAgIC8qIHNwZWNpYWwgZm9sZGVycyAqLwoJSURTX0RFU0tUT1AJCSJFc2NyaXRvcmlvIgoJSURTX01ZQ09NUFVURVIJCSJNaSBQQyIKICAgICAgICBJRFNfUkVDWUNMRUJJTl9GT0xERVJfTkFNRSAiUGFwZWxlcmEgZGUgcmVjaWNsYWplIgoKICAgICAgICAvKiBjb250ZXh0IG1lbnVzICovCglJRFNfVklFV19MQVJHRQkJIkljb25vcyAmZ3JhbmRlcyIKCUlEU19WSUVXX1NNQUxMCQkiSWNvbm9zICZwZXF1ZfFvcyIKCUlEU19WSUVXX0xJU1QJCSImTGlzdGEiCglJRFNfVklFV19ERVRBSUxTCSImRGV0YWxsZXMiCglJRFNfU0VMRUNUCQkiU2VsZWNjaW9uYXIiCglJRFNfT1BFTgkJIkFicmlyIgoKCUlEU19DUkVBVEVGT0xERVJfREVOSUVEICJObyBzZSBwdWVkZSBjcmVhciBudWV2YSBjYXJwZXRhOiBQZXJtaXNvIGRlbmVnYWRvLiIKCUlEU19DUkVBVEVGT0xERVJfQ0FQVElPTiAiRXJyb3IgZHVyYW50ZSBsYSBjcmVhY2nzbiBkZSB1bmEgbnVldmEgY2FycGV0YSIKCUlEU19ERUxFVEVJVEVNX0NBUFRJT04gIkNvbmZpcm1hciBlbGltaW5hY2nzbiBkZSBhcmNoaXZvIgoJSURTX0RFTEVURUZPTERFUl9DQVBUSU9OICJDb25maXJtYXIgZWxpbWluYWNp824gZGUgY2FycGV0YSIKCUlEU19ERUxFVEVJVEVNX1RFWFQgIr9TZWd1cm8gcXVlIGRlc2VhIGVsaW1pbmFyICclMSc/IgoJSURTX0RFTEVURU1VTFRJUExFX1RFWFQgIr9TZWd1cm8gcXVlIGRlc2VhIGVsaW1pbmFyIGVzdG9zICUxIGVsZW1lbnRvcz8iCglJRFNfREVMRVRFU0VMRUNURURfVEVYVCAiv1NlZ3VybyBxdWUgZGVzZWEgZWxpbWluYXIgZWwgKGxvcykgZWxlbWVudG8ocykgc2VsZWNjaW9uYWRvKHMpPyIKCUlEU19UUkFTSElURU1fVEVYVCAiv1NlZ3VybyBxdWUgZGVzZWEgZW52aWFyICclMScgYSBsYSBwYXBlbGVyYSBkZSByZWNpY2xhamU/IgoJSURTX1RSQVNIRk9MREVSX1RFWFQgIr9TZWd1cm8gcXVlIGRlc2VhIGVudmlhciAnJTEnIHkgdG9kbyBzdSBjb250ZW5pZG8gYSBsYSBwYXBlbGVyYSBkZSByZWNpY2xhamU/IgoJSURTX1RSQVNITVVMVElQTEVfVEVYVCAiv1NlZ3VybyBxdWUgZGVzZWEgZW52aWFyIGVzdG9zICUxIGVsZW1lbnRvcyBhIGxhIHBhcGVsZXJhIGRlIHJlY2ljbGFqZT8iCglJRFNfQ0FOVFRSQVNIX1RFWFQgIkVsIGVsZW1lbnRvICclMScgbm8gcHVlZGUgZW52aWFyc2UgYSBsYSBwYXBlbGVyYSBkZSByZWNpY2xhamUuIL9EZXNlYSBlbGltaW5hcmxvIGVuIHN1IGx1Z2FyPyIKCUlEU19PVkVSV1JJVEVGSUxFX1RFWFQgIkVzdGEgY2FycGV0YSB5YSBjb250aWVuZSB1biBhcmNoaXZvIGxsYW1hZG8gJyUxJy5cblxuv0Rlc2VhIHJlZW1wbGF6YXJsbz8iCglJRFNfT1ZFUldSSVRFRklMRV9DQVBUSU9OICJDb25maXJtYXIgc29icmVlc2NyaXR1cmEgZGUgYXJjaGl2byIKCUlEU19PVkVSV1JJVEVGT0xERVJfVEVYVCAiRXN0YSBjYXJwZXRhIHlhIGNvbnRpZW5lIHVuYSBjYXJwZXRhIGxsYW1hZGEgJyUxJy5cblxuIlwKCSAgICAiU2kgbG9zIGFyY2hpdm9zIGRlIGxhIGNhcnBldGEgZGUgZGVzdGlubyB0aWVuZW4gbG9zIG1pc21vcyBub21icmVzIHF1ZSBsb3NcbiJcCgkgICAgImRlIGxhIGNhcnBldGEgc2VsZWNjaW9uYWRhLCDpc3RvcyBzZXLhbiByZWVtcGxhemFkb3MuIL9Ub2Rhdu1hIGRlc2VhIG1vdmVyXG4iXAoJICAgICJvIGNvcGlhciBsYSBjYXJwZXRhPyIKCiAgICAgICAgLyogbWVzc2FnZSBib3ggc3RyaW5ncyAqLwogICAgICAgIElEU19SRVNUQVJUX1RJVExFCSJSZWluaWNpYXIiCiAgICAgICAgSURTX1JFU1RBUlRfUFJPTVBUCSK/RGVzZWEgc2ltdWxhciB1biByZWluaWNpbyBkZSBXaW5kb3dzPyIKICAgICAgICBJRFNfU0hVVERPV05fVElUTEUJIkFwYWdhciIKICAgICAgICBJRFNfU0hVVERPV05fUFJPTVBUCSK/RGVzZWEgdGVybWluYXIgc3Ugc2VzafNuIGRlIFdpbmU/IgoKICAgICAgICAvKiBzaGVsbCBmb2xkZXIgcGF0aCBkZWZhdWx0IHZhbHVlcyAqLwoJSURTX1BST0dSQU1TICAgICAgICAgICAgICAgICJNZW76IEluaWNpb1xcUHJvZ3JhbWFzIgoJSURTX1BFUlNPTkFMICAgICAgICAgICAgICAgICJNaXMgZG9jdW1lbnRvcyIKCUlEU19GQVZPUklURVMgICAgICAgICAgICAgICAiRmF2b3JpdG9zIgoJSURTX1NUQVJUVVAgICAgICAgICAgICAgICAgICJNZW76IEluaWNpb1xcUHJvZ3JhbWFzXFxJbmljaW8iCglJRFNfUkVDRU5UICAgICAgICAgICAgICAgICAgIlJlY2llbnRlcyIKCUlEU19TRU5EVE8gICAgICAgICAgICAgICAgICAiRW52aWFyIGEiCglJRFNfU1RBUlRNRU5VICAgICAgICAgICAgICAgIk1lbvogSW5pY2lvIgoJSURTX01ZTVVTSUMgICAgICAgICAgICAgICAgICJNaSBt+nNpY2EiCglJRFNfTVlWSURFTyAgICAgICAgICAgICAgICAgIk1pcyB27WRlb3MiCglJRFNfREVTS1RPUERJUkVDVE9SWSAgICAgICAgIkVzY3JpdG9yaW8iCglJRFNfTkVUSE9PRCAgICAgICAgICAgICAgICAgIkVudG9ybm8gZGUgcmVkIgoJSURTX1RFTVBMQVRFUyAgICAgICAgICAgICAgICJQbGFudGlsbGFzIgoJSURTX0FQUERBVEEgICAgICAgICAgICAgICAgICJBcHBsaWNhdGlvbiBEYXRhIgoJSURTX1BSSU5USE9PRCAgICAgICAgICAgICAgICJWZW5jaW5kYXJpbyBkZSBpbXByZXNp824iCglJRFNfTE9DQUxfQVBQREFUQSAgICAgICAgICAgIkNvbmZpZ3VyYWNp824gbG9jYWxcXERhdG9zIGRlIHByb2dyYW1hIgoJSURTX0lOVEVSTkVUX0NBQ0hFICAgICAgICAgICJDb25maWd1cmFjafNuIGxvY2FsXFxBcmNoaXZvcyB0ZW1wb3JhbGVzIGRlIEludGVybmV0IgoJSURTX0NPT0tJRVMgICAgICAgICAgICAgICAgICJDb29raWVzIgoJSURTX0hJU1RPUlkgICAgICAgICAgICAgICAgICJDb25maWd1cmFjafNuIGxvY2FsXFxIaXN0b3JpYWwiCglJRFNfUFJPR1JBTV9GSUxFUyAgICAgICAgICAgIkFyY2hpdm9zIGRlIHByb2dyYW1hIgoJSURTX01ZUElDVFVSRVMgICAgICAgICAgICAgICJNaXMgaW3hZ2VuZXMiCglJRFNfUFJPR1JBTV9GSUxFU19DT01NT04gICAgIkFyY2hpdm9zIGRlIHByb2dyYW1hXFxBcmNoaXZvcyBjb211bmVzIgoJSURTX0NPTU1PTl9ET0NVTUVOVFMgICAgICAgICJEb2N1bWVudG9zIgoJSURTX0FETUlOVE9PTFMgICAgICAgICAgICAgICJNZW76IEluaWNpb1xcUHJvZ3JhbWFzXFxBY2Nlc29yaW9zXFxIZXJyYW1pZW50YXMgZGVsIHNpc3RlbWEiCglJRFNfQ09NTU9OX01VU0lDICAgICAgICAgICAgIkRvY3VtZW50b3NcXE1pIG36c2ljYSIKCUlEU19DT01NT05fUElDVFVSRVMgICAgICAgICAiRG9jdW1lbnRvc1xcTWlzIGlt4WdlbmVzIgoJSURTX0NPTU1PTl9WSURFTyAgICAgICAgICAgICJEb2N1bWVudG9zXFxNaXMgdu1kZW9zIgoJSURTX0NEQlVSTl9BUkVBICAgICAgICAgICAgICJDb25maWd1cmFjafNuIGxvY2FsXFxEYXRvcyBkZSBwcm9ncmFtYVxcTWljcm9zb2Z0XFxDRCBCdXJuaW5nIgoKCUlEU19ORVdGT0xERVIJCSJOdWV2YSBjYXJwZXRhIgp9Cg==