ZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvcHQvbWFpbi5hYXAgYi9ydW50aW1lL3NwZWxsL3B0L21haW4uYWFwCmluZGV4IDkxYzY4OWIuLjkyNTZhOWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3BlbGwvcHQvbWFpbi5hYXAKKysrIGIvcnVudGltZS9zcGVsbC9wdC9tYWluLmFhcApAQCAtMSw0ICsxLDE5IEBACiAjIEFhcCByZWNpcGUgZm9yIFBvcnR1Z3Vlc2UgVmltIHNwZWxsIGZpbGVzLgorIworIyBCYXNlZCBvbiBhIHNoZWxsIHNjcmlwdCBieSBMZW9uYXJkbyBGb250ZW5lbGxlLgorIyBIaXMgcmVtYXJrczoKKyMKKyMgTWFrZXMgYSBWaW0gcHQgZGljdGlvbmFyeSBmcm9tIE9wZW5PZmZpY2Uub3JnJ3MgcHRfQlIgYW5kIHB0X1BULgorIworIyBBRkFJSywgd2lsbCBoYXZlIHRvIHVwZGF0ZSB0aGUgc2NyaXB0IGV2ZXJ5IHRpbWUgYSBuZXcgZGljdGlvbmFyeSBpcyAKKyMgcmVsZWFzZWQgZm9yIHB0X0JSLiBJIGFza2VkIHRoZSBtYWludGFpbmVyIHRvIHVwZGF0ZSBPT28ncyBGVFAgc2l0ZSwKKyMgYnV0IGl0IGRpZG4ndCBoYXBwZW4geWV0LiBBcyBmb3IgdGhlIHB0X1BUIGRpY3Rpb25hcnksIHRoZXkgd29uJ3QgYmUKKyMgaW4gT09vJ3MgRlRQIHNpdGUgZm9yIHNvbWUgdGltZSwgYmVjYXVzZSB0aGUgUG9ydHVndWVzZSBPT28gcHJvamVjdAorIyBkZWNpZGVkIHRvIGFkYXB0IHRoZSBwdF9CUiBkaWN0aW9uYXJ5LCB3aGljaCBpcyBtdWNoIG1vcmUgZXh0ZW5zaXZlLgorIyBJIHBpY2tlZCB0aGUgTmF0dXJhIHByb2plY3QgdW5vZmZpY2lhbCBkaWN0aW9uYXJ5LCBiZWNhdXNlIGl0IGhhcyBiZWVuCisjIGRldmVsb3BlZCBieSBhIHRlYW0gd2l0aCBsaW5ndWlzdHMsIGFuZCBmb3IgYSBsb25nZXIgdGltZS4gQXQgbGVhc3QgdGhlCisjIHB0X1BUIGRpY3Rpb25hcnkgaGFzIGEgImxhdGVzdCIgZmlsZSB0byBtYWtlIG91ciBsaXZlcyBlYXNpZXIuCisKIAogIyBVc2UgYSBmcmVzaGx5IGNvbXBpbGVkIFZpbSBpZiBpdCBleGlzdHMuCiBAaWYgb3MucGF0aC5leGlzdHMoJy4uLy4uLy4uL3NyYy92aW0nKToKQEAgLTEwLDE1ICsyNSwzMSBAQAogRklMRVMgICAgPSBwdF9QVC5hZmYgcHRfUFQuZGljCiAJICAgcHRfQlIuYWZmIHB0X0JSLmRpYwogCisjCisjIEZldGNoaW5nIHRoZSBwdF9QVCBmaWxlcyBmcm9tIHRoZSBOYXR1cmEgcHJvamVjdC4KKyMKK1BUX0RJUiA9IGh0dHA6Ly9uYXR1cmEuZGkudW1pbmhvLnB0L2Rvd25sb2FkL3NvdXJjZXMvRGljdGlvbmFyaWVzL215c3BlbGwKK1BUX0ZOQU1FID0gbXlzcGVsbC5wdC1sYXRlc3QuemlwCis6YXR0ciB7ZmV0Y2ggPSAkUFRfRElSLyVmaWxlJX0gJFBUX0ZOQU1FCisKKyMKKyMgRmV0Y2hpbmcgdGhlIHB0X0JSIGZpbGVzIGZyb20gQnJPZmZpY2Uub3JnIChCcmF6aWxpYW4gT09vKSAyLjEuIFNob3VsZCBiZQorIyB1cGRhdGVkIHJlYWxseSBzb29uLgorIworQlJfRElSID0gaHR0cDovL3d3dy5kZXNvLXNlLmNvbS5ici9kb3dubG9hZHMvZG93bmxvYWQucGhwP2FycXVpdm89cHRfQlItMjcwMGcKK0JSX0ZOQU1FID0gcHRfQlItMjcwMGcuemlwCisKKzphdHRyIHtmZXRjaCA9ICRCUl9ESVJ9ICRCUl9GTkFNRQorCiBhbGw6ICRTUEVMTERJUi9wdC5sYXRpbjEuc3BsICRTUEVMTERJUi9wdC51dGYtOC5zcGwgXAogICAgICAgICAuLi9SRUFETUVfcHQudHh0CiAKICRTUEVMTERJUi9wdC5sYXRpbjEuc3BsIDogJEZJTEVTCi0gICAgICAgIDpzeXMgZW52IExBTkc9cHRfUFQuSVNPODg1OS0xCisgICAgICAgIDpzeXMgZW52IExBTkc9cHRfUFQuSVNPODg1OS0xIExDX0FMTD1wdF9QVC5JU084ODU5LTEKIAkJJFZJTSAtdSBOT05FIC1lIC1jICJta3NwZWxsISAkU1BFTExESVIvcHQgcHRfUFQgcHRfQlIiIC1jIHEKIAogJFNQRUxMRElSL3B0LnV0Zi04LnNwbCA6ICRGSUxFUwotICAgICAgICA6c3lzIGVudiBMQU5HPXB0X1BULlVURi04CisgICAgICAgIDpzeXMgZW52IExBTkc9cHRfUFQuVVRGLTggTENfQUxMPXB0X1BULlVURi04CiAJCSRWSU0gLXUgTk9ORSAtZSAtYyAibWtzcGVsbCEgJFNQRUxMRElSL3B0IHB0X1BUIHB0X0JSIiAtYyBxCiAKIC4uL1JFQURNRV9wdC50eHQ6IFJFQURNRV9wdF9QVC50eHQgUkVBRE1FX3B0X0JSLnR4dApAQCAtMjYsMjMgKzU3LDIxIEBACiAgICAgICAgIDpjYXQgUkVBRE1FX3B0X1BULnR4dCB8IDpldmFsIHJlLnN1YignXHInLCAnJywgc3RkaW4pID4+JHRhcmdldAogICAgICAgICA6cHJpbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID4+JHRhcmdldAogICAgICAgICA6cHJpbnQgcHRfQlI6ID4+JHRhcmdldAotICAgICAgICA6Y2F0IFJFQURNRV9wdF9CUi50eHQgfCA6ZXZhbCByZS5zdWIoJ1xyJywgJycsIHN0ZGluKSA+PiR0YXJnZXQKLQotIwotIyBGZXRjaGluZyB0aGUgZmlsZXMgZnJvbSBPcGVuT2ZmaWNlLm9yZy4KLSMKLU9PRElSID0gaHR0cDovL2Z0cC5zZXJ2aWNlcy5vcGVub2ZmaWNlLm9yZy9wdWIvT3Blbk9mZmljZS5vcmcvY29udHJpYi9kaWN0aW9uYXJpZXMKLTphdHRyIHtmZXRjaCA9ICRPT0RJUi8lZmlsZSV9IHB0X1BULnppcCBwdF9CUi56aXAKKyAgICAgICAgOnByaW50IEluZm9ybWF0aW9uIGlzIGluIExlaWEtbWUucGRmLCBzZWUgJEJSX0RJUiA+PiR0YXJnZXQKKyAgICAgICAgOmNhdCBSRUFETUVfcHRfQlIudHh0ID4+JHRhcmdldAogCiAjIFRoZSBmaWxlcyBkb24ndCBkZXBlbmQgb24gdGhlIC56aXAgZmlsZSBzbyB0aGF0IHdlIGNhbiBkZWxldGUgaXQuCiAjIE9ubHkgZG93bmxvYWQgdGhlIHppcCBmaWxlIGlmIHRoZSB0YXJnZXRzIGRvbid0IGV4aXN0LgogcHRfUFQuYWZmIHB0X1BULmRpYzoge2J1aWxkY2hlY2s9fQogICAgICAgICA6YXNzZXJ0cGtnIHVuemlwIHBhdGNoCi0gICAgICAgIDpmZXRjaCBwdF9QVC56aXAKLSAgICAgICAgOnN5cyAkVU5aSVAgcHRfUFQuemlwCi0gICAgICAgIDpkZWxldGUgcHRfUFQuemlwCi0gICAgICAgIDpzeXMgJFZJTSBwdF9QVC5kaWMgLWUgLWMgInNldCBmZj11bml4IiAtYyB1cGRhdGUgLWMgcQotICAgICAgICA6c3lzICRWSU0gUkVBRE1FX3B0X1BULnR4dCAtZSAtYyAic2V0IGZmPXVuaXgiIC1jIHVwZGF0ZSAtYyBxCisgICAgICAgIDpmZXRjaCAkUFRfRk5BTUUKKyAgICAgICAgOnN5cyAkVU5aSVAgJFBUX0ZOQU1FCisgICAgICAgIDpkZWxldGUgJFBUX0ZOQU1FCisgICAgICAgIDptb3ZlIG15c3BlbGwucHQtKi9wdF9QVC5kaWMgLgorICAgICAgICA6bW92ZSBteXNwZWxsLnB0LSovcHRfUFQuYWZmIC4KKyAgICAgICAgOm1vdmUgbXlzcGVsbC5wdC0qL1JFQURNRV9wdF9QVC50eHQgLgorICAgICAgICA6bW92ZSBteXNwZWxsLnB0LSovQ09QWUlORyBDT1BZSU5HX3B0X1BULnR4dAorICAgICAgICA6ZGVsZGlyIG15c3BlbGwucHQtKgogICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdwdF9QVC5vcmlnLmFmZicpOgogICAgICAgICAgICAgOmNvcHkgcHRfUFQuYWZmIHB0X1BULm9yaWcuYWZmCiAgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ3B0X1BULm9yaWcuZGljJyk6CkBAIC01MiwxMiArODEsMjIgQEAKIAogcHRfQlIuYWZmIHB0X0JSLmRpYzoge2J1aWxkY2hlY2s9fQogICAgICAgICA6YXNzZXJ0cGtnIHVuemlwIHBhdGNoCi0gICAgICAgIDpmZXRjaCBwdF9CUi56aXAKLSAgICAgICAgOnN5cyAkVU5aSVAgcHRfQlIuemlwCi0gICAgICAgIDpkZWxldGUgcHRfQlIuemlwCi0gICAgICAgIDpzeXMgJFZJTSBwdF9CUi5hZmYgLWUgLWMgInNldCBmZj11bml4IiAtYyB1cGRhdGUgLWMgcQotICAgICAgICA6c3lzICRWSU0gcHRfQlIuZGljIC1lIC1jICJzZXQgZmY9dW5peCIgLWMgdXBkYXRlIC1jIHEKLSAgICAgICAgOnN5cyAkVklNIFJFQURNRV9wdF9CUi50eHQgLWUgLWMgInNldCBmZj11bml4IiAtYyB1cGRhdGUgLWMgcQorICAgICAgICA6ZmV0Y2ggJEJSX0ZOQU1FCisgICAgICAgIDpzeXMgJFVOWklQICRCUl9GTkFNRQorICAgICAgICA6ZGVsZXRlICRCUl9GTkFNRQorICAgICAgICA6bW92ZSBMZWlhLW1lLnBkZiBMZWlhLW1lX3B0X0JSLnBkZgorCisjIDEuIHB0X0JSLmRpYyBjb250YWlucyBhIGNwMTI1Mi1zcGVjaWZpYyBjaGFyYWN0ZXIuCisjICAgIENoYW5naW5nIGl0IHRvIGl0cyBsYXRpbjEgZXF1aXZhbGVudC4KKyMgMi4gVmltIHNlZW1zIHRvIGlnbm9yZSB0aGUgZG90cyBmcm9tIHRoZSB3b3JkIGxpc3QuCisjICAgIFJlbW92aW5nIHdvcmRzIHdpdGggZG90IHRvIGF2b2lkIG1pc2JlaGF2aW91ci4KKyAgICAgICAgOnN5cyAkVklNIHB0X0JSLmRpYyAtZSAtYyAic2V0IGZmPXVuaXgiIC1jICIlcy9cJXg5Mi8nL2ciIC1jICIvXC4vZCIgLWMgdXBkYXRlIC1jIHEKKworIyBSZW1vdmluZyAvKiAuLi4gKi8gaGVhZGVyIHRvIGF2b2lkIHdhcm5pbmdzLiAgV3JpdGUgaXQgdG8gdGhlIFJFQURNRSBmaWxlLCBpdAorIyBjb250YWlucyB0aGUgY29weXJpZ2h0IG5vdGljZS4KKyAgICAgICAgOnN5cyAkVklNIHB0X0JSLmFmZiAtZSAtYyAic2V0IGZmPXVuaXgiIC1jICIvXC9cKi8sL1wqXC8vdyBSRUFETUVfcHRfQlIudHh0IiAtYyAiL1wvXCovLC9cKlwvLysxZCIgLWMgdXBkYXRlIC1jIHEKKworICAgICAgICAjOnN5cyAkVklNIFJFQURNRV9wdF9CUi50eHQgLWUgLWMgInNldCBmZj11bml4IiAtYyB1cGRhdGUgLWMgcQogICAgICAgICBAaWYgbm90IG9zLnBhdGguZXhpc3RzKCdwdF9CUi5vcmlnLmFmZicpOgogICAgICAgICAgICAgOmNvcHkgcHRfQlIuYWZmIHB0X0JSLm9yaWcuYWZmCiAgICAgICAgIEBpZiBub3Qgb3MucGF0aC5leGlzdHMoJ3B0X0JSLm9yaWcuZGljJyk6CkBAIC03OSwxMCArMTE4LDExIEBACiAKICMgQ2hlY2sgZm9yIHVwZGF0ZWQgT3Blbk9mZmljZSBzcGVsbCBmaWxlcy4gIFdoZW4gdGhlcmUgYXJlIGNoYW5nZXMgdGhlCiAjICIubmV3LmFmZiIgYW5kICIubmV3LmRpYyIgZmlsZXMgYXJlIGxlZnQgYmVoaW5kIGZvciBtYW51YWwgaW5zcGVjdGlvbi4KKyMgVE8gQkUgSU1QTEVNRU5URUQKIAotY2hlY2s6IGNoZWNrLXVzIGNoZWNrLWF1CitjaGVjazogY2hlY2stcHQgY2hlY2stYnIKIAotY2hlY2stdXM6CitjaGVjay1wdDoKICAgICAgICAgOmFzc2VydHBrZyB1bnppcCBkaWZmCiAgICAgICAgIDpmZXRjaCBwdF9QVC56aXAKICAgICAgICAgOm1rZGlyIHRtcApAQCAtMTAxLDcgKzE0MSw3IEBACiAgICAgICAgICAgICA6ZGVsZXRlIHtyfXtmfXtxfSB0bXAKICAgICAgICAgICAgIDpkZWxldGUgcHRfUFQuemlwCiAKLWNoZWNrLWF1OgorY2hlY2stYnI6CiAgICAgICAgIDphc3NlcnRwa2cgdW56aXAgZGlmZgogICAgICAgICA6ZmV0Y2ggcHRfQlIuemlwCiAgICAgICAgIDpta2RpciB0bXAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3BlbGwvcHQvcHRfQlIuZGlmZiBiL3J1bnRpbWUvc3BlbGwvcHQvcHRfQlIuZGlmZgppbmRleCAxMGIxZDdhLi5kYzc4MjViIDEwMDY0NAotLS0gYS9ydW50aW1lL3NwZWxsL3B0L3B0X0JSLmRpZmYKKysrIGIvcnVudGltZS9zcGVsbC9wdC9wdF9CUi5kaWZmCkBAIC0xLDQ2ICsxLDEyIEBACi0qKiogcHRfQlIub3JpZy5hZmYJV2VkIEF1ZyAzMSAyMDowNToxOCAyMDA1Ci0tLS0gcHRfQlIuYWZmCVdlZCBBdWcgMzEgMjA6MDU6MTggMjAwNQorKioqIHB0X0JSLm9yaWcuYWZmCU1vbiBBcHIgMTYgMTU6Mzg6NTQgMjAwNworLS0tIHB0X0JSLmFmZglNb24gQXByIDE2IDE1OjQ5OjAxIDIwMDcKICoqKioqKioqKioqKioqKgogKioqIDMsNCAqKioqCi0tLS0gMywyMiAtLS0tCistLS0gMyw5IC0tLS0KICAgCiArIEZPTCAg3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX2+Pn6+/z9/v8KICsgTE9XICDf4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+/wogKyBVUFAgIN/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d7/CiArIAotKyBTT0ZPRlJPTSBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3//AwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d6/Ci0rIFNPRk9UTyAgIGViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlZWVlZWVlY2VlZWVlZWVlZG5lZWVlZWVlZWVlZXBzZWVlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcD8KLSsgCi0rIE1BUCA5Ci0rIE1BUCBh4OHi4+TlCi0rIE1BUCBl6Onq6wotKyBNQVAgaezt7u8KLSsgTUFQIG/y8/T19gotKyBNQVAgdfn6+/wKLSsgTUFQIG7xCi0rIE1BUCBj5wotKyBNQVAgef/9Ci0rIE1BUCBz3wotKyAKLSAgIyBQbHVyYWwgYXBlbmFzCi0qKioqKioqKioqKioqKioKLSoqKiA1MjYsNTM0ICoqKioKLSAgU0ZYIEkgICBhciAgICAgIOpzICAgICAgIGRhcgotISBTRlggSSAgIGlhciAgICAgZWlhICAgICAgIFteXWlhcgotISBTRlggSSAgIGlhciAgICAgZWlhbSAgICAgICBbXl1pYXIKLSEgU0ZYIEkgICBpYXIgICAgIGVpYXMgICAgICAgW15daWFyCi0hIFNGWCBJICAgaWFyICAgICBlaWUgICAgICAgW15daWFyCi0hIFNGWCBJICAgaWFyICAgICBlaWVtICAgICAgIFteXWlhcgotISBTRlggSSAgIGlhciAgICAgZWllcyAgICAgICBbXl1pYXIKLSEgU0ZYIEkgICBpYXIgICAgIGVpbyAgICAgICBbXl1pYXIKLSAgU0ZYIEkgICBvaWFyICAgIPNpYSAgICAgICBvaWFyCi0tLS0gNTQ0LDU1MiAtLS0tCi0gIFNGWCBJICAgYXIgICAgICDqcyAgICAgICBkYXIKLSEgU0ZYIEkgICBpYXIgICAgIGVpYSAgICAgICBbXm9daWFyCi0hIFNGWCBJICAgaWFyICAgICBlaWFtICAgICAgIFteb11pYXIKLSEgU0ZYIEkgICBpYXIgICAgIGVpYXMgICAgICAgW15vXWlhcgotISBTRlggSSAgIGlhciAgICAgZWllICAgICAgIFteb11pYXIKLSEgU0ZYIEkgICBpYXIgICAgIGVpZW0gICAgICAgW15vXWlhcgotISBTRlggSSAgIGlhciAgICAgZWllcyAgICAgICBbXm9daWFyCi0hIFNGWCBJICAgaWFyICAgICBlaW8gICAgICAgW15vXWlhcgotICBTRlggSSAgIG9pYXIgICAg82lhICAgICAgIG9pYXIKKysgTUlEV09SRAknCisgIAo=