Ly9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0LgovLwojaW5jbHVkZSAicmVzb3VyY2UuaCIKCiNkZWZpbmUgQVBTVFVESU9fUkVBRE9OTFlfU1lNQk9MUwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBHZW5lcmF0ZWQgZnJvbSB0aGUgVEVYVElOQ0xVREUgMiByZXNvdXJjZS4KLy8KI2luY2x1ZGUgImFmeHJlcy5oIgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KI3VuZGVmIEFQU1RVRElPX1JFQURPTkxZX1NZTUJPTFMKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIEdyZWVrIHJlc291cmNlcwoKI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRUxMKQojaWZkZWYgX1dJTjMyCkxBTkdVQUdFIExBTkdfR1JFRUssIFNVQkxBTkdfREVGQVVMVAojcHJhZ21hIGNvZGVfcGFnZSgxMjUzKQojZW5kaWYgLy9fV0lOMzIKCiNpZmRlZiBBUFNUVURJT19JTlZPS0VECi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIFRFWFRJTkNMVURFCi8vCgoxIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIApCRUdJTgogICAgInJlc291cmNlLmhcMCIKRU5ECgoyIFRFWFRJTkNMVURFIERJU0NBUkRBQkxFIApCRUdJTgogICAgIiNpbmNsdWRlICIiYWZ4cmVzLmgiIlxyXG4iCiAgICAiXDAiCkVORAoKMyBURVhUSU5DTFVERSBESVNDQVJEQUJMRSAKQkVHSU4KICAgICIjZGVmaW5lIF9BRlhfTk9fU1BMSVRURVJfUkVTT1VSQ0VTXHJcbiIKICAgICIjZGVmaW5lIF9BRlhfTk9fT0xFX1JFU09VUkNFU1xyXG4iCiAgICAiI2RlZmluZSBfQUZYX05PX1RSQUNLRVJfUkVTT1VSQ0VTXHJcbiIKICAgICIjZGVmaW5lIF9BRlhfTk9fUFJPUEVSVFlfUkVTT1VSQ0VTXHJcbiIKICAgICJcclxuIgogICAgIiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VMTClcclxuIgogICAgIiNpZmRlZiBfV0lOMzJcclxuIgogICAgIkxBTkdVQUdFIDgsIDFcclxuIgogICAgIiNwcmFnbWEgY29kZV9wYWdlKDEyNTMpXHJcbiIKICAgICIjZW5kaWYgLy9fV0lOMzJcclxuIgogICAgIiNpbmNsdWRlICIicmVzXFxEaWFncmFtUHJpbnQucmMyIiIgIC8vIG5vbi1NaWNyb3NvZnQgVmlzdWFsIEMrKyBlZGl0ZWQgcmVzb3VyY2VzXHJcbiIKICAgICIjaW5jbHVkZSAiImFmeHJlcy5yYyIiICAgICAgICAgLy8gU3RhbmRhcmQgY29tcG9uZW50c1xyXG4iCiAgICAiI2VuZGlmXHJcbiIKICAgICJcMCIKRU5ECgojZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRAoKCiNpZm5kZWYgX01BQwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLwovLyBWZXJzaW9uCi8vCgpWU19WRVJTSU9OX0lORk8gVkVSU0lPTklORk8KIEZJTEVWRVJTSU9OIDEsMCwwLDEKIFBST0RVQ1RWRVJTSU9OIDEsMCwwLDEKIEZJTEVGTEFHU01BU0sgMHgzZkwKI2lmZGVmIF9ERUJVRwogRklMRUZMQUdTIDB4MUwKI2Vsc2UKIEZJTEVGTEFHUyAweDBMCiNlbmRpZgogRklMRU9TIDB4NEwKIEZJTEVUWVBFIDB4MkwKIEZJTEVTVUJUWVBFIDB4MEwKQkVHSU4KICAgIEJMT0NLICJTdHJpbmdGaWxlSW5mbyIKICAgIEJFR0lOCiAgICAgICAgQkxPQ0sgIjA0MDkwNGIwIgogICAgICAgIEJFR0lOCiAgICAgICAgICAgIFZBTFVFICJDb21tZW50cyIsICJcMCIKICAgICAgICAgICAgVkFMVUUgIkNvbXBhbnlOYW1lIiwgIklCTSBDb3Jwb3JhdGlvblwwIgogICAgICAgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgIkRpYWdyYW1QcmludCBETExcMCIKICAgICAgICAgICAgVkFMVUUgIkZpbGVWZXJzaW9uIiwgIjEsIDAsIDAsIDFcMCIKICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJEaWFncmFtUHJpbnRcMCIKICAgICAgICAgICAgVkFMVUUgIkxlZ2FsQ29weXJpZ2h0IiwgIkxpY2Vuc2VkIE1hdGVyaWFscyAtLSBQcm9wZXJ0eSBvZiBJQk0gLSAoQykgQ29weXJpZ2h0IElCTSBDb3Jwb3JhdGlvbiwgMjAwMywyMDA4IC0gVVMgR292ZXJubWVudCBVc2VycyBSZXN0cmljdGVkIFJpZ2h0cyAtIFVzZSwgZHVwbGljYXRpb24gb3IgZGlzY2xvc3VyZSByZXN0cmljdGVkIGJ5IEdTQSBBRFAgU2NoZWR1bGUgQ29udHJhY3Qgd2l0aCBJQk0gQ29ycC5cMCIKICAgICAgICAgICAgVkFMVUUgIkxlZ2FsVHJhZGVtYXJrcyIsICIoUikgSUJNIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jwb3JhdGlvbi4gIFdpbmRvd3MoVE0pIGlzIGEgdHJhZGVtYXJrIG9mIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cMCIKICAgICAgICAgICAgVkFMVUUgIk9yaWdpbmFsRmlsZW5hbWUiLCAiRGlhZ3JhbVByaW50LkRMTFwwIgogICAgICAgICAgICBWQUxVRSAiUHJpdmF0ZUJ1aWxkIiwgIlwwIgogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLCAiRGlhZ3JhbVByaW50IER5bmFtaWMgTGluayBMaWJyYXJ5XDAiCiAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lvbiIsICIyLCAxLCAwLCAwXDAiCiAgICAgICAgICAgIFZBTFVFICJTcGVjaWFsQnVpbGQiLCAiXDAiCiAgICAgICAgRU5ECiAgICBFTkQKICAgIEJMT0NLICJWYXJGaWxlSW5mbyIKICAgIEJFR0lOCiAgICAgICAgVkFMVUUgIlRyYW5zbGF0aW9uIiwgMHg0MDksIDEyMDAKICAgIEVORApFTkQKCiNlbmRpZiAgICAvLyAhX01BQwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIERpYWxvZwovLwoKMTUzOCBESUFMT0cgRElTQ0FSREFCTEUgIDMyLCAzMiwgMzMwLCAzNTQKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTXzNETE9PSyB8IERTX0NPTlRFWFRIRUxQIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgCiAgICBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICLF6vT98Pnz5yIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAixer09fD59N7yIiwxMDc1LDcsNCwzMTQsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAivCbt7+zhOiIsMTA5MywxNiwyMSwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzOSw1MiwxOCwxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiJsnk6fz05/Tl8i4uLiIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiyuH03PP04fPnOiIsMTA5NSwxNiwzOCw0MywxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDY1LDM3LDIxOCwxMAogICAgTFRFWFQgICAgICAgICAgICLF3+Tv8joiLDEwOTQsMTYsNTAsMjUsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk4LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw2NSw0OSwyMTgsMTAKICAgIExURVhUICAgICAgICAgICAiyN3z5zoiLDEwOTcsMTYsNjIsMjIsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw2NSw2MSwyMTgsMTAKICAgIExURVhUICAgICAgICAgICAi0/f86+nvOiIsMTA5NiwxNiw3NCwyOSwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDAsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDY1LDczLDIxOCwxMAogICAgQ09OVFJPTCAgICAgICAgICLF6vT98Pnz5yDz5SDh8Sb35d/vIiwxMDQwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMzYsNzAsNDAsMTIKICAgIEdST1VQQk9YICAgICAgICAixf3x7/Ig5er0/fD58+fyIOTp4ePx4ezs3PT57SIsMTA3Miw3LDkyLDMxNCwxMDYsCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJtTx3ffv7SDk6dzj8eHs7OEiLElEQ19DVVJSRU5UX0RJQUdSQU0sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OIHwgQlNfTVVMVElMSU5FIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE2LDEwNywyNTMsMTIKICAgIENPTlRST0wgICAgICAgICAivOvhIPThICbk6eHj8dzs7OH04SDh8Pwg9OEg4e3v6ff03CDs7+303evhIiwKICAgICAgICAgICAgICAgICAgICBJRENfQUxMX0RJQUdSQU1TLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IAogICAgICAgICAgICAgICAgICAgIEJTX01VTFRJTElORSwxNiwxMjEsMjg0LDEyCiAgICBDT05UUk9MICAgICAgICAgIibF8Onr5ePs3e3hIOTp4ePx3Ozs4fThOiIsSURDX1NFTEVDVEVEX0RJQUdSQU1TLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiB8IEJTX01VTFRJTElORSwxNiwxMzUsMjcwLDEyCiAgICBMSVNUQk9YICAgICAgICAgSURDX0RJQUdSQU1TLDI4LDE0OSwyNDMsNDMsTEJTX01VTFRJUExFU0VMIHwgCiAgICAgICAgICAgICAgICAgICAgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfSFNDUk9MTCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiyuvf7OHq4SIsSURDX1NUQVRJQyw3LDIwMiwzMTQsNTEKICAgIENPTlRST0wgICAgICAgICAiJtDx7/Ph8ezv494g8/TvICUg9O/1IOrh7e/t6erv/SDs5ePd6O/18joiLAogICAgICAgICAgICAgICAgICAgIElEQ19TQ0FMRV9QRVJDRU5ULCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IAogICAgICAgICAgICAgICAgICAgIEJTX01VTFRJTElORSB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwyMTcsMTYyLDEyCiAgICBDT05UUk9MICAgICAgICAgItDxJu/z4fHs7+PeIPPlOiIsSURDX1NDQUxFX0ZJVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04gfCBCU19NVUxUSUxJTkUgfCBXU19UQUJTVE9QLDE2LDIzMyw3NSwKICAgICAgICAgICAgICAgICAgICAxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19QRVJDRU5ULDE5MywyMTgsMzIsMTIsRVNfTlVNQkVSCiAgICBMVEVYVCAgICAgICAgICAgIvDr3Cb07/Ig8+Xr3+Th8joiLDExMDUsOTgsMjM2LDY4LDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNNLDE3MywyMzYsMzIsMTIsRVNfTlVNQkVSCiAgICBSVEVYVCAgICAgICAgICAgIv0m+O/yIPPl69/k4fI6IixJRENfU1RBVElDLDIyMSwyMzYsNTYsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNOLDI4MSwyMzQsMzIsMTIsRVNfTlVNQkVSCiAgICBMVEVYVCAgICAgICAgICAgIiIsSURDX1NUQVRJQywyNjAsMjM1LDgsOCxOT1QgV1NfVklTSUJMRQogICAgR1JPVVBCT1ggICAgICAgICLF/fHv8iDl6vT98Pnz5/IiLDEwNzQsOCwyNTcsMTMyLDY5LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIrwm6+XyIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IEJTX01VTFRJTElORSB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwxNiwyNzIsMTEwLDEyCiAgICBDT05UUk9MICAgICAgICAgIibT5evf5OXyIiwxMDU4LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IAogICAgICAgICAgICAgICAgICAgIEJTX01VTFRJTElORSwxNiwyODYsMTE0LDEyCiAgICBSVEVYVCAgICAgICAgICAgIibh8Pw6IiwxMDg5LDE2LDMwMiwyNCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1Miw0NiwzMDIsMjYsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIFJURVhUICAgICAgICAgICAi3Sb58joiLDEwOTAsODEsMzA0LDIyLDgKICAgIEVESVRURVhUICAgICAgICAxMTUzLDEwNywzMDMsMjcsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIEdST1VQQk9YICAgICAgICAiwe303+Px4fbhIiwxMDczLDE0NywyNTcsMTc0LDY4LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIsHx6ejs/PIg4e0m9Onj8dz2+e06IiwxMDkyLDE1OCwyNzMsNzksOAogICAgRURJVFRFWFQgICAgICAgIDExNTQsMjQ3LDI3MCwzMiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgQ09OVFJPTCAgICAgICAgICLTJvXx8eH23iIsMTA0MSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBCU19NVUxUSUxJTkUgfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjUxLDI5Nyw1OCwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywyMTEsMzMzLDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIsHq/fH58+ciLElEQ0FOQ0VMLDI2OCwzMzQsNDgsMTQKICAgIElDT04gICAgICAgICAgICAiIiwxMDg2LDE1NywyOTAsNzAsMjUsV1NfR1JPVVAKRU5ECgoxNTM5IERJQUxPRyBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE3OApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItH96Ozp8+cg5er09fD59N4iCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIsXq9PXw+fTe8iIsMTA3NSw4LDQsMjcyLDg0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIrwm7e/s4ToiLDEwOTMsMTYsMjAsMzYsOAogICAgQ09NQk9CT1ggICAgICAgIDExMzYsNTIsMTgsMTUyLDE1MixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibJ5On89Of05fIiLDEwMjUsMjEyLDE3LDYwLDE0LFdTX0dST1VQCiAgICBMVEVYVCAgICAgICAgICAgIsrh9Nzz9OHz5zoiLDEwOTUsMTYsMzYsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk5LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1MiwzNiwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAixd/k7/I6IiwxMDk0LDE2LDQ4LDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNDgsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIsjd8+c6IiwxMDk3LDE2LDYwLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNjAsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgItP3/Ovp7zoiLDEwOTYsMTYsNzIsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAwLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw3MiwyMjQsMTAKICAgIEdST1VQQk9YICAgICAgICAi1+Hx9N8iLDEwNzMsOCw5MiwxNjQsNTYsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiJszd4+Xo7/I6IiwxMDg5LDE2LDEwOCwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzNyw1MiwxMDYsMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBMVEVYVCAgICAgICAgICAgItAm8e/d6+X18+c6IiwxMDkwLDE2LDEyOCwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzOCw1MiwxMjYsMTEyLDExMixDQlNfRFJPUERPV05MSVNUIHwgQ0JTX1NPUlQgfCAKICAgICAgICAgICAgICAgICAgICBXU19WU0NST0xMIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBHUk9VUEJPWCAgICAgICAgItDx7/Ph7eH07+vp8+z88iIsMTA3MiwxODAsOTIsMTAwLDU2LFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4NCwxOTUsMTEyLDE4LDIwLFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIibK4fTh6vzx9fbv8iIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMjI0LDEwNiw1MiwxMgogICAgQ09OVFJPTCAgICAgICAgICImz/Hp5vzt9Onv8iIsMTA1NywiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMjI0LDEyNiwKICAgICAgICAgICAgICAgICAgICA1MiwxMgogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSywxODAsMTU2LDQ4LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIsHq/fH58+ciLElEQ0FOQ0VMLDIzMiwxNTYsNDgsMTQKRU5ECgoxNTQ2IERJQUxPRyBESVNDQVJEQUJMRSAgMzIsIDMyLCAyNDAsIDI0MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gItH96Ozp8+cg8+Xr3+Th8iIKRk9OVCA4LCAiTVMgU2FucyBTZXJpZiIKQkVHSU4KICAgIENPTlRST0wgICAgICAgICAiIiwxMDgwLCJTdGF0aWMiLFNTX1dISVRFUkVDVCB8IFdTX0dST1VQLDgwLDgsODAsODAKICAgIENPTlRST0wgICAgICAgICAiIiwxMDgxLCJTdGF0aWMiLFNTX0dSQVlSRUNUIHwgV1NfR1JPVVAsMTYwLDEyLDQsODAKICAgIENPTlRST0wgICAgICAgICAiIiwxMDgyLCJTdGF0aWMiLFNTX0dSQVlSRUNUIHwgV1NfR1JPVVAsODQsODgsODAsNAogICAgR1JPVVBCT1ggICAgICAgICLX4fH03yIsMTA3Myw4LDk2LDIyNCw1NixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICImzN3j5ejv8joiLDEwODksMTYsMTEyLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM3LDY0LDExMCwxNjAsMTYwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAi0Cbx793r5fXz5zoiLDEwOTAsMTYsMTMyLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM4LDY0LDEzMCwxNjAsMTYwLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAi0PHv8+Ht4fTv6+nz7PzyIiwxMDcyLDgsMTU2LDY0LDU2LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIibK4fTh6vzx9fbv8iIsMTA1NiwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04gfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCB8IFdTX1RBQlNUT1AsMTYsMTcwLDUyLDEyCiAgICBDT05UUk9MICAgICAgICAgIibP8enm/O306e/yIiwxMDU3LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxOTAsNTIsCiAgICAgICAgICAgICAgICAgICAgMTIKICAgIEdST1VQQk9YICAgICAgICAi0OXx6ej+8enhIiwxMDc1LDgwLDE1NiwxNTIsNTYsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiwSbx6fP05fHcOiIsMTEwMiw4OCwxNzIsMzIsOAogICAgRURJVFRFWFQgICAgICAgIDExNTUsMTIwLDE3MCwyOCwxMixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLE5Sbu6dw6IiwxMTAzLDE2NCwxNzIsMzIsOAogICAgRURJVFRFWFQgICAgICAgIDExNTcsMTk2LDE3MCwyOCwxMixXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLQ3O0m+ToiLDExMDQsODgsMTkyLDMyLDgKICAgIEVESVRURVhUICAgICAgICAxMTU2LDEyMCwxOTAsMjgsMTIsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiytwm9Pk6IiwxMTA1LDE2NCwxOTIsMzIsOAogICAgRURJVFRFWFQgICAgICAgIDExNTgsMTk2LDE5MCwyOCwxMixXU19HUk9VUAogICAgREVGUFVTSEJVVFRPTiAgICJPSyIsSURPSyw4MCwyMjAsNDgsMTQsV1NfR1JPVVAKICAgIFBVU0hCVVRUT04gICAgICAiwer98fnz5yIsSURDQU5DRUwsMTMyLDIyMCw0OCwxNAogICAgUFVTSEJVVFRPTiAgICAgICLFJur09fD59N7yLi4uIiwxMDI2LDE4NCwyMjAsNDgsMTQKRU5ECgoxMjM0IERJQUxPRyBESVNDQVJEQUJMRSAgMzIsIDMyLCAyODgsIDE4NgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfM0RMT09LIHwgRFNfQ09OVEVYVEhFTFAgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCAKICAgIFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIsXq9P3w+fPnIgpGT05UIDgsICJNUyBTYW5zIFNlcmlmIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICLF6vT18Pn03vIiLDEwNzUsOCw0LDI3Miw4NCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICK8Ju3v7OE6IiwxMDkzLDE2LDIwLDM2LDgKICAgIENPTUJPQk9YICAgICAgICAxMTM5LDUyLDE4LDE1MiwxNTIsQ0JTX0RST1BET1dOTElTVCB8IENCU19TT1JUIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVlNDUk9MTCB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICImyeTp/PTn9OXyIiwxMDI1LDIxMiwxNyw2MCwxNCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLK4fTc8/Th8+c6IiwxMDk1LDE2LDM2LDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTA5OSwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsMzYsMjI0LDEwCiAgICBMVEVYVCAgICAgICAgICAgIsXf5O/yOiIsMTA5NCwxNiw0OCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTgsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDQ4LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICLI3fPnOiIsMTA5NywxNiw2MCwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDEsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDYwLDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICLT9/zr6e86IiwxMDk2LDE2LDcyLDM2LDEwLFNTX05PUFJFRklYCiAgICBDT05UUk9MICAgICAgICAgIiIsMTEwMCwiU3RhdGljIixTU19MRUZUTk9XT1JEV1JBUCB8IFNTX05PUFJFRklYIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAsNTIsNzIsMTUyLDEwCiAgICBDT05UUk9MICAgICAgICAgIsXq9P3w+fPnIPPlIOHxJvfl3+8iLDEwNDAsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDIxMiw3MCw2NCwxMgogICAgR1JPVVBCT1ggICAgICAgICLF/fHv8iDl6vT98Pnz5/IiLDEwNzIsOCw5MiwxNDQsNjQsV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAivCbr5fIiLDEwNTYsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDE2LDEwNiw2NCwxMgogICAgQ09OVFJPTCAgICAgICAgICIm0+Xr3+Tl8iIsMTA1OCwiQnV0dG9uIixCU19BVVRPUkFESU9CVVRUT04sMTYsMTIyLDM2LDEyCiAgICBDT05UUk9MICAgICAgICAgIsXw6Sbr7+PeIiwxMDU3LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzgsNjQsMTIKICAgIFJURVhUICAgICAgICAgICAiJuHw/DoiLDEwODksNTIsMTI0LDIwLDgKICAgIEVESVRURVhUICAgICAgICAxMTUyLDc0LDEyMiwyNiwxMixFU19OVU1CRVIgfCBXU19HUk9VUAogICAgUlRFWFQgICAgICAgICAgICLdJvnyOiIsMTA5MCwxMDAsMTI0LDE2LDgKICAgIEVESVRURVhUICAgICAgICAxMTUzLDExOCwxMjIsMjYsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIEdST1VQQk9YICAgICAgICAiwe303+Px4fbhIiwxMDczLDE2MCw5MiwxMjAsNjQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiwfHp6Oz88iDh7Sb06ePx3Pb57ToiLDEwOTIsMTY4LDEwOCw2OCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1NCwyNDAsMTA2LDMyLDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4NiwxNjIsMTI0LDc2LDI0LFNTX0NFTlRFUklNQUdFIHwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAi0yb18fHh9t4iLDEwNDEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDI0MCwxMzAsMzYsMTIKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDE2NCw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICLB6v3x+fPnIixJRENBTkNFTCwyMzIsMTY0LDQ4LDE0CkVORAoKMTU0NyBESUFMT0dFWCAzMiwgMzIsIDI4OSwgMzU0ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU18zRExPT0sgfCBEU19DT05URVhUSEVMUCB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IAogICAgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAixer0/fD58+ciCkZPTlQgOCwgIk1TIFNhbnMgU2VyaWYiLCAwLCAwLCAweDEKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAixer09fD59N7yIiwxMDc1LDgsNCwyNzIsODQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAivCbt7+zhOiIsMTA5MywxNiwyMSwzNiw4CiAgICBDT01CT0JPWCAgICAgICAgMTEzOSw1MiwxOCwxNTIsMTUyLENCU19EUk9QRE9XTkxJU1QgfCBDQlNfU09SVCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1ZTQ1JPTEwgfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gICAgICAiJsnk6fz05/Tl8i4uLiIsMTAyNSwyMTIsMTcsNjAsMTQsV1NfR1JPVVAKICAgIExURVhUICAgICAgICAgICAiyuH03PP04fPnOiIsMTA5NSwxNiwzNiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDEwOTksIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDM2LDIyNCwxMAogICAgTFRFWFQgICAgICAgICAgICLF3+Tv8joiLDEwOTQsMTYsNDgsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMDk4LCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw0OCwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAiyN3z5zoiLDEwOTcsMTYsNjAsMzYsMTAsU1NfTk9QUkVGSVgKICAgIENPTlRST0wgICAgICAgICAiIiwxMTAxLCJTdGF0aWMiLFNTX0xFRlROT1dPUkRXUkFQIHwgU1NfTk9QUkVGSVggfCAKICAgICAgICAgICAgICAgICAgICBXU19HUk9VUCw1Miw2MCwyMjQsMTAKICAgIExURVhUICAgICAgICAgICAi0/f86+nvOiIsMTA5NiwxNiw3MiwzNiwxMCxTU19OT1BSRUZJWAogICAgQ09OVFJPTCAgICAgICAgICIiLDExMDAsIlN0YXRpYyIsU1NfTEVGVE5PV09SRFdSQVAgfCBTU19OT1BSRUZJWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQLDUyLDcyLDE1MiwxMAogICAgQ09OVFJPTCAgICAgICAgICLF6vT98Pnz5yDz5SDh8Sb35d/vIiwxMDQwLCJCdXR0b24iLEJTX0FVVE9DSEVDS0JPWCB8IAogICAgICAgICAgICAgICAgICAgIFdTX0dST1VQIHwgV1NfVEFCU1RPUCwyMTIsNzAsNjQsMTIKICAgIEdST1VQQk9YICAgICAgICAixf3x7/Ig5er0/fD58+fyIOTp4ePx4ezs3PT57SIsMTA3Miw4LDkzLDI3MiwxMDYsCiAgICAgICAgICAgICAgICAgICAgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAiJtTx3ffv7SDk6dzj8eHs7OEiLElEQ19DVVJSRU5UX0RJQUdSQU0sIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAgfCBXU19UQUJTVE9QLDE2LDEwNywyNTMsMTIKICAgIENPTlRST0wgICAgICAgICAivOvhIPThICbk6eHj8dzs7OH04SDh8Pwg9OEg4e3v6ff03CDs7+303evhIiwKICAgICAgICAgICAgICAgICAgICBJRENfQUxMX0RJQUdSQU1TLCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMjEsMjUzLAogICAgICAgICAgICAgICAgICAgIDEyCiAgICBDT05UUk9MICAgICAgICAgIibF8Onr5ePs3e3hIOTp4ePx3Ozs4fThOiIsSURDX1NFTEVDVEVEX0RJQUdSQU1TLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNiwxMzUsMjUzLDEyCiAgICBMSVNUQk9YICAgICAgICAgSURDX0RJQUdSQU1TLDI4LDE0OSwyNDMsNDMsTEJTX01VTFRJUExFU0VMIHwgCiAgICAgICAgICAgICAgICAgICAgTEJTX05PSU5URUdSQUxIRUlHSFQgfCBXU19WU0NST0xMIHwgV1NfSFNDUk9MTCB8IAogICAgICAgICAgICAgICAgICAgIFdTX1RBQlNUT1AKICAgIEdST1VQQk9YICAgICAgICAiyuvf7OHq4SIsSURDX1NUQVRJQyw4LDIwMiwyNzIsNTEKICAgIENPTlRST0wgICAgICAgICAiJtDx7/Ph8ezv494g8/TvICUg9O/1IOrh7e/t6erv/SDs5ePd6O/18joiLAogICAgICAgICAgICAgICAgICAgIElEQ19TQ0FMRV9QRVJDRU5ULCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNiwyMTgsMTA0LDEyCiAgICBDT05UUk9MICAgICAgICAgItDxJu/z4fHs7+PeIPPlOiIsSURDX1NDQUxFX0ZJVCwiQnV0dG9uIiwKICAgICAgICAgICAgICAgICAgICBCU19BVVRPUkFESU9CVVRUT04gfCBXU19UQUJTVE9QLDE2LDIzMywzNCwxMgogICAgTFRFWFQgICAgICAgICAgICIm0PHv8+Hx7O/j3iDz9O8gJSD07/Ug6uHt7+3p6u/9IOzl493o7/XyOiIsMTEwMiwzMCwyMTksCiAgICAgICAgICAgICAgICAgICAgODgsOCxOT1QgV1NfVklTSUJMRQogICAgRURJVFRFWFQgICAgICAgIElEQ19QRVJDRU5ULDEyMiwyMTcsMzIsMTIsRVNfTlVNQkVSCiAgICBMVEVYVCAgICAgICAgICAgIvDr3Cb07/Ig8+Xr3+Th8joiLDExMDUsNzEsMjM1LDQzLDgKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNNLDEyMiwyMzMsMzIsMTIsRVNfTlVNQkVSCiAgICBSVEVYVCAgICAgICAgICAgIv0m+O/yIPPl69/k4fI6IixJRENfU1RBVElDLDE3NywyMzUsNTQsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfUEFHRVNOLDIzNSwyMzMsMzIsMTIsRVNfTlVNQkVSCiAgICBMVEVYVCAgICAgICAgICAgIiIsSURDX1NUQVRJQywyNjAsMjM1LDcsOCxOT1QgV1NfVklTSUJMRQogICAgR1JPVVBCT1ggICAgICAgICLF/fHv8iDl6vT98Pnz5/IiLDEwNzQsOCwyNTcsMTMyLDY0LFdTX0dST1VQCiAgICBDT05UUk9MICAgICAgICAgIrwm6+XyIiwxMDU2LCJCdXR0b24iLEJTX0FVVE9SQURJT0JVVFRPTiB8IFdTX0dST1VQIHwgCiAgICAgICAgICAgICAgICAgICAgV1NfVEFCU1RPUCwxNiwyNzIsNDcsMTIKICAgIENPTlRST0wgICAgICAgICAiJtPl69/k5fIiLDEwNTgsIkJ1dHRvbiIsQlNfQVVUT1JBRElPQlVUVE9OLDE2LDI4Niw0NiwxMgogICAgUlRFWFQgICAgICAgICAgICIm4fD8OiIsMTA4OSwyNCwzMDIsMjAsOAogICAgRURJVFRFWFQgICAgICAgIDExNTIsNDgsMzAwLDI2LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBSVEVYVCAgICAgICAgICAgIt0m+fI6IiwxMDkwLDc2LDMwMiwyMCw4CiAgICBFRElUVEVYVCAgICAgICAgMTE1MywxMDAsMzAwLDI3LDEyLEVTX05VTUJFUiB8IFdTX0dST1VQCiAgICBHUk9VUEJPWCAgICAgICAgIsHt9N/j8eH24SIsMTA3MywxNDcsMjU3LDEzMiw2NCxXU19HUk9VUAogICAgTFRFWFQgICAgICAgICAgICLB8eno7PzyIOHtJvTp4/Hc9vntOiIsMTA5MiwxNjMsMjczLDY4LDgKICAgIEVESVRURVhUICAgICAgICAxMTU0LDIzNSwyNzEsMzIsMTIsRVNfTlVNQkVSIHwgV1NfR1JPVVAKICAgIENPTlRST0wgICAgICAgICAi0yb18fHh9t4iLDEwNDEsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfR1JPVVAgfCAKICAgICAgICAgICAgICAgICAgICBXU19UQUJTVE9QLDIzNSwyOTUsMzYsMTIKICAgIERFRlBVU0hCVVRUT04gICAiT0siLElET0ssMTgwLDMyOCw0OCwxNCxXU19HUk9VUAogICAgUFVTSEJVVFRPTiAgICAgICLB6v3x+fPnIixJRENBTkNFTCwyMzIsMzI4LDQ4LDE0CiAgICBJQ09OICAgICAgICAgICAgIiIsMTA4NiwxNTYsMjkwLDcwLDI1LFdTX0dST1VQCkVORAoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vCi8vIERFU0lHTklORk8KLy8KCiNpZmRlZiBBUFNUVURJT19JTlZPS0VECkdVSURFTElORVMgREVTSUdOSU5GTyBESVNDQVJEQUJMRSAKQkVHSU4KICAgIDE1MzgsIERJQUxPRwogICAgQkVHSU4KICAgICAgICBSSUdIVE1BUkdJTiwgMzE3CiAgICAgICAgVkVSVEdVSURFLCAyOTIKICAgICAgICBCT1RUT01NQVJHSU4sIDM0MgogICAgRU5ECgogICAgMTU0NywgRElBTE9HCiAgICBCRUdJTgogICAgICAgIFJJR0hUTUFSR0lOLCAyODYKICAgICAgICBCT1RUT01NQVJHSU4sIDM0MgogICAgRU5ECkVORAojZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRAoKI2VuZGlmICAgIC8vIEdyZWVrIHJlc291cmNlcwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgojaWZuZGVmIEFQU1RVRElPX0lOVk9LRUQKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KLy8gR2VuZXJhdGVkIGZyb20gdGhlIFRFWFRJTkNMVURFIDMgcmVzb3VyY2UuCi8vCiNkZWZpbmUgX0FGWF9OT19TUExJVFRFUl9SRVNPVVJDRVMKI2RlZmluZSBfQUZYX05PX09MRV9SRVNPVVJDRVMKI2RlZmluZSBfQUZYX05PX1RSQUNLRVJfUkVTT1VSQ0VTCiNkZWZpbmUgX0FGWF9OT19QUk9QRVJUWV9SRVNPVVJDRVMKCiNpZiAhZGVmaW5lZChBRlhfUkVTT1VSQ0VfRExMKSB8fCBkZWZpbmVkKEFGWF9UQVJHX0VMTCkKI2lmZGVmIF9XSU4zMgpMQU5HVUFHRSA4LCAxCiNwcmFnbWEgY29kZV9wYWdlKDEyNTMpCiNlbmRpZiAvL19XSU4zMgojaW5jbHVkZSAicmVzXERpYWdyYW1QcmludC5yYzIiICAvLyBub24tTWljcm9zb2Z0IFZpc3VhbCBDKysgZWRpdGVkIHJlc291cmNlcwojaW5jbHVkZSAiYWZ4cmVzLnJjIiAgICAgICAgIC8vIFN0YW5kYXJkIGNvbXBvbmVudHMKI2VuZGlmCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwojZW5kaWYgICAgLy8gbm90IEFQU1RVRElPX0lOVk9LRUQKCg==