|
SBvciBfZXhpdCgyKSwgb3IgYnlyZXR1cm5pbmcgZnJvbSBtYWluKCkuPC9wPgoKPHA+IDwvcD4KCjxwPiAgICAgIFdFWElUU1RBVFVTKHN0YXR1cyk8L3A+Cgo8cD4gICAgICAgICAgICAgCnJldHVybnMgIHRoZSBleGl0IApzdGF0dXMgIG9mICB0aGVjaGlsZC4gClRoaXMgY29uc2lzdHMgb2YgdGhlPC9wPgoKPHA+ICAgICAgICAgICAgIApsZWFzdCBzaWduaWZpY2FudCA4IGJpdHMgb2YgdGhlc3RhdHVzIGFyZ3VtZW50IHRoYXQgIAp0aGUgIGNoaWxkPC9wPgoKPHA+ICAgICAgICAgICAgIApzcGVjaWZpZWQgIGluIGEgCmNhbGwgdG8gZXhpdCgzKSBvciBfZXhpdCgyKSBvcmFzIHRoZSBhcmd1bWVudDwvcD4KCjxwPiAgICAgICAgICAgICAKZm9yIGEgcmV0dXJuIHN0YXRlbWVudCBpbm1haW4oKS4gIFRoaXMgbWFjcm8gc2hvdWxkIGJlIGVtcGxveWVkPC9wPgoKPHA+ICAgICAgICAgICAgIApvbmx5IGlmIFdJRkVYSVRFRCByZXR1cm5lZCB0cnVlLjwvcD4KCjxwPiA8L3A+Cgo8cD4gICAgICBXSUZTSUdOQUxFRChzdGF0dXMpPC9wPgoKPHA+ICAgICAgICAgICAgIApyZXR1cm5zIHRydWUgaWYgdGhlIGNoaWxkIHByb2Nlc3N3YXMgdGVybWluYXRlZCBieSBhIHNpZ25hbC48L3A+Cgo8cD4gPC9wPgoKPHA+ICAgICAgV1RFUk1TSUcoc3RhdHVzKTwvcD4KCjxwPiAgICAgICAgICAgICAKcmV0dXJucyAgdGhlIG51bWJlciBvZiB0aGUgc2lnbmFsIHRoYXQgY2F1c2VkIHRoZSBjaGlsZCBwcm9jZXNzPC9wPgoKPHA+ICAgICAgICAgICAgIAp0byB0ZXJtaW5hdGUuICBUaGlzIG1hY3JvIHNob3VsZCBiZSBlbXBsb3llZCBvbmx5IGlmV0lGU0lHTkFMRUQ8L3A+Cgo8cD4gICAgICAgICAgICAgCnJldHVybmVkIHRydWUuPC9wPgoKPHA+V0NPUkVEVU1QKHN0YXR1cyk8L3A+Cgo8cD4gICAgCiAgICAgICAgIHJldHVybnMgIHRydWUgaWYgCnRoZSAgY2hpbGQgcHJvZHVjZWQgYSBjb3JlIGR1bXAuIApUaGlzIG1hY3JvPC9wPgoKPHA+ICAgICAgICAgICAgIApzaG91bGQgYmUgZW1wbG95ZWQgb25seSAgaWYgV0lGU0lHTkFMRUQgCnJldHVybmVkICB0cnVlLiAgVGhpczwvcD4KCjxwPiAgICAgICAgICAgICAKbWFjcm8gIGlzICBub3RzcGVjaWZpZWQgaW4gUE9TSVguMS0yMDAxIGFuZCBpcyBub3QgYXZhaWxhYmxlIG9uPC9wPgoKPHA+ICAgICAgICAgICAgIApzb21lIFVOSVggaW1wbGVtZW50YXRpb25zIChlLmcuLEFJWCwgIFN1bk9TKS4gIApPbmx5IHVzZSAgdGhpczwvcD4KCjxwPiAgICAgICAgICAgICAKZW5jbG9zZWQgaW4gI2lmZGVmIFdDT1JFRFVNUCAuLi4jZW5kaWYuPC9wPgoKPHA+IDwvcD4KCjxwPiAgICAgIFdJRlNUT1BQRUQoc3RhdHVzKTwvcD4KCjxwPiAgICAgICAgICAgICAKcmV0dXJucyAgdHJ1ZSBpZiB0aGUgY2hpbGQgcHJvY2VzcyB3YXMgc3RvcHBlZCBieSBkZWxpdmVyeSBvZiBhPC9wPgoKPHA+ICAgICAgICAgICAgIApzaWduYWw7IHRoaXMgaXMgcG9zc2libGUgb25seSBpZnRoZSBjYWxsIHdhcyAgZG9uZSAKdXNpbmcgV1VOqVw8L3A+Cgo8cD4gICAgICAgICAgICAgClRSQUNFRCBvciB3aGVuIHRoZSBjaGlsZCBpcyBiZWluZ3RyYWNlZCAoc2VlIHB0cmFjZSgyKSkuPC9wPgoKPHA+IDwvcD4KCjxwPiAgICAgIFdTVE9QU0lHKHN0YXR1cyk8L3A+Cgo8cD4gICAgICAgICAgICAgCnJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgc2lnbmFsd2hpY2ggY2F1c2VkIHRoZSBjaGlsZCB0byBzdG9wLjwvcD4KCjxwPiAgICAgICAgICAgICAKVGhpcyBtYWNybyBzaG91bGQgYmUgZW1wbG95ZWRvbmx5IGlmIFdJRlNUT1BQRUQgcmV0dXJuZWQgdHJ1ZS48L3A+Cgo8cD4gPC9wPgoKPHA+ICAgICAgV0lGQ09OVElOVUVEKHN0YXR1cyk8L3A+Cgo8cD4gICAgICAgICAgICAgCihzaW5jZSBMaW51eCAyLjYuMTApIHJldHVybnMgIHRydWUgaWYgCnRoZSAgY2hpbGQgcHJvY2VzcyAKd2FzPC9wPgoKPHA+ICAgICAgICAgICAgIApyZXN1bWVkIGJ5IGRlbGl2ZXJ5IG9mIFNJR0NPTlQuPC9wPgoKPHA+IDwvcD4KCjxwPiNpbmNsdWRlIDxzeXMvd2FpdC5oPjwvcD4KCjxwPiAgICAgICNpbmNsdWRlIDxzdGRsaWIuaD48L3A+Cgo8cD4gICAgICAjaW5jbHVkZSA8dW5pc3RkLmg+PC9wPgoKPHA+ICAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+PC9wPgoKPHA+IDwvcD4KCjxwPiAgICAgIGludDwvcD4KCjxwPiAgICAgIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk8L3A+Cgo8cD4gICAgICB7PC9wPgoKPHA+ICAgICAgICAgIHBpZF90IGNwaWQsIHc7PC9wPgoKPHA+I |