LyoKICogQ29weXJpZ2h0IDE5OTggSnVlcmdlbiBTY2htaWVkCiAqIENvcHlyaWdodCAyMDAzLTIwMDQgUHVvdGkKICogQ29weXJpZ2h0IDIwMDYgQW50b25pbyBDb2RhenppCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCiNpbmNsdWRlICJzaHJlc2RlZi5oIgoKTEFOR1VBR0UgTEFOR19JVEFMSUFOLCBTVUJMQU5HX05FVVRSQUwKCk1FTlVfMDAxIE1FTlUgRElTQ0FSREFCTEUKQkVHSU4KCU1FTlVJVEVNICJJY29uZSAmR3JhbmRpIiwJRkNJRE1fU0hWSUVXX0JJR0lDT04KCU1FTlVJVEVNICJJY29uZSAmUGljY29sZSIsCUZDSURNX1NIVklFV19TTUFMTElDT04KCU1FTlVJVEVNICImTGlzdGEiLAkJRkNJRE1fU0hWSUVXX0xJU1RWSUVXCglNRU5VSVRFTSAiJkRldHRhZ2xpIiwJCUZDSURNX1NIVklFV19SRVBPUlRWSUVXCkVORAoKLyoKIHNoZWxsdmlldyBiYWNrZ3JvdW5kIG1lbnUKKi8KTUVOVV8wMDIgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJUE9QVVAgIiIKCUJFR0lOCgkgIFBPUFVQICImVmlzdWFsaXp6YSIKCSAgQkVHSU4KCSAgICBNRU5VSVRFTSAiSWNvbmUgJkdyYW5kaSIsCUZDSURNX1NIVklFV19CSUdJQ09OCgkgICAgTUVOVUlURU0gIkljb25lICZQaWNjb2xlIiwJRkNJRE1fU0hWSUVXX1NNQUxMSUNPTgoJICAgIE1FTlVJVEVNICImTGlzdGEiLAkJRkNJRE1fU0hWSUVXX0xJU1RWSUVXCgkgICAgTUVOVUlURU0gIiZEZXR0YWdsaSIsCUZDSURNX1NIVklFV19SRVBPUlRWSUVXCgkgIEVORAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIkRpc3BvbmkgJkljb25lIgoJICBCRUdJTgoJICAgIE1FTlVJVEVNICJQZXIgJk5vbWUiLAkweDMwCS8qIGNvbHVtbiAwICovCgkgICAgTUVOVUlURU0gIlBlciAmVGlwbyIsCTB4MzIJLyogY29sdW1uIDIgKi8KCSAgICBNRU5VSVRFTSAiUGVyIERpJm1lbnNpb25lIiwJMHgzMQkvKiAuLi4gKi8KCSAgICBNRU5VSVRFTSAiUGVyICZEYXRhIiwJMHgzMwoJICAgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICAgIE1FTlVJVEVNICImRGlzcG9uaSBBdXRvbWF0aWNhbWVudGUiLAlGQ0lETV9TSFZJRVdfQVVUT0FSUkFOR0UKCSAgRU5ECgkgIE1FTlVJVEVNICJBbGxpbmVhIEljb25lIiwJRkNJRE1fU0hWSUVXX1NOQVBUT0dSSUQKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJBZ2dpb3JuYSIsCQlGQ0lETV9TSFZJRVdfUkVGUkVTSAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIkluY29sbGEiLAkJRkNJRE1fU0hWSUVXX0lOU0VSVAoJICBNRU5VSVRFTSAiQ3JlYSBDb2xsZWdhbWVudG8iLAlGQ0lETV9TSFZJRVdfSU5TRVJUTElOSwoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgUE9QVVAgIk51b3ZvIgoJICBCRUdJTgoJICAgIE1FTlVJVEVNICJOdW92YSAmQ2FydGVsbGEiLAlGQ0lETV9TSFZJRVdfTkVXRk9MREVSCgkgICAgTUVOVUlURU0gIk51b3ZvIENvJmxsZWdhbWVudG8iLAlGQ0lETV9TSFZJRVdfTkVXTElOSwoJICAgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBFTkQKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJQcm9wcmlldOAiLAlGQ0lETV9TSFZJRVdfUFJPUEVSVElFUwoJRU5ECkVORAoKLyoKIHNoZWxsdmlldyBpdGVtIG1lbnUKKi8KTUVOVV9TSFZfRklMRSBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCglQT1BVUCAiIgoJQkVHSU4KCSAgTUVOVUlURU0gIiZTZWxlY3QiCQlGQ0lETV9TSFZJRVdfT1BFTgoJICBNRU5VSVRFTSAiRSZzcGxvcmEiLAkJRkNJRE1fU0hWSUVXX0VYUExPUkUKCSAgTUVOVUlURU0gIiZBcHJpIiwJCUZDSURNX1NIVklFV19PUEVOCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiJlRhZ2xpYSIsCQlGQ0lETV9TSFZJRVdfQ1VUCgkgIE1FTlVJVEVNICImQ29waWEiLAkJRkNJRE1fU0hWSUVXX0NPUFkKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJDcmVhIENvJmxsZWdhbWVudG8iLAlGQ0lETV9TSFZJRVdfQ1JFQVRFTElOSwoJICBNRU5VSVRFTSAiJkNhbmNlbGxhIiwJCUZDSURNX1NIVklFV19ERUxFVEUKCSAgTUVOVUlURU0gIiZSaW5vbWluYSIsCQlGQ0lETV9TSFZJRVdfUkVOQU1FCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBNRU5VSVRFTSAiJlByb3ByaWV04CIsCUZDSURNX1NIVklFV19QUk9QRVJUSUVTCglFTkQKRU5ECgpNRU5VX0NQQU5FTCBNRU5VCkJFR0lOCiAgICBQT1BVUCAiJkZpbGUiCiAgICBCRUdJTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJFJnhpdCIsIElETV9DUEFORUxfRVhJVAogICAgRU5ECgogICAgUE9QVVAgIiZWaWV3IgogICAgQkVHSU4KICAgICAgICBNRU5VSVRFTSAiSWNvbmUgJkdyYW5kaSIsIEZDSURNX1NIVklFV19CSUdJQ09OCiAgICAgICAgTUVOVUlURU0gIkljb25lICZQaWNjb2xlIiwgRkNJRE1fU0hWSUVXX1NNQUxMSUNPTgogICAgICAgIE1FTlVJVEVNICImTGlzdGEiLCBGQ0lETV9TSFZJRVdfTElTVFZJRVcKICAgICAgICBNRU5VSVRFTSAiJkRldHRhZ2xpIiwgRkNJRE1fU0hWSUVXX1JFUE9SVFZJRVcKICAgIEVORAoKICAgIFBPUFVQICImSGVscCIKICAgIEJFR0lOCiAgICAgICAgTUVOVUlURU0gIiZBYm91dCBDb250cm9sIFBhbmVsLi4uIiwgSURNX0NQQU5FTF9BQk9VVAogICAgRU5ECkVORAoKU0hCUlNGT1JGT0xERVJfTVNHQk9YIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDE1LCA0MCwgMTg4LCAxOTIKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VIHwgRFNfTU9EQUxGUkFNRSB8IERTX1NFVEZPTlQgfCBEU18zRExPT0sKQ0FQVElPTiAiU2ZvZ2xpYSBDYXJ0ZWxsYSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBERUZQVVNIQlVUVE9OICJPSyIsIDEsIDgwLCAxNzYsIDUwLCAxMiwgQlNfREVGUFVTSEJVVFRPTiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQW5udWxsYSIsIDIsIDEzNCwgMTc2LCA1MCwgMTIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiIsIElERF9USVRMRSwgNCwgNCwgMTgwLCAxMgogTFRFWFQgIiIsIElERF9TVEFUVVMsIDQsIDI1LCAxODAsIDEyCiBDT05UUk9MICIiLCBJRERfVFJFRVZJRVcsICJTeXNUcmVlVmlldzMyIiwKIAlUVlNfSEFTQlVUVE9OUyB8IFRWU19IQVNMSU5FUyB8IFRWU19MSU5FU0FUUk9PVCB8CglXU19CT1JERVIgfCBXU19UQUJTVE9QLAoJNCwgNDAsIDE4MCwgMTIwCn0KClNIRUxMX0FCT1VUX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDIyMCwgMTUyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJJbmZvcm1hemlvbmkgc3UgJXMiCkZPTlQgMTAsICJNUyBTaGVsbCBEbGciCnsKIERFRlBVU0hCVVRUT04gIk9LIiwgSURPSywgMTUzLCAxMzMsIDYwLCAxMiwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiV2luZSAmbGljZW5zZS4uLiIsIElEQ19BQk9VVF9MSUNFTlNFLCAxNTMsIDExMywgNjAsIDEyLCBXU19UQUJTVE9QCiBMSVNUQk9YIElEQ19BQk9VVF9MSVNUQk9YLCA4LCA2NSwgMTM3LCA4MiwgTEJTX05PVElGWSB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKIElDT04gIiIsIHN0YzEsIDEwLCAxMCwgMzAsIDMwCiBMVEVYVCAiIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMSwgNDAsIDEwLCAxNzAsIDEwCiBMVEVYVCAiIiwgSURDX0FCT1VUX1NUQVRJQ19URVhUMiwgNDAsIDIyLCAxNzAsIDEwCiBMVEVYVCAiUnVubmluZyBvbiAlcyIsIElEQ19BQk9VVF9TVEFUSUNfVEVYVDMsIDQyLCAzNCwgMTcwLCAxMAogTFRFWFQgIldpbmUg6CBkaXNwb25pYmlsZSBncmF6aWUgYToiLCBJRENfQUJPVVRfV0lORV9URVhULCA4LCA1NCwgMjA0LCAxMAp9CgpTSEVMTF9SVU5fRExHIERJQUxPRyBMT0FET05DQUxMIE1PVkVBQkxFIERJU0NBUkRBQkxFIDAsIDAsIDIyNywgOTUKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IFdTX1BPUFVQIHwgV1NfVklTSUJMRSB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIiIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBJQ09OICIiLCAxMjI5NywgNywgMTEsIDE4LCAyMCwgV1NfVklTSUJMRQogTFRFWFQgIkRpZ2l0YXJlIGlsIG5vbWUgZGVsIHByb2dyYW1tYSwgZGVsbGEgY2FydGVsbGEsIGRlbCBkb2N1bWVudG8gbyBkZWxsYSByaXNvcnNhIGludGVybmV0LCBlIFdpbmUgbGEgYXByaXLgLiIsIDEyMjg5LCAzNiwgMTEsIDE4MiwgMTgKIExURVhUICImQXByaToiLCAxMjMwNSwgNywgMzksIDI0LCAxMAogQ09OVFJPTCAiIiwgMTIyOTgsICJDT01CT0JPWCIsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IFdTX1ZTQ1JPTEwgfCBXU19WSVNJQkxFIHwgQ0JTX0RJU0FCTEVOT1NDUk9MTCB8IENCU19BVVRPSFNDUk9MTCB8IENCU19EUk9QRE9XTiwgMzYsIDM3LCAxODMsIDEwMAogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCA2MiwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiQW5udWxsYSIsIElEQ0FOQ0VMLCAxMTYsIDYzLCA1MCwgMTQsIFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkUmc3Bsb3JhLi4uIiwgMTIyODgsIDE3MCwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAp9CgpTVFJJTkdUQUJMRQp7CgkvKgljb2x1bW5zIGluIHRoZSBzaGVsbHZpZXcJKi8KCUlEU19TSFZfQ09MVU1OMQkJIkZpbGUiCglJRFNfU0hWX0NPTFVNTjIJCSJEaW1lbnNpb25lIgoJSURTX1NIVl9DT0xVTU4zCQkiVGlwbyIKCUlEU19TSFZfQ09MVU1ONAkJIk1vZGlmaWNhdG8iCglJRFNfU0hWX0NPTFVNTjUJCSJBdHRyaWJ1dGkiCglJRFNfU0hWX0NPTFVNTjYJCSJTcGF6aW8iCglJRFNfU0hWX0NPTFVNTjcJCSJTcGF6aW8gZGlzcG9uaWJpbGUiCglJRFNfU0hWX0NPTFVNTjgJCSJOb21lIgoJSURTX1NIVl9DT0xVTU45CQkiQ29tbWVudGkiCglJRFNfU0hWX0NPTFVNTjEwCSJPd25lciIKCUlEU19TSFZfQ09MVU1OMTEJIkdyb3VwIgoJSURTX1NIVl9DT0xVTU5fREVMRlJPTQkiT3JpZ2luYWwgbG9jYXRpb24iCglJRFNfU0hWX0NPTFVNTl9ERUxEQVRFCSJEYXRlIGRlbGV0ZWQiCgoJLyogc3BlY2lhbCBmb2xkZXIgKi8KCUlEU19ERVNLVE9QCQkiRGVza3RvcCIKCUlEU19NWUNPTVBVVEVSCQkiUmlzb3JzZSBkZWwgQ29tcHV0ZXIiCglJRFNfQ09OVFJPTFBBTkVMCSJDb250cm9sIFBhbmVsIgoKCS8qICBjb250ZXh0IG1lbnVzICAqLwoJSURTX1ZJRVdfTEFSR0UJCSJJY29uZSAmR3JhbmRpIgoJSURTX1ZJRVdfU01BTEwJCSJJY29uZSAmUGljY29sZSIKCUlEU19WSUVXX0xJU1QJCSImTGlzdGEiCglJRFNfVklFV19ERVRBSUxTCSImRGV0dGFnbGkiCglJRFNfU0VMRUNUCQkiU2VsZXppb25lIgoJSURTX09QRU4JCSJBcHJpIgoKCUlEU19DUkVBVEVGT0xERVJfREVOSUVEICJJbXBvc3NpYmlsZSBjcmVhcmUgbGEgY2FydGVsbGE6IEFjY2Vzc28gbmVnYXRvLiIKCUlEU19DUkVBVEVGT0xERVJfQ0FQVElPTiAiRXJyb3JlIGR1cmFudGUgbGEgY3JlYXppb25lIGRlbGxhIGNhcnRlbGxhIgoJSURTX0RFTEVURUlURU1fQ0FQVElPTiAiQ29uZmVybWFyZSBsYSBjYW5jZWxsYXppb25lIGRlbCBmaWxlIgoJSURTX0RFTEVURUZPTERFUl9DQVBUSU9OICJDb25mZXJtYXJlIGxhIGNhbmNlbGxhemlvbmUgZGVsbGEgY2FydGVsbGEiCglJRFNfREVMRVRFSVRFTV9URVhUICJTZWkgc2ljdXJvIGRpIHZvbGVyIGNhbmNlbGxhcmUgJyUxJz8iCglJRFNfREVMRVRFTVVMVElQTEVfVEVYVCAiU2VpIHNpY3VybyBkaSB2b2xlciBjYW5jZWxsYXJlIHF1ZXN0aSAlMSBlbGVtZW50aT8iCglJRFNfREVMRVRFU0VMRUNURURfVEVYVCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGUgc2VsZWN0ZWQgaXRlbShzKT8iCglJRFNfVFJBU0hJVEVNX1RFWFQgIkFyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIHNlbmQgJyUxJyB0byB0aGUgVHJhc2g/IgoJSURTX1RSQVNIRk9MREVSX1RFWFQgIkFyZSB5b3Ugc3VyZSB0aGF0IHlvdSB3YW50IHRvIHNlbmQgJyUxJyBhbmQgYWxsIGl0cyBjb250ZW50IHRvIHRoZSBUcmFzaD8iCglJRFNfVFJBU0hNVUxUSVBMRV9URVhUICJBcmUgeW91IHN1cmUgdGhhdCB5b3Ugd2FudCB0byBzZW5kIHRoZXNlICUxIGl0ZW1zIHRvIHRoZSBUcmFzaD8iCglJRFNfQ0FOVFRSQVNIX1RFWFQgIlRoZSBpdGVtICclMScgY2FuJ3QgYmUgc2VudCB0byBUcmFzaC4gRG8geW91IHdhbnQgdG8gZGVsZXRlIGl0IGluc3RlYWQ/IgoJSURTX09WRVJXUklURUZJTEVfVEVYVCAiVGhpcyBmb2xkZXIgYWxyZWFkeSBjb250YWlucyBhIGZpbGUgY2FsbGVkICclMScuXG5cbkRvIHlvdSB3YW50IHRvIHJlcGxhY2UgaXQ/IgoJSURTX09WRVJXUklURUZJTEVfQ0FQVElPTiAiQ29uZmVybWFyZSBsYSBzb3ZyYXNjcml6aW9uZSBkZWwgRmlsZSIKCUlEU19PVkVSV1JJVEVGT0xERVJfVEVYVCAiVGhpcyBmb2xkZXIgYWxyZWFkeSBjb250YWlucyBhIGZvbGRlciBuYW1lZCAnJTEnLlxuXG4iXAoJICAgICJJZiB0aGUgZmlsZXMgaW4gdGhlIGRlc3RpbmF0aW9uIGZvbGRlciBoYXZlIHRoZSBzYW1lIG5hbWVzIGFzIGZpbGVzIGluIHRoZVxuIlwKCSAgICAic2VsZWN0ZWQgZm9sZGVyIHRoZXkgd2lsbCBiZSByZXBsYWNlZC4gRG8geW91IHN0aWxsIHdhbnQgdG8gbW92ZSBvciBjb3B5XG4iXAoJICAgICJ0aGUgZm9sZGVyPyIKCgkvKiBtZXNzYWdlIGJveCBzdHJpbmdzICovCiAgICAgICBJRFNfUkVTVEFSVF9USVRMRSAgICAgICAiUmlhdnZpYSIKICAgICAgIElEU19SRVNUQVJUX1BST01QVCAgICAgICJWdW9pIHNpbXVsYXJlIHVuIHJpYXZ2aW8gZGkgV2luZG93cz8iCiAgICAgICBJRFNfU0hVVERPV05fVElUTEUgICAgICAiVGVybWluYSBzZXNzaW9uZSIKICAgICAgIElEU19TSFVURE9XTl9QUk9NUFQgICAgICJWdW9pIHRlcm1pbmFyZSBsYSBzZXNzaW9uZSBkaSBXaW5lPyIKCgkvKiBzaGVsbCBmb2xkZXIgcGF0aCBkZWZhdWx0IHZhbHVlcyAqLwoJSURTX1NUQVJUTUVOVSAgICAgICAgICAgICAgICJTdGFydCBNZW51IgoJSURTX1BST0dSQU1TICAgICAgICAgICAgICAgICJTdGFydCBNZW51XFxQcm9ncmFtbWkiCglJRFNfU1RBUlRVUCAgICAgICAgICAgICAgICAgIlN0YXJ0IE1lbnVcXFByb2dyYW1taVxcU3RhcnRVcCIKCUlEU19BRE1JTlRPT0xTICAgICAgICAgICAgICAiU3RhcnQgTWVudVxcUHJvZ3JhbW1pXFxBZG1pbmlzdHJhdGl2ZSBUb29scyIKCUlEU19JTlRFUk5FVF9DQUNIRSAgICAgICAgICAiU2V0dGFnZ2kgTG9jYWxpXFxUZW1wb3JhcnkgSW50ZXJuZXQgRmlsZXMiCglJRFNfSElTVE9SWSAgICAgICAgICAgICAgICAgIlNldHRhZ2dpIExvY2FsaVxcQ3Jvbm9sb2dpYSIKCUlEU19MT0NBTF9BUFBEQVRBICAgICAgICAgICAiU2V0dGFnZ2kgTG9jYWxpXFxBcHBsaWNhemlvbmkiCglJRFNfQ0RCVVJOX0FSRUEgICAgICAgICAgICAgIlNldHRhZ2dpIExvY2FsaVxcQXBwbGljYXppb25pXFxNaWNyb3NvZnRcXENEIEJ1cm5pbmciCglJRFNfUFJPR1JBTV9GSUxFUyAgICAgICAgICAgIlByb2dyYW1taSIKCUlEU19QUk9HUkFNX0ZJTEVTX0NPTU1PTiAgICAiUHJvZ3JhbW1pXFxDb21tb24gRmlsZXMiCglJRFNfQ09NTU9OX0RPQ1VNRU5UUyAgICAgICAgIkRvY3VtZW50aSIKCUlEU19DT01NT05fTVVTSUMgICAgICAgICAgICAiRG9jdW1lbnRpXFxNdXNpY2EiCglJRFNfQ09NTU9OX1BJQ1RVUkVTICAgICAgICAgIkRvY3VtZW50aVxcSW1tYWdpbmkiCglJRFNfQ09NTU9OX1ZJREVPICAgICAgICAgICAgIkRvY3VtZW50aVxcVmlkZW8iCglJRFNfUEVSU09OQUwgICAgICAgICAgICAgICAgIk1pZWkgRG9jdW1lbnRpIgoJSURTX01ZTVVTSUMgICAgICAgICAgICAgICAgICJNdXNpY2EiCglJRFNfTVlWSURFTyAgICAgICAgICAgICAgICAgIlZpZGVvIgoJSURTX01ZUElDVFVSRVMgICAgICAgICAgICAgICJJbW1hZ2luaSIKCUlEU19GQVZPUklURVMgICAgICAgICAgICAgICAiRmF2b3JpdGkiCglJRFNfUkVDRU5UICAgICAgICAgICAgICAgICAgIlJlY2VudGkiCglJRFNfU0VORFRPICAgICAgICAgICAgICAgICAgIlNlbmRUbyIKCUlEU19ERVNLVE9QRElSRUNUT1JZICAgICAgICAiRGVza3RvcCIKCUlEU19ORVRIT09EICAgICAgICAgICAgICAgICAiTmV0SG9vZCIKCUlEU19URU1QTEFURVMgICAgICAgICAgICAgICAiTW9kZWxsaSIKCUlEU19BUFBEQVRBICAgICAgICAgICAgICAgICAiQXBwbGljYXppb25pIgoJSURTX1BSSU5USE9PRCAgICAgICAgICAgICAgICJQcmludEhvb2QiCglJRFNfQ09PS0lFUyAgICAgICAgICAgICAgICAgIkNvb2tpZXMiCgoJSURTX05FV0ZPTERFUgkJIk5ldyBGb2xkZXIiCgoJSURTX0NQQU5FTF9USVRMRSAgICAgICAgICAgICJXaW5lIENvbnRyb2wgUGFuZWwiCglJRFNfQ1BBTkVMX05BTUUgICAgICAgICAgICAgIk5hbWUiCglJRFNfQ1BBTkVMX0RFU0NSSVBUSU9OICAgICAgIkRlc2NyaXB0aW9uIgp9Cg==