LyoKICogQ29weXJpZ2h0IDIwMDUtMjAwNyBBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19OT1JXRUdJQU4sIFNVQkxBTkdfTk9SV0VHSUFOX0JPS01BTAoKTUVOVV8wMDEgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJTUVOVUlURU0gIiZTdG9yZSBpa29uZXIiLAlGQ0lETV9TSFZJRVdfQklHSUNPTgoJTUVOVUlURU0gIiZTbeUgaWtvbmVyIiwJRkNJRE1fU0hWSUVXX1NNQUxMSUNPTgoJTUVOVUlURU0gIiZMaXN0ZSIsCQlGQ0lETV9TSFZJRVdfTElTVFZJRVcKCU1FTlVJVEVNICImRGV0YWxqZXIiLAkJRkNJRE1fU0hWSUVXX1JFUE9SVFZJRVcKRU5ECgovKgogc2hlbGx2aWV3IGJhY2tncm91bmQgbWVudQoqLwpNRU5VXzAwMiBNRU5VIERJU0NBUkRBQkxFCkJFR0lOCglQT1BVUCAiIgoJQkVHSU4KCSAgUE9QVVAgIiZWaXMiCgkgIEJFR0lOCgkgICAgTUVOVUlURU0gIiZTdG9yZSBpa29uZXIiLAlGQ0lETV9TSFZJRVdfQklHSUNPTgoJICAgIE1FTlVJVEVNICJTJm3lIGlrb25lciIsCUZDSURNX1NIVklFV19TTUFMTElDT04KCSAgICBNRU5VSVRFTSAiJkxpc3RlIiwJCUZDSURNX1NIVklFV19MSVNUVklFVwoJICAgIE1FTlVJVEVNICImRGV0YWxqZXIiLAlGQ0lETV9TSFZJRVdfUkVQT1JUVklFVwoJICBFTkQKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIFBPUFVQICJPcmRuZSAmaWtvbmVyIgoJICBCRUdJTgoJICAgIE1FTlVJVEVNICJFdHRlciAmbmF2biIsCTB4MzAJLyogY29sdW1uIDAgKi8KCSAgICBNRU5VSVRFTSAiRXR0ZXIgJnR5cGUiLAkweDMyCS8qIGNvbHVtbiAyICovCgkgICAgTUVOVUlURU0gIkV0dGVyICZzdPhycmVsc2UiLAkweDMxCS8qIC4uLiAqLwoJICAgIE1FTlVJVEVNICJFdHRlciAmZGF0byIsCTB4MzMKCSAgICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgICBNRU5VSVRFTSAiT3JkbmUgJmF1dG9tYXRpc2siLAlGQ0lETV9TSFZJRVdfQVVUT0FSUkFOR0UKCSAgRU5ECgkgIE1FTlVJVEVNICJTdGlsbCBvcHAgaWtvbmVyIiwJRkNJRE1fU0hWSUVXX1NOQVBUT0dSSUQKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJPcHBkYXRlciIsCQlGQ0lETV9TSFZJRVdfUkVGUkVTSAoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIkxpbSBpbm4iLAkJRkNJRE1fU0hWSUVXX0lOU0VSVAoJICBNRU5VSVRFTSAiTGltIGlubiBzb20gc25hcnZlaSIsCUZDSURNX1NIVklFV19JTlNFUlRMSU5LCgkgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBQT1BVUCAiTnkiCgkgIEJFR0lOCgkgICAgTUVOVUlURU0gIk55ICZtYXBwZSIsCUZDSURNX1NIVklFV19ORVdGT0xERVIKCSAgICBNRU5VSVRFTSAiTnkgJnNuYXJ2ZWkiLAlGQ0lETV9TSFZJRVdfTkVXTElOSwoJICAgIE1FTlVJVEVNIFNFUEFSQVRPUgoJICBFTkQKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJFZ2Vuc2thcGVyIiwJRkNJRE1fU0hWSUVXX1BST1BFUlRJRVMKCUVORApFTkQKCi8qCiBzaGVsbHZpZXcgaXRlbSBtZW51CiovCk1FTlVfU0hWX0ZJTEUgTUVOVSBESVNDQVJEQUJMRQpCRUdJTgoJUE9QVVAgIiIKCUJFR0lOCgkgIE1FTlVJVEVNICImVmVsZyIJCUZDSURNX1NIVklFV19PUEVOCgkgIE1FTlVJVEVNICImVXRmb3JzayIsCQlGQ0lETV9TSFZJRVdfRVhQTE9SRQoJICBNRU5VSVRFTSAiJsVwbmUiLAkJRkNJRE1fU0hWSUVXX09QRU4KCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJLbGlwcCAmdXQiLAkJRkNJRE1fU0hWSUVXX0NVVAoJICBNRU5VSVRFTSAiJktvcGllciIsCQlGQ0lETV9TSFZJRVdfQ09QWQoJICBNRU5VSVRFTSBTRVBBUkFUT1IKCSAgTUVOVUlURU0gIiZPcHByZXR0IHNuYXJ2ZWkiLAlGQ0lETV9TSFZJRVdfQ1JFQVRFTElOSwoJICBNRU5VSVRFTSAiJlNsZXR0IiwJCUZDSURNX1NIVklFV19ERUxFVEUKCSAgTUVOVUlURU0gIiZHaSBueXR0IG5hdm4iCUZDSURNX1NIVklFV19SRU5BTUUKCSAgTUVOVUlURU0gU0VQQVJBVE9SCgkgIE1FTlVJVEVNICJFZ2Vuc2thJnBlciIsCUZDSURNX1NIVklFV19QUk9QRVJUSUVTCglFTkQKRU5ECgpTSEJSU0ZPUkZPTERFUl9NU0dCT1ggRElBTE9HIExPQURPTkNBTEwgTU9WRUFCTEUgRElTQ0FSREFCTEUgMTUsIDQwLCAxODgsIDE5MgpTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUgfCBEU19NT0RBTEZSQU1FIHwgRFNfU0VURk9OVCB8IERTXzNETE9PSwpDQVBUSU9OICJCbGEgZXR0ZXIgbWFwcGUiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiT0siLCAxLCA4MCwgMTc2LCA1MCwgMTIsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIDIsIDEzNCwgMTc2LCA1MCwgMTIsIFdTX0dST1VQIHwgV1NfVEFCU1RPUAogTFRFWFQgIiIsIElERF9USVRMRSwgNCwgNCwgMTgwLCAxMgogTFRFWFQgIiIsIElERF9TVEFUVVMsIDQsIDI1LCAxODAsIDEyCiBDT05UUk9MICIiLCBJRERfVFJFRVZJRVcsICJTeXNUcmVlVmlldzMyIiwKIAlUVlNfSEFTQlVUVE9OUyB8IFRWU19IQVNMSU5FUyB8IFRWU19MSU5FU0FUUk9PVCB8CglXU19CT1JERVIgfCBXU19UQUJTVE9QLAoJNCwgNDAsIDE4MCwgMTIwCn0KClNITkVXQlJTRk9SRk9MREVSX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDIxOCwgMTk2ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVSB8IERTX01PREFMRlJBTUUgfCBEU19TRVRGT05UIHwgRFNfM0RMT09LCkNBUFRJT04gIkJsYSBldHRlciBtYXBwZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiBMVEVYVCAiIiwgSUREX1RJVExFLCAxMCwgOCwgMTk4LCAyNAogTFRFWFQgIiIsIElERF9TVEFUVVMsIDEwLCAyNSwgMTk4LCAxMgogTFRFWFQgIk1hcHBlOiIsIElERF9GT0xERVIsIDEwLCAxNTYsIDQwLCAxMgogQ09OVFJPTCAiIiwgSUREX1RSRUVWSUVXLCAiU3lzVHJlZVZpZXczMiIsCglUVlNfSEFTQlVUVE9OUyB8IFRWU19IQVNMSU5FUyB8IFRWU19MSU5FU0FUUk9PVCB8CglXU19CT1JERVIgfCBXU19UQUJTVE9QLAoJMTIsIDM4LCAxOTQsIDEwNQogRURJVFRFWFQgSUREX0ZPTERFUlRFWFQsIDQ2LCAxNTAsIDE2MCwgMTQsIFdTX0JPUkRFUiB8IFdTX0dST1VQIHwgV1NfVEFCU1RPUAogUFVTSEJVVFRPTiAiTnkgJm1hcHBlIiwgSUREX01BS0VORVdGT0xERVIsIDEyLCAxNzQsIDcwLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDEwMiwgMTc0LCA1MCwgMTQsIEJTX0RFRlBVU0hCVVRUT04gfCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKIFBVU0hCVVRUT04gIkF2YnJ5dCIsIElEQ0FOQ0VMLCAxNTYsIDE3NCwgNTAsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKfQoKU0hFTExfWUVTVE9BTExfTVNHQk9YIERJQUxPRyAyMDAsIDEwMCwgMjgwLCA5MApTVFlMRSBEU19NT0RBTEZSQU1FIHwgV1NfUE9QVVAgfCBXU19WSVNJQkxFIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiTWVsZGluZ3MiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogICAgREVGUFVTSEJVVFRPTiAiJkphIiwgSURZRVMsIDM0LCA2OSwgNTMsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gIkphIHRpbCAmYWx0IiwgSUREX1lFU1RPQUxMLCA5MiwgNjksIDY1LCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBQVVNIQlVUVE9OICImTmVpIiwgSUROTywgMTYyLCA2OSwgNTMsIDE0LCBXU19HUk9VUCB8IFdTX1RBQlNUT1AKICAgIFBVU0hCVVRUT04gIiZBdmJyeSZ0IiwgSURDQU5DRUwsIDIyMCwgNjksIDUzLCAxNCwgV1NfR1JPVVAgfCBXU19UQUJTVE9QCiAgICBJQ09OICIiLCBJRERfSUNPTiwgMTAsIDEwLCAxNiwgMTYKICAgIExURVhUICIiLCBJRERfTUVTU0FHRSwgNDAsIDEwLCAyMzgsIDUyLCAwCn0KClNIRUxMX0FCT1VUX01TR0JPWCBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAxNSwgNDAsIDIxMCwgMTUyClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJPbSAlcyIKRk9OVCAxMCwgIk1TIFNoZWxsIERsZyIKewogREVGUFVTSEJVVFRPTiAiT0siLCBJRE9LLCAxNTMsIDEzMywgNTAsIDEyLCBXU19UQUJTVE9QCiBMSVNUQk9YIDk5LCA4LCA2NSwgMTM3LCA4MiwgTEJTX05PVElGWSB8IFdTX1ZTQ1JPTEwgfCBXU19CT1JERVIKIElDT04gIiIsIDEwODgsIDEwLCAxMCwgMTQsIDE2CiBMVEVYVCAiIiwgMTAwLCAzMCwgMTAsIDEzNywgMTAKIExURVhUICIiLCAxMDEsIDMwLCAyMiwgMTM3LCAxMAogTFRFWFQgIldpbmUgZXIgbGFnZXQgYXYiLCA5OCwgOCwgNTUsIDEzNywgMTAKfQoKU0hFTExfUlVOX0RMRyBESUFMT0cgTE9BRE9OQ0FMTCBNT1ZFQUJMRSBESVNDQVJEQUJMRSAwLCAwLCAyMjcsIDk1ClNUWUxFIERTX01PREFMRlJBTUUgfCBXU19QT1BVUCB8IFdTX1ZJU0lCTEUgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICIiCkZPTlQgOCwgIk1TIFNoZWxsIERsZyIKewogSUNPTiAiIiwgMTIyOTcsIDcsIDExLCAxOCwgMjAsIFdTX1ZJU0lCTEUKIExURVhUICJTa3JpdiBpbm4gbmF2bmV0IHDlIHByb2dyYW1tZXQsIG1hcHBlbiwgZG9rdW1lbnRldCBldHRlciBJbnRlcm5ldHQtcmVzc3Vyc2VuIGR1IPhuc2tlciDlIOVwbmUuIiwgMTIyODksIDM2LCAxMSwgMTgyLCAxOAogTFRFWFQgIibFcG5lOiIsIDEyMzA1LCA3LCAzOSwgMjQsIDEwCiBDT05UUk9MICIiLCAxMjI5OCwgIkNPTUJPQk9YIiwgV1NfVEFCU1RPUCB8IFdTX0dST1VQIHwgV1NfVlNDUk9MTCB8IFdTX1ZJU0lCTEUgfCBDQlNfRElTQUJMRU5PU0NST0xMIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX0RST1BET1dOLCAzNiwgMzcsIDE4MywgMTAwCiBERUZQVVNIQlVUVE9OICJPSyIsIElET0ssIDYyLCA2MywgNTAsIDE0LCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICJBdmJyeXQiLCBJRENBTkNFTCwgMTE2LCA2MywgNTAsIDE0LCBXU19UQUJTVE9QCiBQVVNIQlVUVE9OICImQmxhIC4gLiAuIiwgMTIyODgsIDE3MCwgNjMsIDUwLCAxNCwgV1NfVEFCU1RPUAp9CgpTVFJJTkdUQUJMRSBESVNDQVJEQUJMRQp7CiAgICAgICAgLyogY29sdW1ucyBpbiB0aGUgc2hlbGx2aWV3ICovCglJRFNfU0hWX0NPTFVNTjEJCSJGaWwiCglJRFNfU0hWX0NPTFVNTjIJCSJTdPhycmVsc2UiCglJRFNfU0hWX0NPTFVNTjMJCSJUeXBlIgoJSURTX1NIVl9DT0xVTU40CQkiRW5kcmV0IgoJSURTX1NIVl9DT0xVTU41CQkiRWdlbnNrYXBlciIKCUlEU19TSFZfQ09MVU1ONgkJIlN0+HJyZWxzZSIKCUlEU19TSFZfQ09MVU1ONwkJIkxlZGlnIHBsYXNzIgoJSURTX1NIVl9DT0xVTU44CQkiTmF2biIKCUlEU19TSFZfQ09MVU1OOQkJIktvbW1lbnRhcmVyIgoJSURTX1NIVl9DT0xVTU4xMAkiRWllciIKCUlEU19TSFZfQ09MVU1OMTEJIkdydXBwZSIKCUlEU19TSFZfQ09MVU1OX0RFTEZST00JIk9wcHJpbm5lbGlnIHBsYXNzZXJpbmciCglJRFNfU0hWX0NPTFVNTl9ERUxEQVRFCSJEYXRvIHNsZXR0ZXQiCgogICAgICAgIC8qIHNwZWNpYWwgZm9sZGVycyAqLwoJSURTX0RFU0tUT1AJCSJTa3JpdmVib3JkIgoJSURTX01ZQ09NUFVURVIJCSJNaW4gZGF0YW1hc2tpbiIKCUlEU19SRUNZQ0xFQklOX0ZPTERFUl9OQU1FICAgICAgIlBhcGlya3VydiIKCiAgICAgICAgLyogY29udGV4dCBtZW51cyAqLwoJSURTX1ZJRVdfTEFSR0UJCSImU3RvcmUgaWtvbmVyIgoJSURTX1ZJRVdfU01BTEwJCSJTJm3lIGlrb25lciIKCUlEU19WSUVXX0xJU1QJCSImTGlzdGUiCglJRFNfVklFV19ERVRBSUxTCSImRGV0YWxqZXIiCglJRFNfU0VMRUNUCQkiVmVsZyIKCUlEU19PUEVOCQkixXBuZSIKCglJRFNfQ1JFQVRFRk9MREVSX0RFTklFRCAiS3VubmUgaWtrZSBvcHByZXR0ZSBueSBtYXBwZTogdGlsZ2FuZyBuZWt0ZXQuIgoJSURTX0NSRUFURUZPTERFUl9DQVBUSU9OICJLbGFydGUgaWtrZSBvcHByZXR0ZSBueSBtYXBwZSIKCUlEU19ERUxFVEVJVEVNX0NBUFRJT04gIkJla3JlZnQgZmlsc2xldHRpbmciCglJRFNfREVMRVRFRk9MREVSX0NBUFRJT04gIkJla3JlZnQgc2xldHRpbmcgYXYgbWFwcGUiCglJRFNfREVMRVRFSVRFTV9URVhUICJWaXJrZWxpZyBzbGV0dGUgqyUxuz8iCglJRFNfREVMRVRFTVVMVElQTEVfVEVYVCAiVmlya2VsaWcgc2xldHRlIGRpc3NlICUxIGVsZW1lbnRlbmU/IgoJSURTX0RFTEVURVNFTEVDVEVEX1RFWFQgIlZpcmtlbGlnIHNsZXR0ZSB2YWxndGUgZWxlbWVudChlcik/PyIKCUlEU19UUkFTSElURU1fVEVYVCAiVmlya2VsaWcgbGVnZ2UgqyUxuyBpIHBhcGlya3VydmVuPyIKCUlEU19UUkFTSEZPTERFUl9URVhUICJWaXJrZWxpZyBsZWdnZSCrJTG7IG9nIGFsdCBpbm5ob2xkZXQgaSBwYXBpcmt1cnZlbj8iCglJRFNfVFJBU0hNVUxUSVBMRV9URVhUICJWaXJrZWxpZyBsZWdnZSBkaXNzZSAlMSB2YWxndGUgZWxlbWVudGVuZSBpIHBhcGlya3VydmVuPyIKCUlEU19DQU5UVFJBU0hfVEVYVCAiRWxlbWVudGV0IKslMbsga2FuIGlra2UgbGVnZ2VzIGkgcGFwaXJrdXJ2ZW4uIFZpbCBkdSBzbGV0dGUgZGV0IGkgc3RlZGV0PyIKCUlEU19PVkVSV1JJVEVGSUxFX1RFWFQgIlRoaXMgZm9sZGVyIGFscmVhZHkgY29udGFpbnMgYSBmaWxlIGNhbGxlZCAnJTEnLlxuXG5EbyB5b3Ugd2FudCB0byByZXBsYWNlIGl0PyIKCUlEU19PVkVSV1JJVEVGSUxFX0NBUFRJT04gIkJla3JlZnQgb3ZlcnNrcml2aW5nIGF2IGZpbCIKCUlEU19PVkVSV1JJVEVGT0xERVJfVEVYVCAiVGhpcyBmb2xkZXIgYWxyZWFkeSBjb250YWlucyBhIGZvbGRlciBuYW1lZCAnJTEnLlxuXG4iXAoJICAgICJJZiB0aGUgZmlsZXMgaW4gdGhlIGRlc3RpbmF0aW9uIGZvbGRlciBoYXZlIHRoZSBzYW1lIG5hbWVzIGFzIGZpbGVzIGluIHRoZVxuIlwKCSAgICAic2VsZWN0ZWQgZm9sZGVyIHRoZXkgd2lsbCBiZSByZXBsYWNlZC4gRG8geW91IHN0aWxsIHdhbnQgdG8gbW92ZSBvciBjb3B5XG4iXAoJICAgICJ0aGUgZm9sZGVyPyIKCiAgICAgICAgLyogbWVzc2FnZSBib3ggc3RyaW5ncyAqLwogICAgICAgIElEU19SRVNUQVJUX1RJVExFICAgICAgICJTdGFydGUgcOUgbnl0dCIKICAgICAgICBJRFNfUkVTVEFSVF9QUk9NUFQgICAgICAiVmlsIGR1IHNpbXVsZXJlIGVuIG9tc3RhcnQgYXYgV2luZG93cz8iCiAgICAgICAgSURTX1NIVVRET1dOX1RJVExFICAgICAgIkF2c2x1dHQiCiAgICAgICAgSURTX1NIVVRET1dOX1BST01QVCAgICAgIlZpbCBkdSBhdnNsdXR0ZSBXaW5lLfhrdGVuPyIKCiAgICAgICAgLyogc2hlbGwgZm9sZGVyIHBhdGggZGVmYXVsdCB2YWx1ZXMgKi8KCUlEU19QUk9HUkFNUyAgICAgICAgICAgICAgICAiU3RhcnQtbWVueVxcUHJvZ3JhbW1lciIKCUlEU19QRVJTT05BTCAgICAgICAgICAgICAgICAiTWluZSBkb2t1bWVudGVyIgoJSURTX0ZBVk9SSVRFUyAgICAgICAgICAgICAgICJGYXZvcml0dGVyIgoJSURTX1NUQVJUVVAgICAgICAgICAgICAgICAgICJTdGFydC1tZW55XFxQcm9ncmFtbWVyXFxPcHBzdGFydCIKCUlEU19SRUNFTlQgICAgICAgICAgICAgICAgICAiU2lzdGUiCglJRFNfU0VORFRPICAgICAgICAgICAgICAgICAgIlNlbmRUbyIKCUlEU19TVEFSVE1FTlUgICAgICAgICAgICAgICAiU3RhcnQtbWVueSIKCUlEU19NWU1VU0lDICAgICAgICAgICAgICAgICAiTWluIG11c2lrayIKCUlEU19NWVZJREVPICAgICAgICAgICAgICAgICAiTWluZSB2aWRlb2tsaXBwIgoJSURTX0RFU0tUT1BESVJFQ1RPUlkgICAgICAgICJTa3JpdmVib3JkIgoJSURTX05FVEhPT0QgICAgICAgICAgICAgICAgICJOZXRIb29kIgoJSURTX1RFTVBMQVRFUyAgICAgICAgICAgICAgICJNYWxlciIKCUlEU19BUFBEQVRBICAgICAgICAgICAgICAgICAiUHJvZ3JhbWRhdGEiCglJRFNfUFJJTlRIT09EICAgICAgICAgICAgICAgIlNrcml2ZXJlIgoJSURTX0xPQ0FMX0FQUERBVEEgICAgICAgICAgICJMb2thbGUgaW5uc3RpbGxpbmdlclxcUHJvZ3JhbWRhdGEiCglJRFNfSU5URVJORVRfQ0FDSEUgICAgICAgICAgIkxva2FsZSBpbm5zdGlsbGluZ2VyXFxUZW1wb3JhcnkgSW50ZXJuZXQgRmlsZXMiCglJRFNfQ09PS0lFUyAgICAgICAgICAgICAgICAgIkNvb2tpZXMiCglJRFNfSElTVE9SWSAgICAgICAgICAgICAgICAgIkxva2FsZSBpbm5zdGlsbGluZ2VyXFxMb2dnIgoJSURTX1BST0dSQU1fRklMRVMgICAgICAgICAgICJQcm9ncmFtZmlsZXIiCglJRFNfTVlQSUNUVVJFUyAgICAgICAgICAgICAgIk1pbmUgYmlsZGVyIgoJSURTX1BST0dSQU1fRklMRVNfQ09NTU9OICAgICJQcm9ncmFtZmlsZXJcXEZlbGxlc2ZpbGVyIgoJSURTX0NPTU1PTl9ET0NVTUVOVFMgICAgICAgICJEb2t1bWVudGVyIgoJSURTX0FETUlOVE9PTFMgICAgICAgICAgICAgICJTdGFydC1tZW55XFxQcm9ncmFtbWVyXFxBZG1pbmlzdHJhdGl2ZSB2ZXJrdPh5IgoJSURTX0NPTU1PTl9NVVNJQyAgICAgICAgICAgICJEb2t1bWVudGVyXFxNaW4gbXVzaWtrIgoJSURTX0NPTU1PTl9QSUNUVVJFUyAgICAgICAgICJEb2t1bWVudGVyXFxNaW5lIGJpbGRlciIKCUlEU19DT01NT05fVklERU8gICAgICAgICAgICAiRG9rdW1lbnRlclxcTWluZSB2aWRlb2tsaXBwIgoJSURTX0NEQlVSTl9BUkVBICAgICAgICAgICAgICJMb2thbGUgaW5uc3RpbGxpbmdlclxcUHJvZ3JhbWRhdGFcXE1pY3Jvc29mdFxcQ0QgQnVybmluZyIKCglJRFNfTkVXRk9MREVSCQkiTnkgbWFwcGUiCn0K