LyoKICogV2luZUNmZyByZXNvdXJjZXMKICogQnVsZ2FyaWFuIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IDIwMDUgTWlsa28gS3JhY2hvdW5vdgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICoKICovCgpMQU5HVUFHRSBMQU5HX0JVTEdBUklBTiwgU1VCTEFOR19ERUZBVUxUCgpJRERfQUJPVVRDRkcgRElBTE9HRVggMCwgMCwgMjYwLCAyNzAKU1RZTEUgV1NfQ0hJTEQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgTFRFWFQgICAgICAgICAgIFBBQ0tBR0VfU1RSSU5HLElEQ19TVEFUSUMsMTE5LDE3LDEyMCw4CiAgICBDT05UUk9MICAgICAgICAgSURCX1dJTkUsSURDX1NUQVRJQywiU3RhdGljIixTU19CSVRNQVAgLDE1LDE3LDE1NywxMTEKICAgIExURVhUICAgICAgICAgICAiaHR0cDovL3d3dy53aW5laHEub3JnLyIsSURDX1NUQVRJQywxMTksMzEsMTA2LDgKLyoKICAgIExURVhUICAgICAgICAgICAi0uDn6CDh6OHr6O7y5ergIOUg8eLu4e7k5e0g8e708vPl8C4gzO7m5fLlIOTgIP8g8ODn7/Du8fLw4O3/4uDy5SDoL+jr6CDv8O7s5e3/8uUg7/DoIPPx6+7i6P/y4CDt4CBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIO/z4evo6vPi4O0g7vIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIC0g4uXw8ej/IDIuMSDt4CDr6Pbl7efgIOjr6CAo7+4g4uD4IOjn4e7wKSwg6u7/8u4g6CDk4CDlIPHr5eTi4PngIOLl8PHo/y4iLAoqLwogICAgTFRFWFQgICAgICAgICAgICJUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxMTksNDQsMTI0LDcyCkVORAoKSUREX0FQUENGRyBESUFMT0cgRElTQ0FSREFCTEUgIDAsIDAsIDI2MCwgMjUwClNUWUxFIFdTX0NISUxEIHwgV1NfRElTQUJMRUQKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgpCRUdJTgogICAgR1JPVVBCT1ggICAgICAgICIgzeDx8vDu6ergIO3gIO/w6Ovu5uXt6P/y4CAiLElEQ19TVEFUSUMsIDgsNCwyNDQsMjQwCiAgICBMVEVYVCAgICAgICAgICAgIldpbmUg7O7m5SDk4CDo7Ojy6PDgIPDg5+vo9+3oIOLl8PHo6CDt4CBXaW5kb3dzIOfgIOLx/+ruIPDg5+vo9+3uIO/w6Ovu5uXt6OUuINLg5+gg8fLw4O3o9uAg5SDx4vrw5+Dt4CDxIO3g8fLw7unq6PLlIOIgwejh6+ju8uXq6CDoIMPw4PTo6uAsIOfgIOTgIOzu5uXy5SDk4CDv8O7s5e3/8uUsIO7x4uXtIO7h+e7x6PHy5ezt6PLlLCDoIPHv5fbo9Oj37ejy5SDn4CDv8Ojr7ubl7ej/8uAg7eDx8vDu6eroLiIsCiAgICAgICAgICAgICAgICAgICAgSURDX1NUQVRJQywxNSwyMCwyMjcsNTAKICAgIENPTlRST0wgICAgICAgICAiQXBwbGljYXRpb25zIixJRENfQVBQX0xJU1RWSUVXLCJTeXNMaXN0VmlldzMyIixXU19CT1JERVIgfCBXU19UQUJTVE9QIHwgTFZTX0xJU1QgfCBMVlNfU0lOR0xFU0VMIHwgTFZTX1NIT1dTRUxBTFdBWVMsCiAgICAgICAgICAgICAgICAgICAgMTUsNzAsMjMwLDExMAogICAgUFVTSEJVVFRPTgkgICAgIibE7uHg4v/t5SDt4CDv8Ojr7ubl7ejlLi4uIixJRENfQVBQX0FEREFQUCwgMTUsMjA0LDExMiwxNAogICAgUFVTSEJVVFRPTgkgICAgIs/w5Sbs4PXi4O3lIO3gIO/w6Ovu5uXt6OUuLi4iLElEQ19BUFBfUkVNT1ZFQVBQLCAxMzIsMjA0LDExMywxNAogICAgTFRFWFQgICAgICAgICAgICImwuXw8ej/IO3gIFdpbmRvd3M6IixJRENfU1RBVElDLDE3LDIyNiw4OCw4CiAgICBDT01CT0JPWCAgICAgICAgSURDX1dJTlZFUiwxMTMsMjI0LDEzMyw1NixDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AgICAgCkVORAoKSUREX0dSQVBIQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVAkgICAgIsT66+Hu9+jt4CDt4CD24uXy7uLl8uU6ICIsSURDX1NUQVRJQyw4LDEwLDEwMCwzMAogICAgQ09NQk9CT1gJICAgIElEQ19TQ1JFRU5fREVQVEgsMTEwLDgsMTQwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAoKICAgIEdST1VQQk9YICAgICAgICAiIM3g8fLw7unq4CDt4CDv8O7n7vD26PLlICIsSURDX1NUQVRJQyw4LDI1LDI0NCwxMTAKCiAgICBDT05UUk9MCSAgICAi0ODn8OX46CDt4CBEaXJlY3RYIO/w6Ovu5uXt6P/y4CDk4CDn4Orr/vfi4PIg7Oj46uDy4CIsSURDX0RYX01PVVNFX0dSQUIsIkJ1dHRvbiIsQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwzNSwyMzAsOAogICAgQ09OVFJPTAkgICAgIsLq6/736CDk4u7p7eDy4CDh8/Tl8Ojn4Pbo/yDt4CDw4OHu8u3o/yDv6+7yIixJRENfRE9VQkxFX0JVRkZFUiwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDQ1LDIzMCw4CiAgICAKICAgIC8qIEZJWE1FOiB0aGUgd29yZGluZyBvZiB0aGlzIGV4cGxhbmF0aW9uIGNvdWxkIGJlIGEgbG90IGJldHRlciAqLwogICAgTFRFWFQgICAgICAgICAgICLM7ubl8uUg5OAg6Ofv7uvn4uDy5SDl7PPr4Pbo/yDt4CDi6PDy8+Dr5e0g8ODh7vLl7SDv6+7yLCDiIOru6fLuIOTgIPFlIPDg5+/u6+Dj4PIg7/Du5+7w9ujy5Swg6OvoIOzu5uUg5OAg4+gg7vHy4OLo8uUg5OAg6Ofr6Ofg8iDt4CDi4Pjo/yDx8uDt5ODw8uXtIPDg4e7y5e0g7+vu8i4iLAogICAgICAgICAgICAgICAgICAgIElEQ19TVEFUSUMsMTUsNzMsMjI4LDI4CiAgICBMVEVYVCAgICAgICAgICAgItDg5+zl8CDt4CDw4OHu8u3o/yDv6+7yOiIsSURDX0RFU0tUT1BfU0laRSwxNSwxMTUsNDQsOCxXU19ESVNBQkxFRAogICAgTFRFWFQgICAgICAgICAgICJYIixJRENfREVTS1RPUF9CWSwxMDgsMTE1LDgsOCxXU19ESVNBQkxFRAogICAgQ09OVFJPTCAgICAgICAgICLF7PPr6PDg6SDi6PDy8+Dr5e0g8ODh7vLl7SDv6+7yIixJRENfRU5BQkxFX0RFU0tUT1AsIkJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgICAgQlNfQVVUT0NIRUNLQk9YIHwgV1NfVEFCU1RPUCwxNSwxMDAsMjMwLDEwCgkJICAgIAogICAgRURJVFRFWFQgICAgICAgIElEQ19ERVNLVE9QX1dJRFRILDY0LDExNSw0MCwxMixFU19BVVRPSFNDUk9MTCB8IEVTX05VTUJFUiB8IFdTX0RJU0FCTEVECiAgICBFRElUVEVYVCAgICAgICAgSURDX0RFU0tUT1BfSEVJR0hULDExNywxMTUsNDAsMTIsRVNfQVVUT0hTQ1JPTEwgfCBFU19OVU1CRVIgfCBXU19ESVNBQkxFRAoKICAgIEdST1VQQk9YICAgICAgICAiIERpcmVjdDNEICIsSURDX1NUQVRJQyw4LDE0MCwyNDQsMTIwCgogICAgTFRFWFQJICAgICLP7uTk8Prm6uAg7eAgVmVydGV4IFNoYWRlcjogIixJRENfU1RBVElDLDE1LDE1MCwxMDUsMzAKICAgIENPTUJPQk9YCSAgICBJRENfRDNEX1ZTSEFERVJfTU9ERSwxMTUsMTQ4LDEyNSw3MCxDQlNfRFJPUERPV05MSVNUIHwgV1NfVlNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MICAgICAgICAgItDg5/Dl+OggUGl4ZWwgU2hhZGVyICjg6u4g8eUg7+7k5Prw5uAg7vIg9eDw5PPl8OApIixJRENfRDNEX1BTSEFERVJfTU9ERSwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDE2NSwyMzAsMTAKRU5ECgpJRERfRExMQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiBETEwg5+Ds5e3oICIsSURDX1NUQVRJQyw4LDQsMjQ0LDI0MAogICAgTFRFWFQgICAgICAgICAgICLC8f/q4CDk6O3g7Oj37e4g8eL68Ofg7eAg4ejh6+ju8uXq4CDs7ublIOTgIOH65OUg7urg5+Dt4CDq4PLuIOLj8ODk5e3gICju8ejj8/Dl7eAg7vIgV2luZSkg6OvoIPHu4fHy4uXt4CAo4ufl8uAg7vIgV2luZG93cyDo6+gg7vHo4/Pw5e3gIO7yIO/w6Ovu5uXt6OXy7ikuIgogICAgICAgICAgICAgICAgICAgICxJRENfU1RBVElDLDE2LDE2LDIyMCwzMgogICAgTFRFWFQgICAgICAgICAgICLN7uLgIOHo4evo7vLl9+3gIOfg7P/t4DoiLElEQ19TVEFUSUMsMTYsNTgsMTAwLDgKICAgIENPTUJPQk9YICAgICAgICBJRENfRExMQ09NQk8sMTYsNjgsMTQwLDE0LENCU19EUk9QRE9XTiB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QIHwgQ0JTX1NPUlQgfCBDQlNfTE9XRVJDQVNFCiAgICBQVVNIQlVUVE9OICAgICAgIibE7uHg4ugiLElEQ19ETExTX0FERERMTCwgMTY0LDY4LDgyLDEzLEJTX0RFRlBVU0hCVVRUT04gCiAgICBMVEVYVCAgICAgICAgICAgItH6+eXx8uLz4uD56CDn4Ozl7eg6IixJRENfU1RBVElDLDE2LDg2LDEwMCw4CiAgICBMSVNUQk9YICAgICAgICAgSURDX0RMTFNfTElTVCwxNiw5NiwxNDAsMTQwLFdTX0JPUkRFUiB8IFdTX1RBQlNUT1AgfCBXU19WU0NST0xMCiAgICBQVVNIQlVUVE9OICAgICAgIibQ5eTg6vLo8ODpIixJRENfRExMU19FRElURExMLDE2NCw5Niw4MiwxNAogICAgUFVTSEJVVFRPTiAgICAgICLP8OUm7OD17egiLElEQ19ETExTX1JFTU9WRURMTCwxNjQsMTE0LDgyLDE0IApFTkQKCklERF9MT0FET1JERVIgRElBTE9HIERJU0NBUkRBQkxFIDgwLCA5MCwgMTYwLCA5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAi0OXk4Ory6PDg7eUg7eAg5+Ds/+3gIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBHUk9VUEJPWCAgICAgICAgIiDQ5eQg7eAg5+Dw5ebk4O3lICIsSURDX1NUQVRJQyw4LDQsMTQ0LDY2CiAgICBDT05UUk9MICAgICAgICAgIibC4/Dg5OXt4CAoV2luZSkiLElEQ19SQURfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OIHwgV1NfR1JPVVAsMTYsMTQsMTE1LDEwCiAgICBDT05UUk9MICAgICAgICAgIibR7uHx8uLl7eAgKFdpbmRvd3MpIixJRENfUkFEX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDI0LDExNSwxMAogICAgQ09OVFJPTCAgICAgICAgICLCJuPw4OTl7eAsIO/u8evlIPHu4fHy4uXt4CIsSURDX1JBRF9CVUlMVElOX05BVElWRSwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDM0LDExNSwxMAogICAgQ09OVFJPTCAgICAgICAgICLR7ibh8fLi5e3gLCDv7vHr5SDi4/Dg5OXt4CIsSURDX1JBRF9OQVRJVkVfQlVJTFRJTiwiQnV0dG9uIiwgQlNfQVVUT1JBRElPQlVUVE9OLDE2LDQ0LDExNSwxMAogICAgQ09OVFJPTCAgICAgICAgICImx+Dh8ODt6CIsSURDX1JBRF9ESVNBQkxFLCJCdXR0b24iLCBCU19BVVRPUkFESU9CVVRUT04sMTYsNTQsMTE1LDEwCiAgICBERUZQVVNIQlVUVE9OICAgIk9LIixJRE9LLDI4LDc0LDQ1LDE0LFdTX0dST1VQCiAgICBQVVNIQlVUVE9OICAgICAgIs7y7OXt6CIsSURDQU5DRUwsNzcsNzQsNDUsMTQsV1NfR1JPVVAKRU5ECgpJRERfRFJJVkVDRkcgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIEdST1VQQk9YICAgICAgICAiIM/w5e3g8e734uDt5SDt4CDz8fLw7unx8uLg8uAgIixJRENfU1RBVElDLDgsNCwyNDQsMjQwCiAgICBDT05UUk9MICAgICAgICAgIkxpc3R2aWV3IixJRENfTElTVF9EUklWRVMsIlN5c0xpc3RWaWV3MzIiLExWU19SRVBPUlQgfCBMVlNfQVVUT0FSUkFOR0UgfCBMVlNfQUxJR05MRUZUIHwKICAgICAgICAgICAgICAgICAgICBMVlNfU0lOR0xFU0VMIHwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCwgMTUsMTgsMjMyLDc2CiAgICBQVVNIQlVUVE9OICAgICAgIibE7uHg4uguLi4iLElEQ19CVVRUT05fQURELDE1LDk4LDQ3LDE0CiAgICBQVVNIQlVUVE9OICAgICAgIs/w5Sbs4PXt6CIsSURDX0JVVFRPTl9SRU1PVkUsNjYsOTgsNDcsMTQKICAgIFBVU0hCVVRUT04gICAgICAiJs7y6vDo6S4uLiIsSURDX0JVVFRPTl9BVVRPREVURUNULDE5Nyw5OCw0OSwxNAoKICAgIC8qIGVkaXRpbmcgZHJpdmUgZGV0YWlscyAqLwogICAgTFRFWFQgICAgICAgICAgICImz/ryOiIsSURDX1NUQVRJQywxNSwxMjMsMjAsOSAgICAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9QQVRILDQxLDEyMCwxNjAsMTMsRVNfQVVUT0hTQ1JPTEwgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICAgICAgIibI5+Hl8OguLi4iLElEQ19CVVRUT05fQlJPV1NFX1BBVEgsMjA2LDEyMCw0MCwxMwogICAgCiAgICBMVEVYVCAgICAgICAgICAgIibS6O86IixJRENfU1RBVElDX1RZUEUsMTUsMTM4LDIxLDEwCiAgICBDT01CT0JPWCAgICAgICAgSURDX0NPTUJPX1RZUEUsNDEsMTM1LDc3LDYwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgCiAgICBMVEVYVCAgICAgICAgICAgIsXy6Orl8iDoIPHl8Ojl7SDt7uzl8CIsSURDX0xBQkVMU0VSSUFMX1NUQVRJQywxNSwxNTUsOTUsMTAKICAgIAogICAgUFVTSEJVVFRPTiAgICAgICLk7u/66+3o8uXr7egg7eDx8vDu6eroIixJRENfQlVUVE9OX1NIT1dfSElERV9BRFZBTkNFRCwxNDYsMTM2LDEwMCwxMwogICAgQ09OVFJPTCAgICAgICAgICLO8urw6Okg7vIgJvPx8vDu6fHy4u7y7joiLElEQ19SQURJT19BVVRPREVURUNULCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxNjYsOTMsMTAKICAgIEVESVRURVhUICAgICAgICBJRENfRURJVF9ERVZJQ0UsMjcsMTc2LDE3NCwxMyxFU19BVVRPSFNDUk9MTAogICAgUFVTSEJVVFRPTiAgICAgICLI5ybh5fDoLi4uIixJRENfQlVUVE9OX0JST1dTRV9ERVZJQ0UsMjA2LDE3Niw0MCwxMwogICAgQ09OVFJPTCAgICAgICAgICLH4OTg6SAm8Pr37e46IixJRENfUkFESU9fQVNTSUdOLCJCdXR0b24iLAogICAgICAgICAgICAgICAgICAgIEJTX0FVVE9SQURJT0JVVFRPTiwxNSwxOTUsNjksMTAKCiAgICBMVEVYVCAgICAgICAgICAgIibF8ujq5fI6IixJRENfU1RBVElDX0xBQkVMLDMzLDIwOCwyOSwxMgogICAgRURJVFRFWFQgICAgICAgIElEQ19FRElUX0xBQkVMLDYzLDIwNSw3OCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKICAgIExURVhUICAgICAgICAgICAiJs3u7OXwOiIsSURDX1NUQVRJQ19TRVJJQUwsMzMsMjI1LDI5LDEyCiAgICBFRElUVEVYVCAgICAgICAgSURDX0VESVRfU0VSSUFMLDYzLDIyMSw3OCwxMyxFU19BVVRPSFNDUk9MTCB8IFdTX1RBQlNUT1AKCiAgICBDT05UUk9MICAgICAgICAgIs/u6uDn4uDpIPTg6evu4uXy5Swg5+Dv7vfi4PnoIPEg8u736uAiLElEQ19TSE9XX0RPVF9GSUxFUywiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDgsMjYwLDIzMCw4CkVORAoKSUREX0FVRElPQ0ZHIERJQUxPRyBESVNDQVJEQUJMRSAgMCwgMCwgMjYwLCAyNTAKU1RZTEUgV1NfQ0hJTEQgfCBXU19ESVNBQkxFRApGT05UIDgsICJNUyBTaGVsbCBEbGciCkJFR0lOCiAgICBMVEVYVAkix+Lz6u7iIOTw4Oni5fA6ICIsSURDX1NUQVRJQywxMCwyMCw2MCw4CiAgICBDT01CT0JPWAlJRENfQVVESU9fRFJJVkVSLDcwLDE4LDg1LDg1LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTgkizvLq8Oji4O3lIixJRENfQVVESU9fQVVUT0RFVEVDVCwxNzAsMjAsNjksMTQKICAgIFBVU0hCVVRUT04JIs3g8fLw7unq4CIsSURDX0FVRElPX0NPTkZJR1VSRSwxNzAsNDAsNjksMTQKICAgIFBVU0hCVVRUT04JIsru7fLw7uvl7SDv4O3l6yIsSURDX0FVRElPX0NPTlRST0xfUEFORUwsMTcwLDYwLDY5LDE0CgogICAgR1JPVVBCT1ggICAgIiBEaXJlY3RTb3VuZCAiLElEQ19TVEFUSUMsOCw3NSwyNDQsMTIwCgogICAgTFRFWFQJItXg8OTz5fDt7iDz8eru8OXt6OU6ICIsSURDX1NUQVRJQywxNSw4NSw5MCwxMAogICAgQ09NQk9CT1gJSURDX0RTT1VORF9IV19BQ0NFTCwxMDAsODMsMTUwLDcwLENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgQ09OVFJPTCAgICAgItHu9PLz5fDt4CDl7PPr4Pbo/yIsSURDX0RTT1VORF9EUlZfRU1VTCwiQnV0dG9uIixCU19BVVRPQ0hFQ0tCT1ggfCBXU19UQUJTVE9QLDE1LDEwMCwyMzAsMTAKCkVORAoKSUREX0FQUEVBUkFOQ0UgRElBTE9HIERJU0NBUkRBQkxFICAwLCAwLCAyNjAsIDI1MApTVFlMRSBXU19DSElMRCB8IFdTX0RJU0FCTEVECkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKQkVHSU4KICAgIExURVhUICAgICAgICAgICAi0uXs4DoiLElEQ19TVEFUSUMsOCwxMCwyNDQsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9USEVNRUNPTUJPLDgsMTgsMjQ0LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgUFVTSEJVVFRPTiAgICAgICLI7fHy4Ovo8ODpIPLl7OAuLi4iLElEQ19USEVNRV9JTlNUQUxMLDE1MiwzMiwxMDAsMTQKICAgIExURVhUICAgICAgICAgICAi1uL/8joiLElEQ19USEVNRV9DT0xPUlRFWFQsOCw0OCwyNDQsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9DT0xPUkNPTUJPLDgsNTYsMjQ0LDE0LENCU19EUk9QRE9XTkxJU1QgfCBXU19WU0NST0xMIHwgV1NfVEFCU1RPUAogICAgTFRFWFQgICAgICAgICAgICLQ4Ofs5fA6IixJRENfVEhFTUVfU0laRVRFWFQsOCw3NCwyNDQsOAogICAgQ09NQk9CT1ggICAgICAgIElEQ19USEVNRV9TSVpFQ09NQk8sOCw4MiwyNDQsMTQsQ0JTX0RST1BET1dOTElTVCB8IFdTX1ZTQ1JPTEwgfCBXU19UQUJTVE9QCkVORAoKU1RSSU5HVEFCTEUgRElTQ0FSREFCTEUKQkVHSU4KICAgIElEU19XSU5FX1ZFUlNJT04gICAgICAgICJDVlMiCiAgICBJRFNfVEFCX0FQUExJQ0FUSU9OUyAgICAiz/Do6+7m5e3o/yIKICAgIElEU19UQUJfRExMUyAgICAgICAgICAgICLB6OHr6O7y5eroIgogICAgSURTX1RBQl9EUklWRVMgICAgICAgICAgItPx8vDu6fHy4uAiCiAgICBJRFNfQ0hPT1NFX1BBVEggICAgICAgICAiyOfh5fDl8uUgVW5peCDk6PDl6vLu8Oj/IgogICAgSURTX0hJREVfQURWQU5DRUQgICAgICAgItHq8OjpIOTu7/rr7ejy5evt6PLlIgogICAgSURTX1NIT1dfQURWQU5DRUQgICAgICAgIs/u6uDm6CDk7u/66+3o8uXr7ejy5SIKICAgIElEU19OT1RIRU1FICAgICAgICAgICAgICIo4eXnIPLl7OApIgogICAgSURTX1RBQl9HUkFQSElDUyAgICAgICAgIsPw4PTo6uAiCiAgICBJRFNfVEFCX0FQUEVBUkFOQ0UgICAgICAiwvrt+OXtIOLo5CIKICAgIElEU19UQUJfQVVESU8gICAgICAgICAgICLH4vPqIgogICAgSURTX1RBQl9BQk9VVCAgICAgICAgICAgIs7y7e7x7e4iCiAgICBJRFNfV0lORUNGR19USVRMRSAgICAgICAizeDx8vDu6ergIO3gIFdpbmUiCiAgICBJRFNfVEhFTUVGSUxFICAgICAgICAgICAi1ODp6+7i5SDxIPLl7OgiCiAgICBJRFNfVEhFTUVGSUxFX1NFTEVDVCAgICAiyOfh5fDl8uUg9ODp6yDxIPLl7OAiCkVORAo=