LyoKICogUHJvZ3JhbSBNYW5hZ2VyCiAqCiAqIENvcHlyaWdodCAxOTk2IFVscmljaCBTY2htaWQKICogRnJlbmNoIEZyLnJjIGJ5IFBhYmxvIFNhcmF0eGFnYQogKiBDb3B5cmlnaHQgMjAwMiBTeWx2YWluIFBldHJlb2xsZQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICovCgovKiBNZW51ICovCgpNQUlOX01FTlUgTUVOVSBMQU5HVUFHRSBMQU5HX0ZSRU5DSCwgU1VCTEFOR19ERUZBVUxUCnsKIFBPUFVQICImRmljaGllciIgewogICBNRU5VSVRFTSAiJk5vdXZlYXUuLi4iLCAgICAgICAgICAgICAgUE1fTkVXCiAgIE1FTlVJVEVNICJPJnV2cmlyXHRFbnRy6WUiLCAgICAgICAgICAgICBQTV9PUEVOCiAgIE1FTlVJVEVNICImROlwbGFjZXIuLi5cdEY3IiwgICAgICAgICAgICAgUE1fTU9WRSwgICAgICBHUkFZRUQKICAgTUVOVUlURU0gIiZDb3BpZXIuLi5cdEY4IiwgICAgICAgICAgICAgUE1fQ09QWSwgICAgICBHUkFZRUQKICAgTUVOVUlURU0gIiZTdXBwcmltZXJcdFN1cHByIiwgICAgICAgICAgIFBNX0RFTEVURQogICBNRU5VSVRFTSAiJlByb3Byael06XMuLi5cdEFsdCtFbnRy6WUiLCAgICAgICBQTV9BVFRSSUJVVEVTCiAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICBNRU5VSVRFTSAiRSZ46WN1dGVyLi4uIiwgICAgICAgICAgUE1fRVhFQ1VURQogICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgTUVOVUlURU0gIiZRdWl0dGVyIFdpbmRvd3MuLi4iLCAgICAgICAgICAgICBQTV9FWElUCiB9CiBQT1BVUCAiJk9wdGlvbnMiIHsKICAgTUVOVUlURU0gIlLpb3JnJmFuaXNhdGlvbiBhdXRvbWF0aXF1ZSIsICBQTV9BVVRPX0FSUkFOR0UKICAgTUVOVUlURU0gIiZS6WR1aXJlIOAgbCd1dGlsaXNhdGlvbiIsICAgIFBNX01JTl9PTl9SVU4KICAgTUVOVUlURU0gIiZFbnJlZ2lzdHJlciBsYSBjb25maWd1cmF0aW9uIGVuIHF1aXR0YW50IiwgUE1fU0FWRV9TRVRUSU5HUwogfQogUE9QVVAgIkYmZW7qdHJlIiB7CiAgIE1FTlVJVEVNICImQ2FzY2FkZVx0TWFqK0Y1IiwgICAgICAgUE1fT1ZFUkxBUAogICBNRU5VSVRFTSAiJk1vc2HvcXVlXHRNYWorRjQiLCAgUE1fU0lERV9CWV9TSURFCiAgIE1FTlVJVEVNICImUulvcmdhbmlzZXIgbGVzIGlj9G5lcyIsICAgICAgIFBNX0FSUkFOR0UKIH0KIAogUE9QVVAgIiY/IiB7CiAgIE1FTlVJVEVNICImSW5kZXgiLCAgICAgICAgIFBNX0NPTlRFTlRTCiAgIE1FTlVJVEVNICImUmVjaGVyY2hlciBsJ0FpZGUgc3VyLi4uIiwgICAgICAgICAgIFBNX1NFQVJDSAogICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgTUVOVUlURU0gIiZVdGlsaXNlciBsJ0FpZGUiLCAgICAgUE1fSEVMUE9OSEVMUAogICBNRU5VSVRFTSAiRGlkYWN0aWNpZWwgJldpbmRvd3MiLCAgICAgICAgIFBNX1RVVE9SSUFMCiAgIE1FTlVJVEVNIFNFUEFSQVRPUgoKICAgUE9QVVAgIiZJbmZvLi4uIiB7CiAgICAgTUVOVUlURU0gIiZMaWNlbmNlIiwgICAgICAgIFBNX0xJQ0VOU0UKICAgICBNRU5VSVRFTSAiQVVDVU5FICZHQVJBTlRJRSIsICAgIFBNX05PX1dBUlJBTlRZCiAgICAgTUVOVUlURU0gIiZBIHByb3BvcyBkZSBXSU5FIiwgICAgIFBNX0FCT1VUX1dJTkUKICAgfQogfQp9CgovKiBEaWFsb2cgYE5ldycgKi8KCkRJQUxPR19ORVcgRElBTE9HIDAsIDAsIDE3MCwgNjUKTEFOR1VBR0UgTEFOR19GUkVOQ0gsIFNVQkxBTkdfREVGQVVMVApTVFlMRSBEU19NT0RBTEZSQU1FCkNBUFRJT04gIk5vdXZlYXUiCnsKUkFESU9CVVRUT04gICAiIiwgICAgICAgICAgICAgICAgIFBNX05FV19HUk9VUCwgICAgMTAsIDE1LCAgMTAsIDE1CkxURVhUICAgICAgICAgIiZHcm91cGUgZGUgcHJvZ3JhbW1lcyIsICAgUE1fTkVXX0dST1VQLCAgICAyMCwgMTgsICA4MCwgMTUKUkFESU9CVVRUT04gICAiIiwgICAgICAgICAgICAgICAgIFBNX05FV19QUk9HUkFNLCAgMTAsIDM1LCAgMTAsIDE1CkxURVhUICAgICAgICAgIiZQcm9ncmFtbWUiLCBQTV9ORVdfUFJPR1JBTSwgIDIwLCAzOCwgIDgwLCAxNQpERUZQVVNIQlVUVE9OICJPSyIsICAgICAgICAgIElET0ssICAgICAgICAgICAxMDUsICA1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIkFubnVsZXIiLCAgICAgIElEQ0FOQ0VMLCAgICAgICAxMDUsIDI1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZBaWRlIiwgICAgICAgIFBNX0hFTFAsICAgICAgICAxMDUsIDQ1LCAgNjAsIDE1LCBXU19UQUJTVE9QCn0KCi8qIERpYWxvZyBgTW92ZScgKi8KCkRJQUxPR19NT1ZFIERJQUxPRyAwLCAwLCAyNTAsIDY1CkxBTkdVQUdFIExBTkdfRlJFTkNILCBTVUJMQU5HX0RFRkFVTFQKU1RZTEUgRFNfTU9EQUxGUkFNRQpDQVBUSU9OICJE6XBsYWNlciB1biBwcm9ncmFtbWUiCnsKTFRFWFQgICAgICAgICAiROlwbGFjZXIgbGUgcHJvZ3JhbW1lOiIsICAgIElESUdOT1JFLCAgICAgICAgICAgIDUsICA1LCAgOTAsIDE1CkxURVhUICAgICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgUE1fUFJPR1JBTSwgICAgICAgICA5NSwgIDUsICA5MCwgMTUKTFRFWFQgICAgICAgICAiwCBwYXJ0aXIgZHUgZ3JvdXBlOiIsIElESUdOT1JFLCAgICAgICAgICAgIDUsIDEzLCAgOTAsIDE1CkxURVhUICAgICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgUE1fRlJPTV9HUk9VUCwgICAgICA5NSwgMTMsICA5MCwgMTUKTFRFWFQgICAgICAgICAiJlZlcnMgbGUgZ3JvdXBlOiIsICAgUE1fVE9fR1JPVVBfVFhULCAgICAgNSwgMjgsIDE0MCwgMTUKQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9UT19HUk9VUCwgICAgICAgICA1LCAzOCwgMTQwLCA1MCwgV1NfVEFCU1RPUCB8IENCU19EUk9QRE9XTkxJU1QKREVGUFVTSEJVVFRPTiAiT0siLCAgICAgICAgICAgICAgSURPSywgICAgICAgICAgICAgIDE4NSwgIDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiQW5udWxlciIsICAgICAgICAgIElEQ0FOQ0VMLCAgICAgICAgICAxODUsIDI1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZBaWRlIiwgICAgICAgICAgICBQTV9IRUxQLCAgICAgICAgICAgMTg1LCA0NSwgIDYwLCAxNSwgV1NfVEFCU1RPUAp9CgovKiBEaWFsb2cgYENvcHknICovCgpESUFMT0dfQ09QWSBESUFMT0cgMCwgMCwgMjUwLCA2NQpMQU5HVUFHRSBMQU5HX0ZSRU5DSCwgU1VCTEFOR19ERUZBVUxUClNUWUxFIERTX01PREFMRlJBTUUKQ0FQVElPTiAiQ29waWVyIHVuIHByb2dyYW1tZSIKewpMVEVYVCAgICAgICAgICJDb3BpZXIgbGUgcHJvZ3JhbW1lOiIsICAgIElESUdOT1JFLCAgICAgICAgICAgIDUsICA1LCAgOTAsIDE1CkxURVhUICAgICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgUE1fUFJPR1JBTSwgICAgICAgICA5NSwgIDUsICA5MCwgMTUKTFRFWFQgICAgICAgICAiwCBwYXJ0aXIgZHUgZ3JvdXBlOiIsIElESUdOT1JFLCAgICAgICAgICAgIDUsIDEzLCAgOTAsIDE1CkxURVhUICAgICAgICAgIiIsICAgICAgICAgICAgICAgICAgICAgUE1fRlJPTV9HUk9VUCwgICAgICA5NSwgMTMsICA5MCwgMTUKTFRFWFQgICAgICAgICAiJlZlcnMgbGUgZ3JvdXBlOiIsICAgUE1fVE9fR1JPVVBfVFhULCAgICAgNSwgMjgsIDE0MCwgMTUKQ09NQk9CT1ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9UT19HUk9VUCwgICAgICAgICA1LCAzOCwgMTQwLCA1MCwgV1NfVEFCU1RPUCB8IENCU19EUk9QRE9XTkxJU1QKREVGUFVTSEJVVFRPTiAiT0siLCAgICAgICAgICAgICAgSURPSywgICAgICAgICAgICAgIDE4NSwgIDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiQW5udWxlciIsICAgICAgICAgIElEQ0FOQ0VMLCAgICAgICAgICAxODUsIDI1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZBaWRlIiwgICAgICAgICAgICBQTV9IRUxQLCAgICAgICAgICAgMTg1LCA0NSwgIDYwLCAxNSwgV1NfVEFCU1RPUAp9CgovKiBEaWFsb2cgYEdyb3VwIGF0dHJpYnV0ZXMnICovCgpESUFMT0dfR1JPVVAgRElBTE9HIDAsIDAsIDIzMCwgNjUKTEFOR1VBR0UgTEFOR19GUkVOQ0gsIFNVQkxBTkdfREVGQVVMVApTVFlMRSBEU19NT0RBTEZSQU1FCkNBUFRJT04gIlByb3Byael06XMgZGUgZ3JvdXBlIgp7CkxURVhUICAgICAiJk5vbToiLCBQTV9ERVNDUklQVElPTl9UWFQsICAgMDUsIDE4LCAgNTAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBNX0RFU0NSSVBUSU9OLCAgICAgICA2MCwgMTgsICA5MCwgMTUsIFdTX1RBQlNUT1AKTFRFWFQgICAgICImRmljaGllciBkZSBncm91cGU6IiwgICAgICAgIFBNX0ZJTEVfVFhULCAgICAgICAgICAwNSwgMzgsICA1MCwgMTAKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fRklMRSwgICAgICAgICAgICAgIDYwLCAzOCwgIDkwLCAxNSwgV1NfVEFCU1RPUApERUZQVVNIQlVUVE9OICJPSyIsICAgICAgICAgICAgSURPSywgICAgICAgICAgICAgICAgMTU1LCAgNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICJBbm51bGVyIiwgICAgICAgIElEQ0FOQ0VMLCAgICAgICAgICAgIDE1NSwgMjUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJkFpZGUiLCAgICAgICAgICBQTV9IRUxQLCAgICAgICAgICAgICAxNTUsIDQ1LCAgNjAsIDE1LCBXU19UQUJTVE9QCn0KCi8qIERpYWxvZyBgUHJvZ3JhbSBhdHRyaWJ1dGVzJyAqLwoKRElBTE9HX1BST0dSQU0gRElBTE9HIDAsIDAsIDI1MCwgMTA1CkxBTkdVQUdFIExBTkdfRlJFTkNILCBTVUJMQU5HX0RFRkFVTFQKU1RZTEUgRFNfTU9EQUxGUkFNRQpDQVBUSU9OICJQcm9wcmnpdOlzIGRlIHByb2dyYW1tZSIKewpMVEVYVCAgICAgICAgICImTm9tOiIsICBQTV9ERVNDUklQVElPTl9UWFQsICAgMDUsIDEwLCAgNjAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9ERVNDUklQVElPTiwgICAgICAgODAsIDEwLCAgOTAsIDE1LCBXU19UQUJTVE9QCkxURVhUICAgICAgICAgIiZMaWduZSBkZSBjb21tYW5kZToiLCBQTV9DT01NQU5EX0xJTkVfVFhULCAgMDUsIDI1LCAgNjAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTV9DT01NQU5EX0xJTkUsICAgICAgODAsIDI1LCAgOTAsIDE1LCBXU19UQUJTVE9QCkxURVhUICAgICAgICAgIlLpcGVydG9pcmUgZGUgdHJhJnZhaWw6IiwgICAgUE1fRElSRUNUT1JZX1RYVCwgICAgIDA1LCA0MCwgIDYwLCAxMApFRElUVEVYVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1fRElSRUNUT1JZLCAgICAgICAgIDgwLCA0MCwgIDkwLCAxNSwgV1NfVEFCU1RPUApMVEVYVCAgICAgICAgICImVG91Y2hlIGRlIHJhY2NvdXJjaToiLCAgICAgIFBNX0hPVF9LRVlfVFhULCAgICAgICAwNSwgNTUsICA2MCwgMTAKRURJVFRFWFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBNX0hPVF9LRVksICAgICAgICAgICA4MCwgNTUsICA5MCwgMTUsIFdTX1RBQlNUT1AKSUNPTiAgICAgICAgICAiIiwgICAgICAgICAgICAgICAgICAgICAgICAgIFBNX0lDT04sICAgICAgICAgICAgICAyMCwgNzAKQ0hFQ0tCT1ggICAgICAiIiwgICAgICAgICAgICAgICAgICAgICAgICAgIFBNX1NZTUJPTCwgICAgICAgICAgICA4MCwgNzUsICAxMCwgMTAsIFdTX1RBQlNUT1AKTFRFWFQgICAgICAgICAiUulkdWlyZSDgIGwnJnV0aWxpc2F0aW9uIiwgICAgICAgSURJR05PUkUsICAgICAgICAgICAgIDk1LCA3NSwgIDc1LCAxMApERUZQVVNIQlVUVE9OICJPSyIsICAgICAgICAgICAgICAgICAgIElET0ssICAgICAgICAgICAgICAgIDE4NSwgIDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiQW5udWxlciIsICAgICAgICAgICAgICAgSURDQU5DRUwsICAgICAgICAgICAgMTg1LCAyNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICJQYSZyY291cmlyLi4uIiwgICAgICAgICAgICAgICBQTV9CUk9XU0UsICAgICAgICAgICAxODUsIDQ1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZDaGFuZ2VyIGQnaWP0bmUuLi4iLCBQTV9PVEhFUl9TWU1CT0wsICAgICAxODUsIDY1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZBaWRlIiwgICAgICAgICAgICAgICAgIFBNX0hFTFAsICAgICAgICAgICAgIDE4NSwgODUsICA2MCwgMTUsIFdTX1RBQlNUT1AKfQoKLyogRGlhbG9nIGBTeW1ib2wnICovCgpESUFMT0dfU1lNQk9MIERJQUxPRyAwLCAwLCAyMDAsIDg1CkxBTkdVQUdFIExBTkdfRlJFTkNILCBTVUJMQU5HX0RFRkFVTFQKU1RZTEUgRFNfTU9EQUxGUkFNRQpDQVBUSU9OICJDaGFuZ2VyIGQnaWP0bmUiCnsKTFRFWFQgICAgICImTm9tOiIsICAgIFBNX0lDT05fRklMRV9UWFQsICAgIDUsIDE1LCAgNDAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgIFBNX0lDT05fRklMRSwgICAgICAgNDUsIDE1LCAgODUsIDE1LCBXU19UQUJTVE9QCkxURVhUICAgICAiSWP0bmUgYSZjdHVlbGxlOiIsIFBNX1NZTUJPTF9MSVNUX1RYVCwgIDUsIDMwLCAxMjUsIDEwCkNPTUJPQk9YICAgICAgICAgICAgICAgICAgICAgICAgIFBNX1NZTUJPTF9MSVNULCAgICAgIDUsIDQwLCAxMjUsIDUwLAogICBDQlNfRFJPUERPV05MSVNUIHwgQ0JTX0FVVE9IU0NST0xMIHwgQ0JTX09XTkVSRFJBV0ZJWEVEIHwgV1NfVEFCU1RPUApERUZQVVNIQlVUVE9OICJPSyIsICAgICAgICAgSURPSywgICAgICAgICAgICAgIDEzNSwgIDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiQW5udWxlciIsICAgICBJRENBTkNFTCwgICAgICAgICAgMTM1LCAyNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICJQYSZyY291cmlyLi4uIiwgICAgUE1fQlJPV1NFLCAgICAgICAgIDEzNSwgNDUsICA2MCwgMTUsIFdTX1RBQlNUT1AKUFVTSEJVVFRPTiAgICAiJkFpZGUiLCAgICAgICBQTV9IRUxQLCAgICAgICAgICAgMTM1LCA2NSwgIDYwLCAxNSwgV1NfVEFCU1RPUAp9CgovKiBEaWFsb2cgYEV4ZWN1dGUnICovCgpESUFMT0dfRVhFQ1VURSBESUFMT0cgMCwgMCwgMjAwLCA4NQpMQU5HVUFHRSBMQU5HX0ZSRU5DSCwgU1VCTEFOR19ERUZBVUxUClNUWUxFIERTX01PREFMRlJBTUUKQ0FQVElPTiAiRXjpY3V0ZXIiCnsKTFRFWFQgICAgICImTGlnbmUgZGUgY29tbWFuZGU6IiwgSURJR05PUkUsICAgMDUsIDE1LCAxMjAsIDEwCkVESVRURVhUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBNX0NPTU1BTkQsIDA1LCAyNSwgMTIwLCAxNSwgV1NfVEFCU1RPUApDSEVDS0JPWCAgICAgICIiLCAgICAgICAgICAgICAgICAgICAgICBQTV9TWU1CT0wsICAwNSwgNDUsICAxMCwgMTAsIFdTX1RBQlNUT1AKTFRFWFQgICAgICAgICAiUulkdWlyZSDgIGwnJnV0aWxpc2F0aW9uIiwgICBJRElHTk9SRSwgICAyMCwgNDUsIDEyMCwgMTAKREVGUFVTSEJVVFRPTiAiT0siLCAgICAgICAgICAgICAgIElET0ssICAgICAgMTM1LCAgNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICJBbm51bGVyIiwgICAgICAgICAgIElEQ0FOQ0VMLCAgMTM1LCAyNSwgIDYwLCAxNSwgV1NfVEFCU1RPUApQVVNIQlVUVE9OICAgICJQYSZyY291cmlyLi4uIiwgICAgICAgICAgUE1fQlJPV1NFLCAxMzUsIDQ1LCAgNjAsIDE1LCBXU19UQUJTVE9QClBVU0hCVVRUT04gICAgIiZBaWRlIiwgICAgICAgICAgICAgUE1fSEVMUCwgICAxMzUsIDY1LCAgNjAsIDE1LCBXU19UQUJTVE9QCn0KCi8qIFN0cmluZ3MgKi8KClNUUklOR1RBQkxFIERJU0NBUkRBQkxFIExBTkdVQUdFIExBTkdfRlJFTkNILCBTVUJMQU5HX0RFRkFVTFQKewpJRFNfUFJPR1JBTV9NQU5BR0VSLAkJIkdlc3Rpb25haXJlIGRlIHByb2dyYW1tZXMiCklEU19FUlJPUiwJCQkiRVJSRVVSIgpJRFNfV0FSTklORywJCQkiQVRURU5USU9OIgpJRFNfSU5GTywJCQkiSW5mb3JtYXRpb24iCklEU19ERUxFVEUsCQkJIlN1cHByaW1lciIKSURTX0RFTEVURV9HUk9VUF9zLAkJIlZvdWxlei12b3VzIHN1cHByaW1lciBsZSBncm91cGUgJyVzJz8iCklEU19ERUxFVEVfUFJPR1JBTV9zLAkJIlZvdWxlei12b3VzIHN1cHByaW1lciBsZSBwcm9ncmFtbWUgJyVzJz8iCklEU19OT1RfSU1QTEVNRU5URUQsCQkiTm9uIGltcGxlbWVudOkiCklEU19GSUxFX1JFQURfRVJST1JfcywJCSJJbXBvc3NpYmxlIGQnb3V2cmlyICclcycuIgpJRFNfRklMRV9XUklURV9FUlJPUl9zLAkJIkltcG9zc2libGUgZCdlbnJlZ2lzdHJlciAnJXMnLiIKSURTX0dSUEZJTEVfUkVBRF9FUlJPUl9zLAkiXApJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIGdyb3VwZSAnJXMnLlxuXApWb3VsZXotdm91cyBxdWUgbGUgR2VzdGlvbm5haXJlIGRlIHByb2dyYW1tZXMgZXNzYWllXG5cCmRlIGwnb3V2cmlyIGRhbnMgbGVzIHByb2NoYWluZXMgc2Vzc2lvbnM/IgpJRFNfT1VUX09GX01FTU9SWSwJCSJN6W1vaXJlIGluc3VmZmlzYW50ZS4iCklEU19XSU5IRUxQX0VSUk9SLAkJIkltcG9zc2libGUgZCdhZmZpY2hlciBsJ0FpZGUuIgpJRFNfVU5LTk9XTl9GRUFUVVJFX3MsCQkiQ2FyYWN0ZXJpc3RpcXVlIGluY29ubnVlIGRhbnMgJXMiCklEU19GSUxFX05PVF9PVkVSV1JJVFRFTl9zLAkiTGUgZmljaGllciBgJXMnIGV4aXN0ZS4gTm9uIOljcmFz6S4iCklEU19TQVZFX0dST1VQX0FTX3MsCQkiR3JvdXBlIHNhdXbpIHNvdXMgYCVzJyBwb3VyIOl2aXRlciBsJ+ljcmFzZW1lbnQgZHUgZmljaGllciBvcmlnaW5hbC4iCklEU19OT19IT1RfS0VZLAkJCSJBdWN1biIKSURTX0FMTF9GSUxFUywJCQkiVG91dCBmaWNoaWVyICgqLiopIgpJRFNfUFJPR1JBTVMsCQkJIlByb2dyYW1tZXMiCklEU19MSUJSQVJJRVNfRExMLAkJIkJpYmxpb3Ro6HF1ZXMgKCouZGxsKSIKSURTX1NZTUJPTF9GSUxFUywJCSJJY/RuZXMiCklEU19TWU1CT0xTX0lDTywJCSJJY/RuZXMgKCouaWNvKSIKfQo=