LyoKICogRmlubmlzaCByZXNvdXJjZXMgZm9yIG1zaHRtbCAKICoKICogQ29weXJpZ2h0IDIwMDUgS2ltbW8gTXlsbHl2aXJ0YQogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgoKTEFOR1VBR0UgTEFOR19GSU5OSVNILCBTVUJMQU5HX0RFRkFVTFQKCklEUl9CUk9XU0VfQ09OVEVYVF9NRU5VIE1FTlUKewogICAgUE9QVVAgIk9sZXR1cyIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJlRha2Fpc2luIiwgICAgICAgICAgICAgICAgICAgICBJRE1fR09CQUNLV0FSRAogICAgICAgIE1FTlVJVEVNICImRXRlZW5w5GluIiwgICAgICAgICAgICAgICAgICAgIElETV9HT0ZPUldBUkQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVGEmbGxlbm5hIFRhdXN0YS4uLiIsICAgICAgICAgICBJRE1fU0FWRUJBQ0tHUk9VTkQKICAgICAgICBNRU5VSVRFTSAiJkFzZXRhIFRhdXN0YWtzaSIsICAgICAgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIiZLb3Bpb2kgVGF1c3RhIiwgICAgICAgICAgICAgICAgSURNX0NPUFlCQUNLR1JPVU5ECiAgICAgICAgTUVOVUlURU0gIkEmc2V0YSBUefZw9nlk5GxsZSIsICAgICAgICAgICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZWYWxpdHNlIEthaWtraSIsICAgICAgICAgICAgICAgSURNX1NFTEVDVEFMTAogICAgICAgIE1FTlVJVEVNICJMJmlpdOQiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMdW8gJlBpa2FrdXZha2UiLCAgICAgICAgICAgICAgIElETV9DUkVBVEVTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJMaXPk5CBTJnVvc2lra2VpaGluIiwgICAgICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSAiTuQmeXTkIEzkaGRlIiwgICAgICAgICAgICAgICAgICBJRE1fVklFV1NPVVJDRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJLb28mZGF1cyIsICAgICAgICAgICAgICAgICAgICAgIElETV9MQU5HVUFHRQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJUdWwmb3N0YSIsICAgICAgICAgICAgICAgICAgICAgIElETV9QUklOVAogICAgICAgIE1FTlVJVEVNICJQJuRpdml05CIsICAgICAgICAgICAgICAgICAgICAgIF9JRE1fUkVGUkVTSAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJPJm1pbmFpc3V1ZGV0IiwgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkt1dmEiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZBdmFhIExpbmtraSIsICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIkEmdmFhIExpbmtraSBVdWRlc3NhIElra3VuYXNzYSIsSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIiZUYWxsZW5uYSBrb2hkZSBuaW1lbGzkLi4uIiwgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiVCZ1bG9zdGEgS29oZGUiLCAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk7keXTkIEt1dmEiLCAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiVGFsbGVubmEgS3V2YSBOaSZtZWxs5C4uLiIsICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiTOQmaGV05CBrdXZhIHPkaGv2cG9zdGluYS4uLiIsICBJRE1fTVBfRU1BSUxQSUNUVVJFCiAgICAgICAgTUVOVUlURU0gIlR1bG9zdGEgJkt1dmEuLi4iLCAgICAgICAgICAgICAgSURNX01QX1BSSU5UUElDVFVSRQogICAgICAgIE1FTlVJVEVNICJNZW5lICZPbWlpbiBLdXZpaW4iLCAgICAgICAgICAgIElETV9NUF9NWVBJQ1MKICAgICAgICBNRU5VSVRFTSAiQSZzZXRhIFRhdXN0YWtzaSIsICAgICAgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkFzZXRhIFQmefZw9nlk5GxsZS4uLiIsICAgICAgICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZMZWlra2FhIiwgICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLbyZwaW9pIiwgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGlvaSBQaWtha3V2YWsmZSIsICAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJMJmlpdOQiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMaXMm5OQgU3Vvc2lra2VpaGluLi4uIiwgICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiT21pbmFpc3V1JmRldCIsICAgICAgICAgICAgICAgICBJRE1fUFJPUEVSVElFUwogICAgfQoKICAgIFBPUFVQICJIYWxsaW50YSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiSyZ1bW9hIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fVU5ETwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImTGVpa2thYSIsICAgICAgICAgICAgICAgICAgICAgIElETV9DVVQKICAgICAgICBNRU5VSVRFTSAiJktvcGlvaSIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fQ09QWQogICAgICAgIE1FTlVJVEVNICJMJmlpdOQiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNICJQJm9pc3RhIiwgICAgICAgICAgICAgICAgICAgICAgIElETV9ERUxFVEUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiViZhbGl0c2UgS2Fpa2tpIiwgICAgICAgICAgICAgICBJRE1fU0VMRUNUQUxMCiAgICB9CgogICAgUE9QVVAgIlRhdWx1a2tvIgogICAgewogICAgICAgIFBPUFVQICImVmFsaXRzZSIKICAgICAgICB7CiAgICAgICAgICAgIE1FTlVJVEVNICImU29sdSIsICAgICAgICAgICAgICAgICAgICAgSURNX0NFTExTRUxFQ1QKICAgICAgICAgICAgTUVOVUlURU0gIiZSaXZpIiwgICAgICAgICAgICAgICAgICAgICBJRE1fUk9XU0VMRUNUCiAgICAgICAgICAgIE1FTlVJVEVNICImUGFsc3RhIiwgICAgICAgICAgICAgICAgICAgSURNX0NPTFVNTlNFTEVDVAogICAgICAgICAgICBNRU5VSVRFTSAiJlRhdWx1a2tvIiwgICAgICAgICAgICAgICAgIElETV9UQUJMRVNFTEVDVAogICAgICAgIH0KICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiUyZvbHVuIE9taW5haXN1dWRldCIsICAgICAgICAgICBJRE1fQ0VMTFBST1BFUlRJRVMKICAgICAgICBNRU5VSVRFTSAiVGEmdWx1a29uIE9taW5haXN1dWRldCIsICAgICAgICBJRE1fVEFCTEVQUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIjFEU2l2dW4gVmFsaW50YSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiJkxlaWtrYWEiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3Bpb2kiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiTCZpaXTkIiwgICAgICAgICAgICAgICAgICAgICAgICBJRE1fUEFTVEUKICAgICAgICBNRU5VSVRFTSAiViZhbGl0c2UgS2Fpa2tpIiwgICAgICAgICAgICAgICBJRE1fU0VMRUNUQUxMCiAgICAgICAgTUVOVUlURU0gIiZUdWxvc3RhIiwgICAgICAgICAgICAgICAgICAgICAgSURNX1BSSU5UCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICB9CgogICAgUE9QVVAgIkFua2t1cmkiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZBdmFhIiwgICAgICAgICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIkEmdmFhIFV1ZGVzc2EgSWtrdW5hc3NhIiwgICAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIiZUYWxsZW5uYSBLb2hkZS4uLiIsICAgICAgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiVCZ1bG9zdGEgS29oZGUiLCAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJkxlaWtrYWEiLCAgICAgICAgICAgICAgICAgICAgICBJRE1fQ1VUCiAgICAgICAgTUVOVUlURU0gIiZLb3Bpb2kiLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0NPUFkKICAgICAgICBNRU5VSVRFTSAiS29waW9pICZQaWtha3V2YWtlIiwgICAgICAgICAgICBJRE1fQ09QWVNIT1JUQ1VUCiAgICAgICAgTUVOVUlURU0gIkwmaWl05CIsICAgICAgICAgICAgICAgICAgICAgICAgSURNX1BBU1RFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIkxpJnPk5CBTdW9zaWtrZWloaW4uLi4iLCAgICAgICAgSURNX0FEREZBVk9SSVRFUwogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJPJm1pbmFpc3V1ZGV0IiwgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkNvbnRleHQgVW5rbm93biIKICAgIHsKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgIH0KCiAgICBQT1BVUCAiRFlOU1JDIEt1dmEiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZBdmFhIExpbmtraSIsICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIkEmdmFhIFV1ZGVzc2EgSWtrdW5hc3NhIiwgICAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIlRhbGxlbm5hICZLb2hkZS4uLiIsICAgICAgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiVCZ1bG9zdGEgS29oZGUiLCAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk7keXTkIEt1dmEiLCAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiVGFsbGVubmEgVmkmZGVvIE5pbWVsbOQuLi4iLCAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiQSZzZXRhIFRhdXN0YWtzaSIsICAgICAgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkFzZXRhIFR5JvZw9nlk5GxsZS4uLiIsICAgICAgICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZMZWlra2FhIiwgICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waW9pIiwgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGlvaSAmUGlrYWt1dmFrZSIsICAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJMJmlpdOQiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMaXMm5OQgU3Vvc2lra2VpaGluLi4uIiwgICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlRvaXN0YSIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fRFlOU1JDUExBWQogICAgICAgIE1FTlVJVEVNICJQJnlz5Hl05CIsICAgICAgICAgICAgICAgICAgICAgIElETV9EWU5TUkNTVE9QCiAgICAgICAgTUVOVUlURU0gIk8mbWluYWlzdXVlZGV0IiwgICAgICAgICAgICAgICAgSURNX1BST1BFUlRJRVMKICAgIH0KCiAgICBQT1BVUCAiQVJUIEt1dmEiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIiZBdmFhIExpbmtraSIsICAgICAgICAgICAgICAgICAgSURNX0ZPTExPV0xJTktDCiAgICAgICAgTUVOVUlURU0gIkEmdmFhIFV1ZGVzc2EgSWtrdW5hc3NhIiwgICAgICAgSURNX0ZPTExPV0xJTktOCiAgICAgICAgTUVOVUlURU0gIlRhbGxlbm5hIEtvaCZkZS4uLiIsICAgICAgICAgICAgSURNX1NBVkVUQVJHRVQKICAgICAgICBNRU5VSVRFTSAiVCZ1bG9zdGEgS29oZGUiLCAgICAgICAgICAgICAgICBJRE1fUFJJTlRUQVJHRVQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJk7keXTkIEt1dmEiLCAgICAgICAgICAgICAgICAgICBJRE1fU0hPV1BJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiVGFsbCZlbm5hIEt1dmEgTmltZWxs5C4uLiIsICAgICBJRE1fU0FWRVBJQ1RVUkUKICAgICAgICBNRU5VSVRFTSAiQSZzZXRhIFRhdXN0YWtzaSIsICAgICAgICAgICAgICBJRE1fU0VUV0FMTFBBUEVSCiAgICAgICAgTUVOVUlURU0gIkFzZXRhIFR5JvZw9nlk5GxsZS4uLiIsICAgICAgICAgSURNX1NFVERFU0tUT1BJVEVNCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIiZMZWlra2FhIiwgICAgICAgICAgICAgICAgICAgICAgSURNX0NVVAogICAgICAgIE1FTlVJVEVNICJLJm9waW9pIiwgICAgICAgICAgICAgICAgICAgICAgIElETV9DT1BZCiAgICAgICAgTUVOVUlURU0gIktvcGlvaSAmUGlrYWt1dmFrZSIsICAgICAgICAgICAgSURNX0NPUFlTSE9SVENVVAogICAgICAgIE1FTlVJVEVNICJMJmlpdOQiLCAgICAgICAgICAgICAgICAgICAgICAgIElETV9QQVNURQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJMaXMm5OQgU3Vvc2lra2VpaGluLi4uIiwgICAgICAgIElETV9BRERGQVZPUklURVMKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiJlRvaXN0YSIsICAgICAgICAgICAgICAgICAgICAgICBJRE1fSU1HQVJUUExBWQogICAgICAgIE1FTlVJVEVNICJQJnlz5Hl05CIsICAgICAgICAgICAgICAgICAgICAgIElETV9JTUdBUlRTVE9QCiAgICAgICAgTUVOVUlURU0gIkFsJmt1dW4iLCAgICAgICAgICAgICAgICAgICAgICAgSURNX0lNR0FSVFJFV0lORAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJPJm1pbmFpc3V1ZGV0IiwgICAgICAgICAgICAgICAgIElETV9QUk9QRVJUSUVTCiAgICB9CgogICAgUE9QVVAgIkRlYnVnIgogICAgewogICAgICAgIE1FTlVJVEVNICJUcmFjZSBUYWdzIiwgICAgICAgICAgICAgICAgICAgIElETV9UUkFDRVRBR1MKICAgICAgICBNRU5VSVRFTSAiUmVzb3VyY2UgRmFpbHVyZXMiLCAgICAgICAgICAgICBJRE1fUkVTT1VSQ0VGQUlMVVJFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIFRyYWNraW5nIEluZm8iLCAgICAgICAgICAgIElETV9EVU1QVFJBQ0tJTkdJTkZPCiAgICAgICAgTUVOVUlURU0gIkRlYnVnIEJyZWFrIiwgICAgICAgICAgICAgICAgICAgSURNX0RFQlVHQlJFQUsKICAgICAgICBNRU5VSVRFTSAiRGVidWcgVmlldyIsICAgICAgICAgICAgICAgICAgICBJRE1fREVCVUdWSUVXCiAgICAgICAgTUVOVUlURU0gIkR1bXAgVHJlZSIsICAgICAgICAgICAgICAgICAgICAgSURNX0RVTVBUUkVFCiAgICAgICAgTUVOVUlURU0gIkR1bXAgTGluZXMiLCAgICAgICAgICAgICAgICAgICAgSURNX0RVTVBMSU5FUwogICAgICAgIE1FTlVJVEVNICJEdW1wIERpc3BsYXlUcmVlIiwgICAgICAgICAgICAgIElETV9EVU1QRElTUExBWVRSRUUKICAgICAgICBNRU5VSVRFTSAiRHVtcCBGb3JtYXRDYWNoZXMiLCAgICAgICAgICAgICBJRE1fRFVNUEZPUk1BVENBQ0hFUwogICAgICAgIE1FTlVJVEVNICJEdW1wIExheW91dFJlY3RzIiwgICAgICAgICAgICAgIElETV9EVU1QTEFZT1VUUkVDVFMKICAgICAgICBNRU5VSVRFTSAiTWVtb3J5IE1vbml0b3IiLCAgICAgICAgICAgICAgICBJRE1fTUVNT1JZTU9OSVRPUgogICAgICAgIE1FTlVJVEVNICJQZXJmb3JtYW5jZSBNZXRlcnMiLCAgICAgICAgICAgIElETV9QRVJGT1JNQU5DRU1FVEVSUwogICAgICAgIE1FTlVJVEVNICJTYXZlIEhUTUwiLCAgICAgICAgICAgICAgICAgICAgIElETV9TQVZFSFRNTAogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICImQnJvd3NlIFZpZXciLCAgICAgICAgICAgICAgICAgIElETV9CUk9XU0VNT0RFCiAgICAgICAgTUVOVUlURU0gIiZFZGl0IFZpZXciLCAgICAgICAgICAgICAgICAgICAgSURNX0VESVRNT0RFCiAgICB9CgogICAgUE9QVVAgIlB5c3R5c3VvcmEgVmllcml0eXNwYWxra2kiCiAgICB7CiAgICAgICAgTUVOVUlURU0gIlZpZXJpdOQgVORubmUiLCAgICAgICAgICAgICAgICAgSURNX1NDUk9MTF9IRVJFCiAgICAgICAgTUVOVUlURU0gU0VQQVJBVE9SCiAgICAgICAgTUVOVUlURU0gIlls9nMiLCAgICAgICAgICAgICAgICAgICAgICAgICAgSURNX1NDUk9MTF9UT1AKICAgICAgICBNRU5VSVRFTSAiQWxhcyIsICAgICAgICAgICAgICAgICAgICAgICAgICBJRE1fU0NST0xMX0JPVFRPTQogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJTaXZ1IFls9nMiLCAgICAgICAgICAgICAgICAgICAgIElETV9TQ1JPTExfUEFHRVVQCiAgICAgICAgTUVOVUlURU0gIlNpdnUgQWxhcyIsICAgICAgICAgICAgICAgICAgICAgSURNX1NDUk9MTF9QQUdFRE9XTgogICAgICAgIE1FTlVJVEVNIFNFUEFSQVRPUgogICAgICAgIE1FTlVJVEVNICJWaWVyaXTkIFls9nMiLCAgICAgICAgICAgICAgICAgIElETV9TQ1JPTExfVVAKICAgICAgICBNRU5VSVRFTSAiVmllcml05CBBbGFzIiwgICAgICAgICAgICAgICAgICBJRE1fU0NST0xMX0RPV04KICAgIH0KCiAgICBQT1BVUCAiVmFha2FzdW9yYSBWaWVyaXR5c3BhbGtraSIKICAgIHsKICAgICAgICBNRU5VSVRFTSAiVmllcml05CBU5G5uZSIsICAgICAgICAgICAgICAgICBJRE1fU0NST0xMX0hFUkUKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmFzZW4gUmV1bmEiLCAgICAgICAgICAgICAgICAgICBJRE1fU0NST0xMX0xFRlRFREdFCiAgICAgICAgTUVOVUlURU0gIk9pa2VhIFJldW5hIiwgICAgICAgICAgICAgICAgICAgSURNX1NDUk9MTF9SSUdIVEVER0UKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiU2l2dSBWYXNlbXBhYW4iLCAgICAgICAgICAgICAgICBJRE1fU0NST0xMX1BBR0VMRUZUCiAgICAgICAgTUVOVUlURU0gIlNpdnUgT2lrZWFhbiIsICAgICAgICAgICAgICAgICAgSURNX1NDUk9MTF9QQUdFUklHSFQKICAgICAgICBNRU5VSVRFTSBTRVBBUkFUT1IKICAgICAgICBNRU5VSVRFTSAiVmllcml05CBWYXNlbW1hbGxlIiwgICAgICAgICAgICBJRE1fU0NST0xMX0xFRlQKICAgICAgICBNRU5VSVRFTSAiVmllcml05CBPaWtlYWxsZSIsICAgICAgICAgICAgICBJRE1fU0NST0xMX1JJR0hUCiAgICB9Cn0K