LyoKICogQ29weXJpZ2h0IDIwMDUgTWlsa28gS3JhY2hvdW5vdgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgojaW5jbHVkZSAic2hyZXNkZWYuaCIKCkxBTkdVQUdFIExBTkdfQlVMR0FSSUFOLCBTVUJMQU5HX0RFRkFVTFQKCk1FTlVfMDAxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCU1FTlVJVEVNICImw+7r5ezoIOjq7u3oIiwJRkNJRE1fU0hWSUVXX0JJR0lDT04KCU1FTlVJVEVNICImzODr6ugg6Oru7egiLAlGQ0lETV9TSFZJRVdfU01BTExJQ09OCglNRU5VSVRFTSAiJtHv6PH66iIsCQlGQ0lETV9TSFZJRVdfTElTVFZJRVcKCU1FTlVJVEVNICImz+7k8O7h7e7x8ugiLAlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwpFTkQKCi8qCiBzaGVsbHZpZXcgYmFja2dyb3VuZCBtZW51CiovCk1FTlVfMDAyIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCVBPUFVQICIiCglCRUdJTgoJICBQT1BVUCAiJsjn4+vl5CIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiJsPu6+Xs6CDo6u7t6CIsCUZDSURNX1NIVklFV19CSUdJQ09OCgkgICAgTUVOVUlURU0gIibM4Ovq6CDo6u7t6CIsCUZDSURNX1NIVklFV19TTUFMTElDT04KCSAgICBNRU5VSVRFTSAiJtHv6PH66iIsCQlGQ0lETV9TSFZJRVdfTElTVFZJRVcKCSAgICBNRU5VSVRFTSAiJs/u5PDu4e3u8fLoIiwJRkNJRE1fU0hWSUVXX1JFUE9SVFZJRVcKCSAgRU5ECgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBQT1BVUCAiz+7k8OXk6CAm6Oru7ejy5SIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiz+4gJujs5SIsCQkweDMwCS8qIGNvbHVtbiAwICovCgkgICAgTUVOVUlURU0gIs/uICby6O8iLAkJMHgzMgkvKiBjb2x1bW4gMiAqLwoJICAgIE1FTlVJVEVNICLP7iAm8ODn7OXwIiwJMHgzMQkvKiAuLi4gKi8KCSAgICBNRU5VSVRFTSAiz+4gJuTg8uAiLAkweDMzCgkgICAgTUVOVUlURU0gU0VQQVJBVE9SCgkgICAgTUVOVUlURU0gIibA4vLu7ODy6Pft7iDv7uTw5ebk4O3lIiwJRkNJRE1fU0hWSUVXX0FVVE9BUlJBTkdFCgkgIEVORAoJICBNRU5VSVRFTSAiz+7k8ODi7egg6Oru7ejy5SIsCQlGQ0lETV9TSFZJRVdfU05BUFRPR1JJRAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIs7v8OXx7egiLAkJCUZDSURNX1NIVklFV19SRUZSRVNICgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiwuz66u3oIiwJCQlGQ0lETV9TSFZJRVdfSU5TRVJUCgkgIE1FTlVJVEVNICLC7Prq7egg6uDy7iDi8Prn6uAiLAlGQ0lETV9TSFZJRVdfSU5TRVJUTElOSwoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgItH65+Tg6SIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAize7i4CAm7+Dv6uAiLAkJRkNJRE1fU0hWSUVXX05FV0ZPTERFUgoJICAgIE1FTlVJVEVNICLN7uLgICbi8Prn6uAiLAkJRkNJRE1fU0hWSUVXX05FV0xJTksKCSAgICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgRU5ECgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAi0eLu6fHy4uAiLAkJCUZDSURNX1NIVklFV19QUk9QRVJUSUVTCglFTkQKRU5ECgovKgogc2hlbGx2aWV3IGl0ZW0gbWVudQoqLwpNRU5VX1NIVl9GSUxFIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCVBPUFVQICIiCglCRUdJTgoJICBNRU5VSVRFTSAiJlNlbGVjdCIJCUZDSURNX1NIVklFV19PUEVOCgkgIE1FTlVJVEVNICIm0ODn4+vl5ODpIiwJRkNJRE1fU0hWSUVXX0VYUExPUkUKCSAgTUVOVUlURU0gIibO8uLu8OgiLAkJRkNJRE1fU0hWSUVXX09QRU4KCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICImyOfw5eboIiwJCUZDSURNX1NIVklFV19DVVQKCSAgTUVOVUlURU0gIibK7u/o8ODpIiwJCUZDSURNX1NIVklFV19DT1BZCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAi0frn5ODpICbi8Prn6uAiLAlGQ0lETV9TSFZJRVdfQ1JFQVRFTElOSwoJICBNRU5VSVRFTSAiyOcm8vDo6SIsCQlGQ0lETV9TSFZJRVdfREVMRVRFCgkgIE1FTlVJVEVNICImz/Dl6Ozl7fPi4OkiLAlGQ0lETV9TSFZJRVdfUkVOQU1FCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiJtHi7unx8uLgIiwJCUZDSURNX1NIVklFV19QUk9QRVJUSUVTCglFTkQKRU5ECgpNRU5VX0NQQU5FTCBNRU5VCkJFR0lOCiAgICBQT1BVUCAiJkZpbGUiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFJnhpdCIsIElETV9DUEFORUxfRVhJVAogICAgRU5ECgogICAgUE9QVVAgIiZWaWV3IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJsPu6+Xs6CDo6u7t6CIsIEZDSURNX1NIVklFV19CSUdJQ09OCiAgICAgICAgTUVOVUlURU0gIibM4Ovq6CDo6u7t6CIsIEZDSURNX1NIVklFV19TTUFMTElDT04KICAgICAgICBNRU5VSVRFTSAiJtHv6PH66iIsIEZDSURNX1NIVklFV19MSVNUVklFVwogICAgICAgIE1FTlVJVEVNICImz+7k8O7h7e7x8ugiLCBGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwogICAgRU5ECgogICAgUE9QVVAgIiZIZWxwIgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiJkFib3V0IENvbnRyb2wgUGFuZWwuLi4iLCBJRE1fQ1BBTkVMX0FCT1VUCiAgICBFTkQKRU5ECgpTSEJSU0ZPUkZPTERFUl9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAxODgsIDE5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBEU19NT0RBTEZSQU1FIHwgRFNfU0VURk9OVCB8IERTXzNETE9PSwpDQVBUSU9OICLI5+Hu8CDt4CDv4O/q4CIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJPSyIsIDEsIDgwLCAxNzYsIDUwLCAxMiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAizvLs5e3oIiwgMiwgMTM0LCAxNzYsIDUwLCAxMiwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBMVEVYVCAiIiwgSUREX1RJVExFLCA0LCA0LCAxODAsIDEyCiBMVEVYVCAiIiwgSUREX1NUQVRVUywgNCwgMjUsIDE4MCwgMTIKIENPTlRST0wgIiIsIElERF9UUkVFVklFVywgIlN5c1RyZWVWaWV3MzIiLAogCVRWU19IQVNCVVRUT05TIHwgVFZTX0hBU0xJTkVTIHwgVFZTX0xJTkVTQVRST09UIHwKCVdTX0JPUkRFUiB8IFdTX1RBQlNUT1AsCgk0LCA0MCwgMTgwLCAxMjAKfQoKU0hFTExfQUJPVVRfTVNHQk9YIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDE1LCA0MCwgMjIwLCAxNTIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIs7y7e7x7e4gJXMiCkZPTlQgMTAsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMTUzLCAxMzMsIDYwLCAxMiwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiV2luZSAmbGljZW5zZS4uLiIsIElEQ19BQk9VVF9MSUNFTlNFLCAxNTMsIDExMywgNjAsIDEyLCBXU19UQUJTVE9QCiBMSVNUQk9YIElEQ19BQk9VVF9MSVNUQk9YLCA4LCA2NSwgMTM3LCA4MiwgTEJTX05PVElGWSB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKIElDT04gIiIsIHN0YzEsIDEwLCAxMCwgMzAsIDMwCiBMVEVYVCAiIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMSwgNDAsIDEwLCAxNzAsIDEwCiBMVEVYVCAiIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMiwgNDAsIDIyLCAxNzAsIDEwCiBMVEVYVCAiUnVubmluZyBvbiAlcyIsIElEQ19BQk9VVF9TVEFUSUNfVEVYVDMsIDQyLCAzNCwgMTcwLCAxMAogTFRFWFQgIldpbmUg4eX45SDx+ufk4OTl7SDn4CDi4PEg7vI6IiwgSURDX0FCT1VUX1dJTkVfVEVYVCwgOCwgNTQsIDIwNCwgMTAKfQoKU0hFTExfUlVOX0RMRyBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyMjcsIDk1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogSUNPTiAiIiwgMTIyOTcsIDcsIDExLCAxOCwgMjAsIFdTX1ZJU0lCTEUKIExURVhUICLC+uLl5OXy5SDo7OUg7eAg7/Du4/Dg7OAsIO/g7+rgLCDk7urz7OXt8iDo6+ggyO3y5fDt5fIg8OXx8/DxIOggV2luZSD55SDj7iDu8uLu8Ogg5+Ag4uDxLiIsIDEyMjg5LCAzNiwgMTEsIDE4MiwgMTgKIExURVhUICImT3BlbjoiLCAxMjMwNSwgNywgMzksIDI0LCAxMAogQ09OVFJPTCAiIiwgMTIyOTgsICJDT01CT0JPWCIsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IFdTX1ZTQ1JPTEwgfCBXU19WSVNJQkxFIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19EUk9QRE9XTiwgMzYsIDM3LCAxODMsIDEwMAogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA2MiwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAizvLs5e3oIiwgSURDQU5DRUwsIDExNiwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiJsjn4eXw6C4uLiIsIDEyMjg4LCAxNzAsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKfQoKU1RSSU5HVEFCTEUKewogICAgICAgIC8qIGNvbHVtbnMgaW4gdGhlIHNoZWxsdmlldyAqLwoJSURTX1NIVl9DT0xVTU4xCQki1ODp6yIKCUlEU19TSFZfQ09MVU1OMgkJItDg5+zl8CIKCUlEU19TSFZfQ09MVU1OMwkJItLo7yIKCUlEU19TSFZfQ09MVU1ONAkJIs/w7uzl7eXtIgoJSURTX1NIVl9DT0xVTU41CQkiwPLw6OHz8ugiCglJRFNfU0hWX0NPTFVNTjYJCSLQ4Ofs5fAiCglJRFNfU0hWX0NPTFVNTjcJCSLO8fLg4uD5IPDg5+zl8CIgLyogU2l6ZSBhdmFpbGFibGUsIMri7u7u7u7u7u7u7u7u7iE/ICovCglJRFNfU0hWX0NPTFVNTjgJCSLI7OUiCglJRFNfU0hWX0NPTFVNTjkJCSLK7uzl7fLg8CIKCUlEU19TSFZfQ09MVU1OMTAJItHu4fHy4uXt6OoiCglJRFNfU0hWX0NPTFVNTjExCSLD8PPv4CIKCUlEU19TSFZfQ09MVU1OX0RFTEZST00JIk9yaWdpbmFsIGxvY2F0aW9uIgoJSURTX1NIVl9DT0xVTU5fREVMREFURQkiRGF0ZSBkZWxldGVkIgoKICAgICAgICAvKiBzcGVjaWFsIGZvbGRlcnMgKi8KCUlEU19ERVNLVE9QCQki0ODh7vLl7SDv6+7yIgoJSURTX01ZQ09NUFVURVIJCSLM7v/yIOru7O/+8vrwIgoJSURTX0NPTlRST0xQQU5FTAkiQ29udHJvbCBQYW5lbCIKCiAgICAgICAgLyogY29udGV4dCBtZW51cyAqLwoJSURTX1ZJRVdfTEFSR0UJCSImw+7r5ezoIOjq7u3oIgoJSURTX1ZJRVdfU01BTEwJCSImzODr6ugg6Oru7egiCglJRFNfVklFV19MSVNUCQkiJtHv6PH66iIKCUlEU19WSUVXX0RFVEFJTFMJIibP7uTw7uHt7vHy6CIKCUlEU19TRUxFQ1QJCSLI5+Hl8OgiCglJRFNfT1BFTgkJIs7y4u7w6CIKCglJRFNfQ1JFQVRFRk9MREVSX0RFTklFRCAiz+Dv6uDy4CDt5SDs7ublIOTgIOH65OUg8frn5ODk5e3gOiDE7vHy+u/68iDu8urg5+DtLiIKCUlEU19DUkVBVEVGT0xERVJfQ0FQVElPTiAiw/Dl+OrgIO/w6CDx+ufk4OLg7eXy7iDt4CDt7uLgIO/g7+rgLiIKCUlEU19ERUxFVEVJVEVNX0NBUFRJT04gIs/u8uL68OTl8uUg6Ofy8Oji4O3l8u4g7eAg9ODp6+AiCglJRFNfREVMRVRFRk9MREVSX0NBUFRJT04gIs/u8uL68OTl8uUg6Ofy8Oji4O3l8u4g7eAg7+Dv6uDy4CIKCUlEU19ERUxFVEVJVEVNX1RFWFQgIs3g6PHy6O3gIOvoIOjx6uDy5SDk4CDo5/Lw6OXy5SAnJTEnPyIKCUlEU19ERUxFVEVNVUxUSVBMRV9URVhUICLN4Ojx8ujt4CDr6CDo8erg8uUg5OAg6Ofy8Ojl8uUg8uXn6CAlMSDl6+Xs5e3y4D8iCglJRFNfREVMRVRFU0VMRUNURURfVEVYVCAizeDo8fLo7eAg6+gg6PHq4PLlIOTgIOjn8vDo5fLlIOjn4fDg7ejy5SDl6+Xs5e3y6D8iCglJRFNfVFJBU0hJVEVNX1RFWFQgIkFyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIHNlbmQgJyUxJyB0byB0aGUgVHJhc2g/IgoJSURTX1RSQVNIRk9MREVSX1RFWFQgIkFyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIHNlbmQgJyUxJyBhbmQgYWxsIGl0cyBjb250ZW50IHRvIHRoZSBUcmFzaD8iCglJRFNfVFJBU0hNVUxUSVBMRV9URVhUICJBcmUgeW91IHN1cmUgdGhhdCB5b3Ugd2FudCB0byBzZW5kIHRoZXNlICUxIGl0ZW1zIHRvIHRoZSBUcmFzaD8iCglJRFNfQ0FOVFRSQVNIX1RFWFQgIlRoZSBpdGVtICclMScgY2FuJ3QgYmUgc2VudCB0byBUcmFzaC4gRG8geW91IHdhbnQgdG8gZGVsZXRlIGl0IGluc3RlYWQ/IgoJSURTX09WRVJXUklURUZJTEVfVEVYVCAiVGhpcyBmb2xkZXIgYWxyZWFkeSBjb250YWlucyBhIGZpbGUgY2FsbGVkICclMScuXG5cbkRvIHlvdSB3YW50IHRvIHJlcGxhY2UgaXQ/IgoJSURTX09WRVJXUklURUZJTEVfQ0FQVElPTiAiz+7y4vrw5OXy5SDv8OXn4O/o8eAg7eAg9ODp6+AiCglJRFNfT1ZFUldSSVRFRk9MREVSX1RFWFQgIlRoaXMgZm9sZGVyIGFscmVhZHkgY29udGFpbnMgYSBmb2xkZXIgbmFtZWQgJyUxJy5cblxuIlwKCSAgICAiSWYgdGhlIGZpbGVzIGluIHRoZSBkZXN0aW5hdGlvbiBmb2xkZXIgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcyBmaWxlcyBpbiB0aGVcbiJcCgkgICAgInNlbGVjdGVkIGZvbGRlciB0aGV5IHdpbGwgYmUgcmVwbGFjZWQuIERvIHlvdSBzdGlsbCB3YW50IHRvIG1vdmUgb3IgY29weVxuIlwKCSAgICAidGhlIGZvbGRlcj8iCgogICAgICAgIC8qIG1lc3NhZ2UgYm94IHN0cmluZ3MgKi8KICAgICAgICBJRFNfUkVTVEFSVF9USVRMRSAgICAgICAi0OXx8uDw8ujw4O3lIgogICAgICAgIElEU19SRVNUQVJUX1BST01QVCAgICAgICLI8erg8uUg6+gg5OAg8ejs8+vo8ODy5SDw5fHy4PDy6PDg7eUg7eAgV2luZG93cz8iCiAgICAgICAgSURTX1NIVVRET1dOX1RJVExFICAgICAgIsjn6uv+9+Lg7eUiCiAgICAgICAgSURTX1NIVVRET1dOX1BST01QVCAgICAgIsjx6uDy5SDr6CDk4CDv8OXq8ODy6PLlIOLg+ODy4CBXaW5lIPHl8ej/PyIKCiAgICAgICAgLyogc2hlbGwgZm9sZGVyIHBhdGggZGVmYXVsdCB2YWx1ZXMgKi8KICAgICAgICAvKiDS5efoIOzu5uUg4egg5SDk7uHw4CDo5OX/IOTgIO7x8uDt4PIg7eXv8OXi5eTl7eggPyAqLwoJSURTX1BST0dSQU1TICAgICAgICAgICAgICAgICJTdGFydCBNZW51XFxQcm9ncmFtcyIKCUlEU19QRVJTT05BTCAgICAgICAgICAgICAgICAiTXkgRG9jdW1lbnRzIgoJSURTX0ZBVk9SSVRFUyAgICAgICAgICAgICAgICJGYXZvcml0ZXMiCglJRFNfU1RBUlRVUCAgICAgICAgICAgICAgICAgIlN0YXJ0IE1lbnVcXFByb2dyYW1zXFxTdGFydFVwIgoJSURTX1JFQ0VOVCAgICAgICAgICAgICAgICAgICJSZWNlbnQiCglJRFNfU0VORFRPICAgICAgICAgICAgICAgICAgIlNlbmRUbyIKCUlEU19TVEFSVE1FTlUgICAgICAgICAgICAgICAiU3RhcnQgTWVudSIKCUlEU19NWU1VU0lDICAgICAgICAgICAgICAgICAiTXkgTXVzaWMiCglJRFNfTVlWSURFTyAgICAgICAgICAgICAgICAgIk15IFZpZGVvIgoJSURTX0RFU0tUT1BESVJFQ1RPUlkgICAgICAgICJEZXNrdG9wIgoJSURTX05FVEhPT0QgICAgICAgICAgICAgICAgICJOZXRIb29kIgoJSURTX1RFTVBMQVRFUyAgICAgICAgICAgICAgICJUZW1wbGF0ZXMiCglJRFNfQVBQREFUQSAgICAgICAgICAgICAgICAgIkFwcGxpY2F0aW9uIERhdGEiCglJRFNfUFJJTlRIT09EICAgICAgICAgICAgICAgIlByaW50SG9vZCIKCUlEU19MT0NBTF9BUFBEQVRBICAgICAgICAgICAiTG9jYWwgU2V0dGluZ3NcXEFwcGxpY2F0aW9uIERhdGEiCglJRFNfSU5URVJORVRfQ0FDSEUgICAgICAgICAgIkxvY2FsIFNldHRpbmdzXFxUZW1wb3JhcnkgSW50ZXJuZXQgRmlsZXMiCglJRFNfQ09PS0lFUyAgICAgICAgICAgICAgICAgIkNvb2tpZXMiCglJRFNfSElTVE9SWSAgICAgICAgICAgICAgICAgIkxvY2FsIFNldHRpbmdzXFxIaXN0b3J5IgoJSURTX1BST0dSQU1fRklMRVMgICAgICAgICAgICJQcm9ncmFtIEZpbGVzIgoJSURTX01ZUElDVFVSRVMgICAgICAgICAgICAgICJNeSBQaWN0dXJlcyIKCUlEU19QUk9HUkFNX0ZJTEVTX0NPTU1PTiAgICAiUHJvZ3JhbSBGaWxlc1xcQ29tbW9uIEZpbGVzIgoJSURTX0NPTU1PTl9ET0NVTUVOVFMgICAgICAgICJEb2N1bWVudHMiCglJRFNfQURNSU5UT09MUyAgICAgICAgICAgICAgIlN0YXJ0IE1lbnVcXFByb2dyYW1zXFxBZG1pbmlzdHJhdGl2ZSBUb29scyIKCUlEU19DT01NT05fTVVTSUMgICAgICAgICAgICAiRG9jdW1lbnRzXFxNeSBNdXNpYyIKCUlEU19DT01NT05fUElDVFVSRVMgICAgICAgICAiRG9jdW1lbnRzXFxNeSBQaWN0dXJlcyIKCUlEU19DT01NT05fVklERU8gICAgICAgICAgICAiRG9jdW1lbnRzXFxNeSBWaWRlbyIKCUlEU19DREJVUk5fQVJFQSAgICAgICAgICAgICAiTG9jYWwgU2V0dGluZ3NcXEFwcGxpY2F0aW9uIERhdGFcXE1pY3Jvc29mdFxcQ0QgQnVybmluZyIKCglJRFNfTkVXRk9MREVSCQkiTmV3IEZvbGRlciIKCglJRFNfQ1BBTkVMX1RJVExFICAgICAgICAgICAgIldpbmUgQ29udHJvbCBQYW5lbCIKCUlEU19DUEFORUxfTkFNRSAgICAgICAgICAgICAiTmFtZSIKCUlEU19DUEFORUxfREVTQ1JJUFRJT04gICAgICAiRGVzY3JpcHRpb24iCn0K