LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogRnJlbmNoIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IDIwMDUtMjAwNyBKb25hdGhhbiBFcm5zdAogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICoKICovCgpMQU5HVUFHRSBMQU5HX0ZSRU5DSCwgU1VCTEFOR19ORVVUUkFMCgpJRFJfV0lORUNGRyBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCiAgICBQT1BVUCAiIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiQ29uZmlndXJlciIsIElEQ19BVURJT19DT05GSUdVUkUKICAgIEVORApFTkQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDI3MApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9TVFJJTkcsSURDX1NUQVRJQywxMTksMTcsMTIwLDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCAsMTUsMTcsMTU3LDExMQogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgTFRFWFQgICAgICAgICAgICJDZXR0ZSBiaWJsaW90aOhxdWUgZXN0IHVuIGxvZ2ljaWVsIGxpYnJloDsgdm91cyBwb3V2ZXogbGEgcmVkaXN0cmlidWVyIGV0L291IGxhIG1vZGlmaWVyIGNvbmZvcm3pbWVudCBhdXggZGlzcG9zaXRpb25zIGRlIGxhIExpY2VuY2UgUHVibGlxdWUgR+lu6XJhbGUgR05VLCB0ZWxsZSBxdWUgcHVibGnpZSBwYXIgbGEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uoDsgdmVyc2lvbiAyLjEgZGUgbGEgbGljZW5jZSwgb3UgZW5jb3JlICjgIHZvdHJlIGNob2l4KSB0b3V0ZSB2ZXJzaW9uIHVsdOlyaWV1cmUuIgogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTE5LDQ0LDEyNCw3MgpFTkQKCklERF9BUFBDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIFBhcmFt6HRyZXMgZGVzIGFwcGxpY2F0aW9ucyAiLElEQ19TVEFUSUMsIDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIldpbmUgcGV1dCBpbWl0ZXIgZGlmZulyZW50ZXMgdmVyc2lvbnMgZGUgV2luZG93cyBwb3VyIGNoYXF1ZSBhcHBsaWNhdGlvbi4gQ2V0IG9uZ2xldCBlc3QgbGnpIGF1eCBvbmdsZXRzIEJpYmxpb3Ro6HF1ZXMgZXQgQWZmaWNoYWdlIHBvdXIgdm91cyBwZXJtZXR0cmUgZGUgY2hhbmdlciBkZXMgcGFyYW3odHJlcyBnbG9iYXV4IG91IHBhciBhcHBsaWNhdGlvbiBkYW5zIGNlcyBvbmdsZXRzLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwyMCwyMjcsNDAKICAgIENPTlRST0wgICAgICAgICAiQXBwbGljYXRpb25zIixJRENfQVBQX0xJU1RWSUVXLCJTeXNMaXN0VmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgTFZTX0xJU1QgfCBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMsCiAgICAgICAgICAgICAgICAgICAgMTUsNjAsMjMwLDE0MAogICAgUFVTSEJVVFRPTgkgICAgIiZBam91dGVyIHVuZSBhcHBsaWNhdGlvbi4uLiIsSURDX0FQUF9BRERBUFAsIDcwLDIwNCw4NSwxNAogICAgUFVTSEJVVFRPTgkgICAgIiZFbmxldmVyIHVuZSBhcHBsaWNhdGlvbiIsSURDX0FQUF9SRU1PVkVBUFAsIDE2MCwyMDQsODUsMTQKICAgIExURVhUICAgICAgICAgICAiVmVyc2lvbiBkZSAmV2luZG93cyA6IixJRENfU1RBVElDLDE3LDIyNCw3MCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTlZFUiw5NSwyMjIsMTUxLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUApFTkQKCklERF9HUkFQSENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgUGFyYW3odHJlcyBkZXMgZmVu6nRyZXMgIixJRENfU1RBVElDLDgsNCwyNDQsMTgwCgogICAgQ09OVFJPTAkgICAgIlBlcm1ldHRyZSBhdXggYXBwbGljYXRpb25zIERpcmVjdFggZCdlbXDqY2hlciBsYSBzb3VyaXMgZGUgcXVpdHRlciBsZXVyIGZlbup0cmUiLElEQ19EWF9NT1VTRV9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AgfCBCU19NVUxUSUxJTkUsMTUsMTQsMjMwLDE2CiAgICBMVEVYVCAJICAgICJTaSBsZXMgZmVu6nRyZXMgc29udCBn6XLpZXMgcGFyIHZvdHJlIGdlc3Rpb25uYWlyZSBkZSBmZW7qdHJlcywgZWxsZXMgYXVyb250IGRlcyBib3JkdXJlcyBzdGFuZGFyZCwgZWxsZXMgcmVzcGVjdGVyb250IHZvdHJlIGJ1cmVhdSB2aXJ0dWVsIGV0IGFwcGFyYe50cm9udCBkYW5zIGxhIGxpc3RlIGRlcyBmZW7qdHJlcy5cblxuU2kgbGVzIGZlbup0cmVzIG5lIHNvbnQgcGFzIGfpcullcywgZWxsZXMgc2Vyb250IGTpY29ubmVjdOllcyBkZSB2b3RyZSBnZXN0aW9ubmFpcmUgZGUgZmVu6nRyZXMuIENlY2kgc2lnbmlmaWUgcXUnZWxsZSBuZSBzZXJvbnQgcGFzIHBhcmZhaXRlbWVudCBpbnTpZ3LpZXMg4CB2b3RyZSBidXJlYXUsIG1haXMgcXVlIGwn6W11bGF0aW9uIHNlcmEgcGx1cyBwculjaXNlIGNlIHF1aSBwZXJtZXQg4CBjZXJ0YWlucyBwcm9ncmFtbWVzIGRlIG1pZXV4IGZvbmN0aW9ubmVyLiIsCgkJICAgIElEQ19TVEFUSUMsMTUsNDUsMjI4LDgwCiAgICBDT05UUk9MCSAgICAiUGVybWV0dHJlIGF1IGdlc3Rpb25uYWlyZSBkZSBmZW7qdHJlcyBkZSBjb250cvRsZXIgbGVzIGZlbup0cmVzIixJRENfRU5BQkxFX01BTkFHRUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxNDAsMjMwLDgKCiAgICAvKiBGSVhNRTogdGhlIHdvcmRpbmcgb2YgdGhpcyBleHBsYW5hdGlvbiBjb3VsZCBiZSBhIGxvdCBiZXR0ZXIgKi8KICAgIExURVhUICAgICAgICAgICAiVm91cyBhdmV6IGxlIGNob2l4IGVudHJlIGwn6W11bGF0aW9uIGQndW4gYnVyZWF1IFdpbmRvd3Mgb/kgdG91dGVzIGxlcyBmZW7qdHJlcyBkZSB2b3MgcHJvZ3JhbW1lcyBXaW5kb3dzIHNvbnQgY29uZmlu6WVzIG91IGJpZW4gZCdhZmZpY2hlciBsZXMgZmVu6nRyZXMgZGUgY2VzIHByb2dyYW1tZXMgc3VyIHZvdHJlIGJ1cmVhdSBzdGFuZGFyZC4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsMTU0LDIyOCwyOAogICAgTFRFWFQgICAgICAgICAgICJUYWlsbGUgZHUgYnVyZWF1IDoiLElEQ19ERVNLVE9QX1NJWkUsMTUsMTI1LDYwLDgsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTI5LDEyMyw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiRW11bGVyIHVuIGJ1cmVhdSB2aXJ0dWVsIixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMTMsMjMwLDEwCgogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX1dJRFRILDg0LDEyMyw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfSEVJR0hULDEzNywxMjMsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdDNEICIsSURDX1NUQVRJQyw4LDE4OSwyNDQsNTAKCiAgICBMVEVYVAkgICAgIlN1cHBvcnQgZHUgVmVydGV4IFNoYWRlciA6ICIsSURDX1NUQVRJQywxNSwyMDAsMTAwLDMwCiAgICBDT01CT0JPWAkgICAgSURDX0QzRF9WU0hBREVSX01PREUsMTEwLDE5OCwxMDAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJQZXJtZXR0cmUgbGUgUGl4ZWwgU2hhZGVyIChzaSBzdXBwb3J06SBwYXIgbGUgbWF06XJpZWwpIixJRENfRDNEX1BTSEFERVJfTU9ERSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDIxNSwyMzAsMTAKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBTdXJjbGFzc2FnZSBkZSBETExzICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICJJbCBlc3QgcG9zc2libGUgZGUgc3DpY2lmaWVyIHNpIFdpbmUgZG9pdCB1dGlsaXNlciB1bmUgdmVyc2lvbiBuYXRpdmUgKGltcG9ydOllIGRlcHVpcyBXaW5kb3dzIG91IGluc3RhbGzpZSBwYXIgbCdhcHBsaWNhdGlvbikgb3UgYmllbiB1bmUgdmVyc2lvbiBpbmNsdWUgKGRpc3RyaWJ16WUgYXZlYyBXaW5lKSBkZSBjaGFxdWUgRExMIChEeW5hbWljIExpbmsgTGlicmFyaWVzKSB1dGlsaXPpZSBwYXIgdW4gcHJvZ3JhbW1lLiIKICAgICAgICAgICAgICAgICAgICAsIElEQ19TVEFUSUMsMTYsMTYsMjIwLDMyCiAgICBMVEVYVCAgICAgICAgICAgIiZOb3V2ZWF1IHN1cmNsYXNzYWdlIHBvdXIgOiIsSURDX1NUQVRJQywxNiw1OCwxMDAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExDT01CTywxNiw2OCwxNDAsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04gICAgICAiJkFqb3V0ZXIgc3VyY2xhc3NhZ2UiLElEQ19ETExTX0FERERMTCwgMTY0LDY4LDgyLDEzLEJTX0RFRlBVU0hCVVRUT04KICAgIExURVhUICAgICAgICAgICAiU3VyY2xhc3NhZ2VzIGV4aXN0YW50cyA6IixJRENfU1RBVElDLDE2LDg2LDEwMCw4CiAgICBMSVNUQk9YICAgICAgICAgSURDX0RMTFNfTElTVCwxNiw5NiwxNDAsMTQwLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIiZFZGl0ZXIgc3VyY2xhc3NhZ2UiLElEQ19ETExTX0VESVRETEwsMTY0LDk2LDgyLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIiZTdXBwcmltZXIgc3VyY2xhc3NhZ2UiLElEQ19ETExTX1JFTU9WRURMTCwxNjQsMTE0LDgyLDE0CkVORAoKSUREX0xPQURPUkRFUiBESUFMT0cgRElTQ0FSREFCTEUgODAsIDkwLCAxMTAsIDkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJFZGl0IE92ZXJyaWRlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBPcmRyZSBkZSBjaGFyZ2VtZW50ICIsSURDX1NUQVRJQyw4LDQsOTQsNjYKICAgIENPTlRST0wgICAgICAgICAiJkluY2x1ZSAoV2luZSkiLElEQ19SQURfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAsMTYsMTQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiJk5hdGl2ZSAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMjQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiJkluY2x1ZSBwdWlzIG5hdGl2ZSIsSURDX1JBRF9CVUlMVElOX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDM0LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIk5hdGkmdmUgcHVpcyBpbmNsdWUiLElEQ19SQURfTkFUSVZFX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw0NCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImROlzYWN0aXbpIixJRENfUkFEX0RJU0FCTEUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiw1NCw3NSwxMAogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSyw4LDc0LDQ1LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIkFubnVsZXIiLElEQ0FOQ0VMLDU3LDc0LDQ1LDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBBc3NpZ25hdGlvbiBkZXMgbGVjdGV1cnMgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9EUklWRVMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTgsMjMyLDc2CiAgICBQVVNIQlVUVE9OICAgICAgIiZBam91dGVyLi4uIixJRENfQlVUVE9OX0FERCwxNSw5OCwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICImU3VwcHJpbWVyIixJRENfQlVUVE9OX1JFTU9WRSw1Niw5OCwzNywxNAogICAgUFVTSEJVVFRPTiAgICAgICJBdXRvJmTpdGVjdGlvbi4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5MSw5OCw1NSwxNAoKICAgIC8qIGVkaXRpbmcgZHJpdmUgZGV0YWlscyAqLwogICAgTFRFWFQgICAgICAgICAgICImQ2hlbWluIDoiLElEQ19TVEFUSUMsMTUsMTIzLDMwLDkKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQ5LDEyMCwxNTIsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZQYXJjb3VyaXIuLi4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMjA2LDEyMCw0MCwxMwoKICAgIExURVhUICAgICAgICAgICAiJlR5cGUgOiIsSURDX1NUQVRJQ19UWVBFLDE1LDEzOCwyMSwxMAogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19UWVBFLDQzLDEzNSw3Nyw2MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBMVEVYVCAgICAgICAgICAgIkxhYmVsIGV0IG51belybyBkZSBz6XJpZSIsSURDX0xBQkVMU0VSSUFMX1NUQVRJQywxNSwxNTUsOTUsMTAKCiAgICBQVVNIQlVUVE9OICAgICAgIiZBZmZpY2hhZ2UgYXZhbmPpIixJRENfQlVUVE9OX1NIT1dfSElERV9BRFZBTkNFRCwxODYsMTM2LDYwLDEzCiAgICBDT05UUk9MICAgICAgICAgIkF1dG9k6XRlY3Rpb24gZGVwdWlzIGxlICZsZWN0ZXVyIDoiLElEQ19SQURJT19BVVRPREVURUNULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxNjYsMTQwLDEwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfREVWSUNFLDI3LDE3NiwxNzQsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiUGEmcmNvdXJpci4uLiIsSURDX0JVVFRPTl9CUk9XU0VfREVWSUNFLDIwNiwxNzYsNDAsMTMKICAgIENPTlRST0wgICAgICAgICAiQXNzaWduZXIgJm1hbnVlbGxlbWVudCA6IixJRENfUkFESU9fQVNTSUdOLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxOTUsMTQwLDEwCgogICAgTFRFWFQgICAgICAgICAgICImTGFiZWwgOiIsSURDX1NUQVRJQ19MQUJFTCwzMywyMDgsNDAsMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9MQUJFTCw3NCwyMDUsNjcsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIk6wIGRlIHPpcmllIDoiLElEQ19TVEFUSUNfU0VSSUFMLDMzLDIyNSw0MCwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX1NFUklBTCw3NCwyMjEsNjcsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCgogICAgQ09OVFJPTCAgICAgICAgICJNb250cmVyIGxlcyBmaWNoaWVycyBjYWNo6XMiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjYwLDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBT6WxlY3Rpb24gZHUgcGlsb3RlICIsSURDX1NUQVRJQyw4LDQsMjQ0LDE5NQogICAgTFRFWFQgICAgICAgICAgICJT6WxlY3Rpb25uZXogdW4gcGlsb3RlIGF1ZGlvIGVuIGNvY2hhbnQgbGEgY2FzZSBlbiByZWdhcmQgZHUgcGlsb3RlIGTpc2ly6S4gROlzYWN0aXZleiBsZSBzb24gZW4gbmUgc+lsZWN0aW9ubmFudCBhdWN1biBwaWxvdGUuIExhIHPpbGVjdGlvbiBkZSBwaWxvdGVzIG11bHRpcGxlcyBuJ2VzdCBwYXMgcmVjb21tYW5k6WUuIENvbmZpZ3VyZXogbGUgcGlsb3RlIGVuIGVmZmVjdHVhbnQgdW4gY2xpY2sgZHJvaXQgZGVzc3VzLiIsSURDX1NUQVRJQywxNSwyMCwyMjcsNjAKICAgIENPTlRST0wgICAgICAgICAiTWF06XJpZWwiLElEQ19BVURJT19UUkVFLCJTeXNUcmVlVmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QLDE1LDYwLDE0MCwxMzAKICAgIFBVU0hCVVRUT04JICAgICJQYW5uZWF1IGRlIGNvbmZpZ3VyYXRpb24iLElEQ19BVURJT19DT05UUk9MX1BBTkVMLDE2MCw2MCw4NiwxNAogICAgR1JPVVBCT1ggICAgICAgICIgRGlyZWN0U291bmQgIixJRENfU1RBVElDLDgsMjA1LDI0NCw2MAogICAgTFRFWFQJICAgICJBY2PpbOlyYXRpb24gbWF06XJpZWxsZSA6ICIsSURDX1NUQVRJQywxNSwyMTUsOTAsMTAKICAgIENPTUJPQk9YCSAgICBJRENfRFNPVU5EX0hXX0FDQ0VMLDEwMCwyMTMsNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkVjaGFudGlsbG9uYWdlIChk6WZhdXQpIDoiLElEQ19TVEFUSUMsMTUsMjMyLDEzMCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX0RTT1VORF9SQVRFUywxMDAsMjMwLDM4LDc2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJCaXRzIHBhciDpY2hhbnRpbGxvbiA6IixJRENfU1RBVElDLDE1MywyMzIsODAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfQklUUywyMjMsMjMwLDI1LDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgICAgICJFbXVsYXRpb24gcGlsb3RlIixJRENfRFNPVU5EX0RSVl9FTVVMLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMjUwLDIzMCwxMApFTkQKCklERF9ERVNLVE9QX0lOVEVHUkFUSU9OIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBBcHBhcmVuY2UgIixJRENfU1RBVElDLDgsNCwyNDQsMTA2CiAgICBMVEVYVCAgICAgICAgICAgIlRo6G1lIDoiLElEQ19TVEFUSUMsMTUsMTYsMTMwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfVEhFTUVDT01CTywxNSwyNCwxMzAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkluc3RhbGxlciB1biB0aOhtZS4uLiIsSURDX1RIRU1FX0lOU1RBTEwsMTUyLDIzLDkzLDE0CiAgICBMVEVYVCAgICAgICAgICAgIkNvdWxldXIgOiIsSURDX1RIRU1FX0NPTE9SVEVYVCwxNSw0MCwxMTIsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9DT0xPUkNPTUJPLDE1LDQ4LDExMiwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiVGFpbGxlIDoiLElEQ19USEVNRV9TSVpFVEVYVCwxMzUsNDAsMTEwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfU0laRUNPTUJPLDEzNSw0OCwxMTAsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkl0ZW0gOiIsSURDX1NUQVRJQywxNSw2NCwxMTIsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19TWVNQQVJBTV9DT01CTywxNSw3NCwxMTIsMTIwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUCiAgICBMVEVYVCAgICAgICAgICAgIkNvdWxldXIgOiIsSURDX1NZU1BBUkFNX0NPTE9SX1RFWFQsMTM1LDY0LDI1LDgsV1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiIixJRENfU1lTUEFSQU1fQ09MT1IsMTM1LDc0LDI1LDEzLFdTX0RJU0FCTEVEIHwgQlNfT1dORVJEUkFXCiAgICBMVEVYVCAgICAgICAgICAgIlRhaWxsZSA6IixJRENfU1lTUEFSQU1fU0laRV9URVhULDE2Niw2NCwzMCw4LFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX1NZU1BBUkFNX1NJWkUsMTY2LDc0LDIzLDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUCB8IFdTX0RJU0FCTEVECiAgICBDT05UUk9MICAgICAgICAgIiIsSURDX1NZU1BBUkFNX1NJWkVfVUQsVVBET1dOX0NMQVNTLFVEU19TRVRCVUREWUlOVCB8IFdTX0RJU0FCTEVELDE4Nyw3NCwxNSwxMwogICAgUFVTSEJVVFRPTiAgICAgICJQb2xpY2UgOiIsSURDX1NZU1BBUkFNX0ZPTlQsMjA4LDc0LDM3LDEzLFdTX0RJU0FCTEVECiAgICBHUk9VUEJPWCAgICAgICAgIiBEb3NzaWVycyBzeXN06G1lICIsSURDX1NUQVRJQyw4LDExNCwyNDQsMTAwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9TRlBBVEhTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLCAxNSwxMjYsMjMwLDY0CiAgICBDT05UUk9MICAgICAgICAgIkxp6SDgIDoiLElEQ19MSU5LX1NGUEFUSCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1h8V1NfVEFCU1RPUHxXU19ESVNBQkxFRCwxNSwxOTUsNTAsMTMKICAgIEVESVRURVhUICAgICAgICAgSURDX0VESVRfU0ZQQVRILDY1LDE5NSwxNDUsMTMsRVNfQVVUT0hTQ1JPTEx8V1NfVEFCU1RPUHxXU19ESVNBQkxFRAogICAgUFVTSEJVVFRPTiAgICAgICJQYXJjb3VyaXIiLElEQ19CUk9XU0VfU0ZQQVRILDIxNSwxOTUsMzAsMTMsV1NfRElTQUJMRUQKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1dJTkVfVkVSU0lPTiAgICAgICAgIkNWUyIKICAgIElEU19UQUJfQVBQTElDQVRJT05TICAgICJBcHBsaWNhdGlvbnMiCiAgICBJRFNfVEFCX0RMTFMgICAgICAgICAgICAiQmlibGlvdGjocXVlcyIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICJMZWN0ZXVycyIKICAgIElEU19DSE9PU0VfUEFUSCAgICAgICAgICJWZXVpbGxleiBz6WxlY3Rpb25uZXIgbGUgculwZXJ0b2lyZSBkZSBkZXN0aW5hdGlvbi4iCiAgICBJRFNfSElERV9BRFZBTkNFRCAgICAgICAiQ2FjaGVyIGF2YW5j6XMiCiAgICBJRFNfU0hPV19BRFZBTkNFRCAgICAgICAiTW9udHJlciBhdmFuY+lzIgogICAgSURTX05PVEhFTUUgICAgICAgICAgICAgIihQYXMgZGUgdGjobWUpIgogICAgSURTX1RBQl9HUkFQSElDUyAgICAgICAgIkFmZmljaGFnZSIKICAgIElEU19UQUJfREVTS1RPUF9JTlRFR1JBVElPTiAiSW506WdyYXRpb24gYXZlYyBsZSBidXJlYXUiCiAgICBJRFNfVEFCX0FVRElPICAgICAgICAgICAiQXVkaW8iCiAgICBJRFNfVEFCX0FCT1VUICAgICAgICAgICAiwCBwcm9wb3MiCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAiQ29uZmlndXJhdGlvbiBkZSBXaW5lIgogICAgSURTX1dJTkVDRkdfVElUTEVfQVBQICAgIkNvbmZpZ3VyYXRpb24gZGUgV2luZSBwb3VyICVzIgogICAgSURTX1RIRU1FRklMRSAgICAgICAgICAgIkZpY2hpZXJzIGRlIHRo6G1lcyIKICAgIElEU19USEVNRUZJTEVfU0VMRUNUICAgICJT6WxlY3Rpb25uZXogdW4gZmljaGllciBkZSB0aOhtZSIKICAgIElEU19BVURJT19NSVNTSU5HICAgICAgICJBdWN1biBwaWxvdGUgYXVkaW8gbidlc3QgYWN0dWVsbGVtZW50IGTpZmluaS5cblxuTGUgcGlsb3RlIHJlY29tbWFuZOkgYSDpdOkgc+lsZWN0aW9ubukgcG91ciB2b3VzLlxuVm91cyBwb3V2ZXogdXRpbGlzZXIgY2UgcGlsb3RlIG91IGVuIHPpbGVjdGlvbm5lciB1biBhdXRyZSBzaSBkaXNwb25pYmxlLlxuXG5Wb3VzIGRldmV6IGNsaXF1ZXIgc3VyIEFwcGxpcXVlciBwb3VyIHF1ZSBsYSBz6WxlY3Rpb24gcHJlbm5lIGVmZmV0LiIKICAgIElEU19TSEVMTF9GT0xERVIgICAgICAgICJEb3NzaWVyIHN5c3TobWUiCiAgICBJRFNfTElOS1NfVE8gICAgICAgICAgICAiTGnpIOAiCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19ETExfV0FSTklORyAgICAgICAgICJMYSBtb2RpZmljYXRpb24gZGUgbCdvcmRyZSBkZSBjaGFyZ2VtZW50IGRlIGNldHRlIGJpYmxpb3Ro6HF1ZSBuJ2VzdCBwYXMgcmVjb21tYW5k6S5cbsp0ZXMtdm91cyBz+3IgZGUgdm91bG9pciBsZSBmYWlyZSA/IgogICAgSURTX0RMTF9XQVJOSU5HX0NBUFRJT04gIkF0dGVudGlvbiA6IGJpYmxpb3Ro6HF1ZSBzeXN06G1lIgogICAgSURTX0RMTF9OQVRJVkUgICAgICAgICAgIm5hdGl2ZSIKICAgIElEU19ETExfQlVJTFRJTiAgICAgICAgICJpbmNsdWUiCiAgICBJRFNfRExMX05BVElWRV9CVUlMVElOICAibmF0aXZlLCBpbmNsdWUiCiAgICBJRFNfRExMX0JVSUxUSU5fTkFUSVZFICAiaW5jbHVlLCBuYXRpdmUiCiAgICBJRFNfRExMX0RJU0FCTEVEICAgICAgICAiZOlzYWN0aXbpZSIKICAgIElEU19ERUZBVUxUX1NFVFRJTkdTICAgICJQYXJhbeh0cmVzIHBhciBk6WZhdXQiCiAgICBJRFNfRVhFQ1VUQUJMRV9GSUxURVIgICAiUHJvZ3JhbW1lcyBkZSBXaW5lICgqLmV4ZSwqLmV4ZS5zbylcMCouZXhlOyouZXhlLnNvXDAiCiAgICBJRFNfVVNFX0dMT0JBTF9TRVRUSU5HUyAiVXRpbGlzZXIgbGVzIHBhcmFt6HRyZXMgZ2xvYmF1eCIKICAgIElEU19TRUxFQ1RfRVhFQ1VUQUJMRSAgICJT6WxlY3Rpb25uZXogdW4gZmljaGllciBleOljdXRhYmxlIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfU0hBREVSX01PREVfSEFSRFdBUkUgICAgIk1hdOlyaWVsIgogICAgSURTX1NIQURFUl9NT0RFX05PTkUgICAgICAgICJBdWN1biIKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX0RSSVZFX1VOS05PV04gICAgICAgICAgICJE6XRlY3Rpb24gYXV0by4iCiAgICBJRFNfRFJJVkVfRklYRUQgICAgICAgICAgICAgIkRpc3F1ZSBkdXIgbG9jYWwiCiAgICBJRFNfRFJJVkVfUkVNT1RFICAgICAgICAgICAgIlBhcnRhZ2UgculzZWF1IgogICAgSURTX0RSSVZFX1JFTU9WQUJMRSAgICAgICAgICJMZWN0ZXVyIGRlIGRpc3F1ZXR0ZSIKICAgIElEU19EUklWRV9DRFJPTSAgICAgICAgICAgICAiQ0QtUk9NIgogICAgSURTX0RSSVZFX0xFVFRFUlNfRVhDRUVERUQgICJWb3VzIG5lIHBvdXZleiBwYXMgYWpvdXRlciBwbHVzIGRlIGxlY3RldXJzLlxuXG5VbmUgbGV0dHJlIGRlIEEg4CBaIGRvaXQg6nRyZSBhc3NpZ27pZSDgIGNoYXF1ZSBsZWN0ZXVyIDsgdm91cyBuZSBwb3V2ZXogZG9uYyBwYXMgZW4gYXZvaXIgcGx1cyBkZSAyNi4iCiAgICBJRFNfU1lTVEVNX0RSSVZFX0xBQkVMICAgICAgIkxlY3RldXIgc3lzdOhtZSIKICAgIElEU19DT05GSVJNX0RFTEVURV9DICAgICAgICAiynRlcy12b3VzIHP7ciBkZSB2b3Vsb2lyIHN1cHByaW1lciBsZSBsZWN0ZXVyIEOgP1xuXG5MYSBwbHVwYXJ0IGRlcyBhcHBsaWNhdGlvbnMgV2luZG93cyBjb21wdGVudCBzdXIgbCdleGlzdGVuY2UgZGUgY2UgbGVjdGV1ciBldCBuZSBmb25jdGlvbm5lcm9udCBwYXMgcydpbCBuJ2V4aXN0ZSBwYXMuIFNpIHZvdXMgY29udGludWV6LCBuJ291YmxpZXogcGFzIGRlIGxlIHJlY3LpZXKgISIKICAgIElEU19DT0xfRFJJVkVMRVRURVIgICAgICAgICAiTGV0dHJlIgogICAgSURTX0NPTF9EUklWRU1BUFBJTkcgICAgICAgICJBc3NpZ25hdGlvbiIKICAgIElEU19OT19EUklWRV9DICAgICAgICAgICAgICAiVm91cyBuZSBkaXNwb3NleiBwYXMgZGUgbGVjdGV1ciBDIGNlIHF1aSBwZXV0IHBvc2VyIGRlcyBwcm9ibOhtZXMuXG5cbk4nb3VibGlleiBwYXMgZCdlbiByZWNy6WVyIHVuIGVuIGNsaXF1YW50IHN1ciBsZSBib3V0b24gq6BBam91dGVyoLsgZGFucyBsJ29uZ2xldCCroExlY3RldXJzoLugIVxuIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRFNfQUNDRUxfRlVMTCAgICAgICAgICAgICAgIkNvbXBs6HRlIgogICAgSURTX0FDQ0VMX1NUQU5EQVJEICAgICAgICAgICJTdGFuZGFyZCIKICAgIElEU19BQ0NFTF9CQVNJQyAgICAgICAgICAgICAiQmFzaXF1ZSIKICAgIElEU19BQ0NFTF9FTVVMQVRJT04gICAgICAgICAiyW11bGF0aW9uIgogICAgSURTX0RSSVZFUl9BTFNBICAgICAgICAgICAgICJQaWxvdGUgQUxTQSIKICAgIElEU19EUklWRVJfRVNPVU5EICAgICAgICAgICAiUGlsb3RlIEVzb3VuRCIKICAgIElEU19EUklWRVJfT1NTICAgICAgICAgICAgICAiUGlsb3RlIE9TUyIKICAgIElEU19EUklWRVJfSkFDSyAgICAgICAgICAgICAiUGlsb3RlIEpBQ0siCiAgICBJRFNfRFJJVkVSX05BUyAgICAgICAgICAgICAgIlBpbG90ZSBOQVMiCiAgICBJRFNfRFJJVkVSX0FVRElPSU8gICAgICAgICAgIlBpbG90ZSBBdWRpbyBJTyAoU29sYXJpcykiCiAgICBJRFNfRFJJVkVSX0NPUkVBVURJTyAgICAgICAgIlBpbG90ZSBDb3JlQXVkaW8iCiAgICBJRFNfT1BFTl9EUklWRVJfRVJST1IgICAgICAgIkltcG9zc2libGUgZCdvdXZyaXIgJXOgISIKICAgIElEU19TT1VORERSSVZFUlMgICAgICAgICAgICAiUGlsb3RlcyBhdWRpbyIKICAgIElEU19ERVZJQ0VTX1dBVkVPVVQgICAgICAgICAiUOlyaXBo6XJpcXVlcyBkZSBzb3J0aWUgV2F2ZSIKICAgIElEU19ERVZJQ0VTX1dBVkVJTiAgICAgICAgICAiUOlyaXBo6XJpcXVlcyBkJ2VudHLpZSBXYXZlIgogICAgSURTX0RFVklDRVNfTUlESU9VVCAgICAgICAgICJQ6XJpcGjpcmlxdWVzIGRlIHNvcnRpZSBNSURJIgogICAgSURTX0RFVklDRVNfTUlESUlOICAgICAgICAgICJQ6XJpcGjpcmlxdWVzIGQnZW50cullIE1JREkiCiAgICBJRFNfREVWSUNFU19BVVggICAgICAgICAgICAgIlDpcmlwaOlyaXF1ZXMgQXV4IgogICAgSURTX0RFVklDRVNfTUlYRVIgICAgICAgICAgICJQ6XJpcGjpcmlxdWVzIGRlIG1peGFnZSIKICAgIElEU19VTkFWQUlMQUJMRV9EUklWRVIgICAgICAiVW4gcGlsb3RlIG5vbiBkaXNwb25pYmxlIGEg6XTpIHRyb3V26SBkYW5zIGxhIGJhc2UgZGUgcmVnaXN0cmWgIVxuXG5Tb3VoYWl0ZXotdm91cyBzdXBwcmltZXIgq6Alc6C7IGRlIGxhIGJhc2UgZGUgcmVnaXN0cmWgPyIKICAgIElEU19XQVJOSU5HICAgICAgICAgICAgICAgICAiQXR0ZW50aW9uIgpFTkQKClNUUklOR1RBQkxFIERJU0NBUkRBQkxFCkJFR0lOCiAgICBJRENfU1lTUEFSQU1TX0JVVFRPTiAgICAgICAgICAgICJDb250cvRsZSBsZSBmb25kIgogICAgSURDX1NZU1BBUkFNU19CVVRUT05fVEVYVCAgICAgICAiQ29udHL0bGUgbGUgdGV4dGUiCiAgICBJRENfU1lTUEFSQU1TX0RFU0tUT1AgICAgICAgICAgICJCdXJlYXUiCiAgICBJRENfU1lTUEFSQU1TX01FTlUgICAgICAgICAgICAgICJGb25kIGR1IG1lbnUiCiAgICBJRENfU1lTUEFSQU1TX01FTlVfVEVYVCAgICAgICAgICJUZXh0ZSBkdSBtZW51IgogICAgSURDX1NZU1BBUkFNU19TQ1JPTExCQVIgICAgICAgICAiQmFycmUgZGUgZOlmaWxlbWVudCIKICAgIElEQ19TWVNQQVJBTVNfU0VMRUNUSU9OICAgICAgICAgIkZvbmQgZGUgbGEgc+lsZWN0aW9uIgogICAgSURDX1NZU1BBUkFNU19TRUxFQ1RJT05fVEVYVCAgICAiVGV4dGUgZGUgbGEgc+lsZWN0aW9uIgogICAgSURDX1NZU1BBUkFNU19UT09MVElQICAgICAgICAgICAiRm9uZCBkZSBsJ2luZm9idWxsZSIKICAgIElEQ19TWVNQQVJBTVNfVE9PTFRJUF9URVhUICAgICAgIlRleHRlIGRlIGwnaW5mb2J1bGxlIgogICAgSURDX1NZU1BBUkFNU19XSU5ET1cgICAgICAgICAgICAiRm9uZCBkZSBsYSBmZW7qdHJlIgogICAgSURDX1NZU1BBUkFNU19XSU5ET1dfVEVYVCAgICAgICAiVGV4dGUgZGUgbGEgZmVu6nRyZSIKICAgIElEQ19TWVNQQVJBTVNfQUNUSVZFX1RJVExFICAgICAgIkJhcnJlIGRlIHRpdHJlIGFjdGl2ZSIKICAgIElEQ19TWVNQQVJBTVNfQUNUSVZFX1RJVExFX1RFWFQgIlRleHRlIGRlIGxhIGJhcnJlIGRlIHRpdHJlIGFjdGl2ZSIKICAgIElEQ19TWVNQQVJBTVNfSU5BQ1RJVkVfVElUTEUgICAgIkJhcnJlIGRlIHRpdHJlIGluYWN0aXZlIgogICAgSURDX1NZU1BBUkFNU19JTkFDVElWRV9USVRMRV9URVhUICJUZXh0ZSBkZSBsYSBiYXJyZSBkZSB0aXRyZSBpbmFjdGl2ZSIKRU5ECg==