ZGlmZiAtLWdpdCBhL1JFQURNRS5hbmRyb2lkIGIvUkVBRE1FLmFuZHJvaWQKaW5kZXggYzM4YTZjMy4uNGQ5Mzc4MiAxMDA2NDQKLS0tIGEvUkVBRE1FLmFuZHJvaWQKKysrIGIvUkVBRE1FLmFuZHJvaWQKQEAgLTEsNCArMSw0IEBACiBVUkw6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9saWJwaG9uZW51bWJlci8KLVZlcnNpb246IHIzOQorVmVyc2lvbjogcjQyCiBMaWNlbnNlOiBBcGFjaGUgMgogRGVzY3JpcHRpb246IEdvb2dsZSBQaG9uZSBOdW1iZXIgTGlicmFyeS4KZGlmZiAtLWdpdCBhL2phdmEvcmVzb3VyY2VzL2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvQnVpbGRNZXRhZGF0YVByb3RvRnJvbVhtbC5qYXZhIGIvamF2YS9yZXNvdXJjZXMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9CdWlsZE1ldGFkYXRhUHJvdG9Gcm9tWG1sLmphdmEKaW5kZXggMmQyYTUwZC4uNzA0M2EzNCAxMDA2NDQKLS0tIGEvamF2YS9yZXNvdXJjZXMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9CdWlsZE1ldGFkYXRhUHJvdG9Gcm9tWG1sLmphdmEKKysrIGIvamF2YS9yZXNvdXJjZXMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9CdWlsZE1ldGFkYXRhUHJvdG9Gcm9tWG1sLmphdmEKQEAgLTIzLDExICsyMyw5IEBACiBpbXBvcnQgb3JnLnczYy5kb20uRG9jdW1lbnQ7CiBpbXBvcnQgb3JnLnczYy5kb20uRWxlbWVudDsKIGltcG9ydCBvcmcudzNjLmRvbS5Ob2RlTGlzdDsKLWltcG9ydCBvcmcueG1sLnNheC5TQVhFeGNlcHRpb247CiAKIGltcG9ydCBqYXZhLmlvLkZpbGU7CiBpbXBvcnQgamF2YS5pby5GaWxlT3V0cHV0U3RyZWFtOwotaW1wb3J0IGphdmEuaW8uSU9FeGNlcHRpb247CiBpbXBvcnQgamF2YS5pby5PYmplY3RPdXRwdXRTdHJlYW07CiBpbXBvcnQgamF2YS51dGlsLmxvZ2dpbmcuTGV2ZWw7CiBpbXBvcnQgamF2YS51dGlsLmxvZ2dpbmcuTG9nZ2VyOwpAQCAtMzUsNyArMzMsNiBAQAogCiBpbXBvcnQgamF2YXgueG1sLnBhcnNlcnMuRG9jdW1lbnRCdWlsZGVyOwogaW1wb3J0IGphdmF4LnhtbC5wYXJzZXJzLkRvY3VtZW50QnVpbGRlckZhY3Rvcnk7Ci1pbXBvcnQgamF2YXgueG1sLnBhcnNlcnMuUGFyc2VyQ29uZmlndXJhdGlvbkV4Y2VwdGlvbjsKIAogLyoqCiAgKiBUb29sIHRvIGNvbnZlcnQgcGhvbmUgbnVtYmVyIG1ldGFkYXRhIGZyb20gdGhlIFhNTCBmb3JtYXQgdG8gcHJvdG9jb2wgYnVmZmVyIGZvcm1hdC4gSXQgaXMKQEAgLTU1LDM3ICs1MiwzMCBAQAogICBwcml2YXRlIHN0YXRpYyBmaW5hbCBMb2dnZXIgTE9HR0VSID0gTG9nZ2VyLmdldExvZ2dlcihCdWlsZE1ldGFkYXRhUHJvdG9Gcm9tWG1sLmNsYXNzLmdldE5hbWUoKSk7CiAgIHByaXZhdGUgc3RhdGljIEJvb2xlYW4gbGl0ZUJ1aWxkOwogCi0gIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKKyAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4Y2VwdGlvbiB7CiAgICAgU3RyaW5nIGlucHV0RmlsZSA9IGFyZ3NbMF07CiAgICAgU3RyaW5nIG91dHB1dEZpbGUgPSBhcmdzWzFdOwogICAgIGxpdGVCdWlsZCA9IGFyZ3MubGVuZ3RoID4gMiAmJiBCb29sZWFuLmdldEJvb2xlYW4oYXJnc1syXSk7CiAgICAgRmlsZSB4bWxGaWxlID0gbmV3IEZpbGUoaW5wdXRGaWxlKTsKLSAgICB0cnkgewotICAgICAgRmlsZU91dHB1dFN0cmVhbSBvdXRwdXQgPSBuZXcgRmlsZU91dHB1dFN0cmVhbShvdXRwdXRGaWxlKTsKLSAgICAgIERvY3VtZW50QnVpbGRlckZhY3RvcnkgYnVpbGRlckZhY3RvcnkgPSBEb2N1bWVudEJ1aWxkZXJGYWN0b3J5Lm5ld0luc3RhbmNlKCk7Ci0gICAgICBEb2N1bWVudEJ1aWxkZXIgYnVpbGRlciA9IGJ1aWxkZXJGYWN0b3J5Lm5ld0RvY3VtZW50QnVpbGRlcigpOwotICAgICAgRG9jdW1lbnQgZG9jdW1lbnQgPSBidWlsZGVyLnBhcnNlKHhtbEZpbGUpOwotICAgICAgZG9jdW1lbnQuZ2V0RG9jdW1lbnRFbGVtZW50KCkubm9ybWFsaXplKCk7Ci0gICAgICBFbGVtZW50IHJvb3RFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RG9jdW1lbnRFbGVtZW50KCk7Ci0gICAgICBOb2RlTGlzdCB0ZXJyaXRvcnkgPSByb290RWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGVycml0b3J5Iik7Ci0gICAgICBQaG9uZU1ldGFkYXRhQ29sbGVjdGlvbiBtZXRhZGF0YUNvbGxlY3Rpb24gPSBuZXcgUGhvbmVNZXRhZGF0YUNvbGxlY3Rpb24oKTsKLSAgICAgIGludCBudW1PZlRlcnJpdG9yaWVzID0gdGVycml0b3J5LmdldExlbmd0aCgpOwotICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1PZlRlcnJpdG9yaWVzOyBpKyspIHsKLSAgICAgICAgRWxlbWVudCB0ZXJyaXRvcnlFbGVtZW50ID0gKEVsZW1lbnQpIHRlcnJpdG9yeS5pdGVtKGkpOwotICAgICAgICBTdHJpbmcgcmVnaW9uQ29kZSA9IHRlcnJpdG9yeUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpOwotICAgICAgICBQaG9uZU1ldGFkYXRhIG1ldGFkYXRhID0gbG9hZENvdW50cnlNZXRhZGF0YShyZWdpb25Db2RlLCB0ZXJyaXRvcnlFbGVtZW50KTsKLSAgICAgICAgbWV0YWRhdGFDb2xsZWN0aW9uLmFkZE1ldGFkYXRhKG1ldGFkYXRhKTsKLSAgICAgIH0KLSAgICAgIE9iamVjdE91dHB1dFN0cmVhbSBvdXQgPSBuZXcgT2JqZWN0T3V0cHV0U3RyZWFtKG91dHB1dCk7Ci0gICAgICBtZXRhZGF0YUNvbGxlY3Rpb24ud3JpdGVFeHRlcm5hbChvdXQpOwotICAgICAgb3V0LmNsb3NlKCk7Ci0gICAgfSBjYXRjaCAoSU9FeGNlcHRpb24gZSkgewotICAgICAgTE9HR0VSLmxvZyhMZXZlbC5TRVZFUkUsIGUudG9TdHJpbmcoKSk7Ci0gICAgfSBjYXRjaCAoU0FYRXhjZXB0aW9uIGUpIHsKLSAgICAgIExPR0dFUi5sb2coTGV2ZWwuU0VWRVJFLCBlLnRvU3RyaW5nKCkpOwotICAgIH0gY2F0Y2ggKFBhcnNlckNvbmZpZ3VyYXRpb25FeGNlcHRpb24gZSkgewotICAgICAgTE9HR0VSLmxvZyhMZXZlbC5TRVZFUkUsIGUudG9TdHJpbmcoKSk7CisKKyAgICBGaWxlT3V0cHV0U3RyZWFtIG91dHB1dCA9IG5ldyBGaWxlT3V0cHV0U3RyZWFtKG91dHB1dEZpbGUpOworICAgIERvY3VtZW50QnVpbGRlckZhY3RvcnkgYnVpbGRlckZhY3RvcnkgPSBEb2N1bWVudEJ1aWxkZXJGYWN0b3J5Lm5ld0luc3RhbmNlKCk7CisgICAgRG9jdW1lbnRCdWlsZGVyIGJ1aWxkZXIgPSBidWlsZGVyRmFjdG9yeS5uZXdEb2N1bWVudEJ1aWxkZXIoKTsKKyAgICBEb2N1bWVudCBkb2N1bWVudCA9IGJ1aWxkZXIucGFyc2UoeG1sRmlsZSk7CisgICAgZG9jdW1lbnQuZ2V0RG9jdW1lbnRFbGVtZW50KCkubm9ybWFsaXplKCk7CisgICAgRWxlbWVudCByb290RWxlbWVudCA9IGRvY3VtZW50LmdldERvY3VtZW50RWxlbWVudCgpOworICAgIE5vZGVMaXN0IHRlcnJpdG9yeSA9IHJvb3RFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZXJyaXRvcnkiKTsKKyAgICBQaG9uZU1ldGFkYXRhQ29sbGVjdGlvbiBtZXRhZGF0YUNvbGxlY3Rpb24gPSBuZXcgUGhvbmVNZXRhZGF0YUNvbGxlY3Rpb24oKTsKKyAgICBpbnQgbnVtT2ZUZXJyaXRvcmllcyA9IHRlcnJpdG9yeS5nZXRMZW5ndGgoKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bU9mVGVycml0b3JpZXM7IGkrKykgeworICAgICAgRWxlbWVudCB0ZXJyaXRvcnlFbGVtZW50ID0gKEVsZW1lbnQpIHRlcnJpdG9yeS5pdGVtKGkpOworICAgICAgU3RyaW5nIHJlZ2lvbkNvZGUgPSB0ZXJyaXRvcnlFbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKTsKKyAgICAgIFBob25lTWV0YWRhdGEgbWV0YWRhdGEgPSBsb2FkQ291bnRyeU1ldGFkYXRhKHJlZ2lvbkNvZGUsIHRlcnJpdG9yeUVsZW1lbnQpOworICAgICAgbWV0YWRhdGFDb2xsZWN0aW9uLmFkZE1ldGFkYXRhKG1ldGFkYXRhKTsKICAgICB9CisgICAgT2JqZWN0T3V0cHV0U3RyZWFtIG91dCA9IG5ldyBPYmplY3RPdXRwdXRTdHJlYW0ob3V0cHV0KTsKKyAgICBtZXRhZGF0YUNvbGxlY3Rpb24ud3JpdGVFeHRlcm5hbChvdXQpOworICAgIG91dC5jbG9zZSgpOwogICB9CiAKICAgcHJpdmF0ZSBzdGF0aWMgU3RyaW5nIHZhbGlkYXRlUkUoU3RyaW5nIHJlZ2V4KSB7CkBAIC0xNTQsMTEgKzE0NCwxNiBAQAogICAgICAgICB9IGVsc2UgewogICAgICAgICAgIGZvcm1hdC5zZXREb21lc3RpY0NhcnJpZXJDb2RlRm9ybWF0dGluZ1J1bGUoY2FycmllckNvZGVGb3JtYXR0aW5nUnVsZSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKG51bWJlckZvcm1hdEVsZW1lbnQuaGFzQXR0cmlidXRlKCJsZWFkaW5nRGlnaXRzIikpIHsKLSAgICAgICAgICBmb3JtYXQuc2V0TGVhZGluZ0RpZ2l0cyh2YWxpZGF0ZVJFKG51bWJlckZvcm1hdEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsZWFkaW5nRGlnaXRzIikpKTsKLSAgICAgICAgfQorICAgICAgICBzZXRMZWFkaW5nRGlnaXRzUGF0dGVybnMobnVtYmVyRm9ybWF0RWxlbWVudCwgZm9ybWF0KTsKICAgICAgICAgZm9ybWF0LnNldFBhdHRlcm4odmFsaWRhdGVSRShudW1iZXJGb3JtYXRFbGVtZW50LmdldEF0dHJpYnV0ZSgicGF0dGVybiIpKSk7Ci0gICAgICAgIGZvcm1hdC5zZXRGb3JtYXQodmFsaWRhdGVSRShudW1iZXJGb3JtYXRFbGVtZW50LmdldEZpcnN0Q2hpbGQoKS5nZXROb2RlVmFsdWUoKSkpOworICAgICAgICBOb2RlTGlzdCBmb3JtYXRQYXR0ZXJuID0gbnVtYmVyRm9ybWF0RWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybWF0Iik7CisgICAgICAgIGlmIChmb3JtYXRQYXR0ZXJuLmdldExlbmd0aCgpICE9IDEpIHsKKyAgICAgICAgICBMT0dHRVIubG9nKExldmVsLlNFVkVSRSwKKyAgICAgICAgICAgICAgICAgICAgICJPbmx5IG9uZSBmb3JtYXQgcGF0dGVybiBmb3IgYSBudW1iZXJGb3JtYXQgZWxlbWVudCBzaG91bGQgYmUgZGVmaW5lZC4iKTsKKyAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbigiSW52YWxpZCBudW1iZXIgb2YgZm9ybWF0IHBhdHRlcm5zIGZvciBjb3VudHJ5OiAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpb25Db2RlLnRvU3RyaW5nKCkpOworICAgICAgICB9CisgICAgICAgIGZvcm1hdC5zZXRGb3JtYXQodmFsaWRhdGVSRShmb3JtYXRQYXR0ZXJuLml0ZW0oMCkuZ2V0Rmlyc3RDaGlsZCgpLmdldE5vZGVWYWx1ZSgpKSk7CiAgICAgICAgIG1ldGFkYXRhLmFkZE51bWJlckZvcm1hdChmb3JtYXQpOwogICAgICAgfQogICAgIH0KQEAgLTE2OSwxMSArMTY0LDE2IEBACiAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bU9mSW50bEZvcm1hdEVsZW1lbnRzOyBpKyspIHsKICAgICAgICAgRWxlbWVudCBudW1iZXJGb3JtYXRFbGVtZW50ID0gKEVsZW1lbnQpIGludGxOdW1iZXJGb3JtYXRFbGVtZW50cy5pdGVtKGkpOwogICAgICAgICBOdW1iZXJGb3JtYXQgZm9ybWF0ID0gbmV3IE51bWJlckZvcm1hdCgpOwotICAgICAgICBpZiAobnVtYmVyRm9ybWF0RWxlbWVudC5oYXNBdHRyaWJ1dGUoImxlYWRpbmdEaWdpdHMiKSkgewotICAgICAgICAgIGZvcm1hdC5zZXRMZWFkaW5nRGlnaXRzKHZhbGlkYXRlUkUobnVtYmVyRm9ybWF0RWxlbWVudC5nZXRBdHRyaWJ1dGUoImxlYWRpbmdEaWdpdHMiKSkpOwotICAgICAgICB9CisgICAgICBzZXRMZWFkaW5nRGlnaXRzUGF0dGVybnMobnVtYmVyRm9ybWF0RWxlbWVudCwgZm9ybWF0KTsKICAgICAgICAgZm9ybWF0LnNldFBhdHRlcm4odmFsaWRhdGVSRShudW1iZXJGb3JtYXRFbGVtZW50LmdldEF0dHJpYnV0ZSgicGF0dGVybiIpKSk7Ci0gICAgICAgIGZvcm1hdC5zZXRGb3JtYXQodmFsaWRhdGVSRShudW1iZXJGb3JtYXRFbGVtZW50LmdldEZpcnN0Q2hpbGQoKS5nZXROb2RlVmFsdWUoKSkpOworICAgICAgICBOb2RlTGlzdCBmb3JtYXRQYXR0ZXJuID0gbnVtYmVyRm9ybWF0RWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZm9ybWF0Iik7CisgICAgICAgIGlmIChmb3JtYXRQYXR0ZXJuLmdldExlbmd0aCgpICE9IDEpIHsKKyAgICAgICAgICBMT0dHRVIubG9nKExldmVsLlNFVkVSRSwKKyAgICAgICAgICAgICAgICAgICAgICJPbmx5IG9uZSBmb3JtYXQgcGF0dGVybiBmb3IgYSBudW1iZXJGb3JtYXQgZWxlbWVudCBzaG91bGQgYmUgZGVmaW5lZC4iKTsKKyAgICAgICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbigiSW52YWxpZCBudW1iZXIgb2YgZm9ybWF0IHBhdHRlcm5zIGZvciBjb3VudHJ5OiAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpb25Db2RlLnRvU3RyaW5nKCkpOworICAgICAgICB9CisgICAgICAgIGZvcm1hdC5zZXRGb3JtYXQodmFsaWRhdGVSRShmb3JtYXRQYXR0ZXJuLml0ZW0oMCkuZ2V0Rmlyc3RDaGlsZCgpLmdldE5vZGVWYWx1ZSgpKSk7CiAgICAgICAgIGlmIChudW1iZXJGb3JtYXRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgiY2FycmllckNvZGVGb3JtYXR0aW5nUnVsZSIpKSB7CiAgICAgICAgICAgZm9ybWF0LnNldERvbWVzdGljQ2FycmllckNvZGVGb3JtYXR0aW5nUnVsZSh2YWxpZGF0ZVJFKAogICAgICAgICAgICAgICBnZXREb21lc3RpY0NhcnJpZXJDb2RlRm9ybWF0dGluZ1J1bGVGcm9tRWxlbWVudChudW1iZXJGb3JtYXRFbGVtZW50LApAQCAtMjA0LDYgKzIwNCwxNyBAQAogICAgIHJldHVybiBtZXRhZGF0YTsKICAgfQogCisgIHByaXZhdGUgc3RhdGljIHZvaWQgc2V0TGVhZGluZ0RpZ2l0c1BhdHRlcm5zKEVsZW1lbnQgbnVtYmVyRm9ybWF0RWxlbWVudCwgTnVtYmVyRm9ybWF0IGZvcm1hdCkgeworICAgIE5vZGVMaXN0IGxlYWRpbmdEaWdpdHNQYXR0ZXJuTm9kZXMgPSBudW1iZXJGb3JtYXRFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsZWFkaW5nRGlnaXRzIik7CisgICAgaW50IG51bU9mTGVhZGluZ0RpZ2l0c1BhdHRlcm5zID0gbGVhZGluZ0RpZ2l0c1BhdHRlcm5Ob2Rlcy5nZXRMZW5ndGgoKTsKKyAgICBpZiAobnVtT2ZMZWFkaW5nRGlnaXRzUGF0dGVybnMgPiAwKSB7CisgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bU9mTGVhZGluZ0RpZ2l0c1BhdHRlcm5zOyBpKyspIHsKKyAgICAgICAgZm9ybWF0LmFkZExlYWRpbmdEaWdpdHNQYXR0ZXJuKAorICAgICAgICAgICAgdmFsaWRhdGVSRSgobGVhZGluZ0RpZ2l0c1BhdHRlcm5Ob2Rlcy5pdGVtKGkpKS5nZXRGaXJzdENoaWxkKCkuZ2V0Tm9kZVZhbHVlKCkpKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKwogICBwcml2YXRlIHN0YXRpYyBTdHJpbmcgZ2V0TmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZUZyb21FbGVtZW50KEVsZW1lbnQgZWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcgbmF0aW9uYWxQcmVmaXgpIHsKICAgICBTdHJpbmcgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlIik7CmRpZmYgLS1naXQgYS9qYXZhL3Jlc291cmNlcy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL3Byb3RvL3Bob25lbWV0YWRhdGEucHJvdG8gYi9qYXZhL3Jlc291cmNlcy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL3Byb3RvL3Bob25lbWV0YWRhdGEucHJvdG8KaW5kZXggNmMzMGUxNC4uYjM0ODZhYiAxMDA2NDQKLS0tIGEvamF2YS9yZXNvdXJjZXMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9wcm90by9waG9uZW1ldGFkYXRhLnByb3RvCisrKyBiL2phdmEvcmVzb3VyY2VzL2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvcHJvdG8vcGhvbmVtZXRhZGF0YS5wcm90bwpAQCAtNDAsMTMgKzQwLDIxIEBACiAgIC8vIHJlZ2V4IHNwZWNpZmllZCBieSBwYXR0ZXJuLgogICByZXF1aXJlZCBzdHJpbmcgZm9ybWF0ID0gMjsKIAotICAvLyBsZWFkaW5nRGlnaXRzIGlzIGEgcmVnZXggdGhhdCBpcyB1c2VkIHRvIG1hdGNoIHVwIHRvIHRoZSBmaXJzdCBmb3VyIGRpZ2l0cwotICAvLyBvZiB0aGUgbmF0aW9uYWwgKHNpZ25pZmljYW50KSBudW1iZXIuIFdoZW4gdGhlIG1hdGNoIGlzIHN1Y2Nlc3NmdWwsIHRoZQotICAvLyBhY2NvbXBhbnlpbmcgcGF0dGVybiBhbmQgZm9ybWF0IHNob3VsZCBiZSB1c2VkIHRvIGZvcm1hdCB0aGlzIG51bWJlci4gRm9yCi0gIC8vIGV4YW1wbGUsIGlmIGxlYWRpbmdfZGlnaXRzPSJbMS0zXXw0NCIsIHRoZW4gYWxsIHRoZSBuYXRpb25hbCBudW1iZXJzCi0gIC8vIHN0YXJ0aW5nIHdpdGggMSwgMiwgMyBvciA0NCBzaG91bGQgYmUgZm9ybWF0dGVkIHVzaW5nIHRoZSBhY2NvbXBhbnlpbmcKLSAgLy8gcGF0dGVybiBhbmQgZm9ybWF0LgotICBvcHRpb25hbCBzdHJpbmcgbGVhZGluZ19kaWdpdHMgPSAzOworICAvLyBUaGlzIGZpZWxkIGlzIGEgcmVnZXggdGhhdCBpcyB1c2VkIHRvIG1hdGNoIGEgY2VydGFpbiBudW1iZXIgb2YgZGlnaXRzCisgIC8vIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5hdGlvbmFsIChzaWduaWZpY2FudCkgbnVtYmVyLiBXaGVuIHRoZSBtYXRjaCBpcworICAvLyBzdWNjZXNzZnVsLCB0aGUgYWNjb21wYW55aW5nIHBhdHRlcm4gYW5kIGZvcm1hdCBzaG91bGQgYmUgdXNlZCB0byBmb3JtYXQKKyAgLy8gdGhpcyBudW1iZXIuIEZvciBleGFtcGxlLCBpZiBsZWFkaW5nX2RpZ2l0cz0iWzEtM118NDQiLCB0aGVuIGFsbCB0aGUKKyAgLy8gbmF0aW9uYWwgbnVtYmVycyBzdGFydGluZyB3aXRoIDEsIDIsIDMgb3IgNDQgc2hvdWxkIGJlIGZvcm1hdHRlZCB1c2luZyB0aGUKKyAgLy8gYWNjb21wYW55aW5nIHBhdHRlcm4gYW5kIGZvcm1hdC4KKyAgLy8KKyAgLy8gVGhlIGZpcnN0IGxlYWRpbmdEaWdpdHNQYXR0ZXJuIG1hdGNoZXMgdXAgdG8gdGhlIGZpcnN0IHRocmVlIGRpZ2l0cyBvZiB0aGUKKyAgLy8gbmF0aW9uYWwgKHNpZ25pZmljYW50KSBudW1iZXI7IHRoZSBuZXh0IG9uZSBtYXRjaGVzIHRoZSBmaXJzdCBmb3VyIGRpZ2l0cywKKyAgLy8gdGhlbiB0aGUgZmlyc3QgZml2ZSBhbmQgc28gb24sIHVudGlsIHRoZSBsZWFkaW5nRGlnaXRzUGF0dGVybiBjYW4gdW5pcXVlbHkKKyAgLy8gaWRlbnRpZnkgb25lIHBhdHRlcm4gYW5kIGZvcm1hdCB0byBiZSB1c2VkIHRvIGZvcm1hdCB0aGUgbnVtYmVyLgorICAvLworICAvLyBJbiB0aGUgY2FzZSB3aGVuIG9ubHkgb25lIGZvcm1hdHRpbmcgcGF0dGVybiBleGlzdHMsIG5vCisgIC8vIGxlYWRpbmdfZGlnaXRzX3BhdHRlcm4gaXMgbmVlZGVkLgorICByZXBlYXRlZCBzdHJpbmcgbGVhZGluZ19kaWdpdHNfcGF0dGVybiA9IDM7CiAKICAgLy8gVGhpcyBmaWVsZCBzcGVjaWZpZXMgaG93IHRoZSBuYXRpb25hbCBwcmVmaXggKCROUCkgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKICAgLy8gZ3JvdXAgKCRGRykgaW4gdGhlIG5hdGlvbmFsIHNpZ25pZmljYW50IG51bWJlciBzaG91bGQgYmUgZm9ybWF0dGVkIGluCkBAIC0xNzgsMTUgKzE4Niw2IEBACiAgIC8vIC0ganVzdCB0aGUgaWRlYWwgd2F5IHdlIHdvdWxkIGxpa2UgdG8gZm9ybWF0IGl0IGZvciB0aGVtLiBXaGVuIHRoaXMgZWxlbWVudAogICAvLyBpcyBhYnNlbnQsIHRoZSBuYXRpb25hbCBzaWduaWZpY2FudCBudW1iZXIgd2lsbCBiZSBmb3JtYXR0ZWQgYXMgYSB3aG9sZQogICAvLyB3aXRob3V0IGFueSBmb3JtYXR0aW5nIGFwcGxpZWQuCi0gIC8vCi0gIC8vIFdoZW4gZm9ybWF0dGluZywgdGhlIGxpYnJhcnkgZ29lcyB0aHJvdWdoIHRoZSBsaXN0IG9mIGZvcm1hdHMgZnJvbSB0aGUKLSAgLy8gYmVnaW5uaW5nIGFuZCB0aGUgZmlyc3Qgc3VjY2Vzc2Z1bCBtYXRjaCBpcyB1c2VkIHRvIGRvIHRoZSBmb3JtYXR0aW5nLgotICAvLyBBIG1hdGNoIGlzIHN1Y2Nlc3NmdWwgaWYgdGhlIHBob25lIG51bWJlciBiZWluZyBmb3JtYXR0ZWQgc3RhcnRzIHdpdGgKLSAgLy8gZGlnaXRzIG1hdGNoaW5nIHRoZSBsZWFkaW5nRGlnaXRzIGFuZCB0aGUgbnVtYmVyIGl0c2VsZiBtYXRjaGVzIHRoZQotICAvLyBjb3JyZXNwb25kaW5nIHBhdHRlcm4uIEhvd2V2ZXIsIEFzWW91VHlwZUZvcm1hdHRlciBnb2VzIHRocm91Z2ggdGhlIHdob2xlCi0gIC8vIGxpc3QgYW5kIHNlbGVjdHMgZm9ybWF0cyB3aG9zZSBsZWFkaW5nRGlnaXRzIG1hdGNoIHdoYXQgaGFzIGJlZW4gdHlwZWQKLSAgLy8gc28gZmFyLiBUaGVyZWZvcmUsIGhhdmluZyBtb3JlIHNwZWNpZmljIGxlYWRpbmdEaWdpdHMgaW1wcm92ZXMgdGhlCi0gIC8vIHBlcmZvcm1hbmNlIG9mIEFzWW91VHlwZUZvcm1hdHRlciBpbiB0ZXJtcyBvZiBzcGVlZC4KICAgcmVwZWF0ZWQgTnVtYmVyRm9ybWF0IG51bWJlcl9mb3JtYXQgPSAxOTsKIAogICAvLyBUaGlzIGZpZWxkIGlzIHBvcHVsYXRlZCBvbmx5IHdoZW4gdGhlIG5hdGlvbmFsIHNpZ25pZmljYW50IG51bWJlciBpcwpkaWZmIC0tZ2l0IGEvamF2YS9yZXNvdXJjZXMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9zcmMvUGhvbmVOdW1iZXJNZXRhRGF0YS54bWwgYi9qYXZhL3Jlc291cmNlcy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL3NyYy9QaG9uZU51bWJlck1ldGFEYXRhLnhtbAppbmRleCAxOTU4Y2VhLi5iMjdiNTM0IDEwMDY0NAotLS0gYS9qYXZhL3Jlc291cmNlcy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL3NyYy9QaG9uZU51bWJlck1ldGFEYXRhLnhtbAorKysgYi9qYXZhL3Jlc291cmNlcy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL3NyYy9QaG9uZU51bWJlck1ldGFEYXRhLnhtbApAQCAtNDgsOCArNDgsMTAgQEAKICAgICA8IUVMRU1FTlQgbmF0aW9uYWxOdW1iZXJQYXR0ZXJuICgjUENEQVRBKT4KICAgICA8IUVMRU1FTlQgcG9zc2libGVOdW1iZXJQYXR0ZXJuICgjUENEQVRBKT4KICAgICA8IUVMRU1FTlQgZXhhbXBsZU51bWJlciAoI1BDREFUQSk+Ci0gICAgPCFFTEVNRU5UIG51bWJlckZvcm1hdCAoI1BDREFUQSk+Ci0gICAgPCFFTEVNRU5UIGludGxOdW1iZXJGb3JtYXQgKCNQQ0RBVEEpPgorICAgIDwhRUxFTUVOVCBudW1iZXJGb3JtYXQgKGxlYWRpbmdEaWdpdHMqLCBmb3JtYXQpPgorICAgIDwhRUxFTUVOVCBpbnRsTnVtYmVyRm9ybWF0IChsZWFkaW5nRGlnaXRzKiwgZm9ybWF0KT4KKyAgICA8IUVMRU1FTlQgZm9ybWF0ICgjUENEQVRBKT4KKyAgICA8IUVMRU1FTlQgbGVhZGluZ0RpZ2l0cyAoI1BDREFUQSk+CiAKICAgICA8IUFUVExJU1QgdGVycml0b3J5IGlkIENEQVRBICNSRVFVSVJFRD4KICAgICA8IUFUVExJU1QgdGVycml0b3J5IGNvdW50cnlDb2RlIENEQVRBICNSRVFVSVJFRD4KQEAgLTY1LDkgKzY3LDcgQEAKICAgICA8IUFUVExJU1QgdGVycml0b3J5IGNhcnJpZXJDb2RlRm9ybWF0dGluZ1J1bGUgQ0RBVEEgI0lNUExJRUQ+CiAgICAgPCFBVFRMSVNUIG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlIENEQVRBICNJTVBMSUVEPgogICAgIDwhQVRUTElTVCBudW1iZXJGb3JtYXQgY2FycmllckNvZGVGb3JtYXR0aW5nUnVsZSBDREFUQSAjSU1QTElFRD4KLSAgICA8IUFUVExJU1QgbnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHMgQ0RBVEEgI0lNUExJRUQ+CiAgICAgPCFBVFRMSVNUIG51bWJlckZvcm1hdCBwYXR0ZXJuIENEQVRBICNSRVFVSVJFRD4KLSAgICA8IUFUVExJU1QgaW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzIENEQVRBICNJTVBMSUVEPgogICAgIDwhQVRUTElTVCBpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm4gQ0RBVEEgI1JFUVVJUkVEPgogICAgIDwhQVRUTElTVCBpbnRsTnVtYmVyRm9ybWF0IGNhcnJpZXJDb2RlRm9ybWF0dGluZ1J1bGUgQ0RBVEEgI0lNUExJRUQ+CiAgICAgXT4KQEAgLTc4LDggKzc4LDE0IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDA1L2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkFEIiBjb3VudHJ5Q29kZT0iMzc2IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMzQ2LTldIiBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxIiBwYXR0ZXJuPSIoMTgwWzAyXSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMzQ2LTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDE4MFswMl0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPig/OlszNDYtOV18MTgwKVxkezV9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xMTgsMTIgKzEyNCwyMiBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IkFFIiBjb3VudHJ5Q29kZT0iOTcxIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzItNDY3OV1bMi04XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzItNDY3OV0pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNSIgcGF0dGVybj0iKDVbMDU2XSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNDY3OV0wIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbNDY3OV0wMCkoXGQpKFxkezV9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4IiBwYXR0ZXJuPSIoODAwKShcZHsyfSkoXGR7MCw3fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLTQ2NzldKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMi00Njc5XVsyLThdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDVbMDU2XSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNDY3OV0wMCkoXGQpKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzQ2NzldMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4MDApKFxkezJ9KShcZHswLDd9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLTc5XVxkezcsOH18ODAwXGR7Miw5fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTYxLDcgKzE3Nyw5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iQUYiIGNvdW50cnlDb2RlPSI5MyIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi03XVxkKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi03XVxkKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLTddXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTI0OSwxNyArMjY3LDIyIEBACiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgogICAgICAgICA8IS0tIEZvcm1hdHMgbW9zdGx5IGZvbGxvdyBodHRwOi8vdGlyYW5hLnVzZW1iYXNzeS5nb3YvbGlzdF9vZl9kb2N0b3JzLmh0bWwgLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNFswLTZdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49Iig0KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjYiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDZbNi05XSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjM1OF1bMi01XXw0WzctOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyMzU4XVsxNi05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MDAiIHBhdHRlcm49Iig4MDApKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5fDgwOCIgcGF0dGVybj0iKFxkezN9KShcZHszfSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNyIgcGF0dGVybj0iKDcwMCkoXGR7NX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig0KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz40WzAtNl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNls2LTldKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjM1OF1bMi01XXw0WzctOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezMsNX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjM1XVsxNi05XXw4WzAxNi05XXxbNzldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItNTddXGR7N318Nlxkezh9fDhcZHs1LDd9fDlcZHs1fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMzEzLDcgKzMzNiw5IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDA2L2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkFPIiBjb3VudHJ5Q29kZT0iMjQ0IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyOV1cZHs4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMzM3LDM4ICszNjIsNzAgQEAKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiAgbmF0aW9uYWxQcmVmaXhGb3JQYXJzaW5nPSIwKD86KDExfDIoPzoyKD86MDI/fFsxM118MlsxMy03OV18NFsxLTZdfDVbMjQ1N118NlsxMjQtOF18N1sxLTRdfDhbMTMtNl18OVsxLTM2N10pfDMoPzpbMDZdMnwxWzQ2N118MlswMi02XXwzWzEzLThdfFs0OV1bMi02XXw1WzItOF18Nyl8NDdbMy01NzhdfDYoPzoxfDJbMi03XXw0WzYtOF0/fDVbMTI1LThdKXw5KD86MFsxLTNdfFsxOV18MlxkfDNbMS02XXw0WzAtMjQtNjhdfDVbMi00XXw2WzItNl18NzI/fDhbMjNdPykpfDMoPzozKD86Mls3OV18OFsyNTc4XSl8NCg/OjBbMTI0LTldfFsxMl18M1s1LThdP3w0WzI0LTddfDVbNC02OF0/fDZcZHw3WzEyNl18OFsyMzctOV18OVsxLTM2LThdKXw1KD86MXwyWzEyNDVdfDNbMi00XT98NFsxLTQ2LTldfDZbMi00XXw3WzEtNl18OFsyLTVdPyl8Nyg/OjFbMTUtOF18MlsxMjVdfDNbMTI0NV18NFsxM118NVsxMjQtOF18N1syLTU3XXw4WzEtMzZdKXw4KD86MXwyWzEyNS03XXwzWzIzNTc4XXw0WzEzLTZdfDVbNC04XT98NlsxLTM1Ny05XXw3WzUtOF0/fDhbNC03XT98OVsxMjRdKSkpMTUpPyIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4VHJhbnNmb3JtUnVsZT0iOSQxIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzY4XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzY4XVxkezJ9KShcZHszfSkoXGR7NH0pIj4kMS0kMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8aW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNjhdIgotICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzY4XVxkezJ9KShcZHszfSkoXGR7NH0pIj4kMS0kMi0kMzwvaW50bE51bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5MSIgcGF0dGVybj0iOSgxMSkoXGR7NH0pKFxkezR9KSI+JDEgMTUtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOTEiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IjkoMTEpKFxkezR9KShcZHs0fSkiPjkgJDEgJDItJDM8L2ludGxOdW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSg/OjIoPzoyWzAxM118Mzd8NlsxNF18OVsxNzldKXwzKD86NFsxMjM1XXw1WzEzOF18OFsxNTc4XSkpIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IjkoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxIDE1LSQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0Ci0gICAgICAgICAgICBsZWFkaW5nRGlnaXRzPSI5KD86Mig/OjJbMDEzXXwzN3w2WzE0XXw5WzE3OV0pfDMoPzo0WzEyMzVdfDVbMTM4XXw4WzE1NzhdKSkiCi0gICAgICAgICAgICBwYXR0ZXJuPSI5KFxkezN9KShcZHszfSkoXGR7NH0pIj45ICQxICQyLSQzPC9pbnRsTnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0Ci0gICAgICAgICAgICBsZWFkaW5nRGlnaXRzPSI5KD86Mig/OjJbMjQtOV18M1swLTY5XXw0N3w2WzI1XXw5WzAyLTY4XSl8Myg/OjNbMjhdfDRbMDQ2LTldfDVbMjQ2N118N1sxLTU3OF18OFsyMzQ2OV0pKSIKLSAgICAgICAgICAgIHBhdHRlcm49IjkoXGR7NH0pKFxkezJ9KShcZHs0fSkiPiQxIDE1LSQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0Ci0gICAgICAgICAgICBsZWFkaW5nRGlnaXRzPSI5KD86Mig/OjJbMjQtOV18M1swLTY5XXw0N3w2WzI1XXw5WzAyLTY4XSl8Myg/OjNbMjhdfDRbMDQ2LTldfDVbMjQ2N118N1sxLTU3OF18OFsyMzQ2OV0pKSIKLSAgICAgICAgICAgIHBhdHRlcm49IjkoXGR7NH0pKFxkezJ9KShcZHs0fSkiPjkgJDEgJDItJDM8L2ludGxOdW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSIgcGF0dGVybj0iKDExKShcZHs0fSkoXGR7NH0pIj4kMSAkMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8aW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxIgotICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoMTEpKFxkezR9KShcZHs0fSkiPiQxICQyLSQzPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNjhdXGR7Mn0pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls2OF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMi0kMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgcGF0dGVybj0iKFs2OF1cZHsyfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzY4XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvaW50bE51bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSI5KDExKShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxIDE1LSQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSI5KDExKShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PjkgJDEgJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IjkoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjkoPzoyWzIzNjldfDNbNDU4XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OSg/OjIoPzoyWzAxM118Mzd8NlsxNF18OVsxNzldKXwzKD86NFsxMjM1XXw1WzEzOF18OFsxNTc4XSkpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgMTUtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm49IjkoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjkoPzoyWzIzNjldfDNbNDU4XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OSg/OjIoPzoyWzAxM118Mzd8NlsxNF18OVsxNzldKXwzKD86NFsxMjM1XXw1WzEzOF18OFsxNTc4XSkpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+OSAkMSAkMi0kMzwvZm9ybWF0PgorICAgICAgICA8L2ludGxOdW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iOShcZHs0fSkoXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OSg/OjJbMi00NjldfDNbMy01NzhdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45KD86Mig/OjJbMjQtOV18M1swLTY5XXw0N3w2WzI1XXw5WzAyLTY4XSl8Myg/OjNbMjhdfDRbMDQ2LTldfDVbMjQ2N118N1sxLTU3OF18OFsyMzQ2OV0pKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxIDE1LSQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSI5KFxkezR9KShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45KD86MlsyLTQ2OV18M1szLTU3OF0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjkoPzoyKD86MlsyNC05XXwzWzAtNjldfDQ3fDZbMjVdfDlbMDItNjhdKXwzKD86M1syOF18NFswNDYtOV18NVsyNDY3XXw3WzEtNTc4XXw4WzIzNDY5XSkpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+OSAkMSAkMi0kMzwvZm9ybWF0PgorICAgICAgICA8L2ludGxOdW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDExKShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm49IigxMSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvaW50bE51bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBTb21lIDQtZGlnaXQgYXJlYSBjb2RlcyBhY3R1YWxseSBhcmUgY2F1Z2h0IGJ5IHRoaXMKICAgICAgICAgICAgICBydWxlLiBJJ20gZ2l2aW5nIGhvd2V2ZXIgcHJlZmVyZW5jZSB0byB0aGUgMy1kaWdpdCBhcmVhCiAgICAgICAgICAgICAgY29kZXMsIHNpbmNlIHRoZXkgYXJlIGNvbnNpZGVyYWJseSBsYXJnZXIKICAgICAgICAgICAgICBjb21tdW5pdGllcy4gLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMig/OjJbMDEzXXwzN3w2WzE0XXw5WzE3OV0pfDMoPzo0WzEyMzVdfDVbMTM4XXw4WzE1NzhdKSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIoPzoyWzAxM118Mzd8NlsxNF18OVsxNzldKXwzKD86NFsxMjM1XXw1WzEzOF18OFsxNTc4XSkiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDItJDM8L2ludGxOdW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzIzXSIgcGF0dGVybj0iKFxkezR9KShcZHsyfSkoXGR7NH0pIj4kMSAkMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8aW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjNdIgotICAgICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7NH0pKFxkezJ9KShcZHs0fSkiPiQxICQyLSQzPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Mig/OjJbMDEzXXwzN3w2WzE0XXw5WzE3OV0pfDMoPzo0WzEyMzVdfDVbMTM4XXw4WzE1NzhdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIoPzoyWzAxM118Mzd8NlsxNF18OVsxNzldKXwzKD86NFsxMjM1XXw1WzEzOF18OFsxNTc4XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMi0kMzwvZm9ybWF0PgorICAgICAgICA8L2ludGxOdW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjNdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHs0fSkoXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzIzXTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgPGZvcm1hdD4kMSAkMi0kMzwvZm9ybWF0PgorICAgICAgICA8L2ludGxOdW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs5LDExfTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNDMxLDEyICs0ODgsMTggQEAKICAgICA8dGVycml0b3J5IGlkPSJBVCIgY291bnRyeUNvZGU9IjQzIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMXw1WzA3OV0iIHBhdHRlcm49IihbMTVdKShcZHszLDEyfSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMzE2fDQ2fDUxfDczMnw2KD86NDR8NVswLTM1NzldfFs2LTldKXw3KD86MXxbMjhdMCl8Wzg5XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezMsMTB9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdAotICAgICAgICAgICAgbGVhZGluZ0RpZ2l0cz0iMnwzKD86MVsxLTU3OF18WzMtOF0pfDRbMjM3OF18NVsyLTZdfDYoPzpbMTJdfDRbMS0zNS05XXw1WzQ2OF0pfDcoPzoyWzEtOF18MzV8NFsxLThdfFs1Ny05XSkiCi0gICAgICAgICAgICBwYXR0ZXJuPSIoXGR7NH0pKFxkezMsOX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMTVdKShcZHszLDEyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjF8NVswNzldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszLDEwfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMxNnw0Nnw1MXw3MzJ8Nig/OjQ0fDVbMC0zNTc5XXxbNi05XSl8Nyg/OjF8WzI4XTApfFs4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7NH0pKFxkezMsOX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yfDMoPzoxWzEtNTc4XXxbMy04XSl8NFsyMzc4XXw1WzItNl18Nig/OlsxMl18NFsxLTM1LTldfDVbNDY4XSl8Nyg/OjJbMS04XXwzNXw0WzEtOF18WzU3LTldKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5cZHs0LDEzfTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNDg5LDIzICs1NTIsNDAgQEAKICAgICAgICAgICAgICAgIGludGVybmF0aW9uYWxQcmVmaXg9Iig/OjE0KD86MVsxNF18MzR8NFsxN118WzU2XTZ8N1s0N118ODgpKT8wMDFbMTQtNjg5XSIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyMzc4XSIKLSAgICAgICAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIoJE5QJEZHKSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzIzNzhdKShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjQiCi0gICAgICAgICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49Iig0XGR7Mn0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNSIKLSAgICAgICAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDVbMDVdMCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxKD86WzM4XTAwfDkpIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDFbMzg5XVxkezJ9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IigkTlAkRkcpIgorICAgICAgICAgIHBhdHRlcm49IihbMjM3OF0pKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyMzc4XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoNFxkezJ9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz40PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgorICAgICAgICAgIHBhdHRlcm49Iig1WzA1XTApKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjU8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCisgICAgICAgICAgcGF0dGVybj0iKDFbMzg5XVxkezJ9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86WzM4XTB8OSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OlszOF0wMHw5KTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIEFsdGhvdWdoIHRoZSBuYXRpb25hbCBwbGFuIGRvZXNuJ3QgZXhwbGljaXRseSBzYXkgc28sIHRoZXJlIGlzIG5vIGV2aWRlbmNlIHRoYXQgYQogICAgICAgICAgICAgIDE4MCB4eHh4IG51bWJlciBjb3VsZCBiZSAxODAgMHh4eC4gLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTgwWzEtOV0iIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoMTgwKShcZHs0fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTNbMS05XSIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJEZHIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IigxMykoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCisgICAgICAgICAgcGF0dGVybj0iKDE4MCkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xODA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTgwWzEtOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCisgICAgICAgICAgcGF0dGVybj0iKDEzKShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xM1sxLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtNTc4XVxkezUsOX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU1NCw3ICs2MzQsOSBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5pdHUuaW50L290aC9UMDIwMjAwMDAwQi9lbiAtLT4KICAgICA8dGVycml0b3J5IGlkPSJBVyIgY291bnRyeUNvZGU9IjI5NyIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs1LTldXGR7Mn0pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzUtOV1cZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPls1LTldXGR7Nn08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU4NSwxMiArNjY3LDE0IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvZG1zX3B1Yi9pdHUtdC9vdGgvMDIvMDIvVDAyMDIwMDAwMEYwMDAxTVNXRS5kb2MgLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iQVoiIGNvdW50cnlDb2RlPSI5OTQiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils0LThdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbNC04XVxkKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjFbMjhdfDIyIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbMTJdXGQpKFxkezN9KShcZHszLDR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzAxMy03OV18MlswMTMtOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFsxMl1cZHsyfSkoXGR7NX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzI4XXwyMnxbNC04XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMTJdXGR7Mn0pKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MVswMTMtNzldfDJbMDEzLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEyNC04XVxkezcsOH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTYxOCw3ICs3MDIsOSBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IkJBIiBjb3VudHJ5Q29kZT0iMzg3IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszLTY4OV1cZCkoXGR7M30pKFxkezN9KSI+JDEgJDItJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzMtNjg5XVxkKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlszLTY4OV1cZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjkxLDEwICs3NzcsMjIgQEAKICAgICAgICAgICAgICAgIHByZWZlcnJlZEludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIiBwYXR0ZXJuPSIoMikoXGR7N30pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszLTc5XTEiIHBhdHRlcm49IihcZHsyfSkoXGR7NCw2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzMtNzldWzItOV18OCIgcGF0dGVybj0iKFxkezN9KShcZHszLDd9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxIiBwYXR0ZXJuPSIoXGR7NH0pKFxkezZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMikoXGR7N30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHs0LDZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzMtNzldMTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Myw3fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszLTc5XVsyLTldfDg8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7NH0pKFxkezZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgPCEtLSBUaGlzIGlzIHF1aXRlIGNvbXBsZXggc28gd2UgY2FuIGRlZmluZSB0aGF0IG51bWJlcnMgYmVnaW5uaW5nIHdpdGgKQEAgLTc0MCwxNiArODM4LDIyIEBACiAgICAgPHRlcnJpdG9yeSBpZD0iQkUiIGNvdW50cnlDb2RlPSIzMiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjRbNy05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoNFs3LTldXGQpKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyM118WzQ5XVsyM10iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFsyLTQ5XSkoXGR7M30pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzE1Nl18N1sxOF18OCg/OjBbMS05XXxbMS03OV0pIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbMTUtOF1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iKD86ODB8OSkwIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbODldXGR7Mn0pKFxkezJ9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iN1swN10iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDdbMDddKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNFs3LTldXGQpKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz40WzctOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzItNDldKShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzIzXXxbNDldWzIzXTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMTUtOF1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxNTZdfDdbMDE3OF18OCg/OjBbMS05XXxbMS03OV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs4OV1cZHsyfSkoXGR7Mn0pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+KD86ODB8OSkwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs3LDh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC03ODUsNyArODg5LDkgQEAKICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgogICAgICAgICA8IS0tIFRoZSBuYXRpb25hbCBudW1iZXJpbmcgcGxhbiBmcm9tIElUVSBzdWdnZXN0cyBncm91cGluZyBvZiAyLCAyIGFuZCA0LCBidXQKICAgICAgICAgICAgICB3ZSBoYXZlIGNob3NlbiB0byB1c2UgdGhlIHN0YW5kYXJkIGZyb20gbnVtYmVycyBmb3VuZCBvbiB0aGUgaW50ZXJuZXQgaW5zdGVhZC4tLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgorICAgICAgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI0NTddXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTgwOSwxNCArOTE1LDIyIEBACiAgICAgPHRlcnJpdG9yeSBpZD0iQkciIGNvdW50cnlDb2RlPSIzNTkiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIiBwYXR0ZXJuPSIoMikoXGR7M30pKFxkezMsNH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjQzWzEtNl0iIHBhdHRlcm49Iig0M1sxLTZdKShcZHs0LDV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMzUtN118NFsxMjQtN118OFsxLTZdfDlbMS03XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezIsM30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4WzctOV18OTgiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFs4OV1cZCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI0OHw5MCIgcGF0dGVybj0iKFs0OV1cZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI0M1swNzg5XXw4MDAiIHBhdHRlcm49IihcZHszfSkoXGR7NX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigyKShcZHszfSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjI8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezQsNX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz40M3w4MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezIsM30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzM1LTddfDRbMTI0LTddfDhbMS02XXw5WzEtN108L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NDh8OFs3LTldfDlbMDhdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs2LDh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC04NTMsNyArOTY3LDkgQEAKICAgICA8dGVycml0b3J5IGlkPSJCSSIgY291bnRyeUNvZGU9IjI1NyIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDxudW1iZXJGb3JtYXQKLSAgICAgICAgICBwYXR0ZXJuPSIoWzI3XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgICBwYXR0ZXJuPSIoWzI3XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjddXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTg3OCw3ICs5OTQsOSBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5pdHUuaW50L290aC9UMDIwMjAwMDAxNy9lbiAtLT4KICAgICA8dGVycml0b3J5IGlkPSJCSiIgY291bnRyeUNvZGU9IjIyOSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIE51bWJlcnMgYmVnaW5uaW5nIHdpdGggNyBzaG91bGQgYmUgZm9ybWF0dGVkIGFzIGEgYmxvY2suIC0tPgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgpAQCAtOTgwLDcgKzEwOTgsOSBAQAogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8IS0tIEZvcm1hdCBpcyBmcm9tIGh0dHA6Ly9haXRpLmdvdi5ibi9jb250YWN0Lmh0bWwtLT4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi01NzhdXGR7Mn0pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzItNTc4XVxkezJ9KShcZHs0fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItNTc4XVxkezZ9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xMDE0LDEzICsxMTM0LDIyIEBACiAgICAgICBhIG5hdGlvbmFsVHJhbnNmb3JtUnVsZSB0byByZXBvcHVsYXRlIHdpdGggdGhlIG51bWJlciB3aXRob3V0IHRoZSBjYXJyaWVyCiAgICAgICBjb2RlLi0tPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEtOV1bMS05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiCi0gICAgICAgICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iKCRGRykiCi0gICAgICAgICAgICAgICAgICAgICAgY2FycmllckNvZGVGb3JtYXR0aW5nUnVsZT0iJE5QICRDQyAkRkciPiQxICQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNDAwfDMwMDMiIHBhdHRlcm49IihbMzRdMDBcZCkoXGR7NH0pIj4kMS0kMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszNTg5XTAwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFszNTg5XTAwKShcZHsyLDN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iKCRGRykiCisgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHs0fSkoXGR7NH0pIiAKKyAgICAgICAgICBjYXJyaWVyQ29kZUZvcm1hdHRpbmdSdWxlPSIkTlAgJENDICRGRyI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEtOV1bMS05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMzRdMDBcZCkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMzRdMDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NDAwfDMwMDM8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCisgICAgICAgICAgcGF0dGVybj0iKFszNTg5XTAwKShcZHsyLDN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszNTg5XTAwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs3LDl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xMDgzLDE0ICsxMjEyLDE4IEBACiAgICAgPCEtLSBCaHV0YW4gLS0+CiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDE5L2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkJUIiBjb3VudHJ5Q29kZT0iOTc1IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+Ci0gICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICAgIDwhLS0gRm9ybWF0IGlzIGZyb20KLSAgICAgICAgICAgICAgIGh0dHA6Ly93d3cudG91cmlzbS5nb3YuYnQvdG91ci1vcGVyYXRvcnMvYmh1dGFuLWFiYm90LXRvdXJzLWFuZC10cmF2ZWxzLmh0bWwgLS0+Ci0gICAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxIgotICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDE3KShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyLThdIgotICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFsyLThdKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CisgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KKyAgICAgICAgPCEtLSBGb3JtYXQgaXMgZnJvbQorICAgICAgICAgICAgIGh0dHA6Ly93d3cudG91cmlzbS5nb3YuYnQvdG91ci1vcGVyYXRvcnMvYmh1dGFuLWFiYm90LXRvdXJzLWFuZC10cmF2ZWxzLmh0bWwgLS0+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDE3KShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi04XSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzItOF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj4oPzoxN3xbMi04XSlcZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgogICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezYsOH08L3Bvc3NpYmxlTnVtYmVyUGF0dGVybj4KQEAgLTExMTIsOSArMTI0NSwxNCBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5pdHUuaW50L2Rtc19wdWIvaXR1LXQvb3RoLzAyLzAyL1QwMjAyMDAwMDFDMDAwMU1TV0UuZG9jIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkJXIiBjb3VudHJ5Q29kZT0iMjY3IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3IgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49Iig3WzEtNF0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSIgcGF0dGVybj0iKDkwKShcZHs1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDdbMS00XSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig5MCkoXGR7NX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItOV1cZHs2LDd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xMTQ4LDEyICsxMjg2LDE2IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iQlkiIGNvdW50cnlDb2RlPSIzNzUiIGludGVybmF0aW9uYWxQcmVmaXg9Ijh+MTAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeEZvclBhcnNpbmc9IjgwPyIgbmF0aW9uYWxQcmVmaXg9IjgiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEtNF0iCi0gICAgICAgICAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QIDAkRkciCi0gICAgICAgICAgcGF0dGVybj0iKFsxLTRdXGQpKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzg5XSIKLSAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAgJEZHIgotICAgICAgICAgIHBhdHRlcm49IihbODldXGR7Mn0pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QIDAkRkciCisgICAgICAgICAgcGF0dGVybj0iKFsxLTRdXGQpKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxLTRdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QICRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoWzg5XVxkezJ9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEyLTRdXGR7OH18Wzg5XVxkezl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xMjIyLDEwICsxMzY0LDE0IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iQ0QiIGNvdW50cnlDb2RlPSIyNDMiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbODldIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbODldXGR7Mn0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEtNl0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFsxLTZdXGQpKFxkezV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzg5XVxkezJ9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTZdXGQpKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEtNl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bODldXGR7OH18WzEtNl1cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTI0Nyw3ICsxMzkzLDkgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuaXR1LmludC9vdGgvVDAyMDIwMDAwMjgvZW4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iQ0YiIGNvdW50cnlDb2RlPSIyMzYiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjc4XVxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xMjcxLDcgKzE0MTksOSBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5pdHUuaW50L290aC9UMDIwMjAwMDAyRS9lbiAtLT4KICAgICA8dGVycml0b3J5IGlkPSJDRyIgY291bnRyeUNvZGU9IjI0MiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs0fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI0LTY4XVxkezZ9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xMjk2LDEyICsxNDQ2LDE0IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iQ0giIGNvdW50cnlDb2RlPSI0MSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMi02XXxbNy05XTEiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFsyLTldXGQpKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjdbNDYtOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDdbNDYtOV0pKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjhbMDQ3XXw5MCIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzg5XVxkezJ9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi05XVxkKShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzItN118Wzg5XTE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzg5XVxkezJ9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44WzA0N118OTA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMi05XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xMzM5LDcgKzE0OTEsOSBAQAogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gVXNpbmcgZm9ybWF0IGZyb20gb25saW5lIHllbGxvdyBwYWdlcyBvdmVyIGZvcm1hdCBpbXBsaWVkIGluCiAgICAgICAgIG5hdGlvbmFsIG51bWJlcmluZyBwbGFuLiAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzAyLTVdXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTEzNzUsMTkgKzE1MjksMzcgQEAKICAgICAgIHdpdGggYSBjYXJyaWVyIGlmIHRoZXkgYXJlIG5vdCBsb2NhbCBzbyB3ZSBzdHJpcCB0aGVzZSBjYXJyaWVyIGNvZGVzIGFzCiAgICAgICB3ZWxsLiAtLT4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIiIHBhdHRlcm49IigyKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszNTddfDRbMS0zNV18NlsxMy01N10iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHsyLDN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSIgcGF0dGVybj0iKDkpKFs2LTldXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI0NCIgcGF0dGVybj0iKDQ0KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjYwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDYwMCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI2MCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJEZHIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49Iig2MDApKFxkezN9KShcZHsyfSkoXGR7M30pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoODAwKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoMTIzMCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMikoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7MiwzfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMzU3XXw0WzEtMzVdfDZbMTMtNTddPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDkpKFs2LTldXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig0NCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NDQ8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCisgICAgICAgICAgcGF0dGVybj0iKFs2OF0wMCkoXGR7M30pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42MHw4PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJEZHIgorICAgICAgICAgIHBhdHRlcm49Iig2MDApKFxkezN9KShcZHsyfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42MDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoMTIzMCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPig/OlsyLTldfDYwMHwxMjMpXGR7Nyw4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTQzMywxMCArMTYwNSwxNCBAQAogICAgICAgICBleHRyYWN0ZWQsIGFuZCB1c3VhbGx5IGluIHRoZSBzYW1lIGZvcm1hdCBhcyBGcmFuY2UgKGFsbCAyIGRpZ2l0IGdyb3VwcykKICAgICAgICAgc28gd2UgdXNlIHRoaXMgaW5zdGVhZCBvZiB0aGUgZ3VpZGFuY2Ugb2YgdGhlIG5hdGlvbmFsIG51bWJlcmluZyBwbGFuCiAgICAgICAgICh3aGljaCBoYXMgMSAzIDIgMiBhbmQgNCA0IGFzIGl0cyB0d28gZm9ybWF0dGluZyBleGFtcGxlcy4pLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzIzNzldfDg4IgotICAgICAgICAgIHBhdHRlcm49IihbMjM3LTldXGQpKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwIgotICAgICAgICAgIHBhdHRlcm49Iig4MDApKFxkezJ9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyMzctOV1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyMzc5XXw4ODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4MDApKFxkezJ9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzIzNy05XVxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xNDczLDIxICsxNjQ5LDQzIEBACiAgICAgPHRlcnJpdG9yeSBpZD0iQ04iIGNvdW50cnlDb2RlPSI4NiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyMSIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IigyMSkoXGR7NH0pKFxkezQsNn0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8IS0tIFRoZSBsZWFkaW5nRGlnaXRzIGhlcmUgZG9uJ3QgZXhsdWRlIDEwODAwIG51bWJlcnMsIGFzIGRvaW5nIHNvIHdvdWxkIHJlcXVpcmUgbW9yZSB0aGFuCi0gICAgICAgICAgICAgNCBkaWdpdHMgZm9yIGxlYWRpbmdEaWdpdHMuIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEwWzEtOV18MlswMi05XSIKLSAgICAgICAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFsxMl1cZCkoXGR7NH0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49Iig4MFxkezJ9KShcZHs0fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzM1LTc5XXxbNDhdWzEtOV0iIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezMsNH0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzMtNThdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IigxWzMtNThdXGQpKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNDAiIHBhdHRlcm49Iig0MDApKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTA4MCIgcGF0dGVybj0iKDEwODAwKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoMjEpKFxkezR9KShcZHs0LDZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCisgICAgICAgICAgcGF0dGVybj0iKFsxMl1cZCkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTBbMS05XXwyWzAyLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDwhLS0gTm90ZSB0aGUgbGVhZGluZ0RpZ2l0c1BhdHRlcm4gZm9yIDQgZGlnaXRzIGlzIHRoZSBzYW1lIGFzIDMgZGlnaXRzLCAtLT4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xMFsxLTldfDJbMDItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTAoPzpbMS03OV18OCg/OlsxLTldfDBbMS05XSkpfDJbMDItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCisgICAgICAgICAgcGF0dGVybj0iKDgwXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCisgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszLDR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszNS03OV18WzQ4XVsxLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDFbMy01OF1cZCkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MVszLTU4XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig0MDApKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjQwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDEwODAwKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xMDg8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTA4MDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xMDgwMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTc5XVxkezcsMTF9fDhbMC0zNTctOV1cZHs2LDl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0xNTMyLDcgKzE3MzAsOSBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5pdHUuaW50L290aC9UMDIwMjAwMDAzMC9lbiAtLT4KICAgICA8dGVycml0b3J5IGlkPSJDUiIgY291bnRyeUNvZGU9IjUwNiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyOF1cZHszfSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMjhdXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjhdXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTE1NTcsNyArMTc1Nyw5IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDI2L2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkNWIiBjb3VudHJ5Q29kZT0iMjM4IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI1OV1cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTU4MSw3ICsxNzgzLDkgQEAKICAgICA8dGVycml0b3J5IGlkPSJDWSIgY291bnRyeUNvZGU9IjM1NyIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gRm9ybWF0IGZyb20gaHR0cDovL3d3dy5jeXBydXN5ZWxsb3dwYWdlcy5jb20vLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNy05XVxkKShcZHs2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNy05XVxkKShcZHs2fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI3LTldXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTE2MTYsNyArMTgyMCw5IEBACiAgICAgPCEtLSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLyUyQjQyMCAtLT4KICAgICA8dGVycml0b3J5IGlkPSJDWiIgY291bnRyeUNvZGU9IjQyMCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLTldXGR7Mn0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLTldXGR7Mn0pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItOV1cZHs4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTY1MywyOCArMTg1OSw0MSBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IkRFIiBjb3VudHJ5Q29kZT0iNDkiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIzWzAyXXw0MHxbNjhdOSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezQsMTF9KSI+JDEvJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezQsMTF9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+M1swMl18NDB8WzY4XTk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS8kMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBUaGUgb3JkZXIgb2YgdGhlIHJ1bGVzIG9uIDMtNSBkaWdpdHMgYXJlYSBjb2RlIG1hdHRlciBhcyBmYWxsYmFjayBpcyB1c2VkIGhlcmUuIC0tPgogICAgICAgICA8IS0tIDMgZGlnaXQgYXJlYSBjb2Rlcy4tLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyKD86XGQxfDBbMjM4OV18MVsyNF18Mjh8MzQpfDNbMy05XVsxNV18MzQwfDkwNnxbNC05XVsxLTldMSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezMsMTB9KSI+JDEvJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezMsMTB9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Mig/OlxkMXwwWzIzODldfDFbMjRdfDI4fDM0KXwzKD86WzMtOV1bMTVdfDQwKXxbNC04XVsxLTldMXw5KD86MDZ8WzEtOV0xKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLyQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIDQgZGlnaXQgYXJlYSBjb2Rlcy4tLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjQtNl18WzctOV0oPzpcZFsxLTldfFsxLTldXGQpIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbMjQtOV1cZHszfSkoXGR7Miw4fSkiPiQxLyQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQKLSAgICAgICAgICAgIGxlYWRpbmdEaWdpdHM9IjMoPzozKD86MFsxLTQ2N118MlsxMjctOV18M1sxMjQ1NzhdfFs0Nl1bMTI0Nl18N1sxMjU3LTldfDhbMTI1Nl18OVsxNDVdKXw0KD86MlsxMzVdfDNbMTM1N118NFsxMzU3OF18NlsxMjQ2XXw3WzEzNTZdfDlbMTM0Nl0pfDUoPzowWzE0XXwyWzEtMzU4OV18M1sxMzU3XXw0WzEyNDZdfDZbMS00XXw3WzEzNDZdfDhbMTM1NjhdfDlbMTI0Nl0pfDYoPzowWzM1Nl18MlsxLTQ4OV18M1sxMjQtNl18NFsxMzQ3XXw2WzEzXXw3WzEyNTc5XXw4WzEtMzU2XXw5WzEzNV0pfDcoPzoyWzEtN118M1sxMzU3XXw0WzE0NV18NlsxLTVdfDdbMS00XSl8OCg/OjIxfDNbMTQ2OF18NFsxMzQ3XXw2WzAxMzUtOV18N1sxNDY3XXw4WzEzNl0pfDkoPzowWzEyNDc5XXwyWzEzNThdfDNbMTM1N118NFsxMzQ2NzldfDZbMS05XXw3WzEzNl18OFsxNDddfDlbMTQ2OF0pKSIKLSAgICAgICAgICAgIHBhdHRlcm49IihcZHs0fSkoXGR7Miw3fSkiPiQxLyQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZHsyLDh9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzI0LTZdfFs3LTldKD86XGRbMS05XXxbMS05XVxkKXwzKD86WzM1NjldWzAyLTQ2LTldfDRbMi00Njc5XXw3WzItNDY3XXw4WzItNDYtOF0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyNC02XXxbNy05XSg/OlxkWzEtOV18WzEtOV1cZCl8Myg/OjMoPzowWzEtNDY3XXwyWzEyNy05XXwzWzEyNDU3OF18WzQ2XVsxMjQ2XXw3WzEyNTctOV18OFsxMjU2XXw5WzE0NV0pfDQoPzoyWzEzNV18M1sxMzU3XXw0WzEzNTc4XXw2WzEyNDZdfDdbMTM1Nl18OVsxMzQ2XSl8NSg/OjBbMTRdfDJbMS0zNTg5XXwzWzEzNTddfDRbMTI0Nl18NlsxLTRdfDdbMTM0Nl18OFsxMzU2OF18OVsxMjQ2XSl8Nig/OjBbMzU2XXwyWzEtNDg5XXwzWzEyNC02XXw0WzEzNDddfDZbMTNdfDdbMTI1NzldfDhbMS0zNTZdfDlbMTM1XSl8Nyg/OjJbMS03XXwzWzEzNTddfDRbMTQ1XXw2WzEtNV18N1sxLTRdKXw4KD86MjF8M1sxNDY4XXw0WzEzNDddfDZbMDEzNS05XXw3WzE0NjddfDhbMTM2XSl8OSg/OjBbMTI0NzldfDJbMTM1OF18M1sxMzU3XXw0WzEzNDY3OV18NlsxLTldfDdbMTM2XXw4WzE0N118OVsxNDY4XSkpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEvJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gNSBkaWdpdCBhcmVhIGNvZGVzLi0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjMiIHBhdHRlcm49IihcZHs1fSkoXGR7MSw2fSkiPiQxLyQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezV9KShcZHsxLDZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLyQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIGh0dHA6Ly93d3cudC1tb2JpbGUuZGUvc2VydmljZWhvdGxpbmVzLzAsMTM0MDEsMTc2NjAtXywwMC5odG1sIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjFbNS03XSIgcGF0dGVybj0iKDFbNS03XVxkKShcZHs3LDh9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxODAiIHBhdHRlcm49IigxODApKFxkKShcZHs0LDEwfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNzAwIiBwYXR0ZXJuPSIoNzAwKShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwMCIgcGF0dGVybj0iKDgwMCkoXGR7Nyw5fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOTAwWzEzNV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDkwMCkoXGQpKFxkezZ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5MDA5IiBwYXR0ZXJuPSIoOTAwKSg5KShcZHs3fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxOF1cZHsyfSkoXGR7Nyw5fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjFbNS03XXw4MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkKShcZHs0LDEwfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPig/OjE4fDkwKTA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTgwfDkwMFsxMzU5XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig3MDApKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjcwMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8IS0tIFdoZW4gZGVjaWRpbmcgd2hldGhlciB0byBhc3N1bWUgYSBsZWFkaW5nIDQ5IGlzIGEgY291bnRyeSBjb2RlIG9yCkBAIC0xNzI2LDcgKzE5NDUsOSBAQAogICAgICAgICA8IS0tIFRoZSBudW1iZXIgZm9ybWF0IGhlcmUgaXMgc3VnZ2VzdGVkIGluIHRoZSBwbGFuIGFuZCB1c2VkIG9ubGluZSwKICAgICAgICAgYWx0aG91Z2ggdGhlIHBob25lIG51bWJlcnMgb2YgdGhlIG5hdGlvbmFsIG51bWJlcmluZyBhdXRob3JpdHkgaXRzZWxmIG9uCiAgICAgICAgIHRoZSBwbGFuIGRvIG5vdCBmb2xsb3cgdGhpcy4gLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLThdXGQpKFxkezJ9KShcZHsyfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLThdXGQpKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItOF1cZHs1fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTc1MCw3ICsxOTcxLDkgQEAKICAgICA8IS0tIGh0dHA6Ly9lbi5pdHN0LmRrL3RlbGVjb20taW50ZXJuZXQtcmVndWxhdGlvbi9udW1iZXJpbmctaXNzdWVzL251bWJlcmluZy1saXN0cyAtLT4KICAgICA8dGVycml0b3J5IGlkPSJESyIgY291bnRyeUNvZGU9IjQ1IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEtOV1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTldXGQpKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTldXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTE4NDYsMTIgKzIwNjksMTggQEAKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gRm9ybWF0dGluZyBmcm9tIHd3dy5wYWdlc2phdW5lcy1kei5jb20uIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsxLTRdIgotICAgICAgICAgIHBhdHRlcm49IihbMS00XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNS04XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzUtOF1cZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSIKLSAgICAgICAgICBwYXR0ZXJuPSIoOVxkKShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEtNF1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxLTRdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs1LThdXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNS04XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig5XGQpKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+KD86WzEtNF18WzUtOV1cZClcZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTg3Miw2ICsyMTAxLDExIEBACiAgICAgICAgIDxwb3NzaWJsZU51bWJlclBhdHRlcm4+XGR7OX08L3Bvc3NpYmxlTnVtYmVyUGF0dGVybj4KICAgICAgICAgPGV4YW1wbGVOdW1iZXI+ODAwMTIzNDU2PC9leGFtcGxlTnVtYmVyPgogICAgICAgPC90b2xsRnJlZT4KKyAgICAgIDxwcmVtaXVtUmF0ZT4KKyAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj44MFszLTY4OV0xXGR7NX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs5fTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8ZXhhbXBsZU51bWJlcj44MDgxMjM0NTY8L2V4YW1wbGVOdW1iZXI+CisgICAgICA8L3ByZW1pdW1SYXRlPgogICAgICAgPCEtLSBUaGUgQWxnZXJpYW4gcGxhbiBkb2Vzbid0IHNwZWNpZnkgd2hlcmUgdGhlIGNvc3RzIHN0YXJ0IHRvIGJlCiAgICAgICBjb25zaWRlcmVkICJwcmVtaXVtIiwgc28gd2UgZHJhdyBhbiBhcmJpdHJhcnkgbGluZSBoZXJlIGFuZCBzYXkgdGhhdCBmcm9tCiAgICAgICA1MCBEYSB1cCB0aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBwcmVtaXVtLiAtLT4KQEAgLTE4ODAsMTEgKzIxMTQsNiBAQAogICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezl9PC9wb3NzaWJsZU51bWJlclBhdHRlcm4+CiAgICAgICAgIDxleGFtcGxlTnVtYmVyPjgwMTEyMzQ1NjwvZXhhbXBsZU51bWJlcj4KICAgICAgIDwvc2hhcmVkQ29zdD4KLSAgICAgIDxwcmVtaXVtUmF0ZT4KLSAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj44MFszLTY4OV0xXGR7NX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KLSAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs5fTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgotICAgICAgICA8ZXhhbXBsZU51bWJlcj44MDgxMjM0NTY8L2V4YW1wbGVOdW1iZXI+Ci0gICAgICA8L3ByZW1pdW1SYXRlPgogICAgICAgPHZvaXA+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+OThbMjNdXGR7Nn08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KICAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs5fTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgpAQCAtMTkwMSwxMyArMjEzMCwyMSBAQAogICAgIDwhLS0gaHR0cDovL3d3dy50amEuZWUvcHVibGljL0xlZ2lzbGF0aW9uX3NpZGUvTnVtYmVyaW5nXy9Fc3Rvbmlhbl9OUF9lbmcuaHRtIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkVFIiBjb3VudHJ5Q29kZT0iMzcyIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdAotICAgICAgICAgICAgbGVhZGluZ0RpZ2l0cz0iWzM0Njc5XXw1KD86WzAyXVxkezJ9fDEoPzpbMC04XVxkfDk1KXw1WzAtNDc4XVxkfDY0WzAtNF18NjVbMS01ODldKSIKLSAgICAgICAgICAgIHBhdHRlcm49IihbMzQtNzldXGR7Mn0pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MDAwIiBwYXR0ZXJuPSIoODAwMCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI1fDgoPzowMDF8WzEtNV0pIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbNThdXGR7M30pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MDBbMi05XSIgcGF0dGVybj0iKDgwMFsyLTldKShcZHszfSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszNC03OV1cZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMzQ2NzldfDUoPzpbMC0yXXw1WzAtNDc4XXw2WzQ1XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzM0Njc5XXw1KD86WzAyXXwxKD86WzAtOF18OTUpfDVbMC00NzhdfDYoPzo0WzAtNF18NVsxLTU4OV0pKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4MDAwKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODAwMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNThdXGR7M30pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz41fDgoPzowMHxbMS01XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NXw4KD86MDBbMS05XXxbMS01XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMy05XVxkezYsN318ODAwXGR7Niw3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTk1MCwxMiArMjE4NywxOCBAQAogICAgICAgICAgPCEtLSBOb3RlIHRoYXQgbm8gZXhwbGljaXQgZm9ybWF0dGluZyBydWxlIGlzIGhlcmUgZm9yIDUtZGlnaXQgbnVtYmVycwogICAgICAgICAgc3RhcnRpbmcgd2l0aCBhIDE2IG9yIDE5LiBUaGVzZSBhcmUgZm9ybWF0dGVkIHdpdGhvdXQgbmF0aW9uYWwgcHJlZml4LAogICAgICAgICAgYXMgYSBibG9jaywgc28gZG8gbm90IG5lZWQgdG8gYmUgbGlzdGVkIGhlcmUuIC0tPgotICAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIiBwYXR0ZXJuPSIoMikoXGR7OH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIzIiBwYXR0ZXJuPSIoMykoXGR7N30pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMTQtNl18Wzg5XVsyLTldIgotICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezd9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzg5XTAwIgotICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzg5XTAwKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGQpKFxkezcsOH0pIj4KKyAgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzIzXTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7N30pIj4KKyAgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzE0LTZdfFs4OV1bMi05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbODldMDApKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bODldMDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj4xXGR7NCw5fXxbMi02ODldXGR7Nyw5fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTk5MCw3ICsyMjMzLDkgQEAKICAgICA8dGVycml0b3J5IGlkPSJFUiIgY291bnRyeUNvZGU9IjI5MSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGQpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzE3OF1cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMjAxMyw3ICsyMjU4LDkgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cubWl0eWMuZXMvdGVsZWNvbXVuaWNhY2lvbmVzL2VzLUVTL1NlcnZpY2lvcy9OdW1lcmFjaW9uL1BsYW5OYWNpb25hbC9QYWdpbmFzL1BsYW5OYWNpb25hbE51bWVyYWNpb24uYXNweCAtLT4KICAgICA8dGVycml0b3J5IGlkPSJFUyIgY291bnRyeUNvZGU9IjM0IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzUtOV1cZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs1LTldXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPls1LTldXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTIwNTAsNyArMjI5Nyw5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iRVQiIGNvdW50cnlDb2RlPSIyNTEiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEtNTldXGQpKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTU5XVxkKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTU5XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0yMDc0LDExICsyMzIzLDE4IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iRkkiIGNvdW50cnlDb2RlPSIzNTgiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwfDk5WzA0OV0iCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjJbMDldfFsxNF18NTB8N1sxMzVdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7NCwxMH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyNTY4OV1bMS04XXwzIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZCkoXGR7NCwxMX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils2LThdMCIgcGF0dGVybj0iKFs2LThdMDApKFxkezQsN30pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NCwxMH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yWzA5XXxbMTRdfDUwfDdbMTM1XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7NCwxMX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjU2ODldWzEtOF18MzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNi04XTAwKShcZHs0LDd9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzYtOF0wPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs0LDExfTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMjEzMSwxMCArMjM4NywxNSBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IkZSIiBjb3VudHJ5Q29kZT0iMzMiIGludGVybmF0aW9uYWxQcmVmaXg9IlswNDU3OV0wIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMS03OV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFsxLTc5XSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNCAkNTwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCAkRkciCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDhcZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTc5XSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMS03OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNCAkNTwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAgJEZHIgorICAgICAgICAgIHBhdHRlcm49Iig4XGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMjE2Niw4ICsyNDI3LDE0IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDRFL2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkdBIiBjb3VudHJ5Q29kZT0iMjQxIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNC05XSIgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjAiIHBhdHRlcm49IigwXGQpKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzQtOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMFxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPls0LTldXGR7NX18MFxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0yMjAyLDI5ICsyNDY5LDQ3IEBACiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgcHJlZmVycmVkRXh0blByZWZpeD0iIHgiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKICAgICAgICAgICAgICAgIG1haW5Db3VudHJ5Rm9yQ29kZT0idHJ1ZSIgPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzIzXXw1NSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzIzNV1cZCkoXGR7NH0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxKD86MVxkfFxkMSkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzIzXXw1WzU2XXw5WzAxOF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OjF8XGQxKXw1MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSA1LWRpZ2l0IGFyZWEgY29kZXMgKGV4Y2x1ZGluZyBuYXRpb25hbCBwcmVmaXgpIGFyZSB2ZXJ5IHJhcmUgaW4gR0IsIGFuZCBhcmUgb25seQogICAgICAgICAgICAgIGF2YWlsYWJsZSBpbiB0aGUgZm9sbG93aW5nIGFyZWFzOiAxMzg3MyhMYW5naG9sbSksIDE1MjQyKEhvcm5ieSksIDE1Mzk0KEhhd2tzaGVhZCksCiAgICAgICAgICAgICAgMTUzOTUoR3JhbmdlLU92ZXItU2FuZHMpLCAxNTM5NihTZWRiZXJnaCksIDE2OTczKFdpZ3RvbiksIDE2OTc0KFJhdWdodG9uIEhlYWQpLAogICAgICAgICAgICAgIDE2OTc3KEJyYW1wdG9uKSwgMTc2ODMoQXBwbGVieSksIDE3Njg0KFBvb2xleSBCcmlkZ2UpLCAxNzY4NyhLZXN3aWNrKSwgMTk0NjcoR29zZm9ydGgpLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSg/OjM4NzN8NSg/OjI0MnwzOVs0LTZdKXw2OTdbMzQ3XXw3NjhbMzQ3XXw5NDY3KSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7NX0pKFxkezQsNX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEiIHBhdHRlcm49IihcZHs0fSkoXGR7NCw2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezV9KShcZHs0LDV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OjM4fDVbMjNdfDY5fDc2fDk0KTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86Mzg3fDUoPzoyNHwzOSl8Njk3fDc2OHw5NDYpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzozODczfDUoPzoyNDJ8MzlbNC02XSl8Njk3WzM0N118NzY4WzM0N118OTQ2Nyk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMVxkezN9KShcZHs0LDZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIGh0dHA6Ly9vbmxpbmUudm9kYWZvbmUuY28udWsvZGlzcGF0Y2gvUG9ydGFsL2FwcG1hbmFnZXIvdm9kYWZvbmUvd3JwP19uZnBiPXRydWUmX3BhZ2VMYWJlbD1QYWdlX0JPU19Db250YWN0VXNDb250ZW50JnBhZ2VJRD1QQ1VfMDAwMSAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3WzEtOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDdcZHszfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI1MDAiIHBhdHRlcm49Iig1MDApKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNTZ8OVswMThdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbNTldXGQpKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNzAiIHBhdHRlcm49Iig3MFxkezJ9KShcZHs2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDdcZHszfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+N1sxLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDcwXGR7Mn0pKFxkezZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBVSyBjaGlsZCBsaW5lIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwMDEiIHBhdHRlcm49Iig4MDApKDExMTEpIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwIiBwYXR0ZXJuPSIoODBcZCkoXGR7M30pKFxkezMsNH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgoPzo0WzMtNV18N1swMV0pIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49Iig4XGR7Mn0pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDgwMCkoMTExMSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgwMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44MDAxPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDhcZHsyfSkoXGR7M30pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44KD86MHw0WzMtNV18N1swMV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+XGR7NywxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTIzMTQsMTUgKzI1OTksMjYgQEAKICAgICAgICAgPCEtLSBGb3JtYXQgaXNuJ3QgdmVyeSBzdHJpY3RseSBkZWZpbmVkIC0gdGhlIHllbGxvdyBwYWdlcyBvbWl0cyBhcmVhCiAgICAgICAgICAgICAgY29kZSBhbmQgZG9lcyAyIDIgMiwgdGhlIGNoYWlybWFuIG9uIHRoZSBjb21tdW5pY2F0aW9ucyBjb21taXNzaW9uCiAgICAgICAgICAgICAgbGlzdGVkIGhpcyBhcyAyIDIgNCAoVGJsaXNpIGFyZWEgY29kZSkuLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMzIiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDMyKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyfDNbMTMtNzldfDQ0NiIgcGF0dGVybj0iKFxkezN9KShcZHs1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNDQoPzoyWzIzNjldfFszNDVdKSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7NH0pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI0NDJbNTddIiBwYXR0ZXJuPSIoNDQyWzU3XSkoXGR7M30pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils1Njc5XSIgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDgwMCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDMyKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MzI8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MnwzWzEzLTc5XXw0NDY8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7NH0pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz40NFsyLTVdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNTY3OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoODAwKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTM1NzldXGR7N318OFxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0yNDAzLDE2ICsyNjk5LDIwIEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvZG1zX3B1Yi9pdHUtdC9vdGgvMDIvMDIvVDAyMDIwMDAwNTIwMDAxTVNXRS5kb2MgLS0+CiAgICAgPCEtLSBodHRwOi8vd3d3Lm5jYS5vcmcuZ2gvaW5kZXgucGhwP29wdGlvbj1jb21fY29udGVudCZ2aWV3PWFydGljbGUmaWQ9OTAmSXRlbWlkPTY1IC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkdIIiBjb3VudHJ5Q29kZT0iMjMzIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKLSAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KKyAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzI3XVsxMl18NFsxMl18WzM1Njg5XTEiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHszLDZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyNXwzMXxbNC05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzItOV1cZHsyfSkoXGR7Myw1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iM1swMi05XSIgcGF0dGVybj0iKDNcZCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyWzQ3XSIgcGF0dGVybj0iKDJbNDddKShcZHszfSkoXGR7Myw0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMlswMzY4XXw1NCIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzI1XVxkKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Myw2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyN11bMTJdfDRbMTJdfFszNTY4OV0xPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLTldXGR7Mn0pKFxkezMsNX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yNXwzMXxbNC05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yWzAzNDYtOF18M1swMi05XXw1NDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLTldXGR7NCw4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMjQ0NSw3ICsyNzQ1LDkgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuaXR1LmludC9vdGgvVDAyMDIwMDAwNEYvZW4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iR00iIGNvdW50cnlDb2RlPSIyMjAiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlszLTldXGR7Nn08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTI0NjUsNyArMjc2Nyw5IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDVCL2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkdOIiBjb3VudHJ5Q29kZT0iMjI0IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzM2N11cZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMjQ5MCw3ICsyNzk0LDkgQEAKICAgICAgICAgICAgICAgIG1haW5Db3VudHJ5Rm9yQ29kZT0idHJ1ZSIgbmF0aW9uYWxQcmVmaXg9IjAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs1Nl05MCkoXGR7Mn0pKFxkezR9KSI+JDEgJDItJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzU2XTkwKShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPls1Nl1cZHs4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMjUxMiw4ICsyODE4LDE0IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDQxL2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkdRIiBjb3VudHJ5Q29kZT0iMjQwIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjM1XSIgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils4OTldIiBwYXR0ZXJuPSIoXGR7M30pKFxkezZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyMzVdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjM1ODldXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTI1NDcsMTIgKzI4NTksMTggQEAKICAgICA8IS0tIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvJTJCMzAgLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iR1IiIGNvdW50cnlDb2RlPSIzMCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMjF8NyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzI3XVxkKShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjJbMi05XTF8WzY4OV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjJbMi05XVswMi05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoMlxkezN9KShcZHs2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyN11cZCkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjF8NzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlsyLTldMXxbNjg5XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigyXGR7M30pKFxkezZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlsyLTldWzAyLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI2LTldXGR7OX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTI2MjQsNyArMjk0Miw5IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDVDL2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkdXIiBjb3VudHJ5Q29kZT0iMjQ1IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMzU2N11cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMjY0OSwxNCArMjk2OSwyMyBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5vZnRhLmdvdi5oay9udW1iZXJpbmcvbWFpbi5odG1sIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkhLIiBjb3VudHJ5Q29kZT0iODUyIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjM1LTddfFs4OV0oPzowWzEtOV18WzEtOV0pIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHs0fSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwMCIgcGF0dGVybj0iKDgwMCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5MDAiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDkwMCkoXGR7Mn0pKFxkezN9KShcZHszfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyMzUtN118Wzg5XSg/OjBbMS05XXxbMS05XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoODAwKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoOTAwKShcZHsyfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OTAwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+Ci0gICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzIzNS05XVxkezcsMTF9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CisgICAgICAgIDwhLS0gU2xpZ2h0bHkgbW9yZSBjb21wbGV4IHBhdHRlcm4gdG8gYWxsb3cgdGhlIGNvdW50cnkgY29kZSB0byBiZQorICAgICAgICBzdHJpcHBlZCBvZmYgaWYgbmVjZXNzYXJ5LiAtLT4KKyAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjM1LTddXGR7N318OFxkezcsOH18OVxkezcsMTB9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CiAgICAgICAgIDxwb3NzaWJsZU51bWJlclBhdHRlcm4+XGR7OCwxMX08L3Bvc3NpYmxlTnVtYmVyUGF0dGVybj4KICAgICAgIDwvZ2VuZXJhbERlc2M+CiAgICAgICA8Zml4ZWRMaW5lPgpAQCAtMjY5OSwxOCArMzAyOCw0MiBAQAogICAgICAgICA8IS0tIFRoZSBwbGFuIHNheXMgMSBYWFggWFhYWCBidXQgdGhlIGdvdmVybm1lbnQgYW5kIGxvY2FsIHRlbGVjb20KICAgICAgICAgICAgICB3ZWJzaXRlcyBhcmUgZm9ybWF0dGVkIDEgWFhYWCBYWFgsIHNvIHdlIHByZWZlciB0aGF0IGZvcm1hdHRpbmcKICAgICAgICAgICAgICBoZXJlLiBUaGVzZSBzYW1lIHNvdXJjZXMgcHJlZmVyIFhYWCBYWFggdG8gWFggWFhYWCBhcyB3ZWxsLiAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxIiBwYXR0ZXJuPSIoMSkoXGR7NH0pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI2WzAyOV0iIHBhdHRlcm49Iig2WzAyOV0pKFxkezR9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzItNV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFsyLTVdXGQpKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoOVsxMjU4OV0pKFxkezMsNH0pKFxkezMsNH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDlbMTI1ODldKShcZHszLDR9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjZbMTQ1XXw3IiBwYXR0ZXJuPSIoXGR7Mn0pKFxkezJ9KShcZHsyLDN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI2WzE0NV18NyIgcGF0dGVybj0iKFxkezJ9KShcZHszLDR9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOCIgcGF0dGVybj0iKDgwWzAxXSkoXGR7Mn0pKFxkezIsM30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgiIHBhdHRlcm49Iig4MFswMV0pKFxkezMsNH0pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigxKShcZHs0fSkoXGR7M30pIj4KKyAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNlswMjldKShcZHs0fSkoXGR7M30pIj4KKyAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjZbMDI5XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi01XVxkKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyLTVdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDlbMTI1ODldKShcZHszLDR9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig5WzEyNTg5XSkoXGR7Myw0fSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezIsM30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42WzE0NV18NzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Myw0fSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42WzE0NV18NzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4MFswMV0pKFxkezJ9KShcZHsyLDN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4MFswMV0pKFxkezMsNH0pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTddXGR7NSw4fXxbODldXGR7NiwxMX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTI3NjAsMTEgKzMxMTMsMTQgQEAKICAgICAgIGZvcm1hdCAoY29uZmlybWVkIGJ5IHRoZSBmb2xsb3dpbmcgdGhlIHllbGxvdyBwYWdlcykgaXMKICAgICAgIHRvIG9taXQgdGhpcyB3aGVuIGZvcm1hdHRpbmcuIFllbGxvdyBwYWdlczogd3d3LmFyYW55b2xkYWxhay5odSAtLT4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEiIHBhdHRlcm49IigxKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils0LTY4OV18WzIzN11bMi05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzIzN11bMDFdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbMjM3XVswMV0pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDEpKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5cZHs4LDl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0yODAzLDIwICszMTU5LDM1IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iSUQiIGNvdW50cnlDb2RlPSI2MiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMCg/OjBbMTc4OV18MTAoPzowMHwxWzY3XSkpIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyWzEyNF18WzM2XTEiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IigkTlAkRkcpIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7Nyw4fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzQ1NzldfDJbMDM1LTldfFszNl1bMDItOV0iCi0gICAgICAgICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iKCROUCRGRykiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHs1LDd9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4WzEtMzUtOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDhcZHsyfSkoXGR7Myw0fSkoXGR7Myw0fSkiPiQxLSQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSIgcGF0dGVybj0iKDE3NykoXGR7Niw4fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iKCROUCRGRykiCisgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHs3LDh9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlsxMjRdfFszNl0xPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iKCROUCRGRykiCisgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHs1LDd9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzQ1NzldfDJbMDM1LTldfFszNl1bMDItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoOFxkezJ9KShcZHszLDR9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OFsxLTM1LTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDE3NykoXGR7Niw4fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1RvbGwtZnJlZV90ZWxlcGhvbmVfbnVtYmVyLCBhbmQKICAgICAgICAgICAgICBleGFtcGxlcyBvbiB0aGUgd2ViIHNob3cgdGhhdCBzb21ldGltZXMgdGhleSBhcmUgZm9sbG93ZWQgYnkgbGVzcwogICAgICAgICAgICAgIGRpZ2l0cy4gLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iODAwIiBwYXR0ZXJuPSIoODAwKShcZHs1LDd9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MDkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDgwOSkoXGQpKFxkezN9KShcZHszfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDgwMCkoXGR7NSw3fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgwMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4MDkpKFxkKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44MDk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMS05XVxkezYsMTB9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0yODU1LDIyICszMjI2LDQ1IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iSUUiIGNvdW50cnlDb2RlPSIzNTMiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IigkTlAkRkcpIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEiIHBhdHRlcm49IigxKShcZHszLDR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMlsyLTldfDRbMzQ3XXw1WzItNThdfDZbMi00Ny05XXw5WzMtOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHs1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNDBbMjRdfDUwWzQ1XSIgcGF0dGVybj0iKFxkezN9KShcZHs1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNDgiIHBhdHRlcm49Iig0OCkoXGR7NH0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MSIgcGF0dGVybj0iKDgxOCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjQtNjldfDdbMTRdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezMsNH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjhbMzUtOV0iIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoOFszNS05XSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3NiIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49Iig3NikoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3MCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49Iig3MDApKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSg/OjhbMDU5XTB8NSkiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7NH0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDEpKFxkezMsNH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yWzItOV18NFszNDddfDVbMi01OF18NlsyLTQ3LTldfDlbMy05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7NX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz40MFsyNF18NTBbNDVdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDQ4KShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz40ODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4MTgpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgxPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyNC02OV18N1sxNF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCisgICAgICAgICAgcGF0dGVybj0iKFs3OF1cZCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzZ8OFszNS05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoNzAwKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz43MDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIgcGF0dGVybj0iKFxkezR9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86OFswNTldfDUpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzo4WzA1OV0wfDUpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEyNC05XVxkezYsOX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTI5MzUsMTYgKzMzMjksMzMgQEAKICAgICA8dGVycml0b3J5IGlkPSJJTCIgY291bnRyeUNvZGU9Ijk3MiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMCg/OjB8MVsyLTQ4XSkiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyLTQ4OV0iIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzItNDg5XSkoXGR7M30pKFxkezR9KSI+JDEtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNTddIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFs1N11cZCkoXGR7M30pKFxkezR9KSI+JDEtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzctOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDEpKFs3LTldXGR7Mn0pKFxkezN9KShcZHszfSkiPiQxLSQyLSQzLSQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgorICAgICAgICAgIHBhdHRlcm49IihbMi00ODldKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMi00ODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgorICAgICAgICAgIHBhdHRlcm49IihbNTddXGQpKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls1N108L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMi0kMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMSkoWzctOV1cZHsyfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MVs3LTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDMtJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gVGhlIGZvbGxvd2luZyBudW1iZXIgaXMgZm9yIGhvc3BpdGFscy4tLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxMjUiIHBhdHRlcm49IigxMjU1KShcZHszfSkiPiQxLSQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTIwIiBwYXR0ZXJuPSIoMTIwMCkoXGR7M30pKFxkezN9KSI+JDEtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxMjEiIHBhdHRlcm49IigxMjEyKShcZHsyfSkoXGR7Mn0pIj4kMS0kMi0kMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigxMjU1KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEyNTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigxMjAwKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xMjA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMi0kMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMTIxMikoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTIxPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2MgPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTU3LTldXGR7Niw5fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMzA0NSwzOSArMzQ1Niw2OCBAQAogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgICA8IS0tIE1vYmlsZSBudW1iZXJzLiAtLT4KLSAgICAgICAgIDxudW1iZXJGb3JtYXQKLSAgICAgICAgICAgICBsZWFkaW5nRGlnaXRzPSI3KD86Mzl8NSg/OjUwfFs2LTldKXxbNjddWzAyLTldfDhbMC02XSl8OCg/OjBbMDE1ODldfDFbMDI0XXw4KD86WzA3OV18NDQpfDlbMDU3LTldKXw5IgotICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezZ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7Nn0pIj4KKyAgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Nyg/OjM5fDVbNS05XXxbNjddWzAyLTldfDhbMC02XSl8OCg/OjBbMDE1ODldfDFbMDI0XXw4WzA0NzldfDlbMDU3LTldKXw5PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz43KD86Mzl8NSg/OjUwfFs2LTldKXxbNjddWzAyLTldfDhbMC02XSl8OCg/OjBbMDE1ODldfDFbMDI0XXw4KD86WzA3OV18NDQpfDlbMDU3LTldKXw5PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgIDwhLS0gMiBkaWdpdHMgYXJlYSBjb2RlIC0tPgotICAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxMXwyWzAyXXwzM3w0WzA0XXw3OXw4MFsyLTZdIgotICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjExfDJbMDJdfDMzfDRbMDRdfDc5fDgwWzItNl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICAgPCEtLSAzIGRpZ2l0cyBhcmVhIGNvZGUgLS0+Ci0gICAgICAgICA8bnVtYmVyRm9ybWF0Ci0gICAgICAgICAgICAgbGVhZGluZ0RpZ2l0cz0iMSg/OjJbMC0yNDldfDNbMC0yNV18NFsxNDVdfDVbMTRdfDZbMTRdfDdbMTI1N118OFsxMzQ2XXw5WzE0XXxbNjhdWzEtOV0pIgotICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMig/OjFbMjU3XXwzWzAxM118NFswMV18NVswMTM3XXw2WzAxNThdfDc4fDhbMTU2OF18OVsxNF0pIgotICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjMoPzoyNnw0WzEtM118NVszNF18NlswMTQ4OV18N1swMi00Nl18OFsxNTldKSIKLSAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICAgPG51bWJlckZvcm1hdAotICAgICAgICAgICAgIGxlYWRpbmdEaWdpdHM9IjQoPzoxWzM2XXwyWzEtNDddfDNbMTVdfDVbMTJdfDZbMTI2LTldfDdbMC0yNC05XXw4WzAxMy01N118OVswMTQtN10pIgotICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNSg/OjFbMjVdfDIyfDNbMjVdfDRbMjhdfDVbMTJdfDZbMjVdfFs3OF0xfDlbMTVdKSIKLSAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI2KD86MTJ8WzIzNDVdMXw1N3w2WzEzXXw3WzE0XXw4MCkiCi0gICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNyg/OjEyfDJbMTRdfDNbMTM0XXw0WzQ3XXw1KD86MXw1WzEtOV0pfFs2N10xfDg4KSIKLSAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4KD86MTZ8MlswMTRdfDNbMTI2XXw2WzEzNl18N1swNzhdfDhbMzRdfDkxKSIKLSAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MlswLTI0OV18M1swLTI1XXw0WzE0NV18WzU2OV1bMTRdfDdbMTI1N118OFsxMzQ2XXxbNjhdWzEtOV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Mig/OjFbMjU3XXwzWzAxM118NFswMV18NVswMTM3XXw2WzAxNThdfDc4fDhbMTU2OF18OVsxNF0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Myg/OjI2fDRbMS0zXXw1WzM0XXw2WzAxNDg5XXw3WzAyLTQ2XXw4WzE1OV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NCg/OjFbMzZdfDJbMS00N118M1sxNV18NVsxMl18NlsxMjYtOV18N1swLTI0LTldfDhbMDEzLTU3XXw5WzAxNC03XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz41KD86WzEzNl1bMjVdfDIyfDRbMjhdfDVbMTJdfFs3OF0xfDlbMTVdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjYoPzoxMnxbMjM0NV0xfDU3fDZbMTNdfDdbMTRdfDgwKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjcoPzoxMnwyWzE0XXwzWzEzNF18NFs0N118NVsxNV18WzY3XTF8ODgpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz43KD86MTJ8MlsxNF18M1sxMzRdfDRbNDddfDUoPzoxfDVbMS05XSl8WzY3XTF8ODgpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OCg/OjE2fDJbMDE0XXwzWzEyNl18NlsxMzZdfDdbMDc4XXw4WzM0XXw5MSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICAgPCEtLSA0IGRpZ2l0cyBhcmVhIGNvZGUgLS0+CiAgICAgICAgICA8IS0tIEZhbGxiYWNrIGZvciBmaXhlZC1saW5lIG51bWJlcnMuIC0tPgotICAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxKD86WzItNTc5XXxbNjhdWzEtOV0pfFsyLThdIgotICAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7NH0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjE2MDAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKLSAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDE2MDApKFxkezJ9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjE4MDAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKLSAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDE4MDApKFxkezIsM30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OlsyLTU3OV18WzY4XVsxLTldKXxbMi04XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKKyAgICAgICAgICAgcGF0dGVybj0iKDE2MDApKFxkezJ9KShcZHs0fSkiPgorICAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xNjA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjE2MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCisgICAgICAgICAgIHBhdHRlcm49IigxODAwKShcZHsyLDN9KShcZHs0fSkiPgorICAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xODA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjE4MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTldXGR7OSwxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTMxMzUsMTEgKzM1NzUsMTggQEAKICAgICA8dGVycml0b3J5IGlkPSJJUSIgY291bnRyeUNvZGU9Ijk2NCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEiIHBhdHRlcm49IigxKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyLTZdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbMi02XVxkKShcZHszfSkoXGR7Myw0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoN1s1LTldXGQpKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDEpKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzItNl1cZCkoXGR7M30pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMi02XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig3WzUtOV1cZCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTddXGR7Nyw5fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMzE2NCw5ICszNjExLDE0IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iSVIiIGNvdW50cnlDb2RlPSI5OCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIxIiBwYXR0ZXJuPSIoMjEpKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEzLTg5XXwyWzAyLTldIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMjEpKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIxPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMTMtODldfDJbMDItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMS05XVxkezl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0zMTk1LDIxICszNjQ3LDQyIEBACiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KICAgICAgICAgPCEtLSBUaGUgbGVhZGluZyB6ZXJvIGZvciBmaXhlZCBudW1iZXJzIHdpbGwgYmUgcHJlcGVuZGVkIGJlZm9yZSB0aGUKICAgICAgICAgICAgICBtYXRjaGluZyBvZiB0aGVzZSByZWd1bGFyIGV4cHJlc3Npb25zLi0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjBbMjZdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IigwWzI2XSkoXGR7Myw0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjBbMjZdIiBwYXR0ZXJuPSIoMFsyNl0pKFxkezR9KShcZHs1fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMFsyNl0iIHBhdHRlcm49IigwWzI2XSkoXGR7Nn0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjAoPzpbMTMtNTctOV1bMDE1OV18MzYpIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IigwXGR7Mn0pKFxkezMsNH0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIwKD86WzEzLTU3LTldWzAxNTldfDM2KSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoMFxkezJ9KShcZHs1LDZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIwWzEzLTU3LTldIiBwYXR0ZXJuPSIoMFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjBbMTMtNTctOV0iIHBhdHRlcm49IigwXGR7M30pKFxkezQsNn0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsxM118ODRbNzhdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezMsNH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwMCIgcGF0dGVybj0iKDgwMCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MDMiIHBhdHRlcm49Iig4MDMpKFxkezN9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4OSIgcGF0dGVybj0iKDg5XGQpKFxkezMsNn0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigwWzI2XSkoXGR7Myw0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4wWzI2XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigwWzI2XSkoXGR7NH0pKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MFsyNl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMFsyNl0pKFxkezZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MFsyNl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMFxkezJ9KShcZHszLDR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjAoPzpbMTMtNTctOV1bMDE1OV18MzYpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDBcZHsyfSkoXGR7NSw2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjAoPzpbMTMtNTctOV1bMDE1OV18MzYpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDBcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MFsxMy01Ny05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigwXGR7M30pKFxkezQsNn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4wWzEzLTU3LTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxM118OCg/OjAwfDRbNzhdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Myw2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgoPzowM3w5KTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlswMTM4OV1cZHs1LDEwfTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMzMzNywxMyArMzgxMCwxOSBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IkpPIiBjb3VudHJ5Q29kZT0iOTYyIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzIzNTZdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbMjM1Nl0pKFxkezN9KShcZHs0fSkiCi0gICAgICAgICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iKCROUCRGRykiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iN1s0Ny05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoNykoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNCAkNTwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjcwIiBwYXR0ZXJuPSIoNzBcZCkoXGR7Nn0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils4OV0iIHBhdHRlcm49IihbODldXGR7Mn0pKFxkezV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIoJE5QJEZHKSIKKyAgICAgICAgICBwYXR0ZXJuPSIoWzIzNTZdKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjM1Nl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNykoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz43WzQ3LTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQgJDU8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs1LDZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzB8Wzg5XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyMzUtOV1cZHs3LDh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0zMzg5LDggKzM4NjgsMTAgQEAKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gVG9sbC1mcmVlIG51bWJlcnMgLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iKD86MTJ8OTkpMCIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4oPzoxMnw5OSkwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gU29tZSBsZWFkaW5nIGRpZ2l0cyBhcmUgZXhwbGljaXRseSByZXNlcnZlZCBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UuCiAgICAgICAgICAgICAgV2UgaGFuZGxlIHRoZW0gZmlyc3QgaW4gdGhpcyBydWxlLCBhbmQgbGV0IHRoZSBmb2xsb3dpbmcgcnVsZXMgaWdub3JlIHRob3NlIGV4Y2VwdGlvbnMuCiAgICAgICAgICAgICAgTm90ZTogVGhlIHJ1bGUgaGVyZSBpcyBub3QgaW4gdGhlIGZpbGVzIHdlIHJlbHkgb24gd2hlbiBjcmVhdGluZyB0aGUgb3RoZXIgcnVsZXMuCkBAIC0zNDA0LDggKzM4ODUsMTAgQEAKICAgICAgICAgICAgICAgICAgICB3aXRoIE5vbi0zRywgSmFwYW5lc2Utc3BlY2lmaWMgcHJvdG9jb2wpLgogICAgICAgICAgICAgICAgICAgIFNlZSBhbHNvIGh0dHA6Ly9qYS53aWtpcGVkaWEub3JnL3dpa2kvUEhTIChKYXBhbmVzZSkKICAgICAgICAgICAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNTctOV0wIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls1Ny05XTA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBUaGUgb3JkZXIgb2YgdGhlIHJlZy1leHBzIGFyZSBpbXBvcnRhbnQuCiAgICAgICAgICAgICAgRXhhbXBsZXMgKG5vdCBhbGwpOgogICAgICAgICAgICAgIC0gIjE1IjogMTU0MjAgLT4gMTU0LTIwLCAxNTQ3MiAtPiAxNTQ3LTIsIDE1NDEwIC0+IDE1LTQxMCwKQEAgLTM0MTUsMTggKzM4OTgsMzcgQEAKICAgICAgICAgICAgICAtICI5OSI6IDk5NDAwIC0+IDk5LTQwMCwgOTk0MzAgLT4gOTk0LTMwLCA5OTY5MiAtPiA5OTY5LTIsIDk5NzUwIC0+IDk5Ny01MAogICAgICAgICAgICAgIC0gIjk5MyI6IDk5MzMwIC0+IDk5My0zMCwgOTkzMzEgLT4gOTktMzMxLCA5OTMzMiAtPiA5OTMtMzIKICAgICAgICAgICAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxKD86MjY3fDMoPzo3WzI0N118OVsyNzhdKXw0KD86NVs2N118NjYpfDUoPzo0N3w1OHw2NHw4WzY3XSl8Nig/OjNbMjQ1XXw0OHw1WzQtNjhdKSl8NSg/Ojc2OXw5NzlbMi02OV0pfDQ5OVsyNDY4XXw3NDY4fDgoPzozKD86OFs3OF18OTZbMjQ1Ny05XSl8NjM2WzItNTctOV18NDc3fDUxWzI0XSl8OSg/OjQ5Nnw4MDJ8OTFbMjNdfDk2OSkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezR9KShcZCkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEoPzoyWzMtNl18M1szLTldfDRbMi02XXw1KD86WzIzNi04XXxbNDVdWzItNjldKXw2WzItN118N1syLTY4OV18OFsyLTddfDlbMS01NzhdKXwyKD86MlswNC05XXwzWzMtNThdfDRbMC00NjhdfDZbMDEzNS04XXw3WzA2NzldfDhbMDI0NTc4XXwyM1syM118NSg/OjVbNzhdfDdbMi00XXxbMDQ2OF1bMi05XSl8Nig/OjE3fDRbMi01XSl8NzhbMi03XXw4KD86M1syNS05XXw5WzYtOV0pfDkoPzoxMXwzWzItNF0pKXw0KD86Mig/OjJbMi05XXw4WzIzNy05XSl8N1swNTldWzItOF18M1s2ODldfDZbMDM1LTddfDdbNjhdfDgwfDlbMy01XSl8NSg/OjNbMS0zNi05XXw5KD86N1s0OV18Wzg5XVsyLThdKXw0WzQ1NzhdfDVbMDEzLThdfDZbMS05XXw3WzItOF18OFsxNC03XXw5WzQtN10pfDcoPzoyWzE1XXwzWzUtOV18NFswMi05XXw2WzEzNS04XXw3WzAtNDY4OV18OVswMTctOV18NjE4fDc5N3w5KD86NFs2LThdfDVbMi00NzhdfDZbMi01ODldKSl8OCg/OjI5KD86MjB8NFswNC05XXw2NVsyNV18WzM2XTYwKXwzNzZbMC01OV18Nig/OjM2Nnw1NVswMTQtOV18NjlbMDItNjldfDk5WzIzXSl8MjRbNC04XXwyOVszNTc4XXwzKD86WzMtNl1bMi05XXxbNzhdWzItNV0pfDYoPzo1WzQ2N118OVsyMzYtOF18WzY4XVsyLThdKXw0WzUtOF18NVsyLTldfDZbMzddfDdbNTc5XXw4WzAzLTU3OV18OVsyLThdKXw5KD86WzIzXTB8NFswMjQ2LTldfDVbMDI1LTc5XXw2WzQtOV18N1syNy05XXw4WzAyLTddfFs0N10zfFs1N100fDkoPzo0WzItNjldfDMoPzozWzAyLTldfDRbMC0yNDY4OV0pfFs1LTddKSkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHsyfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjF8Mig/OjIzfDUoPzpbNTddfFs2OF0wfDkxN3w5OTkpfDY0fDc4fDhbMzldfDkxNyl8NCg/OjIoPzpbNjhdfDIwfDlbMTc4XSl8NjR8N1szNDddKXw1KD86WzItNTg5XXwzOVs2N10pfDgoPzpbNDYtOV18M1syNzldfDIoPzpbMTI0NTg5XXw5WzI0XSl8M1s3OV02fDYoPzo2OXw5OSkpfDkoPzpbMjM1LThdfDkzMzF8OTM0KXwxNVs0NV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIoPzo5WzE0LTc5XXw3NHxbMzRdN3xbNTZdOSl8ODJ8OTkzIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7Mn0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMzZdfDQoPzoyWzA5XXw3WzAxXSkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkKShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyNDc5XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZCkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MjZ8M1s3OV18NFs1Nl18NVs0LTY4XXw2WzMtNV0pfDUoPzo3Nnw5Nyl8NDk5fDc0Nnw4KD86M1s4OV18NjN8NDd8NTEpfDkoPzo0OXw4MHw5WzE2XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OjI2N3wzKD86N1syNDddfDlbMjc4XSl8NCg/OjVbNjddfDY2KXw1KD86NDd8NTh8NjR8OFs2N10pfDYoPzozWzI0NV18NDh8NVs0LTY4XSkpfDUoPzo3Nnw5Nyk5fDQ5OVsyNDY4XXw3NDY4fDgoPzozKD86OFs3OF18OTYpfDYzNnw0Nzd8NTFbMjRdKXw5KD86NDk2fDgwMnw5KD86MVsyM118NjkpKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MjY3fDMoPzo3WzI0N118OVsyNzhdKXw0KD86NVs2N118NjYpfDUoPzo0N3w1OHw2NHw4WzY3XSl8Nig/OjNbMjQ1XXw0OHw1WzQtNjhdKSl8NSg/Ojc2OXw5NzlbMi02OV0pfDQ5OVsyNDY4XXw3NDY4fDgoPzozKD86OFs3OF18OTZbMjQ1Ny05XSl8NjM2WzItNTctOV18NDc3fDUxWzI0XSl8OSg/OjQ5Nnw4MDJ8OSg/OjFbMjNdfDY5KSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezJ9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzoyWzMtNl18M1szLTldfDRbMi02XXw1WzItOF18WzY4XVsyLTddfDdbMi02ODldfDlbMS01NzhdKXwyKD86MlswMzQtOV18M1szLTU4XXw0WzAtNDY4XXw1WzA0LThdfDZbMDEzLThdfDdbMDYtOV18OFswMi01Ny05XXw5WzEzXSl8NCg/OjJbMjhdfDNbNjg5XXw2WzAzNS03XXw3WzA1Njg5XXw4MHw5WzMtNV0pfDUoPzozWzEtMzYtOV18NFs0NTc4XXw1WzAxMy04XXw2WzEtOV18N1syLThdfDhbMTQtN118OVs0LTldKXw3KD86MlsxNV18M1s1LTldfDRbMDItOV18NlsxMzUtOF18N1swLTQ2ODldfDlbMDE0LTldKXw4KD86Mls0OV18M1szLThdfDRbNS04XXw1WzItOV18NlszNS05XXw3WzU3OV18OFswMy01NzldfDlbMi04XSl8OSg/OlsyM10wfDRbMDItNDYtOV18NVswMjQ1LTc5XXw2WzQtOV18N1syLTQ3LTldfDhbMDItN118OVszLTddKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MlszLTZdfDNbMy05XXw0WzItNl18NSg/OlsyMzYtOF18WzQ1XVsyLTY5XSl8WzY4XVsyLTddfDdbMi02ODldfDlbMS01NzhdKXwyKD86Mig/OlswNC05XXwzWzIzXSl8M1szLTU4XXw0WzAtNDY4XXw1KD86NVs3OF18N1syLTRdfFswNDY4XVsyLTldKXw2KD86WzAxMzUtOF18NFsyLTVdKXw3KD86WzA2NzldfDhbMi03XSl8OCg/OlswMjQ1NzhdfDNbMjUtOV18OVs2LTldKXw5KD86MTF8M1syLTRdKSl8NCg/OjIoPzoyWzItOV18OFsyMzctOV0pfDNbNjg5XXw2WzAzNS03XXw3KD86WzA1OV1bMi04XXxbNjhdKXw4MHw5WzMtNV0pfDUoPzozWzEtMzYtOV18NFs0NTc4XXw1WzAxMy04XXw2WzEtOV18N1syLThdfDhbMTQtN118OSg/Ols4OV1bMi04XXxbNC03XSkpfDcoPzoyWzE1XXwzWzUtOV18NFswMi05XXw2WzEzNS04XXw3WzAtNDY4OV18OSg/OlswMTctOV18NFs2LThdfDVbMi00NzhdfDZbMi01ODldKSl8OCg/OjIoPzo0WzQtOF18OVsyLThdKXwzKD86N1syLTU2XXxbMy02XVsyLTldfDhbMi01XSl8NFs1LThdfDVbMi05XXw2KD86WzM3XXw1WzQtN118NlsyLTldfDhbMi04XXw5WzIzNi05XSl8N1s1NzldfDhbMDMtNTc5XXw5WzItOF0pfDkoPzpbMjNdMHw0WzAyLTQ2LTldfDVbMDI0NS03OV18Nls0LTldfDdbMi00Ny05XXw4WzAyLTddfDkoPzozWzM0XXxbNC03XSkpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzoyWzMtNl18M1szLTldfDRbMi02XXw1KD86WzIzNi04XXxbNDVdWzItNjldKXxbNjhdWzItN118N1syLTY4OV18OVsxLTU3OF0pfDIoPzoyKD86WzA0LTldfDNbMjNdKXwzWzMtNThdfDRbMC00NjhdfDUoPzo1Wzc4XXw3WzItNF18WzA0NjhdWzItOV0pfDYoPzpbMDEzNS04XXw0WzItNV0pfDcoPzpbMDY3OV18OFsyLTddKXw4KD86WzAyNDU3OF18M1syNS05XXw5WzYtOV0pfDkoPzoxMXwzWzItNF0pKXw0KD86Mig/OjJbMi05XXw4WzIzNy05XSl8M1s2ODldfDZbMDM1LTddfDcoPzpbMDU5XVsyLThdfFs2OF0pfDgwfDlbMy01XSl8NSg/OjNbMS0zNi05XXw0WzQ1NzhdfDVbMDEzLThdfDZbMS05XXw3WzItOF18OFsxNC03XXw5KD86Wzg5XVsyLThdfFs0LTddKSl8Nyg/OjJbMTVdfDNbNS05XXw0WzAyLTldfDZbMTM1LThdfDdbMC00Njg5XXw5KD86WzAxNy05XXw0WzYtOF18NVsyLTQ3OF18NlsyLTU4OV0pKXw4KD86Mig/OjRbNC04XXw5KD86WzM1NzhdfDIwfDRbMDQtOV18Nls1Nl0pKXwzKD86Nyg/OlsyLTVdfDZbMC01OV0pfFszLTZdWzItOV18OFsyLTVdKXw0WzUtOF18NVsyLTldfDYoPzpbMzddfDUoPzpbNDY3XXw1WzAxNC05XSl8Nig/OlsyLThdfDlbMDItNjldKXw4WzItOF18OSg/OlsyMzYtOF18OVsyM10pKXw3WzU3OV18OFswMy01NzldfDlbMi04XSl8OSg/OlsyM10wfDRbMDItNDYtOV18NVswMjQ1LTc5XXw2WzQtOV18N1syLTQ3LTldfDhbMDItN118OSg/OjMoPzozWzAyLTldfDRbMC0yNDY4OV0pfDRbMi02OV18WzUtN10pKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MlszLTZdfDNbMy05XXw0WzItNl18NSg/OlsyMzYtOF18WzQ1XVsyLTY5XSl8WzY4XVsyLTddfDdbMi02ODldfDlbMS01NzhdKXwyKD86Mig/OlswNC05XXwzWzIzXSl8M1szLTU4XXw0WzAtNDY4XXw1KD86NVs3OF18N1syLTRdfFswNDY4XVsyLTldKXw2KD86WzAxMzUtOF18NFsyLTVdKXw3KD86WzA2NzldfDhbMi03XSl8OCg/OlswMjQ1NzhdfDNbMjUtOV18OVs2LTldKXw5KD86MTF8M1syLTRdKSl8NCg/OjIoPzoyWzItOV18OFsyMzctOV0pfDNbNjg5XXw2WzAzNS03XXw3KD86WzA1OV1bMi04XXxbNjhdKXw4MHw5WzMtNV0pfDUoPzozWzEtMzYtOV18NFs0NTc4XXw1WzAxMy04XXw2WzEtOV18N1syLThdfDhbMTQtN118OSg/Ols4OV1bMi04XXxbNC03XSkpfDcoPzoyWzE1XXwzWzUtOV18NFswMi05XXw2WzEzNS04XXw3WzAtNDY4OV18OSg/OlswMTctOV18NFs2LThdfDVbMi00NzhdfDZbMi01ODldKSl8OCg/OjIoPzo0WzQtOF18OSg/OlszNTc4XXwyMHw0WzA0LTldfDYoPzo1WzI1XXw2MCkpKXwzKD86Nyg/OlsyLTVdfDZbMC01OV0pfFszLTZdWzItOV18OFsyLTVdKXw0WzUtOF18NVsyLTldfDYoPzpbMzddfDUoPzpbNDY3XXw1WzAxNC05XSl8Nig/OlsyLThdfDlbMDItNjldKXw4WzItOF18OSg/OlsyMzYtOF18OVsyM10pKXw3WzU3OV18OFswMy01NzldfDlbMi04XSl8OSg/OlsyM10wfDRbMDItNDYtOV18NVswMjQ1LTc5XXw2WzQtOV18N1syLTQ3LTldfDhbMDItN118OSg/OjMoPzozWzAyLTldfDRbMC0yNDY4OV0pfDRbMi02OV18WzUtN10pKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MXwyKD86MjN8NVs1LTg5XXw2NHw3OHw4WzM5XXw5MSl8NCg/OjJbMjY4OV18NjR8N1szNDddKXw1KD86WzItNTg5XXwzOSl8OCg/Ols0Ni05XXwzWzI3OV18MlsxMjQ1ODldKXw5KD86WzIzNS04XXw5Myk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MXwyKD86MjN8NSg/Ols1N118WzY4XTB8OVsxOV0pfDY0fDc4fDhbMzldfDkxNyl8NCg/OjIoPzpbNjhdfDIwfDlbMTc4XSl8NjR8N1szNDddKXw1KD86WzItNTg5XXwzOVs2N10pfDgoPzpbNDYtOV18M1syNzldfDJbMTI0NTg5XSl8OSg/OlsyMzUtOF18OTNbMzRdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xfDIoPzoyM3w1KD86WzU3XXxbNjhdMHw5KD86MTd8OTkpKXw2NHw3OHw4WzM5XXw5MTcpfDQoPzoyKD86WzY4XXwyMHw5WzE3OF0pfDY0fDdbMzQ3XSl8NSg/OlsyLTU4OV18MzlbNjddKXw4KD86WzQ2LTldfDNbMjc5XXwyWzEyNDU4OV0pfDkoPzpbMjM1LThdfDkzKD86MzF8NCkpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yKD86OVsxNC03OV18NzR8WzM0XTd8WzU2XTkpfDgyfDk5MzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzM2XXw0KD86MlswOV18N1swMV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjQ3OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5cZHs5LDEwfTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMzQ3MywxMCArMzk3NSwxNCBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IktFIiBjb3VudHJ5Q29kZT0iMjU0IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyLTZdIiBwYXR0ZXJuPSIoWzItNl1cZCkoXGR7NCw3fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNyIgcGF0dGVybj0iKDdcZHsyfSkoXGR7Nn0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ijh8OTAiIHBhdHRlcm49IihcZHszfSkoXGR7Niw3fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOTEiIHBhdHRlcm49Iig5MSkoXGR7Niw3fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHs0LDd9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzItNl18OTE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezYsN30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNzhdfDkwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+XGR7NiwxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTM1MTEsMTEgKzQwMTcsMTYgQEAKICAgICA8IS0tIEt5cmd5enN0YW4gLS0+CiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDc0L2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IktHIiBjb3VudHJ5Q29kZT0iOTk2IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKLSAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KKyAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMzFbMjVdfFs1LThdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIzKD86MVszNl18WzItOV0pIiBwYXR0ZXJuPSIoXGR7NH0pKFxkezV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMxWzI1XXxbNS04XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHs0fSkoXGR7NX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4zKD86MVszNl18WzItOV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzM1Ni04XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0zNTQ1LDEwICs0MDU2LDE1IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iS0giIGNvdW50cnlDb2RlPSI4NTUiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwWzE3OF0iCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxXGRbMS05XXxbMi05XSIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzg5XTAiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDFbODldMDApKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgorICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MVxkWzEtOV18WzItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMVs4OV0wMCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MVs4OV0wPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs3LDl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0zNTg3LDcgKzQxMDMsOSBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5pdHUuaW50L290aC9UMDIwMjAwMDAyRC9lbiAtLT4KICAgICA8dGVycml0b3J5IGlkPSJLTSIgY291bnRyeUNvZGU9IjI2OSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMzddXGR7Nn08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTM2NTUsMzAgKzQxNzMsNTMgQEAKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvclBhcnNpbmc9IjAoPzo4WzEtNDYtOF18ODVcZHsyfSk/IgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEoPzowfDFbMTldfFs2OV05fDUoPzo0NHw1OXw4KSl8WzU3XTAiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHs0fSkoXGR7NH0pIj4kMS0kMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEoPzpbMTY5XVsyLThdfFs3OF18NSg/OlsxLTNdfDRbNTZdKSl8WzY4XTB8WzMtOV1bMS05XVsyLTldIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezR9KSI+JDEtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxMzEyIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGQpKFxkezR9KSI+JDEtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxMzFbMTMtOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHsyfSkoXGR7NH0pIj4kMS0kMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEzWzItOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMS0kMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjMwIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezN9KShcZHs0fSkiPiQxLSQyLSQzLSQ0PC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMig/OlsyNl18Myg/OjAxfDFbNDVdfDJbMTctOV18Mzl8NHw2WzY3XXw3WzA3OF0pKSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGQpKFxkezR9KShcZHs0fSkiPiQxLSQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMig/OjMoPzowWzAyLTldfDFbMC0zNi05XXwyWzAyLTZdfDNbMC04XXw2WzAtNTg5XXw3WzEtNjldfFs1ODldKXxbNDU3LTldKSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGQpKFxkezN9KShcZHs0fSkiPiQxLSQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMjEoPzpbMC0yNDctOV18M1sxMjRdfDZbMTI2OV0pIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZCkoXGR7M30pIj4kMS0kMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIxKD86M1swMzUtOV18NlswMy01NzhdKSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGQpKFxkezR9KSI+JDEtJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMy05XVsxLTldMSg/OlswLTI0Ny05XXwzWzEyNF18NlsxMjY5XSkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHszfSkiPiQxLSQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzMtOV1bMS05XTEoPzozWzAzNS05XXw2WzAzLTU3OF0pIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7NH0pIj4kMS0kMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OjB8MVsxOV18WzY5XTl8NVs0NThdKXxbNTddMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MHwxWzE5XXxbNjldOXw1KD86NDR8NTl8OCkpfFs1N10wPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86WzE2OV1bMi04XXxbNzhdfDVbMS00XSl8WzY4XTB8WzMtOV1bMS05XVsyLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzpbMTY5XVsyLThdfFs3OF18NSg/OlsxLTNdfDRbNTZdKSl8WzY4XTB8WzMtOV1bMS05XVsyLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZCkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xMzE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTMxMjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTMxPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEzMVsxMy05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTNbMi05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDMtJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkKShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yKD86WzI2XXwzWzAtNDY3XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Mig/OlsyNl18Myg/OjAxfDFbNDVdfDJbMTctOV18Mzl8NHw2WzY3XXw3WzA3OF0pKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyLSQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Mig/OjNbMC0zNS05XXxbNDU3LTldKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yKD86Myg/OjBbMDItOV18MVswLTM2LTldfDJbMDItNl18M1swLThdfDZbMC01ODldfDdbMS02OV18WzU4OV0pfFs0NTctOV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkKShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjFbMC00Ni05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszLTldWzEtOV0xPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszLTldWzEtOV0xKD86WzAtNDYtOV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtNzldXGR7Myw5fXw4XGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTM3MjIsMTAgKzQyNjMsMTQgQEAKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gRm9ybWF0IGlzIGZyb20gaHR0cDovL3d3dy5rdXdhaXQuY29tL2luZGV4LnBocD9vcHRpb249Y29tX210cmVlJnRhc2s9dmlld2xpbmsmbGlua19pZD0xMzkmSXRlbWlkPTE1IC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEiIHBhdHRlcm49IigxOFxkezJ9KShcZHszfSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMiIgcGF0dGVybj0iKDJbMi01XVxkezJ9KShcZHs0fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzY5XSIgcGF0dGVybj0iKFs2OV1cZHszfSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjUiIHBhdHRlcm49Iig1WzA1XVxkKShcZHs1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEyNjldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDVbMDVdXGQpKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxMjU2OV1cZHs2LDd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0zODA4LDEwICs0MzUzLDE0IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iTEEiIGNvdW50cnlDb2RlPSI4NTYiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyMCIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoMjApKFsyMzU3LTldKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIxfFszLTU3XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzItNTddXGQpKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDIwKShbMjM1Ny05XSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzItNTddXGQpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIxfFszLTU3XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLTU3XVxkezcsOH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTM4MzgsMTIgKzQzODcsMTggQEAKICAgICA8dGVycml0b3J5IGlkPSJMQiIgY291bnRyeUNvZGU9Ijk2MSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsxMy02XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzEzLTZdKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils3LTldWzAxXSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzctOV1bMDFdKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils3LTldWzItOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFs3LTldWzItOV0pKFxkezJ9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxMy02XSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEzLTZdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs3LTldWzAxXSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzctOV1bMDFdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs3LTldWzItOV0pKFxkezJ9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls3LTldWzItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMTMtOV1cZHs2LDd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC0zOTExLDE2ICs0NDY2LDI1IEBACiAgICAgc2hhcmVkIGNvc3QgbnVtYmVycyAtIGxvb2sgYXQgIk1laHJ3ZXJ0bnVtbWVyIi4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iTEkiIGNvdW50cnlDb2RlPSI0MjMiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyM118N1s0LTldfDg3IgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI2IiBwYXR0ZXJuPSIoNlxkKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils3LTldMCIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzctOV0wXGQpKFxkezJ9KShcZHsyfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjNdfDdbNC05XXw4NzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig2XGQpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjY8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzctOV0wXGQpKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls3LTldMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIDA4MDAgYW5kIDA5MDAgYXJlIHZhbGlkIHByZWZpeGVzLCBidXQgTGllY2h0ZW5zdGVpbgogICAgICAgICAgICAgIGRvZXNuJ3QgaGF2ZSBhIGdlbmVyYWwgbmF0aW9uYWwgcHJlZml4LCBzbyB3ZSBpbmNsdWRlIGl0IG1hbnVhbGx5IGhlcmUKICAgICAgICAgICAgICB3aGVuIGZvcm1hdHRpbmcuIFdlIGNhbiB0ZWxsIHdoZXRoZXIgaXQgbmVlZHMgb25lIGJ5IG51bWJlciBsZW5ndGguLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzg5XTAiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFs4OV0wXGQpKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4wJDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzg5XTBcZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls4OV0wPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+MCQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPig/OjY2fDgwfDkwKVxkezd9fFsyMzctOV1cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMzk2NiwxMCArNDUzMCwxNCBAQAogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gRm9ybWF0dGluZyBmcm9tIE1pbmlzdHJ5IG9mIEFncmljdWx0dXJlLAogICAgICAgICBodHRwOi8vd3d3Lm1vYS5nb3YubHIvY29udGVudC5waHA/c3ViPUVtYWlsJj9yZWxhdGVkPUNvbnRhY3RzIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsyN10iCi0gICAgICAgICAgcGF0dGVybj0iKFsyN11cZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNC02XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzQtNl0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyN11cZCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzI3XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNC02XSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzQtNl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj4oPzpbMjddXGR8WzQtNl0pXGR7Nn08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTM5OTMsNyArNDU2MSw5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iTFMiIGNvdW50cnlDb2RlPSIyNjYiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgogICAgICAgICA8IS0tIEZvcm1hdHRpbmcgZm9sbG93aW5nIHllbGxvdyBwYWdlczogd3d3LnllbGxvd3BhZ2VzLmNvLmxzLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZHs0fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI1NjhdXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQwMTksMTMgKzQ1ODksMTkgQEAKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSI4IiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAgJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgogICAgICAgICA8IS0tIFR3by1kaWdpdCBhcmVhIGNvZGVzIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjM3fDQoPzoxfDVbNDVdfDZbMi00XSkiCi0gICAgICAgICAgcGF0dGVybj0iKFszNF1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszNF1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjM3fDQoPzoxfDVbNDVdfDZbMi00XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBUaHJlZS1kaWdpdCBhcmVhIGNvZGVzIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjNbMTQ4XXw0KD86WzI0XXw2WzA5XSl8NSg/OlswMTg5XXwyOCl8WzY4OV0iCi0gICAgICAgICAgcGF0dGVybj0iKFszLTY4OV1cZHsyfSkoXGR7Mn0pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI1MlswLTc5XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoNSkoMlswLTc5XVxkKShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszLTY4OV1cZHsyfSkoXGR7Mn0pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+M1sxNDhdfDQoPzpbMjRdfDZbMDldKXw1KD86WzAxODldfDI4KXxbNjg5XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig1KSgyWzAtNzldXGQpKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NTJbMC03OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMy05XVxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC00MDU3LDcgKzQ2MzMsOSBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5pdHUuaW50L290aC9UMDIwMjAwMDA3Ni9lbiAtLT4KICAgICA8dGVycml0b3J5IGlkPSJMViIgY291bnRyeUNvZGU9IjM3MSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNjg5XVxkKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMjY4OV1cZCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjY4OV1cZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNDA5MiwxNCArNDY3MCwyNCBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9Ik1BIiBjb3VudHJ5Q29kZT0iMjEyIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNSg/OjJbMDE1LTddfDNbMC00XSl8NiIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzU2XVxkezJ9KShcZHs2fSkiPiQxLSQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNSg/OjIoPzpbMi00OF18OTApfDMoPzpbNS03OV18ODApKXw4OTIiCi0gICAgICAgICAgcGF0dGVybj0iKFs1OF1cZHszfSkoXGR7NX0pIj4kMS0kMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjUoPzoyOVs4OV18MzhbODldKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoNVxkezR9KShcZHs0fSkiPiQxLSQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOCg/OjB8OVswMTMtOV0pIgotICAgICAgICAgIHBhdHRlcm49Iig4WzA5XSkoXGR7N30pIj4kMS0kMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNTZdXGR7Mn0pKFxkezZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NSg/OjJbMDE1LTddfDNbMC00XSl8NjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNThdXGR7M30pKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NSg/OjJbMi00ODldfDNbNS05XSl8ODkyPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjUoPzoyKD86WzItNDhdfDkwKXwzKD86WzUtNzldfDgwKSl8ODkyPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDVcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz41KD86Mjl8MzgpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjUoPzoyOXwzOClbODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDhbMDldKShcZHs3fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgoPzowfDlbMDEzLTldKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPls1Njg5XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC00MTM0LDEwICs0NzIyLDE4IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iTUQiIGNvdW50cnlDb2RlPSIzNzMiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyMiIgcGF0dGVybj0iKDIyKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjJbMTMtNzldfFs1LTddIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbMjUtN11cZHsyfSkoXGR7Mn0pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbODldIiBwYXR0ZXJuPSIoWzg5XTAwKShcZHs1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDIyKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yMjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMjUtN11cZHsyfSkoXGR7Mn0pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlsxMy03OV18WzUtN108L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzg5XTAwKShcZHs1fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjU2LTldXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQxNzQsNyArNDc3MCw5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iTUciIGNvdW50cnlDb2RlPSIyNjEiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzIzXVxkKShcZHsyfSkoXGR7M30pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzIzXVxkKShcZHsyfSkoXGR7M30pKFxkezJ9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjNdXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQyMjgsMTEgKzQ4MjYsMTggQEAKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gRm9ybWF0cyBmb2xsb3cgd2lraXBlZGlhLiAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIiBwYXR0ZXJuPSIoMikoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMzQ3XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoWzM0N11cZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNThdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbNThdXGR7Mn0pKFxkKShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigyKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszNDddXGQpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszNDddPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs1OF1cZHsyfSkoXGQpKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls1OF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMi01NzhdXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQyNjcsNyArNDg3Miw5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iTUwiIGNvdW50cnlDb2RlPSIyMjMiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNDYtOF1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNDYtOF1cZCkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI0Ni04XVxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC00Mjk0LDE4ICs0OTAxLDMzIEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDkyL2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9Ik1NIiBjb3VudHJ5Q29kZT0iOTUiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEiIHBhdHRlcm49IigxKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigxKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gVGhpcyBvdmVybGFwcyB0aGUgcHJldmlvdXMgcGF0dGVybi4gLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTMiCi0gICAgICAgICAgcGF0dGVybj0iKDEpKDMpKDMzXGQpKFxkezN9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIgotICAgICAgICAgIHBhdHRlcm49IigyKShcZHsyfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils0LThdIgotICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7Mn0pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMSkoMykoMzNcZCkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xMzM8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTMzMzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigyKShcZHsyfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNC04XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIEZvcm1hdCBpcyBmcm9tIGh0dHA6Ly93d3cuYWl0YWEuYWl0LmFjLnRoL2NoYXB0ZXJzL2NvcHkxN19vZl9haXRhYS1uYXRpb25hbC1jaGFwdGVycy0xIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ijk0IiBwYXR0ZXJuPSIoOTQ0NCkoXGR7NX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjlbMjU2ODldIgotICAgICAgICAgIHBhdHRlcm49Iig5KShbMjU2ODldXGR7Mn0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoOTQ0NCkoXGR7NX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45NDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig5KShbMjU2ODldXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OVsyNTY4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMTI0LThdXGR7NSw3fXw5XGR7Nyw4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNDMzMCwxMyArNDk1MiwyNCBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9Ik1OIiBjb3VudHJ5Q29kZT0iOTc2IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMDEiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsxMl0xfFs3LTldIgotICAgICAgICAgIHBhdHRlcm49IihbMTI3LTldXGQpKFxkezJ9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEyXTJbMS0zXSIgcGF0dGVybj0iKFsxMl0yXGQpKFxkezV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMTJdKD86Mjd8WzMtNV1cZCkyIgotICAgICAgICAgIHBhdHRlcm49IihbMTJdXGR7M30pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMTJdKD86Mjd8WzMtNV1cZClbNC05XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzEyXVxkezR9KShcZHszfSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxMjctOV1cZCkoXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEyXTF8WzctOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEyXTJcZCkoXGR7NX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMTJdMlsxLTNdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxMl1cZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMTJdKD86Mjd8WzMtNV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxMl0oPzoyN3xbMy01XVxkKTI8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEyXVxkezR9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxMl0oPzoyN3xbMy01XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEyXSg/OjI3fFszLTVdXGQpWzQtOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMTI3LTldXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQzNjAsNyArNDk5Myw5IEBACiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDdFL2VuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9Ik1PIiBjb3VudHJ5Q29kZT0iODUzIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzI2OF1cZHszfSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMjY4XVxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI2OF1cZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNDQxOSw3ICs1MDU0LDkgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuYXJlLm1yL2NvbS0xLTQtMS5odG1sIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9Ik1SIiBjb3VudHJ5Q29kZT0iMjIyIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIgPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLTddXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLTddXGR7Mn0pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItN11cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNDQ3OCw3ICs1MTE1LDkgQEAKICAgICAgIGhhcHBlbiBBdWd1c3QgMjAxMCwgYW5kIDcgZGlnaXQgbnVtYmVycyB3aWxsIGJlIHBoYXNlZCBvdXQgYnkgMSBOb3ZlbWJlcgogICAgICAgMjAxMC4gLS0+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzItOV1cZHsyfSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi05XVxkezJ9KShcZHs0fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItOV1cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNDUyMSwxNCArNTE2MCwyMiBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9Ik1XIiBjb3VudHJ5Q29kZT0iMjY1IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEzLTVdIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IigyXGR7Mn0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNyIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGQpKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzg5XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGQpKFxkezMsNH0pKFxkezMsNH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEzLTVdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDJcZHsyfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7Myw0fSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDwhLS0gQWNjb3JkaW5nIHRvIHRoZSBwbGFuLCB0aGUgc3dpdGNoIGZyb20gNyB0byA5IGRpZ2l0cyBmb3IgbW9iaWxlCiAgICAgICAgICAgIG51bWJlcnMgaGFwcGVuZWQgaW4gSnVseSAyMDA5LiBIb3dldmVyLCBvbmxpbmUgbnVtYmVycyBkb24ndApAQCAtNDU2NCwyOCArNTIxMSw0MCBAQAogICAgICAgIGluIGludGVybmF0aW9uYWwgZm9ybWF0IChsZWFkaW5nIDEpIG9yIG5hdGlvbmFsIGZvcm1hdAogICAgICAgIChsZWFkaW5nIDA0NS8wNDYpLCB3aWxsIGJlIHBhcnNlZCBpbnRvIHRoZSBzYW1lIGZvcm0uIC0tPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMzN8NTV8ODEiCi0gICAgICAgICAgcGF0dGVybj0iKFszNThdXGQpKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjMzfDU1fDgxIgotICAgICAgICAgIHBhdHRlcm49IihbMzU4XVxkKShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvaW50bE51bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjQ2N118M1sxMjQ1Ny05XXw1Wzg5XXw4WzItOV18OVsxLTM1LTldIgotICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzI0NjddfDNbMTI0NTctOV18NVs4OV18OFsyLTldfDlbMS0zNS05XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9pbnRsTnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEoPzozM3w1NXw4MSkiCi0gICAgICAgICAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJEZHIgotICAgICAgICAgIHBhdHRlcm49IjEoWzM1OF1cZCkoXGR7NH0pKFxkezR9KSI+MDQ1ICQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEoPzozM3w1NXw4MSkiCi0gICAgICAgICAgcGF0dGVybj0iKDEpKFszNThdXGQpKFxkezR9KShcZHs0fSkiPiQxICQyICQzICQ0PC9pbnRsTnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEoPzpbMjQ2N118M1sxMjQ1Ny05XXw1Wzg5XXw4WzItOV18OVsxLTM1LTldKSIKLSAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCi0gICAgICAgICAgcGF0dGVybj0iMShcZHszfSkoXGR7M30pKFxkezR9KSI+MDQ1ICQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEoPzpbMjQ2N118M1sxMjQ1Ny05XXw1Wzg5XXw4WzItOV18OVsxLTM1LTldKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoMSkoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyICQzICQ0PC9pbnRsTnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils4OV0wIgotICAgICAgICAgIHBhdHRlcm49IihbODldMDApKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils4OV0wIgotICAgICAgICAgIHBhdHRlcm49IihbODldMDApKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMzU4XVxkKShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4zM3w1NXw4MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzM1OF1cZCkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MzN8NTV8ODE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L2ludGxOdW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjQ2N118M1sxMjQ1Ny05XXw1Wzg5XXw4WzAyLTldfDlbMC0zNS05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyNDY3XXwzWzEyNDU3LTldfDVbODldfDhbMDItOV18OVswLTM1LTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIxKFszNThdXGQpKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzozM3w1NXw4MSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4wNDUgJDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm49IigxKShbMzU4XVxkKShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MzN8NTV8ODEpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIxKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86WzI0NjddfDNbMTI0NTctOV18NVs4OV18OFsyLTldfDlbMS0zNS05XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4wNDUgJDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm49IigxKShcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OlsyNDY3XXwzWzEyNDU3LTldfDVbODldfDhbMi05XXw5WzEtMzUtOV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTldXGR7OSwxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQ2MjAsMTggKzUyNzksMzAgQEAKICAgICA8dGVycml0b3J5IGlkPSJNWSIgY291bnRyeUNvZGU9IjYwIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils0LTc5XSIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgotICAgICAgICAgIHBhdHRlcm49IihbNC03OV0pKFxkezN9KShcZHs0fSkiPiQxLSQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMyIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgotICAgICAgICAgIHBhdHRlcm49IigzKShcZHs0fSkoXGR7NH0pIj4kMS0kMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKLSAgICAgICAgICBwYXR0ZXJuPSIoOFsyLTldKShcZHszfSkoXGR7M30pIj4kMS0kMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjFbMC00Ni05XVsxLTldIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCi0gICAgICAgICAgcGF0dGVybj0iKDFcZCkoXGR7M30pKFxkezR9KSI+JDEtJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzM2LThdMCIKLSAgICAgICAgICBwYXR0ZXJuPSIoMSkoWzM2LThdMDApKFxkezJ9KShcZHs0fSkiPiQxLSQyLSQzLSQ0PC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTUiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKLSAgICAgICAgICBwYXR0ZXJuPSIoMTU0KShcZHszfSkoXGR7NH0pIj4kMS0kMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoWzQtNzldKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNC03OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCisgICAgICAgICAgcGF0dGVybj0iKDMpKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjM8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciCisgICAgICAgICAgcGF0dGVybj0iKFsxOF1cZCkoXGR7M30pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzAtNDYtOV1bMS05XXw4PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDEpKFszNi04XTAwKShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzM2LThdMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyLSQzLSQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoMTU0KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xNTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxMy05XVxkezcsOX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQ2NzMsMTIgKzUzNDQsMTQgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuaXR1LmludC9vdGgvVDAyMDIwMDAwOTEvZW4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iTVoiIGNvdW50cnlDb2RlPSIyNTgiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIiCi0gICAgICAgICAgcGF0dGVybj0iKDJcZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4WzI0XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoOFsyNF0pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iODAiCi0gICAgICAgICAgcGF0dGVybj0iKDgwXGQpKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyOF1cZCkoXGR7M30pKFxkezMsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yfDhbMjRdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDgwXGQpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI4XVxkezcsOH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQ3MTEsMjIgKzUzODQsNDAgQEAKICAgICA8dGVycml0b3J5IGlkPSJOQSIgY291bnRyeUNvZGU9IjI2NCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjhbMTVdIgotICAgICAgICAgIHBhdHRlcm49Iig4XGQpKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDwhLS0gVGhpcyBvdmVybGFwcyBieSBuZWNlc3NpdHkgd2l0aCB0aGUgbmV4dCBwYXR0ZXJuLCBzbyBhcyBpdCBpcyBtb3JlCi0gICAgICAgIHNwZWNpZmljLCBpdCBpcyBsaXN0ZWQgZmlyc3QuIFRoZSBhcmVhIGNvZGUgaXMgYWN0dWFsbHkgNjMyNTMyLCBidXQKLSAgICAgICAgbGVhZGluZ0RpZ2l0cyBsZW5ndGggaXMgbGltaXRlZCB0byA0Li0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjYzMjUiIHBhdHRlcm49Iig2MzI1MzIpKFxkezIsNH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjYoPzoxfFsyNDVdWzEtN118M1sxMjUtN118NlsxMjU2XXw3WzEyMzZdKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoNlxkKShcZHsyLDN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDhcZCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OFsxNV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPCEtLSBUaGlzIG92ZXJsYXBzIHdpdGggdGhlIG5leHQgcGF0dGVybiBzbyBpcyBsaXN0ZWQgZmlyc3QuIC0tPgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig2MzI1MzIpKFxkezIsNH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42MzI8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NjMyNTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42MzI1MzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42MzI1MzI8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNlxkKShcZHsyLDN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjYoPzoxfFsyNDVdWzEtN118M1sxMjUtN118NlsxMjU2XXw3WzEyMzZdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIEFub3RoZXIgb3ZlcmxhcCBwYXR0ZXJuIC0gdGhpcyBvbmUgaXMgZm9yIHNob3J0ZXIgbnVtYmVycy4gLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNig/OjNbMTI1NjddfDVbMy01XXw2WzEyNTZdfDdbMTIzNl0pIgotICAgICAgICAgIHBhdHRlcm49Iig2XGQpKFxkezQsNX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjZbMjM1Nl04IiBwYXR0ZXJuPSIoNlxkezJ9KShcZHs0LDZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI2KD86MzQyfDZbMzRdfDc1MSkiCi0gICAgICAgICAgcGF0dGVybj0iKDZcZHszfSkoXGR7NCw1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iODgiCi0gICAgICAgICAgcGF0dGVybj0iKDg4KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig2XGQpKFxkezQsNX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42KD86M1sxMjU2N118NVszLTVdfDZbMTI1Nl18N1sxMjM2XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNlxkezJ9KShcZHs0LDZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NlsyMzU2XTg8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNlxkezN9KShcZHs0LDV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Nig/OjM0fDZbMzRdfDc1KTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42KD86MzQyfDZbMzRdfDc1MSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoODgpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjg4PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzY4XVxkezUsOX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQ3NTksMTEgKzU0NTAsMTMgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuaXR1LmludC9vdGgvVDAyMDIwMDAwOUIvZW4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iTkUiIGNvdW50cnlDb2RlPSIyMjciIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0PgotICAgICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzI5XXwwOSIKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihbMDI5XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjA4IgotICAgICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKDA4KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMDI5XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzI5XXwwOTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigwOCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MDg8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgogICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KQEAgLTQ3OTksMjQgKzU0OTIsMzQgQEAKICAgICA8dGVycml0b3J5IGlkPSJORyIgY291bnRyeUNvZGU9IjIzNCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDA5IgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMTJdIgotICAgICAgICAgIHBhdHRlcm49IihbMTJdKShcZHszfSkoXGR7Myw0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSIKLSAgICAgICAgICBwYXR0ZXJuPSIoOSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMy02XXw3KD86WzEtNzldfDBbMS05XSl8OFsyLTldIgotICAgICAgICAgIHBhdHRlcm49IihbMy04XVxkKShcZHszfSkoXGR7MiwzfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNzBbMy05XXw4KD86MFsxLTldfDFbMjNdKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzc4XVxkezJ9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjcwMnw4MTkiCi0gICAgICAgICAgcGF0dGVybj0iKFs3OF1cZHszfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNzhdMDAiCi0gICAgICAgICAgcGF0dGVybj0iKFs3OF0wMCkoXGR7M30pKFxkezMsNH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils3OF0wMCIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzc4XTAwKShcZHs0fSkoXGR7NCw1fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzc4XTAwIgotICAgICAgICAgIHBhdHRlcm49IihbNzhdMDApKFxkezV9KShcZHs1LDZ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3OCIKLSAgICAgICAgICBwYXR0ZXJuPSIoNzgpKFxkezJ9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxMjldKShcZHszfSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxMjldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszLThdXGQpKFxkezN9KShcZHsyLDN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzMtNl18Nyg/OlsxLTc5XXwwWzEtOV0pfDhbMi05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNzhdXGR7Mn0pKFxkezN9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzBbMDMtOV18OCg/OjB8MVsyM10pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs3OF1cZHszfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzAyfDgxOTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNzhdMDApKFxkezR9KShcZHs0LDV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Wzc4XTAwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs3OF0wMCkoXGR7NX0pKFxkezUsNn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNzhdMDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNzgpKFxkezJ9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjc4PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtNjldXGR7NSw4fXxbNzhdXGR7NSwxM308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQ4NTcsMTIgKzU1NjAsMjIgQEAKICAgICA8dGVycml0b3J5IGlkPSJOTCIgY291bnRyeUNvZGU9IjMxIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMVswMzVdfDJbMDM0Nl18M1swMzU2OF18NFswMzU2XXw1WzAzNThdfDd8OFs0NThdIgotICAgICAgICAgIHBhdHRlcm49IihbMS01NzhdXGQpKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMVsxNi04XXwyWzI1OV18M1sxMjRdfDRbMTctOV18NVsxMjQ2NzldIgotICAgICAgICAgIHBhdHRlcm49IihbMS01XVxkezJ9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjYiIHBhdHRlcm49Iig2KShcZHs4fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iODB8OSIgcGF0dGVybj0iKFs4OV0wXGQpKFxkezQsN30pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMS01NzhdXGQpKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjFbMDM1XXwyWzAzNDZdfDNbMDM1NjhdfDRbMDM1Nl18NVswMzU4XXw3fDhbNDU4XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMS01XVxkezJ9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzE2LThdfDJbMjU5XXwzWzEyNF18NFsxNy05XXw1WzEyNDY3OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoNikoXGR7OH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs4OV0wXGQpKFxkezQsN30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44MHw5PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs2LDl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC00ODk5LDEwICs1NjEyLDE0IEBACiAgICAgaHR0cDovL3d3dy5ucHQubm8vcG9ydGFsL3BhZ2UvcG9ydGFsL1BHX05QVF9OT19FTi9QQUdfTlBUX0VOX0hPTUUvUEFHX1JFU09VUkNFX1RFWFQgLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iTk8iIGNvdW50cnlDb2RlPSI0NyIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzQ4OV0iCi0gICAgICAgICAgcGF0dGVybj0iKFs0ODldXGR7Mn0pKFxkezJ9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzIzNS03XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzIzNS03XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzQ4OV1cZHsyfSkoXGR7Mn0pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzQ4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzIzNS03XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzIzNS03XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPjBcZHs0fXxbMi05XVxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC00OTQ4LDEzICs1NjY1LDE5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iTlAiIGNvdW50cnlDb2RlPSI5NzciIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzQtNl0iCi0gICAgICAgICAgcGF0dGVybj0iKDEpKFs0LTZdXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzAxXXxbMi04XXw5WzEtNzldIgotICAgICAgICAgIHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMSkoWzQtNl1cZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzQtNl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjFbMDFdfFsyLThdfDlbMS03OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBGb3JtYXQgaXMgZnJvbSBodHRwOi8vd3d3LmZjby5nb3YudWsvZW4vdHJhdmVsLWFuZC1saXZpbmctYWJyb2FkL3RyYXZlbC1hZHZpY2UtYnktY291bnRyeS9jb3VudHJ5LXByb2ZpbGUvYXNpYS1vY2VhbmlhL25lcGFsLyAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5OCIKLSAgICAgICAgICBwYXR0ZXJuPSIoOThbNDVdKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig5OFs0NV0pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjk4PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOF1cZHs1LDd9fDk4WzQ1XVxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC00OTkxLDI0ICs1NzE0LDM2IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iTloiIGNvdW50cnlDb2RlPSI2NCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszNDY3XXw5WzEtOV0iCi0gICAgICAgICAgcGF0dGVybj0iKFszNDY3OV0pKFxkezN9KShcZHs0fSkiPiQxLSQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszNDY3OV0pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszNDY3XXw5WzEtOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBNb2JpbGUgbnVtYmVycyBkbyBub3QgaGF2ZSBleGNsdXNpdmUgbGVhZGluZyBkaWdpdHMgLSBmb3JtYXR0aW5nCiAgICAgICAgIGRlcGVuZHMgb24gbnVtYmVyIGxlbmd0aC4tLT4KICAgICAgICAgPCEtLSBWb2RhZm9uZSBudW1iZXJzIGFyZSBmb3JtYXR0ZWQgd2l0aCAwMjEgc2VwYXJhdGVkLiAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyMSIKLSAgICAgICAgICBwYXR0ZXJuPSIoMjEpKFxkezR9KShcZHszLDR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMjEpKFxkezR9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgICAgPCEtLSBBZGRpbmcgaW4gdGhlIHRvbGwgZnJlZSBudW1iZXJzIGhlcmUgYXMgd2VsbCBzaW5jZSB0aGV5IGZvbGxvdyB0aGUKICAgICAgICAgc2FtZSBmb3JtYXQuIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjJbMDI0Ny05XXw1fFs4OV0wMCIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzI1ODldXGR7Mn0pKFxkezN9KShcZHszLDR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzI1ODldXGR7Mn0pKFxkezN9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlswMjQ3LTldfDV8Wzg5XTAwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gVm9kYWZvbmUgYW5kIE9yY29uIG51bWJlcnMgY2FuIGFsc28gYmUgOCBkaWdpdHMgKHdpdGhvdXQgbGVhZGluZwotICAgICAgICAgICAgIDApLCBhbmQgdGhlc2UgYXJlIGZvcm1hdHRlZCBkaWZmZXJlbnRseS4gLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMlswMTldIgotICAgICAgICAgIHBhdHRlcm49IigyWzAxOV0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDApLCBhbmQgdGhlc2UgYXJlIGZvcm1hdHRlZCBkaWZmZXJlbnRseS4gLS0+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDJbMDE5XSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlswMTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gQW50YXJjdGljYSAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyNDA5OSIKLSAgICAgICAgICBwYXR0ZXJuPSIoMjQwOTkpKFxkezN9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMjQwOTkpKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjQwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjI0MDk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjQwOTk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMi05XVxkezcsOX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTUwNDksMTAgKzU3ODQsMTggQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuaXR1LmludC9vdGgvVDAyMDIwMDAwOUYvZW4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iT00iIGNvdW50cnlDb2RlPSI5NjgiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIiA+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIiBwYXR0ZXJuPSIoMlxkKShcZHs2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSIgcGF0dGVybj0iKDlcZHszfSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgiIHBhdHRlcm49Iig4MDApKDdcZHs0LDV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI1IiBwYXR0ZXJuPSIoNTAwKShcZHs0fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDJcZCkoXGR7Nn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDlcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs1OF0wMCkoXGR7NCw2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls1OF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj4oPzoyWzMtNl18NXw5WzItOV0pXGR7Nn18ODAwXGR7NSw2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNTA5NSwxMSArNTgzOCwyMiBAQAogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IigkRkcpIgogICAgICAgICAgICAgICAgcHJlZmVycmVkRXh0blByZWZpeD0iIEFuZXhvICI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxOSIgcGF0dGVybj0iKDEpKDlcZHsyfSkoXGR7Nn0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjFbMC04XSIgcGF0dGVybj0iKDEpKFxkezh9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNC04XVxkWzAtOF0iIHBhdHRlcm49IihbNC04XVxkKShcZHs2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzQtOF1cZDkiCi0gICAgICAgICAgcGF0dGVybj0iKFs0LThdXGQpKDlcZHsyfSkoXGR7Nn0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigxKSg5XGR7Mn0pKFxkezZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMSkoXGR7OH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzAtOF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzQtOF1cZCkoXGR7Nn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNC04XVxkWzAtOF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzQtOF1cZCkoOVxkezJ9KShcZHs2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls0LThdXGQ5PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDwhLS0gVGhlIGV4cGxpY2l0IHJlcXVpcmVtZW50cyBmb3IgbnVtYmVycyBiZWdpbm5pbmcgd2l0aCA1IGFyZSBiZWNhdXNlCkBAIC01MTI5LDkgKzU4ODMsMTQgQEAKICAgICA8IS0tIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvJTJCNjc1IC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IlBHIiBjb3VudHJ5Q29kZT0iNjc1IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMS02ODldIiBwYXR0ZXJuPSIoXGR7M30pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3WzEtMzZdIgotICAgICAgICAgIHBhdHRlcm49Iig3WzEtMzZdXGQpKFxkezJ9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxLTY4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoN1sxLTM2XVxkKShcZHsyfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz43WzEtMzZdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs2LDd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC01MTcxLDI0ICs1OTMwLDQ0IEBACiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KICAgICAgICAgPCEtLUFyZWEgY29kZSBzZXBhcmF0ZWQgZnJvbSBudW1iZXIuIEFyZWEgY29kZXMgZm91bmQgaGVyZToKICAgICAgICAgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UZWxlY29tbXVuaWNhdGlvbnNfaW5fdGhlX1BoaWxpcHBpbmVzI0FyZWFfQ29kZXMtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIoJE5QJEZHKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoMikoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIzKD86MjMwfDM5N3w0NjEpfDQoPzoyKD86MzV8WzQ2XTR8NTEpfDM5Nnw0KD86MjJ8NjMpfDU5WzM0N118NzZbMTVdKXw1KD86MjIxfDQ0Nil8NjQyWzIzXXw4KD86NjIyfDgoPzpbMjRdMnw1WzEzXSkpIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIoJE5QJEZHKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoXGR7NH0pKFxkezV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIzNDY5fDQoPzoyNzl8OSg/OjMwfDU2KSl8ODgzNCIKLSAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIoJE5QJEZHKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoXGR7NX0pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIoJE5QJEZHKSIKKyAgICAgICAgICBwYXR0ZXJuPSIoMikoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IigkTlAkRkcpIgorICAgICAgICAgIHBhdHRlcm49IihcZHs0fSkoXGR7NX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4zKD86MjN8Mzl8NDYpfDQoPzoyWzMtNl18WzM1XTl8NFsyNl18NzYpfDUoPzoyMnw0NCl8NjQyfDgoPzo2Mnw4WzI0NV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMoPzoyMzB8Mzk3fDQ2MSl8NCg/OjIoPzozNXxbNDZdNHw1MSl8Mzk2fDQoPzoyMnw2Myl8NTlbMzQ3XXw3NlsxNV0pfDUoPzoyMjF8NDQ2KXw2NDJbMjNdfDgoPzo2MjJ8OCg/OlsyNF0yfDVbMTNdKSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIoJE5QJEZHKSIKKyAgICAgICAgICBwYXR0ZXJuPSIoXGR7NX0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MzQ2fDQoPzoyN3w5WzM1XSl8ODgzPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjM0Njl8NCg/OjI3OXw5KD86MzB8NTYpKXw4ODM0PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gVGhpcyBydWxlIGlzIGEgZmFsbGJhY2sgZm9yIHRoZSBtb3JlIHNwZWNpZmljIGFyZWEgY29kZXMuLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzMtOF0iIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IigkTlAkRkcpIgotICAgICAgICAgIHBhdHRlcm49IihbMy04XVxkKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjkiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKLSAgICAgICAgICBwYXR0ZXJuPSIoOVxkezJ9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IigkTlAkRkcpIgorICAgICAgICAgIHBhdHRlcm49IihbMy04XVxkKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMy04XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoOVxkezJ9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gRm9ybWF0dGluZyBmcm9tCiAgICAgICAgIGh0dHA6Ly93d3cudW5pb250ZWxlY2FyZC5jb20vY2FsbGluZy1ndWlkZXMvcGhpbGlwcGluZXMvZ3VpZGUxLmFzcHggLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSIKLSAgICAgICAgICBwYXR0ZXJuPSIoMTgwMCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxIgotICAgICAgICAgIHBhdHRlcm49IigxODAwKShcZHsxLDJ9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigxODAwKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDE4MDApKFxkezEsMn0pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMi05XVxkezcsOX18MTgwMFxkezcsOX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTUyMjAsMTMgKzU5OTksMTggQEAKICAgICA8dGVycml0b3J5IGlkPSJQSyIgY291bnRyeUNvZGU9IjkyIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMjF8NDIiIHBhdHRlcm49IihbMjRdXGQpKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQKLSAgICAgICAgICBsZWFkaW5nRGlnaXRzPSIyWzI1XXw0WzAxNDYtOV18NVsxLTM1LThdfDZbMS04XXw3WzE0XXw4WzE2XXw5MSIKLSAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMlszNDldfDN8NDV8NTR8NjB8NzJ8OFsyLTVdfDlbMi05XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iODkiIHBhdHRlcm49IihbODldMDApKFxkezN9KShcZHsyfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yWzI1XXw0WzAxNDYtOV18NVsxLTM1LThdfDZbMS04XXw3WzE0XXw4WzE2XXw5MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjF8NDI8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHsyLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlszNDldfDN8NDV8NTR8NjB8NzJ8OFswMi01XXw5WzAyLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItOV1cZHs3LDl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC01MjYwLDEwICs2MDQ0LDE0IEBACiAgICAgKGluIFBvbGlzaCkgLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iUEwiIGNvdW50cnlDb2RlPSI0OCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEyNF18M1syLTRdfDVbMjQtNjg5XXw2WzEtMzU3OF18N1swMTQtN118OFsxLTc5XXw5WzE0NV0iCi0gICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIzOXw1WzAxM118NlswNjldfDdbMjg5XXw4WzA4XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEyNF18M1syLTRdfDVbMjQtNjg5XXw2WzEtMzU3OF18N1sxNC03XXw4WzEtNzldfDlbMTQ1XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Mzl8NVswMTNdfDZbMDY5XXw3WzAyODldfDhbMDhdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNTMzOCw3ICs2MTI2LDkgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuYW5hY29tLnB0L3JlbmRlci5qc3A/Y2F0ZWdvcnlJZD0yNzkwOTggLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iUFQiIGNvdW50cnlDb2RlPSIzNTEiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi00Ni05XVxkezJ9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi00Ni05XVxkezJ9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLTQ2LTldXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTUzODAsNyArNjE3MCw5IEBACiAgICAgPCEtLSBodHRwOi8vd3RuZy5pbmZvL3d0bmctcXEuaHRtbCAtLT4KICAgICA8dGVycml0b3J5IGlkPSJRQSIgY291bnRyeUNvZGU9Ijk3NCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszLThdXGR7Mn0pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzMtOF1cZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlszLThdXGR7Nn08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU0MTAsNyArNjIwMiw5IEBACiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgogICAgICAgICAgICAgICAgbGVhZGluZ0RpZ2l0cz0iMjYyfDZbNDldfDgiIG1haW5Db3VudHJ5Rm9yQ29kZT0idHJ1ZSIgPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNjhdXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMjY4XVxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjY4XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC01NDQ2LDEwICs2MjQwLDE0IEBACiAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIgogICAgICAgcHJlZmVycmVkRXh0blByZWZpeD0iIGludCAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzIzXTF8NyIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzIzN11cZCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjNdWzAyLTldfFs4OV0iCi0gICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMjM3XVxkKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjNdMXw3PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjNdWzAyLTldfFs4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjM3LTldXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU0OTEsMTMgKzYyODksMjIgQEAKICAgICA8dGVycml0b3J5IGlkPSJSUyIgY291bnRyeUNvZGU9IjM4MSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Iig/OjJbMzg5XXwzOSkwIgotICAgICAgICAgIHBhdHRlcm49IihbMjNdXGR7Mn0pKFxkezQsN30pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjF8Mig/OlswLTI0LTddfFszODldWzEtOV0pfDMoPzpbMC04XXw5WzEtOV0pIgotICAgICAgICAgIHBhdHRlcm49IihbMS0zXVxkKShcZHs1LDh9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI2IiBwYXR0ZXJuPSIoNlswLTY4OV0pKFxkezMsMTB9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI0MiIgcGF0dGVybj0iKDQyKShcZHs0LDd9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbODldIiBwYXR0ZXJuPSIoWzg5XTBcZCkoXGR7Myw2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyM11cZHsyfSkoXGR7NCw3fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPig/OjJbMzg5XXwzOSkwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTRdXGQpKFxkezQsOH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xfDIoPzpbMC0yNC03XXxbMzg5XVsxLTldKXwzKD86WzAtOF18OVsxLTldKXw0MjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig2WzAtNjg5XSkoXGR7MywxMH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz42PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs4OV0wXGQpKFxkezMsNn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtNDYtOV1cZHs0LDExfTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNTUzNSwxMCArNjM0MiwxNCBAQAogICAgICAgICA8IS0tIEZvcm1hdHRpbmcgZnJvbSB3aWtpcGVkaWEsIGNvbmZpcm1lZCBvbiBHb3Zlcm1lbnQgd2Vic2l0ZXMgc3VjaAogICAgICAgICBhcyBodHRwOi8vd3d3Lm1pbmp1c3QucnUvcnUvc3RydWN0dXJlL2NvbnRhY3QvLiBDb250YWlucyBmb3JtYXR0aW5nCiAgICAgICAgIGluc3RydWN0aW9ucyBmb3IgS2F6YWtoc3RhbiBhcyB3ZWxsLiAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMzQ2ODldIgotICAgICAgICAgIHBhdHRlcm49IihbMzQ2ODldXGR7Mn0pKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMi0kMy0kNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjciCi0gICAgICAgICAgcGF0dGVybj0iKFs3XVxkezJ9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMzQ2ODldXGR7Mn0pKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMzQ2ODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDItJDMtJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs3XVxkezJ9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz43PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzM0ODldXGR7OX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU1NzEsMTAgKzYzODIsMTUgQEAKICAgICA8dGVycml0b3J5IGlkPSJSVyIgY291bnRyeUNvZGU9IjI1MCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCi0gICAgICAgICAgcGF0dGVybj0iKDI1XGQpKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzctOV0iCi0gICAgICAgICAgcGF0dGVybj0iKFs3LTldXGR7Mn0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJEZHIgorICAgICAgICAgIHBhdHRlcm49IigyNVxkKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs3LTldXGR7Mn0pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls3LTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI3LTldXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU2MDQsMTIgKzY0MjAsMjYgQEAKICAgICA8dGVycml0b3J5IGlkPSJTQSIgY291bnRyeUNvZGU9Ijk2NiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsxLTQ2N10iCi0gICAgICAgICAgcGF0dGVybj0iKFsxLTQ2N10pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSIgcGF0dGVybj0iKDkyMDApKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNSIgcGF0dGVybj0iKDVcZCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MCIgcGF0dGVybj0iKDgwMCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MSIgcGF0dGVybj0iKDgxMTEpKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTQ2N10pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxLTQ2N108L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoOTIwMCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig1XGQpKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjU8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoODAwKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44MDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4MTExKShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTldXGR7NywxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU2NDksNyArNjQ3OSw5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iU0MiIGNvdW50cnlDb2RlPSIyNDgiIGludGVybmF0aW9uYWxQcmVmaXg9IjBbMC0yXSIKICAgICAgIHByZWZlcnJlZEludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLThdXGR7NX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU2ODksMjYgKzY1MjEsMzggQEAKICAgICA8dGVycml0b3J5IGlkPSJTRSIgY291bnRyeUNvZGU9IjQ2IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOCIKLSAgICAgICAgICBwYXR0ZXJuPSIoOCkoXGR7MiwzfSkoXGR7MiwzfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjFbMDEzNjg5XXwyWzEzNl18M1sxMzU2XXw0WzAyNDZdfDU0fDZbMDNdfDkwIgotICAgICAgICAgIHBhdHRlcm49IihbMS02OV1cZCkoXGR7MiwzfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzEzNjg5XXwyWzEzNl18M1sxMzU2XXw0WzAyNDZdfDU0fDZbMDNdfDkwIgotICAgICAgICAgIHBhdHRlcm49IihbMS02OV1cZCkoXGR7M30pKFxkezJ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdAotICAgICAgICAgIGxlYWRpbmdEaWdpdHM9IjFbMjQ1N118MlsyNDU3LTldfDNbMDI0Ny05XXw0WzEzNTctOV18NVswLTM1LTldfDZbMTI0LTldfDkoPzpbMTI1LThdfDNbMC01XXw0WzAtM10pIgotICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7Mn0pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQKLSAgICAgICAgICBsZWFkaW5nRGlnaXRzPSIxWzI0NTddfDJbMjQ1Ny05XXwzWzAyNDctOV18NFsxMzU3LTldfDVbMC0zNS05XXw2WzEyNC05XXw5KD86WzEyNS04XXwzWzAtNV18NFswLTNdKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezIsM30pKFxkezJ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3WzAyLTQ2XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoN1swMi00Nl0pKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIwIgotICAgICAgICAgIHBhdHRlcm49IigyMCkoXGR7MiwzfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyMCIKLSAgICAgICAgICBwYXR0ZXJuPSIoMjApKFxkezIsM30pKFxkezJ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5WzAzNF0iCi0gICAgICAgICAgcGF0dGVybj0iKDlbMDM0XVxkKShcZHsyfSkoXGR7Mn0pKFxkezN9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoOCkoXGR7MiwzfSkoXGR7MiwzfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTY5XVxkKShcZHsyLDN9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzAxMzY4OV18MlswMTM2XXwzWzEzNTZdfDRbMDI0Nl18NTR8NlswM118OTA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEtNjldXGQpKFxkezN9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjFbMTM2ODldfDJbMTM2XXwzWzEzNTZdfDRbMDI0Nl18NTR8NlswM118OTA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzI0NTddfDJbMjQ1Ny05XXwzWzAyNDctOV18NFsxMzU3LTldfDVbMC0zNS05XXw2WzEyNC05XXw5KD86WzEyNS04XXwzWzAtNV18NFswLTNdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7MiwzfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzI0NTddfDJbMjQ1Ny05XXwzWzAyNDctOV18NFsxMzU3LTldfDVbMC0zNS05XXw2WzEyNC05XXw5KD86WzEyNS04XXwzWzAtNV18NFswLTNdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig3WzAyLTQ2XSkoXGR7M30pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjdbMDItNDZdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDIwKShcZHsyLDN9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDlbMDM0XVxkKShcZHsyfSkoXGR7Mn0pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OVswMzRdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+XGR7NywxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU3NDAsMTIgKzY1ODQsMTggQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuaWRhLmdvdi5zZy9wb2xpY2llcyUyMGFuZCUyMHJlZ3VsYXRpb24vMjAwNjA1MDgxMjAxMjQuYXNweCAtLT4KICAgICA8dGVycml0b3J5IGlkPSJTRyIgY291bnRyeUNvZGU9IjY1IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwWzAtM11bMC05XSI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMzY5XXw4WzEtOV0iCi0gICAgICAgICAgcGF0dGVybj0iKFszNjg5XVxkezN9KShcZHs0fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMVs4OV0iCi0gICAgICAgICAgcGF0dGVybj0iKDFbODldMDApKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iODAiCi0gICAgICAgICAgcGF0dGVybj0iKDgwMCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzM2ODldXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzM2OV18OFsxLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDFbODldMDApKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjFbODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDgwMCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMTM2ODldXGR7NywxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU3ODIsMjIgKzY2MzIsMzggQEAKICAgICA8dGVycml0b3J5IGlkPSJTSSIgY291bnRyeUNvZGU9IjM4NiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsxMl18M1s0LThdfDRbMjQtOF18NVs0LThdfDdbMy04XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoXGQpKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszN11bMDFdfDRbMDE5XXw1MXw2NCIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzMtN11cZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbODldIiBwYXR0ZXJuPSIoWzg5XTApKFxkezQsNn0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IigkTlAkRkcpIgorICAgICAgICAgIHBhdHRlcm49IihcZCkoXGR7M30pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxMl18M1s0LThdfDRbMjQtOF18NVszLThdfDdbMy04XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszLTddXGQpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszN11bMDFdfDRbMDE5XXw1MXw2NDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs4OV1bMDldKShcZHszLDZ9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Wzg5XVswOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzU4XVxkezJ9KShcZHs1fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjU5fDhbMS0zXTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgotICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTldXGR7NSw3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgotICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezYsOH08L3Bvc3NpYmxlTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMS03XVxkezYsN318Wzg5XVxkezQsN308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs1LDh9PC9wb3NzaWJsZU51bWJlclBhdHRlcm4+CiAgICAgICA8L2dlbmVyYWxEZXNjPgogICAgICAgPGZpeGVkTGluZT4KLSAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMS01N11cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPig/OjFcZHwyWzItOF18M1s0LThdfDRbMjQtOF18WzU3XVszLThdKVxkezZ9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CiAgICAgICAgIDxwb3NzaWJsZU51bWJlclBhdHRlcm4+XGR7Nyw4fTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgotICAgICAgICA8ZXhhbXBsZU51bWJlcj4xMTIzNDU2PC9leGFtcGxlTnVtYmVyPgorICAgICAgICA8ZXhhbXBsZU51bWJlcj4xMTIzNDU2NzwvZXhhbXBsZU51bWJlcj4KICAgICAgIDwvZml4ZWRMaW5lPgogICAgICAgPG1vYmlsZT4KKyAgICAgICAgPCEtLSBXZSBpbmNsdWRlIDA0OSBoZXJlIC0gaXQgaXMgVm9JUCBpbiB0aGUgcGxhbiwgYnV0IHN1Y2Nlc3NmdWwKKyAgICAgICAgZGVsaXZlcnkgaGFzIGJlZW4gcGVyZm9ybWVkIGJ5IG1vYmlsZSAtIGFuZCBpdCBpcyBydW4gYnkgTW9iaXRlbC4KKyAgICAgICAgVGhlcmUgYXJlIGFsc28gbW9iaWxlIG51bWJlcnMgZm91bmQgb24gdGhlIGludGVybmV0IHdpdGggdGhpcyBwcmVmaXggLQorICAgICAgICBpdCBpcyBhcHBhcmVudGx5IHVzZWQgaW4gS29zb3ZvLiAtLT4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj4oPzpbMzddWzAxXXw0WzAxOV18NTF8NjQpXGR7Nn08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KICAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs4fTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgogICAgICAgICA8ZXhhbXBsZU51bWJlcj4zMTIzNDU2NzwvZXhhbXBsZU51bWJlcj4KQEAgLTU4MDgsMTAgKzY2NzQsMTYgQEAKICAgICAgICAgPGV4YW1wbGVOdW1iZXI+ODAxMjM0NTY8L2V4YW1wbGVOdW1iZXI+CiAgICAgICA8L3RvbGxGcmVlPgogICAgICAgPHByZW1pdW1SYXRlPgotICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPjkwXGR7NCw2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgotICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezYsOH08L3Bvc3NpYmxlTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPCEtLSBJbmNsdWRlcyB0ZWxldm90aW5nLCBtYXNzIGNhbGxpbmctLT4KKyAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj45MFxkezQsNn18ODlbMS0zXVxkezIsNX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs1LDh9PC9wb3NzaWJsZU51bWJlclBhdHRlcm4+CiAgICAgICAgIDxleGFtcGxlTnVtYmVyPjkwMTIzNDU2PC9leGFtcGxlTnVtYmVyPgogICAgICAgPC9wcmVtaXVtUmF0ZT4KKyAgICAgIDx2b2lwPgorICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPig/OjU5fDhbMS0zXSlcZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezh9PC9wb3NzaWJsZU51bWJlclBhdHRlcm4+CisgICAgICAgIDxleGFtcGxlTnVtYmVyPjU5MDEyMzQ1PC9leGFtcGxlTnVtYmVyPgorICAgICAgPC92b2lwPgogICAgIDwvdGVycml0b3J5PgogCiAgICAgPCEtLSBTbG92YWtpYSAtLT4KQEAgLTU4MTksMTIgKzY2OTEsMTggQEAKICAgICA8dGVycml0b3J5IGlkPSJTSyIgY291bnRyeUNvZGU9IjQyMSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjIiCi0gICAgICAgICAgcGF0dGVybj0iKDIpKFxkezN9KShcZHszfSkoXGR7Mn0pIj4kMS8kMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszLTVdIgotICAgICAgICAgIHBhdHRlcm49IihbMy01XVxkKShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+JDEvJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbNjg5XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzY4OV1cZHsyfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMikoXGR7M30pKFxkezN9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjI8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS8kMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzMtNV1cZCkoXGR7M30pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszLTVdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEvJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs2ODldXGR7Mn0pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls2ODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItNjg5XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC01ODY1LDcgKzY3NDMsOSBAQAogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gRm9sbG93aW5nIGZvcm1hdHRpbmcgb2Ygb25saW5lIHllbGxvdyBwYWdlcwogICAgICAgICAgICAgIHd3dy5sZW9uZWRpcmVjdC5jb20gLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHs2fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezZ9KSI+CisgICAgICAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzItNTc4XVxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC01ODk1LDcgKzY3NzUsOSBAQAogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gVXNpbmcgeWVsbG93IHBhZ2VzIGFuZCBvbmxpbmUgdGVsZWNvbSBjb21wYW55IGZvcm1hdHRpbmcsIHJhdGhlcgogICAgICAgICB0aGFuIHRoYXQgaW1wbGllZCBpbiB0aGUgbmF0aW9uYWwgbnVtYmVyaW5nIHBsYW4uIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezJ9KShcZHsyfSkiPiQxICQyICQzICQ0PC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMzddXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTU5MjgsMTIgKzY4MTAsMTYgQEAKICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgogICAgICAgICA8IS0tIFRoZXNlIGZvbGxvdyBmb3JtYXRzIG9ubGluZSwgc3VjaCBhcyB3d3cuaG9ydGVsLm5ldC9jb250YWN0X3VzLmh0bWwKICAgICAgICAgLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEzLTVdIgotICAgICAgICAgIHBhdHRlcm49IihbMTMtNV0pKFxkezZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEzLTVdKShcZHs2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxMy01XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIFVuZm9ydHVuYXRlbHkgbnVtYmVycyBiZWdpbm5pbmcgd2l0aCAxIGFyZSBoYXJkIHRvIGZvcm1hdCBiYXNlZCBvbgogICAgICAgICBwcmVmaXhlcywgc2luY2UgaXQgZGVwZW5kcyBvbiBudW1iZXIgbGVuZ3RoLiAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMTldIgotICAgICAgICAgIHBhdHRlcm49IihbMTldXGQpKFxkezZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzE5XVxkKShcZHs2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMTMtNTldXGR7Niw3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNTk2MCw3ICs2ODQ2LDkgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuaXR1LmludC9vdGgvVDAyMDIwMDAwQjYvZW4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iU1QiIGNvdW50cnlDb2RlPSIyMzkiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyOV1cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNTk4NSwxMiArNjg3MywxNCBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IlNZIiBjb3VudHJ5Q29kZT0iOTYzIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzEzXSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzEzXVxkKShcZHszfSkoXGR7Myw0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzI0NV0iCi0gICAgICAgICAgcGF0dGVybj0iKFsyNDVdXGQpKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOSIKLSAgICAgICAgICBwYXR0ZXJuPSIoOVszLTY4OV0pKFxkezR9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxLTVdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDlbMy02ODldKShcZHs0fSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtNTldXGR7Nyw4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjAxNiwxNiArNjkwNiwyMCBAQAogICAgIDwhLS0gTm90ZSB0aGlzIHBsYW4gaXMgc2NoZWR1bGVkIHRvIGNoYW5nZSBpbiBBcHJpbCBhbmQgYWdhaW4gaW4gQXVndXN0IGluCiAgICAgMjAxMCBzbyBzaG91bGQgYmUgdXBkYXRlZCBhdCB0aGF0IHRpbWUuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IlNaIiBjb3VudHJ5Q29kZT0iMjY4IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CisgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzItNl08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLTddXGR7Niw3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgogICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezcsOH08L3Bvc3NpYmxlTnVtYmVyUGF0dGVybj4KICAgICAgIDwvZ2VuZXJhbERlc2M+Ci0gICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMi02XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3IgotICAgICAgICAgIHBhdHRlcm49IihcZHs0fSkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGZpeGVkTGluZT4KICAgICAgICAgPCEtLSBUaGUgbGVhZGluZyBvcHRpb25hbCAyIGlzIGJlY2F1c2UgZnV0dXJlIGNoYW5nZXMgdG8gdGhlIGZpeGVkLWxpbmUKICAgICAgICAgcGxhbiB3aWxsIGJlIG1hZGUgYnkgcHJlcGVuZGluZyBhIHR3byB0byBmaXhlZC1saW5lIG51bWJlcnMuIC0tPgpAQCAtNjA4Myw3ICs2OTc3LDkgQEAKICAgICAgICAgIGludGVybmF0aW9uYWxQcmVmaXg9IjAwfDE2Ij4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgogICAgICAgICA8bnVtYmVyRm9ybWF0Ci0gICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyNjc5XVxkezd9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC02MTExLDcgKzcwMDcsOSBAQAogICAgIDwhLS0gaHR0cDovL3d3dy5pdHUuaW50L290aC9UMDIwMjAwMDBEMS9lbiAtLT4KICAgICA8dGVycml0b3J5IGlkPSJURyIgY291bnRyeUNvZGU9IjIyOCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMDItOV1cZHs2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjEzNSwxNiArNzAzMywyNiBAQAogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gRm9ybWF0dGluZyBwYXR0ZXJucyBmcm9tIHdpa2lwZWRpYSBhbmQgdGhlIGRvY3VtZW50IGl0c2VsZiAtCiAgICAgICAgIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvJTJCNjYgLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMiIgcGF0dGVybj0iKDIpKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNiIgcGF0dGVybj0iKDYwKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszLTU3XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzMtNTddXGQpKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOCIgcGF0dGVybj0iKDgpKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJEZHIgotICAgICAgICAgIHBhdHRlcm49IigxWzg5XTAwKShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigyKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszLTddXGQpKFxkezN9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzMtN108L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoOCkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIKKyAgICAgICAgICBwYXR0ZXJuPSIoMVs4OV0wMCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgotICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLThdXGR7Nyw5fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLThdXGR7Nyw4fXwxXGR7OX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KICAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs4LDEwfTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgogICAgICAgPC9nZW5lcmFsRGVzYz4KICAgICAgIDxmaXhlZExpbmU+CkBAIC02MTgyLDE0ICs3MDkwLDI2IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iVEoiIGNvdW50cnlDb2RlPSI5OTIiIGludGVybmF0aW9uYWxQcmVmaXg9Ijh+MTAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iOCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszNF03fDkxWzc4XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzM0OV1cZHsyfSkoXGR7Mn0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI0WzQ4XSIgcGF0dGVybj0iKDRbNDhdKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjMzMTciIHBhdHRlcm49IigzMzE3MDApKFxkKShcZHsyfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMyg/OlsxMjQ1XXwzKD86WzAyLTldfDFbMC01ODldKSkiCi0gICAgICAgICAgcGF0dGVybj0iKFxkezR9KShcZCkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjkoPzoxOXxbMDIzNS05XSkiCi0gICAgICAgICAgcGF0dGVybj0iKDlcZCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzM0OV1cZHsyfSkoXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzM0XTd8OTFbNzhdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs0OV1cZCkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NFs0OF18OSg/OjE5fFswMjM1LTldKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigzMzE3MDApKFxkKShcZHsyfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMzMTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4zMzE3PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMzMTcwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMzMTcwMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHs0fSkoXGQpKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+M1sxLTVdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMoPzpbMTI0NV18Myg/OlswMi05XXwxWzAtNTg5XSkpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzM0OV1cZHs4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjIyNSw3ICs3MTQ1LDkgQEAKICAgICAgICAgPCEtLSBUaGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYSBzdGFuZGFyZGl6ZWQgZm9ybWF0LiBUaGUgZm9ybWF0IGJlbG93IGlzIGJhc2VkIG9uIHRoZQogICAgICAgICAgICAgIFR1cmttZW5pc3RhbiBlbWJhc3N5IGF0CiAgICAgICAgICAgICAgaHR0cDovL3d3dy50dXJrbWVuaXN0YW5lbWJhc3N5Lm9yZy90dXJrbWVuL2luZm8vY29udGFjdC5odG1sLS0+Ci0gICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMS02XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMS02XVxkKShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtNl1cZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjI0OCw3ICs3MTcwLDkgQEAKICAgICA8IS0tIGh0dHA6Ly93d3cuaXR1LmludC9vdGgvVDAyMDIwMDAwRDUvZW4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iVE4iIGNvdW50cnlDb2RlPSIyMTYiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMjQ3LTldXGQpKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNDctOV1cZCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjQ3LTldXGR7N308L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTYyODAsNyArNzIwNCw5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iVFIiIGNvdW50cnlDb2RlPSI5MCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMi01ODldXGR7Mn0pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyLTU4OV1cZHsyfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMi01ODldXGR7OX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTYzNDUsMTAgKzcyNzEsMTQgQEAKICAgICA8dGVycml0b3J5IGlkPSJUVyIgY291bnRyeUNvZGU9Ijg4NiIgaW50ZXJuYXRpb25hbFByZWZpeD0iMCg/OjBbMjU2NzldfDE5KSIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBwcmVmZXJyZWRFeHRuUHJlZml4PSIjIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzItN118OFsxLTldIgotICAgICAgICAgIHBhdHRlcm49IihbMi04XSkoXGR7Myw0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwfDkiCi0gICAgICAgICAgcGF0dGVybj0iKFs4OV1cZHsyfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzItOF0pKFxkezMsNH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzItN118OFsxLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs4OV1cZHsyfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODB8OTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLTldXGR7Nyw4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjM4MSwxMiArNzMxMSwxOSBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IlRaIiBjb3VudHJ5Q29kZT0iMjU1IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMFswNTZdIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjRdIiBwYXR0ZXJuPSIoWzI0XVxkKShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils2N10iCi0gICAgICAgICAgcGF0dGVybj0iKFs2N11cZHsyfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzI0XVxkKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjRdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs2N11cZHsyfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzY3XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIEZvcm1hdHRpbmcgZm9yIHNwZWNpYWwgbnVtYmVycyBmcm9tIHd3dy50Y3JhLmdvLnR6IC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils4OV0iCi0gICAgICAgICAgcGF0dGVybj0iKFs4OV1cZHsyfSkoXGR7Mn0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzg5XVxkezJ9KShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+XGR7OX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTY0MzUsMTQgKzczNzIsMjAgQEAKICAgICAgICAgaXMgdXNlZnVsIGJ1dCBub3QgZXJyb3ItZnJlZS4gSGF2ZSB1c2VkIGxvY2FsIHllbGxvdyBwYWdlcyBndWlkZWxpbmVzLAogICAgICAgICBHb29nbGUgc2VhcmNoZXMgYW5kIHJlZ3Jlc3Npb24gdGVzdHMgdG8gcmV2ZXJzZS1lbmdpbmVlciB0aGVzZSBydWxlcy4KICAgICAgICAgLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMzl8NCg/Ols0NV1bMC01XXw4Nyl8NSg/OjB8Njd8N1szN10pfDZbMzYtOF18OVsxLTldIgotICAgICAgICAgIHBhdHRlcm49IihbMy02OV1cZCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdAotICAgICAgICAgIGxlYWRpbmdEaWdpdHM9IjMoPzpbMS00Ni04XTJbMDEzLTldfDUyKXw0WzEzNzhdMnw1KD86WzEyNC03XTJ8NjQpfDYoPzpbNDldMnxbMTJdWzI5XXw1WzI0XSl8OHw5MCIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzMtNjg5XVxkezJ9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0Ci0gICAgICAgICAgbGVhZGluZ0RpZ2l0cz0iMyg/OjVbMDEzLTldfFsxLTQ2LThdKD86MjJ8WzAxMy05XSkpfDQoPzpbMTM3XVswMTMtOV18NnxbNDVdWzYtOV18OFs0LTZdKXw1KD86WzEyNDVdWzAxMy05XXw2WzAxMzUtOV18M3w3WzQtNl0pfDYoPzpbNDldWzAxMy05XXw1WzAxMzUtOV18WzEyXVsxMy04XSkiCi0gICAgICAgICAgcGF0dGVybj0iKFszLTZdXGR7M30pKFxkezV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzMtNjldXGQpKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjM5fDQoPzpbNDVdWzAtNV18ODcpfDUoPzowfDY3fDdbMzddKXw2WzM2LThdfDlbMS05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMy02ODldXGR7Mn0pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjNbMS04XTJ8NFsxMzc4XTJ8NSg/OlsxMjQ1N10yfDZbMjRdKXw2KD86WzQ5XTJ8WzEyXVsyOV18NVsyNF0pfDh8OTA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Myg/OlsxLTQ2LThdMlswMTMtOV18NTIpfDRbMTM3OF0yfDUoPzpbMTI0NTddMnw2WzI0XSl8Nig/Ols0OV0yfFsxMl1bMjldfDVbMjRdKXw4fDkwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFszLTZdXGR7M30pKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Myg/OjVbMDEzLTldfFsxLTQ2LThdKXw0KD86WzEzN11bMDEzLTldfDZ8WzQ1XVs2LTldfDhbNC02XSl8NSg/OlsxMjQ1XVswMTMtOV18NlswMTM1LTldfDN8N1s0LTZdKXw2KD86WzQ5XVswMTMtOV18NVswMTM1LTldfFsxMl1bMTMtOF0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjMoPzo1WzAxMy05XXxbMS00Ni04XSg/OjIyfFswMTMtOV0pKXw0KD86WzEzN11bMDEzLTldfDZ8WzQ1XVs2LTldfDhbNC02XSl8NSg/OlsxMjQ1XVswMTMtOV18NlswMTM1LTldfDN8N1s0LTZdKXw2KD86WzQ5XVswMTMtOV18NVswMTM1LTldfFsxMl1bMTMtOF0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzMtNjg5XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC02NDc1LDExICs3NDE4LDE4IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iVUciIGNvdW50cnlDb2RlPSIyNTYiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwWzA1N10iCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils3LTldfDIwMHw0KD86Nls0NV18WzctOV0pIgotICAgICAgICAgIHBhdHRlcm49IihbMjQ3LTldXGR7Mn0pKFxkezZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIzfDQoPzpbMS01XXw2WzAtMzYtOV0pIgotICAgICAgICAgIHBhdHRlcm49IihbMzRdXGQpKFxkezd9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyMDIiIHBhdHRlcm49IigyMDI0KShcZHs1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNDctOV1cZHsyfSkoXGR7Nn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNy05XXwyMDB8NCg/OjZbNDVdfFs3LTldKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMzRdXGQpKFxkezd9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+M3w0KD86WzEtNV18NlswLTM2LTldKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigyMDI0KShcZHs1fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIwMjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlxkezl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC02NTE0LDE1ICs3NDY0LDI0IEBACiAgICAgICAgICBudW1iZXJzIGluIHRoZSBuYXRpb25hbCBmb3JtYXQsIGl0IGlzIG5vdCBpbmNsdWRlZC4gVGhlcmVmb3JlLCB3ZSBvbWl0IGl0IGhlcmUgdG8gbWFrZQogICAgICAgICAgZm9ybWF0dGluZyBjb25zaXN0ZW50IHdpdGggdGhlIHJlc3Qgb2YgdGhlIHdvcmxkLiBUaGUgc2FtZSBhcHBsaWVzIHRvIGFsbCB0aGUKICAgICAgICAgIGNvdW50cmllcy9yZWdpb25zIHVuZGVyIE5BTlBBIC0tPgorICAgIDwhLS0gVGhlIG5hdGlvbmFsIHByZWZpeCBvZiAiMSIgaGVyZSBpcyB0aGUgc2FtZSBhcyB0aGUgY291bnRyeSBjb2RlLiBJdCBpcworICAgICAgICAgbm90IHVzZWQgYnkgZGVmYXVsdCB3aGVuIGZvcm1hdHRpbmcsIGJ1dCBpcyBzZXQgaGVyZSBzbyB0aGF0IHVzZXJzCisgICAgICAgICB3aG8gYXJlIGNhbGxpbmcgZm9ybWF0QnlQYXR0ZXJuIGNhbiBzcGVjaWZ5CisgICAgICAgICBOYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlIGlmIHRoZXkgd2FudCB0by4gLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iVVMiIGNvdW50cnlDb2RlPSIxIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMTEiCi0gICAgICAgICAgICAgICBtYWluQ291bnRyeUZvckNvZGU9InRydWUiID4KKyAgICAgICAgICAgICAgIG1haW5Db3VudHJ5Rm9yQ29kZT0idHJ1ZSIgbmF0aW9uYWxQcmVmaXg9IjEiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4oJDEpICQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs0fSkiPiQxLSQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PigkMSkgJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gQSBkaWZmZXJlbnQgcGF0dGVybiBpcyB1c2VkIHdoZW4gZm9ybWF0dGluZyBpbnRlcm5hdGlvbmFsbHksIGFzCiAgICAgICAgIHRoZSBhcmVhIGNvZGUgaXMgbm8gbG9uZ2VyIG9wdGlvbmFsIGFuZCBzaG91bGQgbm90IGJlIGluIGJyYWNrZXRzLiAtLT4KLSAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMS0kMi0kMzwvaW50bE51bWJlckZvcm1hdD4KLSAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs0fSkiPiQxLSQyPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLTldXGR7OX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTY1NTgsNyArNzUxNyw5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iVVoiIGNvdW50cnlDb2RlPSI5OTgiIGludGVybmF0aW9uYWxQcmVmaXg9Ijh+MTAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iOCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNjc5XVxkKShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzY3OV1cZCkoXGR7M30pKFxkezJ9KShcZHsyfSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzY3OV1cZHs4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjU4NSw3ICs3NTQ2LDkgQEAKICAgICAwNiA2OTgpIGJ1dCBjYW4gYWxzbyBiZSBkaWFsbGVkIHdpdGggdGhlIFZhdGljYW4gQ2l0eSBjb3VudHJ5IGNvZGUuIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IlZBIiBjb3VudHJ5Q29kZT0iMzc5IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIgPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDA2KShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IigwNikoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj4wNlxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC02NjQyLDcgKzc2MDUsOSBAQAogICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9yUGFyc2luZz0iMVxkezJ9fDAiCiAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs3fSkiPiQxLSQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs3fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzI0NTg5XVxkezl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC02NzM1LDIxICs3NzAwLDM5IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iVk4iIGNvdW50cnlDb2RlPSI4NCIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils0OF0iIHBhdHRlcm49IihbNDhdKShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjJbMDI1LTc5XXwzWzAxMzYtOV18NVsyLTldfDZbMC00Ni05XXw3WzAyLTc5XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzIzNS03XVxkKShcZHs0fSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwIgotICAgICAgICAgIHBhdHRlcm49Iig4MCkoXGR7NX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjY5MyIKLSAgICAgICAgICBwYXR0ZXJuPSIoNjlbMy01XSkoXGR7NX0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjJbMTM0OF18M1syNV18NVswMV18NjV8N1sxOF0iCi0gICAgICAgICAgcGF0dGVybj0iKFsyMzUtN11cZHsyfSkoXGR7NH0pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5IgotICAgICAgICAgIHBhdHRlcm49Iig5WzAtOF0pKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEoPzpbMjZdfDk5KSIKLSAgICAgICAgICBwYXR0ZXJuPSIoMVsyNjldXGQpKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSg/Ojh8OTApIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCi0gICAgICAgICAgcGF0dGVybj0iKDFbODldMDApKFxkezQsNn0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbNDhdKShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNDhdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyMzUtN11cZCkoXGR7NH0pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlswMjUtNzldfDNbMDEzNi05XXw1WzItOV18NlswLTQ2LTldfDdbMDItNzldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDgwKShcZHs1fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgwPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDY5WzMtNV0pKFxkezV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+NjkzPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyMzUtN11cZHsyfSkoXGR7NH0pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlsxMzQ4XXwzWzI1XXw1WzAxXXw2NXw3WzE4XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig5WzAtOF0pKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDMgJDQ8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDFbMjY5XVxkKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86WzI2XXw5OSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkRkciCisgICAgICAgICAgcGF0dGVybj0iKDFbODldMDApKFxkezQsNn0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86OHw5MCk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj44XGR7NSw4fXxbMS03OV1cZHs3LDl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC02Nzk1LDkgKzc3NzgsMTQgQEAKICAgICAgIDwhLS0gU2hvdWxkIGJlIGZvcm1hdHRlZCBpbiBvbmUgYmxvY2ssIGFwYXJ0IGZyb20gdGhlIHNwZWNpZmljIHNlcmllcwogICAgICAgYmVsb3cuIEZvciB0aGlzIHJlYXNvbiB0aGUgbGVhZGluZ0RpZ2l0cyBpcyBtb3JlIGRldGFpbGVkIHRoYW4gd291bGQKICAgICAgIGFwcGVhciBuZWNlc3NhcnkuIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ijg0MCIgcGF0dGVybj0iKDg0MCkoXGR7NH0pIj4kMSAkMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjdbMjUtN10iIHBhdHRlcm49Iig3WzI1LTddKShcZHs1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iODAwIiBwYXR0ZXJuPSIoODAwKShcZHszfSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49Iig4WzA0XTApKFxkezMsNH0pIj4KKyAgICAgICAgPGxlYWRpbmdEaWdpdHM+OFswNF0wPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDdbMjUtN10pKFxkezV9KSI+CisgICAgICAgIDxsZWFkaW5nRGlnaXRzPjdbMjUtN108L2xlYWRpbmdEaWdpdHM+CisgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyLThdXGR7NCw2fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjgzMiwxMiArNzgyMCwxNCBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IllFIiBjb3VudHJ5Q29kZT0iOTY3IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMVsyLTY4XXxbMi02XXw3WzI0LTY4XSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzEtN10pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTciCi0gICAgICAgICAgcGF0dGVybj0iKDEpKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iN1sxMzddIgotICAgICAgICAgIHBhdHRlcm49Iig3WzEzN11cZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEtN10pKFxkezN9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzEtNl18N1syNC02OF08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoN1sxMzddXGQpKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjdbMTM3XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTddXGR7Niw4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtNjg5Miw3ICs3ODgyLDkgQEAKICAgICA8dGVycml0b3J5IGlkPSJaQSIgY291bnRyeUNvZGU9IjI3IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTU3OF1cZCkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEtNTc4XVxkKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlxkezl9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC02OTMwLDEwICs3OTIyLDE0IEBACiAgICAgPHRlcnJpdG9yeSBpZD0iWk0iIGNvdW50cnlDb2RlPSIyNjAiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjldIgotICAgICAgICAgIHBhdHRlcm49IihbMjldXGQpKFxkezd9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4IgotICAgICAgICAgIHBhdHRlcm49Iig4MDApKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyOV1cZCkoXGR7N30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKDgwMCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+ODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsyODldXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTY5NjIsMzAgKzc5NTgsNDQgQEAKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+CiAgICAgICAgIDwhLS0gT25lLWRpZ2l0IGFyZWEgY29kZXMgLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iNHw5WzItOV0iCi0gICAgICAgICAgcGF0dGVybj0iKFs0OV0pKFxkezN9KShcZHsyLDV9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzQ5XSkoXGR7M30pKFxkezIsNX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz40fDlbMi05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgICA8IS0tIE1vYmlsZSBudW1iZXJzIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlsxOV0xfDciCi0gICAgICAgICAgcGF0dGVybj0iKFsxNzldXGQpKFxkezN9KShcZHszLDV9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzE3OV1cZCkoXGR7M30pKFxkezMsNX0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMTldMXw3PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gVHdvLWRpZ2l0IGFyZWEgY29kZXMgLS0+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQKLSAgICAgICAgICBsZWFkaW5nRGlnaXRzPSIxWzMtOV18Mig/OlsxLTQ2OV18MFswLTM1LTldfFs0NV1bMC03OV0pfDMoPzowWzAtNzldfDFbMC02ODldfFsyNC02OV18M1swLTY5XSl8NSg/OlswMi00Ni05XXxbMTVdWzAtNjldKXw2KD86WzAxNDVdfFsyOV1bMC03OV18M1swLTY4OV18WzY4XVswLTY5XSkiCi0gICAgICAgICAgcGF0dGVybj0iKFsxLTM1Nl1cZCkoXGR7Myw1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQKLSAgICAgICAgICBsZWFkaW5nRGlnaXRzPSIxWzMtOV18Mig/OlsxLTQ2OV18MFswLTM1LTldfFs0NV1bMC03OV0pfDMoPzowWzAtNzldfDFbMC02ODldfFsyNC02OV18M1swLTY5XSl8NSg/OlswMi00Ni05XXxbMTVdWzAtNjldKXw2KD86WzAxNDVdfFsyOV1bMC03OV18M1swLTY4OV18WzY4XVswLTY5XSkiCi0gICAgICAgICAgcGF0dGVybj0iKFsxLTM1Nl1cZCkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzEtMzU2XVxkKShcZHszLDV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MVszLTldfDIoPzpbMS00NjldfDBbMC0zNS05XXxbNDVdWzAtNzldKXwzKD86MFswLTc5XXwxWzAtNjg5XXxbMjQtNjldfDNbMC02OV0pfDUoPzpbMDItNDYtOV18WzE1XVswLTY5XSl8Nig/OlswMTQ1XXxbMjldWzAtNzldfDNbMC02ODldfFs2OF1bMC02OV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsxLTM1Nl1cZCkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MVszLTldfDIoPzpbMS00NjldfDBbMC0zNS05XXxbNDVdWzAtNzldKXwzKD86MFswLTc5XXwxWzAtNjg5XXxbMjQtNjldfDNbMC02OV0pfDUoPzpbMDItNDYtOV18WzE1XVswLTY5XSl8Nig/OlswMTQ1XXxbMjldWzAtNzldfDNbMC02ODldfFs2OF1bMC02OV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gVGhyZWUtZGlnaXQgYXJlYSBjb2RlcyAtLT4KLSAgICAgICAgPG51bWJlckZvcm1hdAotICAgICAgICAgIGxlYWRpbmdEaWdpdHM9IjIoPzpbMjc4XXwwWzQ1XXw0OCl8Myg/OjA4fDE3fDNbNzhdfFs3OF0pfDVbMTVdWzc4XXw2KD86WzI5XTh8Mzd8WzY4XVs3OF0pIgotICAgICAgICAgIHBhdHRlcm49IihbMjM1Nl1cZHsyfSkoXGR7Myw1fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQKLSAgICAgICAgICBsZWFkaW5nRGlnaXRzPSIyKD86WzI3OF18MFs0NV18NDgpfDMoPzowOHwxN3wzWzc4XXxbNzhdKXw1WzE1XVs3OF18Nig/OlsyOV04fDM3fFs2OF1bNzhdKSIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzIzNTZdXGR7Mn0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyMzU2XVxkezJ9KShcZHszLDV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+Mig/OlsyNzhdfDBbNDVdfDQ4KXwzKD86MDh8MTd8M1s3OF18Wzc4XSl8NVsxNV1bNzhdfDYoPzpbMjldOHwzN3xbNjhdWzc4XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzIzNTZdXGR7Mn0pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIoPzpbMjc4XXwwWzQ1XXw0OCl8Myg/OjA4fDE3fDNbNzhdfFs3OF0pfDVbMTVdWzc4XXw2KD86WzI5XTh8Mzd8WzY4XVs3OF0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CiAgICAgICAgIDwhLS0gRm91ci1kaWdpdCBhcmVhIGNvZGVzIC0tPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjI1OFsyM118NTQ4MyIKLSAgICAgICAgICBwYXR0ZXJuPSIoWzI1XVxkezN9KShcZHszLDV9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyNThbMjNdfDU0ODMiCi0gICAgICAgICAgcGF0dGVybj0iKFsyNV1cZHszfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzI1XVxkezN9KShcZHszLDV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+KD86MjV8NTQpODwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yNThbMjNdfDU0ODM8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoWzI1XVxkezN9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4oPzoyNXw1NCk4PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjI1OFsyM118NTQ4MzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPig/OlsxOV0xfDIzKVxkezMsOH18WzEtNjldXGR7NCw4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpkaWZmIC0tZ2l0IGEvamF2YS9yZXNvdXJjZXMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy90ZXN0L1Bob25lTnVtYmVyTWV0YURhdGFGb3JUZXN0aW5nLnhtbCBiL2phdmEvcmVzb3VyY2VzL2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvdGVzdC9QaG9uZU51bWJlck1ldGFEYXRhRm9yVGVzdGluZy54bWwKaW5kZXggZTZkMTFjYi4uZWEwZTBlYSAxMDA2NDQKLS0tIGEvamF2YS9yZXNvdXJjZXMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy90ZXN0L1Bob25lTnVtYmVyTWV0YURhdGFGb3JUZXN0aW5nLnhtbAorKysgYi9qYXZhL3Jlc291cmNlcy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL3Rlc3QvUGhvbmVOdW1iZXJNZXRhRGF0YUZvclRlc3RpbmcueG1sCkBAIC0yNiw2ICsyNiwyOSBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IkFEIiBjb3VudHJ5Q29kZT0iMzc2IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCI+CiAgICAgPC90ZXJyaXRvcnk+CiAKKyAgICA8IS0tIEFuZ29sYSAtLT4KKyAgICA8IS0tIGh0dHA6Ly93d3cuaXR1LmludC9vdGgvVDAyMDIwMDAwMDYvZW4gLS0+CisgICAgPHRlcnJpdG9yeSBpZD0iQU8iIGNvdW50cnlDb2RlPSIyNDQiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KKyAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezN9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KKyAgICAgIDxnZW5lcmFsRGVzYz4KKyAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjldXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs5fTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgorICAgICAgPC9nZW5lcmFsRGVzYz4KKyAgICAgIDxmaXhlZExpbmU+CisgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+MlxkKD86WzI2LTldXGR8XGRbMjYtOV0pXGR7NX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPGV4YW1wbGVOdW1iZXI+MjIyMTIzNDU2PC9leGFtcGxlTnVtYmVyPgorICAgICAgPC9maXhlZExpbmU+CisgICAgICA8bW9iaWxlPgorICAgICAgICA8IS0tIEV4cGFuZGVkIHRoZSA5MiBwcmVmaXggcG9zc2liaWxpdGllcyB0byBtYXRjaG51bWJlcnMgZm91bmQgb25saW5lLiAtLT4KKyAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj45WzEtM11cZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8ZXhhbXBsZU51bWJlcj45MjMxMjM0NTY8L2V4YW1wbGVOdW1iZXI+CisgICAgICA8L21vYmlsZT4KKyAgICA8L3RlcnJpdG9yeT4KKwogICAgIDwhLS0gQXJnZW50aW5hIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkFSIiBjb3VudHJ5Q29kZT0iNTQiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyIKQEAgLTM1LDE2ICs1OCw0NyBAQAogICAgICAgICAgICBmcm9udCBvZiBjYXJyaWVyIHNlbGVjdGlvbiBjb2RlIDE1LCBpcyBjYXB0dXJlZCB0byByZXBsYWNlICQxIGluCiAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4VHJhbnNmb3JtUnVsZSAtLT4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjExIiBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPiQxICQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMVswMi05XXxbMjNdIiBwYXR0ZXJuPSIoXGR7NH0pKFxkezJ9KShcZHs0fSkiPiQxICQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOTExIiBwYXR0ZXJuPSI5KDExKShcZHs0fSkoXGR7NH0pIj4kMSAxNSAkMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjkoPzoxWzAyLTldfFsyM10pIiBwYXR0ZXJuPSI5KFxkezR9KShcZHsyfSkoXGR7NH0pIiBjYXJyaWVyQ29kZUZvcm1hdHRpbmdSdWxlPSIkRkcgJENDIj4kMSAkMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9Ils2OF0iIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTEiIHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+JDEgJDItJDM8L2ludGxOdW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjFbMDItOV18WzIzXSIgcGF0dGVybj0iKFxkezR9KShcZHsyfSkoXGR7NH0pIj4kMSAkMi0kMzwvaW50bE51bWJlckZvcm1hdD4KLSAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOTExIiBwYXR0ZXJuPSIoOSkoMTEpKFxkezR9KShcZHs0fSkiPiQxICQyICQzICQ0PC9pbnRsTnVtYmVyRm9ybWF0PgotICAgICAgICA8aW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5KD86MVswMi05XXxbMjNdKSIgcGF0dGVybj0iKDkpKFxkezR9KShcZHsyfSkoXGR7NH0pIj4kMSAkMiAkMyAkNDwvaW50bE51bWJlckZvcm1hdD4KLSAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzY4XSIgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMS0kMi0kMzwvaW50bE51bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjExPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezR9KShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xWzAyLTldfFsyM108L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMi0kMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSI5KDExKShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45MTE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAxNSAkMi0kMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSI5KFxkezR9KShcZHsyfSkoXGR7NH0pIgorICAgICAgICAgIGNhcnJpZXJDb2RlRm9ybWF0dGluZ1J1bGU9IiRGRyAkQ0MiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjkoPzoxWzAyLTldfFsyM10pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNjhdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMi0kMzwvZm9ybWF0PgorICAgICAgICA8L2ludGxOdW1iZXJGb3JtYXQ+CisgICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHs0fSkoXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MVswMi05XXxbMjNdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSIoOSkoMTEpKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjkxMTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvaW50bE51bWJlckZvcm1hdD4KKyAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgcGF0dGVybj0iKDkpKFxkezR9KShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45KD86MVswMi05XXxbMjNdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvaW50bE51bWJlckZvcm1hdD4KKyAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNjhdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTM2ODldXGR7OSwxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTczLDggKzEyNywxMyBAQAogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIHByZWZlcnJlZEludGVybmF0aW9uYWxQcmVmaXg9IjAwMTEiCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJEZHIiBsZWFkaW5nRGlnaXRzPSIxIiBwYXR0ZXJuPSIoXGR7NH0pKFxkezN9KShcZHszfSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzItNDc4XSIgcGF0dGVybj0iKFxkezF9KShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiRGRyIgbGVhZGluZ0RpZ2l0cz0iMSIgcGF0dGVybj0iKFxkezR9KShcZHszfSkoXGR7M30pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsxfSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzItNDc4XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjID4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMS01NzhdXGR7NCwxNH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTEwMCw5ICsxNTksNiBAQAogCiAgICAgPCEtLSBCYWhhbWFzIC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IkJTIiBjb3VudHJ5Q29kZT0iMSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMDExIj4KLSAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj4oMjQyfDgoMDB8NjZ8Nzd8ODgpfDkwMClcZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgogICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezcsMTB9PC9wb3NzaWJsZU51bWJlclBhdHRlcm4+CkBAIC0xMjgsMTIgKzE4NCwyNyBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IkRFIiBjb3VudHJ5Q29kZT0iNDkiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyfDNbMy05XXw5MDZ8WzQtOV1bMS05XTEiIHBhdHRlcm49IihcZHszfSkoXGR7Myw4fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzM0XTB8WzY4XTkiIHBhdHRlcm49IihcZHsyfSkoXGR7NCw5fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzQtOV0iIHBhdHRlcm49IihbNC05XVxkezN9KShcZHsyLDd9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI4MDAiIHBhdHRlcm49IihcZHszfSkoXGR7MX0pKFxkezZ9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI5MDBbMTM1XSIgcGF0dGVybj0iKFxkezN9KShcZHszfSkoZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOTAwOSIgcGF0dGVybj0iKFxkezN9KShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Myw4fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjJ8M1szLTldfDkwNnxbNC05XVsxLTldMTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NCw5fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszNF0wfFs2OF05PC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDI8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFs0LTldXGR7M30pKFxkezIsN30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNC05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bNC02XXxbNy05XSg/OlxkWzEtOV18WzEtOV1cZCk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezF9KShcZHs2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjgwMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Myw0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz45MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5cZHs0LDE0fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMTYxLDE0ICsyMzIsMjIgQEAKICAgICA8dGVycml0b3J5IGlkPSJHQiIgY291bnRyeUNvZGU9IjQ0IiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIoJE5QJEZHKSI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMS01OV18Wzc4XTAiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHs0fSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjYiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkKShcZHszfSkoXGR7M30pKFxkezN9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSI3WzEtNTctOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezR9KShcZHszfSkoXGR7M30pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjhbNDddIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsxLTU5XXxbNzhdMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZCkoXGR7M30pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjY8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7NH0pKFxkezN9KShcZHszfSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjdbMS01Ny05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+OFs0N108L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5cZHsxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTIwNywxMCArMjg2LDIyIEBACiAgICAgPCEtLSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpLyUyQjM5IC0tPgogICAgIDx0ZXJyaXRvcnkgaWQ9IklUIiBjb3VudHJ5Q29kZT0iMzkiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIj4KICAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjBbMjZdIiBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMFsxMy01Ny05XSIgcGF0dGVybj0iKFxkezN9KShcZHs0fSkoXGR7Myw0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMyIgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7Myw0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iOCIgcGF0dGVybj0iKFxkezN9KShcZHszLDZ9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjBbMjZdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs0fSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjBbMTMtNTctOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHszLDR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Myw2fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjg8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMDM4OV1cZHs1LDEwfTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMjM0LDYgKzMyNSwzNyBAQAogICAgICAgPC9wcmVtaXVtUmF0ZT4KICAgICA8L3RlcnJpdG9yeT4KIAorICAgIDwhLS0gSmFwYW4gLS0+CisgICAgPCEtLSBUaGUgbWV0YWRhdGEgaGVyZSBpcyBhZGRlZCB0byB1bml0IHRlc3QgQXNZb3VUeXBlRm9ybWF0dGVyIGZvciBKUCwgd2hpY2ggcmVxdWlyZXMgc3dpdGNoaW5nCisgICAgICAgICBwYXR0ZXJucyBhcyBkaWdpdHMgYmV5b25kIHRoZSB0aGlyZCBvbmUgYXJlIGVudGVyZWQuIEFzIGEgcmVzdWx0LCBvbmx5IGEgZmV3IGZha2UKKyAgICAgICAgIGZvcm1hdHRpbmcgcnVsZXMgYXJlIGFkZGVkLiAtLT4KKyAgICA8dGVycml0b3J5IGlkPSJKUCIgY291bnRyeUNvZGU9IjgxIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMTAiCisgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeD0iMCIgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZT0iJE5QJEZHIj4KKyAgICAgIDxhdmFpbGFibGVGb3JtYXRzPgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzU3LTldMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjIyfDMzMzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4oPzoyMjJ8MzMzKTE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+KD86MjIyfDMzMykxMTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHs0fSkoXGQpKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjIyfDMzMzwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yMjIxfDMzMzI8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjIyMTJ8MzMzMjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yMjIxMjB8MzMzMjwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzIzXTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgorICAgIDwvdGVycml0b3J5PgorCiAgICAgPCEtLSBLb3JlYSAoUmVwLiBvZikgLS0+CiAgICAgPCEtLSBodHRwOi8vd3d3Lml0dS5pbnQvb3RoL1QwMjAyMDAwMDcyL2VuIC0tPgogICAgIDwhLS0gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS8lMkI4MiAtLT4KQEAgLTI0OSwzNSArMzcxLDEwMSBAQAogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9yUGFyc2luZz0iMCg/OjhbMS00Ni04XXw4NVxkezJ9KT8iCiAgICAgICAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSg/OjB8MVsxOV18WzY5XTl8NSg/OjQ0fDU5fDgpKXxbNTddMCIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPiQxLSQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSg/OlsxNjldWzItOF18Wzc4XXw1KD86WzEtM118NFs1Nl0pKXxbNjhdMHxbMy05XVsxLTldWzItOV0iCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7NH0pIj4kMS0kMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEzMTIiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezN9KShcZCkoXGR7NH0pIj4kMS0kMi0kMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjEzMVsxMy05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezJ9KShcZHs0fSkiPiQxLSQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMTNbMi05XSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxLSQyLSQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMzAiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7M30pKFxkezR9KSI+JDEtJDItJDMtJDQ8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyKD86WzI2XXwzKD86MDF8MVs0NV18MlsxNy05XXwzOXw0fDZbNjddfDdbMDc4XSkpIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZCkoXGR7NH0pKFxkezR9KSI+JDEtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyKD86Myg/OjBbMDItOV18MVswLTM2LTldfDJbMDItNl18M1swLThdfDZbMC01ODldfDdbMS02OV18WzU4OV0pfFs0NTctOV0pIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZCkoXGR7M30pKFxkezR9KSI+JDEtJDItJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyMSg/OlswLTI0Ny05XXwzWzEyNF18NlsxMjY5XSkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkKShcZHszfSkiPiQxLSQyPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMjEoPzozWzAzNS05XXw2WzAzLTU3OF0pIgotICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm49IihcZCkoXGR7NH0pIj4kMS0kMjwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IlszLTldWzEtOV0xKD86WzAtMjQ3LTldfDNbMTI0XXw2WzEyNjldKSIKLSAgICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KSI+JDEtJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMy05XVsxLTldMSg/OjNbMDM1LTldfDZbMDMtNTc4XSkiCi0gICAgICAgICAgICAgICAgICAgICAgcGF0dGVybj0iKFxkezJ9KShcZHs0fSkiPiQxLSQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MHwxWzE5XXxbNjldOXw1WzQ1OF0pfFs1N10wPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzowfDFbMTldfFs2OV05fDUoPzo0NHw1OXw4KSl8WzU3XTA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMi0kMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzpbMTY5XVsyLThdfFs3OF18NVsxLTRdKXxbNjhdMHxbMy05XVsxLTldWzItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OlsxNjldWzItOF18Wzc4XXw1KD86WzEtM118NFs1Nl0pKXxbNjhdMHxbMy05XVsxLTldWzItOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMi0kMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkKShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEzMTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xMzEyPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHsyfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xMzE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MTMxWzEzLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xM1syLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHsyfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MzA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMi0kMy0kNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGQpKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIoPzpbMjZdfDNbMC00NjddKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yKD86WzI2XXwzKD86MDF8MVs0NV18MlsxNy05XXwzOXw0fDZbNjddfDdbMDc4XSkpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDItJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkKShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yKD86M1swLTM1LTldfFs0NTctOV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIoPzozKD86MFswMi05XXwxWzAtMzYtOV18MlswMi02XXwzWzAtOF18NlswLTU4OV18N1sxLTY5XXxbNTg5XSl8WzQ1Ny05XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMi0kMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGQpKFxkezN9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjFbMC00Ni05XTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4yMSg/OlswLTI0Ny05XXwzWzEyNF18NlsxMjY5XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGQpKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MjFbMzZdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjIxKD86M1swMzUtOV18NlswMy01NzhdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7M30pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMy05XVsxLTldMTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMy05XVsxLTldMSg/OlswLTQ2LTldKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMy05XVsxLTldMSg/OlswLTI0Ny05XXwzWzEyNF18NlsxMjY5XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzMtOV1bMS05XTE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+WzMtOV1bMS05XTFbMzZdPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlszLTldWzEtOV0xKD86M1swMzUtOV18NlswMy01NzhdKTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxLSQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTc5XVxkezMsOX18OFxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CiAgICAgICAgIDxwb3NzaWJsZU51bWJlclBhdHRlcm4+XGR7NCwxMH08L3Bvc3NpYmxlTnVtYmVyUGF0dGVybj4KICAgICAgIDwvZ2VuZXJhbERlc2M+CisgICAgICA8Zml4ZWRMaW5lPgorICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPig/OjJ8WzM0XVsxLTNdfDVbMS01XXw2WzEtNF0pKD86MVxkezIsM318WzItOV1cZHs2LDd9KTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezQsMTB9PC9wb3NzaWJsZU51bWJlclBhdHRlcm4+CisgICAgICAgIDxleGFtcGxlTnVtYmVyPjIyMTIzNDU2PC9leGFtcGxlTnVtYmVyPgorICAgICAgPC9maXhlZExpbmU+CisgICAgICA8bW9iaWxlPgorICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPjFbMC0yNS05XVxkezcsOH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPHBvc3NpYmxlTnVtYmVyUGF0dGVybj5cZHs5LDEwfTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8ZXhhbXBsZU51bWJlcj4xMDIzNDU2Nzg5PC9leGFtcGxlTnVtYmVyPgorICAgICAgPC9tb2JpbGU+CisgICAgICA8dG9sbEZyZWU+CisgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+ODBcZHs3fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezl9PC9wb3NzaWJsZU51bWJlclBhdHRlcm4+CisgICAgICAgIDxleGFtcGxlTnVtYmVyPjgwMTIzNDU2NzwvZXhhbXBsZU51bWJlcj4KKyAgICAgIDwvdG9sbEZyZWU+CisgICAgICA8cHJlbWl1bVJhdGU+CisgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+NjBbMi05XVxkezZ9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CisgICAgICAgIDxwb3NzaWJsZU51bWJlclBhdHRlcm4+XGR7OX08L3Bvc3NpYmxlTnVtYmVyUGF0dGVybj4KKyAgICAgICAgPGV4YW1wbGVOdW1iZXI+NjAyMzQ1Njc4PC9leGFtcGxlTnVtYmVyPgorICAgICAgPC9wcmVtaXVtUmF0ZT4KKyAgICAgIDxwZXJzb25hbE51bWJlcj4KKyAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj41MFxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CisgICAgICAgIDxwb3NzaWJsZU51bWJlclBhdHRlcm4+XGR7MTB9PC9wb3NzaWJsZU51bWJlclBhdHRlcm4+CisgICAgICAgIDxleGFtcGxlTnVtYmVyPjUwMTIzNDU2Nzg8L2V4YW1wbGVOdW1iZXI+CisgICAgICA8L3BlcnNvbmFsTnVtYmVyPgorICAgICAgPHZvaXA+CisgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+NzBcZHs4fTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8cG9zc2libGVOdW1iZXJQYXR0ZXJuPlxkezEwfTwvcG9zc2libGVOdW1iZXJQYXR0ZXJuPgorICAgICAgICA8ZXhhbXBsZU51bWJlcj43MDEyMzQ1Njc4PC9leGFtcGxlTnVtYmVyPgorICAgICAgPC92b2lwPgogICAgIDwvdGVycml0b3J5PgogCiAgICAgPCEtLSBNZXhpY28gLS0+CkBAIC0yODUsMTYgKzQ3Myw0NiBAQAogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAxIiBuYXRpb25hbFByZWZpeEZvclBhcnNpbmc9IjAxfDA0WzQ1XShcZHsxMH0pIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXhUcmFuc2Zvcm1SdWxlPSIxJDEiPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzg5XTAwIiBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMzN8NTV8ODEiIHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjQ2N118M1swLTI0LTldfDVbMC00Ni05XXw4WzItOV18OVsxLTldIiBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSg/OjMzfDU1fDgxKSIgcGF0dGVybj0iMShcZHsyfSkoXGR7NH0pKFxkezR9KSI+MDQ1ICQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMSg/OlsxMjQ1NzldfDNbMC0yNC05XXw1WzAtNDYtOV18OFswMi05XSkiIHBhdHRlcm49IjEoXGR7M30pKFxkezN9KShcZHs0fSkiPjA0NSAkMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8aW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbODldMDAiIHBhdHRlcm49IihcZHszfSkoXGR7M30pKFxkezR9KSI+JDEgJDIgJDM8L2ludGxOdW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjMzfDU1fDgxIiBwYXR0ZXJuPSIoXGR7Mn0pKFxkezR9KShcZHs0fSkiPiQxICQyICQzPC9pbnRsTnVtYmVyRm9ybWF0PgotICAgICAgICA8aW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbMjQ2N118M1swLTI0LTldfDVbMC00Ni05XXw4WzItOV18OVsxLTldIiBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9pbnRsTnVtYmVyRm9ybWF0PgotICAgICAgICA8aW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxKD86MzN8NTV8ODEpIiBwYXR0ZXJuPSIoMSkoXGR7Mn0pKFxkezR9KShcZHs0fSkiPiQxICQyICQzICQ0PC9pbnRsTnVtYmVyRm9ybWF0PgotICAgICAgICA8aW50bE51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxKD86WzEyNDU3OV18M1swLTI0LTldfDVbMC00Ni05XXw4WzAyLTldKSIgcGF0dGVybj0iKDEpKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMyAkNDwvaW50bE51bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls4OV0wMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHsyfSkoXGR7NH0pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MzN8NTV8ODE8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPlsyNDY3XXwzWzAtMjQtOV18NVswLTQ2LTldfDhbMi05XXw5WzEtOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIxKFxkezJ9KShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4xKD86MzN8NTV8ODEpPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+MDQ1ICQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IjEoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzpbMTI0NTc5XXwzWzAtMjQtOV18NVswLTQ2LTldfDhbMDItOV0pPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+MDQ1ICQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls4OV0wMDwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvaW50bE51bWJlckZvcm1hdD4KKyAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz4zM3w1NXw4MTwvbGVhZGluZ0RpZ2l0cz4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvaW50bE51bWJlckZvcm1hdD4KKyAgICAgICAgPGludGxOdW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMjQ2N118M1swLTI0LTldfDVbMC00Ni05XXw4WzItOV18OVsxLTldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSIoMSkoXGR7Mn0pKFxkezR9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjEoPzozM3w1NXw4MSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L2ludGxOdW1iZXJGb3JtYXQ+CisgICAgICAgIDxpbnRsTnVtYmVyRm9ybWF0IHBhdHRlcm49IigxKShcZHszfSkoXGR7M30pKFxkezR9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MSg/OlsxMjQ1NzldfDNbMC0yNC05XXw1WzAtNDYtOV18OFswMi05XSk8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L2ludGxOdW1iZXJGb3JtYXQ+CiAgICAgICA8L2F2YWlsYWJsZUZvcm1hdHM+CiAgICAgICA8Z2VuZXJhbERlc2M+CiAgICAgICAgIDxuYXRpb25hbE51bWJlclBhdHRlcm4+WzEtOV1cZHs5LDEwfTwvbmF0aW9uYWxOdW1iZXJQYXR0ZXJuPgpAQCAtMzIyLDkgKzU0MCwxOCBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9Ik5aIiBjb3VudHJ5Q29kZT0iNjQiIGludGVybmF0aW9uYWxQcmVmaXg9IjAwIgogICAgICAgICAgICAgICAgbmF0aW9uYWxQcmVmaXg9IjAiIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGU9IiROUCRGRyI+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIyNHxbMzQ2NzldIiBwYXR0ZXJuPSIoXGQpKFxkezN9KShcZHs0fSkiPiQxLSQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iMlsxNzldIiBwYXR0ZXJuPSIoXGQpKFxkezN9KShcZHszLDV9KSI+JDEtJDIgJDM8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSJbODldIiBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHszLDR9KSI+JDEgJDIgJDM8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGQpKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjI0fFszNDY3OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMS0kMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGQpKFxkezN9KShcZHszLDV9KSI+CisgICAgICAgICAgPGxlYWRpbmdEaWdpdHM+MlsxNzldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEtJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7Myw0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPls4OV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMi05XVxkezcsOX08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTM1Myw3ICs1ODAsOSBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IlBMIiBjb3VudHJ5Q29kZT0iNDgiIGludGVybmF0aW9uYWxQcmVmaXg9IjB+MCIKICAgICAgICAgICAgICAgIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezJ9KShcZHszfSkoXGR7Mn0pKFxkezJ9KSI+JDEgJDIgJDMgJDQ8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7Mn0pKFxkezN9KShcZHsyfSkoXGR7Mn0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzICQ0PC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxLTldXGR7OH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTM3Nyw3ICs2MDYsOSBAQAogICAgIDx0ZXJyaXRvcnkgaWQ9IlJFIiBjb3VudHJ5Q29kZT0iMjYyIiBsZWFkaW5nRGlnaXRzPSIyNjJ8Nig/OjlbMjNdfDQ3KXw4IgogICAgICAgICAgICAgICAgaW50ZXJuYXRpb25hbFByZWZpeD0iMDAiIG5hdGlvbmFsUHJlZml4PSIwIiBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlPSIkTlAkRkciPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFsyNjhdXGR7Mn0pKFxkezJ9KShcZHsyfSkoXGR7Mn0pIj4kMSAkMiAkMyAkNDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihbMjY4XVxkezJ9KShcZHsyfSkoXGR7Mn0pKFxkezJ9KSI+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMyAkNDwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMjY4XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CkBAIC00MDksOSArNjQwLDE4IEBACiAgICAgPCEtLSBodHRwOi8vd3d3LmlkYS5nb3Yuc2cvcG9saWNpZXMlMjBhbmQlMjByZWd1bGF0aW9uLzIwMDYwNTA4MTIwMTI0LmFzcHggLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iU0ciIGNvdW50cnlDb2RlPSI2NSIgaW50ZXJuYXRpb25hbFByZWZpeD0iMFswLTNdWzAtOV0iPgogICAgICAgPGF2YWlsYWJsZUZvcm1hdHM+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgbGVhZGluZ0RpZ2l0cz0iWzM2OV18OFsxLTldIiBwYXR0ZXJuPSIoXGR7NH0pKFxkezR9KSI+JDEgJDI8L251bWJlckZvcm1hdD4KLSAgICAgICAgPG51bWJlckZvcm1hdCBsZWFkaW5nRGlnaXRzPSIxWzg5XSIgcGF0dGVybj0iKFxkezR9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgotICAgICAgICA8bnVtYmVyRm9ybWF0IGxlYWRpbmdEaWdpdHM9IjgwMCIgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4kMSAkMiAkMzwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHs0fSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz5bMzY5XXw4WzEtOV08L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMjwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KKyAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7NH0pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxsZWFkaW5nRGlnaXRzPjFbODldPC9sZWFkaW5nRGlnaXRzPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8bGVhZGluZ0RpZ2l0cz44MDA8L2xlYWRpbmdEaWdpdHM+CisgICAgICAgICAgPGZvcm1hdD4kMSAkMiAkMzwvZm9ybWF0PgorICAgICAgICA8L251bWJlckZvcm1hdD4KICAgICAgIDwvYXZhaWxhYmxlRm9ybWF0cz4KICAgICAgIDxnZW5lcmFsRGVzYz4KICAgICAgICAgPG5hdGlvbmFsTnVtYmVyUGF0dGVybj5bMTM2ODldXGR7NywxMH08L25hdGlvbmFsTnVtYmVyUGF0dGVybj4KQEAgLTQ0MCwxMSArNjgwLDE4IEBACiAgICAgPCEtLSBGb3IgdGVzdGluZyBwdXJwb3NlcywgbnVtYmVycyBzdGFydGluZyB3aXRoIDI0IGFyZSBub3QgY29uc2lkZXJlZCBVUwogICAgIG51bWJlcnMuLS0+CiAgICAgPHRlcnJpdG9yeSBpZD0iVVMiIGNvdW50cnlDb2RlPSIxIiBpbnRlcm5hdGlvbmFsUHJlZml4PSIwMTEiCi0gICAgICAgICAgICAgICBwcmVmZXJyZWRFeHRuUHJlZml4PSIgZXh0bi4gIgotICAgICAgICAgICAgICAgbWFpbkNvdW50cnlGb3JDb2RlPSJ0cnVlIj4KKyAgICAgICAgICAgICAgIHByZWZlcnJlZEV4dG5QcmVmaXg9IiBleHRuLiAiIG5hdGlvbmFsUHJlZml4PSIxIgorICAgICAgICAgICAgICAgbWFpbkNvdW50cnlGb3JDb2RlPSJ0cnVlIiA+CiAgICAgICA8YXZhaWxhYmxlRm9ybWF0cz4KLSAgICAgICAgPG51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPiQxICQyICQzPC9udW1iZXJGb3JtYXQ+Ci0gICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHs0fSkiPiQxICQyPC9udW1iZXJGb3JtYXQ+CisgICAgICAgIDxudW1iZXJGb3JtYXQgcGF0dGVybj0iKFxkezN9KShcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyICQzPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8bnVtYmVyRm9ybWF0IHBhdHRlcm49IihcZHszfSkoXGR7NH0pIj4KKyAgICAgICAgICA8Zm9ybWF0PiQxICQyPC9mb3JtYXQ+CisgICAgICAgIDwvbnVtYmVyRm9ybWF0PgorICAgICAgICA8aW50bE51bWJlckZvcm1hdCBwYXR0ZXJuPSIoXGR7M30pKFxkezN9KShcZHs0fSkiPgorICAgICAgICAgIDxmb3JtYXQ+JDEgJDIgJDM8L2Zvcm1hdD4KKyAgICAgICAgPC9pbnRsTnVtYmVyRm9ybWF0PgogICAgICAgPC9hdmFpbGFibGVGb3JtYXRzPgogICAgICAgPGdlbmVyYWxEZXNjPgogICAgICAgICA8bmF0aW9uYWxOdW1iZXJQYXR0ZXJuPlsxMy05XVxkezl9fDJbMC0zNS05XVxkezh9PC9uYXRpb25hbE51bWJlclBhdHRlcm4+CmRpZmYgLS1naXQgYS9qYXZhL3NyYy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL0FzWW91VHlwZUZvcm1hdHRlci5qYXZhIGIvamF2YS9zcmMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9Bc1lvdVR5cGVGb3JtYXR0ZXIuamF2YQppbmRleCAzMDNhNDc0Li41ZmQ5MTcwIDEwMDY0NAotLS0gYS9qYXZhL3NyYy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL0FzWW91VHlwZUZvcm1hdHRlci5qYXZhCisrKyBiL2phdmEvc3JjL2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvQXNZb3VUeXBlRm9ybWF0dGVyLmphdmEKQEAgLTIwLDYgKzIwLDcgQEAKIGltcG9ydCBjb20uZ29vZ2xlLmkxOG4ucGhvbmVudW1iZXJzLlBob25lbWV0YWRhdGEuUGhvbmVNZXRhZGF0YTsKIAogaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CitpbXBvcnQgamF2YS51dGlsLkl0ZXJhdG9yOwogaW1wb3J0IGphdmEudXRpbC5MaXN0OwogaW1wb3J0IGphdmEudXRpbC5yZWdleC5NYXRjaGVyOwogaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwpAQCAtMzgsMTUgKzM5LDE4IEBACiAgKiBAYXV0aG9yIFNoYW9wZW5nIEppYQogICovCiBwdWJsaWMgY2xhc3MgQXNZb3VUeXBlRm9ybWF0dGVyIHsKLSAgcHJpdmF0ZSBTdHJpbmdCdWZmZXIgY3VycmVudE91dHB1dDsKLSAgcHJpdmF0ZSBTdHJpbmcgZm9ybWF0dGluZ1RlbXBsYXRlOwotICBwcml2YXRlIFN0cmluZ0J1ZmZlciBhY2NydWVkSW5wdXQ7Ci0gIHByaXZhdGUgU3RyaW5nQnVmZmVyIGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nOworICBwcml2YXRlIFN0cmluZyBjdXJyZW50T3V0cHV0ID0gIiI7CisgIHByaXZhdGUgU3RyaW5nQnVmZmVyIGZvcm1hdHRpbmdUZW1wbGF0ZSA9IG5ldyBTdHJpbmdCdWZmZXIoKTsKKyAgLy8gVGhlIHBhdHRlcm4gZnJvbSBudW1iZXJGb3JtYXQgdGhhdCBpcyBjdXJyZW50bHkgdXNlZCB0byBjcmVhdGUgZm9ybWF0dGluZ1RlbXBsYXRlLgorICBwcml2YXRlIFN0cmluZyBjdXJyZW50Rm9ybWF0dGluZ1BhdHRlcm4gPSAiIjsKKyAgcHJpdmF0ZSBTdHJpbmdCdWZmZXIgYWNjcnVlZElucHV0ID0gbmV3IFN0cmluZ0J1ZmZlcigpOworICBwcml2YXRlIFN0cmluZ0J1ZmZlciBhY2NydWVkSW5wdXRXaXRob3V0Rm9ybWF0dGluZyA9IG5ldyBTdHJpbmdCdWZmZXIoKTsKICAgcHJpdmF0ZSBib29sZWFuIGFibGVUb0Zvcm1hdCA9IHRydWU7CiAgIHByaXZhdGUgYm9vbGVhbiBpc0ludGVybmF0aW9uYWxGb3JtYXR0aW5nID0gZmFsc2U7CisgIHByaXZhdGUgYm9vbGVhbiBpc0V4cGVjdGluZ0NvdW50cnlDb2RlID0gZmFsc2U7CiAgIHByaXZhdGUgZmluYWwgUGhvbmVOdW1iZXJVdGlsIHBob25lVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpOwogICBwcml2YXRlIFN0cmluZyBkZWZhdWx0Q291bnRyeTsKLSAgcHJpdmF0ZSBQaG9uZW1ldGFkYXRhLlBob25lTWV0YWRhdGEgZGVmYXVsdE1ldGFEYXRhOworICBwcml2YXRlIFBob25lTWV0YWRhdGEgZGVmYXVsdE1ldGFEYXRhOwogICBwcml2YXRlIFBob25lTWV0YWRhdGEgY3VycmVudE1ldGFEYXRhOwogCiAgIC8vIEEgcGF0dGVybiB0aGF0IGlzIHVzZWQgdG8gbWF0Y2ggY2hhcmFjdGVyIGNsYXNzZXMgaW4gcmVndWxhciBleHByZXNzaW9ucy4gQW4gZXhhbXBsZSBvZiBhCkBAIC01OSwyMSArNjMsMzAgQEAKICAgLy8gdGhlIHBob25lIG51bWJlciBjYW4gYmUgYXMgbG9uZyBhcyAxNSBkaWdpdHMuCiAgIHByaXZhdGUgc3RhdGljIGZpbmFsIFBhdHRlcm4gU1RBTkRBTE9ORV9ESUdJVF9QQVRURVJOID0gUGF0dGVybi5jb21waWxlKCJcXGQoPz1bXix9XVteLH1dKSIpOwogCisgIC8vIFRoaXMgaXMgdGhlIG1pbmltdW0gbGVuZ3RoIG9mIG5hdGlvbmFsIG51bWJlciBhY2NydWVkIHRoYXQgaXMgcmVxdWlyZWQgdG8gdHJpZ2dlciB0aGUKKyAgLy8gZm9ybWF0dGVyLiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgbGVhZGluZ0RpZ2l0c1BhdHRlcm4gb2YgZWFjaCBudW1iZXJGb3JtYXQgY29udGFpbnMgYQorICAvLyByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBtYXRjaGVzIHVwIHRvIHRoaXMgbnVtYmVyIG9mIGRpZ2l0cy4KKyAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgaW50IE1JTl9MRUFESU5HX0RJR0lUU19MRU5HVEggPSAzOworCiAgIC8vIFRoZSBkaWdpdHMgdGhhdCBoYXZlIG5vdCBiZWVuIGVudGVyZWQgeWV0IHdpbGwgYmUgcmVwcmVzZW50ZWQgYnkgYSBcdTIwMDgsIHRoZSBwdW5jdHVhdGlvbgogICAvLyBzcGFjZS4KICAgcHJpdmF0ZSBTdHJpbmcgZGlnaXRQbGFjZWhvbGRlciA9ICJcdTIwMDgiOwogICBwcml2YXRlIFBhdHRlcm4gZGlnaXRQYXR0ZXJuID0gUGF0dGVybi5jb21waWxlKGRpZ2l0UGxhY2Vob2xkZXIpOwogICBwcml2YXRlIGludCBsYXN0TWF0Y2hQb3NpdGlvbiA9IDA7CiAgIC8vIFRoZSBwb3NpdGlvbiBvZiBhIGRpZ2l0IHVwb24gd2hpY2ggaW5wdXREaWdpdEFuZFJlbWVtYmVyUG9zaXRpb24gaXMgbW9zdCByZWNlbnRseSBpbnZva2VkLCBhcwotICAvLyBmb3VuZCBpbiB0aGUgY3VycmVudCBvdXRwdXQuCi0gIHByaXZhdGUgaW50IHBvc2l0aW9uUmVtZW1iZXJlZCA9IDA7Ci0gIC8vIFRoZSBwb3NpdGlvbiBvZiBhIGRpZ2l0IHVwb24gd2hpY2ggaW5wdXREaWdpdEFuZFJlbWVtYmVyUG9zaXRpb24gaXMgbW9zdCByZWNlbnRseSBpbnZva2VkLCBhcwogICAvLyBmb3VuZCBpbiB0aGUgb3JpZ2luYWwgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyB0aGUgdXNlciBlbnRlcmVkLgogICBwcml2YXRlIGludCBvcmlnaW5hbFBvc2l0aW9uID0gMDsKKyAgLy8gVGhlIHBvc2l0aW9uIG9mIGEgZGlnaXQgdXBvbiB3aGljaCBpbnB1dERpZ2l0QW5kUmVtZW1iZXJQb3NpdGlvbiBpcyBtb3N0IHJlY2VudGx5IGludm9rZWQsIGFzCisgIC8vIGZvdW5kIGluIGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nLgorICBwcml2YXRlIGludCBwb3NpdGlvblRvUmVtZW1iZXIgPSAwOwogICBwcml2YXRlIFBhdHRlcm4gbmF0aW9uYWxQcmVmaXhGb3JQYXJzaW5nOwogICBwcml2YXRlIFBhdHRlcm4gaW50ZXJuYXRpb25hbFByZWZpeDsKLSAgcHJpdmF0ZSBTdHJpbmdCdWZmZXIgcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXI7Ci0gIHByaXZhdGUgU3RyaW5nQnVmZmVyIG5hdGlvbmFsTnVtYmVyOworICBwcml2YXRlIFN0cmluZ0J1ZmZlciBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlciA9IG5ldyBTdHJpbmdCdWZmZXIoKTsKKyAgcHJpdmF0ZSBTdHJpbmdCdWZmZXIgbmF0aW9uYWxOdW1iZXIgPSBuZXcgU3RyaW5nQnVmZmVyKCk7CisgIHByaXZhdGUgTGlzdDxOdW1iZXJGb3JtYXQ+IHBvc3NpYmxlRm9ybWF0cyA9IG5ldyBBcnJheUxpc3Q8TnVtYmVyRm9ybWF0PigpOworCisgICAgLy8gQSBjYWNoZSBmb3IgZnJlcXVlbnRseSB1c2VkIGNvdW50cnktc3BlY2lmaWMgcmVndWxhciBleHByZXNzaW9ucy4KKyAgcHJpdmF0ZSBSZWdleENhY2hlIHJlZ2V4Q2FjaGUgPSBuZXcgUmVnZXhDYWNoZSg2NCk7CiAKICAgLyoqCiAgICAqIENvbnN0cnVjdHMgYSBsaWdodC13ZWlnaHQgZm9ybWF0dGVyIHdoaWNoIGRvZXMgbm8gZm9ybWF0dGluZywgYnV0IG91dHB1dHMgZXhhY3RseSB3aGF0IGlzCkBAIC04MiwxMSArOTUsNiBAQAogICAgKiBAcGFyYW0gcmVnaW9uQ29kZSAgdGhlIGNvdW50cnkvcmVnaW9uIHdoZXJlIHRoZSBwaG9uZSBudW1iZXIgaXMgYmVpbmcgZW50ZXJlZAogICAgKi8KICAgQXNZb3VUeXBlRm9ybWF0dGVyKFN0cmluZyByZWdpb25Db2RlKSB7Ci0gICAgYWNjcnVlZElucHV0ID0gbmV3IFN0cmluZ0J1ZmZlcigpOwotICAgIGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nID0gbmV3IFN0cmluZ0J1ZmZlcigpOwotICAgIGN1cnJlbnRPdXRwdXQgPSBuZXcgU3RyaW5nQnVmZmVyKCk7Ci0gICAgcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIgPSBuZXcgU3RyaW5nQnVmZmVyKCk7Ci0gICAgbmF0aW9uYWxOdW1iZXIgPSBuZXcgU3RyaW5nQnVmZmVyKCk7CiAgICAgZGVmYXVsdENvdW50cnkgPSByZWdpb25Db2RlOwogICAgIGluaXRpYWxpemVDb3VudHJ5U3BlY2lmaWNJbmZvKGRlZmF1bHRDb3VudHJ5KTsKICAgICBkZWZhdWx0TWV0YURhdGEgPSBjdXJyZW50TWV0YURhdGE7CkBAIC05NSw0NCArMTAzLDU1IEBACiAgIHByaXZhdGUgdm9pZCBpbml0aWFsaXplQ291bnRyeVNwZWNpZmljSW5mbyhTdHJpbmcgcmVnaW9uQ29kZSkgewogICAgIGN1cnJlbnRNZXRhRGF0YSA9IHBob25lVXRpbC5nZXRNZXRhZGF0YUZvclJlZ2lvbihyZWdpb25Db2RlKTsKICAgICBuYXRpb25hbFByZWZpeEZvclBhcnNpbmcgPQotICAgICAgICBQYXR0ZXJuLmNvbXBpbGUoY3VycmVudE1ldGFEYXRhLmdldE5hdGlvbmFsUHJlZml4Rm9yUGFyc2luZygpKTsKKyAgICAgICAgcmVnZXhDYWNoZS5nZXRQYXR0ZXJuRm9yUmVnZXgoY3VycmVudE1ldGFEYXRhLmdldE5hdGlvbmFsUHJlZml4Rm9yUGFyc2luZygpKTsKICAgICBpbnRlcm5hdGlvbmFsUHJlZml4ID0KLSAgICAgICAgUGF0dGVybi5jb21waWxlKCJcXCt8IiArIGN1cnJlbnRNZXRhRGF0YS5nZXRJbnRlcm5hdGlvbmFsUHJlZml4KCkpOworICAgICAgICByZWdleENhY2hlLmdldFBhdHRlcm5Gb3JSZWdleCgiXFwrfCIgKyBjdXJyZW50TWV0YURhdGEuZ2V0SW50ZXJuYXRpb25hbFByZWZpeCgpKTsKICAgfQogCi0gIHByaXZhdGUgdm9pZCBjaG9vc2VGb3JtYXRBbmRDcmVhdGVUZW1wbGF0ZShTdHJpbmcgbGVhZGluZ0ZvdXJEaWdpdHNPZk5hdGlvbmFsTnVtYmVyKSB7Ci0gICAgTGlzdDxOdW1iZXJGb3JtYXQ+IGZvcm1hdExpc3QgPSBnZXRBdmFpbGFibGVGb3JtYXRzKGxlYWRpbmdGb3VyRGlnaXRzT2ZOYXRpb25hbE51bWJlcik7Ci0gICAgaWYgKGZvcm1hdExpc3Quc2l6ZSgpIDwgMSkgewotICAgICAgYWJsZVRvRm9ybWF0ID0gZmFsc2U7Ci0gICAgfSBlbHNlIHsKLSAgICAgIC8vIFdoZW4gdGhlcmUgYXJlIG11bHRpcGxlIGF2YWlsYWJsZSBmb3JtYXRzLCB0aGUgZm9ybWF0dGVyIHVzZXMgdGhlIGZpcnN0IGZvcm1hdC4KLSAgICAgIE51bWJlckZvcm1hdCBmb3JtYXQgPSBmb3JtYXRMaXN0LmdldCgwKTsKLSAgICAgIGlmICghY3JlYXRlRm9ybWF0dGluZ1RlbXBsYXRlKGZvcm1hdCkpIHsKLSAgICAgICAgYWJsZVRvRm9ybWF0ID0gZmFsc2U7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBjdXJyZW50T3V0cHV0ID0gbmV3IFN0cmluZ0J1ZmZlcihmb3JtYXR0aW5nVGVtcGxhdGUpOworICAvLyBSZXR1cm5zIHRydWUgaWYgYSBuZXcgdGVtcGxhdGUgaXMgY3JlYXRlZCBhcyBvcHBvc2VkIHRvIHJldXNpbmcgdGhlIGV4aXN0aW5nIHRlbXBsYXRlLgorICBwcml2YXRlIGJvb2xlYW4gbWF5YmVDcmVhdGVOZXdUZW1wbGF0ZSgpIHsKKyAgICAvLyBXaGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBhdmFpbGFibGUgZm9ybWF0cywgdGhlIGZvcm1hdHRlciB1c2VzIHRoZSBmaXJzdCBmb3JtYXQgd2hlcmUgYQorICAgIC8vIGZvcm1hdHRpbmcgdGVtcGxhdGUgY291bGQgYmUgY3JlYXRlZC4KKyAgICBmb3IgKE51bWJlckZvcm1hdCBudW1iZXJGb3JtYXQgOiBwb3NzaWJsZUZvcm1hdHMpIHsKKyAgICAgIFN0cmluZyBwYXR0ZXJuID0gbnVtYmVyRm9ybWF0LmdldFBhdHRlcm4oKTsKKyAgICAgIGlmIChjdXJyZW50Rm9ybWF0dGluZ1BhdHRlcm4uZXF1YWxzKHBhdHRlcm4pKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAgICAgIGlmIChjcmVhdGVGb3JtYXR0aW5nVGVtcGxhdGUobnVtYmVyRm9ybWF0KSkgeworICAgICAgICBjdXJyZW50Rm9ybWF0dGluZ1BhdHRlcm4gPSBwYXR0ZXJuOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgIH0KICAgICB9CisgICAgYWJsZVRvRm9ybWF0ID0gZmFsc2U7CisgICAgcmV0dXJuIGZhbHNlOwogICB9CiAKLSAgcHJpdmF0ZSBMaXN0PE51bWJlckZvcm1hdD4gZ2V0QXZhaWxhYmxlRm9ybWF0cyhTdHJpbmcgbGVhZGluZ0ZvdXJEaWdpdHMpIHsKLSAgICBMaXN0PE51bWJlckZvcm1hdD4gbWF0Y2hlZExpc3QgPSBuZXcgQXJyYXlMaXN0PE51bWJlckZvcm1hdD4oKTsKKyAgcHJpdmF0ZSB2b2lkIGdldEF2YWlsYWJsZUZvcm1hdHMoU3RyaW5nIGxlYWRpbmdUaHJlZURpZ2l0cykgewogICAgIExpc3Q8TnVtYmVyRm9ybWF0PiBmb3JtYXRMaXN0ID0KICAgICAgICAgKGlzSW50ZXJuYXRpb25hbEZvcm1hdHRpbmcgJiYgY3VycmVudE1ldGFEYXRhLmdldEludGxOdW1iZXJGb3JtYXRDb3VudCgpID4gMCkKICAgICAgICAgPyBjdXJyZW50TWV0YURhdGEuZ2V0SW50bE51bWJlckZvcm1hdExpc3QoKQogICAgICAgICA6IGN1cnJlbnRNZXRhRGF0YS5nZXROdW1iZXJGb3JtYXRMaXN0KCk7Ci0gICAgZm9yIChOdW1iZXJGb3JtYXQgZm9ybWF0IDogZm9ybWF0TGlzdCkgewotICAgICAgaWYgKGZvcm1hdC5oYXNMZWFkaW5nRGlnaXRzKCkpIHsKLSAgICAgICAgUGF0dGVybiBsZWFkaW5nRGlnaXRzUGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZShmb3JtYXQuZ2V0TGVhZGluZ0RpZ2l0cygpKTsKLSAgICAgICAgTWF0Y2hlciBtID0gbGVhZGluZ0RpZ2l0c1BhdHRlcm4ubWF0Y2hlcihsZWFkaW5nRm91ckRpZ2l0cyk7Ci0gICAgICAgIGlmIChtLmxvb2tpbmdBdCgpKSB7Ci0gICAgICAgICAgbWF0Y2hlZExpc3QuYWRkKGZvcm1hdCk7CisgICAgcG9zc2libGVGb3JtYXRzLmFkZEFsbChmb3JtYXRMaXN0KTsKKyAgICBuYXJyb3dEb3duUG9zc2libGVGb3JtYXRzKGxlYWRpbmdUaHJlZURpZ2l0cyk7CisgIH0KKworICBwcml2YXRlIHZvaWQgbmFycm93RG93blBvc3NpYmxlRm9ybWF0cyhTdHJpbmcgbGVhZGluZ0RpZ2l0cykgeworICAgIGludCBsZW5ndGhPZkxlYWRpbmdEaWdpdHMgPSBsZWFkaW5nRGlnaXRzLmxlbmd0aCgpOworICAgIGludCBpbmRleE9mTGVhZGluZ0RpZ2l0c1BhdHRlcm4gPSBsZW5ndGhPZkxlYWRpbmdEaWdpdHMgLSBNSU5fTEVBRElOR19ESUdJVFNfTEVOR1RIOworICAgIEl0ZXJhdG9yPE51bWJlckZvcm1hdD4gaXQgPSBwb3NzaWJsZUZvcm1hdHMuaXRlcmF0b3IoKTsKKyAgICB3aGlsZSAoaXQuaGFzTmV4dCgpKSB7CisgICAgICBOdW1iZXJGb3JtYXQgZm9ybWF0ID0gaXQubmV4dCgpOworICAgICAgaWYgKGZvcm1hdC5nZXRMZWFkaW5nRGlnaXRzUGF0dGVybkNvdW50KCkgPiBpbmRleE9mTGVhZGluZ0RpZ2l0c1BhdHRlcm4pIHsKKyAgICAgICAgUGF0dGVybiBsZWFkaW5nRGlnaXRzUGF0dGVybiA9CisgICAgICAgICAgICByZWdleENhY2hlLmdldFBhdHRlcm5Gb3JSZWdleCgKKyAgICAgICAgICAgICAgICBmb3JtYXQuZ2V0TGVhZGluZ0RpZ2l0c1BhdHRlcm4oaW5kZXhPZkxlYWRpbmdEaWdpdHNQYXR0ZXJuKSk7CisgICAgICAgIE1hdGNoZXIgbSA9IGxlYWRpbmdEaWdpdHNQYXR0ZXJuLm1hdGNoZXIobGVhZGluZ0RpZ2l0cyk7CisgICAgICAgIGlmICghbS5sb29raW5nQXQoKSkgeworICAgICAgICAgIGl0LnJlbW92ZSgpOwogICAgICAgICB9Ci0gICAgICB9IGVsc2UgewotICAgICAgICBtYXRjaGVkTGlzdC5hZGQoZm9ybWF0KTsKLSAgICAgIH0KKyAgICAgIH0gLy8gZWxzZSB0aGUgcGFydGljdWxhciBmb3JtYXQgaGFzIG5vIG1vcmUgc3BlY2lmaWMgbGVhZGluZ0RpZ2l0c1BhdHRlcm4sIGFuZCBpdCBzaG91bGQgYmUKKyAgICAgICAgLy8gcmV0YWluZWQuCiAgICAgfQotICAgIHJldHVybiBtYXRjaGVkTGlzdDsKICAgfQogCiAgIHByaXZhdGUgYm9vbGVhbiBjcmVhdGVGb3JtYXR0aW5nVGVtcGxhdGUoTnVtYmVyRm9ybWF0IGZvcm1hdCkgewpAQCAtMTUwLDggKzE2OSw4IEBACiAKICAgICAvLyBSZXBsYWNlIGFueSBzdGFuZGFsb25lIGRpZ2l0IChub3QgdGhlIG9uZSBpbiBke30pIHdpdGggXGQKICAgICBudW1iZXJQYXR0ZXJuID0gU1RBTkRBTE9ORV9ESUdJVF9QQVRURVJOLm1hdGNoZXIobnVtYmVyUGF0dGVybikucmVwbGFjZUFsbCgiXFxcXGQiKTsKLQotICAgIGZvcm1hdHRpbmdUZW1wbGF0ZSA9IGdldEZvcm1hdHRpbmdUZW1wbGF0ZShudW1iZXJQYXR0ZXJuLCBudW1iZXJGb3JtYXQpOworICAgIGZvcm1hdHRpbmdUZW1wbGF0ZS5zZXRMZW5ndGgoMCk7CisgICAgZm9ybWF0dGluZ1RlbXBsYXRlLmFwcGVuZChnZXRGb3JtYXR0aW5nVGVtcGxhdGUobnVtYmVyUGF0dGVybiwgbnVtYmVyRm9ybWF0KSk7CiAgICAgcmV0dXJuIHRydWU7CiAgIH0KIApAQCAtMTYxLDcgKzE4MCw3IEBACiAgICAgLy8gQ3JlYXRlcyBhIHBob25lIG51bWJlciBjb25zaXN0aW5nIG9ubHkgb2YgdGhlIGRpZ2l0IDkgdGhhdCBtYXRjaGVzIHRoZQogICAgIC8vIG51bWJlclBhdHRlcm4gYnkgYXBwbHlpbmcgdGhlIHBhdHRlcm4gdG8gdGhlIGxvbmdlc3RQaG9uZU51bWJlciBzdHJpbmcuCiAgICAgU3RyaW5nIGxvbmdlc3RQaG9uZU51bWJlciA9ICI5OTk5OTk5OTk5OTk5OTkiOwotICAgIE1hdGNoZXIgbSA9IFBhdHRlcm4uY29tcGlsZShudW1iZXJQYXR0ZXJuKS5tYXRjaGVyKGxvbmdlc3RQaG9uZU51bWJlcik7CisgICAgTWF0Y2hlciBtID0gcmVnZXhDYWNoZS5nZXRQYXR0ZXJuRm9yUmVnZXgobnVtYmVyUGF0dGVybikubWF0Y2hlcihsb25nZXN0UGhvbmVOdW1iZXIpOwogICAgIG0uZmluZCgpOyAgLy8gdGhpcyB3aWxsIGFsd2F5cyBzdWNjZWVkCiAgICAgU3RyaW5nIGFQaG9uZU51bWJlciA9IG0uZ3JvdXAoKTsKICAgICAvLyBGb3JtYXRzIHRoZSBudW1iZXIgYWNjb3JkaW5nIHRvIG51bWJlckZvcm1hdApAQCAtMTc1LDIzICsxOTQsMzYgQEAKICAgICogQ2xlYXJzIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgZm9ybWF0dGVyLCBzbyBpdCBjb3VsZCBiZSByZXVzZWQuCiAgICAqLwogICBwdWJsaWMgdm9pZCBjbGVhcigpIHsKKyAgICBjdXJyZW50T3V0cHV0ID0gIiI7CiAgICAgYWNjcnVlZElucHV0LnNldExlbmd0aCgwKTsKICAgICBhY2NydWVkSW5wdXRXaXRob3V0Rm9ybWF0dGluZy5zZXRMZW5ndGgoMCk7Ci0gICAgY3VycmVudE91dHB1dC5zZXRMZW5ndGgoMCk7CisgICAgZm9ybWF0dGluZ1RlbXBsYXRlLnNldExlbmd0aCgwKTsKICAgICBsYXN0TWF0Y2hQb3NpdGlvbiA9IDA7CisgICAgY3VycmVudEZvcm1hdHRpbmdQYXR0ZXJuID0gIiI7CiAgICAgcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIuc2V0TGVuZ3RoKDApOwogICAgIG5hdGlvbmFsTnVtYmVyLnNldExlbmd0aCgwKTsKICAgICBhYmxlVG9Gb3JtYXQgPSB0cnVlOwotICAgIHBvc2l0aW9uUmVtZW1iZXJlZCA9IDA7CisgICAgcG9zaXRpb25Ub1JlbWVtYmVyID0gMDsKICAgICBvcmlnaW5hbFBvc2l0aW9uID0gMDsKICAgICBpc0ludGVybmF0aW9uYWxGb3JtYXR0aW5nID0gZmFsc2U7CisgICAgaXNFeHBlY3RpbmdDb3VudHJ5Q29kZSA9IGZhbHNlOworICAgIHBvc3NpYmxlRm9ybWF0cy5jbGVhcigpOwogICAgIGlmICghY3VycmVudE1ldGFEYXRhLmVxdWFscyhkZWZhdWx0TWV0YURhdGEpKSB7CiAgICAgICBpbml0aWFsaXplQ291bnRyeVNwZWNpZmljSW5mbyhkZWZhdWx0Q291bnRyeSk7CiAgICAgfQogICB9CiAKKyAgLyoqCisgICAqIEZvcm1hdHMgYSBwaG9uZSBudW1iZXIgb24tdGhlLWZseSBhcyBlYWNoIGRpZ2l0IGlzIGVudGVyZWQuCisgICAqCisgICAqIEBwYXJhbSBuZXh0Q2hhciAgdGhlIG1vc3QgcmVjZW50bHkgZW50ZXJlZCBkaWdpdCBvZiBhIHBob25lIG51bWJlci4gRm9ybWF0dGluZyBjaGFyYWN0ZXJzIGFyZQorICAgKiAgICAgYWxsb3dlZCwgYnV0IHRoZXkgYXJlIHJlbW92ZWQgZnJvbSB0aGUgcmVzdWx0LiBGdWxsIHdpZHRoIGRpZ2l0cyBhbmQgQXJhYmljLWluZGljIGRpZ2l0cworICAgKiAgICAgYXJlIGFsbG93ZWQsIGFuZCB3aWxsIGJlIHNob3duIGFzIHRoZXkgYXJlLgorICAgKiBAcmV0dXJuICB0aGUgcGFydGlhbGx5IGZvcm1hdHRlZCBwaG9uZSBudW1iZXIuCisgICAqLwogICBwdWJsaWMgU3RyaW5nIGlucHV0RGlnaXQoY2hhciBuZXh0Q2hhcikgewotICAgIHJldHVybiBpbnB1dERpZ2l0V2l0aE9wdGlvblRvUmVtZW1iZXJQb3NpdGlvbihuZXh0Q2hhciwgZmFsc2UpOworICAgIGN1cnJlbnRPdXRwdXQgPSBpbnB1dERpZ2l0V2l0aE9wdGlvblRvUmVtZW1iZXJQb3NpdGlvbihuZXh0Q2hhciwgZmFsc2UpOworICAgIHJldHVybiBjdXJyZW50T3V0cHV0OwogICB9CiAKICAgLyoqCkBAIC0yMDAsMTQgKzIzMiwxNSBAQAogICAgKiBhZGp1c3RlZCBpZiBhZGRpdGlvbmFsIGZvcm1hdHRpbmcgY2hhcmFjdGVycyBhcmUgbGF0ZXIgaW5zZXJ0ZWQvcmVtb3ZlZCBpbiBmcm9udCBvZiBuZXh0Q2hhci4KICAgICovCiAgIHB1YmxpYyBTdHJpbmcgaW5wdXREaWdpdEFuZFJlbWVtYmVyUG9zaXRpb24oY2hhciBuZXh0Q2hhcikgewotICAgIHJldHVybiBpbnB1dERpZ2l0V2l0aE9wdGlvblRvUmVtZW1iZXJQb3NpdGlvbihuZXh0Q2hhciwgdHJ1ZSk7CisgICAgY3VycmVudE91dHB1dCA9IGlucHV0RGlnaXRXaXRoT3B0aW9uVG9SZW1lbWJlclBvc2l0aW9uKG5leHRDaGFyLCB0cnVlKTsKKyAgICByZXR1cm4gY3VycmVudE91dHB1dDsKICAgfQogCisgIEBTdXBwcmVzc1dhcm5pbmdzKHZhbHVlID0gImZhbGx0aHJvdWdoIikKICAgcHJpdmF0ZSBTdHJpbmcgaW5wdXREaWdpdFdpdGhPcHRpb25Ub1JlbWVtYmVyUG9zaXRpb24oY2hhciBuZXh0Q2hhciwgYm9vbGVhbiByZW1lbWJlclBvc2l0aW9uKSB7CiAgICAgYWNjcnVlZElucHV0LmFwcGVuZChuZXh0Q2hhcik7CiAgICAgaWYgKHJlbWVtYmVyUG9zaXRpb24pIHsKLSAgICAgIHBvc2l0aW9uUmVtZW1iZXJlZCA9IGFjY3J1ZWRJbnB1dC5sZW5ndGgoKTsKLSAgICAgIG9yaWdpbmFsUG9zaXRpb24gPSBwb3NpdGlvblJlbWVtYmVyZWQ7CisgICAgICBvcmlnaW5hbFBvc2l0aW9uID0gYWNjcnVlZElucHV0Lmxlbmd0aCgpOwogICAgIH0KICAgICAvLyBXZSBkbyBmb3JtYXR0aW5nIG9uLXRoZS1mbHkgb25seSB3aGVuIGVhY2ggY2hhcmFjdGVyIGVudGVyZWQgaXMgZWl0aGVyIGEgcGx1cyBzaWduIG9yIGEKICAgICAvLyBkaWdpdC4KQEAgLTIxNSw0NiArMjQ4LDcxIEBACiAgICAgICBhYmxlVG9Gb3JtYXQgPSBmYWxzZTsKICAgICB9CiAgICAgaWYgKCFhYmxlVG9Gb3JtYXQpIHsKLSAgICAgIHJlc2V0UG9zaXRpb25PbkZhaWx1cmVUb0Zvcm1hdCgpOwogICAgICAgcmV0dXJuIGFjY3J1ZWRJbnB1dC50b1N0cmluZygpOwogICAgIH0KIAotICAgIG5leHRDaGFyID0gbm9ybWFsaXplQW5kQWNjcnVlRGlnaXRzQW5kUGx1c1NpZ24obmV4dENoYXIpOworICAgIG5leHRDaGFyID0gbm9ybWFsaXplQW5kQWNjcnVlRGlnaXRzQW5kUGx1c1NpZ24obmV4dENoYXIsIHJlbWVtYmVyUG9zaXRpb24pOwogCi0gICAgLy8gV2Ugc3RhcnQgdG8gYXR0ZW1wdCB0byBmb3JtYXQgb25seSB3aGVuIGF0IGxlYXN0IDYgZGlnaXRzICh0aGUgcGx1cyBzaWduIGlzIGNvdW50ZWQgYXMgYQotICAgIC8vIGRpZ2l0IGFzIHdlbGwgZm9yIHRoaXMgcHVycG9zZSkgaGF2ZSBiZWVuIGVudGVyZWQuCisgICAgLy8gV2Ugc3RhcnQgdG8gYXR0ZW1wdCB0byBmb3JtYXQgb25seSB3aGVuIGF0IGxlYXN0IE1JTl9MRUFESU5HX0RJR0lUU19MRU5HVEggZGlnaXRzICh0aGUgcGx1cworICAgIC8vIHNpZ24gaXMgY291bnRlZCBhcyBhIGRpZ2l0IGFzIHdlbGwgZm9yIHRoaXMgcHVycG9zZSkgaGF2ZSBiZWVuIGVudGVyZWQuCiAgICAgc3dpdGNoIChhY2NydWVkSW5wdXRXaXRob3V0Rm9ybWF0dGluZy5sZW5ndGgoKSkgewogICAgICAgY2FzZSAwOiAvLyB0aGlzIGlzIHRoZSBjYXNlIHdoZXJlIHRoZSBmaXJzdCBmZXcgaW5wdXRzIGFyZSBuZWl0aGVyIGRpZ2l0cyBub3IgdGhlIHBsdXMgc2lnbi4KICAgICAgIGNhc2UgMToKICAgICAgIGNhc2UgMjoKKyAgICAgICAgcmV0dXJuIGFjY3J1ZWRJbnB1dC50b1N0cmluZygpOwogICAgICAgY2FzZSAzOgorICAgICAgICBpZiAoYXR0ZW1wdFRvRXh0cmFjdElkZCgpKSB7CisgICAgICAgICAgaXNFeHBlY3RpbmdDb3VudHJ5Q29kZSA9IHRydWU7CisgICAgICAgIH0gZWxzZSB7ICAvLyBObyBJREQgb3IgcGx1cyBzaWduIGlzIGZvdW5kLCBtdXN0IGJlIGVudGVyaW5nIGluIG5hdGlvbmFsIGZvcm1hdC4KKyAgICAgICAgICByZW1vdmVOYXRpb25hbFByZWZpeEZyb21OYXRpb25hbE51bWJlcigpOworICAgICAgICAgIHJldHVybiBhdHRlbXB0VG9DaG9vc2VGb3JtYXR0aW5nUGF0dGVybigpOworICAgICAgICB9CiAgICAgICBjYXNlIDQ6CiAgICAgICBjYXNlIDU6Ci0gICAgICAgIHJldHVybiBhY2NydWVkSW5wdXQudG9TdHJpbmcoKTsKKyAgICAgICAgaWYgKGlzRXhwZWN0aW5nQ291bnRyeUNvZGUpIHsKKyAgICAgICAgICBpZiAoYXR0ZW1wdFRvRXh0cmFjdENvdW50cnlDb2RlKCkpIHsKKyAgICAgICAgICAgIGlzRXhwZWN0aW5nQ291bnRyeUNvZGUgPSBmYWxzZTsKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIHByZWZpeEJlZm9yZU5hdGlvbmFsTnVtYmVyICsgbmF0aW9uYWxOdW1iZXIudG9TdHJpbmcoKTsKKyAgICAgICAgfQorICAgICAgLy8gV2UgbWFrZSBhIGxhc3QgYXR0ZW1wdCB0byBleHRyYWN0IGEgY291bnRyeSBjb2RlIGF0IHRoZSA2dGggZGlnaXQgYmVjYXVzZSB0aGUgbWF4aW11bQorICAgICAgLy8gbGVuZ3RoIG9mIElERCBhbmQgY291bnRyeSBjb2RlIGFyZSBib3RoIDMuCiAgICAgICBjYXNlIDY6Ci0gICAgICAgIGlmICghZXh0cmFjdElkZEFuZFZhbGlkQ291bnRyeUNvZGUoKSkgeworICAgICAgICBpZiAoaXNFeHBlY3RpbmdDb3VudHJ5Q29kZSAmJiAhYXR0ZW1wdFRvRXh0cmFjdENvdW50cnlDb2RlKCkpIHsKICAgICAgICAgICBhYmxlVG9Gb3JtYXQgPSBmYWxzZTsKICAgICAgICAgICByZXR1cm4gYWNjcnVlZElucHV0LnRvU3RyaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAgcmVtb3ZlTmF0aW9uYWxQcmVmaXhGcm9tTmF0aW9uYWxOdW1iZXIoKTsKLSAgICAgICAgcmV0dXJuIGF0dGVtcHRUb0Nob29zZUZvcm1hdHRpbmdQYXR0ZXJuKHJlbWVtYmVyUG9zaXRpb24pOwogICAgICAgZGVmYXVsdDoKLSAgICAgICAgaWYgKG5hdGlvbmFsTnVtYmVyLmxlbmd0aCgpID4gNCkgeyAgLy8gVGhlIGZvcm1hdHRpbmcgcGF0dGVybiBpcyBhbHJlYWR5IGNob3Nlbi4KLSAgICAgICAgICBTdHJpbmcgdGVtcCA9IGlucHV0RGlnaXRIZWxwZXIobmV4dENoYXIsIHJlbWVtYmVyUG9zaXRpb24pOworICAgICAgICBpZiAocG9zc2libGVGb3JtYXRzLnNpemUoKSA+IDApIHsgIC8vIFRoZSBmb3JtYXR0aW5nIHBhdHRlcm4gaXMgYWxyZWFkeSBjaG9zZW4uCisgICAgICAgICAgU3RyaW5nIHRlbXBOYXRpb25hbE51bWJlciA9IGlucHV0RGlnaXRIZWxwZXIobmV4dENoYXIpOworICAgICAgICAgIC8vIFNlZSBpZiB0aGUgYWNjcnVlZCBkaWdpdHMgY2FuIGJlIGZvcm1hdHRlZCBwcm9wZXJseSBhbHJlYWR5LiBJZiBub3QsIHVzZSB0aGUgcmVzdWx0cworICAgICAgICAgIC8vIGZyb20gaW5wdXREaWdpdEhlbHBlciwgd2hpY2ggZG9lcyBmb3JtYXR0aW5nIGJhc2VkIG9uIHRoZSBmb3JtYXR0aW5nIHBhdHRlcm4gY2hvc2VuLgorICAgICAgICAgIFN0cmluZyBmb3JtYXR0ZWROdW1iZXIgPSBhdHRlbXB0VG9Gb3JtYXRBY2NydWVkRGlnaXRzKCk7CisgICAgICAgICAgaWYgKGZvcm1hdHRlZE51bWJlci5sZW5ndGgoKSA+IDApIHsKKyAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWROdW1iZXI7CisgICAgICAgICAgfQorICAgICAgICAgIG5hcnJvd0Rvd25Qb3NzaWJsZUZvcm1hdHMobmF0aW9uYWxOdW1iZXIudG9TdHJpbmcoKSk7CisgICAgICAgICAgaWYgKG1heWJlQ3JlYXRlTmV3VGVtcGxhdGUoKSkgeworICAgICAgICAgICAgcmV0dXJuIGlucHV0QWNjcnVlZE5hdGlvbmFsTnVtYmVyKCk7CisgICAgICAgICAgfQogICAgICAgICAgIHJldHVybiBhYmxlVG9Gb3JtYXQKLSAgICAgICAgICAgICAgPyBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlciArIHRlbXAKLSAgICAgICAgICAgICAgOiB0ZW1wOworICAgICAgICAgICAgID8gcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIgKyB0ZW1wTmF0aW9uYWxOdW1iZXIKKyAgICAgICAgICAgICA6IHRlbXBOYXRpb25hbE51bWJlcjsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICByZXR1cm4gYXR0ZW1wdFRvQ2hvb3NlRm9ybWF0dGluZ1BhdHRlcm4ocmVtZW1iZXJQb3NpdGlvbik7CisgICAgICAgICAgcmV0dXJuIGF0dGVtcHRUb0Nob29zZUZvcm1hdHRpbmdQYXR0ZXJuKCk7CiAgICAgICAgIH0KICAgICB9CiAgIH0KIAotICBwcml2YXRlIHZvaWQgcmVzZXRQb3NpdGlvbk9uRmFpbHVyZVRvRm9ybWF0KCkgewotICAgIGlmIChwb3NpdGlvblJlbWVtYmVyZWQgPiAwKSB7Ci0gICAgICBwb3NpdGlvblJlbWVtYmVyZWQgPSBvcmlnaW5hbFBvc2l0aW9uOwotICAgICAgY3VycmVudE91dHB1dC5zZXRMZW5ndGgoMCk7CisgIFN0cmluZyBhdHRlbXB0VG9Gb3JtYXRBY2NydWVkRGlnaXRzKCkgeworICAgIGZvciAoTnVtYmVyRm9ybWF0IG51bUZvcm1hdCA6IHBvc3NpYmxlRm9ybWF0cykgeworICAgICAgTWF0Y2hlciBtID0gcmVnZXhDYWNoZS5nZXRQYXR0ZXJuRm9yUmVnZXgobnVtRm9ybWF0LmdldFBhdHRlcm4oKSkubWF0Y2hlcihuYXRpb25hbE51bWJlcik7CisgICAgICBpZiAobS5tYXRjaGVzKCkpIHsKKyAgICAgICAgU3RyaW5nIGZvcm1hdHRlZE51bWJlciA9IG0ucmVwbGFjZUFsbChudW1Gb3JtYXQuZ2V0Rm9ybWF0KCkpOworICAgICAgICByZXR1cm4gcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIgKyBmb3JtYXR0ZWROdW1iZXI7CisgICAgICB9CiAgICAgfQorICAgIHJldHVybiAiIjsKICAgfQogCiAgIC8qKgpAQCAtMjYyLDQ4ICszMjAsNDkgQEAKICAgICogcHJldmlvdXNseSBwYXNzZWQgaW4gYXMgdGhlIHBhcmFtZXRlciBvZiBpbnB1dERpZ2l0QW5kUmVtZW1iZXJQb3NpdGlvbigpLgogICAgKi8KICAgcHVibGljIGludCBnZXRSZW1lbWJlcmVkUG9zaXRpb24oKSB7Ci0gICAgcmV0dXJuIHBvc2l0aW9uUmVtZW1iZXJlZDsKKyAgICBpZiAoIWFibGVUb0Zvcm1hdCkgeworICAgICAgcmV0dXJuIG9yaWdpbmFsUG9zaXRpb247CisgICAgfQorICAgIGludCBhY2NydWVkSW5wdXRJbmRleCA9IDAsIGN1cnJlbnRPdXRwdXRJbmRleCA9IDA7CisgICAgd2hpbGUgKGFjY3J1ZWRJbnB1dEluZGV4IDwgcG9zaXRpb25Ub1JlbWVtYmVyKSB7CisgICAgICBpZiAoYWNjcnVlZElucHV0V2l0aG91dEZvcm1hdHRpbmcuY2hhckF0KGFjY3J1ZWRJbnB1dEluZGV4KSA9PQorICAgICAgICAgIGN1cnJlbnRPdXRwdXQuY2hhckF0KGN1cnJlbnRPdXRwdXRJbmRleCkpIHsKKyAgICAgICAgYWNjcnVlZElucHV0SW5kZXgrKzsKKyAgICAgICAgY3VycmVudE91dHB1dEluZGV4Kys7CisgICAgICB9IGVsc2UgeworICAgICAgICBjdXJyZW50T3V0cHV0SW5kZXgrKzsKKyAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGN1cnJlbnRPdXRwdXRJbmRleDsKICAgfQogCiAgIC8vIEF0dGVtcHRzIHRvIHNldCB0aGUgZm9ybWF0dGluZyB0ZW1wbGF0ZSBhbmQgcmV0dXJucyBhIHN0cmluZyB3aGljaCBjb250YWlucyB0aGUgZm9ybWF0dGVkCiAgIC8vIHZlcnNpb24gb2YgdGhlIGRpZ2l0cyBlbnRlcmVkIHNvIGZhci4KLSAgcHJpdmF0ZSBTdHJpbmcgYXR0ZW1wdFRvQ2hvb3NlRm9ybWF0dGluZ1BhdHRlcm4oYm9vbGVhbiByZW1lbWJlclBvc2l0aW9uKSB7Ci0gICAgLy8gV2Ugc3RhcnQgdG8gYXR0ZW1wdCB0byBmb3JtYXQgb25seSB3aGVuIGFzIGxlYXN0IDQgZGlnaXRzIG9mIG5hdGlvbmFsIG51bWJlciAoZXhjbHVkaW5nCi0gICAgLy8gbmF0aW9uYWwgcHJlZml4KSBoYXZlIGJlZW4gZW50ZXJlZC4KLSAgICBpZiAobmF0aW9uYWxOdW1iZXIubGVuZ3RoKCkgPj0gNCkgewotICAgICAgY2hvb3NlRm9ybWF0QW5kQ3JlYXRlVGVtcGxhdGUobmF0aW9uYWxOdW1iZXIuc3Vic3RyaW5nKDAsIDQpKTsKLSAgICAgIHJldHVybiBpbnB1dEFjY3J1ZWROYXRpb25hbE51bWJlcihyZW1lbWJlclBvc2l0aW9uKTsKKyAgcHJpdmF0ZSBTdHJpbmcgYXR0ZW1wdFRvQ2hvb3NlRm9ybWF0dGluZ1BhdHRlcm4oKSB7CisgICAgLy8gV2Ugc3RhcnQgdG8gYXR0ZW1wdCB0byBmb3JtYXQgb25seSB3aGVuIGFzIGxlYXN0IE1JTl9MRUFESU5HX0RJR0lUU19MRU5HVEggZGlnaXRzIG9mIG5hdGlvbmFsCisgICAgLy8gbnVtYmVyIChleGNsdWRpbmcgbmF0aW9uYWwgcHJlZml4KSBoYXZlIGJlZW4gZW50ZXJlZC4KKyAgICBpZiAobmF0aW9uYWxOdW1iZXIubGVuZ3RoKCkgPj0gTUlOX0xFQURJTkdfRElHSVRTX0xFTkdUSCkgeworICAgICAgZ2V0QXZhaWxhYmxlRm9ybWF0cyhuYXRpb25hbE51bWJlci5zdWJzdHJpbmcoMCwgTUlOX0xFQURJTkdfRElHSVRTX0xFTkdUSCkpOworICAgICAgbWF5YmVDcmVhdGVOZXdUZW1wbGF0ZSgpOworICAgICAgcmV0dXJuIGlucHV0QWNjcnVlZE5hdGlvbmFsTnVtYmVyKCk7CiAgICAgfSBlbHNlIHsKLSAgICAgIGlmIChyZW1lbWJlclBvc2l0aW9uKSB7Ci0gICAgICAgIHBvc2l0aW9uUmVtZW1iZXJlZCA9IHByZWZpeEJlZm9yZU5hdGlvbmFsTnVtYmVyLmxlbmd0aCgpICsgbmF0aW9uYWxOdW1iZXIubGVuZ3RoKCk7Ci0gICAgICB9CiAgICAgICByZXR1cm4gcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIgKyBuYXRpb25hbE51bWJlci50b1N0cmluZygpOwogICAgIH0KICAgfQogCiAgIC8vIEludm9rZXMgaW5wdXREaWdpdEhlbHBlciBvbiBlYWNoIGRpZ2l0IG9mIHRoZSBuYXRpb25hbCBudW1iZXIgYWNjcnVlZCwgYW5kIHJldHVybnMgYSBmb3JtYXR0ZWQKICAgLy8gc3RyaW5nIGluIHRoZSBlbmQuCi0gIHByaXZhdGUgU3RyaW5nIGlucHV0QWNjcnVlZE5hdGlvbmFsTnVtYmVyKGJvb2xlYW4gcmVtZW1iZXJQb3NpdGlvbikgeworICBwcml2YXRlIFN0cmluZyBpbnB1dEFjY3J1ZWROYXRpb25hbE51bWJlcigpIHsKICAgICBpbnQgbGVuZ3RoT2ZOYXRpb25hbE51bWJlciA9IG5hdGlvbmFsTnVtYmVyLmxlbmd0aCgpOwogICAgIGlmIChsZW5ndGhPZk5hdGlvbmFsTnVtYmVyID4gMCkgewotICAgICAgLy8gVGhlIHBvc2l0aW9uUmVtZW1iZXJlZCBzaG91bGQgYmUgb25seSBhZGp1c3RlZCBvbmNlIGluIHRoZSBsb29wIHRoYXQgZm9sbG93cy4KLSAgICAgIGJvb2xlYW4gcG9zaXRpb25BbHJlYWR5QWRqdXN0ZWQgPSBmYWxzZTsKICAgICAgIFN0cmluZyB0ZW1wTmF0aW9uYWxOdW1iZXIgPSAiIjsKICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoT2ZOYXRpb25hbE51bWJlcjsgaSsrKSB7Ci0gICAgICAgIHRlbXBOYXRpb25hbE51bWJlciA9IGlucHV0RGlnaXRIZWxwZXIobmF0aW9uYWxOdW1iZXIuY2hhckF0KGkpLCByZW1lbWJlclBvc2l0aW9uKTsKLSAgICAgICAgaWYgKCFwb3NpdGlvbkFscmVhZHlBZGp1c3RlZCAmJgotICAgICAgICAgICAgcG9zaXRpb25SZW1lbWJlcmVkIC0gcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIubGVuZ3RoKCkgPT0gaSArIDEpIHsKLSAgICAgICAgICBwb3NpdGlvblJlbWVtYmVyZWQgPSBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlci5sZW5ndGgoKSArIHRlbXBOYXRpb25hbE51bWJlci5sZW5ndGgoKTsKLSAgICAgICAgICBwb3NpdGlvbkFscmVhZHlBZGp1c3RlZCA9IHRydWU7Ci0gICAgICAgIH0KKyAgICAgICAgdGVtcE5hdGlvbmFsTnVtYmVyID0gaW5wdXREaWdpdEhlbHBlcihuYXRpb25hbE51bWJlci5jaGFyQXQoaSkpOwogICAgICAgfQogICAgICAgcmV0dXJuIGFibGVUb0Zvcm1hdAogICAgICAgICAgID8gcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIgKyB0ZW1wTmF0aW9uYWxOdW1iZXIKICAgICAgICAgICA6IHRlbXBOYXRpb25hbE51bWJlcjsKICAgICB9IGVsc2UgewotICAgICAgaWYgKHJlbWVtYmVyUG9zaXRpb24pIHsKLSAgICAgICAgcG9zaXRpb25SZW1lbWJlcmVkID0gcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIubGVuZ3RoKCk7Ci0gICAgICB9CiAgICAgICByZXR1cm4gcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIudG9TdHJpbmcoKTsKICAgICB9CiAgIH0KQEAgLTMxMywxMSArMzcyLDcgQEAKICAgICBpZiAoY3VycmVudE1ldGFEYXRhLmdldENvdW50cnlDb2RlKCkgPT0gMSAmJiBuYXRpb25hbE51bWJlci5jaGFyQXQoMCkgPT0gJzEnKSB7CiAgICAgICBzdGFydE9mTmF0aW9uYWxOdW1iZXIgPSAxOwogICAgICAgcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIuYXBwZW5kKCIxICIpOwotICAgICAgLy8gU2luY2UgYSBzcGFjZSBpcyBpbnNlcnRlZCBhZnRlciB0aGUgbmF0aW9uYWwgcHJlZml4IGluIHRoaXMgY2FzZSwgd2UgaW5jcmVhc2UgdGhlCi0gICAgICAvLyByZW1lbWJlcmVkIHBvc2l0aW9uIGJ5IDEgZm9yIGFueXRoaW5nIHRoYXQgaXMgYWZ0ZXIgdGhlIG5hdGlvbmFsIHByZWZpeC4KLSAgICAgIGlmIChwb3NpdGlvblJlbWVtYmVyZWQgPiBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlci5sZW5ndGgoKSAtIDEpIHsKLSAgICAgICAgcG9zaXRpb25SZW1lbWJlcmVkKys7Ci0gICAgICB9CisgICAgICBpc0ludGVybmF0aW9uYWxGb3JtYXR0aW5nID0gdHJ1ZTsKICAgICB9IGVsc2UgaWYgKGN1cnJlbnRNZXRhRGF0YS5oYXNOYXRpb25hbFByZWZpeCgpKSB7CiAgICAgICBNYXRjaGVyIG0gPSBuYXRpb25hbFByZWZpeEZvclBhcnNpbmcubWF0Y2hlcihuYXRpb25hbE51bWJlcik7CiAgICAgICBpZiAobS5sb29raW5nQXQoKSkgewpAQCAtMzI5LDUxICszODQsNTMgQEAKICAgfQogCiAgIC8qKgotICAgKiBFeHRyYWN0cyBJREQsIHBsdXMgc2lnbiBhbmQgY291bnRyeSBjb2RlIHRvIHByZWZpeEJlZm9yZU5hdGlvbmFsTnVtYmVyIHdoZW4gdGhleSBhcmUgYXZhaWxhYmxlLAotICAgKiBhbmQgcGxhY2VzIHRoZSByZW1haW5pbmcgaW5wdXQgaW50byBuYXRpb25hbE51bWJlci4KKyAgICogRXh0cmFjdHMgSUREIGFuZCBwbHVzIHNpZ24gdG8gcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIgd2hlbiB0aGV5IGFyZSBhdmFpbGFibGUsIGFuZCBwbGFjZXMKKyAgICogdGhlIHJlbWFpbmluZyBpbnB1dCBpbnRvIG5hdGlvbmFsTnVtYmVyLgogICAgKgotICAgKiBAcmV0dXJuICBmYWxzZSB3aGVuIGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nIGJlZ2lucyB3aXRoIHRoZSBwbHVzIHNpZ24gb3IgdmFsaWQgSUREIGZvcgotICAgKiAgICAgZGVmYXVsdENvdW50cnksIGJ1dCB0aGUgc2VxdWVuY2Ugb2YgZGlnaXRzIGFmdGVyIHRoYXQgZG9lcyBub3QgZm9ybSBhIHZhbGlkIGNvdW50cnkgY29kZS4KLSAgICogICAgIEl0IHJldHVybnMgdHJ1ZSBmb3IgYWxsIG90aGVyIGNhc2VzLgorICAgKiBAcmV0dXJuICB0cnVlIHdoZW4gYWNjcnVlZElucHV0V2l0aG91dEZvcm1hdHRpbmcgYmVnaW5zIHdpdGggdGhlIHBsdXMgc2lnbiBvciB2YWxpZCBJREQgZm9yCisgICAqICAgICBkZWZhdWx0Q291bnRyeS4KICAgICovCi0gIHByaXZhdGUgYm9vbGVhbiBleHRyYWN0SWRkQW5kVmFsaWRDb3VudHJ5Q29kZSgpIHsKLSAgICBuYXRpb25hbE51bWJlci5zZXRMZW5ndGgoMCk7CisgIHByaXZhdGUgYm9vbGVhbiBhdHRlbXB0VG9FeHRyYWN0SWRkKCkgewogICAgIE1hdGNoZXIgaWRkTWF0Y2hlciA9IGludGVybmF0aW9uYWxQcmVmaXgubWF0Y2hlcihhY2NydWVkSW5wdXRXaXRob3V0Rm9ybWF0dGluZyk7CiAgICAgaWYgKGlkZE1hdGNoZXIubG9va2luZ0F0KCkpIHsKICAgICAgIGlzSW50ZXJuYXRpb25hbEZvcm1hdHRpbmcgPSB0cnVlOwogICAgICAgaW50IHN0YXJ0T2ZDb3VudHJ5Q29kZSA9IGlkZE1hdGNoZXIuZW5kKCk7Ci0gICAgICBTdHJpbmdCdWZmZXIgbnVtYmVySW5jbHVkZUNvdW50cnlDb2RlID0KLSAgICAgICAgICBuZXcgU3RyaW5nQnVmZmVyKGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nLnN1YnN0cmluZyhzdGFydE9mQ291bnRyeUNvZGUpKTsKLSAgICAgIGludCBjb3VudHJ5Q29kZSA9IHBob25lVXRpbC5leHRyYWN0Q291bnRyeUNvZGUobnVtYmVySW5jbHVkZUNvdW50cnlDb2RlLCBuYXRpb25hbE51bWJlcik7CisgICAgICBuYXRpb25hbE51bWJlci5zZXRMZW5ndGgoMCk7CisgICAgICBuYXRpb25hbE51bWJlci5hcHBlbmQoYWNjcnVlZElucHV0V2l0aG91dEZvcm1hdHRpbmcuc3Vic3RyaW5nKHN0YXJ0T2ZDb3VudHJ5Q29kZSkpOworICAgICAgcHJlZml4QmVmb3JlTmF0aW9uYWxOdW1iZXIuYXBwZW5kKAorICAgICAgICAgIGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nLnN1YnN0cmluZygwLCBzdGFydE9mQ291bnRyeUNvZGUpKTsKKyAgICAgIGlmIChhY2NydWVkSW5wdXRXaXRob3V0Rm9ybWF0dGluZy5jaGFyQXQoMCkgIT0gUGhvbmVOdW1iZXJVdGlsLlBMVVNfU0lHTikgeworICAgICAgICBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlci5hcHBlbmQoIiAiKTsKKyAgICAgIH0KKyAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKworICAvKioKKyAgICogRXh0cmFjdHMgY291bnRyeSBjb2RlIGZyb20gdGhlIGJlZ2lubmluZyBvZiBuYXRpb25hbE51bWJlciB0byBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlciB3aGVuCisgICAqIHRoZXkgYXJlIGF2YWlsYWJsZSwgYW5kIHBsYWNlcyB0aGUgcmVtYWluaW5nIGlucHV0IGludG8gbmF0aW9uYWxOdW1iZXIuCisgICAqCisgICAqIEByZXR1cm4gIHRydWUgd2hlbiBhIHZhbGlkIGNvdW50cnkgY29kZSBjYW4gYmUgZm91bmQuCisgICAqLworICBwcml2YXRlIGJvb2xlYW4gYXR0ZW1wdFRvRXh0cmFjdENvdW50cnlDb2RlKCkgeworICAgICAgaWYgKG5hdGlvbmFsTnVtYmVyLmxlbmd0aCgpID09IDApIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQorICAgICAgU3RyaW5nQnVmZmVyIG51bWJlcldpdGhvdXRDb3VudHJ5Q29kZSA9IG5ldyBTdHJpbmdCdWZmZXIoKTsKKyAgICAgIGludCBjb3VudHJ5Q29kZSA9IHBob25lVXRpbC5leHRyYWN0Q291bnRyeUNvZGUobmF0aW9uYWxOdW1iZXIsIG51bWJlcldpdGhvdXRDb3VudHJ5Q29kZSk7CiAgICAgICBpZiAoY291bnRyeUNvZGUgPT0gMCkgewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9IGVsc2UgeworICAgICAgICBuYXRpb25hbE51bWJlci5zZXRMZW5ndGgoMCk7CisgICAgICAgIG5hdGlvbmFsTnVtYmVyLmFwcGVuZChudW1iZXJXaXRob3V0Q291bnRyeUNvZGUpOwogICAgICAgICBTdHJpbmcgbmV3UmVnaW9uQ29kZSA9IHBob25lVXRpbC5nZXRSZWdpb25Db2RlRm9yQ291bnRyeUNvZGUoY291bnRyeUNvZGUpOwogICAgICAgICBpZiAoIW5ld1JlZ2lvbkNvZGUuZXF1YWxzKGRlZmF1bHRDb3VudHJ5KSkgewogICAgICAgICAgIGluaXRpYWxpemVDb3VudHJ5U3BlY2lmaWNJbmZvKG5ld1JlZ2lvbkNvZGUpOwogICAgICAgICB9Ci0gICAgICAgIHByZWZpeEJlZm9yZU5hdGlvbmFsTnVtYmVyLmFwcGVuZCgKLSAgICAgICAgICAgIGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nLnN1YnN0cmluZygwLCBzdGFydE9mQ291bnRyeUNvZGUpKTsKLSAgICAgICAgaWYgKGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nLmNoYXJBdCgwKSAhPSBQaG9uZU51bWJlclV0aWwuUExVU19TSUdOICkgewotICAgICAgICAgIGlmIChwb3NpdGlvblJlbWVtYmVyZWQgPiBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlci5sZW5ndGgoKSkgewotICAgICAgICAgICAgLy8gU2luY2UgYSBzcGFjZSB3aWxsIGJlIGluc2VydGVkIGluIGZyb250IG9mIHRoZSBjb3VudHJ5IGNvZGUgaW4gdGhpcyBjYXNlLCB3ZSBpbmNyZWFzZQotICAgICAgICAgICAgLy8gdGhlIHJlbWVtYmVyZWQgcG9zaXRpb24gYnkgMS4KLSAgICAgICAgICAgIHBvc2l0aW9uUmVtZW1iZXJlZCsrOwotICAgICAgICAgIH0KLSAgICAgICAgICBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlci5hcHBlbmQoIiAiKTsKLSAgICAgICAgfQogICAgICAgICBTdHJpbmcgY291bnRyeUNvZGVTdHJpbmcgPSBJbnRlZ2VyLnRvU3RyaW5nKGNvdW50cnlDb2RlKTsKLSAgICAgICAgaWYgKHBvc2l0aW9uUmVtZW1iZXJlZCA+IHByZWZpeEJlZm9yZU5hdGlvbmFsTnVtYmVyLmxlbmd0aCgpICsgY291bnRyeUNvZGVTdHJpbmcubGVuZ3RoKCkpIHsKLSAgICAgICAgICAvLyBTaW5jZSBhIHNwYWNlIHdpbGwgYmUgaW5zZXJ0ZWQgYWZ0ZXIgdGhlIGNvdW50cnkgY29kZSBpbiB0aGlzIGNhc2UsIHdlIGluY3JlYXNlIHRoZQotICAgICAgICAgIC8vIHJlbWVtYmVyZWQgcG9zaXRpb24gYnkgMS4KLSAgICAgICAgICBwb3NpdGlvblJlbWVtYmVyZWQrKzsKLSAgICAgICAgfQogICAgICAgICBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlci5hcHBlbmQoY291bnRyeUNvZGVTdHJpbmcpLmFwcGVuZCgiICIpOwogICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICBuYXRpb25hbE51bWJlci5zZXRMZW5ndGgoMCk7Ci0gICAgICBuYXRpb25hbE51bWJlci5hcHBlbmQoYWNjcnVlZElucHV0V2l0aG91dEZvcm1hdHRpbmcpOwotICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKICAgfQogCkBAIC0zODEsMzYgKzQzOCwzMCBAQAogICAvLyBjb250YWlucyBhIGRpZ2l0IGluIG5vbi1BU0NJSSBmb3JtYXQgKGUuZy4gdGhlIGZ1bGwtd2lkdGggdmVyc2lvbiBvZiBkaWdpdHMpLCBpdCBpcyBmaXJzdAogICAvLyBub3JtYWxpemVkIHRvIHRoZSBBU0NJSSB2ZXJzaW9uLiBUaGUgcmV0dXJuIHZhbHVlIGlzIG5leHRDaGFyIGl0c2VsZiwgb3IgaXRzIG5vcm1hbGl6ZWQKICAgLy8gdmVyc2lvbiwgaWYgbmV4dENoYXIgaXMgYSBkaWdpdCBpbiBub24tQVNDSUkgZm9ybWF0LgotICBwcml2YXRlIGNoYXIgbm9ybWFsaXplQW5kQWNjcnVlRGlnaXRzQW5kUGx1c1NpZ24oY2hhciBuZXh0Q2hhcikgeworICBwcml2YXRlIGNoYXIgbm9ybWFsaXplQW5kQWNjcnVlRGlnaXRzQW5kUGx1c1NpZ24oY2hhciBuZXh0Q2hhciwgYm9vbGVhbiByZW1lbWJlclBvc2l0aW9uKSB7CiAgICAgaWYgKG5leHRDaGFyID09IFBob25lTnVtYmVyVXRpbC5QTFVTX1NJR04pIHsKICAgICAgIGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nLmFwcGVuZChuZXh0Q2hhcik7CiAgICAgfQotCiAgICAgaWYgKFBob25lTnVtYmVyVXRpbC5ESUdJVF9NQVBQSU5HUy5jb250YWluc0tleShuZXh0Q2hhcikpIHsKICAgICAgIG5leHRDaGFyID0gUGhvbmVOdW1iZXJVdGlsLkRJR0lUX01BUFBJTkdTLmdldChuZXh0Q2hhcik7CiAgICAgICBhY2NydWVkSW5wdXRXaXRob3V0Rm9ybWF0dGluZy5hcHBlbmQobmV4dENoYXIpOwogICAgICAgbmF0aW9uYWxOdW1iZXIuYXBwZW5kKG5leHRDaGFyKTsKICAgICB9CisgICAgaWYgKHJlbWVtYmVyUG9zaXRpb24pIHsKKyAgICAgIHBvc2l0aW9uVG9SZW1lbWJlciA9IGFjY3J1ZWRJbnB1dFdpdGhvdXRGb3JtYXR0aW5nLmxlbmd0aCgpOworICAgIH0KICAgICByZXR1cm4gbmV4dENoYXI7CiAgIH0KIAotICBwcml2YXRlIFN0cmluZyBpbnB1dERpZ2l0SGVscGVyKGNoYXIgbmV4dENoYXIsIGJvb2xlYW4gcmVtZW1iZXJQb3NpdGlvbikgewotICAgIGlmICghUGhvbmVOdW1iZXJVdGlsLkRJR0lUX01BUFBJTkdTLmNvbnRhaW5zS2V5KG5leHRDaGFyKSkgewotICAgICAgcmV0dXJuIGN1cnJlbnRPdXRwdXQudG9TdHJpbmcoKTsKLSAgICB9Ci0KLSAgICBNYXRjaGVyIGRpZ2l0TWF0Y2hlciA9IGRpZ2l0UGF0dGVybi5tYXRjaGVyKGN1cnJlbnRPdXRwdXQpOworICBwcml2YXRlIFN0cmluZyBpbnB1dERpZ2l0SGVscGVyKGNoYXIgbmV4dENoYXIpIHsKKyAgICBNYXRjaGVyIGRpZ2l0TWF0Y2hlciA9IGRpZ2l0UGF0dGVybi5tYXRjaGVyKGZvcm1hdHRpbmdUZW1wbGF0ZSk7CiAgICAgaWYgKGRpZ2l0TWF0Y2hlci5maW5kKGxhc3RNYXRjaFBvc2l0aW9uKSkgewotICAgICAgY3VycmVudE91dHB1dCA9IG5ldyBTdHJpbmdCdWZmZXIoZGlnaXRNYXRjaGVyLnJlcGxhY2VGaXJzdChDaGFyYWN0ZXIudG9TdHJpbmcobmV4dENoYXIpKSk7CisgICAgICBTdHJpbmcgdGVtcFRlbXBsYXRlID0gZGlnaXRNYXRjaGVyLnJlcGxhY2VGaXJzdChDaGFyYWN0ZXIudG9TdHJpbmcobmV4dENoYXIpKTsKKyAgICAgIGZvcm1hdHRpbmdUZW1wbGF0ZS5yZXBsYWNlKDAsIHRlbXBUZW1wbGF0ZS5sZW5ndGgoKSwgdGVtcFRlbXBsYXRlKTsKICAgICAgIGxhc3RNYXRjaFBvc2l0aW9uID0gZGlnaXRNYXRjaGVyLnN0YXJ0KCk7Ci0gICAgICBpZiAocmVtZW1iZXJQb3NpdGlvbikgewotICAgICAgICBwb3NpdGlvblJlbWVtYmVyZWQgPSBwcmVmaXhCZWZvcmVOYXRpb25hbE51bWJlci5sZW5ndGgoKSArIGxhc3RNYXRjaFBvc2l0aW9uICsgMTsKLSAgICAgIH0KLSAgICAgIHJldHVybiBjdXJyZW50T3V0cHV0LnN1YnN0cmluZygwLCBsYXN0TWF0Y2hQb3NpdGlvbiArIDEpOworICAgICAgcmV0dXJuIGZvcm1hdHRpbmdUZW1wbGF0ZS5zdWJzdHJpbmcoMCwgbGFzdE1hdGNoUG9zaXRpb24gKyAxKTsKICAgICB9IGVsc2UgeyAgLy8gTW9yZSBkaWdpdHMgYXJlIGVudGVyZWQgdGhhbiB3ZSBjb3VsZCBoYW5kbGUuCi0gICAgICBjdXJyZW50T3V0cHV0LmFwcGVuZChuZXh0Q2hhcik7CiAgICAgICBhYmxlVG9Gb3JtYXQgPSBmYWxzZTsKLSAgICAgIHJlc2V0UG9zaXRpb25PbkZhaWx1cmVUb0Zvcm1hdCgpOwogICAgICAgcmV0dXJuIGFjY3J1ZWRJbnB1dC50b1N0cmluZygpOwogICAgIH0KICAgfQpkaWZmIC0tZ2l0IGEvamF2YS9zcmMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9QaG9uZU51bWJlck1ldGFkYXRhUHJvdG8gYi9qYXZhL3NyYy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1Bob25lTnVtYmVyTWV0YWRhdGFQcm90bwppbmRleCBjMjkwNmJjLi41NmEyZTFmIDEwMDY0NAotLS0gYS9qYXZhL3NyYy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1Bob25lTnVtYmVyTWV0YWRhdGFQcm90bworKysgYi9qYXZhL3NyYy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1Bob25lTnVtYmVyTWV0YWRhdGFQcm90bwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9qYXZhL3NyYy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1Bob25lTnVtYmVyVXRpbC5qYXZhIGIvamF2YS9zcmMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9QaG9uZU51bWJlclV0aWwuamF2YQppbmRleCAwODBhNjVhLi40ZjkxNTg4IDEwMDY0NAotLS0gYS9qYXZhL3NyYy9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1Bob25lTnVtYmVyVXRpbC5qYXZhCisrKyBiL2phdmEvc3JjL2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvUGhvbmVOdW1iZXJVdGlsLmphdmEKQEAgLTQ5OCw3ICs0OTgsNyBAQAogICAgKiBzdWJzY3JpYmVyIG51bWJlciBzaG91bGQgYmUgZGlhbGxhYmxlLCBhdCBsZWFzdCBvbiBzb21lIGRldmljZXMuIEFuIGV4YW1wbGUgb2YgaG93IHRoaXMgY291bGQKICAgICogYmUgdXNlZDoKICAgICoKLSAgICogUGhvbmVOdW1iZXJVdGlsIHBob25lVXRpbC5QaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTsKKyAgICogUGhvbmVOdW1iZXJVdGlsIHBob25lVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpOwogICAgKiBQaG9uZU51bWJlciBudW1iZXIgPSBwaG9uZVV0aWwucGFyc2UoIjE2NTAyNTMwMDAwIiwgUmVnaW9uQ29kZS5VUyk7CiAgICAqIFN0cmluZyBuYXRpb25hbFNpZ25pZmljYW50TnVtYmVyID0gUGhvbmVOdW1iZXJVdGlsLmdldE5hdGlvbmFsU2lnbmlmaWNhbnROdW1iZXIobnVtYmVyKTsKICAgICogU3RyaW5nIGFyZWFDb2RlOwpAQCAtNTQwLDcgKzU0MCw3IEBACiAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBQaG9uZU51bWJlclR5cGUgdHlwZSA9IGdldE51bWJlclR5cGVIZWxwZXIoU3RyaW5nLnZhbHVlT2YobnVtYmVyLmdldE5hdGlvbmFsTnVtYmVyKCkpLAorICAgIFBob25lTnVtYmVyVHlwZSB0eXBlID0gZ2V0TnVtYmVyVHlwZUhlbHBlcihnZXROYXRpb25hbFNpZ25pZmljYW50TnVtYmVyKG51bWJlciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhKTsKICAgICAvLyBNb3N0IG51bWJlcnMgb3RoZXIgdGhhbiB0aGUgdHdvIHR5cGVzIGJlbG93IGhhdmUgdG8gYmUgZGlhbGxlZCBpbiBmdWxsLgogICAgIGlmICh0eXBlICE9IFBob25lTnVtYmVyVHlwZS5GSVhFRF9MSU5FICYmIHR5cGUgIT0gUGhvbmVOdW1iZXJUeXBlLkZJWEVEX0xJTkVfT1JfTU9CSUxFKSB7CkBAIC01NjcsMTEgKzU2Nyw4IEBACiAgICAgaWYgKG51bWJlckdyb3Vwcy5sZW5ndGggPD0gMykgewogICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIC8vIE5vdGUgYWxsIGNvdW50cmllcyB0aGF0IHVzZSBsZWFkaW5nIHplcm8gaW4gbmF0aW9uYWwgbnVtYmVyIGRvbid0IHVzZSBuYXRpb25hbCBwcmVmaXgsIHNvCi0gICAgLy8gdGhleSB3b24ndCBoYXZlIGFuIGFyZWEgY29kZSwgd2hpY2ggbWVhbnMgY2xpZW50cyBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGFwcGVuZGluZyB0aGUKLSAgICAvLyBsZWFkaW5nIHplcm8gdG8gdGhlIGdlb2dyYXBoaWNhbCBhcmVhIGNvZGUgdGhleSBkZXJpdmUgZnJvbSB0aGUgbGVuZ3RoIHdlIHJldHVybiBoZXJlLgogICAgIHJldHVybiBudW1iZXJHcm91cHNbMl0ubGVuZ3RoKCk7Ci0gIH0gIAorICB9CiAKICAgLyoqCiAgICAqIE5vcm1hbGl6ZXMgYSBzdHJpbmcgb2YgY2hhcmFjdGVycyByZXByZXNlbnRpbmcgYSBwaG9uZSBudW1iZXIgYnkgcmVwbGFjaW5nIGFsbCBjaGFyYWN0ZXJzIGZvdW5kCkBAIC03MjUsMjQgKzcyMiw0MCBAQAogICAgIGlmICghaXNWYWxpZFJlZ2lvbkNvZGUocmVnaW9uQ29kZSkpIHsKICAgICAgIHJldHVybiBuYXRpb25hbFNpZ25pZmljYW50TnVtYmVyOwogICAgIH0KKyAgICBMaXN0PE51bWJlckZvcm1hdD4gdXNlckRlZmluZWRGb3JtYXRzQ29weSA9CisgICAgICAgIG5ldyBBcnJheUxpc3Q8TnVtYmVyRm9ybWF0Pih1c2VyRGVmaW5lZEZvcm1hdHMuc2l6ZSgpKTsKICAgICBpbnQgc2l6ZSA9IHVzZXJEZWZpbmVkRm9ybWF0cy5zaXplKCk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKICAgICAgIE51bWJlckZvcm1hdCBudW1Gb3JtYXQgPSB1c2VyRGVmaW5lZEZvcm1hdHMuZ2V0KGkpOwogICAgICAgU3RyaW5nIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGUgPSBudW1Gb3JtYXQuZ2V0TmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZSgpOwogICAgICAgaWYgKG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGUubGVuZ3RoKCkgPiAwKSB7CisgICAgICAgIC8vIEJlZm9yZSB3ZSBkbyBhIHJlcGxhY2VtZW50IG9mIHRoZSBuYXRpb25hbCBwcmVmaXggcGF0dGVybiAkTlAgd2l0aCB0aGUgbmF0aW9uYWwgcHJlZml4LAorICAgICAgICAvLyB3ZSBuZWVkIHRvIGNvcHkgdGhlIHJ1bGUgc28gdGhhdCBzdWJzZXF1ZW50IHJlcGxhY2VtZW50cyBmb3IgZGlmZmVyZW50IG51bWJlcnMgaGF2ZSB0aGUKKyAgICAgICAgLy8gYXBwcm9wcmlhdGUgbmF0aW9uYWwgcHJlZml4LgorICAgICAgICBOdW1iZXJGb3JtYXQgbnVtRm9ybWF0Q29weSA9IG5ldyBOdW1iZXJGb3JtYXQoKTsKKyAgICAgICAgbnVtRm9ybWF0Q29weS5tZXJnZUZyb20obnVtRm9ybWF0KTsKICAgICAgICAgU3RyaW5nIG5hdGlvbmFsUHJlZml4ID0gZ2V0TWV0YWRhdGFGb3JSZWdpb24ocmVnaW9uQ29kZSkuZ2V0TmF0aW9uYWxQcmVmaXgoKTsKLSAgICAgICAgLy8gUmVwbGFjZSAkTlAgd2l0aCBuYXRpb25hbCBwcmVmaXggYW5kICRGRyB3aXRoIHRoZSBmaXJzdCBncm91cCAoJDEpLgotICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlID0KLSAgICAgICAgICAgIE5QX1BBVFRFUk4ubWF0Y2hlcihuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlKS5yZXBsYWNlRmlyc3QobmF0aW9uYWxQcmVmaXgpOwotICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlID0KLSAgICAgICAgICAgIEZHX1BBVFRFUk4ubWF0Y2hlcihuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlKS5yZXBsYWNlRmlyc3QoIlxcJDEiKTsKLSAgICAgICAgbnVtRm9ybWF0LnNldE5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGUobmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZSk7CisgICAgICBpZiAobmF0aW9uYWxQcmVmaXgubGVuZ3RoKCkgPiAwKSB7CisgICAgICAgICAgLy8gUmVwbGFjZSAkTlAgd2l0aCBuYXRpb25hbCBwcmVmaXggYW5kICRGRyB3aXRoIHRoZSBmaXJzdCBncm91cCAoJDEpLgorICAgICAgICAgIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGUgPQorICAgICAgICAgICAgICBOUF9QQVRURVJOLm1hdGNoZXIobmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZSkucmVwbGFjZUZpcnN0KG5hdGlvbmFsUHJlZml4KTsKKyAgICAgICAgICBuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlID0KKyAgICAgICAgICAgICAgRkdfUEFUVEVSTi5tYXRjaGVyKG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGUpLnJlcGxhY2VGaXJzdCgiXFwkMSIpOworICAgICAgICAgIG51bUZvcm1hdENvcHkuc2V0TmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZShuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGhhdmUgYSBydWxlIGZvciBob3cgdG8gZm9ybWF0IHRoZSBuYXRpb25hbCBwcmVmaXggaWYgdGhlcmUgaXNuJ3Qgb25lLgorICAgICAgICAgIG51bUZvcm1hdENvcHkuY2xlYXJOYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlKCk7CisgICAgICAgIH0KKyAgICAgICAgdXNlckRlZmluZWRGb3JtYXRzQ29weS5hZGQobnVtRm9ybWF0Q29weSk7CisgICAgICB9IGVsc2UgeworICAgICAgICAvLyBPdGhlcndpc2UsIHdlIGp1c3QgYWRkIHRoZSBvcmlnaW5hbCBydWxlIHRvIHRoZSBtb2RpZmllZCBsaXN0IG9mIGZvcm1hdHMuCisgICAgICAgIHVzZXJEZWZpbmVkRm9ybWF0c0NvcHkuYWRkKG51bUZvcm1hdCk7CiAgICAgICB9CiAgICAgfQogCiAgICAgU3RyaW5nQnVmZmVyIGZvcm1hdHRlZE51bWJlciA9CiAgICAgICAgIG5ldyBTdHJpbmdCdWZmZXIoZm9ybWF0QWNjb3JkaW5nVG9Gb3JtYXRzKG5hdGlvbmFsU2lnbmlmaWNhbnROdW1iZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJEZWZpbmVkRm9ybWF0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckRlZmluZWRGb3JtYXRzQ29weSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyRm9ybWF0KSk7CiAgICAgbWF5YmVHZXRGb3JtYXR0ZWRFeHRlbnNpb24obnVtYmVyLCByZWdpb25Db2RlLCBmb3JtYXR0ZWROdW1iZXIpOwogICAgIGZvcm1hdE51bWJlckJ5Rm9ybWF0KGNvdW50cnlDb2RlLCBudW1iZXJGb3JtYXQsIGZvcm1hdHRlZE51bWJlcik7CkBAIC04MDgsNyArODIxLDcgQEAKICAgICB9IGVsc2UgaWYgKGNvdW50cnlDb2RlID09IGdldENvdW50cnlDb2RlRm9yUmVnaW9uKGNvdW50cnlDYWxsaW5nRnJvbSkpIHsKICAgICAvLyBGb3IgY291bnRyaWVzIHRoYXQgc2hhcmUgYSBjb3VudHJ5IGNhbGxpbmcgY29kZSwgdGhlIGNvdW50cnkgY29kZSBuZWVkIG5vdCBiZSBkaWFsbGVkLiBUaGlzCiAgICAgLy8gYWxzbyBhcHBsaWVzIHdoZW4gZGlhbGxpbmcgd2l0aGluIGEgY291bnRyeSwgc28gdGhpcyBpZiBjbGF1c2UgY292ZXJzIGJvdGggdGhlc2UgY2FzZXMuCi0gICAgLy8gVGVjaG5pY2FsbHkgdGhpcyBpcyB0aGUgY2FzZSBmb3IgZGlhbGxpbmcgZnJvbSBsYSBSjnVuaW9uIHRvIG90aGVyIG92ZXJzZWFzIGRlcGFydG1lbnRzIG9mCisgICAgLy8gVGVjaG5pY2FsbHkgdGhpcyBpcyB0aGUgY2FzZSBmb3IgZGlhbGxpbmcgZnJvbSBsYSBSZXVuaW9uIHRvIG90aGVyIG92ZXJzZWFzIGRlcGFydG1lbnRzIG9mCiAgICAgLy8gRnJhbmNlIChGcmVuY2ggR3VpYW5hLCBNYXJ0aW5pcXVlLCBHdWFkZWxvdXBlKSwgYnV0IG5vdCB2aWNlIHZlcnNhIC0gc28gd2UgZG9uJ3QgY292ZXIgdGhpcwogICAgIC8vIGVkZ2UgY2FzZSBmb3Igbm93IGFuZCBmb3IgdGhvc2UgY2FzZXMgcmV0dXJuIHRoZSB2ZXJzaW9uIGluY2x1ZGluZyBjb3VudHJ5IGNvZGUuCiAgICAgLy8gRGV0YWlscyBoZXJlOiBodHRwOi8vd3d3LnBldGl0ZnV0ZS5jb20vdm95YWdlLzIyNS1pbmZvLXByYXRpcXVlcy1yZXVuaW9uCkBAIC04NjYsMTEgKzg3OSwxMSBAQAogICAgICAgICByZXR1cm4gZm9ybWF0KG51bWJlciwgUGhvbmVOdW1iZXJGb3JtYXQuSU5URVJOQVRJT05BTCkuc3Vic3RyaW5nKDEpOwogICAgICAgY2FzZSBGUk9NX0RFRkFVTFRfQ09VTlRSWToKICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBmb3JtYXQobnVtYmVyLCBQaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTCk7ICAgICAgCisgICAgICAgIHJldHVybiBmb3JtYXQobnVtYmVyLCBQaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTCk7CiAgICAgfQogICB9CiAKLSAgCisKICAgLyoqCiAgICAqIEdldHMgdGhlIG5hdGlvbmFsIHNpZ25pZmljYW50IG51bWJlciBvZiB0aGUgYSBwaG9uZSBudW1iZXIuIE5vdGUgYSBuYXRpb25hbCBzaWduaWZpY2FudCBudW1iZXIKICAgICogZG9lc24ndCBjb250YWluIGEgbmF0aW9uYWwgcHJlZml4IG9yIGFueSBmb3JtYXR0aW5nLgpAQCAtOTE4LDcgKzkzMSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyByZWdpb25Db2RlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQaG9uZU51bWJlckZvcm1hdCBudW1iZXJGb3JtYXQpIHsKICAgICByZXR1cm4gZm9ybWF0TmF0aW9uYWxOdW1iZXIobnVtYmVyLCByZWdpb25Db2RlLCBudW1iZXJGb3JtYXQsIG51bGwpOwotICB9ICAKKyAgfQogCiAgIC8vIE5vdGUgaW4gc29tZSBjb3VudHJpZXMsIHRoZSBuYXRpb25hbCBudW1iZXIgY2FuIGJlIHdyaXR0ZW4gaW4gdHdvIGNvbXBsZXRlbHkgZGlmZmVyZW50IHdheXMKICAgLy8gZGVwZW5kaW5nIG9uIHdoZXRoZXIgaXQgZm9ybXMgcGFydCBvZiB0aGUgTkFUSU9OQUwgZm9ybWF0IG9yIElOVEVSTkFUSU9OQUwgZm9ybWF0LiBUaGUKQEAgLTk1Myw5ICs5NjYsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBob25lTnVtYmVyRm9ybWF0IG51bWJlckZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyBjYXJyaWVyQ29kZSkgewogICAgIGZvciAoTnVtYmVyRm9ybWF0IG51bUZvcm1hdCA6IGF2YWlsYWJsZUZvcm1hdHMpIHsKLSAgICAgIGlmICghbnVtRm9ybWF0Lmhhc0xlYWRpbmdEaWdpdHMoKSB8fAotICAgICAgICAgIHJlZ2V4Q2FjaGUuZ2V0UGF0dGVybkZvclJlZ2V4KG51bUZvcm1hdC5nZXRMZWFkaW5nRGlnaXRzKCkpLm1hdGNoZXIobmF0aW9uYWxOdW1iZXIpCi0gICAgICAgICAgICAgIC5sb29raW5nQXQoKSkgeworICAgICAgaW50IHNpemUgPSBudW1Gb3JtYXQuZ2V0TGVhZGluZ0RpZ2l0c1BhdHRlcm5Db3VudCgpOworICAgICAgaWYgKHNpemUgPT0gMCB8fCByZWdleENhY2hlLmdldFBhdHRlcm5Gb3JSZWdleCgKKyAgICAgICAgICAgICAgLy8gV2UgYWx3YXlzIHVzZSB0aGUgbGFzdCBsZWFkaW5nX2RpZ2l0c19wYXR0ZXJuLCBhcyBpdCBpcyB0aGUgbW9zdCBkZXRhaWxlZC4KKyAgICAgICAgICAgICAgbnVtRm9ybWF0LmdldExlYWRpbmdEaWdpdHNQYXR0ZXJuKHNpemUgLSAxKSkubWF0Y2hlcihuYXRpb25hbE51bWJlcikubG9va2luZ0F0KCkpIHsKICAgICAgICAgTWF0Y2hlciBtID0gcmVnZXhDYWNoZS5nZXRQYXR0ZXJuRm9yUmVnZXgobnVtRm9ybWF0LmdldFBhdHRlcm4oKSkubWF0Y2hlcihuYXRpb25hbE51bWJlcik7CiAgICAgICAgIFN0cmluZyBudW1iZXJGb3JtYXRSdWxlID0gbnVtRm9ybWF0LmdldEZvcm1hdCgpOwogICAgICAgICBpZiAobS5tYXRjaGVzKCkpIHsKQEAgLTEzNzMsNiArMTM4NywzMiBAQAogICB9CiAKICAgLyoqCisgICAqIEF0dGVtcHRzIHRvIGV4dHJhY3QgYSB2YWxpZCBudW1iZXIgZnJvbSBhIHBob25lIG51bWJlciB0aGF0IGlzIHRvbyBsb25nIHRvIGJlIHZhbGlkLCBhbmQgcmVzZXRzCisgICAqIHRoZSBQaG9uZU51bWJlciBvYmplY3QgcGFzc2VkIGluIHRvIHRoYXQgdmFsaWQgdmVyc2lvbi4gSWYgbm8gdmFsaWQgbnVtYmVyIGNvdWxkIGJlIGV4dHJhY3RlZCwKKyAgICogdGhlIFBob25lTnVtYmVyIG9iamVjdCBwYXNzZWQgaW4gd2lsbCBub3QgYmUgbW9kaWZpZWQuCisgICAqIEBwYXJhbSBudW1iZXIgYSBQaG9uZU51bWJlciBvYmplY3Qgd2hpY2ggY29udGFpbnMgYSBudW1iZXIgdGhhdCBpcyB0b28gbG9uZyB0byBiZSB2YWxpZC4KKyAgICogQHJldHVybiAgdHJ1ZSBpZiBhIHZhbGlkIHBob25lIG51bWJlciBjYW4gYmUgc3VjY2Vzc2Z1bGx5IGV4dHJhY3RlZC4KKyAgICovCisgIHB1YmxpYyBib29sZWFuIHRydW5jYXRlVG9vTG9uZ051bWJlcihQaG9uZU51bWJlciBudW1iZXIpIHsKKyAgICBpZiAoaXNWYWxpZE51bWJlcihudW1iZXIpKSB7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgUGhvbmVOdW1iZXIgbnVtYmVyQ29weSA9IG5ldyBQaG9uZU51bWJlcigpOworICAgIG51bWJlckNvcHkubWVyZ2VGcm9tKG51bWJlcik7CisgICAgbG9uZyBuYXRpb25hbE51bWJlciA9IG51bWJlci5nZXROYXRpb25hbE51bWJlcigpOworICAgIGRvIHsKKyAgICAgIG5hdGlvbmFsTnVtYmVyIC89IDEwOworICAgICAgbnVtYmVyQ29weS5zZXROYXRpb25hbE51bWJlcihuYXRpb25hbE51bWJlcik7CisgICAgICBpZiAoaXNQb3NzaWJsZU51bWJlcldpdGhSZWFzb24obnVtYmVyQ29weSkgPT0gVmFsaWRhdGlvblJlc3VsdC5UT09fU0hPUlQgfHwKKyAgICAgICAgICBuYXRpb25hbE51bWJlciA9PSAwKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAgICB9IHdoaWxlICghaXNWYWxpZE51bWJlcihudW1iZXJDb3B5KSk7CisgICAgbnVtYmVyLnNldE5hdGlvbmFsTnVtYmVyKG5hdGlvbmFsTnVtYmVyKTsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorCisgIC8qKgogICAgKiBHZXRzIGFuIEFzWW91VHlwZUZvcm1hdHRlciBmb3IgdGhlIHNwZWNpZmljIGNvdW50cnkuIE5vdGUgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IGF0dGVtcHQgdG8KICAgICogZmlndXJlIG91dCB0aGUgdHlwZXMgb2YgcGhvbmUgbnVtYmVyIGJlaW5nIGVudGVyZWQgb24gdGhlIGZseSBkdWUgdG8gcGVyZm9ybWFuY2UgcmVhc29ucy4KICAgICogSW5zdGVhZCwgaXQgdHJpZXMgdG8gYXBwbHkgYSBzdGFuZGFyZCBmb3JtYXQgdG8gYWxsIHR5cGVzIG9mIHBob25lIG51bWJlcnMuIEZvciBjb3VudHJpZXMKQEAgLTEzOTYsNyArMTQzNiw4IEBACiAgIC8vIDAgaWYgZnVsbE51bWJlciBkb2Vzbid0IHN0YXJ0IHdpdGggYSB2YWxpZCBjb3VudHJ5IGNvZGUsIGFuZCBsZWF2ZXMgbmF0aW9uYWxOdW1iZXIgdW5tb2RpZmllZC4KICAgaW50IGV4dHJhY3RDb3VudHJ5Q29kZShTdHJpbmdCdWZmZXIgZnVsbE51bWJlciwgU3RyaW5nQnVmZmVyIG5hdGlvbmFsTnVtYmVyKSB7CiAgICAgaW50IHBvdGVudGlhbENvdW50cnlDb2RlOwotICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IDM7IGkrKykgeworICAgIGludCBudW1iZXJMZW5ndGggPSBmdWxsTnVtYmVyLmxlbmd0aCgpOworICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IDMgJiYgaSA8PSBudW1iZXJMZW5ndGg7IGkrKykgewogICAgICAgcG90ZW50aWFsQ291bnRyeUNvZGUgPSBJbnRlZ2VyLnBhcnNlSW50KGZ1bGxOdW1iZXIuc3Vic3RyaW5nKDAsIGkpKTsKICAgICAgIGlmIChjb3VudHJ5Q29kZVRvUmVnaW9uQ29kZU1hcC5jb250YWluc0tleShwb3RlbnRpYWxDb3VudHJ5Q29kZSkpIHsKICAgICAgICAgbmF0aW9uYWxOdW1iZXIuYXBwZW5kKGZ1bGxOdW1iZXIuc3Vic3RyaW5nKGkpKTsKQEAgLTE0NzIsOSArMTUxMyw5IEBACiAgICAgfSBlbHNlIGlmIChkZWZhdWx0UmVnaW9uTWV0YWRhdGEgIT0gbnVsbCkgewogICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBudW1iZXIgaXMgdmFsaWQgZm9yIHRoZSBkZWZhdWx0IHJlZ2lvbiBhbHJlYWR5LiBJZiBub3QsIHdlIGNoZWNrIHRvCiAgICAgICAvLyBzZWUgaWYgdGhlIGNvdW50cnkgY29kZSBmb3IgdGhlIGRlZmF1bHQgcmVnaW9uIGlzIHByZXNlbnQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBudW1iZXIuCisgICAgICBQaG9uZU51bWJlckRlc2MgZ2VuZXJhbERlc2MgPSBkZWZhdWx0UmVnaW9uTWV0YWRhdGEuZ2V0R2VuZXJhbERlc2MoKTsKICAgICAgIFBhdHRlcm4gdmFsaWROdW1iZXJQYXR0ZXJuID0KLSAgICAgICAgICByZWdleENhY2hlLmdldFBhdHRlcm5Gb3JSZWdleChkZWZhdWx0UmVnaW9uTWV0YWRhdGEuZ2V0R2VuZXJhbERlc2MoKQotICAgICAgICAgICAgICAuZ2V0TmF0aW9uYWxOdW1iZXJQYXR0ZXJuKCkpOworICAgICAgICAgIHJlZ2V4Q2FjaGUuZ2V0UGF0dGVybkZvclJlZ2V4KGdlbmVyYWxEZXNjLmdldE5hdGlvbmFsTnVtYmVyUGF0dGVybigpKTsKICAgICAgIGlmICghdmFsaWROdW1iZXJQYXR0ZXJuLm1hdGNoZXIoZnVsbE51bWJlcikubWF0Y2hlcygpKSB7CiAgICAgICAgIGludCBkZWZhdWx0Q291bnRyeUNvZGUgPSBkZWZhdWx0UmVnaW9uTWV0YWRhdGEuZ2V0Q291bnRyeUNvZGUoKTsKICAgICAgICAgU3RyaW5nIGRlZmF1bHRDb3VudHJ5Q29kZVN0cmluZyA9IFN0cmluZy52YWx1ZU9mKGRlZmF1bHRDb3VudHJ5Q29kZSk7CkBAIC0xNDg4LDcgKzE1MjksMTQgQEAKICAgICAgICAgICAgICAgZGVmYXVsdFJlZ2lvbk1ldGFkYXRhLmdldE5hdGlvbmFsUHJlZml4Rm9yUGFyc2luZygpLAogICAgICAgICAgICAgICBkZWZhdWx0UmVnaW9uTWV0YWRhdGEuZ2V0TmF0aW9uYWxQcmVmaXhUcmFuc2Zvcm1SdWxlKCksCiAgICAgICAgICAgICAgIHZhbGlkTnVtYmVyUGF0dGVybik7Ci0gICAgICAgICAgaWYgKHZhbGlkTnVtYmVyUGF0dGVybi5tYXRjaGVyKHBvdGVudGlhbE5hdGlvbmFsTnVtYmVyKS5tYXRjaGVzKCkpIHsKKyAgICAgICAgICBNYXRjaGVyIHBvc3NpYmxlTnVtYmVyTWF0Y2hlciA9CisgICAgICAgICAgICAgIHJlZ2V4Q2FjaGUuZ2V0UGF0dGVybkZvclJlZ2V4KGdlbmVyYWxEZXNjLmdldFBvc3NpYmxlTnVtYmVyUGF0dGVybigpKS5tYXRjaGVyKAorICAgICAgICAgICAgICAgICAgcG90ZW50aWFsTmF0aW9uYWxOdW1iZXIpOworICAgICAgICAgIC8vIElmIHRoZSByZXN1bHRhbnQgbnVtYmVyIGlzIGVpdGhlciB2YWxpZCwgb3Igc3RpbGwgdG9vIGxvbmcgZXZlbiB3aXRoIHRoZSBjb3VudHJ5IGNvZGUKKyAgICAgICAgICAvLyBzdHJpcHBlZCwgd2UgY29uc2lkZXIgdGhpcyBhIGJldHRlciByZXN1bHQgYW5kIGtlZXAgdGhlIHBvdGVudGlhbCBuYXRpb25hbCBudW1iZXIuCisgICAgICAgICAgaWYgKHZhbGlkTnVtYmVyUGF0dGVybi5tYXRjaGVyKHBvdGVudGlhbE5hdGlvbmFsTnVtYmVyKS5tYXRjaGVzKCkgfHwKKyAgICAgICAgICAgICAgKHBvc3NpYmxlTnVtYmVyTWF0Y2hlci5sb29raW5nQXQoKSAmJgorICAgICAgICAgICAgICAgcG9zc2libGVOdW1iZXJNYXRjaGVyLmVuZCgpICE9IHBvdGVudGlhbE5hdGlvbmFsTnVtYmVyLmxlbmd0aCgpKSkgewogICAgICAgICAgICAgbmF0aW9uYWxOdW1iZXIuYXBwZW5kKHBvdGVudGlhbE5hdGlvbmFsTnVtYmVyKTsKICAgICAgICAgICAgIGlmIChzdG9yZUNvdW50cnlDb2RlU291cmNlKSB7CiAgICAgICAgICAgICAgIHBob25lTnVtYmVyLnNldENvdW50cnlDb2RlU291cmNlKENvdW50cnlDb2RlU291cmNlLkZST01fTlVNQkVSX1dJVEhPVVRfUExVU19TSUdOKTsKZGlmZiAtLWdpdCBhL2phdmEvc3JjL2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvUGhvbmVtZXRhZGF0YS5qYXZhIGIvamF2YS9zcmMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9QaG9uZW1ldGFkYXRhLmphdmEKaW5kZXggMDkwMjJiYi4uYTZhOTFkOCAxMDA2NDQKLS0tIGEvamF2YS9zcmMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9QaG9uZW1ldGFkYXRhLmphdmEKKysrIGIvamF2YS9zcmMvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9QaG9uZW1ldGFkYXRhLmphdmEKQEAgLTU1LDE0ICs1NSwyMCBAQAogICAgICAgcmV0dXJuIHRoaXM7CiAgICAgfQogCi0gICAgLy8gb3B0aW9uYWwgc3RyaW5nIGxlYWRpbmdfZGlnaXRzID0gMzsKLSAgICBwcml2YXRlIGJvb2xlYW4gaGFzTGVhZGluZ0RpZ2l0czsKLSAgICBwcml2YXRlIFN0cmluZyBsZWFkaW5nRGlnaXRzXyA9ICIiOwotICAgIHB1YmxpYyBib29sZWFuIGhhc0xlYWRpbmdEaWdpdHMoKSB7IHJldHVybiBoYXNMZWFkaW5nRGlnaXRzOyB9Ci0gICAgcHVibGljIFN0cmluZyBnZXRMZWFkaW5nRGlnaXRzKCkgeyByZXR1cm4gbGVhZGluZ0RpZ2l0c187IH0KLSAgICBwdWJsaWMgTnVtYmVyRm9ybWF0IHNldExlYWRpbmdEaWdpdHMoU3RyaW5nIHZhbHVlKSB7Ci0gICAgICBoYXNMZWFkaW5nRGlnaXRzID0gdHJ1ZTsKLSAgICAgIGxlYWRpbmdEaWdpdHNfID0gdmFsdWU7CisgICAgLy8gcmVwZWF0ZWQgc3RyaW5nIGxlYWRpbmdfZGlnaXRzX3BhdHRlcm4gPSAzOworICAgIHByaXZhdGUgamF2YS51dGlsLkxpc3Q8U3RyaW5nPiBsZWFkaW5nRGlnaXRzUGF0dGVybl8gPSBuZXcgamF2YS51dGlsLkFycmF5TGlzdDxTdHJpbmc+KCk7CisgICAgcHVibGljIGphdmEudXRpbC5MaXN0PFN0cmluZz4gZ2V0TGVhZGluZ0RpZ2l0c1BhdHRlcm5MaXN0KCkgeworICAgICAgcmV0dXJuIGxlYWRpbmdEaWdpdHNQYXR0ZXJuXzsKKyAgICB9CisgICAgcHVibGljIGludCBnZXRMZWFkaW5nRGlnaXRzUGF0dGVybkNvdW50KCkgeyByZXR1cm4gbGVhZGluZ0RpZ2l0c1BhdHRlcm5fLnNpemUoKTsgfQorICAgIHB1YmxpYyBTdHJpbmcgZ2V0TGVhZGluZ0RpZ2l0c1BhdHRlcm4oaW50IGluZGV4KSB7CisgICAgICByZXR1cm4gbGVhZGluZ0RpZ2l0c1BhdHRlcm5fLmdldChpbmRleCk7CisgICAgfQorICAgIHB1YmxpYyBOdW1iZXJGb3JtYXQgYWRkTGVhZGluZ0RpZ2l0c1BhdHRlcm4oU3RyaW5nIHZhbHVlKSB7CisgICAgICBpZiAodmFsdWUgPT0gbnVsbCkgeworICAgICAgICB0aHJvdyBuZXcgTnVsbFBvaW50ZXJFeGNlcHRpb24oKTsKKyAgICAgIH0KKyAgICAgIGxlYWRpbmdEaWdpdHNQYXR0ZXJuXy5hZGQodmFsdWUpOwogICAgICAgcmV0dXJuIHRoaXM7CiAgICAgfQogCkBAIC03Niw2ICs4MiwxMSBAQAogICAgICAgbmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZV8gPSB2YWx1ZTsKICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KKyAgICBwdWJsaWMgTnVtYmVyRm9ybWF0IGNsZWFyTmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZSgpIHsKKyAgICAgIGhhc05hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGUgPSBmYWxzZTsKKyAgICAgIG5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGVfID0gIiI7CisgICAgICByZXR1cm4gdGhpczsKKyAgICB9CiAKICAgICAvLyBvcHRpb25hbCBzdHJpbmcgZG9tZXN0aWNfY2Fycmllcl9jb2RlX2Zvcm1hdHRpbmdfcnVsZSA9IDU7CiAgICAgcHJpdmF0ZSBib29sZWFuIGhhc0RvbWVzdGljQ2FycmllckNvZGVGb3JtYXR0aW5nUnVsZTsKQEAgLTkwLDEzICsxMDEsMzUgQEAKICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KIAorICAgIHB1YmxpYyBOdW1iZXJGb3JtYXQgbWVyZ2VGcm9tKE51bWJlckZvcm1hdCBvdGhlcikgeworICAgICAgaWYgKG90aGVyLmhhc1BhdHRlcm4oKSkgeworICAgICAgICBzZXRQYXR0ZXJuKG90aGVyLmdldFBhdHRlcm4oKSk7CisgICAgICB9CisgICAgICBpZiAob3RoZXIuaGFzRm9ybWF0KCkpIHsKKyAgICAgICAgc2V0Rm9ybWF0KG90aGVyLmdldEZvcm1hdCgpKTsKKyAgICAgIH0KKyAgICAgIGludCBsZWFkaW5nRGlnaXRzUGF0dGVyblNpemUgPSBvdGhlci5nZXRMZWFkaW5nRGlnaXRzUGF0dGVybkNvdW50KCk7CisgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlYWRpbmdEaWdpdHNQYXR0ZXJuU2l6ZTsgaSsrKSB7CisgICAgICAgIGFkZExlYWRpbmdEaWdpdHNQYXR0ZXJuKG90aGVyLmdldExlYWRpbmdEaWdpdHNQYXR0ZXJuKGkpKTsKKyAgICAgIH0KKyAgICAgIGlmIChvdGhlci5oYXNOYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlKCkpIHsKKyAgICAgICAgc2V0TmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZShvdGhlci5nZXROYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlKCkpOworICAgICAgfQorICAgICAgaWYgKG90aGVyLmhhc0RvbWVzdGljQ2FycmllckNvZGVGb3JtYXR0aW5nUnVsZSgpKSB7CisgICAgICAgIHNldERvbWVzdGljQ2FycmllckNvZGVGb3JtYXR0aW5nUnVsZShvdGhlci5nZXREb21lc3RpY0NhcnJpZXJDb2RlRm9ybWF0dGluZ1J1bGUoKSk7CisgICAgICB9CisgICAgICByZXR1cm4gdGhpczsKKyAgICB9CisKICAgICBwdWJsaWMgdm9pZCB3cml0ZUV4dGVybmFsKE9iamVjdE91dHB1dCBvYmplY3RPdXRwdXQpIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICBvYmplY3RPdXRwdXQud3JpdGVVVEYocGF0dGVybl8pOwogICAgICAgb2JqZWN0T3V0cHV0LndyaXRlVVRGKGZvcm1hdF8pOwotICAgICAgb2JqZWN0T3V0cHV0LndyaXRlQm9vbGVhbihoYXNMZWFkaW5nRGlnaXRzKTsKLSAgICAgIGlmIChoYXNMZWFkaW5nRGlnaXRzKSB7Ci0gICAgICAgIG9iamVjdE91dHB1dC53cml0ZVVURihsZWFkaW5nRGlnaXRzXyk7CisgICAgICBpbnQgbGVhZGluZ0RpZ2l0c1BhdHRlcm5TaXplID0gZ2V0TGVhZGluZ0RpZ2l0c1BhdHRlcm5Db3VudCgpOworICAgICAgb2JqZWN0T3V0cHV0LndyaXRlSW50KGxlYWRpbmdEaWdpdHNQYXR0ZXJuU2l6ZSk7CisgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlYWRpbmdEaWdpdHNQYXR0ZXJuU2l6ZTsgaSsrKSB7CisgICAgICAgIG9iamVjdE91dHB1dC53cml0ZVVURihsZWFkaW5nRGlnaXRzUGF0dGVybl8uZ2V0KGkpKTsKICAgICAgIH0KKwogICAgICAgb2JqZWN0T3V0cHV0LndyaXRlQm9vbGVhbihoYXNOYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlKTsKICAgICAgIGlmIChoYXNOYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlKSB7CiAgICAgICAgIG9iamVjdE91dHB1dC53cml0ZVVURihuYXRpb25hbFByZWZpeEZvcm1hdHRpbmdSdWxlXyk7CkBAIC0xMTAsOCArMTQzLDkgQEAKICAgICBwdWJsaWMgdm9pZCByZWFkRXh0ZXJuYWwoT2JqZWN0SW5wdXQgb2JqZWN0SW5wdXQpIHRocm93cyBJT0V4Y2VwdGlvbiwgQ2xhc3NOb3RGb3VuZEV4Y2VwdGlvbiB7CiAgICAgICBzZXRQYXR0ZXJuKG9iamVjdElucHV0LnJlYWRVVEYoKSk7CiAgICAgICBzZXRGb3JtYXQob2JqZWN0SW5wdXQucmVhZFVURigpKTsKLSAgICAgIGlmIChvYmplY3RJbnB1dC5yZWFkQm9vbGVhbigpKSB7Ci0gICAgICAgIHNldExlYWRpbmdEaWdpdHMob2JqZWN0SW5wdXQucmVhZFVURigpKTsKKyAgICAgIGludCBsZWFkaW5nRGlnaXRzUGF0dGVyblNpemUgPSBvYmplY3RJbnB1dC5yZWFkSW50KCk7CisgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGxlYWRpbmdEaWdpdHNQYXR0ZXJuU2l6ZTsgaSsrKSB7CisgICAgICAgIGxlYWRpbmdEaWdpdHNQYXR0ZXJuXy5hZGQob2JqZWN0SW5wdXQucmVhZFVURigpKTsKICAgICAgIH0KICAgICAgIGlmIChvYmplY3RJbnB1dC5yZWFkQm9vbGVhbigpKSB7CiAgICAgICAgIHNldE5hdGlvbmFsUHJlZml4Rm9ybWF0dGluZ1J1bGUob2JqZWN0SW5wdXQucmVhZFVURigpKTsKZGlmZiAtLWdpdCBhL2phdmEvdGVzdC9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL0FzWW91VHlwZUZvcm1hdHRlclRlc3QuamF2YSBiL2phdmEvdGVzdC9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL0FzWW91VHlwZUZvcm1hdHRlclRlc3QuamF2YQppbmRleCA5YjI5NDA3Li5hNjE1NTI4IDEwMDY0NAotLS0gYS9qYXZhL3Rlc3QvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9Bc1lvdVR5cGVGb3JtYXR0ZXJUZXN0LmphdmEKKysrIGIvamF2YS90ZXN0L2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvQXNZb3VUeXBlRm9ybWF0dGVyVGVzdC5qYXZhCkBAIC00MCwxNSArNDAsMTYgQEAKICAgICBwaG9uZVV0aWwgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoaW4pOwogICB9CiAKLSAgcHVibGljIHZvaWQgdGVzdEFzWW91VHlwZUZvcm1hdHRlclVTKCkgeworICBwdWJsaWMgdm9pZCB0ZXN0QVlURlVTKCkgewogICAgIEFzWW91VHlwZUZvcm1hdHRlciBmb3JtYXR0ZXIgPSBwaG9uZVV0aWwuZ2V0QXNZb3VUeXBlRm9ybWF0dGVyKCJVUyIpOwogICAgIGFzc2VydEVxdWFscygiNiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc2JykpOwogICAgIGFzc2VydEVxdWFscygiNjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwotICAgIGFzc2VydEVxdWFscygiNjUwMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwotICAgIGFzc2VydEVxdWFscygiNjUwMjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjY1MCAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCI2NTAgMjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMgMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOworICAgIC8vIE5vdGUgdGhpcyBpcyBob3cgYSBVUyBsb2NhbCBudW1iZXIgKHdpdGhvdXQgYXJlYSBjb2RlKSBzaG91bGQgYmUgZm9ybWF0dGVkLgorICAgIGFzc2VydEVxdWFscygiNjUwIDI1MzIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMgMjIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMgMjIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCI2NTAgMjUzIDIyMjIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKQEAgLTU2LDkgKzU3LDkgQEAKICAgICBmb3JtYXR0ZXIuY2xlYXIoKTsKICAgICBhc3NlcnRFcXVhbHMoIjEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjE2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzYnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIxNjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjE2NTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjE2NTAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIxIDY1IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzUnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIxIDY1MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMSA2NTAgMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwogICAgIGFzc2VydEVxdWFscygiMSA2NTAgMjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjEgNjUwIDI1MyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCczJykpOwogICAgIGFzc2VydEVxdWFscygiMSA2NTAgMjUzIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKQEAgLTY5LDEyICs3MCwxMiBAQAogICAgIGZvcm1hdHRlci5jbGVhcigpOwogICAgIGFzc2VydEVxdWFscygiMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICAgIGFzc2VydEVxdWFscygiMDEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAxMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiMDExNCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc0JykpOwotICAgIGFzc2VydEVxdWFscygiMDExNDQiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSA0IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNDQgIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNDQgNiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc2JykpOwogICAgIGFzc2VydEVxdWFscygiMDExIDQ0IDYxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwMTEgNDQgNjEyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNDQgNiAxMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwogICAgIGFzc2VydEVxdWFscygiMDExIDQ0IDYgMTIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNDQgNiAxMjMgMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwogICAgIGFzc2VydEVxdWFscygiMDExIDQ0IDYgMTIzIDEyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CkBAIC04NiwxNCArODcsMTMgQEAKICAgICBmb3JtYXR0ZXIuY2xlYXIoKTsKICAgICBhc3NlcnRFcXVhbHMoIjAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwMTEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAxMTUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAxMTU0IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOworICAgIGFzc2VydEVxdWFscygiMDExIDU0ICIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc0JykpOwogICAgIGFzc2VydEVxdWFscygiMDExIDU0IDkiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMSA1NCA5MSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiMDExIDU0IDkxMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiMDExIDU0IDkgMTEgMiIsCi0gICAgICAgICAgICAgICAgIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOworICAgIGFzc2VydEVxdWFscygiMDExIDU0IDkgMTEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSA1NCA5IDExIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMSA1NCA5IDExIDIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNTQgOSAxMSAyMzEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMSA1NCA5IDExIDIzMTIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKQEAgLTEwMywxMiArMTAzLDI5IEBACiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNTQgOSAxMSAyMzEyIDEyMzQiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNCcpKTsKIAogICAgIGZvcm1hdHRlci5jbGVhcigpOworICAgIGFzc2VydEVxdWFscygiMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgMjQiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSAyNDQgIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgMjQ0IDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSAyNDQgMjgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSAyNDQgMjgwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgMjQ0IDI4MCAwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgMjQ0IDI4MCAwMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDExIDI0NCAyODAgMDAwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgMjQ0IDI4MCAwMDAgMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDExIDI0NCAyODAgMDAwIDAwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgMjQ0IDI4MCAwMDAgMDAwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CisKKyAgICBmb3JtYXR0ZXIuY2xlYXIoKTsKICAgICBhc3NlcnRFcXVhbHMoIisiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnKycpKTsKICAgICBhc3NlcnRFcXVhbHMoIis0IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrNDgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIis0ODgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIis0ODg4IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzgnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrNDggODgxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrNDggIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzgnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrNDggOCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc4JykpOworICAgIGFzc2VydEVxdWFscygiKzQ4IDg4IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzgnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrNDggODggMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwogICAgIGFzc2VydEVxdWFscygiKzQ4IDg4IDEyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrNDggODggMTIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrNDggODggMTIzIDEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKQEAgLTExNywyMSArMTM0LDIxIEBACiAgICAgYXNzZXJ0RXF1YWxzKCIrNDggODggMTIzIDEyIDEyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgIH0KIAotICBwdWJsaWMgdm9pZCB0ZXN0QXNZb3VUeXBlRm9ybWF0dGVyVVNGdWxsV2lkdGhDaGFyYWN0ZXJzKCkgeworICBwdWJsaWMgdm9pZCB0ZXN0QVlURlVTRnVsbFdpZHRoQ2hhcmFjdGVycygpIHsKICAgICBBc1lvdVR5cGVGb3JtYXR0ZXIgZm9ybWF0dGVyID0gcGhvbmVVdGlsLmdldEFzWW91VHlwZUZvcm1hdHRlcigiVVMiKTsKICAgICBhc3NlcnRFcXVhbHMoIlx1RkYxNiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCdcdUZGMTYnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCJcdUZGMTZcdUZGMTUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnXHVGRjE1JykpOwotICAgIGFzc2VydEVxdWFscygiXHVGRjE2XHVGRjE1XHVGRjEwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJ1x1RkYxMCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIlx1RkYxNlx1RkYxNVx1RkYxMFx1RkYxMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCdcdUZGMTInKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCJcdUZGMTZcdUZGMTVcdUZGMTBcdUZGMTJcdUZGMTUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnXHVGRjE1JykpOworICAgIGFzc2VydEVxdWFscygiNjUwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJ1x1RkYxMCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjY1MCAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJ1x1RkYxMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCdcdUZGMTUnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCI2NTAgMjUzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJ1x1RkYxMycpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMgMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCdcdUZGMTInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCI2NTAgMjUzMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCdcdUZGMTInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCI2NTAgMjUzIDIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJ1x1RkYxMicpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMgMjIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJ1x1RkYxMicpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMgMjIyMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCdcdUZGMTInKSk7CiAgIH0KIAotICBwdWJsaWMgdm9pZCB0ZXN0QXNZb3VUeXBlRm9ybWF0dGVyVVNNb2JpbGVTaG9ydENvZGUoKSB7CisgIHB1YmxpYyB2b2lkIHRlc3RBWVRGVVNNb2JpbGVTaG9ydENvZGUoKSB7CiAgICAgQXNZb3VUeXBlRm9ybWF0dGVyIGZvcm1hdHRlciA9IHBob25lVXRpbC5nZXRBc1lvdVR5cGVGb3JtYXR0ZXIoIlVTIik7CiAgICAgYXNzZXJ0RXF1YWxzKCIqIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJyonKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIqMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwpAQCAtMTQwLDcgKzE1Nyw3IEBACiAgICAgYXNzZXJ0RXF1YWxzKCIqMTIxIyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcjJykpOwogICB9CiAKLSAgcHVibGljIHZvaWQgdGVzdEFzWW91VHlwZUZvcm1hdHRlclVTVmFuaXR5TnVtYmVyKCkgeworICBwdWJsaWMgdm9pZCB0ZXN0QVlURlVTVmFuaXR5TnVtYmVyKCkgewogICAgIEFzWW91VHlwZUZvcm1hdHRlciBmb3JtYXR0ZXIgPSBwaG9uZVV0aWwuZ2V0QXNZb3VUeXBlRm9ybWF0dGVyKCJVUyIpOwogICAgIGFzc2VydEVxdWFscygiOCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc4JykpOwogICAgIGFzc2VydEVxdWFscygiODAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKQEAgLTE1NiwxNiArMTczLDE2IEBACiAgICAgYXNzZXJ0RXF1YWxzKCI4MDAgTVkgQVBQTEUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnRScpKTsKICAgfQogCi0gIHB1YmxpYyB2b2lkIHRlc3RBc1lvdVR5cGVGb3JtYXR0ZXJBbmRSZW1lbWJlclBvc2l0aW9uVVMoKSB7CisgIHB1YmxpYyB2b2lkIHRlc3RBWVRGQW5kUmVtZW1iZXJQb3NpdGlvblVTKCkgewogICAgIEFzWW91VHlwZUZvcm1hdHRlciBmb3JtYXR0ZXIgPSBwaG9uZVV0aWwuZ2V0QXNZb3VUeXBlRm9ybWF0dGVyKCJVUyIpOwogICAgIGFzc2VydEVxdWFscygiMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0QW5kUmVtZW1iZXJQb3NpdGlvbignMScpKTsKICAgICBhc3NlcnRFcXVhbHMoMSwgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKICAgICBhc3NlcnRFcXVhbHMoIjE2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzYnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIxNjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjEgNjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKICAgICBhc3NlcnRFcXVhbHMoMSwgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjE2NTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdEFuZFJlbWVtYmVyUG9zaXRpb24oJzAnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKDQsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIxNjUwMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOworICAgIGFzc2VydEVxdWFscygiMSA2NTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdEFuZFJlbWVtYmVyUG9zaXRpb24oJzAnKSk7CisgICAgYXNzZXJ0RXF1YWxzKDUsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIxIDY1MCAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIxIDY1MCAyNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOwogICAgIC8vIE5vdGUgdGhlIHJlbWVtYmVyZWQgcG9zaXRpb24gZm9yIGRpZ2l0ICIwIiBjaGFuZ2VzIGZyb20gNCB0byA1LCBiZWNhdXNlIGEgc3BhY2UgaXMgbm93CiAgICAgLy8gaW5zZXJ0ZWQgaW4gdGhlIGZyb250LgpAQCAtMTg1LDM5ICsyMDIsNDAgQEAKIAogICAgIGZvcm1hdHRlci5jbGVhcigpOwogICAgIGFzc2VydEVxdWFscygiMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiMTYiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNicpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjE2NSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0QW5kUmVtZW1iZXJQb3NpdGlvbignNScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjE2NTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjE2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXRBbmRSZW1lbWJlclBvc2l0aW9uKCc2JykpOworICAgIGFzc2VydEVxdWFscygyLCBmb3JtYXR0ZXIuZ2V0UmVtZW1iZXJlZFBvc2l0aW9uKCkpOworICAgIGFzc2VydEVxdWFscygiMSA2NSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOworICAgIGFzc2VydEVxdWFscygiMSA2NTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgICBhc3NlcnRFcXVhbHMoMywgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjE2NTAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIxIDY1MCAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIxIDY1MCAyNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOwotICAgIGFzc2VydEVxdWFscyg0LCBmb3JtYXR0ZXIuZ2V0UmVtZW1iZXJlZFBvc2l0aW9uKCkpOworICAgIGFzc2VydEVxdWFscygzLCBmb3JtYXR0ZXIuZ2V0UmVtZW1iZXJlZFBvc2l0aW9uKCkpOwogICAgIGFzc2VydEVxdWFscygiMSA2NTAgMjUzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIxIDY1MCAyNTMgMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwogICAgIGFzc2VydEVxdWFscygiMSA2NTAgMjUzIDIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKDQsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CisgICAgYXNzZXJ0RXF1YWxzKDMsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIxIDY1MCAyNTMgMjIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIxIDY1MCAyNTMgMjIyMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwogICAgIGFzc2VydEVxdWFscygiMTY1MDI1MzIyMjIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKDMsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CisgICAgYXNzZXJ0RXF1YWxzKDIsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIxNjUwMjUzMjIyMjIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKDMsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CisgICAgYXNzZXJ0RXF1YWxzKDIsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CiAKICAgICBmb3JtYXR0ZXIuY2xlYXIoKTsKICAgICBhc3NlcnRFcXVhbHMoIjYiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNicpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzUnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCI2NTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjY1MDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjY1MDI1IiwgZm9ybWF0dGVyLmlucHV0RGlnaXRBbmRSZW1lbWJlclBvc2l0aW9uKCc1JykpOwotICAgIGFzc2VydEVxdWFscyg1LCBmb3JtYXR0ZXIuZ2V0UmVtZW1iZXJlZFBvc2l0aW9uKCkpOworICAgIGFzc2VydEVxdWFscygiNjUwIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOwogICAgIGFzc2VydEVxdWFscygiNjUwIDI1MyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCczJykpOwotICAgIGFzc2VydEVxdWFscyg2LCBmb3JtYXR0ZXIuZ2V0UmVtZW1iZXJlZFBvc2l0aW9uKCkpOwotICAgIGFzc2VydEVxdWFscygiNjUwIDI1MyAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCI2NTAgMjUzMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0QW5kUmVtZW1iZXJQb3NpdGlvbignMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoOCwgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMgMjIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoOSwgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKICAgICBhc3NlcnRFcXVhbHMoIjY1MCAyNTMgMjIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgLy8gTm8gbW9yZSBmb3JtYXR0aW5nIHdoZW4gc2VtaWNvbG9uIGlzIGVudGVyZWQuCiAgICAgYXNzZXJ0RXF1YWxzKCI2NTAyNTMyMjI7IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzsnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKDUsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CisgICAgYXNzZXJ0RXF1YWxzKDcsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCI2NTAyNTMyMjI7MiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwogCiAgICAgZm9ybWF0dGVyLmNsZWFyKCk7CkBAIC0yNDEsMTQgKzI1OSwxNCBAQAogICAgIGZvcm1hdHRlci5jbGVhcigpOwogICAgIGFzc2VydEVxdWFscygiMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICAgIGFzc2VydEVxdWFscygiMDEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAxMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiMDExNCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0QW5kUmVtZW1iZXJQb3NpdGlvbignNCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAxMTQ4IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzgnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKDQsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0QW5kUmVtZW1iZXJQb3NpdGlvbignNCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSA0OCAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoNSwgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMSA0OCA4IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzgnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKDUsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNDggODgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAxMSA0OCA4ODEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSA0OCA4OCAxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNDggODggMTIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKICAgICBhc3NlcnRFcXVhbHMoNSwgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMSA0OCA4OCAxMjMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKQEAgLTI2MCwxMCArMjc4LDEwIEBACiAgICAgZm9ybWF0dGVyLmNsZWFyKCk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJysnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiKzE2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXRBbmRSZW1lbWJlclBvc2l0aW9uKCc2JykpOwotICAgIGFzc2VydEVxdWFscygiKzE2NSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOwotICAgIGFzc2VydEVxdWFscygiKzE2NTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoMywgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKKyAgICBhc3NlcnRFcXVhbHMoIisxIDYiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdEFuZFJlbWVtYmVyUG9zaXRpb24oJzYnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrMSA2NSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOworICAgIGFzc2VydEVxdWFscygiKzEgNjUwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CisgICAgYXNzZXJ0RXF1YWxzKDQsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrMSA2NTAgMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwogICAgIGFzc2VydEVxdWFscyg0LCBmb3JtYXR0ZXIuZ2V0UmVtZW1iZXJlZFBvc2l0aW9uKCkpOwogICAgIGFzc2VydEVxdWFscygiKzEgNjUwIDI1IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzUnKSk7CkBAIC0yNzYsMTAgKzI5NCwxMCBAQAogICAgIGZvcm1hdHRlci5jbGVhcigpOwogICAgIGFzc2VydEVxdWFscygiKyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcrJykpOwogICAgIGFzc2VydEVxdWFscygiKzEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIisxNiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0QW5kUmVtZW1iZXJQb3NpdGlvbignNicpKTsKLSAgICBhc3NlcnRFcXVhbHMoIisxNjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIisxNjUwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKDMsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrMSA2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXRBbmRSZW1lbWJlclBvc2l0aW9uKCc2JykpOworICAgIGFzc2VydEVxdWFscygiKzEgNjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIisxIDY1MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscyg0LCBmb3JtYXR0ZXIuZ2V0UmVtZW1iZXJlZFBvc2l0aW9uKCkpOwogICAgIGFzc2VydEVxdWFscygiKzEgNjUwIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKICAgICBhc3NlcnRFcXVhbHMoNCwgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKICAgICBhc3NlcnRFcXVhbHMoIisxIDY1MCAyNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOwpAQCAtMjkxLDE0ICszMDksMTQgQEAKICAgICBhc3NlcnRFcXVhbHMoMywgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKICAgfQogCi0gIHB1YmxpYyB2b2lkIHRlc3RBc1lvdVR5cGVGb3JtYXR0ZXJHQkZpeGVkTGluZSgpIHsKKyAgcHVibGljIHZvaWQgdGVzdEFZVEZHQkZpeGVkTGluZSgpIHsKICAgICBBc1lvdVR5cGVGb3JtYXR0ZXIgZm9ybWF0dGVyID0gcGhvbmVVdGlsLmdldEFzWW91VHlwZUZvcm1hdHRlcigiR0IiKTsKICAgICBhc3NlcnRFcXVhbHMoIjAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMjAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAyMDciLCBmb3JtYXR0ZXIuaW5wdXREaWdpdEFuZFJlbWVtYmVyUG9zaXRpb24oJzcnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKDQsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwMjA3MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDIwIDciLCBmb3JtYXR0ZXIuaW5wdXREaWdpdEFuZFJlbWVtYmVyUG9zaXRpb24oJzcnKSk7CisgICAgYXNzZXJ0RXF1YWxzKDUsIGZvcm1hdHRlci5nZXRSZW1lbWJlcmVkUG9zaXRpb24oKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMjAgNzAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAyMCA3MDMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKICAgICBhc3NlcnRFcXVhbHMoNSwgZm9ybWF0dGVyLmdldFJlbWVtYmVyZWRQb3NpdGlvbigpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAyMCA3MDMxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CkBAIC0zMDgsMTMgKzMyNiwxMyBAQAogICAgIGFzc2VydEVxdWFscygiMDIwIDcwMzEgMzAwMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICB9CiAKLSAgcHVibGljIHZvaWQgdGVzdEFzWW91VHlwZUZvcm1hdHRlckdCVG9sbEZyZWUoKSB7CisgIHB1YmxpYyB2b2lkIHRlc3RBWVRGR0JUb2xsRnJlZSgpIHsKICAgICAgQXNZb3VUeXBlRm9ybWF0dGVyIGZvcm1hdHRlciA9IHBob25lVXRpbC5nZXRBc1lvdVR5cGVGb3JtYXR0ZXIoImdiIik7CiAgICAgYXNzZXJ0RXF1YWxzKCIwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwOCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc4JykpOwogICAgIGFzc2VydEVxdWFscygiMDgwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwODA3IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzcnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwODA3MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDgwIDciLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNycpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjA4MCA3MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICAgIGFzc2VydEVxdWFscygiMDgwIDcwMyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCczJykpOwogICAgIGFzc2VydEVxdWFscygiMDgwIDcwMzEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjA4MCA3MDMxIDMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKQEAgLTMyMywxMyArMzQxLDEzIEBACiAgICAgYXNzZXJ0RXF1YWxzKCIwODAgNzAzMSAzMDAwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CiAgIH0KIAotICBwdWJsaWMgdm9pZCB0ZXN0QXNZb3VUeXBlRm9ybWF0dGVyR0JQcmVtaXVtUmF0ZSgpIHsKKyAgcHVibGljIHZvaWQgdGVzdEFZVEZHQlByZW1pdW1SYXRlKCkgewogICAgIEFzWW91VHlwZUZvcm1hdHRlciBmb3JtYXR0ZXIgPSBwaG9uZVV0aWwuZ2V0QXNZb3VUeXBlRm9ybWF0dGVyKCJHQiIpOwogICAgIGFzc2VydEVxdWFscygiMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICAgIGFzc2VydEVxdWFscygiMDkiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjA5MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwotICAgIGFzc2VydEVxdWFscygiMDkwNyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc3JykpOwotICAgIGFzc2VydEVxdWFscygiMDkwNzAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjA5MCA3IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzcnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwOTAgNzAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgICBhc3NlcnRFcXVhbHMoIjA5MCA3MDMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKICAgICBhc3NlcnRFcXVhbHMoIjA5MCA3MDMxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwOTAgNzAzMSAzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CkBAIC0zMzgsMTMgKzM1NiwxMyBAQAogICAgIGFzc2VydEVxdWFscygiMDkwIDcwMzEgMzAwMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICB9CiAKLSAgcHVibGljIHZvaWQgdGVzdEFzWW91VHlwZUZvcm1hdHRlck5aTW9iaWxlKCkgeworICBwdWJsaWMgdm9pZCB0ZXN0QVlURk5aTW9iaWxlKCkgewogICAgIEFzWW91VHlwZUZvcm1hdHRlciBmb3JtYXR0ZXIgPSBwaG9uZVV0aWwuZ2V0QXNZb3VUeXBlRm9ybWF0dGVyKCJOWiIpOwogICAgIGFzc2VydEVxdWFscygiMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICAgIGFzc2VydEVxdWFscygiMDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAyMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiMDIxMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiMDIxMTIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAyLTExIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMi0xMTIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKICAgICAvLyBOb3RlIHRoZSB1bml0dGVzdCBpcyB1c2luZyBmYWtlIG1ldGFkYXRhIHdoaWNoIG1pZ2h0IHByb2R1Y2Ugbm9uLWlkZWFsIHJlc3VsdHMuCiAgICAgYXNzZXJ0RXF1YWxzKCIwMi0xMTIgMyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCczJykpOwogICAgIGFzc2VydEVxdWFscygiMDItMTEyIDM0IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7CkBAIC0zNTIsMjQgKzM3MCw1MiBAQAogICAgIGFzc2VydEVxdWFscygiMDItMTEyIDM0NTYiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNicpKTsKICAgfQogCi0gIHB1YmxpYyB2b2lkIHRlc3RBc1lvdVR5cGVGb3JtYXR0ZXJERSgpIHsKKyAgcHVibGljIHZvaWQgdGVzdEFZVEZERSgpIHsKICAgICBBc1lvdVR5cGVGb3JtYXR0ZXIgZm9ybWF0dGVyID0gcGhvbmVVdGlsLmdldEFzWW91VHlwZUZvcm1hdHRlcigiREUiKTsKICAgICBhc3NlcnRFcXVhbHMoIjAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMzAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAzMDEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAzMDEyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMzAgMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOworICAgIGFzc2VydEVxdWFscygiMDMwIDEyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMzAgMTIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMzAgMTIzNCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc0JykpOworCisgICAgLy8gMDgwMjEgMjM0NQorICAgIGZvcm1hdHRlci5jbGVhcigpOworICAgIGFzc2VydEVxdWFscygiMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjA4MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDgwMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOworICAgIGFzc2VydEVxdWFscygiMDgwMjEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjA4MDIxIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjA4MDIxIDIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwODAyMSAyMzQiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjA4MDIxIDIzNDUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKKworICAgIC8vIDAwIDEgNjUwIDI1MyAyMjUwCisgICAgZm9ybWF0dGVyLmNsZWFyKCk7CisgICAgYXNzZXJ0RXF1YWxzKCIwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDAgMSAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAwIDEgNiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc2JykpOworICAgIGFzc2VydEVxdWFscygiMDAgMSA2NSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOworICAgIGFzc2VydEVxdWFscygiMDAgMSA2NTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAwIDEgNjUwIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAwIDEgNjUwIDI1IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzUnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMCAxIDY1MCAyNTMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAwIDEgNjUwIDI1MyAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMCAxIDY1MCAyNTMgMjIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAwIDEgNjUwIDI1MyAyMjIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAwIDEgNjUwIDI1MyAyMjIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgIH0KIAotICBwdWJsaWMgdm9pZCB0ZXN0QXNZb3VUeXBlRm9ybWF0dGVyQVIoKSB7CisgIHB1YmxpYyB2b2lkIHRlc3RBWVRGQVIoKSB7CiAgICAgQXNZb3VUeXBlRm9ybWF0dGVyIGZvcm1hdHRlciA9IHBob25lVXRpbC5nZXRBc1lvdVR5cGVGb3JtYXR0ZXIoIkFSIik7CiAgICAgYXNzZXJ0RXF1YWxzKCIwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwogICAgIGFzc2VydEVxdWFscygiMDExIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwMTE3IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzcnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwMTE3MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDExIDciLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNycpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMSA3MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICAgIGFzc2VydEVxdWFscygiMDExIDcwMyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCczJykpOwogICAgIGFzc2VydEVxdWFscygiMDExIDcwMzEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMSA3MDMxLTMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKQEAgLTM3OCwxNSArNDI0LDE2IEBACiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEgNzAzMS0zMDAwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CiAgIH0KIAotICBwdWJsaWMgdm9pZCB0ZXN0QXNZb3VUeXBlRm9ybWF0dGVyQVJNb2JpbGUoKSB7CisgIHB1YmxpYyB2b2lkIHRlc3RBWVRGQVJNb2JpbGUoKSB7CiAgICAgQXNZb3VUeXBlRm9ybWF0dGVyIGZvcm1hdHRlciA9IHBob25lVXRpbC5nZXRBc1lvdVR5cGVGb3JtYXR0ZXIoIkFSIik7CiAgICAgYXNzZXJ0RXF1YWxzKCIrIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJysnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOwotICAgIGFzc2VydEVxdWFscygiKzU0IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrNTQ5IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzknKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrNTQ5MSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiKzU0IDkxMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiKzU0IDkgMTEgMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOworICAgIGFzc2VydEVxdWFscygiKzU0ICIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc0JykpOworICAgIGFzc2VydEVxdWFscygiKzU0IDkiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis1NCA5MSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOworICAgIGFzc2VydEVxdWFscygiKzU0IDkgMTEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis1NCA5IDExIDIiLAorICAgICAgICAgICAgICAgICBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKICAgICBhc3NlcnRFcXVhbHMoIis1NCA5IDExIDIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrNTQgOSAxMSAyMzEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKICAgICBhc3NlcnRFcXVhbHMoIis1NCA5IDExIDIzMTIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKQEAgLTM5NiwxNSArNDQzLDE1IEBACiAgICAgYXNzZXJ0RXF1YWxzKCIrNTQgOSAxMSAyMzEyIDEyMzQiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNCcpKTsKICAgfQogCi0gIHB1YmxpYyB2b2lkIHRlc3RBc1lvdVR5cGVGb3JtYXR0ZXJLUigpIHsKKyAgcHVibGljIHZvaWQgdGVzdEFZVEZLUigpIHsKICAgICAvLyArODIgNTEgMjM0IDU2NzgKICAgICBBc1lvdVR5cGVGb3JtYXR0ZXIgZm9ybWF0dGVyID0gcGhvbmVVdGlsLmdldEFzWW91VHlwZUZvcm1hdHRlcigiS1IiKTsKICAgICBhc3NlcnRFcXVhbHMoIisiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnKycpKTsKICAgICBhc3NlcnRFcXVhbHMoIis4IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzgnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrODIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKLSAgICBhc3NlcnRFcXVhbHMoIis4MjUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIis4MjUxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrODIgNTEyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODIgIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODIgNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOworICAgIGFzc2VydEVxdWFscygiKzgyIDUxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODIgNTEtMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwogICAgIGFzc2VydEVxdWFscygiKzgyIDUxLTIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrODIgNTEtMjM0IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrODIgNTEtMjM0LTUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKQEAgLTQxNiwxMCArNDYzLDEwIEBACiAgICAgZm9ybWF0dGVyLmNsZWFyKCk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJysnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrOCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc4JykpOwotICAgIGFzc2VydEVxdWFscygiKzgyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrODIyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrODIyNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOwotICAgIGFzc2VydEVxdWFscygiKzgyIDI1MyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCczJykpOworICAgIGFzc2VydEVxdWFscygiKzgyICIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOworICAgIGFzc2VydEVxdWFscygiKzgyIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MiAyNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOworICAgIGFzc2VydEVxdWFscygiKzgyIDItNTMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKICAgICBhc3NlcnRFcXVhbHMoIis4MiAyLTUzMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwogICAgIGFzc2VydEVxdWFscygiKzgyIDItNTMxLTUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKICAgICBhc3NlcnRFcXVhbHMoIis4MiAyLTUzMS01NiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc2JykpOwpAQCAtNDMwLDEwICs0NzcsMTAgQEAKICAgICBmb3JtYXR0ZXIuY2xlYXIoKTsKICAgICBhc3NlcnRFcXVhbHMoIisiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnKycpKTsKICAgICBhc3NlcnRFcXVhbHMoIis4IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzgnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrODIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKLSAgICBhc3NlcnRFcXVhbHMoIis4MjIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKLSAgICBhc3NlcnRFcXVhbHMoIis4MjIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIrODIgMjM2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzYnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODIgIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODIgMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOworICAgIGFzc2VydEVxdWFscygiKzgyIDIzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODIgMi0zNiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc2JykpOwogICAgIGFzc2VydEVxdWFscygiKzgyIDItMzY2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzYnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrODIgMi0zNjY1IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzUnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIrODIgMi0zNjY1LTUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKQEAgLTQ0MSwyMSArNDg4LDIxIEBACiAgICAgYXNzZXJ0RXF1YWxzKCIrODIgMi0zNjY1LTU2NyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc3JykpOwogICAgIGFzc2VydEVxdWFscygiKzgyIDItMzY2NS01Njc4IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzgnKSk7CiAKLSAgICAvLyAwMi0xMTQgOiBUaGlzIGlzIHRvbyBzaG9ydCB0byBmb3JtYXQuIENoZWNraW5nIHRoYXQgdGhlcmUgYXJlIG5vIHNpZGUtZWZmZWN0cy4KKyAgICAvLyAwMi0xMTQKICAgICBmb3JtYXR0ZXIuY2xlYXIoKTsKICAgICBhc3NlcnRFcXVhbHMoIjAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMjEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAyMTEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAyMTE0IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMi0xMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOworICAgIGFzc2VydEVxdWFscygiMDItMTE0IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzQnKSk7CiAKICAgICAvLyAwMi0xMzAwCiAgICAgZm9ybWF0dGVyLmNsZWFyKCk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzAnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcyJykpOwogICAgIGFzc2VydEVxdWFscygiMDIxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwMjEzIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzMnKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIwMjEzMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiMDItMTMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAyLTEzMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICAgIGFzc2VydEVxdWFscygiMDItMTMwMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogCiAgICAgLy8gMDExLTQ1Ni03ODkwCkBAIC00NjMsOCArNTEwLDggQEAKICAgICBhc3NlcnRFcXVhbHMoIjAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzEnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAxMTQiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNCcpKTsKLSAgICBhc3NlcnRFcXVhbHMoIjAxMTQ1IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzUnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEtNCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc0JykpOworICAgIGFzc2VydEVxdWFscygiMDExLTQ1IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzUnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEtNDU2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzYnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEtNDU2LTciLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNycpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMS00NTYtNzgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKQEAgLTQ3Niw4ICs1MjMsOCBAQAogICAgIGFzc2VydEVxdWFscygiMCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOwogICAgIGFzc2VydEVxdWFscygiMDEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOwotICAgIGFzc2VydEVxdWFscygiMDExOSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc5JykpOwotICAgIGFzc2VydEVxdWFscygiMDExOTgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIjAxMS05IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzknKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIwMTEtOTgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMS05ODciLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNycpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMS05ODc2IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzYnKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEtOTg3Ni03IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzcnKSk7CkBAIC00ODUsNCArNTMyLDUyIEBACiAgICAgYXNzZXJ0RXF1YWxzKCIwMTEtOTg3Ni03ODkiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOScpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAxMS05ODc2LTc4OTAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMCcpKTsKICAgfQorCisgIHB1YmxpYyB2b2lkIHRlc3RBWVRGTXVsdGlwbGVMZWFkaW5nRGlnaXRQYXR0ZXJucygpIHsKKyAgICAvLyArODEgNTAgMjM0NSA2Nzg5CisgICAgQXNZb3VUeXBlRm9ybWF0dGVyIGZvcm1hdHRlciA9IHBob25lVXRpbC5nZXRBc1lvdVR5cGVGb3JtYXR0ZXIoIkpQIik7CisgICAgYXNzZXJ0RXF1YWxzKCIrIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJysnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrOCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc4JykpOworICAgIGFzc2VydEVxdWFscygiKzgxICIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOworICAgIGFzc2VydEVxdWFscygiKzgxIDUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSA1MCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcwJykpOworICAgIGFzc2VydEVxdWFscygiKzgxIDUwIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSA1MCAyMyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCczJykpOworICAgIGFzc2VydEVxdWFscygiKzgxIDUwIDIzNCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc0JykpOworICAgIGFzc2VydEVxdWFscygiKzgxIDUwIDIzNDUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSA1MCAyMzQ1IDYiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSA1MCAyMzQ1IDY3IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzcnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODEgNTAgMjM0NSA2NzgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSA1MCAyMzQ1IDY3ODkiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOScpKTsKKworICAgIC8vICs4MSAyMjIgMTIgNTY3OAorICAgIGZvcm1hdHRlci5jbGVhcigpOworICAgIGFzc2VydEVxdWFscygiKyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcrJykpOworICAgIGFzc2VydEVxdWFscygiKzgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODEgMjIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAyMiAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODEgMjIgMjEiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAyMjIxIDIiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAyMjIgMTIgNSIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc1JykpOworICAgIGFzc2VydEVxdWFscygiKzgxIDIyMiAxMiA1NiIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc2JykpOworICAgIGFzc2VydEVxdWFscygiKzgxIDIyMiAxMiA1NjciLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNycpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAyMjIgMTIgNTY3OCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc4JykpOworCisgICAgLy8gKzgxIDMzMzIgMiA1Njc4CisgICAgZm9ybWF0dGVyLmNsZWFyKCk7CisgICAgYXNzZXJ0RXF1YWxzKCIrIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJysnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrOCIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCc4JykpOworICAgIGFzc2VydEVxdWFscygiKzgxICIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCcxJykpOworICAgIGFzc2VydEVxdWFscygiKzgxIDMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAzMyIsIGZvcm1hdHRlci5pbnB1dERpZ2l0KCczJykpOworICAgIGFzc2VydEVxdWFscygiKzgxIDMzIDMiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnMycpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAzMzMyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODEgMzMzMiAyIiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzInKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODEgMzMzMiAyIDUiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNScpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAzMzMyIDIgNTYiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnNicpKTsKKyAgICBhc3NlcnRFcXVhbHMoIis4MSAzMzMyIDIgNTY3IiwgZm9ybWF0dGVyLmlucHV0RGlnaXQoJzcnKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrODEgMzMzMiAyIDU2NzgiLCBmb3JtYXR0ZXIuaW5wdXREaWdpdCgnOCcpKTsKKyAgfQogfQpkaWZmIC0tZ2l0IGEvamF2YS90ZXN0L2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvUGhvbmVOdW1iZXJNZXRhZGF0YVByb3RvRm9yVGVzdGluZyBiL2phdmEvdGVzdC9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1Bob25lTnVtYmVyTWV0YWRhdGFQcm90b0ZvclRlc3RpbmcKaW5kZXggOGI3MmFjOS4uN2YwODVjZiAxMDA2NDQKLS0tIGEvamF2YS90ZXN0L2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvUGhvbmVOdW1iZXJNZXRhZGF0YVByb3RvRm9yVGVzdGluZworKysgYi9qYXZhL3Rlc3QvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9QaG9uZU51bWJlck1ldGFkYXRhUHJvdG9Gb3JUZXN0aW5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2phdmEvdGVzdC9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1Bob25lTnVtYmVyVXRpbFRlc3QuamF2YSBiL2phdmEvdGVzdC9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1Bob25lTnVtYmVyVXRpbFRlc3QuamF2YQppbmRleCBjYWI4MTQwLi5lNmFmNjQxIDEwMDY0NAotLS0gYS9qYXZhL3Rlc3QvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9QaG9uZU51bWJlclV0aWxUZXN0LmphdmEKKysrIGIvamF2YS90ZXN0L2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvUGhvbmVOdW1iZXJVdGlsVGVzdC5qYXZhCkBAIC01OSwxNCArNTksMTYgQEAKICAgICBzdXBlci50ZWFyRG93bigpOwogICB9CiAKLSAgcHJpdmF0ZSBib29sZWFuIGFzc2VydEVxdWFscyhQaG9uZU51bWJlciBudW1iZXIxLCBQaG9uZU51bWJlciBudW1iZXIyKSB7CisgIHByaXZhdGUgdm9pZCBhc3NlcnRFcXVhbHMoUGhvbmVOdW1iZXIgbnVtYmVyMSwgUGhvbmVOdW1iZXIgbnVtYmVyMikgeworICAgIGJvb2xlYW4gZXF1YWwgPSBmYWxzZTsKICAgICBpZiAobnVtYmVyMSA9PSBudWxsICYmIG51bWJlcjIgPT0gbnVsbCkgewotICAgICAgcmV0dXJuIHRydWU7CisgICAgICBlcXVhbCA9IHRydWU7CisgICAgfSBlbHNlIGlmIChudW1iZXIxICE9IG51bGwgJiYgbnVtYmVyMiAhPSBudWxsKSB7CisgICAgICBlcXVhbCA9IG51bWJlcjEuZXhhY3RseVNhbWVBcyhudW1iZXIyKTsKICAgICB9Ci0gICAgaWYgKG51bWJlcjEgPT0gbnVsbCB8fCBudW1iZXIyID09IG51bGwpIHsKLSAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWVxdWFsKSB7CisgICAgICBmYWlsKCJUaGUgcGhvbmUgbnVtYmVycyBkbyBub3QgbWF0Y2giKTsKICAgICB9Ci0gICAgcmV0dXJuIG51bWJlcjEuZXhhY3RseVNhbWVBcyhudW1iZXIyKTsKICAgfQogCiAgIHB1YmxpYyB2b2lkIHRlc3RHZXRJbnN0YW5jZUxvYWRVU01ldGFkYXRhKCkgdGhyb3dzIElPRXhjZXB0aW9uIHsKQEAgLTc0LDcgKzc2LDcgQEAKICAgICBhc3NlcnRFcXVhbHMoIlVTIiwgbWV0YWRhdGEuZ2V0SWQoKSk7CiAgICAgYXNzZXJ0RXF1YWxzKDEsIG1ldGFkYXRhLmdldENvdW50cnlDb2RlKCkpOwogICAgIGFzc2VydEVxdWFscygiMDExIiwgbWV0YWRhdGEuZ2V0SW50ZXJuYXRpb25hbFByZWZpeCgpKTsKLSAgICBhc3NlcnRGYWxzZShtZXRhZGF0YS5oYXNOYXRpb25hbFByZWZpeCgpKTsKKyAgICBhc3NlcnRUcnVlKG1ldGFkYXRhLmhhc05hdGlvbmFsUHJlZml4KCkpOwogICAgIGFzc2VydEVxdWFscygyLCBtZXRhZGF0YS5nZXROdW1iZXJGb3JtYXRDb3VudCgpKTsKICAgICBhc3NlcnRFcXVhbHMoIihcXGR7M30pKFxcZHszfSkoXFxkezR9KSIsCiAgICAgICAgICAgICAgICAgIG1ldGFkYXRhLmdldE51bWJlckZvcm1hdCgwKS5nZXRQYXR0ZXJuKCkpOwpAQCAtOTYsMTEgKzk4LDEyIEBACiAgICAgYXNzZXJ0RXF1YWxzKDQ5LCBtZXRhZGF0YS5nZXRDb3VudHJ5Q29kZSgpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAwIiwgbWV0YWRhdGEuZ2V0SW50ZXJuYXRpb25hbFByZWZpeCgpKTsKICAgICBhc3NlcnRFcXVhbHMoIjAiLCBtZXRhZGF0YS5nZXROYXRpb25hbFByZWZpeCgpKTsKLSAgICBhc3NlcnRFcXVhbHMoNiwgbWV0YWRhdGEuZ2V0TnVtYmVyRm9ybWF0Q291bnQoKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCI5MDA5IiwgbWV0YWRhdGEuZ2V0TnVtYmVyRm9ybWF0KDUpLmdldExlYWRpbmdEaWdpdHMoKSk7Ci0gICAgYXNzZXJ0RXF1YWxzKCIoXFxkezN9KShcXGR7NH0pKFxcZHs0fSkiLAotICAgICAgICAgICAgICAgICBtZXRhZGF0YS5nZXROdW1iZXJGb3JtYXQoNSkuZ2V0UGF0dGVybigpKTsKLSAgICBhc3NlcnRFcXVhbHMoIiQxICQyICQzIiwgbWV0YWRhdGEuZ2V0TnVtYmVyRm9ybWF0KDUpLmdldEZvcm1hdCgpKTsKKyAgICBhc3NlcnRFcXVhbHMoNSwgbWV0YWRhdGEuZ2V0TnVtYmVyRm9ybWF0Q291bnQoKSk7CisgICAgYXNzZXJ0RXF1YWxzKDEsIG1ldGFkYXRhLmdldE51bWJlckZvcm1hdCg0KS5nZXRMZWFkaW5nRGlnaXRzUGF0dGVybkNvdW50KCkpOworICAgIGFzc2VydEVxdWFscygiOTAwIiwgbWV0YWRhdGEuZ2V0TnVtYmVyRm9ybWF0KDQpLmdldExlYWRpbmdEaWdpdHNQYXR0ZXJuKDApKTsKKyAgICBhc3NlcnRFcXVhbHMoIihcXGR7M30pKFxcZHszLDR9KShcXGR7NH0pIiwKKyAgICAgICAgICAgICAgICAgbWV0YWRhdGEuZ2V0TnVtYmVyRm9ybWF0KDQpLmdldFBhdHRlcm4oKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIkMSAkMiAkMyIsIG1ldGFkYXRhLmdldE51bWJlckZvcm1hdCg0KS5nZXRGb3JtYXQoKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCIoPzpbMjQtNl1cXGR7Mn18M1swMy05XVxcZHxbNzg5XSg/OlsxLTldXFxkfDBbMi05XSkpXFxkezMsOH0iLAogICAgICAgICAgICAgICAgICBtZXRhZGF0YS5nZXRGaXhlZExpbmUoKS5nZXROYXRpb25hbE51bWJlclBhdHRlcm4oKSk7CiAgICAgYXNzZXJ0RXF1YWxzKCJcXGR7MiwxNH0iLCBtZXRhZGF0YS5nZXRGaXhlZExpbmUoKS5nZXRQb3NzaWJsZU51bWJlclBhdHRlcm4oKSk7CkBAIC0zMjksNiArMzMyLDEzIEBACiAgICAgICAgICAgICAgICAgIHBob25lVXRpbC5mb3JtYXQoZGVOdW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJVdGlsLlBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwpKTsKICAgICBkZU51bWJlci5jbGVhcigpOworICAgIGRlTnVtYmVyLnNldENvdW50cnlDb2RlKDQ5KS5zZXROYXRpb25hbE51bWJlcig4MDIxMjM0NUwpOworICAgIGFzc2VydEVxdWFscygiMDgwMjEgMjM0NSIsIHBob25lVXRpbC5mb3JtYXQoZGVOdW1iZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBob25lTnVtYmVyVXRpbC5QaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTCkpOworICAgIGFzc2VydEVxdWFscygiKzQ5IDgwMjEgMjM0NSIsCisgICAgICAgICAgICAgICAgIHBob25lVXRpbC5mb3JtYXQoZGVOdW1iZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGhvbmVOdW1iZXJVdGlsLlBob25lTnVtYmVyRm9ybWF0LklOVEVSTkFUSU9OQUwpKTsKKyAgICBkZU51bWJlci5jbGVhcigpOwogICAgIGRlTnVtYmVyLnNldENvdW50cnlDb2RlKDQ5KS5zZXROYXRpb25hbE51bWJlcigxMjM0TCk7CiAgICAgLy8gTm90ZSB0aGlzIG51bWJlciBpcyBjb3JyZWN0bHkgZm9ybWF0dGVkIHdpdGhvdXQgbmF0aW9uYWwgcHJlZml4LiBNb3N0IG9mIHRoZSBudW1iZXJzIHRoYXQKICAgICAvLyBhcmUgdHJlYXRlZCBhcyBpbnZhbGlkIG51bWJlcnMgYnkgdGhlIGxpYnJhcnkgYXJlIHNob3J0IG51bWJlcnMsIGFuZCB0aGV5IGFyZSB1c3VhbGx5IG5vdApAQCAtNTE2LDYgKzUyNiwyMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBob25lTnVtYmVyVXRpbC5QaG9uZU51bWJlckZvcm1hdC5JTlRFUk5BVElPTkFMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld051bWJlckZvcm1hdHMpKTsKIAorICAgIC8vICROUCBpcyBzZXQgdG8gJzEnIGZvciB0aGUgVVMuIEhlcmUgd2UgY2hlY2sgdGhhdCBmb3Igb3RoZXIgTkFOUEEgY291bnRyaWVzIHRoZSBVUyBydWxlcyBhcmUKKyAgICAvLyBmb2xsb3dlZC4KKyAgICBuZXdOdW1Gb3JtYXQuc2V0TmF0aW9uYWxQcmVmaXhGb3JtYXR0aW5nUnVsZSgiJE5QICgkRkcpIik7CisgICAgbmV3TnVtRm9ybWF0LnNldEZvcm1hdCgiJDEgJDItJDMiKTsKKyAgICBQaG9uZU51bWJlciBic051bWJlciA9IG5ldyBQaG9uZU51bWJlcigpOworICAgIGJzTnVtYmVyLnNldENvdW50cnlDb2RlKDEpLnNldE5hdGlvbmFsTnVtYmVyKDQxNjg4MTk5OTlMKTsKKyAgICBhc3NlcnRFcXVhbHMoIjEgKDQxNikgODgxLTk5OTkiLAorICAgICAgICAgICAgICAgICBwaG9uZVV0aWwuZm9ybWF0QnlQYXR0ZXJuKGJzTnVtYmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBob25lTnVtYmVyVXRpbC5QaG9uZU51bWJlckZvcm1hdC5OQVRJT05BTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdOdW1iZXJGb3JtYXRzKSk7CisgICAgYXNzZXJ0RXF1YWxzKCIrMSA0MTYgODgxLTk5OTkiLAorICAgICAgICAgICAgICAgICBwaG9uZVV0aWwuZm9ybWF0QnlQYXR0ZXJuKGJzTnVtYmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBob25lTnVtYmVyVXRpbC5QaG9uZU51bWJlckZvcm1hdC5JTlRFUk5BVElPTkFMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld051bWJlckZvcm1hdHMpKTsKKwogICAgIFBob25lTnVtYmVyIGl0TnVtYmVyID0gbmV3IFBob25lTnVtYmVyKCk7CiAgICAgaXROdW1iZXIuc2V0Q291bnRyeUNvZGUoMzkpLnNldE5hdGlvbmFsTnVtYmVyKDIzNjYxODMwMEwpLnNldEl0YWxpYW5MZWFkaW5nWmVybyh0cnVlKTsKIApAQCAtNzgzLDcgKzgwOCw3IEBACiAgICAgLy8gVGhpcyBudW1iZXIgaXMgbm8gbG9uZ2VyIHZhbGlkLgogICAgIGFzc2VydEZhbHNlKHBob25lVXRpbC5pc1ZhbGlkTnVtYmVyKGJzTnVtYmVyKSk7CiAKLSAgICAvLyBMYSBNYXlvdHRlIGFuZCBSjnVuaW9uIHVzZSAnbGVhZGluZ0RpZ2l0cycgdG8gZGlmZmVyZW50aWF0ZSB0aGVtLgorICAgIC8vIExhIE1heW90dGUgYW5kIFJldW5pb24gdXNlICdsZWFkaW5nRGlnaXRzJyB0byBkaWZmZXJlbnRpYXRlIHRoZW0uCiAgICAgUGhvbmVOdW1iZXIgcmVOdW1iZXIgPSBuZXcgUGhvbmVOdW1iZXIoKTsKICAgICByZU51bWJlci5zZXRDb3VudHJ5Q29kZSgyNjIpLnNldE5hdGlvbmFsTnVtYmVyKDI2MjEyMzQ1NkwpOwogICAgIGFzc2VydFRydWUocGhvbmVVdGlsLmlzVmFsaWROdW1iZXIocmVOdW1iZXIpKTsKQEAgLTc5Myw3ICs4MTgsNyBAQAogICAgIHJlTnVtYmVyLnNldE5hdGlvbmFsTnVtYmVyKDI2OTYwMTIzNEwpOwogICAgIGFzc2VydFRydWUocGhvbmVVdGlsLmlzVmFsaWROdW1iZXJGb3JSZWdpb24ocmVOdW1iZXIsICJZVCIpKTsKICAgICBhc3NlcnRGYWxzZShwaG9uZVV0aWwuaXNWYWxpZE51bWJlckZvclJlZ2lvbihyZU51bWJlciwgIlJFIikpOwotICAgIC8vIFRoaXMgbnVtYmVyIGlzIG5vIGxvbmdlciB2YWxpZCBmb3IgTGEgUo51bmlvbi4KKyAgICAvLyBUaGlzIG51bWJlciBpcyBubyBsb25nZXIgdmFsaWQgZm9yIExhIFJldW5pb24uCiAgICAgcmVOdW1iZXIuc2V0TmF0aW9uYWxOdW1iZXIoMjY5MTIzNDU2TCk7CiAgICAgYXNzZXJ0RmFsc2UocGhvbmVVdGlsLmlzVmFsaWROdW1iZXJGb3JSZWdpb24ocmVOdW1iZXIsICJZVCIpKTsKICAgICBhc3NlcnRGYWxzZShwaG9uZVV0aWwuaXNWYWxpZE51bWJlckZvclJlZ2lvbihyZU51bWJlciwgIlJFIikpOwpAQCAtOTUwLDYgKzk3NSw1OCBAQAogICAgIGFzc2VydEZhbHNlKHBob25lVXRpbC5pc1Bvc3NpYmxlTnVtYmVyKCIrNDQgMzAwIiwgIkdCIikpOwogICB9CiAKKyAgcHVibGljIHZvaWQgdGVzdFRydW5jYXRlVG9vTG9uZ051bWJlcigpIHsKKyAgICAvLyBVUyBudW1iZXIgNjUwLTI1My0wMDAwLCBidXQgZW50ZXJlZCB3aXRoIG9uZSBhZGRpdGlvbmFsIGRpZ2l0IGF0IHRoZSBlbmQuCisgICAgUGhvbmVOdW1iZXIgdG9vTG9uZ051bWJlciA9IG5ldyBQaG9uZU51bWJlcigpOworICAgIHRvb0xvbmdOdW1iZXIuc2V0Q291bnRyeUNvZGUoMSkuc2V0TmF0aW9uYWxOdW1iZXIoNjUwMjUzMDAwMDFMKTsKKyAgICBQaG9uZU51bWJlciB2YWxpZE51bWJlciA9IG5ldyBQaG9uZU51bWJlcigpOworICAgIHZhbGlkTnVtYmVyLnNldENvdW50cnlDb2RlKDEpLnNldE5hdGlvbmFsTnVtYmVyKDY1MDI1MzAwMDBMKTsKKyAgICBhc3NlcnRUcnVlKHBob25lVXRpbC50cnVuY2F0ZVRvb0xvbmdOdW1iZXIodG9vTG9uZ051bWJlcikpOworICAgIGFzc2VydEVxdWFscyh2YWxpZE51bWJlciwgdG9vTG9uZ051bWJlcik7CisKKyAgICAvLyBHQiBudW1iZXIgMDgwIDEyMzQgNTY3OCwgYnV0IGVudGVyZWQgd2l0aCA0IGV4dHJhIGRpZ2l0cyBhdCB0aGUgZW5kLgorICAgIHRvb0xvbmdOdW1iZXIuY2xlYXIoKTsKKyAgICB0b29Mb25nTnVtYmVyLnNldENvdW50cnlDb2RlKDQ0KS5zZXROYXRpb25hbE51bWJlcig4MDEyMzQ1Njc4MDEyM0wpOworICAgIHZhbGlkTnVtYmVyLmNsZWFyKCk7CisgICAgdmFsaWROdW1iZXIuc2V0Q291bnRyeUNvZGUoNDQpLnNldE5hdGlvbmFsTnVtYmVyKDgwMTIzNDU2NzhMKTsKKyAgICBhc3NlcnRUcnVlKHBob25lVXRpbC50cnVuY2F0ZVRvb0xvbmdOdW1iZXIodG9vTG9uZ051bWJlcikpOworICAgIGFzc2VydEVxdWFscyh2YWxpZE51bWJlciwgdG9vTG9uZ051bWJlcik7CisKKyAgICAvLyBJVCBudW1iZXIgMDIyIDM0NTYgNzg5MCwgYnV0IGVudGVyZWQgd2l0aCAzIGV4dHJhIGRpZ2l0cyBhdCB0aGUgZW5kLgorICAgIHRvb0xvbmdOdW1iZXIuY2xlYXIoKTsKKyAgICB0b29Mb25nTnVtYmVyLnNldENvdW50cnlDb2RlKDM5KS5zZXROYXRpb25hbE51bWJlcigyMjM0NTY3ODkwMTIzTCkuc2V0SXRhbGlhbkxlYWRpbmdaZXJvKHRydWUpOworICAgIHZhbGlkTnVtYmVyLmNsZWFyKCk7CisgICAgdmFsaWROdW1iZXIuc2V0Q291bnRyeUNvZGUoMzkpLnNldE5hdGlvbmFsTnVtYmVyKDIyMzQ1Njc4OTBMKS5zZXRJdGFsaWFuTGVhZGluZ1plcm8odHJ1ZSk7CisgICAgYXNzZXJ0VHJ1ZShwaG9uZVV0aWwudHJ1bmNhdGVUb29Mb25nTnVtYmVyKHRvb0xvbmdOdW1iZXIpKTsKKyAgICBhc3NlcnRFcXVhbHModmFsaWROdW1iZXIsIHRvb0xvbmdOdW1iZXIpOworCisgICAgLy8gVGVzdHMgd2hhdCBoYXBwZW5zIHdoZW4gYSB2YWxpZCBudW1iZXIgaXMgcGFzc2VkIGluLgorICAgIFBob25lTnVtYmVyIHZhbGlkTnVtYmVyQ29weSA9IG5ldyBQaG9uZU51bWJlcigpOworICAgIHZhbGlkTnVtYmVyQ29weS5tZXJnZUZyb20odmFsaWROdW1iZXIpOworICAgIGFzc2VydFRydWUocGhvbmVVdGlsLnRydW5jYXRlVG9vTG9uZ051bWJlcih2YWxpZE51bWJlcikpOworICAgIC8vIFRlc3RzIHRoZSBudW1iZXIgaXMgbm90IG1vZGlmaWVkLgorICAgIGFzc2VydEVxdWFscyh2YWxpZE51bWJlckNvcHksIHZhbGlkTnVtYmVyKTsKKworICAgIC8vIFRlc3RzIHdoYXQgaGFwcGVucyB3aGVuIGEgbnVtYmVyIHdpdGggaW52YWxpZCBwcmVmaXggaXMgcGFzc2VkIGluLgorICAgIFBob25lTnVtYmVyIG51bWJlcldpdGhJbnZhbGlkUHJlZml4ID0gbmV3IFBob25lTnVtYmVyKCk7CisgICAgLy8gVGhlIHRlc3QgbWV0YWRhdGEgc2F5cyBVUyBudW1iZXJzIGNhbm5vdCBoYXZlIHByZWZpeCAyNDAuCisgICAgbnVtYmVyV2l0aEludmFsaWRQcmVmaXguc2V0Q291bnRyeUNvZGUoMSkuc2V0TmF0aW9uYWxOdW1iZXIoMjQwMTIzNDU2N0wpOworICAgIFBob25lTnVtYmVyIGludmFsaWROdW1iZXJDb3B5ID0gbmV3IFBob25lTnVtYmVyKCk7CisgICAgaW52YWxpZE51bWJlckNvcHkubWVyZ2VGcm9tKG51bWJlcldpdGhJbnZhbGlkUHJlZml4KTsKKyAgICBhc3NlcnRGYWxzZShwaG9uZVV0aWwudHJ1bmNhdGVUb29Mb25nTnVtYmVyKG51bWJlcldpdGhJbnZhbGlkUHJlZml4KSk7CisgICAgLy8gVGVzdHMgdGhlIG51bWJlciBpcyBub3QgbW9kaWZpZWQuCisgICAgYXNzZXJ0RXF1YWxzKGludmFsaWROdW1iZXJDb3B5LCBudW1iZXJXaXRoSW52YWxpZFByZWZpeCk7CisKKyAgICAvLyBUZXN0cyB3aGF0IGhhcHBlbnMgd2hlbiBhIHRvbyBzaG9ydCBudW1iZXIgaXMgcGFzc2VkIGluLgorICAgIFBob25lTnVtYmVyIHRvb1Nob3J0TnVtYmVyID0gbmV3IFBob25lTnVtYmVyKCk7CisgICAgdG9vU2hvcnROdW1iZXIuc2V0Q291bnRyeUNvZGUoMSkuc2V0TmF0aW9uYWxOdW1iZXIoMTIzNEwpOworICAgIFBob25lTnVtYmVyIHRvb1Nob3J0TnVtYmVyQ29weSA9IG5ldyBQaG9uZU51bWJlcigpOworICAgIHRvb1Nob3J0TnVtYmVyQ29weS5tZXJnZUZyb20odG9vU2hvcnROdW1iZXIpOworICAgIGFzc2VydEZhbHNlKHBob25lVXRpbC50cnVuY2F0ZVRvb0xvbmdOdW1iZXIodG9vU2hvcnROdW1iZXIpKTsKKyAgICAvLyBUZXN0cyB0aGUgbnVtYmVyIGlzIG5vdCBtb2RpZmllZC4KKyAgICBhc3NlcnRFcXVhbHModG9vU2hvcnROdW1iZXJDb3B5LCB0b29TaG9ydE51bWJlcik7CisgIH0KKwogICBwdWJsaWMgdm9pZCB0ZXN0SXNWaWFibGVQaG9uZU51bWJlcigpIHsKICAgICAvLyBPbmx5IG9uZSBvciB0d28gZGlnaXRzIGJlZm9yZSBzdHJhbmdlIG5vbi1wb3NzaWJsZSBwdW5jdHVhdGlvbi4KICAgICBhc3NlcnRGYWxzZShQaG9uZU51bWJlclV0aWwuaXNWaWFibGVQaG9uZU51bWJlcigiMTIuIE1hcmNoIikpOwpAQCAtMTE4Niw3ICsxMjYzLDcgQEAKICAgICB9CiAgICAgbnVtYmVyLmNsZWFyKCk7CiAgICAgdHJ5IHsKLSAgICAgIFN0cmluZyBwaG9uZU51bWJlciA9ICIoMSA2MTApIDYxOSA0MyA0NDYiOworICAgICAgU3RyaW5nIHBob25lTnVtYmVyID0gIigxIDYxMCkgNjE5IDQzIjsKICAgICAgIFN0cmluZ0J1ZmZlciBudW1iZXJUb0ZpbGwgPSBuZXcgU3RyaW5nQnVmZmVyKCk7CiAgICAgICBhc3NlcnRFcXVhbHMoIlNob3VsZCBub3QgaGF2ZSBleHRyYWN0ZWQgYSBjb3VudHJ5IGNvZGUgLSBpbnZhbGlkIG51bWJlciBib3RoIGJlZm9yZSBhbmQgIiArCiAgICAgICAgICAgICAgICAgICAgImFmdGVyIGV4dHJhY3Rpb24gb2YgdW5jZXJ0YWluIGNvdW50cnkgY29kZS4iLApAQCAtMTQ4NSwxNSArMTU2MiwxNSBAQAogICAgIGFzc2VydEVxdWFscyhuek51bWJlciwgcGhvbmVVdGlsLnBhcnNlKCIwMyAzMzE2MDA1ICMzNDU2IiwgIk5aIikpOwogICAgIC8vIFRlc3QgdGhlIGZvbGxvd2luZyBkbyBub3QgZXh0cmFjdCBleHRlbnNpb25zOgogICAgIFBob25lTnVtYmVyIG5vbkV4dG5OdW1iZXIgPSBuZXcgUGhvbmVOdW1iZXIoKTsKLSAgICBub25FeHRuTnVtYmVyLnNldENvdW50cnlDb2RlKDEpLnNldE5hdGlvbmFsTnVtYmVyKDE4MDA3NDkzNTI0N0wpOworICAgIG5vbkV4dG5OdW1iZXIuc2V0Q291bnRyeUNvZGUoMSkuc2V0TmF0aW9uYWxOdW1iZXIoODAwNzQ5MzUyNDdMKTsKICAgICBhc3NlcnRFcXVhbHMobm9uRXh0bk51bWJlciwgcGhvbmVVdGlsLnBhcnNlKCIxODAwIHNpeC1mbGFncyIsICJVUyIpKTsKICAgICBhc3NlcnRFcXVhbHMobm9uRXh0bk51bWJlciwgcGhvbmVVdGlsLnBhcnNlKCIxODAwIFNJWCBGTEFHUyIsICJVUyIpKTsKLSAgICBhc3NlcnRFcXVhbHMobm9uRXh0bk51bWJlciwgcGhvbmVVdGlsLnBhcnNlKCIwfjAxIDE4MDAgNzQ5MyA1MjQ3IiwgIlBMIikpOworICAgIGFzc2VydEVxdWFscyhub25FeHRuTnVtYmVyLCBwaG9uZVV0aWwucGFyc2UoIjB+MCAxODAwIDc0OTMgNTI0NyIsICJQTCIpKTsKICAgICBhc3NlcnRFcXVhbHMobm9uRXh0bk51bWJlciwgcGhvbmVVdGlsLnBhcnNlKCIoMTgwMCkgNzQ5My41MjQ3IiwgIlVTIikpOwogICAgIC8vIENoZWNrIHRoYXQgdGhlIGxhc3QgaW5zdGFuY2Ugb2YgYW4gZXh0ZW5zaW9uIHRva2VuIGlzIG1hdGNoZWQuCiAgICAgUGhvbmVOdW1iZXIgZXh0bk51bWJlciA9IG5ldyBQaG9uZU51bWJlcigpOwotICAgIGV4dG5OdW1iZXIuc2V0Q291bnRyeUNvZGUoMSkuc2V0TmF0aW9uYWxOdW1iZXIoMTgwMDc0OTM1MjQ3TCkuc2V0RXh0ZW5zaW9uKCIxMjM0Iik7Ci0gICAgYXNzZXJ0RXF1YWxzKGV4dG5OdW1iZXIsIHBob25lVXRpbC5wYXJzZSgiMH4wMSAxODAwIDc0OTMgNTI0NyB+MTIzNCIsICJQTCIpKTsKKyAgICBleHRuTnVtYmVyLnNldENvdW50cnlDb2RlKDEpLnNldE5hdGlvbmFsTnVtYmVyKDgwMDc0OTM1MjQ3TCkuc2V0RXh0ZW5zaW9uKCIxMjM0Iik7CisgICAgYXNzZXJ0RXF1YWxzKGV4dG5OdW1iZXIsIHBob25lVXRpbC5wYXJzZSgiMH4wIDE4MDAgNzQ5MyA1MjQ3IH4xMjM0IiwgIlBMIikpOwogICAgIC8vIFZlcmlmeWluZyBidWctZml4IHdoZXJlIHRoZSBsYXN0IGRpZ2l0IG9mIGEgbnVtYmVyIHdhcyBwcmV2aW91c2x5IG9taXR0ZWQgaWYgaXQgd2FzIGEgMCB3aGVuCiAgICAgLy8gZXh0cmFjdGluZyB0aGUgZXh0ZW5zaW9uLiBBbHNvIHZlcmlmeWluZyBhIGZldyBkaWZmZXJlbnQgY2FzZXMgb2YgZXh0ZW5zaW9ucy4KICAgICBQaG9uZU51bWJlciB1a051bWJlciA9IG5ldyBQaG9uZU51bWJlcigpOwpAQCAtMTUzNywxMCArMTYxNCwxMCBAQAogICBwdWJsaWMgdm9pZCB0ZXN0UGFyc2VBbmRLZWVwUmF3KCkgdGhyb3dzIEV4Y2VwdGlvbiB7CiAgICAgUGhvbmVOdW1iZXIgYWxwaGFOdW1lcmljTnVtYmVyID0gbmV3IFBob25lTnVtYmVyKCk7CiAgICAgYWxwaGFOdW1lcmljTnVtYmVyLgotICAgICAgICBzZXRDb3VudHJ5Q29kZSgxKS5zZXROYXRpb25hbE51bWJlcigxODAwNzQ5MzUyNDdMKS5zZXRSYXdJbnB1dCgiMTgwMCBzaXgtZmxhZ3MiKS4KKyAgICAgICAgc2V0Q291bnRyeUNvZGUoMSkuc2V0TmF0aW9uYWxOdW1iZXIoODAwNzQ5MzUyNDdMKS5zZXRSYXdJbnB1dCgiODAwIHNpeC1mbGFncyIpLgogICAgICAgICBzZXRDb3VudHJ5Q29kZVNvdXJjZShDb3VudHJ5Q29kZVNvdXJjZS5GUk9NX0RFRkFVTFRfQ09VTlRSWSk7CiAgICAgYXNzZXJ0RXF1YWxzKGFscGhhTnVtZXJpY051bWJlciwKLSAgICAgICAgICAgICAgICAgcGhvbmVVdGlsLnBhcnNlQW5kS2VlcFJhd0lucHV0KCIxODAwIHNpeC1mbGFncyIsICJVUyIpKTsKKyAgICAgICAgICAgICAgICAgcGhvbmVVdGlsLnBhcnNlQW5kS2VlcFJhd0lucHV0KCI4MDAgc2l4LWZsYWdzIiwgIlVTIikpOwogCiAgICAgYWxwaGFOdW1lcmljTnVtYmVyLgogICAgICAgICBzZXRDb3VudHJ5Q29kZSgxKS5zZXROYXRpb25hbE51bWJlcig4MDA3NDkzNTI0TCkuc2V0UmF3SW5wdXQoIjE4MDAgc2l4LWZsYWciKS4KZGlmZiAtLWdpdCBhL2phdmEvdGVzdC9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1JlZ2V4Q2FjaGVUZXN0LmphdmEgYi9qYXZhL3Rlc3QvY29tL2dvb2dsZS9pMThuL3Bob25lbnVtYmVycy9SZWdleENhY2hlVGVzdC5qYXZhCmluZGV4IDMxMGE2MDEuLjJhZDBhYmUgMTAwNjQ0Ci0tLSBhL2phdmEvdGVzdC9jb20vZ29vZ2xlL2kxOG4vcGhvbmVudW1iZXJzL1JlZ2V4Q2FjaGVUZXN0LmphdmEKKysrIGIvamF2YS90ZXN0L2NvbS9nb29nbGUvaTE4bi9waG9uZW51bWJlcnMvUmVnZXhDYWNoZVRlc3QuamF2YQpAQCAtMTgsOCArMTgsNiBAQAogCiBpbXBvcnQganVuaXQuZnJhbWV3b3JrLlRlc3RDYXNlOwogCi1pbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47Ci0KIC8qKgogICogVW5pdHRlc3RzIGZvciBMUlUgQ2FjaGUgZm9yIGNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbnMgdXNlZCBieSB0aGUgbGlicGhvbmVudW1iZXJzIGxpYmFyeS4KICAqCg==