ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvbmIvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL25iL21haW4uYWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3ODA1ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3NwZWxsL25iL21haW4uYWFwCkBAIC0wLDAgKzEsNzggQEAKKyMgQWFwIHJlY2lwZSBmb3IgRHV0Y2ggVmltIHNwZWxsIGZpbGVzLgorCisjIFVzZSBhIGZyZXNobHkgY29tcGlsZWQgVmltIGlmIGl0IGV4aXN0cy4KK0BpZiBvcy5wYXRoLmV4aXN0cygnLi4vLi4vLi4vc3JjL3ZpbScpOgorICAgIFZJTSA9IC4uLy4uLy4uL3NyYy92aW0KK0BlbHNlOgorICAgIDpwcm9nc2VhcmNoIFZJTSB2aW0KKworU1BFTExESVIgPSAuLgorRklMRVMgICAgPSBuYl9OTy5hZmYgbmJfTk8uZGljCisKK2FsbDogJFNQRUxMRElSL25iLmxhdGluMS5zcGwgJFNQRUxMRElSL25iLnV0Zi04LnNwbCAuLi9SRUFETUVfbmIudHh0CisKKyRTUEVMTERJUi9uYi5sYXRpbjEuc3BsIDogJEZJTEVTCisgICAgICAgIDpzeXMgZW52IExBTkc9bm9fTk8uSVNPODg1OS0xCisJCSRWSU0gLXUgTk9ORSAtZSAtYyAibWtzcGVsbCEgJFNQRUxMRElSL25iIG5iX05PIiAtYyBxCisKKyRTUEVMTERJUi9uYi51dGYtOC5zcGwgOiAkRklMRVMKKyAgICAgICAgOnN5cyBlbnYgTEFORz1ub19OTy5VVEYtOAorCQkkVklNIC11IE5PTkUgLWUgLWMgIm1rc3BlbGwhICRTUEVMTERJUi9uYiBuYl9OTyIgLWMgcQorCisuLi9SRUFETUVfbmIudHh0IDogUkVBRE1FX25iX05PLnR4dAorICAgICAgICA6Y29weSAkc291cmNlICR0YXJnZXQKKworIworIyBGZXRjaGluZyB0aGUgZmlsZXMgZnJvbSBPcGVuT2ZmaWNlLm9yZy4KKyMKK09PRElSID0gaHR0cDovL2Z0cC5zZXJ2aWNlcy5vcGVub2ZmaWNlLm9yZy9wdWIvT3Blbk9mZmljZS5vcmcvY29udHJpYi9kaWN0aW9uYXJpZXMKKzphdHRyIHtmZXRjaCA9ICRPT0RJUi8lZmlsZSV9IG5iX05PLnppcAorCisjIFRoZSBmaWxlcyBkb24ndCBkZXBlbmQgb24gdGhlIC56aXAgZmlsZSBzbyB0aGF0IHdlIGNhbiBkZWxldGUgaXQuCisjIE9ubHkgZG93bmxvYWQgdGhlIHppcCBmaWxlIGlmIHRoZSB0YXJnZXRzIGRvbid0IGV4aXN0LgorbmJfTk8uYWZmIG5iX05PLmRpYzoge2J1aWxkY2hlY2s9fQorICAgICAgICA6YXNzZXJ0cGtnIHVuemlwIHBhdGNoCisgICAgICAgIDpmZXRjaCBuYl9OTy56aXAKKyAgICAgICAgOnN5cyAkVU5aSVAgbmJfTk8uemlwCisgICAgICAgIDpkZWxldGUgbmJfTk8uemlwCisgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ25iX05PLm9yaWcuYWZmJyk6CisgICAgICAgICAgICA6Y29weSBuYl9OTy5hZmYgbmJfTk8ub3JpZy5hZmYKKyAgICAgICAgQGlmIG5vdCBvcy5wYXRoLmV4aXN0cygnbmJfTk8ub3JpZy5kaWMnKToKKyAgICAgICAgICAgIDpjb3B5IG5iX05PLmRpYyBuYl9OTy5vcmlnLmRpYworICAgICAgICBAaWYgb3MucGF0aC5leGlzdHMoJ25iX05PLmRpZmYnKToKKyAgICAgICAgICAgIDpzeXMgcGF0Y2ggPG5iX05PLmRpZmYKKworCisjIEdlbmVyYXRlIGRpZmYgZmlsZXMsIHNvIHRoYXQgb3RoZXJzIGNhbiBnZXQgdGhlIE9wZW5PZmZpY2UgZmlsZXMgYW5kIGFwcGx5CisjIHRoZSBkaWZmcyB0byBnZXQgdGhlIFZpbSB2ZXJzaW9ucy4KKworZGlmZjoKKyAgICAgICAgOmFzc2VydHBrZyBkaWZmCisgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgbmJfTk8ub3JpZy5hZmYgbmJfTk8uYWZmID5uYl9OTy5kaWZmCisgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC1hIC1DIDEgbmJfTk8ub3JpZy5kaWMgbmJfTk8uZGljID4+bmJfTk8uZGlmZgorCisKKyMgQ2hlY2sgZm9yIHVwZGF0ZWQgT3Blbk9mZmljZSBzcGVsbCBmaWxlcy4gIFdoZW4gdGhlcmUgYXJlIGNoYW5nZXMgdGhlCisjICIubmV3LmFmZiIgYW5kICIubmV3LmRpYyIgZmlsZXMgYXJlIGxlZnQgYmVoaW5kIGZvciBtYW51YWwgaW5zcGVjdGlvbi4KKworY2hlY2s6CisgICAgICAgIDphc3NlcnRwa2cgdW56aXAgZGlmZgorICAgICAgICA6ZmV0Y2ggbmJfTk8uemlwCisgICAgICAgIDpta2RpciB0bXAKKyAgICAgICAgOmNkIHRtcAorICAgICAgICBAdHJ5OgorICAgICAgICAgICAgQGltcG9ydCBzdGF0CisgICAgICAgICAgICA6c3lzICRVTlpJUCAuLi9uYl9OTy56aXAKKyAgICAgICAgICAgIDpzeXMge2ZvcmNlfSBkaWZmIC4uL25iX05PLm9yaWcuYWZmIG5iX05PLmFmZiA+ZAorICAgICAgICAgICAgQGlmIG9zLnN0YXQoJ2QnKVtzdGF0LlNUX1NJWkVdID4gMDoKKyAgICAgICAgICAgICAgICA6Y29weSBuYl9OTy5hZmYgLi4vbmJfTk8ubmV3LmFmZgorICAgICAgICAgICAgOnN5cyB7Zm9yY2V9IGRpZmYgLi4vbmJfTk8ub3JpZy5kaWMgbmJfTk8uZGljID5kCisgICAgICAgICAgICBAaWYgb3Muc3RhdCgnZCcpW3N0YXQuU1RfU0laRV0gPiAwOgorICAgICAgICAgICAgICAgIDpjb3B5IG5iX05PLmRpYyAuLi9uYl9OTy5uZXcuZGljCisgICAgICAgIEBmaW5hbGx5OgorICAgICAgICAgICAgOmNkIC4uCisgICAgICAgICAgICA6ZGVsZXRlIHtyfXtmfXtxfSB0bXAKKyAgICAgICAgICAgIDpkZWxldGUgbmJfTk8uemlwCisKKworIyB2aW06IHNldCBzdHM9NCBzdz00IDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvbmIvbmJfTk8uZGlmZiBiL3J1bnRpbWUvc3BlbGwvbmIvbmJfTk8uZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTFlYjViCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zcGVsbC9uYi9uYl9OTy5kaWZmCkBAIC0wLDAgKzEsNjMgQEAKKyoqKiBuYl9OTy5vcmlnLmFmZglXZWQgQXVnIDMxIDE4OjI5OjQzIDIwMDUKKy0tLSBuYl9OTy5hZmYJV2VkIEF1ZyAzMSAxODozNTowOSAyMDA1CisqKioqKioqKioqKioqKioKKyoqKiA3LDggKioqKgorLS0tIDcsMjYgLS0tLQorICAKKysgRk9MICDf4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+/worKyBMT1cgIN/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7/CisrIFVQUCAg38DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3v8KKysgCisrIFNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVrg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3r8KKysgU09GT1RPICAgZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlYmN0ZWZnaGVqa2xubmVwa3JzdGV2dmtlc2VlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcHNlZWVlZWVlZWNlZWVlZWVlZWRuZWVlZWVlZWVlZWVwPworKyAKKysgTUFQIDkKKysgTUFQIGHg4eLj5OUKKysgTUFQIGXo6errCisrIE1BUCBp7O3u7worKyBNQVAgb/Lz9PX2CisrIE1BUCB1+fr7/AorKyBNQVAgbvEKKysgTUFQIGPnCisrIE1BUCB5//0KKysgTUFQIHPfCisrIAorICBQRlggYSBZIDEKKyoqKiBuYl9OTy5vcmlnLmRpYwlXZWQgQXVnIDMxIDE4OjI5OjQzIDIwMDUKKy0tLSBuYl9OTy5kaWMJV2VkIEF1ZyAzMSAxODozODowMiAyMDA1CisqKioqKioqKioqKioqKioKKyoqKiAyLDQgKioqKgorICBhLmEKKy0gYS5hCisgIGEuYS5DCistLS0gMiwzIC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDE1MDU0LDE1MDU2ICoqKioKKyAgY2FuZAorLSBjYW5kLworICBjYW5kLmFjdAorLS0tIDE1MDUzLDE1MDU0IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDI4NTMyLDI4NTM0ICoqKioKKyAgZi5vLnIKKy0gZvRyCisgIGZvcmEvRworLS0tIDI4NTMwLDI4NTMxIC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDI4OTgwLDI4OTgyICoqKioKKyAgZm9yZPh5ZWxzZXNzeXN0ZW0vQkNFRkdICistIGb0cmUKKyAgZvRyZS9CRUp0egorLS0tIDI4OTc3LDI4OTc4IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDQzNTMyLDQzNTM0ICoqKioKKyAgSWRhci9KCistIGlk6QorICBpZOkvQUVGR0hbegorLS0tIDQzNTI4LDQzNTI5IC0tLS0KKyoqKioqKioqKioqKioqKgorKioqIDU3NDkwLDU3NDkyICoqKioKKyAgTGFtYmVydHNldGVyL0oKKy0gbGFt6QorICBsYW3pL0EKKy0tLSA1NzQ4NSw1NzQ4NiAtLS0tCg==