Name: series-workflowbfc7x Phase: Failed StartedAt: 2026-06-23 01:54:22 +0000 UTC FinishedAt: 2026-06-23 02:18:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbfc7x[0] Phase: Succeeded StartedAt: 2026-06-23 01:54:22 +0000 UTC FinishedAt: 2026-06-23 02:18:49 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbfc7x[0].run-triage Phase: Succeeded StartedAt: 2026-06-23 01:54:22 +0000 UTC FinishedAt: 2026-06-23 02:18:49 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDAyOjE4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgQlBGIHNlbGZ0ZXN0cyAodG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmLykgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUgaXRzZWxmLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAwMjoxODwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGU5NmJkYTdiYTdmNTBhZDhmMmY5MzYxZDg0MTVhY2U4M2RhZjA5NDNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1biAyMyAwMjoxODozNiAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmNcbmluZGV4IDAxZjFkMWI2NzE1YTZjLi5iZWI2ZmE3OGZkOTQ5ZiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvcHJvZ19ydW5fb3B0cy5jXG5AQCAtNCw2ICYjNDM7NCwxMCBAQFxuIFxuICNpbmNsdWRlIFwmIzM0O3Rlc3RfcGt0X2FjY2Vzcy5za2VsLmhcJiMzNDtcbiBcbiYjNDM7I2RlZmluZSBOT05MSU5FQVJfUEtUX0xFTiA5MDAwXG4mIzQzOyNkZWZpbmUgTk9OTElORUFSX0xJTkVBUl9EQVRBX0xFTiA2NFxuJiM0MzsjZGVmaW5lIFNIT1JUX09VVF9MRU4gMTAwXG4mIzQzO1xuIHN0YXRpYyBjb25zdCBfX3UzMiBkdXJhdGlvbjtcbiBcbiBzdGF0aWMgdm9pZCBjaGVja19ydW5fY250KGludCBwcm9nX2ZkLCBfX3U2NCBydW5fY250KVxuQEAgLTIwLDYgJiM0MzsyNCw2OSBAQCBzdGF0aWMgdm9pZCBjaGVja19ydW5fY250KGludCBwcm9nX2ZkLCBfX3U2NCBydW5fY250KVxuIFx0ICAgICAgXCYjMzQ7aW5jb3JyZWN0IG51bWJlciBvZiByZXBldGl0aW9ucywgd2FudCAlbGx1IGhhdmUgJWxsdVxcblwmIzM0OywgcnVuX2NudCwgaW5mby5ydW5fY250KTtcbiB9XG4gXG4mIzQzO3N0YXRpYyB2b2lkIGluaXRfcGt0KF9fdTggKnBrdCwgc2l6ZV90IGxlbilcbiYjNDM7e1xuJiM0MztcdHNpemVfdCBpO1xuJiM0MztcbiYjNDM7XHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBsZW47IGkmIzQzOyYjNDM7KVxuJiM0MztcdFx0cGt0W2ldID0gaSBcdTAwMjYgMHhmZjtcbiYjNDM7fVxuJiM0MztcbiYjNDM7c3RhdGljIHZvaWQgdGVzdF9za2Jfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbClcbiYjNDM7e1xuJiM0MztcdExJQkJQRl9PUFRTKGJwZl90ZXN0X3J1bl9vcHRzLCB0b3B0cyk7XG4mIzQzO1x0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xuJiM0MztcdF9fdTggb3V0W1NIT1JUX09VVF9MRU5dID0ge307XG4mIzQzO1x0c3RydWN0IF9fc2tfYnVmZiBza2IgPSB7fTtcbiYjNDM7XHRpbnQgcHJvZ19mZCwgZXJyO1xuJiM0MztcbiYjNDM7XHRpbml0X3BrdChwa3QsIHNpemVvZihwa3QpKTtcbiYjNDM7XG4mIzQzO1x0c2tiLmRhdGFfZW5kID0gTk9OTElORUFSX0xJTkVBUl9EQVRBX0xFTjtcbiYjNDM7XG4mIzQzO1x0dG9wdHMuZGF0YV9pbiA9IHBrdDtcbiYjNDM7XHR0b3B0cy5kYXRhX3NpemVfaW4gPSBzaXplb2YocGt0KTtcbiYjNDM7XHR0b3B0cy5kYXRhX291dCA9IG91dDtcbiYjNDM7XHR0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7XG4mIzQzO1x0dG9wdHMuY3R4X2luID0gXHUwMDI2c2tiO1xuJiM0MztcdHRvcHRzLmN0eF9zaXplX2luID0gc2l6ZW9mKHNrYik7XG4mIzQzO1xuJiM0MztcdHByb2dfZmQgPSBicGZfcHJvZ3JhbV9fZmQoc2tlbC1cdTAwM2Vwcm9ncy50Y19wYXNzX3Byb2cpO1xuJiM0MztcdGVyciA9IGJwZl9wcm9nX3Rlc3RfcnVuX29wdHMocHJvZ19mZCwgXHUwMDI2dG9wdHMpO1xuJiM0MztcbiYjNDM7XHRBU1NFUlRfRVEoZXJyLCAtRU5PU1BDLCBcJiMzNDtza2JfcGFydGlhbF9lcnJcJiMzNDspO1xuJiM0MztcdEFTU0VSVF9FUSh0b3B0cy5kYXRhX3NpemVfb3V0LCBzaXplb2YocGt0KSwgXCYjMzQ7c2tiX3BhcnRpYWxfc2l6ZVwmIzM0Oyk7XG4mIzQzO1x0QVNTRVJUX09LKG1lbWNtcChvdXQsIHBrdCwgc2l6ZW9mKG91dCkpLCBcJiMzNDtza2JfcGFydGlhbF9kYXRhXCYjMzQ7KTtcbiYjNDM7fVxuJiM0MztcbiYjNDM7c3RhdGljIHZvaWQgdGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbClcbiYjNDM7e1xuJiM0MztcdExJQkJQRl9PUFRTKGJwZl90ZXN0X3J1bl9vcHRzLCB0b3B0cyk7XG4mIzQzO1x0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xuJiM0MztcdF9fdTggb3V0W1NIT1JUX09VVF9MRU5dID0ge307XG4mIzQzO1x0c3RydWN0IHhkcF9tZCBjdHggPSB7fTtcbiYjNDM7XHRpbnQgcHJvZ19mZCwgZXJyO1xuJiM0MztcbiYjNDM7XHRpbml0X3BrdChwa3QsIHNpemVvZihwa3QpKTtcbiYjNDM7XG4mIzQzO1x0Y3R4LmRhdGEgPSAwO1xuJiM0MztcdGN0eC5kYXRhX2VuZCA9IE5PTkxJTkVBUl9MSU5FQVJfREFUQV9MRU47XG4mIzQzO1xuJiM0MztcdHRvcHRzLmRhdGFfaW4gPSBwa3Q7XG4mIzQzO1x0dG9wdHMuZGF0YV9zaXplX2luID0gc2l6ZW9mKHBrdCk7XG4mIzQzO1x0dG9wdHMuZGF0YV9vdXQgPSBvdXQ7XG4mIzQzO1x0dG9wdHMuZGF0YV9zaXplX291dCA9IHNpemVvZihvdXQpO1xuJiM0MztcdHRvcHRzLmN0eF9pbiA9IFx1MDAyNmN0eDtcbiYjNDM7XHR0b3B0cy5jdHhfc2l6ZV9pbiA9IHNpemVvZihjdHgpO1xuJiM0MztcbiYjNDM7XHRwcm9nX2ZkID0gYnBmX3Byb2dyYW1fX2ZkKHNrZWwtXHUwMDNlcHJvZ3MueGRwX2ZyYWdzX3Bhc3NfcHJvZyk7XG4mIzQzO1x0ZXJyID0gYnBmX3Byb2dfdGVzdF9ydW5fb3B0cyhwcm9nX2ZkLCBcdTAwMjZ0b3B0cyk7XG4mIzQzO1xuJiM0MztcdEFTU0VSVF9FUShlcnIsIC1FTk9TUEMsIFwmIzM0O3hkcF9wYXJ0aWFsX2VyclwmIzM0Oyk7XG4mIzQzO1x0QVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCBcJiMzNDt4ZHBfcGFydGlhbF9zaXplXCYjMzQ7KTtcbiYjNDM7XHRBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksIFwmIzM0O3hkcF9wYXJ0aWFsX2RhdGFcJiMzNDspO1xuJiM0Mzt9XG4mIzQzO1xuIHZvaWQgdGVzdF9wcm9nX3J1bl9vcHRzKHZvaWQpXG4ge1xuIFx0c3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbDtcbkBAIC02OSw2ICYjNDM7MTM2LDkgQEAgdm9pZCB0ZXN0X3Byb2dfcnVuX29wdHModm9pZClcbiBcdHJ1bl9jbnQgJiM0Mzs9IHRvcHRzLnJlcGVhdDtcbiBcdGNoZWNrX3J1bl9jbnQocHJvZ19mZCwgcnVuX2NudCk7XG4gXG4mIzQzO1x0dGVzdF9za2Jfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc2tlbCk7XG4mIzQzO1x0dGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc2tlbCk7XG4mIzQzO1xuIGNsZWFudXA6XG4gXHRpZiAoc2tlbClcbiBcdFx0dGVzdF9wa3RfYWNjZXNzX19kZXN0cm95KHNrZWwpO1xuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuY1xuaW5kZXggYmNlNzE3MzE1MmM2YzQuLmNkMjg0NDAxZWViZGJiIDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3Rlc3RfcGt0X2FjY2Vzcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmNcbkBAIC0xNTAsMyAmIzQzOzE1MCwxNSBAQCBpbnQgdGVzdF9wa3RfYWNjZXNzKHN0cnVjdCBfX3NrX2J1ZmYgKnNrYilcbiBcbiBcdHJldHVybiBUQ19BQ1RfVU5TUEVDO1xuIH1cbiYjNDM7XG4mIzQzO1NFQyhcJiMzNDt0Y1wmIzM0OylcbiYjNDM7aW50IHRjX3Bhc3NfcHJvZyhzdHJ1Y3QgX19za19idWZmICpza2IpXG4mIzQzO3tcbiYjNDM7XHRyZXR1cm4gVENfQUNUX09LO1xuJiM0Mzt9XG4mIzQzO1xuJiM0MztTRUMoXCYjMzQ7eGRwLmZyYWdzXCYjMzQ7KVxuJiM0MztpbnQgeGRwX2ZyYWdzX3Bhc3NfcHJvZyhzdHJ1Y3QgeGRwX21kICpjdHgpXG4mIzQzO3tcbiYjNDM7XHRyZXR1cm4gWERQX1BBU1M7XG4mIzQzO31cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAwMjoxODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIEJQRiBzZWxmdGVzdHMgKHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi8pIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCBjb2RlIGl0c2VsZi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGU5NmJkYTdiYTdmNTBhZDhmMmY5MzYxZDg0MTVhY2U4M2RhZjA5NDMKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVHVlIEp1biAyMyAwMjoxODozNiAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuYwppbmRleCAwMWYxZDFiNjcxNWE2Yy4uYmViNmZhNzhmZDk0OWYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmMKQEAgLTQsNiAmIzQzOzQsMTAgQEAKIAogI2luY2x1ZGUgJiMzNDt0ZXN0X3BrdF9hY2Nlc3Muc2tlbC5oJiMzNDsKIAomIzQzOyNkZWZpbmUgTk9OTElORUFSX1BLVF9MRU4gOTAwMAomIzQzOyNkZWZpbmUgTk9OTElORUFSX0xJTkVBUl9EQVRBX0xFTiA2NAomIzQzOyNkZWZpbmUgU0hPUlRfT1VUX0xFTiAxMDAKJiM0MzsKIHN0YXRpYyBjb25zdCBfX3UzMiBkdXJhdGlvbjsKIAogc3RhdGljIHZvaWQgY2hlY2tfcnVuX2NudChpbnQgcHJvZ19mZCwgX191NjQgcnVuX2NudCkKQEAgLTIwLDYgJiM0MzsyNCw2OSBAQCBzdGF0aWMgdm9pZCBjaGVja19ydW5fY250KGludCBwcm9nX2ZkLCBfX3U2NCBydW5fY250KQogCSAgICAgICYjMzQ7aW5jb3JyZWN0IG51bWJlciBvZiByZXBldGl0aW9ucywgd2FudCAlbGx1IGhhdmUgJWxsdVxuJiMzNDssIHJ1bl9jbnQsIGluZm8ucnVuX2NudCk7CiB9CiAKJiM0MztzdGF0aWMgdm9pZCBpbml0X3BrdChfX3U4ICpwa3QsIHNpemVfdCBsZW4pCiYjNDM7ewomIzQzOwlzaXplX3QgaTsKJiM0MzsKJiM0MzsJZm9yIChpID0gMDsgaSAmbHQ7IGxlbjsgaSYjNDM7JiM0MzspCiYjNDM7CQlwa3RbaV0gPSBpICZhbXA7IDB4ZmY7CiYjNDM7fQomIzQzOwomIzQzO3N0YXRpYyB2b2lkIHRlc3Rfc2tiX25vbmxpbmVhcl9kYXRhX291dF9wYXJ0aWFsKHN0cnVjdCB0ZXN0X3BrdF9hY2Nlc3MgKnNrZWwpCiYjNDM7ewomIzQzOwlMSUJCUEZfT1BUUyhicGZfdGVzdF9ydW5fb3B0cywgdG9wdHMpOwomIzQzOwlfX3U4IHBrdFtOT05MSU5FQVJfUEtUX0xFTl07CiYjNDM7CV9fdTggb3V0W1NIT1JUX09VVF9MRU5dID0ge307CiYjNDM7CXN0cnVjdCBfX3NrX2J1ZmYgc2tiID0ge307CiYjNDM7CWludCBwcm9nX2ZkLCBlcnI7CiYjNDM7CiYjNDM7CWluaXRfcGt0KHBrdCwgc2l6ZW9mKHBrdCkpOwomIzQzOwomIzQzOwlza2IuZGF0YV9lbmQgPSBOT05MSU5FQVJfTElORUFSX0RBVEFfTEVOOwomIzQzOwomIzQzOwl0b3B0cy5kYXRhX2luID0gcGt0OwomIzQzOwl0b3B0cy5kYXRhX3NpemVfaW4gPSBzaXplb2YocGt0KTsKJiM0MzsJdG9wdHMuZGF0YV9vdXQgPSBvdXQ7CiYjNDM7CXRvcHRzLmRhdGFfc2l6ZV9vdXQgPSBzaXplb2Yob3V0KTsKJiM0MzsJdG9wdHMuY3R4X2luID0gJmFtcDtza2I7CiYjNDM7CXRvcHRzLmN0eF9zaXplX2luID0gc2l6ZW9mKHNrYik7CiYjNDM7CiYjNDM7CXByb2dfZmQgPSBicGZfcHJvZ3JhbV9fZmQoc2tlbC0mZ3Q7cHJvZ3MudGNfcGFzc19wcm9nKTsKJiM0MzsJZXJyID0gYnBmX3Byb2dfdGVzdF9ydW5fb3B0cyhwcm9nX2ZkLCAmYW1wO3RvcHRzKTsKJiM0MzsKJiM0MzsJQVNTRVJUX0VRKGVyciwgLUVOT1NQQywgJiMzNDtza2JfcGFydGlhbF9lcnImIzM0Oyk7CiYjNDM7CUFTU0VSVF9FUSh0b3B0cy5kYXRhX3NpemVfb3V0LCBzaXplb2YocGt0KSwgJiMzNDtza2JfcGFydGlhbF9zaXplJiMzNDspOwomIzQzOwlBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksICYjMzQ7c2tiX3BhcnRpYWxfZGF0YSYjMzQ7KTsKJiM0Mzt9CiYjNDM7CiYjNDM7c3RhdGljIHZvaWQgdGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbCkKJiM0Mzt7CiYjNDM7CUxJQkJQRl9PUFRTKGJwZl90ZXN0X3J1bl9vcHRzLCB0b3B0cyk7CiYjNDM7CV9fdTggcGt0W05PTkxJTkVBUl9QS1RfTEVOXTsKJiM0MzsJX191OCBvdXRbU0hPUlRfT1VUX0xFTl0gPSB7fTsKJiM0MzsJc3RydWN0IHhkcF9tZCBjdHggPSB7fTsKJiM0MzsJaW50IHByb2dfZmQsIGVycjsKJiM0MzsKJiM0MzsJaW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7CiYjNDM7CiYjNDM7CWN0eC5kYXRhID0gMDsKJiM0MzsJY3R4LmRhdGFfZW5kID0gTk9OTElORUFSX0xJTkVBUl9EQVRBX0xFTjsKJiM0MzsKJiM0MzsJdG9wdHMuZGF0YV9pbiA9IHBrdDsKJiM0MzsJdG9wdHMuZGF0YV9zaXplX2luID0gc2l6ZW9mKHBrdCk7CiYjNDM7CXRvcHRzLmRhdGFfb3V0ID0gb3V0OwomIzQzOwl0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7CiYjNDM7CXRvcHRzLmN0eF9pbiA9ICZhbXA7Y3R4OwomIzQzOwl0b3B0cy5jdHhfc2l6ZV9pbiA9IHNpemVvZihjdHgpOwomIzQzOwomIzQzOwlwcm9nX2ZkID0gYnBmX3Byb2dyYW1fX2ZkKHNrZWwtJmd0O3Byb2dzLnhkcF9mcmFnc19wYXNzX3Byb2cpOwomIzQzOwllcnIgPSBicGZfcHJvZ190ZXN0X3J1bl9vcHRzKHByb2dfZmQsICZhbXA7dG9wdHMpOwomIzQzOwomIzQzOwlBU1NFUlRfRVEoZXJyLCAtRU5PU1BDLCAmIzM0O3hkcF9wYXJ0aWFsX2VyciYjMzQ7KTsKJiM0MzsJQVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCAmIzM0O3hkcF9wYXJ0aWFsX3NpemUmIzM0Oyk7CiYjNDM7CUFTU0VSVF9PSyhtZW1jbXAob3V0LCBwa3QsIHNpemVvZihvdXQpKSwgJiMzNDt4ZHBfcGFydGlhbF9kYXRhJiMzNDspOwomIzQzO30KJiM0MzsKIHZvaWQgdGVzdF9wcm9nX3J1bl9vcHRzKHZvaWQpCiB7CiAJc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbDsKQEAgLTY5LDYgJiM0MzsxMzYsOSBAQCB2b2lkIHRlc3RfcHJvZ19ydW5fb3B0cyh2b2lkKQogCXJ1bl9jbnQgJiM0Mzs9IHRvcHRzLnJlcGVhdDsKIAljaGVja19ydW5fY250KHByb2dfZmQsIHJ1bl9jbnQpOwogCiYjNDM7CXRlc3Rfc2tiX25vbmxpbmVhcl9kYXRhX291dF9wYXJ0aWFsKHNrZWwpOwomIzQzOwl0ZXN0X3hkcF9ub25saW5lYXJfZGF0YV9vdXRfcGFydGlhbChza2VsKTsKJiM0MzsKIGNsZWFudXA6CiAJaWYgKHNrZWwpCiAJCXRlc3RfcGt0X2FjY2Vzc19fZGVzdHJveShza2VsKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuYwppbmRleCBiY2U3MTczMTUyYzZjNC4uY2QyODQ0MDFlZWJkYmIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmMKQEAgLTE1MCwzICYjNDM7MTUwLDE1IEBAIGludCB0ZXN0X3BrdF9hY2Nlc3Moc3RydWN0IF9fc2tfYnVmZiAqc2tiKQogCiAJcmV0dXJuIFRDX0FDVF9VTlNQRUM7CiB9CiYjNDM7CiYjNDM7U0VDKCYjMzQ7dGMmIzM0OykKJiM0MztpbnQgdGNfcGFzc19wcm9nKHN0cnVjdCBfX3NrX2J1ZmYgKnNrYikKJiM0Mzt7CiYjNDM7CXJldHVybiBUQ19BQ1RfT0s7CiYjNDM7fQomIzQzOwomIzQzO1NFQygmIzM0O3hkcC5mcmFncyYjMzQ7KQomIzQzO2ludCB4ZHBfZnJhZ3NfcGFzc19wcm9nKHN0cnVjdCB4ZHBfbWQgKmN0eCkKJiM0Mzt7CiYjNDM7CXJldHVybiBYRFBfUEFTUzsKJiM0Mzt9CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDAyOjE4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxNTMKCQkJCQkJCW91dHB1dDogNjUKCQkJCQkJCXRob3VnaHRzOiAxMTIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqV29ydGhGdXp6aW5nPUZhbHNlOiBBbmFseXNpcyBvZiBCUEYgU2VsZnRlc3QgUGF0Y2gqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gVGhpcyBwYXRjaCBpcyB0b3VjaGluZyBmaWxlcyB3aXRoaW4gYHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9gLiBTcGVjaWZpY2FsbHksIEkmIzM5O20gc2VlaW5nIGNoYW5nZXMgdG8gYHByb2dfcnVuX29wdHMuY2AgYW5kIGB0ZXN0X3BrdF9hY2Nlc3MuY2AuIFRoZXNlIGFyZSwgcXVpdGUgY2xlYXJseSwgc2VsZnRlc3RzLiBUaGV5JiMzOTtyZSBwYXJ0IG9mIHRoZSB0ZXN0aW5nIGluZnJhc3RydWN0dXJlLCBub3QgdGhlIGNvcmUga2VybmVsIGNvZGUgaXRzZWxmLiBUaGV5JiMzOTtyZSB0aGVyZSB0byB2YWxpZGF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlIEJQRiBzdWJzeXN0ZW0sIGJ1dCAqbm90KiB0byBtYWtlIGFjdHVhbCBjaGFuZ2VzIHRvIHRoZSBydW5uaW5nIGtlcm5lbCBmdW5jdGlvbmFsaXR5LgoKR2l2ZW4gdGhpcywgSSBoYXZlIHRvIGNvbmNsdWRlIHRoYXQgdGhpcyBwYXRjaCBkb2VzbiYjMzk7dCBpbnRyb2R1Y2UgYW55IG5ldyBmdW5jdGlvbmFsaXR5IG9yIG1vZGlmaWNhdGlvbnMgdG8gdGhlIGtlcm5lbCYjMzk7cyBjcml0aWNhbCBleGVjdXRpb24gcGF0aHMgdGhhdCB3b3VsZCB3YXJyYW50IGZ1enppbmcuIFRoZSBjaGFuZ2VzIGFyZSBjb25maW5lZCB0byB0aGUgdGVzdGluZyBlbnZpcm9ubWVudC4gQ29uc2VxdWVudGx5LCBJJiMzOTtsbCBiZSBzZXR0aW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBObyBmdXp6aW5nIGlzIHJlcXVpcmVkIGZvciB0aGlzIHBhcnRpY3VsYXIgcGF0Y2guIEl0JiMzOTtzIGEgdGVzdCBjYXNlLCBub3QgYSBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAwMjoxODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgQlBGIHNlbGZ0ZXN0cyAodG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmLykgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUgaXRzZWxmLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBCUEYgc2VsZnRlc3RzICh0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZSBpdHNlbGYuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMjNUMDI6MTg6MzcuNTc0Nzk3NjhaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NTM1OTU0ODgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIEJQRiBzZWxmdGVzdHMgKHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi8pIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCBjb2RlIGl0c2VsZi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDAyOjE4OjM3LjU3NDgwNTEyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NDEyNzU5ODksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBlOTZiZGE3YmE3ZjUwYWQ4ZjJmOTM2MWQ4NDE1YWNlODNkYWYwOTQzXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUdWUgSnVuIDIzIDAyOjE4OjM2IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuY1xcbmluZGV4IDAxZjFkMWI2NzE1YTZjLi5iZWI2ZmE3OGZkOTQ5ZiAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmNcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmNcXG5AQCAtNCw2ICs0LDEwIEBAXFxuIFxcbiAjaW5jbHVkZSBcXFwidGVzdF9wa3RfYWNjZXNzLnNrZWwuaFxcXCJcXG4gXFxuKyNkZWZpbmUgTk9OTElORUFSX1BLVF9MRU4gOTAwMFxcbisjZGVmaW5lIE5PTkxJTkVBUl9MSU5FQVJfREFUQV9MRU4gNjRcXG4rI2RlZmluZSBTSE9SVF9PVVRfTEVOIDEwMFxcbitcXG4gc3RhdGljIGNvbnN0IF9fdTMyIGR1cmF0aW9uO1xcbiBcXG4gc3RhdGljIHZvaWQgY2hlY2tfcnVuX2NudChpbnQgcHJvZ19mZCwgX191NjQgcnVuX2NudClcXG5AQCAtMjAsNiArMjQsNjkgQEAgc3RhdGljIHZvaWQgY2hlY2tfcnVuX2NudChpbnQgcHJvZ19mZCwgX191NjQgcnVuX2NudClcXG4gXFx0ICAgICAgXFxcImluY29ycmVjdCBudW1iZXIgb2YgcmVwZXRpdGlvbnMsIHdhbnQgJWxsdSBoYXZlICVsbHVcXFxcblxcXCIsIHJ1bl9jbnQsIGluZm8ucnVuX2NudCk7XFxuIH1cXG4gXFxuK3N0YXRpYyB2b2lkIGluaXRfcGt0KF9fdTggKnBrdCwgc2l6ZV90IGxlbilcXG4re1xcbitcXHRzaXplX3QgaTtcXG4rXFxuK1xcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBsZW47IGkrKylcXG4rXFx0XFx0cGt0W2ldID0gaSBcXHUwMDI2IDB4ZmY7XFxuK31cXG4rXFxuK3N0YXRpYyB2b2lkIHRlc3Rfc2tiX25vbmxpbmVhcl9kYXRhX291dF9wYXJ0aWFsKHN0cnVjdCB0ZXN0X3BrdF9hY2Nlc3MgKnNrZWwpXFxuK3tcXG4rXFx0TElCQlBGX09QVFMoYnBmX3Rlc3RfcnVuX29wdHMsIHRvcHRzKTtcXG4rXFx0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xcbitcXHRfX3U4IG91dFtTSE9SVF9PVVRfTEVOXSA9IHt9O1xcbitcXHRzdHJ1Y3QgX19za19idWZmIHNrYiA9IHt9O1xcbitcXHRpbnQgcHJvZ19mZCwgZXJyO1xcbitcXG4rXFx0aW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7XFxuK1xcbitcXHRza2IuZGF0YV9lbmQgPSBOT05MSU5FQVJfTElORUFSX0RBVEFfTEVOO1xcbitcXG4rXFx0dG9wdHMuZGF0YV9pbiA9IHBrdDtcXG4rXFx0dG9wdHMuZGF0YV9zaXplX2luID0gc2l6ZW9mKHBrdCk7XFxuK1xcdHRvcHRzLmRhdGFfb3V0ID0gb3V0O1xcbitcXHR0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7XFxuK1xcdHRvcHRzLmN0eF9pbiA9IFxcdTAwMjZza2I7XFxuK1xcdHRvcHRzLmN0eF9zaXplX2luID0gc2l6ZW9mKHNrYik7XFxuK1xcbitcXHRwcm9nX2ZkID0gYnBmX3Byb2dyYW1fX2ZkKHNrZWwtXFx1MDAzZXByb2dzLnRjX3Bhc3NfcHJvZyk7XFxuK1xcdGVyciA9IGJwZl9wcm9nX3Rlc3RfcnVuX29wdHMocHJvZ19mZCwgXFx1MDAyNnRvcHRzKTtcXG4rXFxuK1xcdEFTU0VSVF9FUShlcnIsIC1FTk9TUEMsIFxcXCJza2JfcGFydGlhbF9lcnJcXFwiKTtcXG4rXFx0QVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCBcXFwic2tiX3BhcnRpYWxfc2l6ZVxcXCIpO1xcbitcXHRBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksIFxcXCJza2JfcGFydGlhbF9kYXRhXFxcIik7XFxuK31cXG4rXFxuK3N0YXRpYyB2b2lkIHRlc3RfeGRwX25vbmxpbmVhcl9kYXRhX291dF9wYXJ0aWFsKHN0cnVjdCB0ZXN0X3BrdF9hY2Nlc3MgKnNrZWwpXFxuK3tcXG4rXFx0TElCQlBGX09QVFMoYnBmX3Rlc3RfcnVuX29wdHMsIHRvcHRzKTtcXG4rXFx0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xcbitcXHRfX3U4IG91dFtTSE9SVF9PVVRfTEVOXSA9IHt9O1xcbitcXHRzdHJ1Y3QgeGRwX21kIGN0eCA9IHt9O1xcbitcXHRpbnQgcHJvZ19mZCwgZXJyO1xcbitcXG4rXFx0aW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7XFxuK1xcbitcXHRjdHguZGF0YSA9IDA7XFxuK1xcdGN0eC5kYXRhX2VuZCA9IE5PTkxJTkVBUl9MSU5FQVJfREFUQV9MRU47XFxuK1xcbitcXHR0b3B0cy5kYXRhX2luID0gcGt0O1xcbitcXHR0b3B0cy5kYXRhX3NpemVfaW4gPSBzaXplb2YocGt0KTtcXG4rXFx0dG9wdHMuZGF0YV9vdXQgPSBvdXQ7XFxuK1xcdHRvcHRzLmRhdGFfc2l6ZV9vdXQgPSBzaXplb2Yob3V0KTtcXG4rXFx0dG9wdHMuY3R4X2luID0gXFx1MDAyNmN0eDtcXG4rXFx0dG9wdHMuY3R4X3NpemVfaW4gPSBzaXplb2YoY3R4KTtcXG4rXFxuK1xcdHByb2dfZmQgPSBicGZfcHJvZ3JhbV9fZmQoc2tlbC1cXHUwMDNlcHJvZ3MueGRwX2ZyYWdzX3Bhc3NfcHJvZyk7XFxuK1xcdGVyciA9IGJwZl9wcm9nX3Rlc3RfcnVuX29wdHMocHJvZ19mZCwgXFx1MDAyNnRvcHRzKTtcXG4rXFxuK1xcdEFTU0VSVF9FUShlcnIsIC1FTk9TUEMsIFxcXCJ4ZHBfcGFydGlhbF9lcnJcXFwiKTtcXG4rXFx0QVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCBcXFwieGRwX3BhcnRpYWxfc2l6ZVxcXCIpO1xcbitcXHRBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksIFxcXCJ4ZHBfcGFydGlhbF9kYXRhXFxcIik7XFxuK31cXG4rXFxuIHZvaWQgdGVzdF9wcm9nX3J1bl9vcHRzKHZvaWQpXFxuIHtcXG4gXFx0c3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbDtcXG5AQCAtNjksNiArMTM2LDkgQEAgdm9pZCB0ZXN0X3Byb2dfcnVuX29wdHModm9pZClcXG4gXFx0cnVuX2NudCArPSB0b3B0cy5yZXBlYXQ7XFxuIFxcdGNoZWNrX3J1bl9jbnQocHJvZ19mZCwgcnVuX2NudCk7XFxuIFxcbitcXHR0ZXN0X3NrYl9ub25saW5lYXJfZGF0YV9vdXRfcGFydGlhbChza2VsKTtcXG4rXFx0dGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc2tlbCk7XFxuK1xcbiBjbGVhbnVwOlxcbiBcXHRpZiAoc2tlbClcXG4gXFx0XFx0dGVzdF9wa3RfYWNjZXNzX19kZXN0cm95KHNrZWwpO1xcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmNcXG5pbmRleCBiY2U3MTczMTUyYzZjNC4uY2QyODQ0MDFlZWJkYmIgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3Rlc3RfcGt0X2FjY2Vzcy5jXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3Rlc3RfcGt0X2FjY2Vzcy5jXFxuQEAgLTE1MCwzICsxNTAsMTUgQEAgaW50IHRlc3RfcGt0X2FjY2VzcyhzdHJ1Y3QgX19za19idWZmICpza2IpXFxuIFxcbiBcXHRyZXR1cm4gVENfQUNUX1VOU1BFQztcXG4gfVxcbitcXG4rU0VDKFxcXCJ0Y1xcXCIpXFxuK2ludCB0Y19wYXNzX3Byb2coc3RydWN0IF9fc2tfYnVmZiAqc2tiKVxcbit7XFxuK1xcdHJldHVybiBUQ19BQ1RfT0s7XFxuK31cXG4rXFxuK1NFQyhcXFwieGRwLmZyYWdzXFxcIilcXG4raW50IHhkcF9mcmFnc19wYXNzX3Byb2coc3RydWN0IHhkcF9tZCAqY3R4KVxcbit7XFxuK1xcdHJldHVybiBYRFBfUEFTUztcXG4rfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QwMjoxODozOC4xMTY5Mjk3MDlaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM5OTM4MTc3MDQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgQlBGIHNlbGZ0ZXN0cyAodG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmLykgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUgaXRzZWxmLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBlOTZiZGE3YmE3ZjUwYWQ4ZjJmOTM2MWQ4NDE1YWNlODNkYWYwOTQzXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdW4gMjMgMDI6MTg6MzYgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmNcbmluZGV4IDAxZjFkMWI2NzE1YTZjLi5iZWI2ZmE3OGZkOTQ5ZiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvcHJvZ19ydW5fb3B0cy5jXG5AQCAtNCw2ICs0LDEwIEBAXG4gXG4gI2luY2x1ZGUgXCJ0ZXN0X3BrdF9hY2Nlc3Muc2tlbC5oXCJcbiBcbisjZGVmaW5lIE5PTkxJTkVBUl9QS1RfTEVOIDkwMDBcbisjZGVmaW5lIE5PTkxJTkVBUl9MSU5FQVJfREFUQV9MRU4gNjRcbisjZGVmaW5lIFNIT1JUX09VVF9MRU4gMTAwXG4rXG4gc3RhdGljIGNvbnN0IF9fdTMyIGR1cmF0aW9uO1xuIFxuIHN0YXRpYyB2b2lkIGNoZWNrX3J1bl9jbnQoaW50IHByb2dfZmQsIF9fdTY0IHJ1bl9jbnQpXG5AQCAtMjAsNiArMjQsNjkgQEAgc3RhdGljIHZvaWQgY2hlY2tfcnVuX2NudChpbnQgcHJvZ19mZCwgX191NjQgcnVuX2NudClcbiBcdCAgICAgIFwiaW5jb3JyZWN0IG51bWJlciBvZiByZXBldGl0aW9ucywgd2FudCAlbGx1IGhhdmUgJWxsdVxcblwiLCBydW5fY250LCBpbmZvLnJ1bl9jbnQpO1xuIH1cbiBcbitzdGF0aWMgdm9pZCBpbml0X3BrdChfX3U4ICpwa3QsIHNpemVfdCBsZW4pXG4re1xuK1x0c2l6ZV90IGk7XG4rXG4rXHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBsZW47IGkrKylcbitcdFx0cGt0W2ldID0gaSBcdTAwMjYgMHhmZjtcbit9XG4rXG4rc3RhdGljIHZvaWQgdGVzdF9za2Jfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbClcbit7XG4rXHRMSUJCUEZfT1BUUyhicGZfdGVzdF9ydW5fb3B0cywgdG9wdHMpO1xuK1x0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xuK1x0X191OCBvdXRbU0hPUlRfT1VUX0xFTl0gPSB7fTtcbitcdHN0cnVjdCBfX3NrX2J1ZmYgc2tiID0ge307XG4rXHRpbnQgcHJvZ19mZCwgZXJyO1xuK1xuK1x0aW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7XG4rXG4rXHRza2IuZGF0YV9lbmQgPSBOT05MSU5FQVJfTElORUFSX0RBVEFfTEVOO1xuK1xuK1x0dG9wdHMuZGF0YV9pbiA9IHBrdDtcbitcdHRvcHRzLmRhdGFfc2l6ZV9pbiA9IHNpemVvZihwa3QpO1xuK1x0dG9wdHMuZGF0YV9vdXQgPSBvdXQ7XG4rXHR0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7XG4rXHR0b3B0cy5jdHhfaW4gPSBcdTAwMjZza2I7XG4rXHR0b3B0cy5jdHhfc2l6ZV9pbiA9IHNpemVvZihza2IpO1xuK1xuK1x0cHJvZ19mZCA9IGJwZl9wcm9ncmFtX19mZChza2VsLVx1MDAzZXByb2dzLnRjX3Bhc3NfcHJvZyk7XG4rXHRlcnIgPSBicGZfcHJvZ190ZXN0X3J1bl9vcHRzKHByb2dfZmQsIFx1MDAyNnRvcHRzKTtcbitcbitcdEFTU0VSVF9FUShlcnIsIC1FTk9TUEMsIFwic2tiX3BhcnRpYWxfZXJyXCIpO1xuK1x0QVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCBcInNrYl9wYXJ0aWFsX3NpemVcIik7XG4rXHRBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksIFwic2tiX3BhcnRpYWxfZGF0YVwiKTtcbit9XG4rXG4rc3RhdGljIHZvaWQgdGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbClcbit7XG4rXHRMSUJCUEZfT1BUUyhicGZfdGVzdF9ydW5fb3B0cywgdG9wdHMpO1xuK1x0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xuK1x0X191OCBvdXRbU0hPUlRfT1VUX0xFTl0gPSB7fTtcbitcdHN0cnVjdCB4ZHBfbWQgY3R4ID0ge307XG4rXHRpbnQgcHJvZ19mZCwgZXJyO1xuK1xuK1x0aW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7XG4rXG4rXHRjdHguZGF0YSA9IDA7XG4rXHRjdHguZGF0YV9lbmQgPSBOT05MSU5FQVJfTElORUFSX0RBVEFfTEVOO1xuK1xuK1x0dG9wdHMuZGF0YV9pbiA9IHBrdDtcbitcdHRvcHRzLmRhdGFfc2l6ZV9pbiA9IHNpemVvZihwa3QpO1xuK1x0dG9wdHMuZGF0YV9vdXQgPSBvdXQ7XG4rXHR0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7XG4rXHR0b3B0cy5jdHhfaW4gPSBcdTAwMjZjdHg7XG4rXHR0b3B0cy5jdHhfc2l6ZV9pbiA9IHNpemVvZihjdHgpO1xuK1xuK1x0cHJvZ19mZCA9IGJwZl9wcm9ncmFtX19mZChza2VsLVx1MDAzZXByb2dzLnhkcF9mcmFnc19wYXNzX3Byb2cpO1xuK1x0ZXJyID0gYnBmX3Byb2dfdGVzdF9ydW5fb3B0cyhwcm9nX2ZkLCBcdTAwMjZ0b3B0cyk7XG4rXG4rXHRBU1NFUlRfRVEoZXJyLCAtRU5PU1BDLCBcInhkcF9wYXJ0aWFsX2VyclwiKTtcbitcdEFTU0VSVF9FUSh0b3B0cy5kYXRhX3NpemVfb3V0LCBzaXplb2YocGt0KSwgXCJ4ZHBfcGFydGlhbF9zaXplXCIpO1xuK1x0QVNTRVJUX09LKG1lbWNtcChvdXQsIHBrdCwgc2l6ZW9mKG91dCkpLCBcInhkcF9wYXJ0aWFsX2RhdGFcIik7XG4rfVxuK1xuIHZvaWQgdGVzdF9wcm9nX3J1bl9vcHRzKHZvaWQpXG4ge1xuIFx0c3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbDtcbkBAIC02OSw2ICsxMzYsOSBAQCB2b2lkIHRlc3RfcHJvZ19ydW5fb3B0cyh2b2lkKVxuIFx0cnVuX2NudCArPSB0b3B0cy5yZXBlYXQ7XG4gXHRjaGVja19ydW5fY250KHByb2dfZmQsIHJ1bl9jbnQpO1xuIFxuK1x0dGVzdF9za2Jfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc2tlbCk7XG4rXHR0ZXN0X3hkcF9ub25saW5lYXJfZGF0YV9vdXRfcGFydGlhbChza2VsKTtcbitcbiBjbGVhbnVwOlxuIFx0aWYgKHNrZWwpXG4gXHRcdHRlc3RfcGt0X2FjY2Vzc19fZGVzdHJveShza2VsKTtcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmNcbmluZGV4IGJjZTcxNzMxNTJjNmM0Li5jZDI4NDQwMWVlYmRiYiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3Rlc3RfcGt0X2FjY2Vzcy5jXG5AQCAtMTUwLDMgKzE1MCwxNSBAQCBpbnQgdGVzdF9wa3RfYWNjZXNzKHN0cnVjdCBfX3NrX2J1ZmYgKnNrYilcbiBcbiBcdHJldHVybiBUQ19BQ1RfVU5TUEVDO1xuIH1cbitcbitTRUMoXCJ0Y1wiKVxuK2ludCB0Y19wYXNzX3Byb2coc3RydWN0IF9fc2tfYnVmZiAqc2tiKVxuK3tcbitcdHJldHVybiBUQ19BQ1RfT0s7XG4rfVxuK1xuK1NFQyhcInhkcC5mcmFnc1wiKVxuK2ludCB4ZHBfZnJhZ3NfcGFzc19wcm9nKHN0cnVjdCB4ZHBfbWQgKmN0eClcbit7XG4rXHRyZXR1cm4gWERQX1BBU1M7XG4rfVxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMDI6MTg6MzguMTE2OTMxODg5WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzk5Mzc4OTYxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipXb3J0aEZ1enppbmc9RmFsc2U6IEFuYWx5c2lzIG9mIEJQRiBTZWxmdGVzdCBQYXRjaCoqXG5cbk9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi4gVGhpcyBwYXRjaCBpcyB0b3VjaGluZyBmaWxlcyB3aXRoaW4gYHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9gLiBTcGVjaWZpY2FsbHksIEknbSBzZWVpbmcgY2hhbmdlcyB0byBgcHJvZ19ydW5fb3B0cy5jYCBhbmQgYHRlc3RfcGt0X2FjY2Vzcy5jYC4gVGhlc2UgYXJlLCBxdWl0ZSBjbGVhcmx5LCBzZWxmdGVzdHMuIFRoZXkncmUgcGFydCBvZiB0aGUgdGVzdGluZyBpbmZyYXN0cnVjdHVyZSwgbm90IHRoZSBjb3JlIGtlcm5lbCBjb2RlIGl0c2VsZi4gVGhleSdyZSB0aGVyZSB0byB2YWxpZGF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlIEJQRiBzdWJzeXN0ZW0sIGJ1dCAqbm90KiB0byBtYWtlIGFjdHVhbCBjaGFuZ2VzIHRvIHRoZSBydW5uaW5nIGtlcm5lbCBmdW5jdGlvbmFsaXR5LlxuXG5HaXZlbiB0aGlzLCBJIGhhdmUgdG8gY29uY2x1ZGUgdGhhdCB0aGlzIHBhdGNoIGRvZXNuJ3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbGl0eSBvciBtb2RpZmljYXRpb25zIHRvIHRoZSBrZXJuZWwncyBjcml0aWNhbCBleGVjdXRpb24gcGF0aHMgdGhhdCB3b3VsZCB3YXJyYW50IGZ1enppbmcuIFRoZSBjaGFuZ2VzIGFyZSBjb25maW5lZCB0byB0aGUgdGVzdGluZyBlbnZpcm9ubWVudC4gQ29uc2VxdWVudGx5LCBJJ2xsIGJlIHNldHRpbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIE5vIGZ1enppbmcgaXMgcmVxdWlyZWQgZm9yIHRoaXMgcGFydGljdWxhciBwYXRjaC4gSXQncyBhIHRlc3QgY2FzZSwgbm90IGEgZnVuY3Rpb25hbCBtb2RpZmljYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMxNTMsIk91dHB1dFRva2VucyI6NjUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QwMjoxODo0Mi4xMTA3MjM4MTNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIxOTkwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgQlBGIHNlbGZ0ZXN0cyAodG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmLykgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUgaXRzZWxmLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBCUEYgc2VsZnRlc3RzICh0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZSBpdHNlbGYuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowbfc7x[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-23 01:54:22 +0000 UTC FinishedAt: 2026-06-23 02:18:42 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDAyOjE4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgQlBGIHNlbGZ0ZXN0cyAodG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmLykgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUgaXRzZWxmLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAwMjoxODwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGU5NmJkYTdiYTdmNTBhZDhmMmY5MzYxZDg0MTVhY2U4M2RhZjA5NDNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVHVlIEp1biAyMyAwMjoxODozNiAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmNcbmluZGV4IDAxZjFkMWI2NzE1YTZjLi5iZWI2ZmE3OGZkOTQ5ZiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuY1xuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvcHJvZ19ydW5fb3B0cy5jXG5AQCAtNCw2ICYjNDM7NCwxMCBAQFxuIFxuICNpbmNsdWRlIFwmIzM0O3Rlc3RfcGt0X2FjY2Vzcy5za2VsLmhcJiMzNDtcbiBcbiYjNDM7I2RlZmluZSBOT05MSU5FQVJfUEtUX0xFTiA5MDAwXG4mIzQzOyNkZWZpbmUgTk9OTElORUFSX0xJTkVBUl9EQVRBX0xFTiA2NFxuJiM0MzsjZGVmaW5lIFNIT1JUX09VVF9MRU4gMTAwXG4mIzQzO1xuIHN0YXRpYyBjb25zdCBfX3UzMiBkdXJhdGlvbjtcbiBcbiBzdGF0aWMgdm9pZCBjaGVja19ydW5fY250KGludCBwcm9nX2ZkLCBfX3U2NCBydW5fY250KVxuQEAgLTIwLDYgJiM0MzsyNCw2OSBAQCBzdGF0aWMgdm9pZCBjaGVja19ydW5fY250KGludCBwcm9nX2ZkLCBfX3U2NCBydW5fY250KVxuIFx0ICAgICAgXCYjMzQ7aW5jb3JyZWN0IG51bWJlciBvZiByZXBldGl0aW9ucywgd2FudCAlbGx1IGhhdmUgJWxsdVxcblwmIzM0OywgcnVuX2NudCwgaW5mby5ydW5fY250KTtcbiB9XG4gXG4mIzQzO3N0YXRpYyB2b2lkIGluaXRfcGt0KF9fdTggKnBrdCwgc2l6ZV90IGxlbilcbiYjNDM7e1xuJiM0MztcdHNpemVfdCBpO1xuJiM0MztcbiYjNDM7XHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBsZW47IGkmIzQzOyYjNDM7KVxuJiM0MztcdFx0cGt0W2ldID0gaSBcdTAwMjYgMHhmZjtcbiYjNDM7fVxuJiM0MztcbiYjNDM7c3RhdGljIHZvaWQgdGVzdF9za2Jfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbClcbiYjNDM7e1xuJiM0MztcdExJQkJQRl9PUFRTKGJwZl90ZXN0X3J1bl9vcHRzLCB0b3B0cyk7XG4mIzQzO1x0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xuJiM0MztcdF9fdTggb3V0W1NIT1JUX09VVF9MRU5dID0ge307XG4mIzQzO1x0c3RydWN0IF9fc2tfYnVmZiBza2IgPSB7fTtcbiYjNDM7XHRpbnQgcHJvZ19mZCwgZXJyO1xuJiM0MztcbiYjNDM7XHRpbml0X3BrdChwa3QsIHNpemVvZihwa3QpKTtcbiYjNDM7XG4mIzQzO1x0c2tiLmRhdGFfZW5kID0gTk9OTElORUFSX0xJTkVBUl9EQVRBX0xFTjtcbiYjNDM7XG4mIzQzO1x0dG9wdHMuZGF0YV9pbiA9IHBrdDtcbiYjNDM7XHR0b3B0cy5kYXRhX3NpemVfaW4gPSBzaXplb2YocGt0KTtcbiYjNDM7XHR0b3B0cy5kYXRhX291dCA9IG91dDtcbiYjNDM7XHR0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7XG4mIzQzO1x0dG9wdHMuY3R4X2luID0gXHUwMDI2c2tiO1xuJiM0MztcdHRvcHRzLmN0eF9zaXplX2luID0gc2l6ZW9mKHNrYik7XG4mIzQzO1xuJiM0MztcdHByb2dfZmQgPSBicGZfcHJvZ3JhbV9fZmQoc2tlbC1cdTAwM2Vwcm9ncy50Y19wYXNzX3Byb2cpO1xuJiM0MztcdGVyciA9IGJwZl9wcm9nX3Rlc3RfcnVuX29wdHMocHJvZ19mZCwgXHUwMDI2dG9wdHMpO1xuJiM0MztcbiYjNDM7XHRBU1NFUlRfRVEoZXJyLCAtRU5PU1BDLCBcJiMzNDtza2JfcGFydGlhbF9lcnJcJiMzNDspO1xuJiM0MztcdEFTU0VSVF9FUSh0b3B0cy5kYXRhX3NpemVfb3V0LCBzaXplb2YocGt0KSwgXCYjMzQ7c2tiX3BhcnRpYWxfc2l6ZVwmIzM0Oyk7XG4mIzQzO1x0QVNTRVJUX09LKG1lbWNtcChvdXQsIHBrdCwgc2l6ZW9mKG91dCkpLCBcJiMzNDtza2JfcGFydGlhbF9kYXRhXCYjMzQ7KTtcbiYjNDM7fVxuJiM0MztcbiYjNDM7c3RhdGljIHZvaWQgdGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbClcbiYjNDM7e1xuJiM0MztcdExJQkJQRl9PUFRTKGJwZl90ZXN0X3J1bl9vcHRzLCB0b3B0cyk7XG4mIzQzO1x0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xuJiM0MztcdF9fdTggb3V0W1NIT1JUX09VVF9MRU5dID0ge307XG4mIzQzO1x0c3RydWN0IHhkcF9tZCBjdHggPSB7fTtcbiYjNDM7XHRpbnQgcHJvZ19mZCwgZXJyO1xuJiM0MztcbiYjNDM7XHRpbml0X3BrdChwa3QsIHNpemVvZihwa3QpKTtcbiYjNDM7XG4mIzQzO1x0Y3R4LmRhdGEgPSAwO1xuJiM0MztcdGN0eC5kYXRhX2VuZCA9IE5PTkxJTkVBUl9MSU5FQVJfREFUQV9MRU47XG4mIzQzO1xuJiM0MztcdHRvcHRzLmRhdGFfaW4gPSBwa3Q7XG4mIzQzO1x0dG9wdHMuZGF0YV9zaXplX2luID0gc2l6ZW9mKHBrdCk7XG4mIzQzO1x0dG9wdHMuZGF0YV9vdXQgPSBvdXQ7XG4mIzQzO1x0dG9wdHMuZGF0YV9zaXplX291dCA9IHNpemVvZihvdXQpO1xuJiM0MztcdHRvcHRzLmN0eF9pbiA9IFx1MDAyNmN0eDtcbiYjNDM7XHR0b3B0cy5jdHhfc2l6ZV9pbiA9IHNpemVvZihjdHgpO1xuJiM0MztcbiYjNDM7XHRwcm9nX2ZkID0gYnBmX3Byb2dyYW1fX2ZkKHNrZWwtXHUwMDNlcHJvZ3MueGRwX2ZyYWdzX3Bhc3NfcHJvZyk7XG4mIzQzO1x0ZXJyID0gYnBmX3Byb2dfdGVzdF9ydW5fb3B0cyhwcm9nX2ZkLCBcdTAwMjZ0b3B0cyk7XG4mIzQzO1xuJiM0MztcdEFTU0VSVF9FUShlcnIsIC1FTk9TUEMsIFwmIzM0O3hkcF9wYXJ0aWFsX2VyclwmIzM0Oyk7XG4mIzQzO1x0QVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCBcJiMzNDt4ZHBfcGFydGlhbF9zaXplXCYjMzQ7KTtcbiYjNDM7XHRBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksIFwmIzM0O3hkcF9wYXJ0aWFsX2RhdGFcJiMzNDspO1xuJiM0Mzt9XG4mIzQzO1xuIHZvaWQgdGVzdF9wcm9nX3J1bl9vcHRzKHZvaWQpXG4ge1xuIFx0c3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbDtcbkBAIC02OSw2ICYjNDM7MTM2LDkgQEAgdm9pZCB0ZXN0X3Byb2dfcnVuX29wdHModm9pZClcbiBcdHJ1bl9jbnQgJiM0Mzs9IHRvcHRzLnJlcGVhdDtcbiBcdGNoZWNrX3J1bl9jbnQocHJvZ19mZCwgcnVuX2NudCk7XG4gXG4mIzQzO1x0dGVzdF9za2Jfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc2tlbCk7XG4mIzQzO1x0dGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc2tlbCk7XG4mIzQzO1xuIGNsZWFudXA6XG4gXHRpZiAoc2tlbClcbiBcdFx0dGVzdF9wa3RfYWNjZXNzX19kZXN0cm95KHNrZWwpO1xuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuY1xuaW5kZXggYmNlNzE3MzE1MmM2YzQuLmNkMjg0NDAxZWViZGJiIDEwMDY0NFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3Rlc3RfcGt0X2FjY2Vzcy5jXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmNcbkBAIC0xNTAsMyAmIzQzOzE1MCwxNSBAQCBpbnQgdGVzdF9wa3RfYWNjZXNzKHN0cnVjdCBfX3NrX2J1ZmYgKnNrYilcbiBcbiBcdHJldHVybiBUQ19BQ1RfVU5TUEVDO1xuIH1cbiYjNDM7XG4mIzQzO1NFQyhcJiMzNDt0Y1wmIzM0OylcbiYjNDM7aW50IHRjX3Bhc3NfcHJvZyhzdHJ1Y3QgX19za19idWZmICpza2IpXG4mIzQzO3tcbiYjNDM7XHRyZXR1cm4gVENfQUNUX09LO1xuJiM0Mzt9XG4mIzQzO1xuJiM0MztTRUMoXCYjMzQ7eGRwLmZyYWdzXCYjMzQ7KVxuJiM0MztpbnQgeGRwX2ZyYWdzX3Bhc3NfcHJvZyhzdHJ1Y3QgeGRwX21kICpjdHgpXG4mIzQzO3tcbiYjNDM7XHRyZXR1cm4gWERQX1BBU1M7XG4mIzQzO31cbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAwMjoxODwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIEJQRiBzZWxmdGVzdHMgKHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi8pIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCBjb2RlIGl0c2VsZi4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGU5NmJkYTdiYTdmNTBhZDhmMmY5MzYxZDg0MTVhY2U4M2RhZjA5NDMKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVHVlIEp1biAyMyAwMjoxODozNiAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuYwppbmRleCAwMWYxZDFiNjcxNWE2Yy4uYmViNmZhNzhmZDk0OWYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmMKQEAgLTQsNiAmIzQzOzQsMTAgQEAKIAogI2luY2x1ZGUgJiMzNDt0ZXN0X3BrdF9hY2Nlc3Muc2tlbC5oJiMzNDsKIAomIzQzOyNkZWZpbmUgTk9OTElORUFSX1BLVF9MRU4gOTAwMAomIzQzOyNkZWZpbmUgTk9OTElORUFSX0xJTkVBUl9EQVRBX0xFTiA2NAomIzQzOyNkZWZpbmUgU0hPUlRfT1VUX0xFTiAxMDAKJiM0MzsKIHN0YXRpYyBjb25zdCBfX3UzMiBkdXJhdGlvbjsKIAogc3RhdGljIHZvaWQgY2hlY2tfcnVuX2NudChpbnQgcHJvZ19mZCwgX191NjQgcnVuX2NudCkKQEAgLTIwLDYgJiM0MzsyNCw2OSBAQCBzdGF0aWMgdm9pZCBjaGVja19ydW5fY250KGludCBwcm9nX2ZkLCBfX3U2NCBydW5fY250KQogCSAgICAgICYjMzQ7aW5jb3JyZWN0IG51bWJlciBvZiByZXBldGl0aW9ucywgd2FudCAlbGx1IGhhdmUgJWxsdVxuJiMzNDssIHJ1bl9jbnQsIGluZm8ucnVuX2NudCk7CiB9CiAKJiM0MztzdGF0aWMgdm9pZCBpbml0X3BrdChfX3U4ICpwa3QsIHNpemVfdCBsZW4pCiYjNDM7ewomIzQzOwlzaXplX3QgaTsKJiM0MzsKJiM0MzsJZm9yIChpID0gMDsgaSAmbHQ7IGxlbjsgaSYjNDM7JiM0MzspCiYjNDM7CQlwa3RbaV0gPSBpICZhbXA7IDB4ZmY7CiYjNDM7fQomIzQzOwomIzQzO3N0YXRpYyB2b2lkIHRlc3Rfc2tiX25vbmxpbmVhcl9kYXRhX291dF9wYXJ0aWFsKHN0cnVjdCB0ZXN0X3BrdF9hY2Nlc3MgKnNrZWwpCiYjNDM7ewomIzQzOwlMSUJCUEZfT1BUUyhicGZfdGVzdF9ydW5fb3B0cywgdG9wdHMpOwomIzQzOwlfX3U4IHBrdFtOT05MSU5FQVJfUEtUX0xFTl07CiYjNDM7CV9fdTggb3V0W1NIT1JUX09VVF9MRU5dID0ge307CiYjNDM7CXN0cnVjdCBfX3NrX2J1ZmYgc2tiID0ge307CiYjNDM7CWludCBwcm9nX2ZkLCBlcnI7CiYjNDM7CiYjNDM7CWluaXRfcGt0KHBrdCwgc2l6ZW9mKHBrdCkpOwomIzQzOwomIzQzOwlza2IuZGF0YV9lbmQgPSBOT05MSU5FQVJfTElORUFSX0RBVEFfTEVOOwomIzQzOwomIzQzOwl0b3B0cy5kYXRhX2luID0gcGt0OwomIzQzOwl0b3B0cy5kYXRhX3NpemVfaW4gPSBzaXplb2YocGt0KTsKJiM0MzsJdG9wdHMuZGF0YV9vdXQgPSBvdXQ7CiYjNDM7CXRvcHRzLmRhdGFfc2l6ZV9vdXQgPSBzaXplb2Yob3V0KTsKJiM0MzsJdG9wdHMuY3R4X2luID0gJmFtcDtza2I7CiYjNDM7CXRvcHRzLmN0eF9zaXplX2luID0gc2l6ZW9mKHNrYik7CiYjNDM7CiYjNDM7CXByb2dfZmQgPSBicGZfcHJvZ3JhbV9fZmQoc2tlbC0mZ3Q7cHJvZ3MudGNfcGFzc19wcm9nKTsKJiM0MzsJZXJyID0gYnBmX3Byb2dfdGVzdF9ydW5fb3B0cyhwcm9nX2ZkLCAmYW1wO3RvcHRzKTsKJiM0MzsKJiM0MzsJQVNTRVJUX0VRKGVyciwgLUVOT1NQQywgJiMzNDtza2JfcGFydGlhbF9lcnImIzM0Oyk7CiYjNDM7CUFTU0VSVF9FUSh0b3B0cy5kYXRhX3NpemVfb3V0LCBzaXplb2YocGt0KSwgJiMzNDtza2JfcGFydGlhbF9zaXplJiMzNDspOwomIzQzOwlBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksICYjMzQ7c2tiX3BhcnRpYWxfZGF0YSYjMzQ7KTsKJiM0Mzt9CiYjNDM7CiYjNDM7c3RhdGljIHZvaWQgdGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbCkKJiM0Mzt7CiYjNDM7CUxJQkJQRl9PUFRTKGJwZl90ZXN0X3J1bl9vcHRzLCB0b3B0cyk7CiYjNDM7CV9fdTggcGt0W05PTkxJTkVBUl9QS1RfTEVOXTsKJiM0MzsJX191OCBvdXRbU0hPUlRfT1VUX0xFTl0gPSB7fTsKJiM0MzsJc3RydWN0IHhkcF9tZCBjdHggPSB7fTsKJiM0MzsJaW50IHByb2dfZmQsIGVycjsKJiM0MzsKJiM0MzsJaW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7CiYjNDM7CiYjNDM7CWN0eC5kYXRhID0gMDsKJiM0MzsJY3R4LmRhdGFfZW5kID0gTk9OTElORUFSX0xJTkVBUl9EQVRBX0xFTjsKJiM0MzsKJiM0MzsJdG9wdHMuZGF0YV9pbiA9IHBrdDsKJiM0MzsJdG9wdHMuZGF0YV9zaXplX2luID0gc2l6ZW9mKHBrdCk7CiYjNDM7CXRvcHRzLmRhdGFfb3V0ID0gb3V0OwomIzQzOwl0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7CiYjNDM7CXRvcHRzLmN0eF9pbiA9ICZhbXA7Y3R4OwomIzQzOwl0b3B0cy5jdHhfc2l6ZV9pbiA9IHNpemVvZihjdHgpOwomIzQzOwomIzQzOwlwcm9nX2ZkID0gYnBmX3Byb2dyYW1fX2ZkKHNrZWwtJmd0O3Byb2dzLnhkcF9mcmFnc19wYXNzX3Byb2cpOwomIzQzOwllcnIgPSBicGZfcHJvZ190ZXN0X3J1bl9vcHRzKHByb2dfZmQsICZhbXA7dG9wdHMpOwomIzQzOwomIzQzOwlBU1NFUlRfRVEoZXJyLCAtRU5PU1BDLCAmIzM0O3hkcF9wYXJ0aWFsX2VyciYjMzQ7KTsKJiM0MzsJQVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCAmIzM0O3hkcF9wYXJ0aWFsX3NpemUmIzM0Oyk7CiYjNDM7CUFTU0VSVF9PSyhtZW1jbXAob3V0LCBwa3QsIHNpemVvZihvdXQpKSwgJiMzNDt4ZHBfcGFydGlhbF9kYXRhJiMzNDspOwomIzQzO30KJiM0MzsKIHZvaWQgdGVzdF9wcm9nX3J1bl9vcHRzKHZvaWQpCiB7CiAJc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbDsKQEAgLTY5LDYgJiM0MzsxMzYsOSBAQCB2b2lkIHRlc3RfcHJvZ19ydW5fb3B0cyh2b2lkKQogCXJ1bl9jbnQgJiM0Mzs9IHRvcHRzLnJlcGVhdDsKIAljaGVja19ydW5fY250KHByb2dfZmQsIHJ1bl9jbnQpOwogCiYjNDM7CXRlc3Rfc2tiX25vbmxpbmVhcl9kYXRhX291dF9wYXJ0aWFsKHNrZWwpOwomIzQzOwl0ZXN0X3hkcF9ub25saW5lYXJfZGF0YV9vdXRfcGFydGlhbChza2VsKTsKJiM0MzsKIGNsZWFudXA6CiAJaWYgKHNrZWwpCiAJCXRlc3RfcGt0X2FjY2Vzc19fZGVzdHJveShza2VsKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuYwppbmRleCBiY2U3MTczMTUyYzZjNC4uY2QyODQ0MDFlZWJkYmIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuYwomIzQzOyYjNDM7JiM0MzsgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmMKQEAgLTE1MCwzICYjNDM7MTUwLDE1IEBAIGludCB0ZXN0X3BrdF9hY2Nlc3Moc3RydWN0IF9fc2tfYnVmZiAqc2tiKQogCiAJcmV0dXJuIFRDX0FDVF9VTlNQRUM7CiB9CiYjNDM7CiYjNDM7U0VDKCYjMzQ7dGMmIzM0OykKJiM0MztpbnQgdGNfcGFzc19wcm9nKHN0cnVjdCBfX3NrX2J1ZmYgKnNrYikKJiM0Mzt7CiYjNDM7CXJldHVybiBUQ19BQ1RfT0s7CiYjNDM7fQomIzQzOwomIzQzO1NFQygmIzM0O3hkcC5mcmFncyYjMzQ7KQomIzQzO2ludCB4ZHBfZnJhZ3NfcGFzc19wcm9nKHN0cnVjdCB4ZHBfbWQgKmN0eCkKJiM0Mzt7CiYjNDM7CXJldHVybiBYRFBfUEFTUzsKJiM0Mzt9CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzIzIDAyOjE4PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxNTMKCQkJCQkJCW91dHB1dDogNjUKCQkJCQkJCXRob3VnaHRzOiAxMTIKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqV29ydGhGdXp6aW5nPUZhbHNlOiBBbmFseXNpcyBvZiBCUEYgU2VsZnRlc3QgUGF0Y2gqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gVGhpcyBwYXRjaCBpcyB0b3VjaGluZyBmaWxlcyB3aXRoaW4gYHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9gLiBTcGVjaWZpY2FsbHksIEkmIzM5O20gc2VlaW5nIGNoYW5nZXMgdG8gYHByb2dfcnVuX29wdHMuY2AgYW5kIGB0ZXN0X3BrdF9hY2Nlc3MuY2AuIFRoZXNlIGFyZSwgcXVpdGUgY2xlYXJseSwgc2VsZnRlc3RzLiBUaGV5JiMzOTtyZSBwYXJ0IG9mIHRoZSB0ZXN0aW5nIGluZnJhc3RydWN0dXJlLCBub3QgdGhlIGNvcmUga2VybmVsIGNvZGUgaXRzZWxmLiBUaGV5JiMzOTtyZSB0aGVyZSB0byB2YWxpZGF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlIEJQRiBzdWJzeXN0ZW0sIGJ1dCAqbm90KiB0byBtYWtlIGFjdHVhbCBjaGFuZ2VzIHRvIHRoZSBydW5uaW5nIGtlcm5lbCBmdW5jdGlvbmFsaXR5LgoKR2l2ZW4gdGhpcywgSSBoYXZlIHRvIGNvbmNsdWRlIHRoYXQgdGhpcyBwYXRjaCBkb2VzbiYjMzk7dCBpbnRyb2R1Y2UgYW55IG5ldyBmdW5jdGlvbmFsaXR5IG9yIG1vZGlmaWNhdGlvbnMgdG8gdGhlIGtlcm5lbCYjMzk7cyBjcml0aWNhbCBleGVjdXRpb24gcGF0aHMgdGhhdCB3b3VsZCB3YXJyYW50IGZ1enppbmcuIFRoZSBjaGFuZ2VzIGFyZSBjb25maW5lZCB0byB0aGUgdGVzdGluZyBlbnZpcm9ubWVudC4gQ29uc2VxdWVudGx5LCBJJiMzOTtsbCBiZSBzZXR0aW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBObyBmdXp6aW5nIGlzIHJlcXVpcmVkIGZvciB0aGlzIHBhcnRpY3VsYXIgcGF0Y2guIEl0JiMzOTtzIGEgdGVzdCBjYXNlLCBub3QgYSBmdW5jdGlvbmFsIG1vZGlmaWNhdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yMyAwMjoxODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgQlBGIHNlbGZ0ZXN0cyAodG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmLykgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUgaXRzZWxmLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBCUEYgc2VsZnRlc3RzICh0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZSBpdHNlbGYuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDYtMjNUMDI6MTg6MzcuNTc0Nzk3NjhaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0NTM1OTU0ODgzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIEJQRiBzZWxmdGVzdHMgKHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi8pIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCBjb2RlIGl0c2VsZi5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTIzVDAyOjE4OjM3LjU3NDgwNTEyWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NDEyNzU5ODksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCBlOTZiZGE3YmE3ZjUwYWQ4ZjJmOTM2MWQ4NDE1YWNlODNkYWYwOTQzXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBUdWUgSnVuIDIzIDAyOjE4OjM2IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuY1xcbmluZGV4IDAxZjFkMWI2NzE1YTZjLi5iZWI2ZmE3OGZkOTQ5ZiAxMDA2NDRcXG4tLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmNcXG4rKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmNcXG5AQCAtNCw2ICs0LDEwIEBAXFxuIFxcbiAjaW5jbHVkZSBcXFwidGVzdF9wa3RfYWNjZXNzLnNrZWwuaFxcXCJcXG4gXFxuKyNkZWZpbmUgTk9OTElORUFSX1BLVF9MRU4gOTAwMFxcbisjZGVmaW5lIE5PTkxJTkVBUl9MSU5FQVJfREFUQV9MRU4gNjRcXG4rI2RlZmluZSBTSE9SVF9PVVRfTEVOIDEwMFxcbitcXG4gc3RhdGljIGNvbnN0IF9fdTMyIGR1cmF0aW9uO1xcbiBcXG4gc3RhdGljIHZvaWQgY2hlY2tfcnVuX2NudChpbnQgcHJvZ19mZCwgX191NjQgcnVuX2NudClcXG5AQCAtMjAsNiArMjQsNjkgQEAgc3RhdGljIHZvaWQgY2hlY2tfcnVuX2NudChpbnQgcHJvZ19mZCwgX191NjQgcnVuX2NudClcXG4gXFx0ICAgICAgXFxcImluY29ycmVjdCBudW1iZXIgb2YgcmVwZXRpdGlvbnMsIHdhbnQgJWxsdSBoYXZlICVsbHVcXFxcblxcXCIsIHJ1bl9jbnQsIGluZm8ucnVuX2NudCk7XFxuIH1cXG4gXFxuK3N0YXRpYyB2b2lkIGluaXRfcGt0KF9fdTggKnBrdCwgc2l6ZV90IGxlbilcXG4re1xcbitcXHRzaXplX3QgaTtcXG4rXFxuK1xcdGZvciAoaSA9IDA7IGkgXFx1MDAzYyBsZW47IGkrKylcXG4rXFx0XFx0cGt0W2ldID0gaSBcXHUwMDI2IDB4ZmY7XFxuK31cXG4rXFxuK3N0YXRpYyB2b2lkIHRlc3Rfc2tiX25vbmxpbmVhcl9kYXRhX291dF9wYXJ0aWFsKHN0cnVjdCB0ZXN0X3BrdF9hY2Nlc3MgKnNrZWwpXFxuK3tcXG4rXFx0TElCQlBGX09QVFMoYnBmX3Rlc3RfcnVuX29wdHMsIHRvcHRzKTtcXG4rXFx0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xcbitcXHRfX3U4IG91dFtTSE9SVF9PVVRfTEVOXSA9IHt9O1xcbitcXHRzdHJ1Y3QgX19za19idWZmIHNrYiA9IHt9O1xcbitcXHRpbnQgcHJvZ19mZCwgZXJyO1xcbitcXG4rXFx0aW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7XFxuK1xcbitcXHRza2IuZGF0YV9lbmQgPSBOT05MSU5FQVJfTElORUFSX0RBVEFfTEVOO1xcbitcXG4rXFx0dG9wdHMuZGF0YV9pbiA9IHBrdDtcXG4rXFx0dG9wdHMuZGF0YV9zaXplX2luID0gc2l6ZW9mKHBrdCk7XFxuK1xcdHRvcHRzLmRhdGFfb3V0ID0gb3V0O1xcbitcXHR0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7XFxuK1xcdHRvcHRzLmN0eF9pbiA9IFxcdTAwMjZza2I7XFxuK1xcdHRvcHRzLmN0eF9zaXplX2luID0gc2l6ZW9mKHNrYik7XFxuK1xcbitcXHRwcm9nX2ZkID0gYnBmX3Byb2dyYW1fX2ZkKHNrZWwtXFx1MDAzZXByb2dzLnRjX3Bhc3NfcHJvZyk7XFxuK1xcdGVyciA9IGJwZl9wcm9nX3Rlc3RfcnVuX29wdHMocHJvZ19mZCwgXFx1MDAyNnRvcHRzKTtcXG4rXFxuK1xcdEFTU0VSVF9FUShlcnIsIC1FTk9TUEMsIFxcXCJza2JfcGFydGlhbF9lcnJcXFwiKTtcXG4rXFx0QVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCBcXFwic2tiX3BhcnRpYWxfc2l6ZVxcXCIpO1xcbitcXHRBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksIFxcXCJza2JfcGFydGlhbF9kYXRhXFxcIik7XFxuK31cXG4rXFxuK3N0YXRpYyB2b2lkIHRlc3RfeGRwX25vbmxpbmVhcl9kYXRhX291dF9wYXJ0aWFsKHN0cnVjdCB0ZXN0X3BrdF9hY2Nlc3MgKnNrZWwpXFxuK3tcXG4rXFx0TElCQlBGX09QVFMoYnBmX3Rlc3RfcnVuX29wdHMsIHRvcHRzKTtcXG4rXFx0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xcbitcXHRfX3U4IG91dFtTSE9SVF9PVVRfTEVOXSA9IHt9O1xcbitcXHRzdHJ1Y3QgeGRwX21kIGN0eCA9IHt9O1xcbitcXHRpbnQgcHJvZ19mZCwgZXJyO1xcbitcXG4rXFx0aW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7XFxuK1xcbitcXHRjdHguZGF0YSA9IDA7XFxuK1xcdGN0eC5kYXRhX2VuZCA9IE5PTkxJTkVBUl9MSU5FQVJfREFUQV9MRU47XFxuK1xcbitcXHR0b3B0cy5kYXRhX2luID0gcGt0O1xcbitcXHR0b3B0cy5kYXRhX3NpemVfaW4gPSBzaXplb2YocGt0KTtcXG4rXFx0dG9wdHMuZGF0YV9vdXQgPSBvdXQ7XFxuK1xcdHRvcHRzLmRhdGFfc2l6ZV9vdXQgPSBzaXplb2Yob3V0KTtcXG4rXFx0dG9wdHMuY3R4X2luID0gXFx1MDAyNmN0eDtcXG4rXFx0dG9wdHMuY3R4X3NpemVfaW4gPSBzaXplb2YoY3R4KTtcXG4rXFxuK1xcdHByb2dfZmQgPSBicGZfcHJvZ3JhbV9fZmQoc2tlbC1cXHUwMDNlcHJvZ3MueGRwX2ZyYWdzX3Bhc3NfcHJvZyk7XFxuK1xcdGVyciA9IGJwZl9wcm9nX3Rlc3RfcnVuX29wdHMocHJvZ19mZCwgXFx1MDAyNnRvcHRzKTtcXG4rXFxuK1xcdEFTU0VSVF9FUShlcnIsIC1FTk9TUEMsIFxcXCJ4ZHBfcGFydGlhbF9lcnJcXFwiKTtcXG4rXFx0QVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCBcXFwieGRwX3BhcnRpYWxfc2l6ZVxcXCIpO1xcbitcXHRBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksIFxcXCJ4ZHBfcGFydGlhbF9kYXRhXFxcIik7XFxuK31cXG4rXFxuIHZvaWQgdGVzdF9wcm9nX3J1bl9vcHRzKHZvaWQpXFxuIHtcXG4gXFx0c3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbDtcXG5AQCAtNjksNiArMTM2LDkgQEAgdm9pZCB0ZXN0X3Byb2dfcnVuX29wdHModm9pZClcXG4gXFx0cnVuX2NudCArPSB0b3B0cy5yZXBlYXQ7XFxuIFxcdGNoZWNrX3J1bl9jbnQocHJvZ19mZCwgcnVuX2NudCk7XFxuIFxcbitcXHR0ZXN0X3NrYl9ub25saW5lYXJfZGF0YV9vdXRfcGFydGlhbChza2VsKTtcXG4rXFx0dGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc2tlbCk7XFxuK1xcbiBjbGVhbnVwOlxcbiBcXHRpZiAoc2tlbClcXG4gXFx0XFx0dGVzdF9wa3RfYWNjZXNzX19kZXN0cm95KHNrZWwpO1xcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmNcXG5pbmRleCBiY2U3MTczMTUyYzZjNC4uY2QyODQ0MDFlZWJkYmIgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3Rlc3RfcGt0X2FjY2Vzcy5jXFxuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3Rlc3RfcGt0X2FjY2Vzcy5jXFxuQEAgLTE1MCwzICsxNTAsMTUgQEAgaW50IHRlc3RfcGt0X2FjY2VzcyhzdHJ1Y3QgX19za19idWZmICpza2IpXFxuIFxcbiBcXHRyZXR1cm4gVENfQUNUX1VOU1BFQztcXG4gfVxcbitcXG4rU0VDKFxcXCJ0Y1xcXCIpXFxuK2ludCB0Y19wYXNzX3Byb2coc3RydWN0IF9fc2tfYnVmZiAqc2tiKVxcbit7XFxuK1xcdHJldHVybiBUQ19BQ1RfT0s7XFxuK31cXG4rXFxuK1NFQyhcXFwieGRwLmZyYWdzXFxcIilcXG4raW50IHhkcF9mcmFnc19wYXNzX3Byb2coc3RydWN0IHhkcF9tZCAqY3R4KVxcbit7XFxuK1xcdHJldHVybiBYRFBfUEFTUztcXG4rfVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QwMjoxODozOC4xMTY5Mjk3MDlaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM5OTM4MTc3MDQsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgQlBGIHNlbGZ0ZXN0cyAodG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmLykgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUgaXRzZWxmLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBlOTZiZGE3YmE3ZjUwYWQ4ZjJmOTM2MWQ4NDE1YWNlODNkYWYwOTQzXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFR1ZSBKdW4gMjMgMDI6MTg6MzYgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ190ZXN0cy9wcm9nX3J1bl9vcHRzLmNcbmluZGV4IDAxZjFkMWI2NzE1YTZjLi5iZWI2ZmE3OGZkOTQ5ZiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9nX3Rlc3RzL3Byb2dfcnVuX29wdHMuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dfdGVzdHMvcHJvZ19ydW5fb3B0cy5jXG5AQCAtNCw2ICs0LDEwIEBAXG4gXG4gI2luY2x1ZGUgXCJ0ZXN0X3BrdF9hY2Nlc3Muc2tlbC5oXCJcbiBcbisjZGVmaW5lIE5PTkxJTkVBUl9QS1RfTEVOIDkwMDBcbisjZGVmaW5lIE5PTkxJTkVBUl9MSU5FQVJfREFUQV9MRU4gNjRcbisjZGVmaW5lIFNIT1JUX09VVF9MRU4gMTAwXG4rXG4gc3RhdGljIGNvbnN0IF9fdTMyIGR1cmF0aW9uO1xuIFxuIHN0YXRpYyB2b2lkIGNoZWNrX3J1bl9jbnQoaW50IHByb2dfZmQsIF9fdTY0IHJ1bl9jbnQpXG5AQCAtMjAsNiArMjQsNjkgQEAgc3RhdGljIHZvaWQgY2hlY2tfcnVuX2NudChpbnQgcHJvZ19mZCwgX191NjQgcnVuX2NudClcbiBcdCAgICAgIFwiaW5jb3JyZWN0IG51bWJlciBvZiByZXBldGl0aW9ucywgd2FudCAlbGx1IGhhdmUgJWxsdVxcblwiLCBydW5fY250LCBpbmZvLnJ1bl9jbnQpO1xuIH1cbiBcbitzdGF0aWMgdm9pZCBpbml0X3BrdChfX3U4ICpwa3QsIHNpemVfdCBsZW4pXG4re1xuK1x0c2l6ZV90IGk7XG4rXG4rXHRmb3IgKGkgPSAwOyBpIFx1MDAzYyBsZW47IGkrKylcbitcdFx0cGt0W2ldID0gaSBcdTAwMjYgMHhmZjtcbit9XG4rXG4rc3RhdGljIHZvaWQgdGVzdF9za2Jfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbClcbit7XG4rXHRMSUJCUEZfT1BUUyhicGZfdGVzdF9ydW5fb3B0cywgdG9wdHMpO1xuK1x0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xuK1x0X191OCBvdXRbU0hPUlRfT1VUX0xFTl0gPSB7fTtcbitcdHN0cnVjdCBfX3NrX2J1ZmYgc2tiID0ge307XG4rXHRpbnQgcHJvZ19mZCwgZXJyO1xuK1xuK1x0aW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7XG4rXG4rXHRza2IuZGF0YV9lbmQgPSBOT05MSU5FQVJfTElORUFSX0RBVEFfTEVOO1xuK1xuK1x0dG9wdHMuZGF0YV9pbiA9IHBrdDtcbitcdHRvcHRzLmRhdGFfc2l6ZV9pbiA9IHNpemVvZihwa3QpO1xuK1x0dG9wdHMuZGF0YV9vdXQgPSBvdXQ7XG4rXHR0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7XG4rXHR0b3B0cy5jdHhfaW4gPSBcdTAwMjZza2I7XG4rXHR0b3B0cy5jdHhfc2l6ZV9pbiA9IHNpemVvZihza2IpO1xuK1xuK1x0cHJvZ19mZCA9IGJwZl9wcm9ncmFtX19mZChza2VsLVx1MDAzZXByb2dzLnRjX3Bhc3NfcHJvZyk7XG4rXHRlcnIgPSBicGZfcHJvZ190ZXN0X3J1bl9vcHRzKHByb2dfZmQsIFx1MDAyNnRvcHRzKTtcbitcbitcdEFTU0VSVF9FUShlcnIsIC1FTk9TUEMsIFwic2tiX3BhcnRpYWxfZXJyXCIpO1xuK1x0QVNTRVJUX0VRKHRvcHRzLmRhdGFfc2l6ZV9vdXQsIHNpemVvZihwa3QpLCBcInNrYl9wYXJ0aWFsX3NpemVcIik7XG4rXHRBU1NFUlRfT0sobWVtY21wKG91dCwgcGt0LCBzaXplb2Yob3V0KSksIFwic2tiX3BhcnRpYWxfZGF0YVwiKTtcbit9XG4rXG4rc3RhdGljIHZvaWQgdGVzdF94ZHBfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbClcbit7XG4rXHRMSUJCUEZfT1BUUyhicGZfdGVzdF9ydW5fb3B0cywgdG9wdHMpO1xuK1x0X191OCBwa3RbTk9OTElORUFSX1BLVF9MRU5dO1xuK1x0X191OCBvdXRbU0hPUlRfT1VUX0xFTl0gPSB7fTtcbitcdHN0cnVjdCB4ZHBfbWQgY3R4ID0ge307XG4rXHRpbnQgcHJvZ19mZCwgZXJyO1xuK1xuK1x0aW5pdF9wa3QocGt0LCBzaXplb2YocGt0KSk7XG4rXG4rXHRjdHguZGF0YSA9IDA7XG4rXHRjdHguZGF0YV9lbmQgPSBOT05MSU5FQVJfTElORUFSX0RBVEFfTEVOO1xuK1xuK1x0dG9wdHMuZGF0YV9pbiA9IHBrdDtcbitcdHRvcHRzLmRhdGFfc2l6ZV9pbiA9IHNpemVvZihwa3QpO1xuK1x0dG9wdHMuZGF0YV9vdXQgPSBvdXQ7XG4rXHR0b3B0cy5kYXRhX3NpemVfb3V0ID0gc2l6ZW9mKG91dCk7XG4rXHR0b3B0cy5jdHhfaW4gPSBcdTAwMjZjdHg7XG4rXHR0b3B0cy5jdHhfc2l6ZV9pbiA9IHNpemVvZihjdHgpO1xuK1xuK1x0cHJvZ19mZCA9IGJwZl9wcm9ncmFtX19mZChza2VsLVx1MDAzZXByb2dzLnhkcF9mcmFnc19wYXNzX3Byb2cpO1xuK1x0ZXJyID0gYnBmX3Byb2dfdGVzdF9ydW5fb3B0cyhwcm9nX2ZkLCBcdTAwMjZ0b3B0cyk7XG4rXG4rXHRBU1NFUlRfRVEoZXJyLCAtRU5PU1BDLCBcInhkcF9wYXJ0aWFsX2VyclwiKTtcbitcdEFTU0VSVF9FUSh0b3B0cy5kYXRhX3NpemVfb3V0LCBzaXplb2YocGt0KSwgXCJ4ZHBfcGFydGlhbF9zaXplXCIpO1xuK1x0QVNTRVJUX09LKG1lbWNtcChvdXQsIHBrdCwgc2l6ZW9mKG91dCkpLCBcInhkcF9wYXJ0aWFsX2RhdGFcIik7XG4rfVxuK1xuIHZvaWQgdGVzdF9wcm9nX3J1bl9vcHRzKHZvaWQpXG4ge1xuIFx0c3RydWN0IHRlc3RfcGt0X2FjY2VzcyAqc2tlbDtcbkBAIC02OSw2ICsxMzYsOSBAQCB2b2lkIHRlc3RfcHJvZ19ydW5fb3B0cyh2b2lkKVxuIFx0cnVuX2NudCArPSB0b3B0cy5yZXBlYXQ7XG4gXHRjaGVja19ydW5fY250KHByb2dfZmQsIHJ1bl9jbnQpO1xuIFxuK1x0dGVzdF9za2Jfbm9ubGluZWFyX2RhdGFfb3V0X3BhcnRpYWwoc2tlbCk7XG4rXHR0ZXN0X3hkcF9ub25saW5lYXJfZGF0YV9vdXRfcGFydGlhbChza2VsKTtcbitcbiBjbGVhbnVwOlxuIFx0aWYgKHNrZWwpXG4gXHRcdHRlc3RfcGt0X2FjY2Vzc19fZGVzdHJveShza2VsKTtcbmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvcHJvZ3MvdGVzdF9wa3RfYWNjZXNzLmNcbmluZGV4IGJjZTcxNzMxNTJjNmM0Li5jZDI4NDQwMWVlYmRiYiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9wcm9ncy90ZXN0X3BrdF9hY2Nlc3MuY1xuKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3Rlc3RfcGt0X2FjY2Vzcy5jXG5AQCAtMTUwLDMgKzE1MCwxNSBAQCBpbnQgdGVzdF9wa3RfYWNjZXNzKHN0cnVjdCBfX3NrX2J1ZmYgKnNrYilcbiBcbiBcdHJldHVybiBUQ19BQ1RfVU5TUEVDO1xuIH1cbitcbitTRUMoXCJ0Y1wiKVxuK2ludCB0Y19wYXNzX3Byb2coc3RydWN0IF9fc2tfYnVmZiAqc2tiKVxuK3tcbitcdHJldHVybiBUQ19BQ1RfT0s7XG4rfVxuK1xuK1NFQyhcInhkcC5mcmFnc1wiKVxuK2ludCB4ZHBfZnJhZ3NfcGFzc19wcm9nKHN0cnVjdCB4ZHBfbWQgKmN0eClcbit7XG4rXHRyZXR1cm4gWERQX1BBU1M7XG4rfVxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjNUMDI6MTg6MzguMTE2OTMxODg5WiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mzk5Mzc4OTYxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipXb3J0aEZ1enppbmc9RmFsc2U6IEFuYWx5c2lzIG9mIEJQRiBTZWxmdGVzdCBQYXRjaCoqXG5cbk9rYXksIGxldCdzIGJyZWFrIHRoaXMgZG93bi4gVGhpcyBwYXRjaCBpcyB0b3VjaGluZyBmaWxlcyB3aXRoaW4gYHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi9gLiBTcGVjaWZpY2FsbHksIEknbSBzZWVpbmcgY2hhbmdlcyB0byBgcHJvZ19ydW5fb3B0cy5jYCBhbmQgYHRlc3RfcGt0X2FjY2Vzcy5jYC4gVGhlc2UgYXJlLCBxdWl0ZSBjbGVhcmx5LCBzZWxmdGVzdHMuIFRoZXkncmUgcGFydCBvZiB0aGUgdGVzdGluZyBpbmZyYXN0cnVjdHVyZSwgbm90IHRoZSBjb3JlIGtlcm5lbCBjb2RlIGl0c2VsZi4gVGhleSdyZSB0aGVyZSB0byB2YWxpZGF0ZSB0aGUgYmVoYXZpb3Igb2YgdGhlIEJQRiBzdWJzeXN0ZW0sIGJ1dCAqbm90KiB0byBtYWtlIGFjdHVhbCBjaGFuZ2VzIHRvIHRoZSBydW5uaW5nIGtlcm5lbCBmdW5jdGlvbmFsaXR5LlxuXG5HaXZlbiB0aGlzLCBJIGhhdmUgdG8gY29uY2x1ZGUgdGhhdCB0aGlzIHBhdGNoIGRvZXNuJ3QgaW50cm9kdWNlIGFueSBuZXcgZnVuY3Rpb25hbGl0eSBvciBtb2RpZmljYXRpb25zIHRvIHRoZSBrZXJuZWwncyBjcml0aWNhbCBleGVjdXRpb24gcGF0aHMgdGhhdCB3b3VsZCB3YXJyYW50IGZ1enppbmcuIFRoZSBjaGFuZ2VzIGFyZSBjb25maW5lZCB0byB0aGUgdGVzdGluZyBlbnZpcm9ubWVudC4gQ29uc2VxdWVudGx5LCBJJ2xsIGJlIHNldHRpbmcgYFdvcnRoRnV6emluZz1mYWxzZWAuIE5vIGZ1enppbmcgaXMgcmVxdWlyZWQgZm9yIHRoaXMgcGFydGljdWxhciBwYXRjaC4gSXQncyBhIHRlc3QgY2FzZSwgbm90IGEgZnVuY3Rpb25hbCBtb2RpZmljYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMxNTMsIk91dHB1dFRva2VucyI6NjUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxMTIsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yM1QwMjoxODo0Mi4xMTA3MjM4MTNaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIxOTkwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgQlBGIHNlbGZ0ZXN0cyAodG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmLykgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIGNvZGUgaXRzZWxmLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBCUEYgc2VsZnRlc3RzICh0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgY29kZSBpdHNlbGYuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowbfc7x[1] Phase: Running StartedAt: 2026-06-23 02:18:49 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowbfc7x[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-06-23 02:18:49 +0000 UTC FinishedAt: 2026-06-23 02:18:54 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}