LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogU3BhbmlzaCBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDAzLDIwMDQgSm9z6SBNYW51ZWwgRmVycmVyIE9ydGl6CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogKgogKi8KCkxBTkdVQUdFIExBTkdfU1BBTklTSCwgU1VCTEFOR19ORVVUUkFMCgpJRERfQUJPVVRDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgICJWZXJzafNuIGRlIFdpbmU6IixJRENfU1RBVElDLDExOSwxNyw2MCw4CiAgICBMVEVYVCAgICAgICAgICAgIkNWUyIsSURDX1dJTkVWRVIsMTc5LDE3LDU2LDgKICAgIENPTlRST0wgICAgICAgICBJREJfV0lORSxJRENfU1RBVElDLCJTdGF0aWMiLFNTX0JJVE1BUCB8IFNTX0NFTlRFUklNQUdFIHwgCiAgICAgICAgICAgICAgICAgICAgU1NfUkVBTFNJWkVJTUFHRSB8IFdTX0JPUkRFUiwxNSwxNywxNTcsMTExLCBXU19FWF9UUkFOU1BBUkVOVAogICAgTFRFWFQgICAgICAgICAgICJodHRwOi8vd3d3LndpbmVocS5vcmcvIixJRENfU1RBVElDLDExOSwzMSwxMDYsOAogICAgR1JPVVBCT1ggICAgICAgICJJbmZvcm1hY2nzbiIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgQ1RFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDcyCkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICJDb25maWd1cmFjafNuIGRlIGFwbGljYWNpb25lcyIsSURDX1NUQVRJQywgOCw0LDI0NCwyNDAKICAgIExURVhUICAgICAgICAgICAiV2luZSBwZXJtaXRlIGEgbGFzIGFwbGljYWNpb25lcyBXaW5kb3dzIGltaXRhciBkaXN0aW50YXMgdmVyc2lvbmVzIHkgZXN0aWxvcyBkZSBXaW5kb3dzIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDIwLDIyNywyMAogICAgQ09OVFJPTCAgICAgICAgICJBcGxpY2FjaW9uZXMiLElEQ19BUFBfVFJFRVZJRVcsIlN5c1RyZWVWaWV3MzIiLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBMVlNfTElTVCB8IExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUywKICAgICAgICAgICAgICAgICAgICAxNSw0MCwyMzAsMTQwCiAgICBQVVNIQlVUVE9OICAgICAgIiZB8WFkaXIgYXBsaWNhY2nzbi4uLiIsSURDX0FQUF9BRERBUFAsIDkwLDE4NCw3NSwxNAogICAgUFVTSEJVVFRPTiAgICAgICImRWxpbWluYXIgYXBsaWNhY2nzbi4uLiIsSURDX0FQUF9SRU1PVkVBUFAsIDE3MCwxODQsNzUsMTQKICAgIExURVhUICAgICAgICAgICAiVmVyc2nzbiBkZSAmV2luZG93czoiLElEQ19TVEFUSUMsMTcsMjA0LDU4LDE2CiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTlZFUiw4MywyMDIsMTYzLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCAgICAKICAgIExURVhUICAgICAgICAgICAiVmVyc2nzbiBkZSAmRE9TOiIsSURDX1NUQVRJQywxNywyMjMsNTcsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ET1NWRVIsODMsMjI0LDE2Myw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKRU5ECgpJRERfR1JBUEhDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAgICJQcm9mdW5kaWRhZCBkZSBjb2xvcjogIixJRENfU1RBVElDLDgsMTAsNzAsMzAKICAgIENPTUJPQk9YCSAgICBJRENfU0NSRUVOX0RFUFRILDgwLDgsMTcwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wgICAgICAgICJQZXJtaXRpciBhIGxvcyBwcm9ncmFtYXMgRGlyZWN0WCBldml0YXIgcXVlIGVsIHJhdPNuIHNhbGdhIGRlIHN1IHZlbnRhbmEiLElEQ19EWF9NT1VTRV9HUkFCLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMzUsMjMwLDgKICAgIENPTlRST0wgICAgICAgICJIYWJpbGl0YXIgZG9ibGUgYnVmZmVyIGRlIGVzY3JpdG9yaW8iLElEQ19ET1VCTEVfQlVGRkVSLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsNDUsMjMwLDgKCiAgICBHUk9VUEJPWCAgICAgICAgIiBDb25maWd1cmFjafNuIGRlIHZlbnRhbmFzICIsSURDX1NUQVRJQyw4LDI1LDI0NCwxMjAKCiAgICAvKiBGSVhNRTogdGhlIHdvcmRpbmcgb2YgdGhpcyBleHBsYW5hdGlvbiBjb3VsZCBiZSBhIGxvdCBiZXR0ZXIgKi8KICAgIExURVhUICAgICAgICAgICAiUHVlZGUgZWxlZ2lyIGVudHJlIGVtdWxhciB1biBlc2NyaXRvcmlvIGRlIHZlbnRhbmFzLiBkb25kZSB0b2RhcyBsYXMgdmVudGFuYXMgZXN04XMgY29uZmluYWRhcyBhIHVuYSAncGFudGFsbGEgdmlydHVhbCcsIG8gYmllbiBxdWUgbGFzIHZlbnRhbmFzIHNlIHNpdPplbiBlbiBzdSBlc2NyaXRvcmlvIGVzdOFuZGFyLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSw3MywyMjgsMjgKICAgIExURVhUICAgICAgICAgICAiVGFtYfFvIGRlbCBlc2NyaXRvcmlvOiIsSURDX0RFU0tUT1BfU0laRSwxNSwxMTUsNDQsMTYsV1NfRElTQUJMRUQKICAgIExURVhUICAgICAgICAgICAiWCIsSURDX0RFU0tUT1BfQlksMTA4LDExNSw4LDgsV1NfRElTQUJMRUQKICAgIENPTlRST0wgICAgICAgICAiRW11bGFyIHVuIGVzY3JpdG9yaW8gdmlydHVhbCIsSURDX0VOQUJMRV9ERVNLVE9QLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMTAwLDIzMCwxMAoKICAgIEVESVRURVhUICAgICAgICBJRENfREVTS1RPUF9XSURUSCw2NCwxMTUsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsMTE1LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIlJlZW1wbGF6b3MgZGUgRExMIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIkNhZGEgbGlicmVy7WEgZGUgZW5sYWNlIGRpbuFtaWNvIHNlIHB1ZWRlIGVzcGVjaWZpY2FyIHBhcmEgcXVlIHNlYSBsYSBpbnRlcm5hIChwcm9wb3JjaW9uYWRhIHBvciBXaW5lKSBvIGxhIG5hdGl2YSAob2J0ZW5pZGEgZGUgV2luZG93cyBvIHByb3BvcmNpb25hZGEgcG9yIGxhIGFwbGljYWNp824pLiIKICAgICAgICAgICAgICAgICAgICAsICBJRENfU1RBVElDLDE1LDE3LDIyOCwzMgogICAgTElTVEJPWCAgICAgICAgIElEQ19ETExTX0xJU1QsMTUsNTAsMTQyLDE4NyxXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgV1NfVlNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJPcmRlbiBkZSBjYXJnYToiLklEQ19TVEFUSUMsMTYzLDUwLDM3LDgKICAgIENPTlRST0wgICAgICAgICAiJkludGVybmEgKFdpbmUpIixJRENfUkFEX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQLDE2Myw2NSw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICImTmF0aXZhIChXaW5kb3dzKSIsSURDX1JBRF9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNjMsODAsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiSSZudGVybmEgeSBkZXNwdelzIE5hdGl2YSIsSURDX1JBRF9CVUlMVElOX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2Myw5NSw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJOJmF0aSZ2YSB5IGRlc3B16XMgSW50ZXJuYSIsSURDX1JBRF9OQVRJVkVfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2MywxMTAsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiJkRlc2hhYmlsaXRhciIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYzLDEyNSw3NSwxMAogICAgUFVTSEJVVFRPTiAgICAgIiZB8WFkaXIgcmVlbXBsYXpvIHBhcmE6IixJRENfRExMU19BRERETEwsIDE2MywxODQsODIsMTQKICAgIENPTUJPQk9YICAgICAgICBJRENfRExMQ09NQk8sMTYzLDIwNCw4MiwxNCxDQlNfRFJPUERPV04gfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCB8IENCU19TT1JUIHwgQ0JTX0xPV0VSQ0FTRQogICAgUFVTSEJVVFRPTiAgICAgIiZFbGltaW5hciByZWVtcGxhem8iLElEQ19ETExTX1JFTU9WRURMTCwxNjMsMjI0LDgyLDE0CkVORAoKSUREX1NZU1RFTUNGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiVW5pZGFkZXMiLElEQ19TVEFUSUMsOCw0LDI0NCwxMjAKICAgIExJU1RCT1ggICAgICAgICBJRENfTElTVF9EUklWRVMsMTUsMjMsMTc5LDkwLFdTX1ZTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiJkHxYWRpciIsSURDX0RSSVZFX0FERCwxOTcsMjIsNTAsMjIKICAgIFBVU0hCVVRUT04gICAgICAiRSZsaW1pbmFyIixJRENfRFJJVkVfUkVNT1ZFLDE5Nyw1MSw1MCwyMgogICAgUFVTSEJVVFRPTiAgICAgICImRWRpdGFyIixJRENfRFJJVkVfRURJVCwxOTcsODAsNTAsMjIKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiTWFwZW9zIGRlIHVuaWRhZCIsSURDX1NUQVRJQyw3LDEwNywyNDYsMTEyCiAgICBMSVNUQk9YICAgICAgICAgSURDX0xJU1RfRFJJVkVTLDE0LDExOCwyMzIsNzYsTEJTX1NPUlQgfCBMQlNfTk9JTlRFR1JBTEhFSUdIVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIkHxYWRpci4uLiIsSURDX0JVVFRPTl9BREQsMTQsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkVsaW1pbmFyIixJRENfQlVUVE9OX1JFTU9WRSw1NSwxOTksMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiRWRpdGFyLi4uIixJRENfQlVUVE9OX0VESVQsOTcsMTk5LDM3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkF1dG9kZXRlY3Rhci4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5MywxOTksNTMsMTQKICAgIExURVhUICAgICAgICAgICJBRFZFUlRFTkNJQTogTm8gcGFyZWNlIHRlbmVyIHVuYSB1bmlkYWQgQyBkZWZpbmlkYS4gUHVsc2UgJ0HxYWRpci4uLicgcGFyYSBh8WFkaXIgdW5hLiIsIElEU19EUklWRV9OT19DLCA3LDIyMywyNTAsMTEwCkVORAoKSUREX0RSSVZFX0VESVQgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyMDMsIDE2OQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJDb25maWd1cmFjafNuIGRlIHVuaWRhZCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgREVGUFVTSEJVVFRPTiAgICImQWNlcHRhciIsSURfQlVUVE9OX09LLDE0NSwxNTAsNTAsMTYKICAgIExURVhUICAgICAgICAgICAiTGV0cmE6IixJRENfU1RBVElDLDUsMjMsMjYsOQogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDYzLDEwOCw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJFdGlxdWV0YToiLElEQ19TVEFUSUNfTEFCRUwsMzMsMTExLDI5LDEyCiAgICBMVEVYVCAgICAgICAgICAgIk66IHNlcmllOiIsSURDX1NUQVRJQ19TRVJJQUwsMzMsMTI3LDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfU0VSSUFMLDYzLDEyNCw3OCwxMyxFU19BVVRPSFNDUk9MTAogICAgTFRFWFQgICAgICAgICAgICJUaXBvOiIsSURDX1NUQVRJQ19UWVBFLDUsMzksMjEsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDMxLDUsMTE3LDEzLEVTX0FVVE9IU0NST0xMCiAgICBMVEVYVCAgICAgICAgICAgIlJ1dGE6IixJRENfU1RBVElDLDUsOCwyMCw5CiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX0xFVFRFUiwzMSwyMCw3Nyw2MCxDQlNfRFJPUERPV05MSVNUICB8CiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiRXhhbWluYXIuLi4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMTU0LDUsNDQsMTMKICAgIENPTUJPQk9YICAgICAgICBJRENfQ09NQk9fVFlQRSwzMSwzNiw3Nyw2MCxDQlNfRFJPUERPV05MSVNUIHwKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJNb3N0cmFyIGF2YW56YWRhIixJRENfQlVUVE9OX1NIT1dfSElERV9BRFZBTkNFRCwxMzQsMzQsNjAsMTYKICAgIENPTlRST0wgICAgICAgICAiQXV0b2RldGVjdGFyIGRlc2RlIGRpc3Bvc2l0aXZvOiIsSURDX1JBRElPX0FVVE9ERVRFQ1QsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDIxLDY5LDExNSwxMAogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSwzMyw3OSwxMDgsMTMsRVNfQVVUT0hTQ1JPTEwKICAgIFBVU0hCVVRUT04gICAgICAiRXhhbWluYXIuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwxNDgsNzksNDMsMTMKICAgIENPTlRST0wgICAgICAgICAiQXNpZ25hciBtYW51YWxtZW50ZToiLElEQ19SQURJT19BU1NJR04sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OLDIxLDk4LDY5LDEwCiAgICBHUk9VUEJPWCAgICAgICAgIkV0aXF1ZXRhIHkgbvptZXJvIGRlIHNlcmllIixJRENfQk9YX0xBQkVMU0VSSUFMLDYsNTgsMTg5LDg1CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVCAgICAgICJNYW5lamFkb3IgZGUgYXVkaW86IixJRENfU1RBVElDLDEwLDIwLDYwLDE2CiAgICBDT01CT0JPWAlJRENfQVVESU9fRFJJVkVSLDcwLDE4LDg1LDg1LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAiQXV0b2RldGVjdGFyIixJRENfQVVESU9fQVVUT0RFVEVDVCwxNzAsMjAsNDksMTQKRU5ECgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQpCRUdJTgogICAgSURTX1dJTkVfVkVSU0lPTiAgICAgICAgIkNWUyIKICAgIElEU19UQUJfR0VORVJBTCAgICAgICAgICJHZW5lcmFsIgogICAgSURTX1RBQl9ETExTICAgICAgICAgICAgIkxpYnJlcu1hcyIKICAgIElEU19UQUJfRFJJVkVTICAgICAgICAgICJVbmlkYWRlcyIKRU5ECg==