LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogSHVuZ2FyaWFuIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IDIwMDYgQW5kcmFzIEtvdmFjcwogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICoKICovCgojaW5jbHVkZSAiY29uZmlnLmgiICAgLyogTmVlZGVkIGZvciB0aGUgUEFDS0FHRV9TVFJJTkcgZGVmaW5pdGlvbiAqLwojaW5jbHVkZSAicmVzb3VyY2UuaCIKCkxBTkdVQUdFIExBTkdfSFVOR0FSSUFOLCBTVUJMQU5HX0RFRkFVTFQKCklERF9BQk9VVENGRyBESUFMT0dFWCAwLCAwLCAyNjAsIDIyMApTVFlMRSBXU19DSElMRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBDT05UUk9MICAgICAgICAgIiIsIElEQ19BQlRfUEFORUwsICJTVEFUSUMiLCBTU19PV05FUkRSQVcsIDAsIDAsIDI2MCwgMTQwCiAgICBMVEVYVCAgICAgICAgICAgUEFDS0FHRV9OQU1FLElEQ19BQlRfVElUTEVfVEVYVCwxMDUsMzAsNTUsMzAKICAgIExURVhUICAgICAgICAgICBQQUNLQUdFX1ZFUlNJT04sSURDX0FCVF9QQU5FTF9URVhULDE2MCw0MywxNDAsOAogICAgQ09OVFJPTCAgICAgICAgICIiLElEQ19BQlRfV0VCX0xJTkssIlN5c0xpbmsiLCBMV1NfVFJBTlNQQVJFTlQsIDEwNSw1MywxMDYsOAogICAgTFRFWFQgICAgICAgICAgICJFeiBhIGb8Z2d26W55a/ZudnThciBzemFiYWQgc3pvZnR2ZXI7IHN6YWJhZG9uIHRlcmplc3p0aGV0aSwgdmFneSBt82Rvc+10aGF0amEgYSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpc3plbmMgZmVsdOl0ZWxlaSBzemVyaW50LCBhbWl0IGEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGvpc3rtdGV0dDsgbWluZCBhIDIuMSB2ZXJ6afNq+iBsaWNlbnN6LCB2YWd5ICh24Wxhc3p04XNhIHN6ZXJpbnQpIGLhcm1lbHkga+lz9WJiaSB2ZXJ6afMgaGFzem7hbGhhdPMuIiwKICAgICAgICAgICAgICAgICAgICBJRENfQUJUX0xJQ0VOU0VfVEVYVCwxMDUsNjQsMTQ1LDYwCiAgICBHUk9VUEJPWCAgICAgICAgIiBXaW5kb3dzIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbiAiLCBJRENfU1RBVElDLCAxNSwgMTU1LCAyMzAsIDU1CiAgICBMVEVYVCAgICAgICAgICAgIk93bmVyOiIsIElEQ19TVEFUSUMsIDIyLCAxNzEsIDQwLCAyMAogICAgRURJVFRFWFQgICAgICAgIElEQ19BQlRfT1dORVIsIDc1LCAxNzEsIDE2MCwgMTMsIEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJPcmdhbml6YXRpb246IiwgSURDX1NUQVRJQywgMjIsIDE4NSwgNTAsIDIwCiAgICBFRElUVEVYVCAgICAgICAgSURDX0FCVF9PUkcsIDc1LCAxODUsIDE2MCwgMTMsIEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUApFTkQKCklERF9BUFBDRkcgRElBTE9HICAwLCAwLCAyNjAsIDIyMApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIEFsa2FsbWF64XMgYmXhbGztdOFzb2sgIixJRENfU1RBVElDLCA4LDQsMjQ0LDIxMAogICAgTFRFWFQgICAgICAgICAgICJBIFdpbmUga/xs9m5i9nr1IFdpbmRvd3MgdmVyemnza+ludCB0dWQgdmlzZWxrZWRuaSBhbGthbG1heuFzb25r6W50LiAgRXogYSBm/Gwg9nNzemVr9nR0ZXTpc2JlbiDhbGwgYSBG/GdndulueWv2bnl2dOFyIOlzIEdyYWZpa2EgZvxsbGVsLCBob2d5IGxlaGV09XbpIHRlZ3llIGEgcmVuZHN6ZXJzemludPsgdmFneSBhbGthbG1heuFzb25r6W50aSBiZeFsbO104XNva2F0IGV6ZWtlbiBhIGb8bGVrZW4gaXMuIiwKICAgICAgICAgICAgICAgICAgICBJRENfU1RBVElDLDE1LDE1LDIyNywzNQogICAgQ09OVFJPTCAgICAgICAgICJBbGthbG1heuFzb2siLElEQ19BUFBfTElTVFZJRVcsIlN5c0xpc3RWaWV3MzIiLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBMVlNfTElTVCB8IExWU19TSU5HTEVTRUwgfCBMVlNfU0hPV1NFTEFMV0FZUywKICAgICAgICAgICAgICAgICAgICAxNSw1MCwyMzAsMTIwCiAgICBQVVNIQlVUVE9OCSAgICAiJkFsay4gaG96euFhZOFzLi4uIixJRENfQVBQX0FEREFQUCwgOTAsMTc0LDc1LDE0CiAgICBQVVNIQlVUVE9OCSAgICAiQWxrLiAmZWx04XZvbO104XNhIixJRENfQVBQX1JFTU9WRUFQUCwgMTcwLDE3NCw3NSwxNAogICAgTFRFWFQgICAgICAgICAgICImV2luZG93cyB2ZXJ6afM6IixJRENfU1RBVElDLDE3LDE5Niw1OCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTlZFUiw4MywxOTQsMTYzLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUCAgICAKRU5ECgpJRERfR1JBUEhDRkcgRElBTE9HICAwLCAwLCAyNjAsIDIyMApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICIgQWJsYWtiZeFsbO104XNvayAiLElEQ19TVEFUSUMsOCw0LDI0NCw4NAogICAgQ09OVFJPTCAgICAgIkF1dG9tYXRpY2FsbHkgY2FwdHVyZSB0aGUgJm1vdXNlIGluIGZ1bGwtc2NyZWVuIHdpbmRvd3MiLElEQ19GVUxMU0NSRUVOX0dSQUIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwyMCwyMzAsOAogICAgQ09OVFJPTCAgICAgIkFsbG93IHRoZSB3aW5kb3cgbWFuYWdlciB0byAmZGVjb3JhdGUgdGhlIHdpbmRvd3MiLElEQ19FTkFCTEVfREVDT1JBVEVELCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsMTUsMzIsMjMwLDgKICAgIENPTlRST0wgICAgICJBeiBhYmxha2tlemVs9SBrZXplbGhldGkgYXogYWJsYWtva2F0IixJRENfRU5BQkxFX01BTkFHRUQsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSw0NCwyMzAsOAogICAgQ09OVFJPTCAgICAgIlZpcnR14WxpcyBhc3p0YWwgZW11bOFs4XNhIixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICBCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDU2LDIzMCw4CiAgICBMVEVYVCAgICAgICAiQWJsYWtt6XJldDoiLElEQ19ERVNLVE9QX1NJWkUsMTUsNzAsNDQsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgIlgiLElEQ19ERVNLVE9QX0JZLDEwOSw3MCw4LDgsV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgIElEQ19ERVNLVE9QX1dJRFRILDY0LDY4LDQwLDEyLEVTX0FVVE9IU0NST0xMIHwgRVNfTlVNQkVSIHwgV1NfRElTQUJMRUQKICAgIEVESVRURVhUICAgIElEQ19ERVNLVE9QX0hFSUdIVCwxMTcsNjgsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoKICAgIEdST1VQQk9YICAgICIgRGlyZWN0M0QgIixJRENfU1RBVElDLDgsOTUsMjQ0LDQ5CiAgICBMVEVYVCAgICAgICAiVmVydGV4IFNoYWRlciB04W1vZ2F04XM6ICIsSURDX1NUQVRJQywxNSwxMTAsODAsMzIKICAgIENPTUJPQk9YICAgIElEQ19EM0RfVlNIQURFUl9NT0RFLDEwMCwxMDgsMTQ1LDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgIlBpeGVsIFNoYWRlciBlbmdlZOlseWV66XNlIChoYSB04W1vZ2F0amEgYSBoYXJkdmVyKSIsSURDX0QzRF9QU0hBREVSX01PREUsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMjYsMjMwLDEwCgogICAgR1JPVVBCT1ggICAgIiBTY3JlZW4gJlJlc29sdXRpb24gIixJRENfU1RBVElDLDgsMTUxLDI0NCw2MwogICAgQ09OVFJPTCAgICAgIiIsIElEQ19SRVNfVFJBQ0tCQVIsICJtc2N0bHNfdHJhY2tiYXIzMiIsV1NfVEFCU1RPUCwxMiwxNjEsMTg3LDE1CiAgICBFRElUVEVYVCAgICBJRENfUkVTX0RQSUVESVQsMjA0LDE2MSwyMywxMyxFU19OVU1CRVJ8V1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgImRwaSIsSURDX1NUQVRJQywyMzUsMTYzLDEwLDgKICAgIExURVhUICAgICAgICJUaGlzIGlzIGEgc2FtcGxlIHRleHQgdXNpbmcgMTAgcG9pbnQgVGFob21hIixJRENfUkVTX0ZPTlRfUFJFVklFVywxNSwxODEsMjMwLDI4CkVORAoKSUREX0RMTENGRyBESUFMT0cgIDAsIDAsIDI2MCwgMjIwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgRExMIGZlbPtsYu1y4Wzhc29rICIsSURDX1NUQVRJQyw4LDQsMjQ0LDIxMAogICAgTFRFWFQgICAgICAgICAgICJBIGRpbmFtaWt1cyBjc2F0b2zhc/ogZvxnZ3bpbnlr9m55dnThcmFrYXQga2kgbGVoZXQgduFsYXN6dGFuaSBlZ3llbmvpbnQgaG9neSBiZelw7XRldHRlayAoYSBXaW5lIGJpenRvc+10amEpLCB2YWd5IG5hdO12YWsgKGEgd2luZG93c2LzbCBueWVydCwgdmFneSBheiBhbGthbG1heuFzIGJpenRvc+10amEpLiIKICAgICAgICAgICAgICAgICAgICAsSURDX1NUQVRJQywxNiwxNiwyMjAsMzIKICAgIExURVhUICAgICAgICAgICAi2mogZmVs/Gxi7XLhbOFzIGv2bnl2dOFyaG96OiIsSURDX1NUQVRJQywxNiw1OCwxMDAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19ETExDT01CTywxNiw2OCwxNDAsMTQsQ0JTX0RST1BET1dOIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVCB8IENCU19MT1dFUkNBU0UKICAgIFBVU0hCVVRUT04gICAgICAiSG96euEmYWThcyIsSURDX0RMTFNfQURERExMLCAxNjQsNjgsODIsMTMKICAgIExURVhUICAgICAgICAgICAiTOl0ZXr1IGZlbPxsYu1y4Wzhc29rOiIsSURDX1NUQVRJQywxNiw4NiwxMDAsOAogICAgTElTVEJPWCAgICAgICAgIElEQ19ETExTX0xJU1QsMTYsOTYsMTQwLDExMixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgV1NfVlNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICJTeiZlcmtlc3p06XMiLElEQ19ETExTX0VESVRETEwsMTY0LDk2LDgyLDE0CiAgICBQVVNIQlVUVE9OICAgICAgIkUmbHThdm9s7XThcyIsSURDX0RMTFNfUkVNT1ZFRExMLDE2NCwxMTQsODIsMTQgCkVORAoKSUREX0xPQURPUkRFUiBESUFMT0cgODAsIDkwLCAxMTAsIDkyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJGZWz8bGLtcuFs4XMgc3plcmtlc3p06XNlIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBCZXT2bHTpc2kgc29ycmVuZCAiLElEQ19TVEFUSUMsOCw0LDk0LDY2CiAgICBDT05UUk9MICAgICAgICAgIiZCZelw7XRldHQgKFdpbmUpIixJRENfUkFEX0JVSUxUSU4sIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQLDE2LDE0LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIiZOYXTtdiAoV2luZG93cykiLElEQ19SQURfTkFUSVZFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsMjQsNzUsMTAKICAgIENPTlRST0wgICAgICAgICAiQmXpcO10ZXQmdCwgbmF07XYiLElEQ19SQURfQlVJTFRJTl9OQVRJVkUsIkJ1dHRvbiIsIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwzNCw3NSwxMAogICAgQ09OVFJPTCAgICAgICAgICJOYXTtJnYsIGJl6XDtdGV0dCIsSURDX1JBRF9OQVRJVkVfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDQ0LDc1LDEwCiAgICBDT05UUk9MICAgICAgICAgIlRpbHThJnMiLElEQ19SQURfRElTQUJMRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDU0LDc1LDEwCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDgsNzQsNDUsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiTelnc2UiLElEQ0FOQ0VMLDU3LDc0LDQ1LDE0LFdTX0dST1VQCkVORAoKSUREX0RSSVZFQ0ZHIERJQUxPRyAgMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBNZWdoYWp08yBob3p64XJlbmRlbOlzZWsgIixJRENfU1RBVElDLDgsNCwyNDQsMTk1CiAgICBMVEVYVCAgICAgICAgICAgIkZhaWxlZCB0byBjb25uZWN0IHRvIHRoZSBtb3VudCBtYW5hZ2VyLCB0aGUgZHJpdmUgY29uZmlndXJhdGlvbiBjYW5ub3QgYmUgZWRpdGVkLiIsIElEQ19TVEFUSUNfTU9VTlRNR1JfRVJST1IsIDE1LDMwLDE5MCw3NgogICAgQ09OVFJPTCAgICAgICAgICJMaXN0dmlldyIsSURDX0xJU1RfRFJJVkVTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgTFZTX1NJTkdMRVNFTCB8IFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsIDE1LDE4LDIzMiw3NgogICAgUFVTSEJVVFRPTiAgICAgICJIb3p64SZhZC4uLiIsSURDX0JVVFRPTl9BREQsMTUsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiVPYmcmzpcyIsSURDX0JVVFRPTl9SRU1PVkUsNTYsOTgsMzcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiQXV0byZmZWxpc20uLi4iLElEQ19CVVRUT05fQVVUT0RFVEVDVCwxOTcsOTgsNDksMTQKCiAgICAvKiBlZGl0aW5nIGRyaXZlIGRldGFpbHMgKi8KICAgIExURVhUICAgICAgICAgICAiJtp0di46IixJRENfU1RBVElDX1BBVEgsMTUsMTIzLDIwLDkKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQ1LDEyMCwxNTYsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIiZUYWxs83rhcy4uLiIsSURDX0JVVFRPTl9CUk9XU0VfUEFUSCwyMDYsMTIwLDQwLDEzCiAgICAKICAgIExURVhUICAgICAgICAgICAiJlTtcHVzOiIsSURDX1NUQVRJQ19UWVBFLDE1LDEzOCwyMSwxMAogICAgQ09NQk9CT1ggICAgICAgIElEQ19DT01CT19UWVBFLDQ1LDEzNSw3Nyw2MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIAogICAgUFVTSEJVVFRPTiAgICAgICImSGFsYWTzIixJRENfQlVUVE9OX1NIT1dfSElERV9BRFZBTkNFRCwxODYsMTM1LDYwLDEzCiAgICBMVEVYVCAgICAgICAgICAgIkRlJnZpY2U6IixJRENfU1RBVElDX0RFVklDRSwxNSwxNTMsMjYsOQogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0RFVklDRSw0NSwxNTAsMTU2LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICJUYWxsJvN64XMuLi4iLElEQ19CVVRUT05fQlJPV1NFX0RFVklDRSwyMDYsMTUwLDQwLDEzCgogICAgTFRFWFQgICAgICAgICAgICImQ+1ta2U6IixJRENfU1RBVElDX0xBQkVMLDE1LDE2OCwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDQ1LDE2NSw3OCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiUyZvcnN64W06IixJRENfU1RBVElDX1NFUklBTCwxNSwxODMsMjksMTIKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9TRVJJQUwsNDUsMTgwLDc4LDEzLEVTX0FVVE9IU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIENPTlRST0wgICAgICAgICAiUmVqdGV0dCBm4Wpsb2sgbWVnamVsZW7tdOlzZSIsSURDX1NIT1dfRE9UX0ZJTEVTLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IFdTX1RBQlNUT1AsOCwyMDUsMjMwLDgKRU5ECgpJRERfQVVESU9DRkcgRElBTE9HICAwLCAwLCAyNjAsIDIyMApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIE1lZ2hhanTzcHJvZ3JhbSB24Wxhc3p04XMgIixJRENfU1RBVElDLDgsNCwyNDQsMTYwCiAgICBMVEVYVCAgICAgICAgICAgIlbhbGFzc3pvbiBlZ3kgaGFuZ21lZ2hhanTzdCBhIGtpduFsYXN6dG90dCBtZWdoYWp083Byb2dyYW0gZWz1dHRpIG7pZ3l6ZXQgYmVqbPZs6XPpdmVsLiAgQSBoYW5nIGxldGlsdGhhdPMsIGhhIG5lbSBqZWz2bCBiZSBlZ3kgbWVnaGFqdPN0IHNlbS4gVPZiYiBtZWdoYWp083Byb2dyYW0gYmVqZWz2bOlzZSBuZW0gYWrhbmxvdHQuIEF6IPZzc3plcyBtZWdoYWp08yBiZeFsbO10aGF08ywgaGEgcuFqdWsga2F0dGludCBqb2JiIGVn6XJnb21iYmFsLiIsSURDX1NUQVRJQywxNSwxNSwyMjcsMzUKICAgIENPTlRST0wgICAgICAgICAiRXN6a/Z69msiLElEQ19BVURJT19UUkVFLCJTeXNUcmVlVmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QLDE1LDUwLDE0MCwxMDUKICAgIFBVU0hCVVRUT04gICAgICAiJlRlc3QgU291bmQiLElEQ19BVURJT19URVNULDE3MCw1MCw1OSwxNAogICAgUFVTSEJVVFRPTgkgICAgIlZleulybPVwdWx0IixJRENfQVVESU9fQ09OVFJPTF9QQU5FTCwxNzAsNzAsNTksMTQKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdFNvdW5kICIsSURDX1NUQVRJQyw4LDE3MCwyNDQsNDUKICAgIExURVhUCSAgICAiSGFyZHZlcmVzIGd5b3Jz7XThczogIixJRENfU1RBVElDLDE1LDE4MCw5MCwxMAogICAgQ09NQk9CT1gJICAgIElEQ19EU09VTkRfSFdfQUNDRUwsMTAwLDE3OCwxNTAsNzAsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIkRlZmF1bHQgJlNhbXBsZSBSYXRlOiIsSURDX1NUQVRJQywxNSwxOTcsNzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfUkFURVMsOTAsMTk1LDQyLDc2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICJEZWZhdWx0ICZCaXRzIFBlciBTYW1wbGU6IixJRENfU1RBVElDLDEzNywxOTcsODAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19EU09VTkRfQklUUywyMjAsMTk1LDMwLDU2LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUApFTkQKCklERF9ERVNLVE9QX0lOVEVHUkFUSU9OIERJQUxPRyAgMCwgMCwgMjYwLCAyMjAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBNZWdqZWxlbulzICIsSURDX1NUQVRJQyw4LDQsMjQ0LDEwNgogICAgTFRFWFQgICAgICAgICAgICJU6W1hOiIsSURDX1NUQVRJQywxNSwxNiwxMzAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9USEVNRUNPTUJPLDE1LDI0LDEzMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiVOltYSB0ZWxlcO106XNlLi4uIixJRENfVEhFTUVfSU5TVEFMTCwxNTIsMjMsOTMsMTQKICAgIExURVhUICAgICAgICAgICAiU3rtbjoiLElEQ19USEVNRV9DT0xPUlRFWFQsMTUsNDAsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfVEhFTUVfQ09MT1JDT01CTywxNSw0OCwxMTIsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgIk3pcmV0OiIsSURDX1RIRU1FX1NJWkVURVhULDEzNSw0MCwxMTAsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9TSVpFQ09NQk8sMTM1LDQ4LDExMCwxNCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiSXRlbToiLElEQ19TVEFUSUMsMTUsNjQsMTEyLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfU1lTUEFSQU1fQ09NQk8sMTUsNzQsMTEyLDEyMCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgfCBDQlNfU09SVAogICAgTFRFWFQgICAgICAgICAgICJDb2xvcjoiLElEQ19TWVNQQVJBTV9DT0xPUl9URVhULDEzNSw2NCwyNSw4LFdTX0RJU0FCTEVECiAgICBQVVNIQlVUVE9OICAgICAgIiIsSURDX1NZU1BBUkFNX0NPTE9SLDEzNSw3NCwyNSwxMyxXU19ESVNBQkxFRCB8IEJTX09XTkVSRFJBVwogICAgTFRFWFQgICAgICAgICAgICJTaXplOiIsSURDX1NZU1BBUkFNX1NJWkVfVEVYVCwxNjYsNjQsMzAsOCxXU19ESVNBQkxFRAogICAgRURJVFRFWFQgICAgICAgIElEQ19TWVNQQVJBTV9TSVpFLDE2Niw3NCwyMywxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AgfCBXU19ESVNBQkxFRAogICAgQ09OVFJPTCAgICAgICAgICIiLElEQ19TWVNQQVJBTV9TSVpFX1VELFVQRE9XTl9DTEFTUyxVRFNfU0VUQlVERFlJTlQgfCBXU19ESVNBQkxFRCwxODcsNzQsMTUsMTMKICAgIFBVU0hCVVRUT04gICAgICAiRm9udCIsSURDX1NZU1BBUkFNX0ZPTlQsMjA4LDc0LDM3LDEzLFdTX0RJU0FCTEVECiAgICBHUk9VUEJPWCAgICAgICAgIiBSZW5kc3plcm1hcHBhICIsSURDX1NUQVRJQyw4LDExNCwyNDQsMTAwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9TRlBBVEhTLCJTeXNMaXN0VmlldzMyIixMVlNfUkVQT1JUIHwgTFZTX0FVVE9BUlJBTkdFIHwgTFZTX0FMSUdOTEVGVCB8CiAgICAgICAgICAgICAgICAgICAgIExWU19TSU5HTEVTRUwgfCBXU19CT1JERVIgfCBXU19UQUJTVE9QLCAxNSwxMjYsMjMwLDY0CiAgICBDT05UUk9MICAgICAgICAgIklkZSBsaW5rZWw6IixJRENfTElOS19TRlBBVEgsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQsMTUsMTk1LDUwLDEzCiAgICBFRElUVEVYVCAgICAgICAgIElEQ19FRElUX1NGUEFUSCw2NSwxOTUsMTQ1LDEzLEVTX0FVVE9IU0NST0xMfFdTX1RBQlNUT1B8V1NfRElTQUJMRUQKICAgIFBVU0hCVVRUT04gICAgICAiVGFsbPN64XMiLElEQ19CUk9XU0VfU0ZQQVRILDIxNSwxOTUsMzAsMTMsV1NfRElTQUJMRUQKRU5ECg==