ZGlmZiAtLWdpdCBhL2RvYy9odG1sL2Fib3V0Lmh0bWwgYi9kb2MvaHRtbC9hYm91dC5odG1sCmluZGV4IDUwYTU1Y2UuLjE5ZjRjNGQgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2Fib3V0Lmh0bWwKKysrIGIvZG9jL2h0bWwvYWJvdXQuaHRtbApAQCAtNDIsNyArNDIsOCBAQAogCiA8SDE+PEEgTkFNRT0iU0VDVElPTjAwMDYwMDAwMDAwMDAwMDAwMDAwMCI+CiBBYm91dCB0aGlzIGRvY3VtZW50IC4uLjwvQT4KLTwvSDE+PHN0cm9uZz5QeXRob24gT3BlblNTTCBNYW51YWw8L3N0cm9uZz4KKzwvSDE+CisgPHN0cm9uZz5QeXRob24gT3BlblNTTCBNYW51YWw8L3N0cm9uZz4KIDxwPiBUaGlzIGRvY3VtZW50IHdhcyBnZW5lcmF0ZWQgdXNpbmcgdGhlIDxhCiAgICAgaHJlZj0iaHR0cDovL3NhZnRzYWNrLmZzLnVuaS1iYXlyZXV0aC5kZS9+bGF0ZXgyaHQvIj4KICAgICA8c3Ryb25nPkxhVGVYPC9zdHJvbmc+Mjx0dD5IVE1MPC90dD48L2E+IHRyYW5zbGF0b3IuCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9jYWxsYmFja3MuaHRtbCBiL2RvYy9odG1sL2NhbGxiYWNrcy5odG1sCmluZGV4IGIzZjI3ODcuLjE2OTExYjUgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2NhbGxiYWNrcy5odG1sCisrKyBiL2RvYy9odG1sL2NhbGxiYWNrcy5odG1sCkBAIC00NywxOCArNDcsMTkgQEAKIDxCUj4KIDQuMiBDYWxsYmFja3MgCiA8L0gyPgorCiA8UD4KLTxFTT48RU0+PEVNPlRoZXJlIGFyZSBhIG51bWJlciBvZiBwcm9ibGVtcyB3aXRoIGNhbGxiYWNrcy4gRmlyc3Qgb2YgYWxsLCBPcGVuU1NMIGlzIHdyaXR0ZW4KK1RoZXJlIGFyZSBhIG51bWJlciBvZiBwcm9ibGVtcyB3aXRoIGNhbGxiYWNrcy4gRmlyc3Qgb2YgYWxsLCBPcGVuU1NMIGlzIHdyaXR0ZW4KIGFzIGEgQyBsaWJyYXJ5LCBpdCdzIG5vdCBtZWFudCB0byBoYXZlIFB5dGhvbiBjYWxsYmFja3MsIHNvIGEgd2F5IGFyb3VuZCB0aGF0CiBpcyBuZWVkZWQuIEFub3RoZXIgcHJvYmxlbSBpcyB0aHJlYWQgc3VwcG9ydC4gQSBsb3Qgb2YgdGhlIE9wZW5TU0wgSS9PCiBmdW5jdGlvbnMgY2FuIGJsb2NrIGlmIHRoZSBzb2NrZXQgaXMgaW4gYmxvY2tpbmcgbW9kZSwgYW5kIHRoZW4geW91IHdhbnQgb3RoZXIKIFB5dGhvbiB0aHJlYWRzIHRvIGJlIGFibGUgdG8gZG8gb3RoZXIgdGhpbmdzLiBUaGUgcmVhbCB0cm91YmxlIGlzIGlmIHlvdSd2ZQogcmVsZWFzZWQgdGhlIHRocmVhZCBsb2NrIHRvIGRvIGEgcG90ZW50aWFsbHkgYmxvY2tpbmcgb3BlcmF0aW9uLCBhbmQgdGhlCiBvcGVyYXRpb24gY2FsbHMgYSBjYWxsYmFjay4gVGhlbiB3ZSBtdXN0IHRha2UgdGhlIHRocmVhZCBsb2NrIGJhY2s8QSBOQU1FPSJ0ZXgyaHRtbDYiCi0gIEhSRUY9IiNmb290OTM1Ij48U1VQPjU8L1NVUD48L0E+LgotPC9FTT48L0VNPjwvRU0+CisgIEhSRUY9IiNmb290OTMyIj48U1VQPjU8L1NVUD48L0E+LgorCiA8UD4KLTxFTT48RU0+PEVNPlRoZXJlIGFyZSB0d28gc29sdXRpb25zIHRvIHRoZSBmaXJzdCBwcm9ibGVtLCBib3RoIG9mIHdoaWNoIGFyZSBuZWNlc3NhcnkuIFRoZQorVGhlcmUgYXJlIHR3byBzb2x1dGlvbnMgdG8gdGhlIGZpcnN0IHByb2JsZW0sIGJvdGggb2Ygd2hpY2ggYXJlIG5lY2Vzc2FyeS4gVGhlCiBmaXJzdCBzb2x1dGlvbiB0byB1c2UgaXMgaWYgdGhlIEMgY2FsbGJhY2sgYWxsb3dzICcndXNlcmRhdGEnJyB0byBiZSBwYXNzZWQgdG8KIGl0IChhbiBhcmJpdHJhcnkgcG9pbnRlciBub3JtYWxseSkuIFRoaXMgaXMgZ3JlYXQhIFdlIGNhbiBzZXQgb3VyIFB5dGhvbgogZnVuY3Rpb24gb2JqZWN0IGFzIHRoZSByZWFsIHVzZXJkYXRhIGFuZCBlbXVsYXRlIHVzZXJkYXRhIGZvciB0aGUgUHl0aG9uCkBAIC02OCw5ICs2OSw5IEBACiBjYWxsYmFja3MsIHlvdSBjYW4gcmV0cmlldmUgdGhlIHJlbGF0ZWQgU1NMIG9iamVjdC4gV2hhdCB3ZSBkbyBpcyB0byBzZXQgb3VyCiB3cmFwcGVyIDx0dCBjbGFzcz0iY2xhc3MiPkNvbm5lY3Rpb248L3R0PiBvYmplY3QgYXMgYXBwX2RhdGEgZm9yIHRoZSBTU0wgb2JqZWN0LCBhbmQgd2UgY2FuCiBlYXNpbHkgZmluZCB0aGUgUHl0aG9uIGNhbGxiYWNrLgotPC9FTT48L0VNPjwvRU0+CisKIDxQPgotPEVNPjxFTT48RU0+VGhlIG90aGVyIHByb2JsZW0gaXMgYWxzbyBwYXJ0aWFsbHkgc29sdmVkIGJ5IGFwcF9kYXRhLiBTaW5jZSB3ZSdyZSBhc3NvY2lhdGluZworVGhlIG90aGVyIHByb2JsZW0gaXMgYWxzbyBwYXJ0aWFsbHkgc29sdmVkIGJ5IGFwcF9kYXRhLiBTaW5jZSB3ZSdyZSBhc3NvY2lhdGluZwogb3VyIHdyYXBwZXIgb2JqZWN0cyB3aXRoIHRoZSAnJ3JlYWwnJyBvYmplY3RzLCB3ZSBjYW4gZWFzaWx5IGFjY2VzcyBkYXRhIGZyb20KIHRoZSA8dHQgY2xhc3M9ImNsYXNzIj5Db25uZWN0aW9uPC90dD4gb2JqZWN0LiBUaGUgc29sdXRpb24gdGhlbiBpcyB0byBzaW1wbHkgaW5jbHVkZSBhCiA8dHQgY2xhc3M9ImN0eXBlIj5QeVRocmVhZFN0YXRlPC90dD4gdmFyaWFibGUgaW4gdGhlIDx0dCBjbGFzcz0iY2xhc3MiPkNvbm5lY3Rpb248L3R0PiBkZWNsYXJhdGlvbiwgYW5kIHdyaXRlCkBAIC03OSwxMSArODAsMTEgQEAKIDx0dCBjbGFzcz0iY3R5cGUiPlB5VGhyZWFkU3RhdGU8L3R0PiB2YXJpYWJsZSB0byB1c2UuIE5vdyB3ZSBjYW4gc2ltcGx5ICcnYmVnaW4gYWxsb3cKIHRocmVhZHMnJyBiZWZvcmUgYSBwb3RlbnRpYWxseSBibG9ja2luZyBvcGVyYXRpb24sIGFuZCAnJ2VuZCBhbGxvdyB0aHJlYWRzJycKIGJlZm9yZSBjYWxsaW5nIGEgY2FsbGJhY2suCi08L0VNPjwvRU0+PC9FTT4KKwogPFA+CiA8QlI+PEhSPjxIND5Gb290bm90ZXM8L0g0PgogPERMPgotPERUPjxBIE5BTUU9ImZvb3Q5MzUiPi4uLiBiYWNrPC9BPjxBCis8RFQ+PEEgTkFNRT0iZm9vdDkzMiI+Li4uIGJhY2s8L0E+PEEKICBocmVmPSJjYWxsYmFja3MuaHRtbCN0ZXgyaHRtbDYiPjxTVVA+NTwvU1VQPjwvQT48L0RUPgogPEREPkknbQogbm90IHN1cmUgd2h5IHRoaXMgaXMgbmVjZXNzYXJ5LCBidXQgb3RoZXJ3aXNlIEkgZ2V0IGEgc2VnbWVudGF0aW9uIHZpb2xhdGlvbiBvbgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvZXhjZXB0aW9ucy5odG1sIGIvZG9jL2h0bWwvZXhjZXB0aW9ucy5odG1sCmluZGV4IDljODM0NWUuLmJiNDlkMTkgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2V4Y2VwdGlvbnMuaHRtbAorKysgYi9kb2MvaHRtbC9leGNlcHRpb25zLmh0bWwKQEAgLTQ3LDE3ICs0NywxOCBAQAogPEJSPgogNC4xIEV4Y2VwdGlvbnMgCiA8L0gyPgorCiA8UD4KLTxFTT48RU0+PEVNPldlIHJlYWxpemVkIGVhcmx5IHRoYXQgbW9zdCBvZiB0aGUgZXhjZXB0aW9ucyB3b3VsZCBiZSByYWlzZWQgYnkgdGhlIEkvTworV2UgcmVhbGl6ZWQgZWFybHkgdGhhdCBtb3N0IG9mIHRoZSBleGNlcHRpb25zIHdvdWxkIGJlIHJhaXNlZCBieSB0aGUgSS9PCiBmdW5jdGlvbnMgb2YgT3BlblNTTCwgc28gaXQgZmVsdCBuYXR1cmFsIHRvIG1pbWljIE9wZW5TU0wncyBlcnJvciBjb2RlIHN5c3RlbSwKIHRyYW5zbGF0aW5nIHRoZW0gaW50byBQeXRob24gZXhjZXB0aW9ucy4gVGhpcyBuYXR1cmFsbHkgZ2l2ZXMgdXMgdGhlIGV4Y2VwdGlvbnMKIDx0dCBjbGFzcz0iZXhjZXB0aW9uIj5TU0wuWmVyb1JldHVybkVycm9yPC90dD4sIDx0dCBjbGFzcz0iZXhjZXB0aW9uIj5TU0wuV2FudFJlYWRFcnJvcjwvdHQ+LAogPHR0IGNsYXNzPSJleGNlcHRpb24iPlNTTC5XYW50V3JpdGVFcnJvcjwvdHQ+LCA8dHQgY2xhc3M9ImV4Y2VwdGlvbiI+U1NMLldhbnRYNTA5TG9va3VwRXJyb3I8L3R0PiBhbmQKIDx0dCBjbGFzcz0iZXhjZXB0aW9uIj5TU0wuU3lzQ2FsbEVycm9yPC90dD4uCi08L0VNPjwvRU0+PC9FTT4KKwogPFA+Ci08RU0+PEVNPjxFTT5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzLCBzZWUgc2VjdGlvbiA8QSBocmVmPSJvcGVuc3NsLXNzbC5odG1sI29wZW5zc2wtc3NsIj4zLjM8L0E+LgotPC9FTT48L0VNPjwvRU0+CitGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzLCBzZWUgc2VjdGlvbiA8QSBocmVmPSJvcGVuc3NsLXNzbC5odG1sI29wZW5zc2wtc3NsIj4zLjM8L0E+LgorCiA8UD4KIAogPERJViBDTEFTUz0ibmF2aWdhdGlvbiI+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9pbnRlcm5hbHMuaHRtbCBiL2RvYy9odG1sL2ludGVybmFscy5odG1sCmluZGV4IDFlY2ZiNWQuLmMzMTI4ZDIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL2ludGVybmFscy5odG1sCisrKyBiL2RvYy9odG1sL2ludGVybmFscy5odG1sCkBAIC00NiwxMCArNDYsMTEgQEAKIDxCUj4KIDQgSW50ZXJuYWxzIAogPC9IMT4KKwogPFA+Ci08RU0+PEVNPjxFTT5XZSByYW4gaW50byB0aHJlZSBtYWluIHByb2JsZW1zIGRldmVsb3BpbmcgdGhpczogRXhjZXB0aW9ucywgY2FsbGJhY2tzIGFuZAorV2UgcmFuIGludG8gdGhyZWUgbWFpbiBwcm9ibGVtcyBkZXZlbG9waW5nIHRoaXM6IEV4Y2VwdGlvbnMsIGNhbGxiYWNrcyBhbmQKIGFjY2Vzc2luZyBzb2NrZXQgbWV0aG9kcy4gVGhpcyBpcyB3aGF0IHRoaXMgY2hhcHRlciBpcyBhYm91dC4KLTwvRU0+PC9FTT48L0VNPgorCiA8UD4KIAogPHA+PGhyPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvaW50cm8uaHRtbCBiL2RvYy9odG1sL2ludHJvLmh0bWwKaW5kZXggMmUwNjc2My4uOGFkNDg4NCAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvaW50cm8uaHRtbAorKysgYi9kb2MvaHRtbC9pbnRyby5odG1sCkBAIC02MCw5ICs2MCw5IEBACiB1bmZvcnR1bmF0ZWx5IGl0cyBlcnJvciBoYW5kbGluZyBzeXN0ZW0gZG9lcyBub3Qgc2VlbSB0byBiZSBmaW5pc2hlZCwKIGVzcGVjaWFsbHkgZm9yIG5vbi1ibG9ja2luZyBJL08uICBJIHRoaW5rIHRoYXQgbXVjaCBvZiB0aGUgcmVhc29uIGZvciB0aGlzCiBpcyB0aGF0IE0yQ3J5cHRvPEEgTkFNRT0idGV4Mmh0bWwxIgotICBIUkVGPSIjZm9vdDg5NSI+PFNVUD4xPC9TVVA+PC9BPiBpcworICBIUkVGPSIjZm9vdDg5MiI+PFNVUD4xPC9TVVA+PC9BPiBpcwogZGV2ZWxvcGVkIHVzaW5nIFNXSUc8QSBOQU1FPSJ0ZXgyaHRtbDIiCi0gIEhSRUY9IiNmb290ODk2Ij48U1VQPjI8L1NVUD48L0E+LiAgVGhpcworICBIUkVGPSIjZm9vdDg5MyI+PFNVUD4yPC9TVVA+PC9BPi4gIFRoaXMKIG1ha2VzIGl0IGF3a3dhcmQgdG8gY3JlYXRlIGZ1bmN0aW9ucyB0aGF0IGUuZy4gY2FuIHJldHVybiBib3RoIGFuIGludGVnZXIgYW5kCiBOVUxMIHNpbmNlIChhcyBmYXIgYXMgSSBrbm93KSB5b3UgYmFzaWNhbGx5IHdyaXRlIEMgZnVuY3Rpb25zIGFuZCBTV0lHIG1ha2VzCiB3cmFwcGVyIGZ1bmN0aW9ucyB0aGF0IHBhcnNlcyB0aGUgUHl0aG9uIGFyZ3VtZW50IGxpc3QgYW5kIGNhbGxzIHlvdXIgQwpAQCAtNzEsMTIgKzcxLDEyIEBACiA8UD4KIDxCUj48SFI+PEg0PkZvb3Rub3RlczwvSDQ+CiA8REw+Ci08RFQ+PEEgTkFNRT0iZm9vdDg5NSI+Li4uIE0yQ3J5cHRvPC9BPjxBCis8RFQ+PEEgTkFNRT0iZm9vdDg5MiI+Li4uIE0yQ3J5cHRvPC9BPjxBCiAgaHJlZj0iaW50cm8uaHRtbCN0ZXgyaHRtbDEiPjxTVVA+MTwvU1VQPjwvQT48L0RUPgogPEREPlNlZSA8YSBjbGFzcz0idXJsIiBocmVmPSJodHRwOi8vd3d3LnBvc3QxLmNvbS9ob21lL25ncHMvbTIvIj5odHRwOi8vd3d3LnBvc3QxLmNvbS9ob21lL25ncHMvbTIvPC9hPgogCiA8L0REPgotPERUPjxBIE5BTUU9ImZvb3Q4OTYiPi4uLiBTV0lHPC9BPjxBCis8RFQ+PEEgTkFNRT0iZm9vdDg5MyI+Li4uIFNXSUc8L0E+PEEKICBocmVmPSJpbnRyby5odG1sI3RleDJodG1sMiI+PFNVUD4yPC9TVVA+PC9BPjwvRFQ+CiA8REQ+U2VlIDxhIGNsYXNzPSJ1cmwiIGhyZWY9Imh0dHA6Ly9zd2lnLnNvdXJjZWZvcmdlLm5ldC8iPmh0dHA6Ly9zd2lnLnNvdXJjZWZvcmdlLm5ldC88L2E+CiAKZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtNTA5ZXh0Lmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLTUwOWV4dC5odG1sCmluZGV4IGM1YThhM2IuLmNmODAwYmQgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtNTA5ZXh0Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC01MDlleHQuaHRtbApAQCAtNDcsMTQgKzQ3LDE2IEBACiA8QlI+CiAzLjEuOCBYNTA5RXh0ZW5zaW9uIG9iamVjdHMgCiA8L0gzPgorCiA8UD4KLTxFTT48RU0+PEVNPlg1MDlFeHRlbnNpb24gb2JqZWN0cyBjdXJyZW50bHkgb25seSBoYXZlIG9uZSBtZXRob2Q6Ci08L0VNPjwvRU0+PC9FTT4KK1g1MDlFeHRlbnNpb24gb2JqZWN0cyBjdXJyZW50bHkgb25seSBoYXZlIG9uZSBtZXRob2Q6CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzUnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY3JpdGljYWw8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgY3JpdGljYWwgZmllbGQgb2YgdGhlIGV4dGVuc2lvbiBvYmplY3QuCiA8L2RsPgorCiA8UD4KIAogPERJViBDTEFTUz0ibmF2aWdhdGlvbiI+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLWNvbm5lY3Rpb24uaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtY29ubmVjdGlvbi5odG1sCmluZGV4IGU4NTkyYjguLmMwZmYxY2YgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtY29ubmVjdGlvbi5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtY29ubmVjdGlvbi5odG1sCkBAIC00Niw5ICs0NiwxMCBAQAogPEJSPgogMy4zLjIgQ29ubmVjdGlvbiBvYmplY3RzIAogPC9IMz4KKwogPFA+Ci08RU0+PEVNPjxFTT5Db25uZWN0aW9uIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6Ci08L0VNPjwvRU0+PC9FTT4KK0Nvbm5lY3Rpb24gb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzgnPjx0dCBjbGFzcz0nbWV0aG9kJz5hY2NlcHQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KQEAgLTU4LDE3ICs1OSwyMCBAQAogaXMgdGhlIG5ldyBDb25uZWN0aW9uIG9iamVjdCBjcmVhdGVkLCBhbmQgPHZhcj5hZGRyZXNzPC92YXI+IGlzIGFzIHJldHVybmVkIGJ5IHRoZQogc29ja2V0J3MgPHR0IGNsYXNzPSJtZXRob2QiPmFjY2VwdDwvdHQ+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzknPjx0dCBjbGFzcz0nbWV0aG9kJz5iaW5kPC90dD48L2E+PC9iPig8dmFyPmFkZHJlc3M8L3Zhcj4pCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+YmluZDwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0MCc+PHR0IGNsYXNzPSdtZXRob2QnPmNsb3NlPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+Y2xvc2U8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LiBOb3RlOiBJZiB5b3Ugd2FudAogY29ycmVjdCBTU0wgY2xvc3VyZSwgeW91IG5lZWQgdG8gY2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnNodXRkb3duPC90dD4gbWV0aG9kIGZpcnN0LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDEnPjx0dCBjbGFzcz0nbWV0aG9kJz5jb25uZWN0PC90dD48L2E+PC9iPig8dmFyPmFkZHJlc3M8L3Zhcj4pCiA8ZGQ+CkBAIC03Niw2ICs4MCw3IEBACiBzb2NrZXQsIHVzaW5nIHRoZSBDb250ZXh0IG9iamVjdCBzdXBwbGllZCB0byB0aGlzIENvbm5lY3Rpb24gb2JqZWN0IGF0CiBjcmVhdGlvbi4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQyJz48dHQgY2xhc3M9J21ldGhvZCc+Y29ubmVjdF9leDwvdHQ+PC9hPjwvYj4oPHZhcj5hZGRyZXNzPC92YXI+KQogPGRkPgpAQCAtODQsNiArODksNyBAQAogY3JlYXRpb24uIE5vdGUgdGhhdCBpZiB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmNvbm5lY3RfZXg8L3R0PiBtZXRob2Qgb2YgdGhlIHNvY2tldCBkb2Vzbid0CiByZXR1cm4gMCwgU1NMIHdvbid0IGJlIGluaXRpYWxpemVkLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDMnPjx0dCBjbGFzcz0nbWV0aG9kJz5kb19oYW5kc2hha2U8L3R0PjwvYT48L2I+KCkKIDxkZD4KQEAgLTkxLDIxICs5NywyNSBAQAogPHR0IGNsYXNzPSJtZXRob2QiPnNldF9hY2NlcHRfc3RhdGU8L3R0PiBvciA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X2FjY2VwdF9zdGF0ZTwvdHQ+KS4gVGhpcyBjYW4gcmFpc2UgdGhlCiBzYW1lIGV4Y2VwdGlvbnMgYXMgPHR0IGNsYXNzPSJtZXRob2QiPnNlbmQ8L3R0PiBhbmQgPHR0IGNsYXNzPSJtZXRob2QiPnJlY3Y8L3R0Pi4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ0Jz48dHQgY2xhc3M9J21ldGhvZCc+ZmlsZW5vPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgZmlsZSBkZXNjcmlwdG9yIG51bWJlciBmb3IgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDUnPjx0dCBjbGFzcz0nbWV0aG9kJz5saXN0ZW48L3R0PjwvYT48L2I+KDx2YXI+YmFja2xvZzwvdmFyPikKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5saXN0ZW48L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNDYnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfYXBwX2RhdGE8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIGFwcGxpY2F0aW9uIGRhdGEgYXMgc2V0IGJ5IDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfYXBwX2RhdGE8L3R0Pi4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ3Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2NpcGhlcl9saXN0PC90dD48L2E+PC9iPigpCiA8ZGQ+CkBAIC0xMTMsMzcgKzEyMyw0NCBAQAogaGFzIGNoYW5nZWQuIEl0IHVzZWQgdG8gdGFrZSBhbiBvcHRpb25hbCBwYXJhbWV0ZXIgYW5kIGp1c3QgcmV0dXJuIGEgc3RyaW5nLAogYnV0IG5vdCBpdCByZXR1cm5zIHRoZSBlbnRpcmUgbGlzdCBpbiBvbmUgZ28uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE0OCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jb250ZXh0PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXRyaWV2ZSB0aGUgQ29udGV4dCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQ29ubmVjdGlvbi4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTQ5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3BlZXJfY2VydGlmaWNhdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHJpZXZlIHRoZSBvdGhlciBzaWRlJ3MgY2VydGlmaWNhdGUgKGlmIGFueSkKIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUwJz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0cGVlcm5hbWU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5nZXRwZWVybmFtZTwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1MSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldHNvY2tuYW1lPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+Z2V0c29ja25hbWU8L3R0PiBtZXRob2Qgb2YgdGhlIHVuZGVybHlpbmcgc29ja2V0LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRzb2Nrb3B0PC90dD48L2E+PC9iPig8dmFyPmxldmVsLCBvcHRuYW1lPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGJ1ZmxlbjwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5nZXRzb2Nrb3B0PC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTUzJz48dHQgY2xhc3M9J21ldGhvZCc+cGVuZGluZzwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IGNhbiBiZSBzYWZlbHkgcmVhZCBmcm9tIHRoZSBTU0wgYnVmZmVyCiAoPGk+bm90PC9pPiB0aGUgdW5kZXJseWluZyB0cmFuc3BvcnQgYnVmZmVyKS4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTU0Jz48dHQgY2xhc3M9J21ldGhvZCc+cmVjdjwvdHQ+PC9hPjwvYj4oPHZhcj5idWZzaXplPC92YXI+KQogPGRkPgpAQCAtMTUxLDE3ICsxNjgsMjAgQEAKIGRhdGEgcmVjZWl2ZWQuIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBkYXRhIHRvIGJlIHJlY2VpdmVkIGF0IG9uY2UsIGlzIHNwZWNpZmllZAogYnkgPHZhcj5idWZzaXplPC92YXI+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTUnPjx0dCBjbGFzcz0nbWV0aG9kJz5yZW5lZ290aWF0ZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmVuZWdvdGlhdGUgdGhlIFNTTCBzZXNzaW9uLiBDYWxsIHRoaXMgaWYgeW91IHdpc2ggdG8gY2hhbmdlIGNpcGhlciBzdWl0ZXMgb3IKIGFueXRoaW5nIGxpa2UgdGhhdC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTU2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2VuZDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmc8L3Zhcj4pCiA8ZGQ+CiBTZW5kIHRoZSA8dmFyPnN0cmluZzwvdmFyPiBkYXRhIHRvIHRoZSBDb25uZWN0aW9uLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNTcnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZW5kYWxsPC90dD48L2E+PC9iPig8dmFyPnN0cmluZzwvdmFyPikKIDxkZD4KQEAgLTE2OSwzNCArMTg5LDQwIEBACiByZXBlYXRlZGx5IHVudGlsIGFsbCBkYXRhIGlzIHNlbnQuIElmIGFuIGVycm9yIG9jY3VycywgaXQncyBpbXBvc3NpYmxlIHRvIHRlbGwKIGhvdyBtdWNoIGRhdGEgaGFzIGJlZW4gc2VudC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTU4Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2FjY2VwdF9zdGF0ZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogU2V0IHRoZSBjb25uZWN0aW9uIHRvIHdvcmsgaW4gc2VydmVyIG1vZGUuIFRoZSBoYW5kc2hha2Ugd2lsbCBiZSBoYW5kbGVkCiBhdXRvbWF0aWNhbGx5IGJ5IHJlYWQvd3JpdGUuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE1OSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oPHZhcj5kYXRhPC92YXI+KQogPGRkPgogQXNzb2NpYXRlIDx2YXI+ZGF0YTwvdmFyPiB3aXRoIHRoaXMgQ29ubmVjdGlvbiBvYmplY3QuIDx2YXI+ZGF0YTwvdmFyPiBjYW4gYmUgcmV0cmlldmVkCiBsYXRlciB1c2luZyB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldF9hcHBfZGF0YTwvdHQ+IG1ldGhvZC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYwJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2Nvbm5lY3Rfc3RhdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFNldCB0aGUgY29ubmVjdGlvbiB0byB3b3JrIGluIGNsaWVudCBtb2RlLiBUaGUgaGFuZHNoYWtlIHdpbGwgYmUgaGFuZGxlZAogYXV0b21hdGljYWxseSBieSByZWFkL3dyaXRlLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjEnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRibG9ja2luZzwvdHQ+PC9hPjwvYj4oPHZhcj5mbGFnPC92YXI+KQogPGRkPgogQ2FsbCB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPnNldGJsb2NraW5nPC90dD4gbWV0aG9kIG9mIHRoZSB1bmRlcmx5aW5nIHNvY2tldC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTYyJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0c29ja29wdDwvdHQ+PC9hPjwvYj4oPHZhcj5sZXZlbCwgb3B0bmFtZSwgdmFsdWU8L3Zhcj4pCiA8ZGQ+CiBDYWxsIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0c29ja29wdDwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Myc+PHR0IGNsYXNzPSdtZXRob2QnPnNodXRkb3duPC90dD48L2E+PC9iPigpCiA8ZGQ+CkBAIC0yMDUsNDAgKzIzMSw0NyBAQAogPHR0IGNsYXNzPSJtZXRob2QiPnJlY3YoKTwvdHQ+IG9yIDx0dCBjbGFzcz0ibWV0aG9kIj5zZW5kKCk8L3R0PiB3aGVuIHRoZSBjb25uZWN0aW9uIGJlY29tZXMKIHJlYWRhYmxlL3dyaXRlYWJsZS4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTY0Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3NodXRkb3duPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBHZXQgdGhlIHNodXRkb3duIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLiAgUmV0dXJucyBhIGJpdHZlY3RvciBvZiBlaXRoZXIgb3IKIGJvdGggb2YgPHZhcj5TRU5UX1NIVVRET1dOPC92YXI+IGFuZCA8dmFyPlJFQ0VJVkVEX1NIVVRET1dOPC92YXI+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjUnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2h1dGRvd248L3R0PjwvYT48L2I+KDx2YXI+c3RhdGU8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIHNodXRkb3duIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLiAgPHZhcj5zdGF0ZTwvdmFyPiBpcyBhIGJpdHZlY3RvciBvZgogZWl0aGVyIG9yIGJvdGggb2YgPHZhcj5TRU5UX1NIVVRET1dOPC92YXI+IGFuZCA8dmFyPlJFQ0VJVkVEX1NIVVRET1dOPC92YXI+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zb2NrX3NodXRkb3duPC90dD48L2E+PC9iPig8dmFyPmhvdzwvdmFyPikKIDxkZD4KIENhbGwgdGhlIDx0dCBjbGFzcz0ibWV0aG9kIj5zaHV0ZG93bjwvdHQ+IG1ldGhvZCBvZiB0aGUgdW5kZXJseWluZyBzb2NrZXQuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnN0YXRlX3N0cmluZzwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgYSB2ZXJib3NlIHN0cmluZyBkZXRhaWxpbmcgdGhlIHN0YXRlIG9mIHRoZSBDb25uZWN0aW9uLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xNjgnPjx0dCBjbGFzcz0nbWV0aG9kJz53YW50X3JlYWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyBpZiBtb3JlIGRhdGEgaGFzIHRvIGJlIHJlYWQgZnJvbSB0aGUgdHJhbnNwb3J0IGxheWVyIHRvIGNvbXBsZXRlIGFuCiBvcGVyYXRpb24uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTE2OSc+PHR0IGNsYXNzPSdtZXRob2QnPndhbnRfd3JpdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyBpZiB0aGVyZSBpcyBkYXRhIHRvIHdyaXRlIHRvIHRoZSB0cmFuc3BvcnQgbGF5ZXIgdG8gY29tcGxldGUgYW4KIG9wZXJhdGlvbi4KIDwvZGw+CisKIDxQPgogCiA8RElWIENMQVNTPSJuYXZpZ2F0aW9uIj4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtY29udGV4dC5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKaW5kZXggZDVhMmFiMC4uNGFmOGE2NiAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1jb250ZXh0Lmh0bWwKQEAgLTQ3LDkgKzQ3LDEwIEBACiA8QlI+CiAzLjMuMSBDb250ZXh0IG9iamVjdHMgCiA8L0gzPgorCiA8UD4KLTxFTT48RU0+PEVNPkNvbnRleHQgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKLTwvRU0+PC9FTT48L0VNPgorQ29udGV4dCBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNCc+PHR0IGNsYXNzPSdtZXRob2QnPmNoZWNrX3ByaXZhdGVrZXk8L3R0PjwvYT48L2I+KCkKIDxkZD4KQEAgLTU3LDExICs1OCwxMyBAQAogbWF0Y2hlcyB0aGUgY2VydGlmaWNhdGUgKGxvYWRlZCB3aXRoIDx0dCBjbGFzcz0ibWV0aG9kIj51c2VfY2VydGlmaWNhdGU8YmlnPls8L2JpZz5fZmlsZTxiaWc+XTwvYmlnPjwvdHQ+KS4KIFJldHVybnMgdHJ1ZSBpZiB0aGV5IG1hdGNoLCBmYWxzZSBvdGhlcndpc2UuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExNSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgYXBwbGljYXRpb24gZGF0YSBhcyBzZXQgYnkgPHR0IGNsYXNzPSJtZXRob2QiPnNldF9hcHBfZGF0YTwvdHQ+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTYnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY2VydF9zdG9yZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgpAQCAtNjksNTIgKzcyLDYxIEBACiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFkZCAidHJ1c3RlZCIgY2VydGlmaWNhdGVzIHdpdGhvdXQgdXNpbmcgdGhlLgogPHR0IGNsYXNzPSJtZXRob2QiPmxvYWRfdmVyaWZ5X2xvY2F0aW9ucygpPC90dD4gbWV0aG9kLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMTcnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdGltZW91dDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgc2Vzc2lvbiB0aW1lb3V0LCBhcyBzZXQgYnkgPHR0IGNsYXNzPSJtZXRob2QiPnNldF90aW1lb3V0PC90dD4uIFRoZSBkZWZhdWx0IGlzIDMwMAogc2Vjb25kcy4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTE4Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcmlmeV9kZXB0aDwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIENvbnRleHQgb2JqZWN0J3MgdmVyaWZ5IGRlcHRoLCBhcyBzZXQgYnkKIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfdmVyaWZ5X2RlcHRoPC90dD4uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTExOSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF92ZXJpZnlfbW9kZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0cmlldmUgdGhlIENvbnRleHQgb2JqZWN0J3MgdmVyaWZ5IG1vZGUsIGFzIHNldCBieSA8dHQgY2xhc3M9Im1ldGhvZCI+c2V0X3ZlcmlmeV9tb2RlPC90dD4uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyMCc+PHR0IGNsYXNzPSdtZXRob2QnPmxvYWRfY2xpZW50X2NhPC90dD48L2E+PC9iPig8dmFyPnBlbWZpbGU8L3Zhcj4pCiA8ZGQ+CiBSZWFkIGEgZmlsZSB3aXRoIFBFTS1mb3JtYXR0ZWQgY2VydGlmaWNhdGVzIHRoYXQgd2lsbCBiZSBzZW50IHRvIHRoZSBjbGllbnQKIHdoZW4gcmVxdWVzdGluZyBhIGNsaWVudCBjZXJ0aWZpY2F0ZS4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTIxJz48dHQgY2xhc3M9J21ldGhvZCc+bG9hZF92ZXJpZnlfbG9jYXRpb25zPC90dD48L2E+PC9iPig8dmFyPnBlbWZpbGU8L3Zhcj4pCiA8ZGQ+CiBTcGVjaWZ5IHdoZXJlIENBIGNlcnRpZmljYXRlcyBmb3IgdmVyaWZpY2F0aW9uIHB1cnBvc2VzIGFyZSBsb2NhdGVkLiBUaGVzZSBhcmUKIHRydXN0ZWQgY2VydGlmaWNhdGVzLiBOb3RlIHRoYXQgdGhlIGNlcnRpZmljYXRlcyBoYXZlIHRvIGJlIGluIFBFTSBmb3JtYXQuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyMic+PHR0IGNsYXNzPSdtZXRob2QnPmxvYWRfdG1wX2RoPC90dD48L2E+PC9iPig8dmFyPmRoZmlsZTwvdmFyPikKIDxkZD4KIExvYWQgcGFyYW1ldGVycyBmb3IgRXBoZW1lcmFsIERpZmZpZS1IZWxsbWFuIGZyb20gPHZhcj5kaGZpbGU8L3Zhcj4uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyMyc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9hcHBfZGF0YTwvdHQ+PC9hPjwvYj4oPHZhcj5kYXRhPC92YXI+KQogPGRkPgogQXNzb2NpYXRlIDx2YXI+ZGF0YTwvdmFyPiB3aXRoIHRoaXMgQ29udGV4dCBvYmplY3QuIDx2YXI+ZGF0YTwvdmFyPiBjYW4gYmUgcmV0cmlldmVkCiBsYXRlciB1c2luZyB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmdldF9hcHBfZGF0YTwvdHQ+IG1ldGhvZC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2NpcGhlcl9saXN0PC90dD48L2E+PC9iPig8dmFyPmNpcGhlcnM8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIGxpc3Qgb2YgY2lwaGVycyB0byBiZSB1c2VkIGluIHRoaXMgY29udGV4dC4gU2VlIHRoZSBPcGVuU1NMIG1hbnVhbCBmb3IKIG1vcmUgaW5mb3JtYXRpb24gKGUuZy4gY2lwaGVycygxKSkKIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI1Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2luZm9fY2FsbGJhY2s8L3R0PjwvYT48L2I+KDx2YXI+Y2FsbGJhY2s8L3Zhcj4pCiA8ZGQ+CkBAIC0xMjUsMTIgKzEzNywxNCBAQAogd2FzIGNhbGxlZCwgYW5kIHRoZSBvdGhlciB0aGUgcmV0dXJuIGNvZGUgZnJvbSBhIChwb3NzaWJseSBmYWlsZWQpIGludGVybmFsCiBmdW5jdGlvbiBjYWxsLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMjYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfb3B0aW9uczwvdHQ+PC9hPjwvYj4oPHZhcj5vcHRpb25zPC92YXI+KQogPGRkPgogQWRkIFNTTCBvcHRpb25zLiBPcHRpb25zIHlvdSBoYXZlIHNldCBiZWZvcmUgYXJlIG5vdCBjbGVhcmVkIQogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgd2l0aCB0aGUgPHR0IGNsYXNzPSJjb25zdGFudCI+T1BfKjwvdHQ+IGNvbnN0YW50cy4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI3Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3Bhc3N3ZF9jYjwvdHQ+PC9hPjwvYj4oPHZhcj5jYWxsYmFjazwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCB1c2VyZGF0YTwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KQEAgLTE0NCw2ICsxNTgsNyBAQAogZXJyb3Igb2NjdXJzLCA8dmFyPmNhbGxiYWNrPC92YXI+IHNob3VsZCByZXR1cm4gYSBmYWxzZSB2YWx1ZSAoZS5nLiBhbiBlbXB0eQogc3RyaW5nKS4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTI4Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3Nlc3Npb25faWQ8L3R0PjwvYT48L2I+KDx2YXI+bmFtZTwvdmFyPikKIDxkZD4KQEAgLTE1Miw2ICsxNjcsNyBAQAogbm8gd2F5IGZvciBhIHN0b3JlZCBzZXNzaW9uIHRvIGtub3cgd2hpY2ggQ29udGV4dCBvYmplY3QgaXQgaXMgYXNzb2NpYXRlZCB3aXRoLgogPHZhcj5uYW1lPC92YXI+IG1heSBiZSBhbnkgYmluYXJ5IGRhdGEuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEyOSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF90aW1lb3V0PC90dD48L2E+PC9iPig8dmFyPnRpbWVvdXQ8L3Zhcj4pCiA8ZGQ+CkBAIC0xNjAsNiArMTc2LDcgQEAKIHZhbHVlIGlzIDMwMCBzZWNvbmRzLiBTZWUgdGhlIE9wZW5TU0wgbWFudWFsIGZvciBtb3JlIGluZm9ybWF0aW9uIChlLmcuCiBTU0xfQ1RYX3NldF90aW1lb3V0KDMpKS4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMwJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcmlmeTwvdHQ+PC9hPjwvYj4oPHZhcj5tb2RlLCBjYWxsYmFjazwvdmFyPikKIDxkZD4KQEAgLTE3NCwzMyArMTkxLDM5IEBACiBkZXB0aCBhbmQgcmV0dXJuIGNvZGUuIDx2YXI+Y2FsbGJhY2s8L3Zhcj4gc2hvdWxkIHJldHVybiB0cnVlIGlmIHZlcmlmaWNhdGlvbiBwYXNzZXMKIGFuZCBmYWxzZSBvdGhlcndpc2UuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzMSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF92ZXJpZnlfZGVwdGg8L3R0PjwvYT48L2I+KDx2YXI+ZGVwdGg8L3Zhcj4pCiA8ZGQ+CiBTZXQgdGhlIG1heGltdW0gZGVwdGggZm9yIHRoZSBjZXJ0aWZpY2F0ZSBjaGFpbiB2ZXJpZmljYXRpb24gdGhhdCBzaGFsbCBiZQogYWxsb3dlZCBmb3IgdGhpcyBDb250ZXh0IG9iamVjdC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMyJz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX2NlcnRpZmljYXRlPC90dD48L2E+PC9iPig8dmFyPmNlcnQ8L3Zhcj4pCiA8ZGQ+CiBVc2UgdGhlIGNlcnRpZmljYXRlIDx2YXI+Y2VydDwvdmFyPiB3aGljaCBoYXMgdG8gYmUgYSBYNTA5IG9iamVjdC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTMzJz48dHQgY2xhc3M9J21ldGhvZCc+YWRkX2V4dHJhX2NoYWluX2NlcnQ8L3R0PjwvYT48L2I+KDx2YXI+Y2VydDwvdmFyPikKIDxkZD4KIEFkZHMgdGhlIGNlcnRpZmljYXRlIDx2YXI+Y2VydDwvdmFyPiwgd2hpY2ggaGFzIHRvIGJlIGEgWDUwOSBvYmplY3QsIHRvIHRoZQogY2VydGlmaWNhdGUgY2hhaW4gcHJlc2VudGVkIHRvZ2V0aGVyIHdpdGggdGhlIGNlcnRpZmljYXRlLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0xMzQnPjx0dCBjbGFzcz0nbWV0aG9kJz51c2VfY2VydGlmaWNhdGVfY2hhaW5fZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5maWxlPC92YXI+KQogPGRkPgogTG9hZCBhIGNlcnRpZmljYXRlIGNoYWluIGZyb20gPHZhcj5maWxlPC92YXI+IHdoaWNoIG11c3QgYmUgUEVNIGVuY29kZWQuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTEzNSc+PHR0IGNsYXNzPSdtZXRob2QnPnVzZV9wcml2YXRla2V5PC90dD48L2E+PC9iPig8dmFyPnBrZXk8L3Zhcj4pCiA8ZGQ+CiBVc2UgdGhlIHByaXZhdGUga2V5IDx2YXI+cGtleTwvdmFyPiB3aGljaCBoYXMgdG8gYmUgYSBQS2V5IG9iamVjdC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM2Jz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX2NlcnRpZmljYXRlX2ZpbGU8L3R0PjwvYT48L2I+KDx2YXI+ZmlsZTwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBmb3JtYXQ8L3Zhcj48YmlnPl08L2JpZz4pCiA8ZGQ+CkBAIC0yMDgsNiArMjMxLDcgQEAKIGZvcm1hdCBzcGVjaWZpZWQgYnkgPHZhcj5mb3JtYXQ8L3Zhcj4sIHdoaWNoIGlzIGVpdGhlciA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9QRU08L3R0PiBvcgogPHR0IGNsYXNzPSJjb25zdGFudCI+RklMRVRZUEVfQVNOMTwvdHQ+LiBUaGUgZGVmYXVsdCBpcyA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9QRU08L3R0Pi4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMTM3Jz48dHQgY2xhc3M9J21ldGhvZCc+dXNlX3ByaXZhdGVrZXlfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5maWxlPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGZvcm1hdDwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KQEAgLTIxNSw2ICsyMzksNyBAQAogZm9ybWF0IHNwZWNpZmllZCBieSA8dmFyPmZvcm1hdDwvdmFyPiwgd2hpY2ggaXMgZWl0aGVyIDx0dCBjbGFzcz0iY29uc3RhbnQiPkZJTEVUWVBFX1BFTTwvdHQ+IG9yCiA8dHQgY2xhc3M9ImNvbnN0YW50Ij5GSUxFVFlQRV9BU04xPC90dD4uIFRoZSBkZWZhdWx0IGlzIDx0dCBjbGFzcz0iY29uc3RhbnQiPkZJTEVUWVBFX1BFTTwvdHQ+LgogPC9kbD4KKwogPFA+CiAKIDxESVYgQ0xBU1M9Im5hdmlnYXRpb24iPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1uZXRzY2FwZS1zcGtpLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbAppbmRleCBkYjA4ZTJmLi5iODNjODY5IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLW5ldHNjYXBlLXNwa2kuaHRtbApAQCAtNDYsMzQgKzQ2LDQwIEBACiA8QlI+CiAzLjEuOSBOZXRzY2FwZVNQS0kgb2JqZWN0cyAKIDwvSDM+CisKIDxQPgotPEVNPjxFTT48RU0+TmV0c2NhcGVTUEtJIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6Ci08L0VNPjwvRU0+PC9FTT4KK05ldHNjYXBlU1BLSSBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc2Jz48dHQgY2xhc3M9J21ldGhvZCc+YjY0X2VuY29kZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIGEgYmFzZTY0LWVuY29kZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTc3Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3B1YmtleTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIHRoZSBwdWJsaWMga2V5IG9mIG9iamVjdC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzgnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfcHVia2V5PC90dD48L2E+PC9iPig8dmFyPmtleTwvdmFyPikKIDxkZD4KIFNldCB0aGUgcHVibGljIGtleSBvZiB0aGUgb2JqZWN0IHRvIDx2YXI+a2V5PC92YXI+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03OSc+PHR0IGNsYXNzPSdtZXRob2QnPnNpZ248L3R0PjwvYT48L2I+KDx2YXI+a2V5LCBkaWdlc3RfbmFtZTwvdmFyPikKIDxkZD4KIFNpZ24gdGhlIE5ldHNjYXBlU1BLSSBvYmplY3QgdXNpbmcgdGhlIGdpdmVuIDx2YXI+a2V5PC92YXI+IGFuZCA8dmFyPmRpZ2VzdF9uYW1lPC92YXI+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04MCc+PHR0IGNsYXNzPSdtZXRob2QnPnZlcmlmeTwvdHQ+PC9hPjwvYj4oPHZhcj5rZXk8L3Zhcj4pCiA8ZGQ+CiBWZXJpZnkgdGhlIE5ldHNjYXBlU1BLSSBvYmplY3QgdXNpbmcgdGhlIGdpdmVuIDx2YXI+a2V5PC92YXI+LgogPC9kbD4KKwogPFA+CiAKIDxESVYgQ0xBU1M9Im5hdmlnYXRpb24iPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzMTIuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtcGtjczEyLmh0bWwKaW5kZXggZDg4MTY1OS4uNDAyZmJkOSAxMDA2NDQKLS0tIGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzMTIuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXBrY3MxMi5odG1sCkBAIC00NywyNSArNDcsMjkgQEAKIDxCUj4KIDMuMS43IFBLQ1MxMiBvYmplY3RzIAogPC9IMz4KKwogPFA+Ci08RU0+PEVNPjxFTT5QS0NTMTIgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKLTwvRU0+PC9FTT48L0VNPgorUEtDUzEyIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzInPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfY2VydGlmaWNhdGU8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBjZXJ0aWZpY2F0ZSBwb3J0aW9uIG9mIHRoZSBQS0NTMTIgc3RydWN0dXJlLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03Myc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wcml2YXRla2V5PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gcHJpdmF0ZSBrZXkgcG9ydGlvbiBvZiB0aGUgUEtDUzEyIHN0cnVjdHVyZQogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03NCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9jYV9jZXJ0aWZpY2F0ZXM8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBDQSBjZXJ0aWZpY2F0ZXMgd2l0aGluIHRoZSBQS0NTMTIgb2JqZWN0IGFzIGEgdHVwbGUuIFJldHVybnMKIE5vbmUgaWYgbm8gQ0EgY2VydGlmaWNhdGVzIGFyZSBwcmVzZW50LgogPC9kbD4KKwogPFA+CiAKIDxESVYgQ0xBU1M9Im5hdmlnYXRpb24iPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC1wa2NzNy5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC1wa2NzNy5odG1sCmluZGV4IGRlNWJmOGUuLmZjNjczYjAgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtcGtjczcuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXBrY3M3Lmh0bWwKQEAgLTQ3LDM0ICs0Nyw0MCBAQAogPEJSPgogMy4xLjYgUEtDUzcgb2JqZWN0cyAKIDwvSDM+CisKIDxQPgotPEVNPjxFTT48RU0+UEtDUzcgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKLTwvRU0+PC9FTT48L0VNPgorUEtDUzcgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kczoKKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnR5cGVfaXNfc2lnbmVkPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBGSVhNRQogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02OCc+PHR0IGNsYXNzPSdtZXRob2QnPnR5cGVfaXNfZW52ZWxvcGVkPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBGSVhNRQogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02OSc+PHR0IGNsYXNzPSdtZXRob2QnPnR5cGVfaXNfc2lnbmVkQW5kRW52ZWxvcGVkPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBGSVhNRQogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC03MCc+PHR0IGNsYXNzPSdtZXRob2QnPnR5cGVfaXNfZGF0YTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogRklYTUUKIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNzEnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfdHlwZV9uYW1lPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBHZXQgdGhlIHR5cGUgbmFtZSBvZiB0aGUgUEtDUzcuCiA8L2RsPgorCiA8UD4KIAogPERJViBDTEFTUz0ibmF2aWdhdGlvbiI+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXBrZXkuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtcGtleS5odG1sCmluZGV4IDVmY2E5ZTIuLmI2Y2QzYzIgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtcGtleS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtcGtleS5odG1sCkBAIC00NywyNSArNDcsMjkgQEAKIDxCUj4KIDMuMS41IFBLZXkgb2JqZWN0cyAKIDwvSDM+CisKIDxQPgotPEVNPjxFTT48RU0+VGhlIFBLZXkgb2JqZWN0IGhhcyB0aGUgZm9sbG93aW5nIG1ldGhvZHM6Ci08L0VNPjwvRU0+PC9FTT4KK1RoZSBQS2V5IG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBtZXRob2RzOgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTY0Jz48dHQgY2xhc3M9J21ldGhvZCc+Yml0czwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIHRoZSBudW1iZXIgb2YgYml0cyBvZiB0aGUga2V5LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02NSc+PHR0IGNsYXNzPSdtZXRob2QnPmdlbmVyYXRlX2tleTwvdHQ+PC9hPjwvYj4oPHZhcj50eXBlLCBiaXRzPC92YXI+KQogPGRkPgogR2VuZXJhdGUgYSBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpciBvZiB0aGUgdHlwZSA8dmFyPnR5cGU8L3Zhcj4gKG9uZSBvZgogPHR0IGNsYXNzPSJjb25zdGFudCI+VFlQRV9SU0E8L3R0PiBhbmQgPHR0IGNsYXNzPSJjb25zdGFudCI+VFlQRV9EU0E8L3R0Pikgd2l0aCB0aGUgc2l6ZSA8dmFyPmJpdHM8L3Zhcj4uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTY2Jz48dHQgY2xhc3M9J21ldGhvZCc+dHlwZTwvdHQ+PC9hPjwvYj4oKQogPGRkPgogUmV0dXJuIHRoZSB0eXBlIG9mIHRoZSBrZXkuCiA8L2RsPgorCiA8UD4KIAogPERJViBDTEFTUz0ibmF2aWdhdGlvbiI+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXJhbmQuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wtcmFuZC5odG1sCmluZGV4IGExMmZjZmYuLjE5Y2IyNWUgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtcmFuZC5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wtcmFuZC5odG1sCkBAIC00Nyw2MiArNDcsNzAgQEAKIDxCUj4KIDMuMiA8dHQgY2xhc3M9Im1vZHVsZSI+cmFuZDwvdHQ+IC0tIEFuIGludGVyZmFjZSB0byB0aGUgT3BlblNTTCBwc2V1ZG8gcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgCiA8L0gyPgorCiA8UD4KLTxFTT48RU0+PEVNPgotPC9FTT48L0VNPjwvRU0+CisKKwogPFA+Ci08RU0+PEVNPjxFTT5UaGlzIG1vZHVsZSBoYW5kbGVzIHRoZSBPcGVuU1NMIHBzZXVkbyByYW5kb20gbnVtYmVyIGdlbmVyYXRvciAoUFJORykgYW5kCitUaGlzIG1vZHVsZSBoYW5kbGVzIHRoZSBPcGVuU1NMIHBzZXVkbyByYW5kb20gbnVtYmVyIGdlbmVyYXRvciAoUFJORykgYW5kCiBkZWNsYXJlcyB0aGUgZm9sbG93aW5nOgotPC9FTT48L0VNPjwvRU0+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODInPjx0dCBjbGFzcz0nZnVuY3Rpb24nPmFkZDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmcsIGVudHJvcHk8L3Zhcj4pCiA8ZGQ+CiBNaXggYnl0ZXMgZnJvbSA8dmFyPnN0cmluZzwvdmFyPiBpbnRvIHRoZSBQUk5HIHN0YXRlLiBUaGUgPHZhcj5lbnRyb3B5PC92YXI+IGFyZ3VtZW50IGlzCiAodGhlIGxvd2VyIGJvdW5kIG9mKSBhbiBlc3RpbWF0ZSBvZiBob3cgbXVjaCByYW5kb21uZXNzIGlzIGNvbnRhaW5lZCBpbgotPHZhcj5zdHJpbmc8L3Zhcj4sIG1lYXN1cmVkIGluIGJ5dGVzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGUuZy4gPGEgY2xhc3M9InJmYyIgbmFtZT0icmZjcmVmLTE4MDIiCis8dmFyPnN0cmluZzwvdmFyPiwgbWVhc3VyZWQgaW4gYnl0ZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgZS5nLiA8YSBjbGFzcz0icmZjIiBuYW1lPSJyZmNyZWYtMTc5MyIKIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzE3NTAudHh0Ij5SRkMgMTc1MDwvYT4uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTgzJz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5lZ2Q8L3R0PjwvYT48L2I+KDx2YXI+cGF0aDwvdmFyPjxiaWc+WzwvYmlnPjx2YXI+LCBieXRlczwvdmFyPjxiaWc+XTwvYmlnPikKIDxkZD4KIFF1ZXJ5IHRoZSBFbnRyb3B5IEdhdGhlcmluZyBEYWVtb248QSBOQU1FPSJ0ZXgyaHRtbDMiCi0gIEhSRUY9IiNmb290OTE3Ij48U1VQPjM8L1NVUD48L0E+IG9uIHNvY2tldCA8dmFyPnBhdGg8L3Zhcj4gZm9yIDx2YXI+Ynl0ZXM8L3Zhcj4KKyAgSFJFRj0iI2Zvb3Q5MTQiPjxTVVA+MzwvU1VQPjwvQT4gb24gc29ja2V0IDx2YXI+cGF0aDwvdmFyPiBmb3IgPHZhcj5ieXRlczwvdmFyPgogYnl0ZXMgb2YgcmFuZG9tIGRhdGEgYW5kIGFuZCB1c2VzIDx0dCBjbGFzcz0iZnVuY3Rpb24iPmFkZDwvdHQ+IHRvIHNlZWQgdGhlIFBSTkcuIFRoZSBkZWZhdWx0CiB2YWx1ZSBvZiA8dmFyPmJ5dGVzPC92YXI+IGlzIDI1NS4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtODQnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPmxvYWRfZmlsZTwvdHQ+PC9hPjwvYj4oPHZhcj5wYXRoPC92YXI+PGJpZz5bPC9iaWc+PHZhcj4sIGJ5dGVzPC92YXI+PGJpZz5dPC9iaWc+KQogPGRkPgogUmVhZCA8dmFyPmJ5dGVzPC92YXI+IGJ5dGVzIChvciBhbGwgb2YgaXQsIGlmIDx2YXI+Ynl0ZXM8L3Zhcj4gaXMgbmVnYXRpdmUpIG9mIGRhdGEgZnJvbQogdGhlIGZpbGUgPHZhcj5wYXRoPC92YXI+IHRvIHNlZWQgdGhlIFBSTkcuIFRoZSBkZWZhdWx0IHZhbHVlIG9mIDx2YXI+Ynl0ZXM8L3Zhcj4gaXMgLTEuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg1Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz5zY3JlZW48L3R0PjwvYT48L2I+KCkKIDxkZD4KIEFkZCB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgc2NyZWVuIHRvIHRoZSBQUk5HIHN0YXRlLgogQXZhaWxhYmlsaXR5OiBXaW5kb3dzLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04Nic+PHR0IGNsYXNzPSdmdW5jdGlvbic+c2VlZDwvdHQ+PC9hPjwvYj4oPHZhcj5zdHJpbmc8L3Zhcj4pCiA8ZGQ+CiBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gY2FsbGluZyA8dHQgY2xhc3M9ImZ1bmN0aW9uIj5hZGQ8L3R0PiB3aXRoIDx2YXI+ZW50cm9weTwvdmFyPiBhcyB0aGUgbGVuZ3RoCiBvZiB0aGUgc3RyaW5nLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC04Nyc+PHR0IGNsYXNzPSdmdW5jdGlvbic+c3RhdHVzPC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm5zIHRydWUgaWYgdGhlIFBSTkcgaGFzIGJlZW4gc2VlZGVkIHdpdGggZW5vdWdoIGRhdGEsIGFuZCBmYWxzZSBvdGhlcndpc2UuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTg4Jz48dHQgY2xhc3M9J2Z1bmN0aW9uJz53cml0ZV9maWxlPC90dD48L2E+PC9iPig8dmFyPnBhdGg8L3Zhcj4pCiA8ZGQ+CiBXcml0ZSBhIG51bWJlciBvZiByYW5kb20gYnl0ZXMgKGN1cnJlbnRseSAxMDI0KSB0byB0aGUgZmlsZSA8dmFyPnBhdGg8L3Zhcj4uIFRoaXMKIGZpbGUgY2FuIHRoZW4gYmUgdXNlZCB3aXRoIDx0dCBjbGFzcz0iZnVuY3Rpb24iPmxvYWRfZmlsZTwvdHQ+IHRvIHNlZWQgdGhlIFBSTkcgYWdhaW4uCiA8L2RsPgorCiA8UD4KIDxCUj48SFI+PEg0PkZvb3Rub3RlczwvSDQ+CiA8REw+Ci08RFQ+PEEgTkFNRT0iZm9vdDkxNyI+Li4uIERhZW1vbjwvQT48QQorPERUPjxBIE5BTUU9ImZvb3Q5MTQiPi4uLiBEYWVtb248L0E+PEEKICBocmVmPSJvcGVuc3NsLXJhbmQuaHRtbCN0ZXgyaHRtbDMiPjxTVVA+MzwvU1VQPjwvQT48L0RUPgogPEREPlNlZQogPGEgY2xhc3M9InVybCIgaHJlZj0iaHR0cDovL3d3dy5sb3RoYXIuY29tL3RlY2gvY3J5cHRvLyI+aHR0cDovL3d3dy5sb3RoYXIuY29tL3RlY2gvY3J5cHRvLzwvYT4KZGlmZiAtLWdpdCBhL2RvYy9odG1sL29wZW5zc2wtc3NsLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLXNzbC5odG1sCmluZGV4IDRkMWFiY2MuLjBmZWI5ZTQgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wtc3NsLmh0bWwKKysrIGIvZG9jL2h0bWwvb3BlbnNzbC1zc2wuaHRtbApAQCAtNDUsMTMgKzQ1LDE0IEBACiA8QlI+CiAzLjMgPHR0IGNsYXNzPSJtb2R1bGUiPlNTTDwvdHQ+IC0tIEFuIGludGVyZmFjZSB0byB0aGUgU1NMLXNwZWNpZmljIHBhcnRzIG9mIE9wZW5TU0wgCiA8L0gyPgorCiA8UD4KLTxFTT48RU0+PEVNPgotPC9FTT48L0VNPjwvRU0+CisKKwogPFA+Ci08RU0+PEVNPjxFTT5UaGlzIG1vZHVsZSBoYW5kbGVzIHRoaW5ncyBzcGVjaWZpYyB0byBTU0wuIFRoZXJlIGFyZSB0d28gb2JqZWN0cyBkZWZpbmVkOgorVGhpcyBtb2R1bGUgaGFuZGxlcyB0aGluZ3Mgc3BlY2lmaWMgdG8gU1NMLiBUaGVyZSBhcmUgdHdvIG9iamVjdHMgZGVmaW5lZDoKIENvbnRleHQsIENvbm5lY3Rpb24uCi08L0VNPjwvRU0+PC9FTT4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05MCc+PHR0PlNTTHYyX01FVEhPRDwvdHQ+PC9hPjwvYj4KIDxkZD4KQEAgLTYxLDYgKzYyLDcgQEAKIFRoZXNlIGNvbnN0YW50cyByZXByZXNlbnQgdGhlIGRpZmZlcmVudCBTU0wgbWV0aG9kcyB0byB1c2Ugd2hlbiBjcmVhdGluZyBhCiBjb250ZXh0IG9iamVjdC4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTEnPjx0dD5WRVJJRllfTk9ORTwvdHQ+PC9hPjwvYj4KIDxkZD4KQEAgLTY5LDYgKzcxLDcgQEAKIFRoZXNlIGNvbnN0YW50cyByZXByZXNlbnQgdGhlIHZlcmlmaWNhdGlvbiBtb2RlIHVzZWQgYnkgdGhlIENvbnRleHQKIG9iamVjdCdzIDx0dCBjbGFzcz0ibWV0aG9kIj5zZXRfdmVyaWZ5PC90dD4gbWV0aG9kLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Mic+PHR0PkZJTEVUWVBFX1BFTTwvdHQ+PC9hPjwvYj4KIDxkZD4KQEAgLTc2LDYgKzc5LDcgQEAKIEZpbGUgdHlwZSBjb25zdGFudHMgdXNlZCB3aXRoIHRoZSA8dHQgY2xhc3M9Im1ldGhvZCI+dXNlX2NlcnRpZmljYXRlX2ZpbGU8L3R0PiBhbmQKIDx0dCBjbGFzcz0ibWV0aG9kIj51c2VfcHJpdmF0ZWtleV9maWxlPC90dD4gbWV0aG9kcyBvZiBDb250ZXh0IG9iamVjdHMuCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTkzJz48dHQ+T1BfU0lOR0xFX0RIX1VTRTwvdHQ+PC9hPjwvYj4KIDxkZD4KQEAgLTkxLDExICs5NSwxMyBAQAogaW50ZXJlc3RpbmcgaWYgeW91J3JlIHVzaW5nIGUuZy4gPHR0IGNsYXNzPSJjb25zdGFudCI+U1NMdjIzX01FVEhPRDwvdHQ+IHRvIGdldCBhbiBTU0x2Mi1jb21wYXRpYmxlCiBoYW5kc2hha2UsIGJ1dCBkb24ndCB3YW50IHRvIHVzZSBTU0x2Mi4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTQnPjx0dD5Db250ZXh0VHlwZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIEEgUHl0aG9uIHR5cGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgQ29udGV4dCBvYmplY3QgdHlwZS4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtOTUnPjx0dCBjbGFzcz0nZnVuY3Rpb24nPkNvbnRleHQ8L3R0PjwvYT48L2I+KDx2YXI+bWV0aG9kPC92YXI+KQogPGRkPgpAQCAtMTAzLDMxICsxMDksMzUgQEAKIG1ldGhvZCBzaG91bGQgYmUgPHR0IGNsYXNzPSJjb25zdGFudCI+U1NMdjJfTUVUSE9EPC90dD4sIDx0dCBjbGFzcz0iY29uc3RhbnQiPlNTTHYzX01FVEhPRDwvdHQ+LAogPHR0IGNsYXNzPSJjb25zdGFudCI+U1NMdjIzX01FVEhPRDwvdHQ+IG9yIDx0dCBjbGFzcz0iY29uc3RhbnQiPlRMU3YxX01FVEhPRDwvdHQ+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Nic+PHR0PkNvbm5lY3Rpb25UeXBlPC90dD48L2E+PC9iPgogPGRkPgogQSBQeXRob24gdHlwZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBDb25uZWN0aW9uIG9iamVjdCB0eXBlLgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC05Nyc+PHR0IGNsYXNzPSdmdW5jdGlvbic+Q29ubmVjdGlvbjwvdHQ+PC9hPjwvYj4oPHZhcj5jb250ZXh0LCBzb2NrZXQ8L3Zhcj4pCiA8ZGQ+CiBGYWN0b3J5IGZ1Y25jdGlvbiB0aGF0IGNyZWF0ZXMgYSBuZXcgQ29ubmVjdGlvbiBvYmplY3QgZ2l2ZW4gYW4gU1NMIGNvbnRleHQgYW5kCiBhIHNvY2tldCA8QSBOQU1FPSJ0ZXgyaHRtbDUiCi0gIEhSRUY9IiNmb290OTIwIj48U1VQPjQ8L1NVUD48L0E+IG9iamVjdC4KKyAgSFJFRj0iI2Zvb3Q5MTciPjxTVVA+NDwvU1VQPjwvQT4gb2JqZWN0LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtOTgnPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5FcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoaXMgZXhjZXB0aW9uIGlzIHVzZWQgYXMgYSBiYXNlIGNsYXNzIGZvciB0aGUgb3RoZXIgU1NMLXJlbGF0ZWQKIGV4Y2VwdGlvbnMsIGJ1dCBtYXkgYWxzbyBiZSByYWlzZWQgZGlyZWN0bHkuCi08L0VNPjwvRU0+PC9FTT4KKwogPFA+Ci08RU0+PEVNPjxFTT5XaGVuZXZlciB0aGlzIGV4Y2VwdGlvbiBpcyByYWlzZWQgZGlyZWN0bHksIGl0IGhhcyBhIGxpc3Qgb2YgZXJyb3IgbWVzc2FnZXMKK1doZW5ldmVyIHRoaXMgZXhjZXB0aW9uIGlzIHJhaXNlZCBkaXJlY3RseSwgaXQgaGFzIGEgbGlzdCBvZiBlcnJvciBtZXNzYWdlcwogZnJvbSB0aGUgT3BlblNTTCBlcnJvciBxdWV1ZSwgd2hlcmUgZWFjaCBpdGVtIGlzIGEgdHVwbGUgPGNvZGU+KDx2YXI+bGliPC92YXI+LAogPHZhcj5mdW5jdGlvbjwvdmFyPiwgPHZhcj5yZWFzb248L3Zhcj4pPC9jb2RlPi4gSGVyZSA8dmFyPmxpYjwvdmFyPiwgPHZhcj5mdW5jdGlvbjwvdmFyPiBhbmQgPHZhcj5yZWFzb248L3Zhcj4KIGFyZSBhbGwgc3RyaW5ncywgZGVzY3JpYmluZyB3aGVyZSBhbmQgd2hhdCB0aGUgcHJvYmxlbSBpcy4gU2VlIDxzcGFuIGNsYXNzPSdtYW5wYWdlJz48aT5lcnI8L2k+KDMpPC9zcGFuPgogZm9yIG1vcmUgaW5mb3JtYXRpb24uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC05OSc+PHR0IGNsYXNzPSdleGNlcHRpb24nPlplcm9SZXR1cm5FcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KQEAgLTEzNiwxMSArMTQ2LDEyIEBACiBvbmx5IG9jY3VycyBpZiBhIGNsb3N1cmUgYWxlcnQgaGFzIG9jY3VycmVkIGluIHRoZSBwcm90b2NvbCwgaS5lLiB0aGUKIGNvbm5lY3Rpb24gaGFzIGJlZW4gY2xvc2VkIGNsZWFubHkuIE5vdGUgdGhhdCB0aGlzIGRvZXMgbm90IG5lY2Vzc2FyaWx5CiBtZWFuIHRoYXQgdGhlIHRyYW5zcG9ydCBsYXllciAoZS5nLiBhIHNvY2tldCkgaGFzIGJlZW4gY2xvc2VkLgotPC9FTT48L0VNPjwvRU0+CisKIDxQPgotPEVNPjxFTT48RU0+SXQgbWF5IHNlZW0gYSBsaXR0bGUgc3RyYW5nZSB0aGF0IHRoaXMgaXMgYW4gZXhjZXB0aW9uLCBidXQgaXQgZG9lcyBtYXRjaCBhbgorSXQgbWF5IHNlZW0gYSBsaXR0bGUgc3RyYW5nZSB0aGF0IHRoaXMgaXMgYW4gZXhjZXB0aW9uLCBidXQgaXQgZG9lcyBtYXRjaCBhbgogPGNvZGU+U1NMX0VSUk9SPC9jb2RlPiBjb2RlLCBhbmQgaXMgdmVyeSBjb252ZW5pZW50LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPmV4Y2VwdGlvbiA8YSBuYW1lPSdsMmgtMTAwJz48dHQgY2xhc3M9J2V4Y2VwdGlvbic+V2FudFJlYWRFcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KQEAgLTE0OCwxMSArMTU5LDEzIEBACiBsYXRlciwgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMuIEFueSBJL08gbWV0aG9kIGNhbiBsZWFkIHRvIHRoaXMgc2luY2UgbmV3CiBoYW5kc2hha2VzIGNhbiBvY2N1ciBhdCBhbnkgdGltZS4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwMSc+PHR0IGNsYXNzPSdleGNlcHRpb24nPldhbnRXcml0ZUVycm9yPC90dD48L2E+PC9iPgogPGRkPgogU2VlIDx0dCBjbGFzcz0iZXhjZXB0aW9uIj5XYW50UmVhZEVycm9yPC90dD4uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+ZXhjZXB0aW9uIDxhIG5hbWU9J2wyaC0xMDInPjx0dCBjbGFzcz0nZXhjZXB0aW9uJz5XYW50WDUwOUxvb2t1cEVycm9yPC90dD48L2E+PC9iPgogPGRkPgpAQCAtMTYxLDYgKzE3NCw3IEBACiBhcmd1bWVudHMuIE5vdGU6IFRoaXMgd29uJ3Qgb2NjdXIgaW4gdGhpcyB2ZXJzaW9uLCBhcyB0aGVyZSBhcmUgbm8gc3VjaAogY2FsbGJhY2tzIGluIHRoaXMgdmVyc2lvbi4KIDwvZGw+CisKIDxQPgogPGRsPjxkdD48Yj5leGNlcHRpb24gPGEgbmFtZT0nbDJoLTEwMyc+PHR0IGNsYXNzPSdleGNlcHRpb24nPlN5c0NhbGxFcnJvcjwvdHQ+PC9hPjwvYj4KIDxkZD4KQEAgLTE3MCwxMCArMTg0LDExIEBACiBUaGUgcGFyYW1ldGVyIHRvIHRoZSBleGNlcHRpb24gaXMgYWx3YXlzIGEgcGFpciA8Y29kZT4oPHZhcj5lcnJudW08L3Zhcj4sCiA8dmFyPmVycnN0cjwvdmFyPik8L2NvZGU+LgogPC9kbD4KKwogPFA+CiA8QlI+PEhSPjxIND5Gb290bm90ZXM8L0g0PgogPERMPgotPERUPjxBIE5BTUU9ImZvb3Q5MjAiPi4uLiBzb2NrZXQ8L0E+PEEKKzxEVD48QSBOQU1FPSJmb290OTE3Ij4uLi4gc29ja2V0PC9BPjxBCiAgaHJlZj0ib3BlbnNzbC1zc2wuaHRtbCN0ZXgyaHRtbDUiPjxTVVA+NDwvU1VQPjwvQT48L0RUPgogPEREPkFjdHVhbGx5LCBhbGwgdGhhdCBpcyByZXF1aXJlZCBpcyBhbiBvYmplY3QgdGhhdAogPGk+YmVoYXZlczwvaT4gbGlrZSBhIHNvY2tldCwgeW91IGNvdWxkIGV2ZW4gdXNlIGZpbGVzLCBldmVuIHRob3VnaCBpdCdkIGJlCmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDkuaHRtbCBiL2RvYy9odG1sL29wZW5zc2wteDUwOS5odG1sCmluZGV4IDQ3YjEwNzkuLmQ1NGY5OTEgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wteDUwOS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wteDUwOS5odG1sCkBAIC01NCw4MCArNTQsMTA5IEBACiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTM0Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X2lzc3VlcjwvdHQ+PC9hPjwvYj4oKQogPGRkPgotUmV0dXJuIGEgPEVNPmJvcnJvd2VkIHJlZmVyZW5jZSB0byBhIFg1MDlOYW1lIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGlzc3Vlcgotb2YgdGhlIGNlcnRpZmljYXRlLiAgV2hlbiB0aGUgY29ycmVzcG9uZGluZyBYNTA5IG9yIFg1MDlSZXEgb2JqZWN0IGlzCi1kZXN0cm95ZWQsIHRoaXMgb2JqZWN0IHdpbGwgYmUgaW52YWxpZCEKK1JldHVybiBhbiBYNTA5TmFtZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBpc3N1ZXIgb2YgdGhlIGNlcnRpZmljYXRlLgogPC9kbD4KLTwvRU0+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0zNSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wdWJrZXk8L3R0PjwvYT48L2I+KCkKKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0zNSc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9wdWJrZXk8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiBhIFBLZXkgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcHVibGljIGtleSBvZiB0aGUgY2VydGlmaWNhdGUuCiA8L2RsPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMzYnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfc2VyaWFsX251bWJlcjwvdHQ+PC9hPjwvYj4oKQorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTM2Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3NlcmlhbF9udW1iZXI8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgY2VydGlmaWNhdGUgc2VyaWFsIG51bWJlci4KIDwvZGw+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0zNyc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF9zdWJqZWN0PC90dD48L2E+PC9iPigpCisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMzcnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfc3ViamVjdDwvdHQ+PC9hPjwvYj4oKQogPGRkPgotUmV0dXJuIGEgPEVNPmJvcnJvd2VkIHJlZmVyZW5jZSB0byBhIFg1MDlOYW1lIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHN1YmplY3QKLW9mIHRoZSBjZXJ0aWZpY2F0ZS4gIFdoZW4gdGhlIGNvcnJlc3BvbmRpbmcgWDUwOSBvciBYNTA5UmVxIG9iamVjdCBpcwotZGVzdHJveWVkLCB0aGlzIG9iamVjdCB3aWxsIGJlIGludmFsaWQhCi08L2RsPjwvRU0+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0zOCc+PHR0IGNsYXNzPSdtZXRob2QnPmdldF92ZXJzaW9uPC90dD48L2E+PC9iPigpCitSZXR1cm4gYW4gWDUwOU5hbWUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgc3ViamVjdCBvZiB0aGUgY2VydGlmaWNhdGUuCis8L2RsPgorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTM4Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgY2VydGlmaWNhdGUgdmVyc2lvbi4KIDwvZGw+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC0zOSc+PHR0IGNsYXNzPSdtZXRob2QnPmdtdGltZV9hZGpfbm90QmVmb3JlPC90dD48L2E+PC9iPig8dmFyPnRpbWU8L3Zhcj4pCisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtMzknPjx0dCBjbGFzcz0nbWV0aG9kJz5nbXRpbWVfYWRqX25vdEJlZm9yZTwvdHQ+PC9hPjwvYj4oPHZhcj50aW1lPC92YXI+KQogPGRkPgogQWRqdXN0IHRoZSB0aW1lc3RhbXAgKGluIEdNVCkgd2hlbiB0aGUgY2VydGlmaWNhdGUgc3RhcnRzIGJlaW5nIHZhbGlkLgogPC9kbD4KLTxQPjxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQwJz48dHQgY2xhc3M9J21ldGhvZCc+Z210aW1lX2Fkal9ub3RBZnRlcjwvdHQ+PC9hPjwvYj4oPHZhcj50aW1lPC92YXI+KQorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQwJz48dHQgY2xhc3M9J21ldGhvZCc+Z210aW1lX2Fkal9ub3RBZnRlcjwvdHQ+PC9hPjwvYj4oPHZhcj50aW1lPC92YXI+KQogPGRkPgogQWRqdXN0IHRoZSB0aW1lc3RhbXAgKGluIEdNVCkgd2hlbiB0aGUgY2VydGlmaWNhdGUgc3RvcHMgYmVpbmcgdmFsaWQuCiA8L2RsPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDEnPjx0dCBjbGFzcz0nbWV0aG9kJz5oYXNfZXhwaXJlZDwvdHQ+PC9hPjwvYj4oKQorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQxJz48dHQgY2xhc3M9J21ldGhvZCc+aGFzX2V4cGlyZWQ8L3R0PjwvYT48L2I+KCkKIDxkZD4KIENoZWNrcyB0aGUgY2VydGlmaWNhdGUncyB0aW1lIHN0YW1wIGFnYWluc3QgY3VycmVudCB0aW1lLiBSZXR1cm5zIHRydWUgaWYgdGhlCiBjZXJ0aWZpY2F0ZSBoYXMgZXhwaXJlZCBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgogPC9kbD4KLTxQPjxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQyJz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X2lzc3VlcjwvdHQ+PC9hPjwvYj4oPHZhcj5pc3N1ZXI8L3Zhcj4pCisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDInPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfaXNzdWVyPC90dD48L2E+PC9iPig8dmFyPmlzc3VlcjwvdmFyPikKIDxkZD4KIFNldCB0aGUgaXNzdWVyIG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byA8dmFyPmlzc3VlcjwvdmFyPi4KIDwvZGw+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Myc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Myc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKIDxkZD4KIFNldCB0aGUgcHVibGljIGtleSBvZiB0aGUgY2VydGlmaWNhdGUgdG8gPHZhcj5wa2V5PC92YXI+LgogPC9kbD4KLTxQPjxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ0Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3NlcmlhbF9udW1iZXI8L3R0PjwvYT48L2I+KDx2YXI+c2VyaWFsbm88L3Zhcj4pCisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDQnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc2VyaWFsX251bWJlcjwvdHQ+PC9hPjwvYj4oPHZhcj5zZXJpYWxubzwvdmFyPikKIDxkZD4KIFNldCB0aGUgc2VyaWFsIG51bWJlciBvZiB0aGUgY2VydGlmaWNhdGUgdG8gPHZhcj5zZXJpYWxubzwvdmFyPi4KIDwvZGw+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00NSc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9zdWJqZWN0PC90dD48L2E+PC9iPig8dmFyPnN1YmplY3Q8L3Zhcj4pCisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDUnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfc3ViamVjdDwvdHQ+PC9hPjwvYj4oPHZhcj5zdWJqZWN0PC92YXI+KQogPGRkPgogU2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byA8dmFyPnN1YmplY3Q8L3Zhcj4uCiA8L2RsPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDYnPjx0dCBjbGFzcz0nbWV0aG9kJz5zZXRfdmVyc2lvbjwvdHQ+PC9hPjwvYj4oPHZhcj52ZXJzaW9uPC92YXI+KQorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ2Jz48dHQgY2xhc3M9J21ldGhvZCc+c2V0X3ZlcnNpb248L3R0PjwvYT48L2I+KDx2YXI+dmVyc2lvbjwvdmFyPikKIDxkZD4KIFNldCB0aGUgY2VydGlmaWNhdGUgdmVyc2lvbiB0byA8dmFyPnZlcnNpb248L3Zhcj4uCiA8L2RsPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDcnPjx0dCBjbGFzcz0nbWV0aG9kJz5zaWduPC90dD48L2E+PC9iPig8dmFyPnBrZXksIGRpZ2VzdDwvdmFyPikKKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00Nyc+PHR0IGNsYXNzPSdtZXRob2QnPnNpZ248L3R0PjwvYT48L2I+KDx2YXI+cGtleSwgZGlnZXN0PC92YXI+KQogPGRkPgogU2lnbiB0aGUgY2VydGlmaWNhdGUsIHVzaW5nIHRoZSBrZXkgPHZhcj5wa2V5PC92YXI+IGFuZCB0aGUgbWVzc2FnZSBkaWdlc3QgYWxnb3JpdGhtCiBpZGVudGlmaWVkIGJ5IHRoZSBzdHJpbmcgPHZhcj5kaWdlc3Q8L3Zhcj4uCiA8L2RsPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNDgnPjx0dCBjbGFzcz0nbWV0aG9kJz5zdWJqZWN0X25hbWVfaGFzaDwvdHQ+PC9hPjwvYj4oKQorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTQ4Jz48dHQgY2xhc3M9J21ldGhvZCc+c3ViamVjdF9uYW1lX2hhc2g8L3R0PjwvYT48L2I+KCkKIDxkZD4KIFJldHVybiB0aGUgaGFzaCBvZiB0aGUgY2VydGlmaWNhdGUgc3ViamVjdC4KIDwvZGw+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00OSc+PHR0IGNsYXNzPSdtZXRob2QnPmRpZ2VzdDwvdHQ+PC9hPjwvYj4oPHZhcj5kaWdlc3RfbmFtZTwvdmFyPikKKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC00OSc+PHR0IGNsYXNzPSdtZXRob2QnPmRpZ2VzdDwvdHQ+PC9hPjwvYj4oPHZhcj5kaWdlc3RfbmFtZTwvdmFyPikKIDxkZD4KIFJldHVybiBhIGRpZ2VzdCBvZiB0aGUgY2VydGlmaWNhdGUsIHVzaW5nIHRoZSA8dmFyPmRpZ2VzdF9uYW1lPC92YXI+IG1ldGhvZC4KIDwvZGw+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01MCc+PHR0IGNsYXNzPSdtZXRob2QnPmFkZF9leHRlbnNpb25zPC90dD48L2E+PC9iPig8dmFyPmV4dGVuc2lvbnM8L3Zhcj4pCisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTAnPjx0dCBjbGFzcz0nbWV0aG9kJz5hZGRfZXh0ZW5zaW9uczwvdHQ+PC9hPjwvYj4oPHZhcj5leHRlbnNpb25zPC92YXI+KQogPGRkPgogQWRkIHRoZSBleHRlbnNpb25zIGluIHRoZSBzZXF1ZW5jZSA8dmFyPmV4dGVuc2lvbnM8L3Zhcj4gdG8gdGhlIGNlcnRpZmljYXRlLgogPC9kbD4KKwogPFA+CisKIDxESVYgQ0xBU1M9Im5hdmlnYXRpb24iPgogPHA+PGhyPgogPHRhYmxlIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5bmFtZS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5bmFtZS5odG1sCmluZGV4IDQ4NTFlNGMuLmE1ZmM5MmUgMTAwNjQ0Ci0tLSBhL2RvYy9odG1sL29wZW5zc2wteDUwOW5hbWUuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDluYW1lLmh0bWwKQEAgLTQ3LDQ0ICs0Nyw2MCBAQAogPEJSPgogMy4xLjIgWDUwOU5hbWUgb2JqZWN0cyAKIDwvSDM+CisKIDxQPgotPEVNPjxFTT5YNTA5TmFtZSBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZW1iZXJzOgotPC9FTT48L0VNPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTEnPjx0dCBjbGFzcz0nbWVtYmVyJz5jb3VudHJ5TmFtZTwvdHQ+PC9hPjwvYj4KK1g1MDlOYW1lIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1lbWJlcnM6CisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTEnPjx0dCBjbGFzcz0nbWVtYmVyJz5jb3VudHJ5TmFtZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBjb3VudHJ5IG9mIHRoZSBlbnRpdHkuIDxjb2RlPkM8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+Y291bnRyeU5hbWU8L2NvZGU+LgogPC9kbD4KLTxQPjxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTUyJz48dHQgY2xhc3M9J21lbWJlcic+c3RhdGVPclByb3ZpbmNlTmFtZTwvdHQ+PC9hPjwvYj4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01Mic+PHR0IGNsYXNzPSdtZW1iZXInPnN0YXRlT3JQcm92aW5jZU5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgc3RhdGUgb3IgcHJvdmluY2Ugb2YgdGhlIGVudGl0eS4gPGNvZGU+U1Q8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+c3RhdGVPclByb3ZpbmNlTmFtZTwvY29kZT63CiA8L2RsPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTMnPjx0dCBjbGFzcz0nbWVtYmVyJz5sb2NhbGl0eU5hbWU8L3R0PjwvYT48L2I+CisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTMnPjx0dCBjbGFzcz0nbWVtYmVyJz5sb2NhbGl0eU5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgbG9jYWxpdHkgb2YgdGhlIGVudGl0eS4gPGNvZGU+TDwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5sb2NhbGl0eU5hbWU8L2NvZGU+LgogPC9kbD4KLTxQPjxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU0Jz48dHQgY2xhc3M9J21lbWJlcic+b3JnYW5pemF0aW9uTmFtZTwvdHQ+PC9hPjwvYj4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01NCc+PHR0IGNsYXNzPSdtZW1iZXInPm9yZ2FuaXphdGlvbk5hbWU8L3R0PjwvYT48L2I+CiA8ZGQ+CiBUaGUgb3JnYW5pemF0aW9uIG5hbWUgb2YgdGhlIGVudGl0eS4gPGNvZGU+TzwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5vcmdhbml6YXRpb25OYW1lPC9jb2RlPi4KIDwvZGw+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01NSc+PHR0IGNsYXNzPSdtZW1iZXInPm9yZ2FuaXphdGlvbmFsVW5pdE5hbWU8L3R0PjwvYT48L2I+CisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTUnPjx0dCBjbGFzcz0nbWVtYmVyJz5vcmdhbml6YXRpb25hbFVuaXROYW1lPC90dD48L2E+PC9iPgogPGRkPgogVGhlIG9yZ2FuaXphdGlvbmFsIHVuaXQgb2YgdGhlIGVudGl0eS4gPGNvZGU+T1U8L2NvZGU+IG1heSBiZSB1c2VkIGFzIGFuIGFsaWFzIGZvcgogPGNvZGU+b3JnYW5pemF0aW9uYWxVbml0TmFtZTwvY29kZT4uCiA8L2RsPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTYnPjx0dCBjbGFzcz0nbWVtYmVyJz5jb21tb25OYW1lPC90dD48L2E+PC9iPgorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU2Jz48dHQgY2xhc3M9J21lbWJlcic+Y29tbW9uTmFtZTwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBjb21tb24gbmFtZSBvZiB0aGUgZW50aXR5LiA8Y29kZT5DTjwvY29kZT4gbWF5IGJlIHVzZWQgYXMgYW4gYWxpYXMgZm9yCiA8Y29kZT5jb21tb25OYW1lPC9jb2RlPi4KIDwvZGw+Ci08UD48ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01Nyc+PHR0IGNsYXNzPSdtZW1iZXInPmVtYWlsQWRkcmVzczwvdHQ+PC9hPjwvYj4KKworPFA+Cis8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC01Nyc+PHR0IGNsYXNzPSdtZW1iZXInPmVtYWlsQWRkcmVzczwvdHQ+PC9hPjwvYj4KIDxkZD4KIFRoZSBlLW1haWwgYWRkcmVzcyBvZiB0aGUgZW50aXR5LgogPC9kbD4KKwogPFA+CisKIDxESVYgQ0xBU1M9Im5hdmlnYXRpb24iPgogPHA+PGhyPgogPHRhYmxlIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMDAlIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiPgpkaWZmIC0tZ2l0IGEvZG9jL2h0bWwvb3BlbnNzbC14NTA5cmVxLmh0bWwgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDlyZXEuaHRtbAppbmRleCBlNjVjMjQ2Li4wY2M4OGM0IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlyZXEuaHRtbAorKysgYi9kb2MvaHRtbC9vcGVuc3NsLXg1MDlyZXEuaHRtbApAQCAtNDcsMzUgKzQ3LDQxIEBACiA8QlI+CiAzLjEuMyBYNTA5UmVxIG9iamVjdHMgCiA8L0gzPgorCiA8UD4KLTxFTT48RU0+WDUwOVJlcSBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgotPC9FTT48L0VNPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTgnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcHVia2V5PC90dD48L2E+PC9iPigpCitYNTA5UmVxIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CisKKzxQPgorPGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTgnPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfcHVia2V5PC90dD48L2E+PC9iPigpCiA8ZGQ+CiBSZXR1cm4gYSBQS2V5IG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHB1YmxpYyBrZXkgb2YgdGhlIGNlcnRpZmljYXRlIHJlcXVlc3QuCiA8L2RsPgotPFA+PGRsPjxkdD48Yj48YSBuYW1lPSdsMmgtNTknPjx0dCBjbGFzcz0nbWV0aG9kJz5nZXRfc3ViamVjdDwvdHQ+PC9hPjwvYj4oKQorCis8UD4KKzxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTU5Jz48dHQgY2xhc3M9J21ldGhvZCc+Z2V0X3N1YmplY3Q8L3R0PjwvYT48L2I+KCkKIDxkZD4KLVJldHVybiBhIDxFTT5ib3Jyb3dlZCByZWZlcmVuY2UgdG8gYSBYNTA5TmFtZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBzdWJqZWN0Ci1vZiB0aGUgY2VydGlmaWNhdGUuICBXaGVuIHRoZSBjb3JyZXNwb25kaW5nIFg1MDkgb3IgWDUwOVJlcSBvYmplY3QgaXMKLWRlc3Ryb3llZCwgdGhpcyBvYmplY3Qgd2lsbCBiZSBpbnZhbGlkIQotPC9kbD48L0VNPgorUmV0dXJuIGFuIFg1MDlOYW1lIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIHN1YmplY3Qgb2YgdGhlIGNlcnRpZmljYXRlLgorPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02MCc+PHR0IGNsYXNzPSdtZXRob2QnPnNldF9wdWJrZXk8L3R0PjwvYT48L2I+KDx2YXI+cGtleTwvdmFyPikKIDxkZD4KIFNldCB0aGUgcHVibGljIGtleSBvZiB0aGUgY2VydGlmaWNhdGUgcmVxdWVzdCB0byA8dmFyPnBrZXk8L3Zhcj4uCiA8L2RsPgorCiA8UD4KIDxkbD48ZHQ+PGI+PGEgbmFtZT0nbDJoLTYxJz48dHQgY2xhc3M9J21ldGhvZCc+c2lnbjwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5LCBkaWdlc3Q8L3Zhcj4pCiA8ZGQ+CiBTaWduIHRoZSBjZXJ0aWZpY2F0ZSByZXF1ZXN0LCB1c2luZyB0aGUga2V5IDx2YXI+cGtleTwvdmFyPiBhbmQgdGhlIG1lc3NhZ2UgZGlnZXN0CiBhbGdvcml0aG0gaWRlbnRpZmllZCBieSB0aGUgc3RyaW5nIDx2YXI+ZGlnZXN0PC92YXI+LgogPC9kbD4KKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02Mic+PHR0IGNsYXNzPSdtZXRob2QnPnZlcmlmeTwvdHQ+PC9hPjwvYj4oPHZhcj5wa2V5PC92YXI+KQogPGRkPgogVmVyaWZ5IGEgY2VydGlmaWNhdGUgcmVxdWVzdCB1c2luZyB0aGUgcHVibGljIGtleSA8dmFyPnBrZXk8L3Zhcj4uCiA8L2RsPgorCiA8UD4KIAogPERJViBDTEFTUz0ibmF2aWdhdGlvbiI+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlzdG9yZS5odG1sIGIvZG9jL2h0bWwvb3BlbnNzbC14NTA5c3RvcmUuaHRtbAppbmRleCBjZDY4ZWNhLi42NGZiMmYzIDEwMDY0NAotLS0gYS9kb2MvaHRtbC9vcGVuc3NsLXg1MDlzdG9yZS5odG1sCisrKyBiL2RvYy9odG1sL29wZW5zc2wteDUwOXN0b3JlLmh0bWwKQEAgLTQ3LDE0ICs0NywxNiBAQAogPEJSPgogMy4xLjQgWDUwOVN0b3JlIG9iamVjdHMgCiA8L0gzPgorCiA8UD4KLTxFTT48RU0+PEVNPlRoZSBYNTA5U3RvcmUgb2JqZWN0IGhhcyBjdXJyZW50bHkganVzdCBvbmUgbWV0aG9kOgotPC9FTT48L0VNPjwvRU0+CitUaGUgWDUwOVN0b3JlIG9iamVjdCBoYXMgY3VycmVudGx5IGp1c3Qgb25lIG1ldGhvZDoKKwogPFA+CiA8ZGw+PGR0PjxiPjxhIG5hbWU9J2wyaC02Myc+PHR0IGNsYXNzPSdtZXRob2QnPmFkZF9jZXJ0PC90dD48L2E+PC9iPig8dmFyPmNlcnQ8L3Zhcj4pCiA8ZGQ+CiBBZGQgdGhlIGNlcnRpZmljYXRlIDx2YXI+Y2VydDwvdmFyPiB0byB0aGUgY2VydGlmaWNhdGUgc3RvcmUuCiA8L2RsPgorCiA8UD4KIAogPERJViBDTEFTUz0ibmF2aWdhdGlvbiI+CmRpZmYgLS1naXQgYS9kb2MvaHRtbC9zb2NrZXQtbWV0aG9kcy5odG1sIGIvZG9jL2h0bWwvc29ja2V0LW1ldGhvZHMuaHRtbAppbmRleCBkMjk1OGYyLi5jYzQzNDA2IDEwMDY0NAotLS0gYS9kb2MvaHRtbC9zb2NrZXQtbWV0aG9kcy5odG1sCisrKyBiL2RvYy9odG1sL3NvY2tldC1tZXRob2RzLmh0bWwKQEAgLTQ2LDggKzQ2LDkgQEAKIDxCUj4KIDQuMyBBY2Vzc2luZyBTb2NrZXQgTWV0aG9kcyAKIDwvSDI+CisKIDxQPgotPEVNPjxFTT48RU0+V2UgcXVpY2tseSBzYXcgdGhlIGJlbmVmaXQgb2Ygd3JhcHBpbmcgc29ja2V0IG1ldGhvZHMgaW4gdGhlCitXZSBxdWlja2x5IHNhdyB0aGUgYmVuZWZpdCBvZiB3cmFwcGluZyBzb2NrZXQgbWV0aG9kcyBpbiB0aGUKIDx0dCBjbGFzcz0iY2xhc3MiPlNTTC5Db25uZWN0aW9uPC90dD4gY2xhc3MsIGZvciBhbiBlYXN5IHRyYW5zaXRpb24gaW50byB1c2luZyBTU0wuIFRoZQogcHJvYmxlbSBoZXJlIGlzIHRoYXQgdGhlIDx0dCBjbGFzcz0ibW9kdWxlIj5zb2NrZXQ8L3R0PiBtb2R1bGUgbGFja3MgYSBDIEFQSSwgYW5kIGFsbCB0aGUKIG1ldGhvZHMgYXJlIGRlY2xhcmVkIHN0YXRpYy4gT25lIGFwcHJvYWNoIHdvdWxkIGJlIHRvIGhhdmUgPHR0IGNsYXNzPSJtb2R1bGUiPk9wZW5TU0w8L3R0PiBhcwpAQCAtNTgsOSArNTksOSBAQAogcG9pbnRlciB0byB0aGUgbWV0aG9kIHRvIGJlIGNhbGxlZCwgZWl0aGVyIHRoZSBDIGZ1bmN0aW9uLCBvciBhIGNhbGxhYmxlIFB5dGhvbgogb2JqZWN0LiBUaGlzIGlzIG5vdCByZWFsbHkgYSBnb29kIHNvbHV0aW9uIGVpdGhlciwgc2luY2UgdGhlcmUncyBhIGxvdCBvZgogbG9va3VwcyBpbnZvbHZlZC4KLTwvRU0+PC9FTT48L0VNPgorCiA8UD4KLTxFTT48RU0+PEVNPlRoZSB3YXkgaXQgd29ya3MgaXMgdGhhdCB5b3UgaGF2ZSB0byBzdXBwbHkgYSBgYDx0dCBjbGFzcz0iY2xhc3MiPnNvY2tldDwvdHQ+LWxpa2UnJyB0cmFuc3BvcnQKK1RoZSB3YXkgaXQgd29ya3MgaXMgdGhhdCB5b3UgaGF2ZSB0byBzdXBwbHkgYSBgYDx0dCBjbGFzcz0iY2xhc3MiPnNvY2tldDwvdHQ+LWxpa2UnJyB0cmFuc3BvcnQKIG9iamVjdCB0byB0aGUgPHR0IGNsYXNzPSJjbGFzcyI+U1NMLkNvbm5lY3Rpb248L3R0Pi4gVGhlIG9ubHkgcmVxdWlyZW1lbnQgb2YgdGhpcyBvYmplY3QgaXMKIHRoYXQgaXQgaGFzIGEgPHR0IGNsYXNzPSJtZXRob2QiPmZpbGVubygpPC90dD4gbWV0aG9kIHRoYXQgcmV0dXJucyBhIGZpbGUgZGVzY3JpcHRvciB0aGF0J3MKIHZhbGlkIGF0IHRoZSBDIGxldmVsIChpLmUuIHlvdSBjYW4gdXNlIHRoZSBzeXN0ZW0gY2FsbHMgcmVhZCBhbmQgd3JpdGUpLiBJZiB5b3UKQEAgLTY4LDkgKzY5LDkgQEAKIDx0dCBjbGFzcz0iY2xhc3MiPlNTTC5Db25uZWN0aW9uPC90dD4gb2JqZWN0LCB0aGUgdHJhbnNwb3J0IG9iamVjdCBoYXMgdG8gc3VwcGx5IHN1Y2gKIG1ldGhvZHMgdG9vLiBBcGFydCBmcm9tIHRoZW0sIGFueSBtZXRob2QgbG9va3VwcyBpbiB0aGUgPHR0IGNsYXNzPSJjbGFzcyI+U1NMLkNvbm5lY3Rpb248L3R0Pgogb2JqZWN0IHRoYXQgZmFpbCBhcmUgcGFzc2VkIG9uIHRvIHRoZSB1bmRlcmx5aW5nIHRyYW5zcG9ydCBvYmplY3QuCi08L0VNPjwvRU0+PC9FTT4KKwogPFA+Ci08RU0+PEVNPjxFTT5GdXR1cmUgY2hhbmdlcyBtaWdodCBiZSB0byBhbGxvdyBQeXRob24tbGV2ZWwgdHJhbnNwb3J0IG9iamVjdHMsIHRoYXQgaW5zdGVhZAorRnV0dXJlIGNoYW5nZXMgbWlnaHQgYmUgdG8gYWxsb3cgUHl0aG9uLWxldmVsIHRyYW5zcG9ydCBvYmplY3RzLCB0aGF0IGluc3RlYWQKIG9mIGhhdmluZyA8dHQgY2xhc3M9Im1ldGhvZCI+ZmlsZW5vKCk8L3R0PiBtZXRob2RzLCBoYXZlIDx0dCBjbGFzcz0ibWV0aG9kIj5yZWFkKCk8L3R0PiBhbmQgPHR0IGNsYXNzPSJtZXRob2QiPndyaXRlKCk8L3R0PgogbWV0aG9kcywgc28gbW9yZSBhZHZhbmNlZCBmZWF0dXJlcyBvZiBQeXRob24gY2FuIGJlIHVzZWQuIFRoaXMgd291bGQgcHJvYmFibHkKIGVudGFpbCBzb21lIHNvcnQgb2YgT3BlblNTTCBgYEJJT3MnJywgYnV0IGNvbnZlcnRpbmcgUHl0aG9uIHN0cmluZ3MgYmFjayBhbmQKQEAgLTc5LDcgKzgwLDcgQEAKIGFuZCB3cml0aW5nLCBidXQgdGhlbiB0aGUgPHR0IGNsYXNzPSJtZXRob2QiPmZpbGVubygpPC90dD4gbWV0aG9kIG9mIDx0dCBjbGFzcz0iY2xhc3MiPlNTTC5Db25uZWN0aW9uPC90dD4KIGJlY29tZXMgdmlydHVhbGx5IHVzZWxlc3MuIEFsc28sIHNob3VsZCB0aGUgbWV0aG9kIHJlc29sdXRpb24gYmUgdXNlZCBvbiB0aGUKIHJlYWQtdHJhbnNwb3J0IG9yIHRoZSB3cml0ZS10cmFuc3BvcnQ/Ci08L0VNPjwvRU0+PC9FTT4KKwogPFA+CiAKIDxESVYgQ0xBU1M9Im5hdmlnYXRpb24iPgo=