LyoKICogT2xlVmlldyAoRnIucmMpCiAqIEZyZW5jZyBMYW5ndWFnZSBTdXBwb3J0CiAqCiAqIENvcHlyaWdodCAyMDA2IEpvbmF0aGFuIEVybnN0CiAqCiAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQQogKi8KCkxBTkdVQUdFIExBTkdfRlJFTkNILCBTVUJMQU5HX05FVVRSQUwKCklETV9NRU5VIE1FTlUKewogICAgUE9QVVAgIiZGaWNoaWVyIgogICAgewogICAgICAgIE1FTlVJVEVNICImTGllciBhdSBmaWNoaWVyLi4uIiwgICAgSURNX0JJTkQKICAgICAgICBNRU5VSVRFTSAiJkFmZmljaGVyIGxhIFR5cGVMaWIuLi4iLCAgICBJRE1fVFlQRUxJQgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQ29uZmlndXJhdGlvbiBzeXN06G1lIiwgICAgSURNX1NZU0NPTkYKICAgICAgICBNRU5VSVRFTSAiJkV46WN1dGVyIGwn6WRpdGV1ciBkZSBsYSBiYXNlIGRlIHJlZ2lzdHJlIiwgICAgSURNX1JFR0VESVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlF1aXR0ZXIiLCAgICBJRE1fRVhJVAogICAgfQogICAgUE9QVVAgIiZPYmpldCIKICAgIHsKICAgICAgICBQT1BVUCAiJkNvQ3JlYXRlSW5zdGFuY2UgRmxhZyIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICJDTFNDVFhfJklOUFJPQ19TRVJWRVIiLCAgICBJRE1fRkxBR19JTlNFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYX0lOUFJPQ18mSEFORExFUiIsICAgIElETV9GTEFHX0lOSEFOREwKICAgICAgICAgICAgTUVOVUlURU0gIkNMU0NUWF8mTE9DQUxfU0VSVkVSIiwgICAgICAgIElETV9GTEFHX0xPQ1NFUlYsQ0hFQ0tFRAogICAgICAgICAgICBNRU5VSVRFTSAiQ0xTQ1RYXyZSRU1PVEVfU0VSVkVSIiwgICAgSURNX0ZMQUdfUkVNU0VSVgogICAgICAgIH0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBzdXIgbGUgJnR5cGUiLCAgICBJRE1fVFlQRUlORk8sIEdSQVlFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJDcullciB1bmUgJmluc3RhbmNlIiwgICAgSURNX0NSRUFURUlOU1QsIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICJDcullciB1bmUgaW5zdGFuY2UgJnN1ciIsICAgIElETV9DUkVBVEVJTlNUT04sIEdSQVlFRAogICAgICAgIE1FTlVJVEVNICImTGli6XJlciBsJ2luc3RhbmNlIiwgICAgSURNX1JFTEVBU0VJTlNULCBHUkFZRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQ29waWVyIGxlICZDTFNJRCBkYW5zIGxlIHByZXNzZS1wYXBpZXJzIiwgICAgSURNX0NPUFlDTFNJRCwgR1JBWUVECiAgICAgICAgTUVOVUlURU0gIkNvcGllciBsYSBiYWxzZSAmSFRNTCBkZSBsJ29iamV0IGRhbnMgbGUgcHJlc3NlLXBhcGllcnMiLCBJRE1fSFRNTFRBRywgR1JBWUVECiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZBZmZpY2hlci4uLiIsICAgIElETV9WSUVXLCBHUkFZRUQKICAgIH0KICAgIFBPUFVQICImQWZmaWNoYWdlIgogICAgewogICAgICAgIE1FTlVJVEVNICJNb2RlICZleHBlcnQiLCAgICBJRE1fRVhQRVJULENIRUNLRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQ2F06WdvcmllcyBkZSBjb21wc2FudHMgJmNhY2jpcyIsICAgIElETV9ISURERU4sIEdSQVlFRAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQmFycmUgZCdvdXRpbHMiLCAgICBJRE1fVE9PTEJBUixDSEVDS0VECiAgICAgICAgTUVOVUlURU0gIkJhcnJlIGQn6SZ0YXQiLCAgICBJRE1fU1RBVFVTQkFSLENIRUNLRUQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiQSZjdHVhbGlzZXJcdEY1IiwgICAgSURNX1JFRlJFU0gKICAgIH0KICAgIFBPUFVQICJBaWQmZSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiwCAmcHJvcG9zIGRlIE9sZVZpZXciLCAgICBJRE1fQUJPVVQKICAgIH0KfQoKSURNX1RZUEVMSUIgTUVOVQp7CiAgICBQT1BVUCAiJkZpY2hpZXIiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIkVucmVnaXN0cmVyICZzb3VzIiwgICAgSURNX1NBVkVBUwogICAgICAgIE1FTlVJVEVNICImRmVybWVyIiwgIElETV9DTE9TRQogICAgfQogICAgUE9QVVAgIiZBZmZpY2hhZ2UiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZHcm91cGVyIHBhciB0eXBlIiwgSURNX0dST1VQCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkJhcnJlIGQnJm91dGlscyIsICAgIElETV9UT09MQkFSCiAgICAgICAgTUVOVUlURU0gIiZCYXJyZSBkJ+l0YXQiLCBJRE1fU1RBVFVTQkFSLENIRUNLRUQKICAgIH0KfQoKU1RSSU5HVEFCTEUKewogICAgSURTX0FQUE5BTUUgICAgICAgICAgICAiT2xlVmlldyIKICAgIElEU19BUFBUSVRMRSAgICAgICAgICAgIk9sZVZpZXciCiAgICBJRFNfUkVBRFkgICAgICAgICAgICAgICJQcup0IgogICAgSURTX0FCT1VUICAgICAgICAgICAgICAiT2xlVmlldyAtIFZpc2lvbm5ldXIgZCdvYmpldHMgT0xFL0NPTSIKICAgIElEU19BQk9VVFZFUiAgICAgICAgICAgInZlcnNpb24gMS4wIgogICAgSURTX1RZUEVMSUJUSVRMRSAgICAgICAiVmlzaW9ubmV1ciBkJ0lUeXBlTGliIgogICAgSURTX09QRU4gICAgICAgICAgICAgICAiT3V2cmlyIgoKICAgIElETV9CSU5ELCAgICAgICAgICAgICAgIkxpZSDgIHVuIGZpY2hpZXIg4CBsJ2FpZGUgZCd1biBGaWxlIE1vbmlrZXIiCiAgICBJRE1fVFlQRUxJQiwgICAgICAgICAgICJPdXZyZSB1biBmaWNoaWVyIFR5cGVMaWIgZXQgYWZmaWNoZXIgc29uIGNvbnRlbnUiCiAgICBJRE1fU1lTQ09ORiwgICAgICAgICAgICJNb2RpZmllIGxlcyBwYXJhbeh0cmVzIENPTSBkaXN0cmlidellcyBwb3VyIGwnZW5zZW1ibGUgZGUgbGEgbWFjaGluZSIKICAgIElETV9SRUdFRElULCAgICAgICAgICAgIkV46WN1dGUgbCfpZGl0ZXVyIGRlIGJhc2UgZGUgcmVnaXN0cmUgZGUgV2luZSIKICAgIElETV9FWElULCAgICAgICAgICAgICAgIlF1aXR0ZSBsJ2FwcGxpY2F0aW9uIGFwcuhzIGF2b2lyIGRlbWFuZOkgcydpbCBmYXV0IGVucmVnaXN0cmVyIGxlcyBtb2RpZmljYXRpb25zIgogICAgSURNX0NSRUFURUlOU1QsICAgICAgICAiQ3LpZSB1bmUgaW5zdGFuY2UgZGUgbCdvYmpldCBz6WxlY3Rpb25u6SIKICAgIElETV9DUkVBVEVJTlNUT04sICAgICAgIkNy6WUgdW5lIGluc3RhbmNlIGRlIGwnb2JqZXQgc+lsZWN0aW9ubukgc3VyIHVuZSBtYWNoaW5lIHNw6WNpZmlxdWUiCiAgICBJRE1fUkVMRUFTRUlOU1QsICAgICAgICJMaWLocmUgbCdpbnN0YW5jZSBkZSBsJ29iamV0IGFjdHVlbGxlbWVudCBz6WxlY3Rpb25u6SIKICAgIElETV9DT1BZQ0xTSUQsICAgICAgICAgIkNvcGllIGxlIEdVSUQgZGUgbCdvYmpldCBhY3R1ZWxsZW1lbnQgc+lsZWN0aW9ubukgZGFucyBsZSBwcmVzc2UtcGFwaWVycyIKICAgIElETV9WSUVXLCAgICAgICAgICAgICAgIkFmZmljaGUgbGUgdmlzaW9ubmV1ciBwb3VyIGwnb2JqZXQgYWN0dWVsbGVtZW50IHPpbGVjdGlvbm7pIgogICAgSURNX0ZMQUdfSU5TRVJWLCAgICAgICAiVXRpbGlzZSBDTFNDVFhfSU5QUk9DX1NFUlZFUiBsb3JzIGRlIGwnYXBwZWwg4CBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0ZMQUdfSU5IQU5ETCwgICAgICAiVXRpbGlzZSBDTFNDVFhfSU5QUk9DX0hBTkRMRVIgbG9ycyBkZSBsJ2FwcGVsIOAgQ29HZXRDbGFzc09iamVjdCIKICAgIElETV9GTEFHX0xPQ1NFUlYsICAgICAgIlV0aWxpc2UgQ0xTQ1RYX0xPQ0FMX1NFUlZFUiBsb3JzIGRlIGwnYXBwZWwg4CBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0ZMQUdfUkVNU0VSViwgICAgICAiVXRpbGlzZSBDTFNDVFhfUkVNT1RFX1NFUlZFUiBsb3JzIGRlIGwnYXBwZWwg4CBDb0dldENsYXNzT2JqZWN0IgogICAgSURNX0VYUEVSVCwgICAgICAgICAgICAiQmFzY3VsZSBlbnRyZSBsZSBtb2RlIGQnYWZmaWNoYWdlIGV4cGVydCBldCBsZSBtb2RlIGQnYWZmaWNoYWdlIGTpYnV0YW50IgogICAgSURNX0hJRERFTiwgICAgICAgICAgICAiQmFzY3VsZSBsJ2FmZmljaGFnZSBkZXMgY2F06WdvcmllcyBkZXMgY29tcG9zYW50IHF1aSBuZSBzb250IHBhcyBwcul2dWUgcG91ciDqdHJlIHZpc2libGUiCiAgICBJRE1fVE9PTEJBUiwgICAgICAgICAgICJBZmZpY2hlIG91IG1hc3F1ZSBsYSBiYXJyZSBkJ291dGlscyIKICAgIElETV9TVEFUVVNCQVIsICAgICAgICAgIkFmZmljaGUgb3UgbWFzcXVlIGxhIGJhcnJlIGQn6XRhdCIKICAgIElETV9SRUZSRVNILCAgICAgICAgICAgIkFjdHVhbGlzZSB0b3V0ZXMgbGVzIGxpc3RlcyIKICAgIElETV9BQk9VVCwgICAgICAgICAgICAgIkFmZmljaGUgbGVzIGluZm9ybWF0aW9ucyBzdXIgbGUgcHJvZ3JhbW1loDsgbGUgbnVt6XJvIGRlIHZlcnNpb24gZXQgbGEgbGljZW5jZSIKCiAgICBJRE1fU0FWRUFTLCAgICAgICAgICAgICJFbnJlZ2lzdHJlciBlbiB0YW50IHF1ZSBmaWNoaWVyIC5JREwgb3UgLkgiCiAgICBJRE1fQ0xPU0UsICAgICAgICAgICAgICJGZXJtZXIgbGEgZmVu6nRyZSIKICAgIElETV9HUk9VUCwgICAgICAgICAgICAgIkdyb3VwZXIgcGFyIHR5cGVpbmZvcyIKCiAgICBJRFNfVFJFRV9PQywgICAgICAgICAgICJPYmplY3RDbGFzc2VzIgogICAgSURTX1RSRUVfR0JDQywgICAgICAgICAiR3JvdXDpcyBwYXIgY2F06WdvcmllIGRlIGNvbXBvc2FudHMiCiAgICBJRFNfVFJFRV9PMU8sICAgICAgICAgICJPYmpldHMgT0xFIDEuMCIKICAgIElEU19UUkVFX0NMTywgICAgICAgICAgIk9iamV0cyBkZSBsYSBiaWJsaW90aOhxdWUgQ09NIgogICAgSURTX1RSRUVfQU8sICAgICAgICAgICAiVG91cyBsZXMgb2JqZXRzIgogICAgSURTX1RSRUVfQUlELCAgICAgICAgICAiSWRlbnRpZmljYXRldXJzIGQnYXBwbGljYXRpb24iCiAgICBJRFNfVFJFRV9UTCwgICAgICAgICAgICJCaWJsaW90aOhxdWVzIHR5cGUiCiAgICBJRFNfVExfVkVSLCAgICAgICAgICAgICJ2ZXIuIgogICAgSURTX1RSRUVfSSwgICAgICAgICAgICAiSW50ZXJmYWNlcyIKCiAgICBJRFNfVEFCX1JFRywgICAgICAgICAgICJCYXNlIGRlIHJlZ2lzdHJlIgogICAgSURTX1RBQl9JTVBMLCAgICAgICAgICAiSW1wbOltZW50YXRpb24iCiAgICBJRFNfVEFCX0FDVElWLCAgICAgICAgICJBY3RpdmF0aW9uIgoKICAgIElEU19DR0NPRkFJTCwgICAgICAgICAgIkNvR2V0Q2xhc3NPYmplY3QgYSDpY2hvdekuIgogICAgSURTX0VSUk9SX1VOS04sICAgICAgICAiRXJyZXVyIGluY29ubnVlIgogICAgSURTX1RSVUUsICAgICAgICAgICAgICAiVHJ1ZSIKICAgIElEU19GQUxTRSwgICAgICAgICAgICAgIkZhdXgiCiAgICBJRFNfQllURVMsICAgICAgICAgICAgICJvY3RldHMiCgogICAgSURTX0VSUk9SX0xPQURUWVBFTElCLCAiyWNoZWMgZGUgTG9hZFR5cGVMaWIoICVzICkgKCQleCkiCiAgICBJRFNfSU5IRVJJVElOVEVSRkFDRVMsICJJbnRlcmZhY2VzIGjpcml06WVzIgp9CgpETEdfQ1JFQVRFSU5TVE9OIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyNTAsIDQxClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJTZSBjb25uZWN0ZXIg4CB1bmUgYXV0cmUgbWFjaGluZSIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJOb20gZGUgbGEgJm1hY2hpbmWgOiIsIElESUdOT1JFLCA1LCA2LCAxOTAsIDgKICAgIEVESVRURVhUICAgIElEQ19NQUNISU5FLCA1LCAxNiwgMTkwLCAxMiwgV1NfQk9SREVSIHwgV1NfVEFCU1RPUCB8IEVTX0FVVE9IU0NST0xMCiAgICBERUZQVVNIQlVUVE9OICAgIiZPSyIsIElET0ssIDIwMCwgNSwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJkFubnVsZXIiLCBJRENBTkNFTCwgMjAwLCAyMiwgNDUsIDE0Cn0KCkRMR19TWVNDT05GIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAxNzAsIDEwMApTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiQ29uZmlndXJhdGlvbiBzeXN06G1lIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIlBhcmFt6HRyZXMgc3lzdOhtZSIsIElESUdOT1JFLCA1LCA2LCAxNjAsIDgKICAgIENIRUNLQk9YICAgICImQWN0aXZlciBsZSBDT00gZGlzdHJpYnXpIiwgSURDX0VOQUJMRURDT00sIDUsIDIwLCAxNjAsIDEwLCBXU19UQUJTVE9QIHwgV1NfR1JPVVAgfCBCU19BVVRPQ0hFQ0tCT1gKICAgIENIRUNLQk9YICAgICJBY3RpdmVyIGxlcyBjb25uZXhpb25zIOAgJmRpc3RhbmNlIChzZXVsZW1lbnQgV2luOTUpIiwgSURDX0VOQUJMRVJFTU9URSwgNSwgMzUsIDE2MCwgMTAsIFdTX1RBQlNUT1AgfCBXU19HUk9VUCB8IEJTX0FVVE9DSEVDS0JPWAogICAgTFRFWFQgICAiQ2VzIHBhcmFt6HRyZXMgbmUgZm9udCBxdWUgbW9kaWZpZXIgbGVzIHZhbGV1cnMgZHUgcmVnaXN0cmUuXG5JbHMgbidvbnQgcGFzIGQnZWZmZXQgc3VyIGxlcyBwZXJmb3JtYW5jZXMgZGUgV2luZS4iLCBJRElHTk9SRSwgNSwgNTAsIDE2MCwgNDAKICAgIERFRlBVU0hCVVRUT04gICAiJk9LIiwgSURPSywgNzAsIDgwLCA0NSwgMTQKICAgIFBVU0hCVVRUT04gICImQW5udWxlciIsIElEQ0FOQ0VMLCAxMjAsIDgwLCA0NSwgMTQKfQoKRExHX0RFRkFVTFRfSVYgRElBTE9HIERJU0NBUkRBQkxFIDAsIDAsIDI4MCwgNTAKU1RZTEUgRFNfTU9EQUxGUkFNRSB8IERTX05PSURMRU1TRyB8IFdTX0NBUFRJT04gfCBXU19TWVNNRU5VCkNBUFRJT04gIlZpc2lvbm5ldXIgZCdpbnRlcmZhY2UgcGFyIGTpZmF1dCIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJJbnRlcmZhY2UiLCBJRElHTk9SRSwgNSwgNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19MQUJFTCwgNjAsIDYsIDE0NSwgOAogICAgTFRFWFQgICAiSUlEOiIsIElESUdOT1JFLCA1LCAxNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19JREVOVElGSUVSLCA2MCwgMTYsIDE2NSwgOAogICAgREVGUFVTSEJVVFRPTiAgICImRmVybWVyIiwgSURDQU5DRUwsIDIzMCwgNiwgNDUsIDE0CiAgICBQVVNIQlVUVE9OICAiJkFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdHlwZSIsIElEQ19WSUVXVFlQRUlORk8sIDYsIDMxLCA3MCwgMTQsIFdTX0RJU0FCTEVECn0KCkRMR19JUEVSU0lTVF9JViBESUFMT0cgRElTQ0FSREFCTEUgMCwgMCwgMjgwLCAyOQpTVFlMRSBEU19NT0RBTEZSQU1FIHwgRFNfTk9JRExFTVNHIHwgV1NfQ0FQVElPTiB8IFdTX1NZU01FTlUKQ0FQVElPTiAiSVBlcnNpc3QgSW50ZXJmYWNlIFZpZXdlciIKRk9OVCA4LCAiTVMgU2hlbGwgRGxnIgp7CiAgICBMVEVYVCAgICJOb20gZGUgbGEgY2xhc3NloDoiLCBJRElHTk9SRSwgNSwgNiwgNTAsIDgKICAgIExURVhUICAgIiIsIElEQ19MQUJFTCwgNjAsIDYsIDE0NSwgOAogICAgTFRFWFQgICAiQ0xTSUQ6IiwgSURJR05PUkUsIDUsIDE2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0lERU5USUZJRVIsIDYwLCAxNiwgMTY1LCA4CiAgICBERUZQVVNIQlVUVE9OICAgIiZGZXJtZXIiLCBJRENBTkNFTCwgMjMwLCA2LCA0NSwgMTQKfQoKRExHX0lQRVJTSVNUU1RSRUFNX0lWIERJQUxPRyBESVNDQVJEQUJMRSAwLCAwLCAyODAsIDY4ClNUWUxFIERTX01PREFMRlJBTUUgfCBEU19OT0lETEVNU0cgfCBXU19DQVBUSU9OIHwgV1NfU1lTTUVOVQpDQVBUSU9OICJWaXNpb25uZXVyIGQnaW50ZXJmYWNlIElQZXJzaXN0U3RyZWFtIgpGT05UIDgsICJNUyBTaGVsbCBEbGciCnsKICAgIExURVhUICAgIk5vbSBkZSBsYSBjbGFzc2WgOiIsIElESUdOT1JFLCA1LCA2LCA1MCwgOAogICAgTFRFWFQgICAiIiwgSURDX0xBQkVMLCA2MCwgNiwgMTQ1LCA4CiAgICBMVEVYVCAgICJDTFNJRDoiLCBJRElHTk9SRSwgNSwgMTYsIDUwLCA4CiAgICBMVEVYVCAgICIiLCBJRENfSURFTlRJRklFUiwgNjAsIDE2LCAxNjUsIDgKICAgIERFRlBVU0hCVVRUT04gICAiJkZlcm1lciIsIElEQ0FOQ0VMLCAyMzAsIDYsIDQ1LCAxNAogICAgUFVTSEJVVFRPTiAgIiZJc0RpcnR5IiwgSURDX0lTRElSVFlfQlVUVE9OLCA2LCAzMSwgNTAsIDE0CiAgICBMVEVYVCAgICI/Pz8iLCBJRENfSVNESVJUWSwgNjAsIDM0LCAxNDUsIDgKICAgIFBVU0hCVVRUT04gICImR2V0U2l6ZU1heCIsIElEQ19HRVRTSVpFTUFYX0JVVFRPTiwgNiwgNDksIDUwLCAxNAogICAgTFRFWFQgICAiPz8/IiwgSURDX0dFVFNJWkVNQVgsIDYwLCA1MiwgMTQ1LCA4Cn0K