From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 03B231FF173 for ; Mon, 25 Nov 2024 12:18:15 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 6DFC910DC5; Mon, 25 Nov 2024 12:18:12 +0100 (CET) From: Fiona Ebner To: pve-devel@lists.proxmox.com Date: Mon, 25 Nov 2024 12:00:41 +0100 Message-Id: <20241125110044.22235-2-f.ebner@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241125110044.22235-1-f.ebner@proxmox.com> References: <20241125110044.22235-1-f.ebner@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.279 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LOTSOFHASH 0.25 Emails with lots of hash-like gibberish POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record X-Mailman-Approved-At: Mon, 25 Nov 2024 12:18:10 +0100 Subject: [pve-devel] [PATCH qemu 1/4] update submodule and patches to QEMU 9.1.2 X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" Tm90YWJsZSBjaGFuZ2VzLCBtb3N0IGludGVyZXN0aW5nbHkgdGhlIHR3byBidWlsZCBzeXN0ZW0g Y2hhbmdlczoKCiogYXZvaWQgbWFraW5nICdtaWdyYXRpb24nIHRhcmdldCBkZXBlbmQgb24gJ2xp YnByb3htb3hfYmFja3VwX3FlbXUnOgoKICBIYXZpbmcgcGJzLXN0YXRlLmMgYmUgcGFydCBvZiB0 aGUgJ21pZ3JhdGlvbl9maWxlcycgbWFrZXMgdGhlCiAgJ21pZ3JhdGlvbicgdGFyZ2V0IGRlcGVu ZCBvbiAnbGlicHJveG1veF9iYWNrdXBfcWVtdScuIEFkZGluZyB0aGUKICBkZXBlbmRlbmN5IHRv ICdtaWdyYXRpb24nIGFuZCAnbGlibWlncmF0aW9uJyB3b3VsZCBub3QgYmUgZW5vdWdoCiAgaG93 ZXZlciwgYmVjYXVzZSBwYnMtc3RhdGUuYyBkZXBlbmRzIG9uIHNhdmV2bS5jIChmb3IKICByZWdp c3Rlcl9zYXZldm1fbGl2ZSgpKSwgYW5kIHNhdmV2bS5jIGlzIG5vdCBpdHNlbGYgcGFydCBvZiB0 aGUKICAnbWlncmF0aW9uX2ZpbGVzJyBhbmQgd291bGQgbmVlZCB0byBiZSBtb3ZlZCB0b28uIE90 aGVyd2lzZSwgbGlua2luZwogIHRoZSAndGVzdC14YnpybGUnIHVuaXQgdGVzdCBpcyBicm9rZW4u IEluc3RlYWQsIGRvbid0IGRlY2xhcmUKICBwYnMtc3RhdGUuYyB0byBiZSBwYXJ0IG9mIHRoZSAn bWlncmF0aW9uX2ZpbGVzJy4KCiogbWVzb246IHBicy1yZXN0b3JlICsgdm1hOiBhZGQgcWVtdXV0 aWwgZGVwZW5kZW5jeSBleHBsaWNpdGx5CgogIEJvdGggcGJzLXJlc3RvcmUgYW5kIHZtYSB1c2Ug InFlbXUvb3NkZXAuaCIgc28gdGhlIGRlcGVuZGVuY3kgaXMKICBwcmVzZW50LiBCZWluZyBleHBs aWNpdCBpcyByZXF1aXJlZCBhZnRlciBjb21taXQgNDE0YjE4MGQ0MiAoIm1lc29uOgogIFBhc3Mg b2JqZWN0cyBhbmQgZGVwZW5kZW5jaWVzIHRvIGRlY2xhcmVfZGVwZW5kZW5jeSgpIikuCgoqIFFB UEkgZG9jcyAiTm90ZXM6IiB0byAiLi4gbm90ZTo6IiBjb252ZXJzaW9uIGZvbGxvd2luZyBjb21t aXQKICBkNDYxYzI3OTczICgicWFwaTogY29udmVydCAiTm90ZSIgc2VjdGlvbnMgdG8gcGxhaW4g clNUIikuCgoqIFJlbW92YWwgb2YgUUVSUl8qIG1hY3JvcyBmb2xsb3dpbmcgY29tbWl0CiAgYTk1 OTIxZjE3MSAoInFhcGk6IElubGluZSBhbmQgcmVtb3ZlIFFFUlJfREVWSUNFX0hBU19OT19NRURJ VU0KICBkZWZpbml0aW9uIikgYW5kIGZyaWVuZHMuCgoqIFNpZ25hdHVyZSBjaGFuZ2UgZm9yIC5z YXZlX3NldHVwIGNhbGxiYWNrcyBmb2xsb3dpbmcgY29tbWl0CiAgMDFjM2FjNjgxYiAoIm1pZ3Jh dGlvbjogQWRkIEVycm9yKiogYXJndW1lbnQgdG8gLnNhdmVfc2V0dXAoKQogIGhhbmRsZXIiKS4K CiogUmVtb3ZhbCBvZiBzZXBhcmF0ZSAuYmRydl9maWxlX29wZW4gY2FsbGJhY2tzIGZvbGxvd2lu ZyBjb21taXQKICA0NGI0MjRkYzRhICgiYmxvY2s6IHJlbW92ZSBzZXBhcmF0ZSBiZHJ2X2ZpbGVf b3BlbiBjYWxsYmFjayIpCgoqIEFkYXB0IGRpcnR5IGJpdG1hcCBtaWdyYXRpb24gZXJyb3IgaGFu ZGxpbmcgZm9sbG93aW5nIGNvbW1pdAogIGRkMDMxNjc3MjUgKCJtaWdyYXRpb246IEFkZCBFcnJv cioqIGFyZ3VtZW50IHRvCiAgYWRkX2JpdG1hcHNfdG9fbGlzdCgpIikKCiogQWRhcHQgc2F2ZXZt IGFzeW5jIHRvIHJlbW92ZWQgYmxvY2sgbWlncmF0aW9uIGZvbGxvd2luZyBjb21taXQKICBlZWYw YmFlM2E3ICgibWlncmF0aW9uOiBSZW1vdmUgYmxvY2sgbWlncmF0aW9uIikKClNpZ25lZC1vZmYt Ynk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0KIC4uLmQtc3VwcG9ydC1m b3Itc3luYy1iaXRtYXAtbW9kZS1uZXZlci5wYXRjaCB8ICA1NCArLS0KIC4uLi1zdXBwb3J0LWZv ci1jb25kaXRpb25hbC1hbmQtYWx3YXlzLS5wYXRjaCB8ICAxMCArLQogLi4uY2hlY2stZm9yLWJp dG1hcC1tb2RlLXdpdGhvdXQtYml0bWFwLnBhdGNoIHwgICA0ICstCiAuLi4tdG8tYmRydl9kaXJ0 eV9iaXRtYXBfbWVyZ2VfaW50ZXJuYWwucGF0Y2ggfCAgIDYgKy0KIC4uLi8wMDA2LW1pcnJvci1t b3ZlLXNvbWUtY2hlY2tzLXRvLXFtcC5wYXRjaCB8ICAgOCArLQogLi4ucmFjZS13aXRoLWNsaWVu dHMtZGlzY29ubmVjdGluZy1lYXJsLnBhdGNoIHwgIDE0ICstCiAuLi5pYWwtZGVhZGxvY2std2hl bi1kcmFpbmluZy1kdXJpbmctdHIucGF0Y2ggfCAgIDIgKy0KIC4uLndvcmthcm91bmQtV2luZG93 cy1ub3QtaGFuZGxpbmctbmFtZS5wYXRjaCB8ICAgNCArLQogLi4uZS13cml0ZS11c2UtdWludDY0 X3QtZm9yLXRpbWVvdXQtaW4tLnBhdGNoIHwgIDM1IC0tCiAuLi5vY2stY29weS1iZWZvcmUtd3Jp dGUtZml4LXBlcm1pc3Npb24ucGF0Y2ggfCAgNTUgLS0tCiAuLi5lLXdyaXRlLXN1cHBvcnQtdW5s aWduZWQtc25hcHNob3QtZGkucGF0Y2ggfCAgNDggLS0tCiAuLi5lLXdyaXRlLWNyZWF0ZS1ibG9j a19jb3B5LWJpdG1hcC1pbi0ucGF0Y2ggfCAzNzMgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4tYmFj a3VwLWFkZC1kaXNjYXJkLXNvdXJjZS1wYXJhbWV0ZXIucGF0Y2ggfCAyNzcgLS0tLS0tLS0tLS0t LQogLi4uZS1kZS1pbml0aWFsaXphdGlvbi1vZi12aG9zdC11c2VyLWRlLnBhdGNoIHwgIDkyIC0t LS0tCiAuLi5Vc2UtZmxvYXRfc3RhdHVzLWNvcHktaW4tc21lX2Ztb3BhX3MucGF0Y2ggfCAgNDMg LS0KIC4uLi1Vc2UtRlBTVF9GMTYtZm9yLVNNRS1GTU9QQS13aWRlbmluZy5wYXRjaCB8ICA2MiAt LS0KIC4uLmlvbi1hbmQtaG9ub3ItYm9vdGluZGV4LWFnYWluLWZvci1sZS5wYXRjaCB8ICA2MCAt LS0KIC4uLjVhLWJ1bXAtaW5zdHJ1Y3Rpb24tbGltaXQtaW4tc2NyaXB0cy5wYXRjaCB8ICA0OCAt LS0KIC4uLjE1LWJsb2NrLWNvcHktRml4LW1pc3NpbmctZ3JhcGgtbG9jay5wYXRjaCB8ICAzOCAt LQogLi4uLWRvLW5vdC1vcGVyYXRlLW9uLXNvdXJjZXMtZnJvbS1maW5hLnBhdGNoIHwgIDkzIC0t LS0tCiAuLi5peC10aGUtdXNlLW9mLWFuLXVuaW5pdGlhbGl6ZWQtaXJxZmQucGF0Y2ggfCAgNzcg LS0tLQogLi4ubmV0LUVuc3VyZS1xdWV1ZS1pbmRleC1maXRzLXdpdGgtUlNTLnBhdGNoIHwgIDM1 IC0tCiAuLi5ldHdvcmstc3RhbGwtYXQtdGhlLWhvc3Qtc2lkZS13YWl0aW4ucGF0Y2ggfCAzMzgg LS0tLS0tLS0tLS0tLS0tLQogLi4udC1uaWMtbW9kZWwtaGVscC1vdXRwdXQtYXMtZG9jdW1lbnRl LnBhdGNoIHwgIDcwIC0tLS0KIC4uLm5ldC1uaWMtbW9kZWwtZm9yLW5vbi1oZWxwLWFyZ3VtZW50 cy5wYXRjaCB8ICAzMiAtLQogLi4uLWFzc2VydC1mb3ItMTI4LWJpdC10aWxlLWFjY2Vzc2VzLXdo LnBhdGNoIHwgIDU3IC0tLQogLi4uYXJtLUZpeC1VTU9QQS1VTU9QUy1vZi0xNi1iaXQtdmFsdWVz LnBhdGNoIHwgIDU5IC0tLQogLi4uLXNoaWZ0cy1ieS0xLWluLXRzemltbV9zaHItYW5kLXRzemlt LnBhdGNoIHwgIDYyIC0tLQogLi4uZS1TTUNSX0VMMi5MRU4tYW5kLVNWQ1JfRUwyLkxFTi1pZi1F LnBhdGNoIHwgIDQxIC0tCiAuLi5lLWRlbm9ybWFscy1jb3JyZWN0bHktZm9yLUZNT1BBLXdpZGUu cGF0Y2ggfCAxNjQgLS0tLS0tLS0KIC4uLmVsX2lvbW11LWZpeC1GUkNELWNvbnN0cnVjdGlvbi1t YWNyby5wYXRjaCB8ICAzOSAtLQogLi4uMzg2LURvLW5vdC1hcHBseS1SRVgtdG8tTU1YLW9wZXJh bmRzLnBhdGNoIHwgIDMzIC0tCiAuLi5yYXNoLWJ5LXJlc2V0dGluZy1sb2NhbF9lcnItaW4tbW9k dWwucGF0Y2ggfCAgNDIgLS0KIC4uLi1QbHVtYi1pbi1uZXctYXJncy10by1uYmRfY2xpZW50X2Fk ZC5wYXRjaCB8IDE2NCAtLS0tLS0tLQogLi4uMDI0LTc0MDktQ2FwLWRlZmF1bHQtbWF4LWNvbm5l Y3Rpb25zLnBhdGNoIHwgMTcyIC0tLS0tLS0tCiAuLi4wMjQtNzQwOS1Ecm9wLW5vbi1uZWdvdGlh dGluZy1jbGllbnQucGF0Y2ggfCAxMjMgLS0tLS0tCiAuLi4wMjQtNzQwOS1DbG9zZS1zdHJheS1j bGllbnRzLWF0LXNlcnYucGF0Y2ggfCAxNjEgLS0tLS0tLS0KIC4uLmMtZml4LWNyYXNoLXdoZW4t bm8tY29uc29sZS1hdHRhY2hlZC5wYXRjaCB8ICA0NyAtLS0KIC4uLjAyNC03NDA5LUF2b2lkLXVz ZS1hZnRlci1mcmVlLXdoZW4tYy5wYXRjaCB8ICA4OSAtLS0tLQogLi4uZml4LW1lbW9yeS1sZWFr LWluLWRpcnR5X21lbW9yeV9leHRlLnBhdGNoIHwgMTM0IC0tLS0tLS0KIC4uLnN0LWFsbG93LWFk ZGluZy1vdmVybGFwcGluZy1yZXF1ZXN0cy5wYXRjaCB8IDEwNCAtLS0tLQogLi4uay1maWxlLWNo YW5nZS1sb2NraW5nLWRlZmF1bHQtdG8tb2ZmLnBhdGNoIHwgICA2ICstCiAuLi5kanVzdC1uZXR3 b3JrLXNjcmlwdC1wYXRoLXRvLWV0Yy1rdm0ucGF0Y2ggfCAgIDQgKy0KIC4uLmhlLUNQVS1tb2Rl bC10by1rdm02NC0zMi1pbnN0ZWFkLW9mLS5wYXRjaCB8ICAgNCArLQogLi4uZXJmcy1uby1kZWZh dWx0LWxvZ2ZpbGUtaWYtZGFlbW9uaXplLnBhdGNoIHwgICA4ICstCiAuLi5sb2NrLXJiZC1kaXNh YmxlLXJiZF9jYWNoZV93cml0ZXRocm8ucGF0Y2ggfCAgIDIgKy0KIC4uLlBWRS1VcC1nbHVzdGVy ZnMtYWxsb3ctcGFydGlhbC1yZWFkcy5wYXRjaCB8ICAxNCArLQogLi4udmlydGlvLWJhbGxvb24t aW1wcm92ZS1xdWVyeS1iYWxsb29uLnBhdGNoIHwgICA4ICstCiAuLi4vMDAxNC1QVkUtcWFwaS1t b2RpZnktcXVlcnktbWFjaGluZXMucGF0Y2ggfCAgMTIgKy0KIC4uLi8wMDE1LVBWRS1xYXBpLW1v ZGlmeS1zcGljZS1xdWVyeS5wYXRjaCAgICB8ICAgNCArLQogLi4ubm5lbC1pbXBsZW1lbnRhdGlv bi1mb3Itc2F2ZXZtLWFzeW5jLnBhdGNoIHwgICAyICstCiAuLi5hc3luYy1mb3ItYmFja2dyb3Vu ZC1zdGF0ZS1zbmFwc2hvdHMucGF0Y2ggfCAgNjMgKystCiAuLi5hZGQtb3B0aW9uYWwtYnVmZmVy LXNpemUtdG8tUUVNVUZpbGUucGF0Y2ggfCAgNTEgKy0tCiAuLi5hZGQtdGhlLXplcm9pbml0LWJs b2NrLWRyaXZlci1maWx0ZXIucGF0Y2ggfCAgIDggKy0KIC4uLi1BZGQtZHVtbXktaWQtY29tbWFu ZC1saW5lLXBhcmFtZXRlci5wYXRjaCB8ICAxMCArLQogLi4udC10YXJnZXQtaTM4Ni1kaXNhYmxl LUxJTlQwLWFmdGVyLXJlLnBhdGNoIHwgICAyICstCiAuLi5sZS1wb3NpeC1tYWtlLWxvY2tpbmct b3B0aW9uby1vbi1jcmUucGF0Y2ggfCAgMjAgKy0KIC4uLjMtUFZFLW1vbml0b3ItZGlzYWJsZS1v b2ItY2FwYWJpbGl0eS5wYXRjaCB8ICAgNCArLQogLi4uc2VkLWJhbGxvb24tcWVtdS00LTAtY29u ZmlnLXNpemUtZmFsLnBhdGNoIHwgICA0ICstCiAuLi5FLUFsbG93LXZlcnNpb24tY29kZS1pbi1t YWNoaW5lLXR5cGUucGF0Y2ggfCAgNjUgKystCiAuLi5WRS1CYWNrdXAtYWRkLXZtYS1iYWNrdXAt Zm9ybWF0LWNvZGUucGF0Y2ggfCAgMTQgKy0KIC4uLi1CYWNrdXAtYWRkLWJhY2t1cC1kdW1wLWJs b2NrLWRyaXZlci5wYXRjaCB8ICAgNCArLQogLi4uY2t1cC1Qcm94bW94LWJhY2t1cC1wYXRjaGVz LWZvci1RRU1VLnBhdGNoIHwgIDQ4ICstLQogLi4uZXN0b3JlLW5ldy1jb21tYW5kLXRvLXJlc3Rv cmUtZnJvbS1wLnBhdGNoIHwgICA4ICstCiAuLi5rLWRyaXZlci10by1tYXAtYmFja3VwLWFyY2hp dmVzLWludG8ucGF0Y2ggfCAgMjkgKy0KIC4uLmN0LXN0ZGVyci10by1qb3VybmFsLXdoZW4tZGFl bW9uaXplZC5wYXRjaCB8ICAxMCArLQogLi4uaWdyYXRlLWRpcnR5LWJpdG1hcC1zdGF0ZS12aWEt c2F2ZXZtLnBhdGNoIHwgIDMyICstCiAuLi5kaXJ0eS1iaXRtYXAtbWlncmF0ZS1vdGhlci1iaXRt YXBzLWUucGF0Y2ggfCAgMTUgKy0KIC4uLmFsbC1iYWNrLXRvLW9wZW4taXNjc2ktaW5pdGlhdG9y bmFtZS5wYXRjaCB8ICAgMiArLQogLi4uLzAwMzgtYmxvY2stYWRkLWFsbG9jLXRyYWNrLWRyaXZl ci5wYXRjaCAgIHwgICA2ICstCiAuLi4tcmJkLXdvcmthcm91bmQtZm9yLWNlcGgtaXNzdWUtNTM3 ODQucGF0Y2ggfCAgIDIgKy0KIC4uLi1maXgtaGFuZGxpbmctb2YtaG9sZXMtaW4tLmJkcnZfY29f Yi5wYXRjaCB8ICAgMiArLQogLi4uay1yYmQtaW1wbGVtZW50LWJkcnZfY29fYmxvY2tfc3RhdHVz LnBhdGNoIHwgICA0ICstCiAuLi5ycm9yLW91dC13aGVuLWF1dG8tcmVtb3ZlLWlzLW5vdC1zZXQu cGF0Y2ggfCAgIDIgKy0KIC4uLmQtc2VlbWluZ2x5LXN1cGVyZmx1b3VzLWNoaWxkLXBlcm1pcy5w YXRjaCB8ICAgMiArLQogLi4uZS1hbGxvdy1zcGVjaWZ5aW5nLW1pbmltdW0tY2x1c3Rlci1zLnBh dGNoIHwgICA0ICstCiAuLi51bS1jbHVzdGVyLXNpemUtdG8tcGVyZm9ybWFuY2Utb3B0aW8ucGF0 Y2ggfCAgIDYgKy0KIC4uLi8wMDQ2LVBWRS1iYWNrdXAtYWRkLWZsZWVjaW5nLW9wdGlvbi5wYXRj aCB8ICAgNiArLQogLi4udmUtZXJyb3Itd2hlbi1jb3B5LWJlZm9yZS13cml0ZS1mYWlsLnBhdGNo IHwgICAyICstCiAuLi51cC1maXh1cC1lcnJvci1oYW5kbGluZy1mb3ItZmxlZWNpbmcucGF0Y2gg fCAgIDIgKy0KIC4uLnItb3V0LXNldHRpbmctdXAtc25hcHNob3QtYWNjZXNzLWZvci5wYXRjaCB8 ICAgMiArLQogLi4uZGV2aWNlLW5hbWUtaW4tZGV2aWNlLWluZm8tc3RydWN0dXJlLnBhdGNoIHwg ICAyICstCiAuLi5kZS1kZXZpY2UtbmFtZS1pbi1lcnJvci13aGVuLXNldHRpbmcucGF0Y2ggfCAg IDIgKy0KIGRlYmlhbi9wYXRjaGVzL3NlcmllcyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAz MyAtLQogcWVtdSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAy ICstCiA4NSBmaWxlcyBjaGFuZ2VkLCAyOTQgaW5zZXJ0aW9ucygrKSwgMzYwNyBkZWxldGlvbnMo LSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA1LWJsb2NrLWNv cHktYmVmb3JlLXdyaXRlLXVzZS11aW50NjRfdC1mb3ItdGltZW91dC1pbi0ucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBkZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA2LWJsb2NrLWNvcHktYmVmb3Jl LXdyaXRlLWZpeC1wZXJtaXNzaW9uLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3Bh dGNoZXMvZXh0cmEvMDAwNy1ibG9jay1jb3B5LWJlZm9yZS13cml0ZS1zdXBwb3J0LXVubGlnbmVk LXNuYXBzaG90LWRpLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0 cmEvMDAwOC1ibG9jay1jb3B5LWJlZm9yZS13cml0ZS1jcmVhdGUtYmxvY2tfY29weS1iaXRtYXAt aW4tLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwOS1x YXBpLWJsb2NrZGV2LWJhY2t1cC1hZGQtZGlzY2FyZC1zb3VyY2UtcGFyYW1ldGVyLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMC1ody12aXJ0aW8tRml4 LXRoZS1kZS1pbml0aWFsaXphdGlvbi1vZi12aG9zdC11c2VyLWRlLnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMS10YXJnZXQtYXJtLVVzZS1mbG9hdF9z dGF0dXMtY29weS1pbi1zbWVfZm1vcGFfcy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlh bi9wYXRjaGVzL2V4dHJhLzAwMTItdGFyZ2V0LWFybS1Vc2UtRlBTVF9GMTYtZm9yLVNNRS1GTU9Q QS13aWRlbmluZy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJh LzAwMTMtc2NzaS1maXgtcmVncmVzc2lvbi1hbmQtaG9ub3ItYm9vdGluZGV4LWFnYWluLWZvci1s ZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTQtaHct c2NzaS1sc2k1M2M4OTVhLWJ1bXAtaW5zdHJ1Y3Rpb24tbGltaXQtaW4tc2NyaXB0cy5wYXRjaAog ZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTUtYmxvY2stY29weS1G aXgtbWlzc2luZy1ncmFwaC1sb2NrLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3Bh dGNoZXMvZXh0cmEvMDAxNi1SZXZlcnQtcWVtdS1jaGFyLWRvLW5vdC1vcGVyYXRlLW9uLXNvdXJj ZXMtZnJvbS1maW5hLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0 cmEvMDAxNy12aXJ0aW8tcGNpLUZpeC10aGUtdXNlLW9mLWFuLXVuaW5pdGlhbGl6ZWQtaXJxZmQu cGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDE4LXZpcnRp by1uZXQtRW5zdXJlLXF1ZXVlLWluZGV4LWZpdHMtd2l0aC1SU1MucGF0Y2gKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBkZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDE5LXZpcnRpby1uZXQtRml4LW5ldHdvcmst c3RhbGwtYXQtdGhlLWhvc3Qtc2lkZS13YWl0aW4ucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBk ZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDIwLW5ldC1SZWluc3RhdGUtbmV0LW5pYy1tb2RlbC1oZWxw LW91dHB1dC1hcy1kb2N1bWVudGUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkZWJpYW4vcGF0 Y2hlcy9leHRyYS8wMDIxLW5ldC1GaXgtbmV0LW5pYy1tb2RlbC1mb3Itbm9uLWhlbHAtYXJndW1l bnRzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAyMi10 YXJnZXQtYXJtLURvbi10LWFzc2VydC1mb3ItMTI4LWJpdC10aWxlLWFjY2Vzc2VzLXdoLnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAyMy10YXJnZXQtYXJt LUZpeC1VTU9QQS1VTU9QUy1vZi0xNi1iaXQtdmFsdWVzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAyNC10YXJnZXQtYXJtLUF2b2lkLXNoaWZ0cy1ieS0x LWluLXRzemltbV9zaHItYW5kLXRzemltLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFu L3BhdGNoZXMvZXh0cmEvMDAyNS10YXJnZXQtYXJtLUlnbm9yZS1TTUNSX0VMMi5MRU4tYW5kLVNW Q1JfRUwyLkxFTi1pZi1FLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMv ZXh0cmEvMDAyNi10YXJnZXQtYXJtLUhhbmRsZS1kZW5vcm1hbHMtY29ycmVjdGx5LWZvci1GTU9Q QS13aWRlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAy Ny1pbnRlbF9pb21tdS1maXgtRlJDRC1jb25zdHJ1Y3Rpb24tbWFjcm8ucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBkZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDI4LXRhcmdldC1pMzg2LURvLW5vdC1h cHBseS1SRVgtdG8tTU1YLW9wZXJhbmRzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFu L3BhdGNoZXMvZXh0cmEvMDAyOS1tb2R1bGUtUHJldmVudC1jcmFzaC1ieS1yZXNldHRpbmctbG9j YWxfZXJyLWluLW1vZHVsLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMv ZXh0cmEvMDAzMC1uYmQtc2VydmVyLVBsdW1iLWluLW5ldy1hcmdzLXRvLW5iZF9jbGllbnRfYWRk LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzMS1uYmQt c2VydmVyLUNWRS0yMDI0LTc0MDktQ2FwLWRlZmF1bHQtbWF4LWNvbm5lY3Rpb25zLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzMi1uYmQtc2VydmVyLUNW RS0yMDI0LTc0MDktRHJvcC1ub24tbmVnb3RpYXRpbmctY2xpZW50LnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzMy1uYmQtc2VydmVyLUNWRS0yMDI0LTc0 MDktQ2xvc2Utc3RyYXktY2xpZW50cy1hdC1zZXJ2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg ZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzNC12bmMtZml4LWNyYXNoLXdoZW4tbm8tY29uc29sZS1h dHRhY2hlZC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAw MzUtbmJkLXNlcnZlci1DVkUtMjAyNC03NDA5LUF2b2lkLXVzZS1hZnRlci1mcmVlLXdoZW4tYy5w YXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMzYtc29mdG1t dS1waHlzbWVtLWZpeC1tZW1vcnktbGVhay1pbi1kaXJ0eV9tZW1vcnlfZXh0ZS5wYXRjaAogZGVs ZXRlIG1vZGUgMTAwNjQ0IGRlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMzctYmxvY2stcmVxbGlzdC1h bGxvdy1hZGRpbmctb3ZlcmxhcHBpbmctcmVxdWVzdHMucGF0Y2gKCmRpZmYgLS1naXQgYS9kZWJp YW4vcGF0Y2hlcy9iaXRtYXAtbWlycm9yLzAwMDEtZHJpdmUtbWlycm9yLWFkZC1zdXBwb3J0LWZv ci1zeW5jLWJpdG1hcC1tb2RlLW5ldmVyLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvYml0bWFwLW1p cnJvci8wMDAxLWRyaXZlLW1pcnJvci1hZGQtc3VwcG9ydC1mb3Itc3luYy1iaXRtYXAtbW9kZS1u ZXZlci5wYXRjaAppbmRleCAwNTMyODk2Li5kZGYyNmU0IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0 Y2hlcy9iaXRtYXAtbWlycm9yLzAwMDEtZHJpdmUtbWlycm9yLWFkZC1zdXBwb3J0LWZvci1zeW5j LWJpdG1hcC1tb2RlLW5ldmVyLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL2JpdG1hcC1taXJy b3IvMDAwMS1kcml2ZS1taXJyb3ItYWRkLXN1cHBvcnQtZm9yLXN5bmMtYml0bWFwLW1vZGUtbmV2 ZXIucGF0Y2gKQEAgLTI3LDcgKzI3LDcgQEAgU2lnbmVkLW9mZi1ieTogTWEgSGFvY29uZyA8bWFo YW9jb25nQGRpZGljaHV4aW5nLmNvbT4KIFNpZ25lZC1vZmYtYnk6IEpvaG4gU25vdyA8anNub3dA cmVkaGF0LmNvbT4KIFNpZ25lZC1vZmYtYnk6IEZhYmlhbiBHcsO8bmJpY2hsZXIgPGYuZ3J1ZW5i aWNobGVyQHByb3htb3guY29tPgogU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5s YW1wcmVjaHRAcHJveG1veC5jb20+Ci1bRkU6IHJlYmFzZWQgZm9yIDguMi4yXQorW0ZFOiByZWJh c2VkIGZvciA5LjEuMl0KIFNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3ht b3guY29tPgogLS0tCiAgYmxvY2svbWlycm9yLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCA5 OSArKysrKysrKysrKysrKysrKysrKy0tLS0tLQpAQCAtMzgsNyArMzgsNyBAQCBTaWduZWQtb2Zm LWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KICA1IGZpbGVzIGNoYW5nZWQs IDE0MiBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2Jsb2Nr L21pcnJvci5jIGIvYmxvY2svbWlycm9yLmMKLWluZGV4IDFiZGNlM2I2NTcuLjBjNWM3MmRmMmUg MTAwNjQ0CitpbmRleCA2MWYwYTcxN2I3Li44M2E4ODU2MmM1IDEwMDY0NAogLS0tIGEvYmxvY2sv bWlycm9yLmMKICsrKyBiL2Jsb2NrL21pcnJvci5jCiBAQCAtNTEsNyArNTEsNyBAQCB0eXBlZGVm IHN0cnVjdCBNaXJyb3JCbG9ja0pvYiB7CkBAIC01OSw3ICs1OSw3IEBAIGluZGV4IDFiZGNlM2I2 NTcuLjBjNWM3MmRmMmUgMTAwNjQ0CiAgICAgIEJkcnZEaXJ0eUJpdG1hcCAqZGlydHlfYml0bWFw OwogICAgICBCZHJ2RGlydHlCaXRtYXBJdGVyICpkYmk7CiAgICAgIHVpbnQ4X3QgKmJ1ZjsKLUBA IC03MjIsNyArNzI0LDggQEAgc3RhdGljIGludCBtaXJyb3JfZXhpdF9jb21tb24oSm9iICpqb2Ip CitAQCAtNzIzLDcgKzcyNSw4IEBAIHN0YXRpYyBpbnQgbWlycm9yX2V4aXRfY29tbW9uKEpvYiAq am9iKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yX2Fib3J0KTsKICAKICAg ICAgaWYgKCFhYm9ydCAmJiBzLT5iYWNraW5nX21vZGUgPT0gTUlSUk9SX1NPVVJDRV9CQUNLSU5H X0NIQUlOKSB7CkBAIC02OSw3ICs2OSw3IEBAIGluZGV4IDFiZGNlM2I2NTcuLjBjNWM3MmRmMmUg MTAwNjQ0CiAgICAgICAgICBCbG9ja0RyaXZlclN0YXRlICp1bmZpbHRlcmVkX3RhcmdldCA9IGJk cnZfc2tpcF9maWx0ZXJzKHRhcmdldF9icyk7CiAgCiAgICAgICAgICBpZiAoYmRydl9jb3dfYnMo dW5maWx0ZXJlZF90YXJnZXQpICE9IGJhY2tpbmcpIHsKLUBAIC04MTksNiArODIyLDE2IEBAIHN0 YXRpYyB2b2lkIG1pcnJvcl9hYm9ydChKb2IgKmpvYikKK0BAIC04MjQsNiArODI3LDE2IEBAIHN0 YXRpYyB2b2lkIG1pcnJvcl9hYm9ydChKb2IgKmpvYikKICAgICAgYXNzZXJ0KHJldCA9PSAwKTsK ICB9CiAgCkBAIC04Niw3ICs4Niw3IEBAIGluZGV4IDFiZGNlM2I2NTcuLjBjNWM3MmRmMmUgMTAw NjQ0CiAgc3RhdGljIHZvaWQgY29yb3V0aW5lX2ZuIG1pcnJvcl90aHJvdHRsZShNaXJyb3JCbG9j a0pvYiAqcykKICB7CiAgICAgIGludDY0X3Qgbm93ID0gcWVtdV9jbG9ja19nZXRfbnMoUUVNVV9D TE9DS19SRUFMVElNRSk7Ci1AQCAtMTAxNSw3ICsxMDI4LDggQEAgc3RhdGljIGludCBjb3JvdXRp bmVfZm4gbWlycm9yX3J1bihKb2IgKmpvYiwgRXJyb3IgKiplcnJwKQorQEAgLTEwMjAsNyArMTAz Myw4IEBAIHN0YXRpYyBpbnQgY29yb3V0aW5lX2ZuIG1pcnJvcl9ydW4oSm9iICpqb2IsIEVycm9y ICoqZXJycCkKICAgICAgbWlycm9yX2ZyZWVfaW5pdChzKTsKICAKICAgICAgcy0+bGFzdF9wYXVz ZV9ucyA9IHFlbXVfY2xvY2tfZ2V0X25zKFFFTVVfQ0xPQ0tfUkVBTFRJTUUpOwpAQCAtOTYsNyAr OTYsNyBAQCBpbmRleCAxYmRjZTNiNjU3Li4wYzVjNzJkZjJlIDEwMDY0NAogICAgICAgICAgcmV0 ID0gbWlycm9yX2RpcnR5X2luaXQocyk7CiAgICAgICAgICBpZiAocmV0IDwgMCB8fCBqb2JfaXNf Y2FuY2VsbGVkKCZzLT5jb21tb24uam9iKSkgewogICAgICAgICAgICAgIGdvdG8gaW1tZWRpYXRl X2V4aXQ7Ci1AQCAtMTMwNCw2ICsxMzE4LDcgQEAgc3RhdGljIGNvbnN0IEJsb2NrSm9iRHJpdmVy IG1pcnJvcl9qb2JfZHJpdmVyID0geworQEAgLTEzMDksNiArMTMyMyw3IEBAIHN0YXRpYyBjb25z dCBCbG9ja0pvYkRyaXZlciBtaXJyb3Jfam9iX2RyaXZlciA9IHsKICAgICAgICAgIC5ydW4gICAg ICAgICAgICAgICAgICAgID0gbWlycm9yX3J1biwKICAgICAgICAgIC5wcmVwYXJlICAgICAgICAg ICAgICAgID0gbWlycm9yX3ByZXBhcmUsCiAgICAgICAgICAuYWJvcnQgICAgICAgICAgICAgICAg ICA9IG1pcnJvcl9hYm9ydCwKQEAgLTEwNCw3ICsxMDQsNyBAQCBpbmRleCAxYmRjZTNiNjU3Li4w YzVjNzJkZjJlIDEwMDY0NAogICAgICAgICAgLnBhdXNlICAgICAgICAgICAgICAgICAgPSBtaXJy b3JfcGF1c2UsCiAgICAgICAgICAuY29tcGxldGUgICAgICAgICAgICAgICA9IG1pcnJvcl9jb21w bGV0ZSwKICAgICAgICAgIC5jYW5jZWwgICAgICAgICAgICAgICAgID0gbWlycm9yX2NhbmNlbCwK LUBAIC0xMzIyLDYgKzEzMzcsNyBAQCBzdGF0aWMgY29uc3QgQmxvY2tKb2JEcml2ZXIgY29tbWl0 X2FjdGl2ZV9qb2JfZHJpdmVyID0geworQEAgLTEzMjcsNiArMTM0Miw3IEBAIHN0YXRpYyBjb25z dCBCbG9ja0pvYkRyaXZlciBjb21taXRfYWN0aXZlX2pvYl9kcml2ZXIgPSB7CiAgICAgICAgICAu cnVuICAgICAgICAgICAgICAgICAgICA9IG1pcnJvcl9ydW4sCiAgICAgICAgICAucHJlcGFyZSAg ICAgICAgICAgICAgICA9IG1pcnJvcl9wcmVwYXJlLAogICAgICAgICAgLmFib3J0ICAgICAgICAg ICAgICAgICAgPSBtaXJyb3JfYWJvcnQsCkBAIC0xMTIsNyArMTEyLDcgQEAgaW5kZXggMWJkY2Uz YjY1Ny4uMGM1YzcyZGYyZSAxMDA2NDQKICAgICAgICAgIC5wYXVzZSAgICAgICAgICAgICAgICAg ID0gbWlycm9yX3BhdXNlLAogICAgICAgICAgLmNvbXBsZXRlICAgICAgICAgICAgICAgPSBtaXJy b3JfY29tcGxldGUsCiAgICAgICAgICAuY2FuY2VsICAgICAgICAgICAgICAgICA9IGNvbW1pdF9h Y3RpdmVfY2FuY2VsLAotQEAgLTE3MTQsNyArMTczMCwxMCBAQCBzdGF0aWMgQmxvY2tKb2IgKm1p cnJvcl9zdGFydF9qb2IoCitAQCAtMTcxOSw3ICsxNzM1LDEwIEBAIHN0YXRpYyBCbG9ja0pvYiAq bWlycm9yX3N0YXJ0X2pvYigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NrQ29t cGxldGlvbkZ1bmMgKmNiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3Bh cXVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQmxvY2tKb2JEcml2ZXIg KmRyaXZlciwKQEAgLTEyMyw4ICsxMjMsOCBAQCBpbmRleCAxYmRjZTNiNjU3Li4wYzVjNzJkZjJl IDEwMDY0NAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAq YmFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYXV0b19jb21wbGV0ZSwg Y29uc3QgY2hhciAqZmlsdGVyX25vZGVfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJvb2wgaXNfbWlycm9yLCBNaXJyb3JDb3B5TW9kZSBjb3B5X21vZGUsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApCi1AQCAtMTcyOCwxMCArMTc0NywzOSBA QCBzdGF0aWMgQmxvY2tKb2IgKm1pcnJvcl9zdGFydF9qb2IoCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sIGJhc2Vfcm8sCitAQCAtMTczNCwxMCArMTc1MywzOSBAQCBzdGF0aWMg QmxvY2tKb2IgKm1pcnJvcl9zdGFydF9qb2IoCiAgCiAgICAgIEdMT0JBTF9TVEFURV9DT0RFKCk7 CiAgCkBAIC0xNjYsNyArMTY2LDcgQEAgaW5kZXggMWJkY2UzYjY1Ny4uMGM1YzcyZGYyZSAxMDA2 NDQKICAgICAgYXNzZXJ0KGlzX3Bvd2VyX29mXzIoZ3JhbnVsYXJpdHkpKTsKICAKICAgICAgaWYg KGJ1Zl9zaXplIDwgMCkgewotQEAgLTE4NzEsNyArMTkxOSw5IEBAIHN0YXRpYyBCbG9ja0pvYiAq bWlycm9yX3N0YXJ0X2pvYigKK0BAIC0xODc4LDcgKzE5MjYsOSBAQCBzdGF0aWMgQmxvY2tKb2Ig Km1pcnJvcl9zdGFydF9qb2IoCiAgICAgIHMtPnJlcGxhY2VzID0gZ19zdHJkdXAocmVwbGFjZXMp OwogICAgICBzLT5vbl9zb3VyY2VfZXJyb3IgPSBvbl9zb3VyY2VfZXJyb3I7CiAgICAgIHMtPm9u X3RhcmdldF9lcnJvciA9IG9uX3RhcmdldF9lcnJvcjsKQEAgLTE3Nyw3ICsxNzcsNyBAQCBpbmRl eCAxYmRjZTNiNjU3Li4wYzVjNzJkZjJlIDEwMDY0NAogICAgICBzLT5iYWNraW5nX21vZGUgPSBi YWNraW5nX21vZGU7CiAgICAgIHMtPnplcm9fdGFyZ2V0ID0gemVyb190YXJnZXQ7CiAgICAgIHFh dG9taWNfc2V0KCZzLT5jb3B5X21vZGUsIGNvcHlfbW9kZSk7Ci1AQCAtMTg5Nyw2ICsxOTQ3LDE4 IEBAIHN0YXRpYyBCbG9ja0pvYiAqbWlycm9yX3N0YXJ0X2pvYigKK0BAIC0xOTA0LDYgKzE5NTQs MTggQEAgc3RhdGljIEJsb2NrSm9iICptaXJyb3Jfc3RhcnRfam9iKAogICAgICAgKi8KICAgICAg YmRydl9kaXNhYmxlX2RpcnR5X2JpdG1hcChzLT5kaXJ0eV9iaXRtYXApOwogIApAQCAtMTk2LDcg KzE5Niw3IEBAIGluZGV4IDFiZGNlM2I2NTcuLjBjNWM3MmRmMmUgMTAwNjQ0CiAgICAgIGJkcnZf Z3JhcGhfd3Jsb2NrKCk7CiAgICAgIHJldCA9IGJsb2NrX2pvYl9hZGRfYmRydigmcy0+Y29tbW9u LCAic291cmNlIiwgYnMsIDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCTEtfUEVS TV9XUklURV9VTkNIQU5HRUQgfCBCTEtfUEVSTV9XUklURSB8Ci1AQCAtMTk3OSw2ICsyMDQxLDkg QEAgZmFpbDoKK0BAIC0xOTg2LDYgKzIwNDgsOSBAQCBmYWlsOgogICAgICAgICAgaWYgKHMtPmRp cnR5X2JpdG1hcCkgewogICAgICAgICAgICAgIGJkcnZfcmVsZWFzZV9kaXJ0eV9iaXRtYXAocy0+ ZGlydHlfYml0bWFwKTsKICAgICAgICAgIH0KQEAgLTIwNiw3ICsyMDYsNyBAQCBpbmRleCAxYmRj ZTNiNjU3Li4wYzVjNzJkZjJlIDEwMDY0NAogICAgICAgICAgam9iX2Vhcmx5X2ZhaWwoJnMtPmNv bW1vbi5qb2IpOwogICAgICB9CiAgCi1AQCAtMjAwMSwzNSArMjA2NiwyOCBAQCB2b2lkIG1pcnJv cl9zdGFydChjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAorQEAgLTIw MDgsMzUgKzIwNzMsMjggQEAgdm9pZCBtaXJyb3Jfc3RhcnQoY29uc3QgY2hhciAqam9iX2lkLCBC bG9ja0RyaXZlclN0YXRlICpicywKICAgICAgICAgICAgICAgICAgICBCbG9ja0RyaXZlclN0YXRl ICp0YXJnZXQsIGNvbnN0IGNoYXIgKnJlcGxhY2VzLAogICAgICAgICAgICAgICAgICAgIGludCBj cmVhdGlvbl9mbGFncywgaW50NjRfdCBzcGVlZCwKICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBncmFudWxhcml0eSwgaW50NjRfdCBidWZfc2l6ZSwKQEAgLTI0MSwxMyArMjQxLDEzIEBAIGlu ZGV4IDFiZGNlM2I2NTcuLjBjNWM3MmRmMmUgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAg c3BlZWQsIGdyYW51bGFyaXR5LCBidWZfc2l6ZSwgYmFja2luZ19tb2RlLCB6ZXJvX3RhcmdldCwK ICAgICAgICAgICAgICAgICAgICAgICBvbl9zb3VyY2VfZXJyb3IsIG9uX3RhcmdldF9lcnJvciwg dW5tYXAsIE5VTEwsIE5VTEwsCiAtICAgICAgICAgICAgICAgICAgICAgJm1pcnJvcl9qb2JfZHJp dmVyLCBpc19ub25lX21vZGUsIGJhc2UsIGZhbHNlLAotLSAgICAgICAgICAgICAgICAgICAgIGZp bHRlcl9ub2RlX25hbWUsIHRydWUsIGNvcHlfbW9kZSwgZXJycCk7CistICAgICAgICAgICAgICAg ICAgICAgZmlsdGVyX25vZGVfbmFtZSwgdHJ1ZSwgY29weV9tb2RlLCBmYWxzZSwgZXJycCk7CiAr ICAgICAgICAgICAgICAgICAgICAgJm1pcnJvcl9qb2JfZHJpdmVyLCBtb2RlLCBiaXRtYXAsIGJp dG1hcF9tb2RlLCBiYXNlLAotKyAgICAgICAgICAgICAgICAgICAgIGZhbHNlLCBmaWx0ZXJfbm9k ZV9uYW1lLCB0cnVlLCBjb3B5X21vZGUsIGVycnApOworKyAgICAgICAgICAgICAgICAgICAgIGZh bHNlLCBmaWx0ZXJfbm9kZV9uYW1lLCB0cnVlLCBjb3B5X21vZGUsIGZhbHNlLCBlcnJwKTsKICB9 CiAgCiAgQmxvY2tKb2IgKmNvbW1pdF9hY3RpdmVfc3RhcnQoY29uc3QgY2hhciAqam9iX2lkLCBC bG9ja0RyaXZlclN0YXRlICpicywKLUBAIC0yMDU2LDcgKzIxMTQsOCBAQCBCbG9ja0pvYiAqY29t bWl0X2FjdGl2ZV9zdGFydChjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJz LAorQEAgLTIwNjMsNyArMjEyMSw4IEBAIEJsb2NrSm9iICpjb21taXRfYWN0aXZlX3N0YXJ0KGNv bnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCiAgICAgICAgICAgICAgICAg ICAgICAgam9iX2lkLCBicywgY3JlYXRpb25fZmxhZ3MsIGJhc2UsIE5VTEwsIHNwZWVkLCAwLCAw LAogICAgICAgICAgICAgICAgICAgICAgIE1JUlJPUl9MRUFWRV9CQUNLSU5HX0NIQUlOLCBmYWxz ZSwKICAgICAgICAgICAgICAgICAgICAgICBvbl9lcnJvciwgb25fZXJyb3IsIHRydWUsIGNiLCBv cGFxdWUsCkBAIC0yNTUsMTMgKzI1NSwxMyBAQCBpbmRleCAxYmRjZTNiNjU3Li4wYzVjNzJkZjJl IDEwMDY0NAogKyAgICAgICAgICAgICAgICAgICAgICZjb21taXRfYWN0aXZlX2pvYl9kcml2ZXIs IE1JUlJPUl9TWU5DX01PREVfRlVMTCwKICsgICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLCBi YXNlLCBhdXRvX2NvbXBsZXRlLAogICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl9ub2RlX25h bWUsIGZhbHNlLCBNSVJST1JfQ09QWV9NT0RFX0JBQ0tHUk9VTkQsCi0gICAgICAgICAgICAgICAg ICAgICAgZXJycCk7CisgICAgICAgICAgICAgICAgICAgICAgYmFzZV9yZWFkX29ubHksIGVycnAp OwogICAgICBpZiAoIWpvYikgewogZGlmZiAtLWdpdCBhL2Jsb2NrZGV2LmMgYi9ibG9ja2Rldi5j Ci1pbmRleCA0YzMzYzNmNWYwLi5mM2U1MDhhNmE3IDEwMDY0NAoraW5kZXggODM1MDY0ZWQwMy4u OWIxMGUzOTE3YyAxMDA2NDQKIC0tLSBhL2Jsb2NrZGV2LmMKICsrKyBiL2Jsb2NrZGV2LmMKLUBA IC0yNzc2LDYgKzI3NzYsOSBAQCBzdGF0aWMgdm9pZCBibG9ja2Rldl9taXJyb3JfY29tbW9uKGNv bnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCitAQCAtMjc3OCw2ICsyNzc4 LDkgQEAgc3RhdGljIHZvaWQgYmxvY2tkZXZfbWlycm9yX2NvbW1vbihjb25zdCBjaGFyICpqb2Jf aWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqdGFyZ2V0LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgY2hhciAqcmVwbGFjZXMsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbnVtIE1pcnJvclN5bmNNb2RlIHN5bmMsCkBAIC0yNzEsNyArMjcxLDcg QEAgaW5kZXggNGMzM2MzZjVmMC4uZjNlNTA4YTZhNyAxMDA2NDQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJsb2NrTWlycm9yQmFja2luZ01vZGUgYmFja2luZ19tb2RlLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCB6ZXJvX3RhcmdldCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaGFzX3NwZWVkLCBpbnQ2NF90 IHNwZWVkLAotQEAgLTI3OTQsNiArMjc5Nyw3IEBAIHN0YXRpYyB2b2lkIGJsb2NrZGV2X21pcnJv cl9jb21tb24oY29uc3QgY2hhciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0y Nzk2LDYgKzI3OTksNyBAQCBzdGF0aWMgdm9pZCBibG9ja2Rldl9taXJyb3JfY29tbW9uKGNvbnN0 IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCiAgewogICAgICBCbG9ja0RyaXZl clN0YXRlICp1bmZpbHRlcmVkX2JzOwogICAgICBpbnQgam9iX2ZsYWdzID0gSk9CX0RFRkFVTFQ7 CkBAIC0yNzksNyArMjc5LDcgQEAgaW5kZXggNGMzM2MzZjVmMC4uZjNlNTA4YTZhNyAxMDA2NDQK ICAKICAgICAgR0xPQkFMX1NUQVRFX0NPREUoKTsKICAgICAgR1JBUEhfUkRMT0NLX0dVQVJEX01B SU5MT09QKCk7Ci1AQCAtMjg0OCw2ICsyODUyLDI5IEBAIHN0YXRpYyB2b2lkIGJsb2NrZGV2X21p cnJvcl9jb21tb24oY29uc3QgY2hhciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywKK0BA IC0yODUwLDYgKzI4NTQsMjkgQEAgc3RhdGljIHZvaWQgYmxvY2tkZXZfbWlycm9yX2NvbW1vbihj b25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAogICAgICAgICAgc3luYyA9 IE1JUlJPUl9TWU5DX01PREVfRlVMTDsKICAgICAgfQogIApAQCAtMzA5LDcgKzMwOSw3IEBAIGlu ZGV4IDRjMzNjM2Y1ZjAuLmYzZTUwOGE2YTcgMTAwNjQ0CiAgICAgIGlmICghcmVwbGFjZXMpIHsK ICAgICAgICAgIC8qIFdlIHdhbnQgdG8gbWlycm9yIGZyb20gQGJzLCBidXQga2VlcCBpbXBsaWNp dCBmaWx0ZXJzIG9uIHRvcCAqLwogICAgICAgICAgdW5maWx0ZXJlZF9icyA9IGJkcnZfc2tpcF9p bXBsaWNpdF9maWx0ZXJzKGJzKTsKLUBAIC0yODg5LDggKzI5MTYsOCBAQCBzdGF0aWMgdm9pZCBi bG9ja2Rldl9taXJyb3JfY29tbW9uKGNvbnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0 ZSAqYnMsCitAQCAtMjg5MSw4ICsyOTE4LDggQEAgc3RhdGljIHZvaWQgYmxvY2tkZXZfbWlycm9y X2NvbW1vbihjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAogICAgICAg KiBhbmQgd2lsbCBhbGxvdyB0byBjaGVjayB3aGV0aGVyIHRoZSBub2RlIHN0aWxsIGV4aXN0IGF0 IG1pcnJvciBjb21wbGV0aW9uCiAgICAgICAqLwogICAgICBtaXJyb3Jfc3RhcnQoam9iX2lkLCBi cywgdGFyZ2V0LApAQCAtMzIwLDcgKzMyMCw3IEBAIGluZGV4IDRjMzNjM2Y1ZjAuLmYzZTUwOGE2 YTcgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICBvbl9zb3VyY2VfZXJyb3IsIG9uX3RhcmdldF9l cnJvciwgdW5tYXAsIGZpbHRlcl9ub2RlX25hbWUsCiAgICAgICAgICAgICAgICAgICBjb3B5X21v ZGUsIGVycnApOwogIH0KLUBAIC0zMDM0LDYgKzMwNjEsOCBAQCB2b2lkIHFtcF9kcml2ZV9taXJy b3IoRHJpdmVNaXJyb3IgKmFyZywgRXJyb3IgKiplcnJwKQorQEAgLTMwMzYsNiArMzA2Myw4IEBA IHZvaWQgcW1wX2RyaXZlX21pcnJvcihEcml2ZU1pcnJvciAqYXJnLCBFcnJvciAqKmVycnApCiAg CiAgICAgIGJsb2NrZGV2X21pcnJvcl9jb21tb24oYXJnLT5qb2JfaWQsIGJzLCB0YXJnZXRfYnMs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLT5yZXBsYWNlcywgYXJnLT5zeW5jLApA QCAtMzI5LDcgKzMyOSw3IEBAIGluZGV4IDRjMzNjM2Y1ZjAuLmYzZTUwOGE2YTcgMTAwNjQ0CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2luZ19tb2RlLCB6ZXJvX3RhcmdldCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhcmctPmhhc19zcGVlZCwgYXJnLT5zcGVlZCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhcmctPmhhc19ncmFudWxhcml0eSwgYXJnLT5ncmFu dWxhcml0eSwKLUBAIC0zMDUzLDYgKzMwODIsOCBAQCB2b2lkIHFtcF9ibG9ja2Rldl9taXJyb3Io Y29uc3QgY2hhciAqam9iX2lkLAorQEAgLTMwNTUsNiArMzA4NCw4IEBAIHZvaWQgcW1wX2Jsb2Nr ZGV2X21pcnJvcihjb25zdCBjaGFyICpqb2JfaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKmRldmljZSwgY29uc3QgY2hhciAqdGFyZ2V0LAogICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpyZXBsYWNlcywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgTWlycm9yU3luY01vZGUgc3luYywKQEAgLTMzOCw3ICszMzgsNyBAQCBpbmRleCA0YzMzYzNm NWYwLi5mM2U1MDhhNmE3IDEwMDY0NAogICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGhh c19zcGVlZCwgaW50NjRfdCBzcGVlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBo YXNfZ3JhbnVsYXJpdHksIHVpbnQzMl90IGdyYW51bGFyaXR5LAogICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIGhhc19idWZfc2l6ZSwgaW50NjRfdCBidWZfc2l6ZSwKLUBAIC0zMDkzLDcg KzMxMjQsOCBAQCB2b2lkIHFtcF9ibG9ja2Rldl9taXJyb3IoY29uc3QgY2hhciAqam9iX2lkLAor QEAgLTMwOTUsNyArMzEyNiw4IEBAIHZvaWQgcW1wX2Jsb2NrZGV2X21pcnJvcihjb25zdCBjaGFy ICpqb2JfaWQsCiAgICAgIH0KICAKICAgICAgYmxvY2tkZXZfbWlycm9yX2NvbW1vbihqb2JfaWQs IGJzLCB0YXJnZXRfYnMsCkBAIC0zNjQsNyArMzY0LDcgQEAgaW5kZXggZWIyZDkyYTIyNi4uZjBj NjQyYjE5NCAxMDA2NDQKICAgICAgICAgICAgICAgICAgICBCbG9ja2Rldk9uRXJyb3Igb25fc291 cmNlX2Vycm9yLAogICAgICAgICAgICAgICAgICAgIEJsb2NrZGV2T25FcnJvciBvbl90YXJnZXRf ZXJyb3IsCiBkaWZmIC0tZ2l0IGEvcWFwaS9ibG9jay1jb3JlLmpzb24gYi9xYXBpL2Jsb2NrLWNv cmUuanNvbgotaW5kZXggYjE3OWQ2NTUyMC4uOTA1ZGE4YmU3MiAxMDA2NDQKK2luZGV4IGFhNDBk NDRmMWQuLmMyYTMzN2NjMDQgMTAwNjQ0CiAtLS0gYS9xYXBpL2Jsb2NrLWNvcmUuanNvbgogKysr IGIvcWFwaS9ibG9jay1jb3JlLmpzb24KIEBAIC0yMTc0LDYgKzIxNzQsMTUgQEAKZGlmZiAtLWdp dCBhL2RlYmlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwMi1kcml2ZS1taXJyb3ItYWRkLXN1 cHBvcnQtZm9yLWNvbmRpdGlvbmFsLWFuZC1hbHdheXMtLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMv Yml0bWFwLW1pcnJvci8wMDAyLWRyaXZlLW1pcnJvci1hZGQtc3VwcG9ydC1mb3ItY29uZGl0aW9u YWwtYW5kLWFsd2F5cy0ucGF0Y2gKaW5kZXggOGExYjVkOC4uN2JjZTNlYyAxMDA2NDQKLS0tIGEv ZGViaWFuL3BhdGNoZXMvYml0bWFwLW1pcnJvci8wMDAyLWRyaXZlLW1pcnJvci1hZGQtc3VwcG9y dC1mb3ItY29uZGl0aW9uYWwtYW5kLWFsd2F5cy0ucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMv Yml0bWFwLW1pcnJvci8wMDAyLWRyaXZlLW1pcnJvci1hZGQtc3VwcG9ydC1mb3ItY29uZGl0aW9u YWwtYW5kLWFsd2F5cy0ucGF0Y2gKQEAgLTI0LDEwICsyNCwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBU aG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdl ZCwgMTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2Jsb2Nr L21pcnJvci5jIGIvYmxvY2svbWlycm9yLmMKLWluZGV4IDBjNWM3MmRmMmUuLjM3ZmVlM2ZhMjUg MTAwNjQ0CitpbmRleCA4M2E4ODU2MmM1Li5mYzQzOWVhOTM2IDEwMDY0NAogLS0tIGEvYmxvY2sv bWlycm9yLmMKICsrKyBiL2Jsb2NrL21pcnJvci5jCi1AQCAtNjkzLDggKzY5Myw2IEBAIHN0YXRp YyBpbnQgbWlycm9yX2V4aXRfY29tbW9uKEpvYiAqam9iKQorQEAgLTY5NCw4ICs2OTQsNiBAQCBz dGF0aWMgaW50IG1pcnJvcl9leGl0X2NvbW1vbihKb2IgKmpvYikKICAgICAgICAgIGJkcnZfdW5m cmVlemVfYmFja2luZ19jaGFpbihtaXJyb3JfdG9wX2JzLCB0YXJnZXRfYnMpOwogICAgICB9CiAg CkBAIC0zNiw3ICszNiw3IEBAIGluZGV4IDBjNWM3MmRmMmUuLjM3ZmVlM2ZhMjUgMTAwNjQ0CiAg ICAgIC8qIE1ha2Ugc3VyZSB0aGF0IHRoZSBzb3VyY2UgQkRTIGRvZXNuJ3QgZ28gYXdheSBkdXJp bmcgYmRydl9yZXBsYWNlX25vZGUsCiAgICAgICAqIGJlZm9yZSB3ZSBjYW4gY2FsbCBiZHJ2X2Ry YWluZWRfZW5kICovCiAgICAgIGJkcnZfcmVmKHNyYyk7Ci1AQCAtODAwLDYgKzc5OCwxOCBAQCBz dGF0aWMgaW50IG1pcnJvcl9leGl0X2NvbW1vbihKb2IgKmpvYikKK0BAIC04MDUsNiArODAzLDE4 IEBAIHN0YXRpYyBpbnQgbWlycm9yX2V4aXRfY29tbW9uKEpvYiAqam9iKQogICAgICBiZHJ2X2Ry YWluZWRfZW5kKHRhcmdldF9icyk7CiAgICAgIGJkcnZfdW5yZWYodGFyZ2V0X2JzKTsKICAKQEAg LTU1LDcgKzU1LDcgQEAgaW5kZXggMGM1YzcyZGYyZS4uMzdmZWUzZmEyNSAxMDA2NDQKICAgICAg YnNfb3BhcXVlLT5qb2IgPSBOVUxMOwogIAogICAgICBiZHJ2X2RyYWluZWRfZW5kKHNyYyk7Ci1A QCAtMTc1NywxMCArMTc2Nyw2IEBAIHN0YXRpYyBCbG9ja0pvYiAqbWlycm9yX3N0YXJ0X2pvYigK K0BAIC0xNzYzLDEwICsxNzczLDYgQEAgc3RhdGljIEJsb2NrSm9iICptaXJyb3Jfc3RhcnRfam9i KAogICAgICAgICAgICAgICAgICAgICAgICAgIiBzeW5jIG1vZGUiLAogICAgICAgICAgICAgICAg ICAgICAgICAgTWlycm9yU3luY01vZGVfc3RyKHN5bmNfbW9kZSkpOwogICAgICAgICAgICAgIHJl dHVybiBOVUxMOwpAQCAtNjYsNyArNjYsNyBAQCBpbmRleCAwYzVjNzJkZjJlLi4zN2ZlZTNmYTI1 IDEwMDY0NAogICAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKGJpdG1hcCkgewogICAgICAgICAg ZXJyb3Jfc2V0ZyhlcnJwLAotQEAgLTE3NzcsNiArMTc4MywxMiBAQCBzdGF0aWMgQmxvY2tKb2Ig Km1pcnJvcl9zdGFydF9qb2IoCitAQCAtMTc4Myw2ICsxNzg5LDEyIEBAIHN0YXRpYyBCbG9ja0pv YiAqbWlycm9yX3N0YXJ0X2pvYigKICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAg IH0KICAgICAgICAgIGdyYW51bGFyaXR5ID0gYmRydl9kaXJ0eV9iaXRtYXBfZ3JhbnVsYXJpdHko Yml0bWFwKTsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwMy1t aXJyb3ItYWRkLWNoZWNrLWZvci1iaXRtYXAtbW9kZS13aXRob3V0LWJpdG1hcC5wYXRjaCBiL2Rl Ymlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwMy1taXJyb3ItYWRkLWNoZWNrLWZvci1iaXRt YXAtbW9kZS13aXRob3V0LWJpdG1hcC5wYXRjaAppbmRleCBkMWUwZmIwLi5kODJjNDE1IDEwMDY0 NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9iaXRtYXAtbWlycm9yLzAwMDMtbWlycm9yLWFkZC1jaGVj ay1mb3ItYml0bWFwLW1vZGUtd2l0aG91dC1iaXRtYXAucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNo ZXMvYml0bWFwLW1pcnJvci8wMDAzLW1pcnJvci1hZGQtY2hlY2stZm9yLWJpdG1hcC1tb2RlLXdp dGhvdXQtYml0bWFwLnBhdGNoCkBAIC0xNiwxMCArMTYsMTAgQEAgU2lnbmVkLW9mZi1ieTogVGhv bWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2tkZXYuYyBiL2Jsb2NrZGV2LmMK LWluZGV4IGYzZTUwOGE2YTcuLjM3Yjg0MzdmM2UgMTAwNjQ0CitpbmRleCA5YjEwZTM5MTdjLi5j M2ZhODk3Mjg5IDEwMDY0NAogLS0tIGEvYmxvY2tkZXYuYwogKysrIGIvYmxvY2tkZXYuYwotQEAg LTI4NzMsNiArMjg3Myw5IEBAIHN0YXRpYyB2b2lkIGJsb2NrZGV2X21pcnJvcl9jb21tb24oY29u c3QgY2hhciAqam9iX2lkLCBCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0yODc1LDYgKzI4NzUs OSBAQCBzdGF0aWMgdm9pZCBibG9ja2Rldl9taXJyb3JfY29tbW9uKGNvbnN0IGNoYXIgKmpvYl9p ZCwgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCiAgICAgICAgICBpZiAoYmRydl9kaXJ0eV9iaXRtYXBf Y2hlY2soYml0bWFwLCBCRFJWX0JJVE1BUF9BTExPV19STywgZXJycCkpIHsKICAgICAgICAgICAg ICByZXR1cm47CiAgICAgICAgICB9CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9iaXRtYXAt bWlycm9yLzAwMDQtbWlycm9yLXN3aXRjaC10by1iZHJ2X2RpcnR5X2JpdG1hcF9tZXJnZV9pbnRl cm5hbC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwNC1taXJyb3Itc3dp dGNoLXRvLWJkcnZfZGlydHlfYml0bWFwX21lcmdlX2ludGVybmFsLnBhdGNoCmluZGV4IDMzZTY5 MjMuLmRlZTZjN2UgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAw NC1taXJyb3Itc3dpdGNoLXRvLWJkcnZfZGlydHlfYml0bWFwX21lcmdlX2ludGVybmFsLnBhdGNo CisrKyBiL2RlYmlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwNC1taXJyb3Itc3dpdGNoLXRv LWJkcnZfZGlydHlfYml0bWFwX21lcmdlX2ludGVybmFsLnBhdGNoCkBAIC0xNiwxMCArMTYsMTAg QEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5j b20+CiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKIAog ZGlmZiAtLWdpdCBhL2Jsb2NrL21pcnJvci5jIGIvYmxvY2svbWlycm9yLmMKLWluZGV4IDM3ZmVl M2ZhMjUuLjZiM2NjZTEwMDcgMTAwNjQ0CitpbmRleCBmYzQzOWVhOTM2Li5jZGU1ZDcxMGZkIDEw MDY0NAogLS0tIGEvYmxvY2svbWlycm9yLmMKICsrKyBiL2Jsb2NrL21pcnJvci5jCi1AQCAtODA0 LDggKzgwNCw4IEBAIHN0YXRpYyBpbnQgbWlycm9yX2V4aXRfY29tbW9uKEpvYiAqam9iKQorQEAg LTgwOSw4ICs4MDksOCBAQCBzdGF0aWMgaW50IG1pcnJvcl9leGl0X2NvbW1vbihKb2IgKmpvYikK ICAgICAgICAgICAgICAgam9iLT5yZXQgPT0gMCAmJiByZXQgPT0gMCkpIHsKICAgICAgICAgICAg ICAvKiBTdWNjZXNzOyBzeW5jaHJvbml6ZSBjb3B5IGJhY2sgdG8gc3luYy4gKi8KICAgICAgICAg ICAgICBiZHJ2X2NsZWFyX2RpcnR5X2JpdG1hcChzLT5zeW5jX2JpdG1hcCwgTlVMTCk7CkBAIC0z MCw3ICszMCw3IEBAIGluZGV4IDM3ZmVlM2ZhMjUuLjZiM2NjZTEwMDcgMTAwNjQ0CiAgICAgICAg ICB9CiAgICAgIH0KICAgICAgYmRydl9yZWxlYXNlX2RpcnR5X2JpdG1hcChzLT5kaXJ0eV9iaXRt YXApOwotQEAgLTE5NjQsMTEgKzE5NjQsOCBAQCBzdGF0aWMgQmxvY2tKb2IgKm1pcnJvcl9zdGFy dF9qb2IoCitAQCAtMTk3MSwxMSArMTk3MSw4IEBAIHN0YXRpYyBCbG9ja0pvYiAqbWlycm9yX3N0 YXJ0X2pvYigKICAgICAgfQogIAogICAgICBpZiAocy0+c3luY19tb2RlID09IE1JUlJPUl9TWU5D X01PREVfQklUTUFQKSB7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9iaXRtYXAtbWlycm9y LzAwMDYtbWlycm9yLW1vdmUtc29tZS1jaGVja3MtdG8tcW1wLnBhdGNoIGIvZGViaWFuL3BhdGNo ZXMvYml0bWFwLW1pcnJvci8wMDA2LW1pcnJvci1tb3ZlLXNvbWUtY2hlY2tzLXRvLXFtcC5wYXRj aAppbmRleCA5ZjY4ZTRmLi5mMDE2NWQ1IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9iaXRt YXAtbWlycm9yLzAwMDYtbWlycm9yLW1vdmUtc29tZS1jaGVja3MtdG8tcW1wLnBhdGNoCisrKyBi L2RlYmlhbi9wYXRjaGVzL2JpdG1hcC1taXJyb3IvMDAwNi1taXJyb3ItbW92ZS1zb21lLWNoZWNr cy10by1xbXAucGF0Y2gKQEAgLTIxLDEwICsyMSwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBF Ym5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KICAzIGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlv bnMoKyksIDU5IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svbWlycm9yLmMgYi9i bG9jay9taXJyb3IuYwotaW5kZXggNmIzY2NlMTAwNy4uMmYxMjIzODUyYiAxMDA2NDQKK2luZGV4 IGNkZTVkNzEwZmQuLmUyMGY1MGU1ZmIgMTAwNjQ0CiAtLS0gYS9ibG9jay9taXJyb3IuYwogKysr IGIvYmxvY2svbWlycm9yLmMKLUBAIC0xNzU3LDMxICsxNzU3LDEzIEBAIHN0YXRpYyBCbG9ja0pv YiAqbWlycm9yX3N0YXJ0X2pvYigKK0BAIC0xNzYzLDMxICsxNzYzLDEzIEBAIHN0YXRpYyBCbG9j a0pvYiAqbWlycm9yX3N0YXJ0X2pvYigKICAKICAgICAgR0xPQkFMX1NUQVRFX0NPREUoKTsKICAK QEAgLTYyLDEwICs2MiwxMCBAQCBpbmRleCA2YjNjY2UxMDA3Li4yZjEyMjM4NTJiIDEwMDY0NAog IAogICAgICAgICAgaWYgKGJpdG1hcF9tb2RlICE9IEJJVE1BUF9TWU5DX01PREVfTkVWRVIpIHsK IGRpZmYgLS1naXQgYS9ibG9ja2Rldi5jIGIvYmxvY2tkZXYuYwotaW5kZXggMzdiODQzN2YzZS4u ZWQ4MTk4ZjM1MSAxMDA2NDQKK2luZGV4IGMzZmE4OTcyODkuLjljYmQxNjY2NzQgMTAwNjQ0CiAt LS0gYS9ibG9ja2Rldi5jCiArKysgYi9ibG9ja2Rldi5jCi1AQCAtMjg1Miw3ICsyODUyLDM2IEBA IHN0YXRpYyB2b2lkIGJsb2NrZGV2X21pcnJvcl9jb21tb24oY29uc3QgY2hhciAqam9iX2lkLCBC bG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0yODU0LDcgKzI4NTQsMzYgQEAgc3RhdGljIHZvaWQg YmxvY2tkZXZfbWlycm9yX2NvbW1vbihjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3Rh dGUgKmJzLAogICAgICAgICAgc3luYyA9IE1JUlJPUl9TWU5DX01PREVfRlVMTDsKICAgICAgfQog IApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAwMS1tb25pdG9yLXFtcC1maXgt cmFjZS13aXRoLWNsaWVudHMtZGlzY29ubmVjdGluZy1lYXJsLnBhdGNoIGIvZGViaWFuL3BhdGNo ZXMvZXh0cmEvMDAwMS1tb25pdG9yLXFtcC1maXgtcmFjZS13aXRoLWNsaWVudHMtZGlzY29ubmVj dGluZy1lYXJsLnBhdGNoCmluZGV4IDQ1ZTdmODcuLmUwYmU4ODggMTAwNjQ0Ci0tLSBhL2RlYmlh bi9wYXRjaGVzL2V4dHJhLzAwMDEtbW9uaXRvci1xbXAtZml4LXJhY2Utd2l0aC1jbGllbnRzLWRp c2Nvbm5lY3RpbmctZWFybC5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDAxLW1v bml0b3ItcW1wLWZpeC1yYWNlLXdpdGgtY2xpZW50cy1kaXNjb25uZWN0aW5nLWVhcmwucGF0Y2gK QEAgLTQ4LDcgKzQ4LDcgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1w cmVjaHRAcHJveG1veC5jb20+CiAgNiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCA1 IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tb25pdG9yL21vbml0b3IuaCBi L2luY2x1ZGUvbW9uaXRvci9tb25pdG9yLmgKLWluZGV4IDk2NWY1ZDU0NTAuLmUwNGJkMDU5YjYg MTAwNjQ0CitpbmRleCBjMzc0MGVjNjE2Li43ZjM4Y2U2YjhiIDEwMDY0NAogLS0tIGEvaW5jbHVk ZS9tb25pdG9yL21vbml0b3IuaAogKysrIGIvaW5jbHVkZS9tb25pdG9yL21vbml0b3IuaAogQEAg LTE2LDYgKzE2LDcgQEAgZXh0ZXJuIFFlbXVPcHRzTGlzdCBxZW11X21vbl9vcHRzOwpAQCAtNjAs NyArNjAsNyBAQCBpbmRleCA5NjVmNWQ1NDUwLi5lMDRiZDA1OWI2IDEwMDY0NAogIHZvaWQgbW9u aXRvcl9pbml0X2dsb2JhbHModm9pZCk7CiAgdm9pZCBtb25pdG9yX2luaXRfZ2xvYmFsc19jb3Jl KHZvaWQpOwogZGlmZiAtLWdpdCBhL21vbml0b3IvbW9uaXRvci1pbnRlcm5hbC5oIGIvbW9uaXRv ci9tb25pdG9yLWludGVybmFsLmgKLWluZGV4IDI1MmRlODU2ODEuLjhkYjI4ZjkyNzIgMTAwNjQ0 CitpbmRleCBjYjYyOGY2ODFkLi45M2RiZDYyZmMyIDEwMDY0NAogLS0tIGEvbW9uaXRvci9tb25p dG9yLWludGVybmFsLmgKICsrKyBiL21vbml0b3IvbW9uaXRvci1pbnRlcm5hbC5oCiBAQCAtMTUx LDYgKzE1MSwxMyBAQCB0eXBlZGVmIHN0cnVjdCB7CkBAIC03OCwxMCArNzgsMTAgQEAgaW5kZXgg MjUyZGU4NTY4MS4uOGRiMjhmOTI3MiAxMDA2NDQKICAKICAvKioKIGRpZmYgLS1naXQgYS9tb25p dG9yL21vbml0b3IuYyBiL21vbml0b3IvbW9uaXRvci5jCi1pbmRleCAwMWVkZTFiYWJkLi41Njgx YmNhMzQ2IDEwMDY0NAoraW5kZXggZGI1MmE5YzdlZi4uMmQ2Mzk1OTM1MSAxMDA2NDQKIC0tLSBh L21vbml0b3IvbW9uaXRvci5jCiArKysgYi9tb25pdG9yL21vbml0b3IuYwotQEAgLTExNyw2ICsx MTcsMjEgQEAgYm9vbCBtb25pdG9yX2N1cl9pc19xbXAodm9pZCkKK0BAIC0xMTYsNiArMTE2LDIx IEBAIGJvb2wgbW9uaXRvcl9jdXJfaXNfcW1wKHZvaWQpCiAgICAgIHJldHVybiBjdXJfbW9uICYm IG1vbml0b3JfaXNfcW1wKGN1cl9tb24pOwogIH0KICAKQEAgLTEwNCw3ICsxMDQsNyBAQCBpbmRl eCAwMWVkZTFiYWJkLi41NjgxYmNhMzQ2IDEwMDY0NAogICAqIElzIEBtb24gaXMgdXNpbmcgcmVh ZGxpbmU/CiAgICogTm90ZTogbm90IGFsbCBITVAgbW9uaXRvcnMgdXNlIHJlYWRsaW5lLCBlLmcu LCBnZGJzZXJ2ZXIgaGFzIGEKIGRpZmYgLS1naXQgYS9tb25pdG9yL3FtcC5jIGIvbW9uaXRvci9x bXAuYwotaW5kZXggYTIzOTk0NWU4ZC4uNTg5Yzk1MjRmOCAxMDA2NDQKK2luZGV4IDVlNTM4ZjM0 YzAuLmViMTgxZDU5NzkgMTAwNjQ0CiAtLS0gYS9tb25pdG9yL3FtcC5jCiArKysgYi9tb25pdG9y L3FtcC5jCiBAQCAtMTY1LDYgKzE2NSw4IEBAIHN0YXRpYyB2b2lkIG1vbml0b3JfcW1wX2Rpc3Bh dGNoKE1vbml0b3JRTVAgKm1vbiwgUU9iamVjdCAqcmVxKQpAQCAtMTg5LDcgKzE4OSw3IEBAIGlu ZGV4IDE3NmI1NDk0NzMuLjc5MGJiN2QxZGEgMTAwNjQ0CiAgICAgICAgICBhaW9fYmhfc2NoZWR1 bGVfb25lc2hvdChpb2hhbmRsZXJfZ2V0X2Fpb19jb250ZXh0KCksIGRvX3FtcF9kaXNwYXRjaF9i aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhKTsKIGRpZmYgLS1naXQg YS9zdHVicy9tb25pdG9yLWNvcmUuYyBiL3N0dWJzL21vbml0b3ItY29yZS5jCi1pbmRleCBhZmE0 NzdhYWU2Li5kM2ZmMTI0YmYzIDEwMDY0NAoraW5kZXggMTg5NGNkZmUxZi4uZDc0ZDA0NTlmMCAx MDA2NDQKIC0tLSBhL3N0dWJzL21vbml0b3ItY29yZS5jCiArKysgYi9zdHVicy9tb25pdG9yLWNv cmUuYwogQEAgLTEyLDYgKzEyLDExIEBAIE1vbml0b3IgKm1vbml0b3Jfc2V0X2N1cihDb3JvdXRp bmUgKmNvLCBNb25pdG9yICptb24pCkBAIC0yMDEsNiArMjAxLDYgQEAgaW5kZXggYWZhNDc3YWFl Ni4uZDNmZjEyNGJmMyAxMDA2NDQKICsgICAgcmV0dXJuIC0xOwogK30KICsKLSB2b2lkIG1vbml0 b3JfaW5pdF9xbXAoQ2hhcmRldiAqY2hyLCBib29sIHByZXR0eSwgRXJyb3IgKiplcnJwKQorIHZv aWQgcWFwaV9ldmVudF9lbWl0KFFBUElFdmVudCBldmVudCwgUURpY3QgKnFkaWN0KQogIHsKICB9 CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDAzLWlkZS1hdm9pZC1wb3RlbnRp YWwtZGVhZGxvY2std2hlbi1kcmFpbmluZy1kdXJpbmctdHIucGF0Y2ggYi9kZWJpYW4vcGF0Y2hl cy9leHRyYS8wMDAzLWlkZS1hdm9pZC1wb3RlbnRpYWwtZGVhZGxvY2std2hlbi1kcmFpbmluZy1k dXJpbmctdHIucGF0Y2gKaW5kZXggNTAyYzlkMi4uYjk3Njg0ZCAxMDA2NDQKLS0tIGEvZGViaWFu L3BhdGNoZXMvZXh0cmEvMDAwMy1pZGUtYXZvaWQtcG90ZW50aWFsLWRlYWRsb2NrLXdoZW4tZHJh aW5pbmctZHVyaW5nLXRyLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDMtaWRl LWF2b2lkLXBvdGVudGlhbC1kZWFkbG9jay13aGVuLWRyYWluaW5nLWR1cmluZy10ci5wYXRjaApA QCAtNTUsNyArNTUsNyBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94 bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygt KQogCiBkaWZmIC0tZ2l0IGEvaHcvaWRlL2NvcmUuYyBiL2h3L2lkZS9jb3JlLmMKLWluZGV4IGU4 Y2IyZGFjOTIuLjNiMjFhY2Y2NTEgMTAwNjQ0CitpbmRleCAwOGQ5MjE4NDU1Li4yMGQ4YzBjZjY2 IDEwMDY0NAogLS0tIGEvaHcvaWRlL2NvcmUuYwogKysrIGIvaHcvaWRlL2NvcmUuYwogQEAgLTQ1 Niw3ICs0NTYsNyBAQCBzdGF0aWMgdm9pZCBpZGVfdHJpbV9iaF9jYih2b2lkICpvcGFxdWUpCmRp ZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA0LVJldmVydC14ODYtYWNwaS13b3Jr YXJvdW5kLVdpbmRvd3Mtbm90LWhhbmRsaW5nLW5hbWUucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9l eHRyYS8wMDA0LVJldmVydC14ODYtYWNwaS13b3JrYXJvdW5kLVdpbmRvd3Mtbm90LWhhbmRsaW5n LW5hbWUucGF0Y2gKaW5kZXggMjJlYjFlNy4uOTliOTQ5OSAxMDA2NDQKLS0tIGEvZGViaWFuL3Bh dGNoZXMvZXh0cmEvMDAwNC1SZXZlcnQteDg2LWFjcGktd29ya2Fyb3VuZC1XaW5kb3dzLW5vdC1o YW5kbGluZy1uYW1lLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDQtUmV2ZXJ0 LXg4Ni1hY3BpLXdvcmthcm91bmQtV2luZG93cy1ub3QtaGFuZGxpbmctbmFtZS5wYXRjaApAQCAt MjQsMTAgKzI0LDEwIEBAIFNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3ht b3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0p CiAKIGRpZmYgLS1naXQgYS9ody9pMzg2L2FjcGktYnVpbGQuYyBiL2h3L2kzODYvYWNwaS1idWls ZC5jCi1pbmRleCA1M2Y4MDRhYzE2Li45YjFiOWYwNDEyIDEwMDY0NAoraW5kZXggNWQ0YmQyYjcx MC4uNjcxOTRiYjcwNSAxMDA2NDQKIC0tLSBhL2h3L2kzODYvYWNwaS1idWlsZC5jCiArKysgYi9o dy9pMzg2L2FjcGktYnVpbGQuYwotQEAgLTM0NywxMyArMzQ3LDkgQEAgQW1sICphbWxfcGNpX2Rl dmljZV9kc20odm9pZCkKK0BAIC0zNDYsMTMgKzM0Niw5IEBAIEFtbCAqYW1sX3BjaV9kZXZpY2Vf ZHNtKHZvaWQpCiAgICAgIHsKICAgICAgICAgIEFtbCAqcGFyYW1zID0gYW1sX2xvY2FsKDApOwog ICAgICAgICAgQW1sICpwa2cgPSBhbWxfcGFja2FnZSgyKTsKZGlmZiAtLWdpdCBhL2RlYmlhbi9w YXRjaGVzL2V4dHJhLzAwMDUtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtdXNlLXVpbnQ2NF90LWZv ci10aW1lb3V0LWluLS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDUtYmxvY2stY29w eS1iZWZvcmUtd3JpdGUtdXNlLXVpbnQ2NF90LWZvci10aW1lb3V0LWluLS5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYThiZGQ4NS4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0 Y2hlcy9leHRyYS8wMDA1LWJsb2NrLWNvcHktYmVmb3JlLXdyaXRlLXVzZS11aW50NjRfdC1mb3It dGltZW91dC1pbi0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KLURhdGU6IE1v biwgMjkgQXByIDIwMjQgMTU6NDE6MTEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYmxvY2svY29w eS1iZWZvcmUtd3JpdGU6IHVzZSB1aW50NjRfdCBmb3IgdGltZW91dCBpbgotIG5hbm9zZWNvbmRz Ci0KLXJhdGhlciB0aGFuIHRoZSB1aW50MzJfdCBmb3Igd2hpY2ggdGhlIG1heGltdW0gaXMgc2xp Z2h0bHkgbW9yZSB0aGFuIDQKLXNlY29uZHMgYW5kIGxhcmdlciB2YWx1ZXMgd291bGQgb3ZlcmZs b3cuIFRoZSBRQVBJIGludGVyZmFjZSBhbGxvd3MKLXNwZWNpZnlpbmcgdGhlIG51bWJlciBvZiBz ZWNvbmRzLCBzbyBvbmx5IHZhbHVlcyAwIHRvIDQgYXJlIHNhZmUgcmlnaHQKLW5vdywgb3RoZXIg dmFsdWVzIGxlYWQgdG8gYSBtdWNoIGxvd2VyIHRpbWVvdXQgdGhhbiBhIHVzZXIgZXhwZWN0cy4K LQotVGhlIGJsb2NrX2NvcHkoKSBjYWxsIHdoZXJlIHRoaXMgaXMgdXNlZCBhbHJlYWR5IHRha2Vz IGEgdWludDY0X3QgZm9yCi10aGUgdGltZW91dCwgc28gbm8gY2hhbmdlIHJlcXVpcmVkIHRoZXJl LgotCi1GaXhlczogNmRiN2ZkMWNhOSAoImJsb2NrL2NvcHktYmVmb3JlLXdyaXRlOiBpbXBsZW1l bnQgY2J3LXRpbWVvdXQgb3B0aW9uIikKLVJlcG9ydGVkLWJ5OiBGcmllZHJpY2ggV2ViZXIgPGYu d2ViZXJAcHJveG1veC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KLVRlc3RlZC1ieTogRnJpZWRyaWNoIFdlYmVyIDxmLndlYmVyQHByb3htb3gu Y29tPgotLS0tCi0gYmxvY2svY29weS1iZWZvcmUtd3JpdGUuYyB8IDIgKy0KLSAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2Jsb2Nr L2NvcHktYmVmb3JlLXdyaXRlLmMgYi9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jCi1pbmRleCA4 YWJhMjdhNzFkLi4wMjZmYTk4NDBmIDEwMDY0NAotLS0tIGEvYmxvY2svY29weS1iZWZvcmUtd3Jp dGUuYwotKysrIGIvYmxvY2svY29weS1iZWZvcmUtd3JpdGUuYwotQEAgLTQzLDcgKzQzLDcgQEAg dHlwZWRlZiBzdHJ1Y3QgQkRSVkNvcHlCZWZvcmVXcml0ZVN0YXRlIHsKLSAgICAgQmxvY2tDb3B5 U3RhdGUgKmJjczsKLSAgICAgQmRydkNoaWxkICp0YXJnZXQ7Ci0gICAgIE9uQ2J3RXJyb3Igb25f Y2J3X2Vycm9yOwotLSAgICB1aW50MzJfdCBjYndfdGltZW91dF9uczsKLSsgICAgdWludDY0X3Qg Y2J3X3RpbWVvdXRfbnM7Ci0gCi0gICAgIC8qCi0gICAgICAqIEBsb2NrOiBwcm90ZWN0cyBhY2Nl c3MgdG8gQGFjY2Vzc19iaXRtYXAsIEBkb25lX2JpdG1hcCBhbmQKZGlmZiAtLWdpdCBhL2RlYmlh bi9wYXRjaGVzL2V4dHJhLzAwMDYtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtZml4LXBlcm1pc3Np b24ucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA2LWJsb2NrLWNvcHktYmVmb3JlLXdy aXRlLWZpeC1wZXJtaXNzaW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2 YTc1OWE0Li4wMDAwMDAwCi0tLSBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDYtYmxvY2stY29w eS1iZWZvcmUtd3JpdGUtZml4LXBlcm1pc3Npb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1 NSArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBWbGFkaW1pciBTZW1lbnRzb3YtT2dpZXZz a2l5IDx2c2VtZW50c292QHlhbmRleC10ZWFtLnJ1PgotRGF0ZTogVGh1LCAxMSBBcHIgMjAyNCAx MToyOToyMiArMDIwMAotU3ViamVjdDogW1BBVENIXSBibG9jay9jb3B5LWJlZm9yZS13cml0ZTog Zml4IHBlcm1pc3Npb24KLQotSW4gY2FzZSB3aGVuIHNvdXJjZSBub2RlIGRvZXMgbm90IGhhdmUg YW55IHBhcmVudHMsIHRoZSBjb25kaXRpb24gc3RpbGwKLXdvcmtzIGFzIHJlcXVpcmVkOiBiYWNr dXAgam9iIGRvIGNyZWF0ZSB0aGUgcGFyZW50IGJ5Ci0KLSAgYmxvY2tfam9iX2NyZWF0ZSAtPiBi bG9ja19qb2JfYWRkX2JkcnYgLT4gYmRydl9yb290X2F0dGFjaF9jaGlsZAotCi1TdGlsbCwgaW4g dGhpcyBjYXNlIGNoZWNraW5nIEBwZXJtIHZhcmlhYmxlIGRvZXNuJ3Qgd29yaywgYXMgYmFja3Vw IGpvYgotY3JlYXRlcyB0aGUgcm9vdCBibGsgd2l0aCBlbXB0eSBwZXJtaXNzaW9ucyAoYXMgaXQg cmVseSBvbiBDQlcgZmlsdGVyCi10byByZXF1aXJlIGNvcnJlY3QgcGVybWlzc2lvbnMgYW5kIGRv bid0IHdhbnQgdG8gY3JlYXRlIGV4dHJhCi1jb25mbGljdHMpLgotCi1Tbywgd2Ugc2hvdWxkIG5v dCBjaGVjayBAcGVybS4KLQotVGhlIGhhY2sgbWF5IGJlIGRyb3BwZWQgZW50aXJlbHkgd2hlbiB0 cmFuc2FjdGlvbmFsIGluc2VydGlvbiBvZgotZmlsdGVyICh3aGVuIHdlIGRvbid0IHRyeSB0byBy ZWNhbGN1bGF0ZSBwZXJtaXNzaW9ucyBpbiBpbnRlcm1lZGlhdGUKLXN0YXRlLCB3aGVuIGZpbHRl ciBkb2VzIGNvbmZsaWN0IHdpdGggb3JpZ2luYWwgcGFyZW50IG9mIHRoZSBzb3VyY2UKLW5vZGUp IG1lcmdlZCAob2xkIGJpZyBzZXJpZXMKLSJbUEFUQ0ggdjUgMDAvNDVdIFRyYW5zYWN0aW9uYWwg YmxvY2stZ3JhcGggbW9kaWZ5aW5nIEFQSSJbMV0gYW5kIGl0J3MKLWN1cnJlbnQgaW4tZmxpZ2h0 IHBhcnQgaXMgIltQQVRDSCB2OCAwLzddIGJsb2NrZGV2LXJlcGxhY2UiWzJdKQotCi1bMV0gaHR0 cHM6Ly9wYXRjaGV3Lm9yZy9RRU1VLzIwMjIwMzMwMjEyOTAyLjU5MDA5OS0xLXZzZW1lbnRzb3ZA b3BlbnZ6Lm9yZy8KLVsyXSBodHRwczovL3BhdGNoZXcub3JnL1FFTVUvMjAyMzEwMTcxODQ0NDQu OTMyNzMzLTEtdnNlbWVudHNvdkB5YW5kZXgtdGVhbS5ydS8KLQotU2lnbmVkLW9mZi1ieTogVmxh ZGltaXIgU2VtZW50c292LU9naWV2c2tpeSA8dnNlbWVudHNvdkB5YW5kZXgtdGVhbS5ydT4KLVNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotU2lnbmVkLW9m Zi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+Ci0tLS0KLSBi bG9jay9jb3B5LWJlZm9yZS13cml0ZS5jIHwgMTAgKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2Vk LCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ibG9jay9j b3B5LWJlZm9yZS13cml0ZS5jIGIvYmxvY2svY29weS1iZWZvcmUtd3JpdGUuYwotaW5kZXggMDI2 ZmE5ODQwZi4uNWE5NDU2ZDQyNiAxMDA2NDQKLS0tLSBhL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRl LmMKLSsrKyBiL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKLUBAIC0zNjQsOSArMzY0LDEzIEBA IGNid19jaGlsZF9wZXJtKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBCZHJ2Q2hpbGQgKmMsIEJkcnZD aGlsZFJvbGUgcm9sZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtLCBzaGFyZWQs IG5wZXJtLCBuc2hhcmVkKTsKLSAKLSAgICAgICAgIGlmICghUUxJU1RfRU1QVFkoJmJzLT5wYXJl bnRzKSkgewotLSAgICAgICAgICAgIGlmIChwZXJtICYgQkxLX1BFUk1fV1JJVEUpIHsKLS0gICAg ICAgICAgICAgICAgKm5wZXJtID0gKm5wZXJtIHwgQkxLX1BFUk1fQ09OU0lTVEVOVF9SRUFEOwot LSAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAvKgotKyAgICAgICAgICAgICAqIE5vdGUsIHRo YXQgc291cmNlIGNoaWxkIG1heSBiZSBzaGFyZWQgd2l0aCBiYWNrdXAgam9iLiBCYWNrdXAgam9i Ci0rICAgICAgICAgICAgICogZG9lcyBjcmVhdGUgb3duIGJsayBwYXJlbnQgb24gY29weS1iZWZv cmUtd3JpdGUgbm9kZSwgc28gdGhpcwotKyAgICAgICAgICAgICAqIHdvcmtzIGV2ZW4gaWYgc291 cmNlIG5vZGUgZG9lcyBub3QgaGF2ZSBhbnkgcGFyZW50cyBiZWZvcmUgYmFja3VwCi0rICAgICAg ICAgICAgICogc3RhcnQKLSsgICAgICAgICAgICAgKi8KLSsgICAgICAgICAgICAqbnBlcm0gPSAq bnBlcm0gfCBCTEtfUEVSTV9DT05TSVNURU5UX1JFQUQ7Ci0gICAgICAgICAgICAgKm5zaGFyZWQg Jj0gfihCTEtfUEVSTV9XUklURSB8IEJMS19QRVJNX1JFU0laRSk7Ci0gICAgICAgICB9Ci0gICAg IH0KZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDctYmxvY2stY29weS1iZWZv cmUtd3JpdGUtc3VwcG9ydC11bmxpZ25lZC1zbmFwc2hvdC1kaS5wYXRjaCBiL2RlYmlhbi9wYXRj aGVzL2V4dHJhLzAwMDctYmxvY2stY29weS1iZWZvcmUtd3JpdGUtc3VwcG9ydC11bmxpZ25lZC1z bmFwc2hvdC1kaS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjY1MWM1OC4u MDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA3LWJsb2NrLWNvcHktYmVmb3Jl LXdyaXRlLXN1cHBvcnQtdW5saWduZWQtc25hcHNob3QtZGkucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw0OCArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBWbGFkaW1pciBTZW1lbnRzb3Yt T2dpZXZza2l5IDx2c2VtZW50c292QHlhbmRleC10ZWFtLnJ1PgotRGF0ZTogVGh1LCAxMSBBcHIg MjAyNCAxMToyOToyMyArMDIwMAotU3ViamVjdDogW1BBVENIXSBibG9jay9jb3B5LWJlZm9yZS13 cml0ZTogc3VwcG9ydCB1bmxpZ25lZCBzbmFwc2hvdC1kaXNjYXJkCi0KLUZpcnN0IHRoaW5nIHRo YXQgY3Jhc2hlcyBvbiB1bmxpZ25lZCBhY2Nlc3MgaGVyZSBpcwotYmRydl9yZXNldF9kaXJ0eV9i aXRtYXAoKS4gQ29ycmVjdCB3YXkgaXMgdG8gYWxpZ24tZG93biB0aGUKLXNuYXBzaG90LWRpc2Nh cmQgcmVxdWVzdC4KLQotU2lnbmVkLW9mZi1ieTogVmxhZGltaXIgU2VtZW50c292LU9naWV2c2tp eSA8dnNlbWVudHNvdkB5YW5kZXgtdGVhbS5ydT4KLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVy IDxmLmVibmVyQHByb3htb3guY29tPgotU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8 dC5sYW1wcmVjaHRAcHJveG1veC5jb20+Ci0tLS0KLSBibG9jay9jb3B5LWJlZm9yZS13cml0ZS5j IHwgMTYgKysrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYmxvY2svY29weS1iZWZvcmUtd3JpdGUu YyBiL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKLWluZGV4IDVhOTQ1NmQ0MjYuLmMwZTcwNjY5 YTIgMTAwNjQ0Ci0tLS0gYS9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jCi0rKysgYi9ibG9jay9j b3B5LWJlZm9yZS13cml0ZS5jCi1AQCAtMzI1LDE0ICszMjUsMjQgQEAgc3RhdGljIGludCBjb3Jv dXRpbmVfZm4gR1JBUEhfUkRMT0NLCi0gY2J3X2NvX3BkaXNjYXJkX3NuYXBzaG90KEJsb2NrRHJp dmVyU3RhdGUgKmJzLCBpbnQ2NF90IG9mZnNldCwgaW50NjRfdCBieXRlcykKLSB7Ci0gICAgIEJE UlZDb3B5QmVmb3JlV3JpdGVTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7Ci0rICAgIHVpbnQzMl90IGNs dXN0ZXJfc2l6ZSA9IGJsb2NrX2NvcHlfY2x1c3Rlcl9zaXplKHMtPmJjcyk7Ci0rICAgIGludDY0 X3QgYWxpZ25lZF9vZmZzZXQgPSBRRU1VX0FMSUdOX1VQKG9mZnNldCwgY2x1c3Rlcl9zaXplKTsK LSsgICAgaW50NjRfdCBhbGlnbmVkX2VuZCA9IFFFTVVfQUxJR05fRE9XTihvZmZzZXQgKyBieXRl cywgY2x1c3Rlcl9zaXplKTsKLSsgICAgaW50NjRfdCBhbGlnbmVkX2J5dGVzOwotKwotKyAgICBp ZiAoYWxpZ25lZF9lbmQgPD0gYWxpZ25lZF9vZmZzZXQpIHsKLSsgICAgICAgIHJldHVybiAwOwot KyAgICB9Ci0rICAgIGFsaWduZWRfYnl0ZXMgPSBhbGlnbmVkX2VuZCAtIGFsaWduZWRfb2Zmc2V0 OwotIAotICAgICBXSVRIX1FFTVVfTE9DS19HVUFSRCgmcy0+bG9jaykgewotLSAgICAgICAgYmRy dl9yZXNldF9kaXJ0eV9iaXRtYXAocy0+YWNjZXNzX2JpdG1hcCwgb2Zmc2V0LCBieXRlcyk7Ci0r ICAgICAgICBiZHJ2X3Jlc2V0X2RpcnR5X2JpdG1hcChzLT5hY2Nlc3NfYml0bWFwLCBhbGlnbmVk X29mZnNldCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduZWRfYnl0ZXMp OwotICAgICB9Ci0gCi0tICAgIGJsb2NrX2NvcHlfcmVzZXQocy0+YmNzLCBvZmZzZXQsIGJ5dGVz KTsKLSsgICAgYmxvY2tfY29weV9yZXNldChzLT5iY3MsIGFsaWduZWRfb2Zmc2V0LCBhbGlnbmVk X2J5dGVzKTsKLSAKLS0gICAgcmV0dXJuIGJkcnZfY29fcGRpc2NhcmQocy0+dGFyZ2V0LCBvZmZz ZXQsIGJ5dGVzKTsKLSsgICAgcmV0dXJuIGJkcnZfY29fcGRpc2NhcmQocy0+dGFyZ2V0LCBhbGln bmVkX29mZnNldCwgYWxpZ25lZF9ieXRlcyk7Ci0gfQotIAotIHN0YXRpYyB2b2lkIEdSQVBIX1JE TE9DSyBjYndfcmVmcmVzaF9maWxlbmFtZShCbG9ja0RyaXZlclN0YXRlICpicykKZGlmZiAtLWdp dCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDgtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtY3Jl YXRlLWJsb2NrX2NvcHktYml0bWFwLWluLS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAw MDgtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtY3JlYXRlLWJsb2NrX2NvcHktYml0bWFwLWluLS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NkMjRkMC4uMDAwMDAwMAotLS0g YS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA4LWJsb2NrLWNvcHktYmVmb3JlLXdyaXRlLWNyZWF0 ZS1ibG9ja19jb3B5LWJpdG1hcC1pbi0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNzMgKzAs MCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVmxhZGltaXIgU2VtZW50c292LU9naWV2c2tpeSA8 dnNlbWVudHNvdkB5YW5kZXgtdGVhbS5ydT4KLURhdGU6IFRodSwgMTEgQXByIDIwMjQgMTE6Mjk6 MjQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gYmxvY2svY29weS1iZWZvcmUtd3JpdGU6IGNyZWF0 ZSBibG9ja19jb3B5IGJpdG1hcCBpbiBmaWx0ZXIKLSBub2RlCi0KLUN1cnJlbnRseSBibG9ja19j b3B5IGNyZWF0ZXMgY29weV9iaXRtYXAgaW4gc291cmNlIG5vZGUuIEJ1dCB0aGF0IGlzIGluCi1i YWQgcmVsYXRpb24gd2l0aCAuaW5kZXBlbmRlbnRfY2xvc2U9dHJ1ZSBvZiBjb3B5LWJlZm9yZS13 cml0ZSBmaWx0ZXI6Ci1zb3VyY2Ugbm9kZSBtYXkgYmUgZGV0YWNoZWQgYW5kIHJlbW92ZWQgYmVm b3JlIC5iZHJ2X2Nsb3NlKCkgaGFuZGxlcgotY2FsbGVkLCB3aGljaCBzaG91bGQgY2FsbCBibG9j a19jb3B5X3N0YXRlX2ZyZWUoKSwgd2hpY2ggaW4gdHVybiBzaG91bGQKLXJlbW92ZSBjb3B5X2Jp dG1hcC4KLQotVGhhdCdzIGFsbCBub3QgaWRlYWw6IGl0IHdvdWxkIGJlIGJldHRlciBpZiBpbnRl cm5hbCBiaXRtYXAgb2YKLWJsb2NrLWNvcHkgb2JqZWN0IGlzIG5vdCBhdHRhY2hlZCB0byBhbnkg bm9kZS4gQnV0IHRoYXQgaXMgbm90IHBvc3NpYmxlCi1ub3cuCi0KLVRoZSBzaW1wbGVzdCBzb2x1 dGlvbiBpcyBqdXN0IGNyZWF0ZSBjb3B5X2JpdG1hcCBpbiBmaWx0ZXIgbm9kZSwgd2hlcmUKLWFu eXdheSB0d28gb3RoZXIgYml0bWFwcyBhcmUgY3JlYXRlZC4KLQotU2lnbmVkLW9mZi1ieTogVmxh ZGltaXIgU2VtZW50c292LU9naWV2c2tpeSA8dnNlbWVudHNvdkB5YW5kZXgtdGVhbS5ydT4KLVNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotU2lnbmVkLW9m Zi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+Ci0tLS0KLSBi bG9jay9ibG9jay1jb3B5LmMgICAgICAgICB8ICAgMyArLQotIGJsb2NrL2NvcHktYmVmb3JlLXdy aXRlLmMgIHwgICAyICstCi0gaW5jbHVkZS9ibG9jay9ibG9jay1jb3B5LmggfCAgIDEgKwotIHRl c3RzL3FlbXUtaW90ZXN0cy8yNTcub3V0IHwgMTEyICsrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDU4IGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYmxvY2svYmxvY2stY29weS5jIGIvYmxvY2svYmxvY2st Y29weS5jCi1pbmRleCA5ZWUzZGQ3ZWY1Li44ZmNhMmMzNjk4IDEwMDY0NAotLS0tIGEvYmxvY2sv YmxvY2stY29weS5jCi0rKysgYi9ibG9jay9ibG9jay1jb3B5LmMKLUBAIC0zNTEsNiArMzUxLDcg QEAgc3RhdGljIGludDY0X3QgYmxvY2tfY29weV9jYWxjdWxhdGVfY2x1c3Rlcl9zaXplKEJsb2Nr RHJpdmVyU3RhdGUgKnRhcmdldCwKLSB9Ci0gCi0gQmxvY2tDb3B5U3RhdGUgKmJsb2NrX2NvcHlf c3RhdGVfbmV3KEJkcnZDaGlsZCAqc291cmNlLCBCZHJ2Q2hpbGQgKnRhcmdldCwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqY29weV9iaXRt YXBfYnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJkcnZE aXJ0eUJpdG1hcCAqYml0bWFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFcnJvciAqKmVycnApCi0gewotQEAgLTM2Nyw3ICszNjgsNyBAQCBCbG9ja0NvcHlTdGF0ZSAq YmxvY2tfY29weV9zdGF0ZV9uZXcoQmRydkNoaWxkICpzb3VyY2UsIEJkcnZDaGlsZCAqdGFyZ2V0 LAotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgIH0KLSAKLS0gICAgY29weV9iaXRtYXAgPSBi ZHJ2X2NyZWF0ZV9kaXJ0eV9iaXRtYXAoc291cmNlLT5icywgY2x1c3Rlcl9zaXplLCBOVUxMLAot KyAgICBjb3B5X2JpdG1hcCA9IGJkcnZfY3JlYXRlX2RpcnR5X2JpdG1hcChjb3B5X2JpdG1hcF9i cywgY2x1c3Rlcl9zaXplLCBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBlcnJwKTsKLSAgICAgaWYgKCFjb3B5X2JpdG1hcCkgewotICAgICAgICAgcmV0 dXJuIE5VTEw7Ci1kaWZmIC0tZ2l0IGEvYmxvY2svY29weS1iZWZvcmUtd3JpdGUuYyBiL2Jsb2Nr L2NvcHktYmVmb3JlLXdyaXRlLmMKLWluZGV4IGMwZTcwNjY5YTIuLjk0ZGIzMTUxMmQgMTAwNjQ0 Ci0tLS0gYS9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jCi0rKysgYi9ibG9jay9jb3B5LWJlZm9y ZS13cml0ZS5jCi1AQCAtNDY4LDcgKzQ2OCw3IEBAIHN0YXRpYyBpbnQgY2J3X29wZW4oQmxvY2tE cml2ZXJTdGF0ZSAqYnMsIFFEaWN0ICpvcHRpb25zLCBpbnQgZmxhZ3MsCi0gICAgICAgICAgICAg KChCRFJWX1JFUV9GVUEgfCBCRFJWX1JFUV9NQVlfVU5NQVAgfCBCRFJWX1JFUV9OT19GQUxMQkFD SykgJgotICAgICAgICAgICAgICBicy0+ZmlsZS0+YnMtPnN1cHBvcnRlZF96ZXJvX2ZsYWdzKTsK LSAKLS0gICAgcy0+YmNzID0gYmxvY2tfY29weV9zdGF0ZV9uZXcoYnMtPmZpbGUsIHMtPnRhcmdl dCwgYml0bWFwLCBlcnJwKTsKLSsgICAgcy0+YmNzID0gYmxvY2tfY29weV9zdGF0ZV9uZXcoYnMt PmZpbGUsIHMtPnRhcmdldCwgYnMsIGJpdG1hcCwgZXJycCk7Ci0gICAgIGlmICghcy0+YmNzKSB7 Ci0gICAgICAgICBlcnJvcl9wcmVwZW5kKGVycnAsICJDYW5ub3QgY3JlYXRlIGJsb2NrLWNvcHkt c3RhdGU6ICIpOwotICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Ci1kaWZmIC0tZ2l0IGEvaW5jbHVk ZS9ibG9jay9ibG9jay1jb3B5LmggYi9pbmNsdWRlL2Jsb2NrL2Jsb2NrLWNvcHkuaAotaW5kZXgg MDcwMDk1M2FiOC4uOGI0MTY0M2JmYSAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvYmxvY2svYmxvY2st Y29weS5oCi0rKysgYi9pbmNsdWRlL2Jsb2NrL2Jsb2NrLWNvcHkuaAotQEAgLTI1LDYgKzI1LDcg QEAgdHlwZWRlZiBzdHJ1Y3QgQmxvY2tDb3B5U3RhdGUgQmxvY2tDb3B5U3RhdGU7Ci0gdHlwZWRl ZiBzdHJ1Y3QgQmxvY2tDb3B5Q2FsbFN0YXRlIEJsb2NrQ29weUNhbGxTdGF0ZTsKLSAKLSBCbG9j a0NvcHlTdGF0ZSAqYmxvY2tfY29weV9zdGF0ZV9uZXcoQmRydkNoaWxkICpzb3VyY2UsIEJkcnZD aGlsZCAqdGFyZ2V0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9j a0RyaXZlclN0YXRlICpjb3B5X2JpdG1hcF9icywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgQmRydkRpcnR5Qml0bWFwICpiaXRtYXAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCk7Ci0gCi1kaWZmIC0tZ2l0IGEv dGVzdHMvcWVtdS1pb3Rlc3RzLzI1Ny5vdXQgYi90ZXN0cy9xZW11LWlvdGVzdHMvMjU3Lm91dAot aW5kZXggYWE3NjEzMWNhOS4uYzMzZGQ3ZjNhOSAxMDA2NDQKLS0tLSBhL3Rlc3RzL3FlbXUtaW90 ZXN0cy8yNTcub3V0Ci0rKysgYi90ZXN0cy9xZW11LWlvdGVzdHMvMjU3Lm91dAotQEAgLTEyMCwx NiArMTIwLDE2IEBAIHdyaXRlIC1QMHg2NyAweDNmZTAwMDAgMHgyMDAwMAotICAgICAgICAgImdy YW51bGFyaXR5IjogNjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6IGZhbHNlLAotICAgICAg ICAgInJlY29yZGluZyI6IGZhbHNlCi0tICAgICAgfQotLSAgICBdLAotLSAgICAiZHJpdmUwIjog WwotKyAgICAgIH0sCi0gICAgICAgewotICAgICAgICAgImJ1c3kiOiBmYWxzZSwKLSAgICAgICAg ICJjb3VudCI6IDAsCi0gICAgICAgICAiZ3JhbnVsYXJpdHkiOiA2NTUzNiwKLSAgICAgICAgICJw ZXJzaXN0ZW50IjogZmFsc2UsCi0gICAgICAgICAicmVjb3JkaW5nIjogZmFsc2UKLS0gICAgICB9 LAotKyAgICAgIH0KLSsgICAgXSwKLSsgICAgImRyaXZlMCI6IFsKLSAgICAgICB7Ci0gICAgICAg ICAiYnVzeSI6IGZhbHNlLAotICAgICAgICAgImNvdW50IjogNDU4NzUyLAotQEAgLTU5NiwxNiAr NTk2LDE2IEBAIHdyaXRlIC1QMHg2NyAweDNmZTAwMDAgMHgyMDAwMAotICAgICAgICAgImdyYW51 bGFyaXR5IjogNjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6IGZhbHNlLAotICAgICAgICAg InJlY29yZGluZyI6IGZhbHNlCi0tICAgICAgfQotLSAgICBdLAotLSAgICAiZHJpdmUwIjogWwot KyAgICAgIH0sCi0gICAgICAgewotICAgICAgICAgImJ1c3kiOiBmYWxzZSwKLSAgICAgICAgICJj b3VudCI6IDAsCi0gICAgICAgICAiZ3JhbnVsYXJpdHkiOiA2NTUzNiwKLSAgICAgICAgICJwZXJz aXN0ZW50IjogZmFsc2UsCi0gICAgICAgICAicmVjb3JkaW5nIjogZmFsc2UKLS0gICAgICB9LAot KyAgICAgIH0KLSsgICAgXSwKLSsgICAgImRyaXZlMCI6IFsKLSAgICAgICB7Ci0gICAgICAgICAi YnVzeSI6IGZhbHNlLAotICAgICAgICAgImNvdW50IjogNDU4NzUyLAotQEAgLTg2NSwxNiArODY1 LDE2IEBAIHdyaXRlIC1QMHg2NyAweDNmZTAwMDAgMHgyMDAwMAotICAgICAgICAgImdyYW51bGFy aXR5IjogNjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6IGZhbHNlLAotICAgICAgICAgInJl Y29yZGluZyI6IGZhbHNlCi0tICAgICAgfQotLSAgICBdLAotLSAgICAiZHJpdmUwIjogWwotKyAg ICAgIH0sCi0gICAgICAgewotICAgICAgICAgImJ1c3kiOiBmYWxzZSwKLSAgICAgICAgICJjb3Vu dCI6IDAsCi0gICAgICAgICAiZ3JhbnVsYXJpdHkiOiA2NTUzNiwKLSAgICAgICAgICJwZXJzaXN0 ZW50IjogZmFsc2UsCi0gICAgICAgICAicmVjb3JkaW5nIjogZmFsc2UKLS0gICAgICB9LAotKyAg ICAgIH0KLSsgICAgXSwKLSsgICAgImRyaXZlMCI6IFsKLSAgICAgICB7Ci0gICAgICAgICAiYnVz eSI6IGZhbHNlLAotICAgICAgICAgImNvdW50IjogNDU4NzUyLAotQEAgLTEzNDEsMTYgKzEzNDEs MTYgQEAgd3JpdGUgLVAweDY3IDB4M2ZlMDAwMCAweDIwMDAwCi0gICAgICAgICAiZ3JhbnVsYXJp dHkiOiA2NTUzNiwKLSAgICAgICAgICJwZXJzaXN0ZW50IjogZmFsc2UsCi0gICAgICAgICAicmVj b3JkaW5nIjogZmFsc2UKLS0gICAgICB9Ci0tICAgIF0sCi0tICAgICJkcml2ZTAiOiBbCi0rICAg ICAgfSwKLSAgICAgICB7Ci0gICAgICAgICAiYnVzeSI6IGZhbHNlLAotICAgICAgICAgImNvdW50 IjogMCwKLSAgICAgICAgICJncmFudWxhcml0eSI6IDY1NTM2LAotICAgICAgICAgInBlcnNpc3Rl bnQiOiBmYWxzZSwKLSAgICAgICAgICJyZWNvcmRpbmciOiBmYWxzZQotLSAgICAgIH0sCi0rICAg ICAgfQotKyAgICBdLAotKyAgICAiZHJpdmUwIjogWwotICAgICAgIHsKLSAgICAgICAgICJidXN5 IjogZmFsc2UsCi0gICAgICAgICAiY291bnQiOiA0NTg3NTIsCi1AQCAtMTYxMCwxNiArMTYxMCwx NiBAQCB3cml0ZSAtUDB4NjcgMHgzZmUwMDAwIDB4MjAwMDAKLSAgICAgICAgICJncmFudWxhcml0 eSI6IDY1NTM2LAotICAgICAgICAgInBlcnNpc3RlbnQiOiBmYWxzZSwKLSAgICAgICAgICJyZWNv cmRpbmciOiBmYWxzZQotLSAgICAgIH0KLS0gICAgXSwKLS0gICAgImRyaXZlMCI6IFsKLSsgICAg ICB9LAotICAgICAgIHsKLSAgICAgICAgICJidXN5IjogZmFsc2UsCi0gICAgICAgICAiY291bnQi OiAwLAotICAgICAgICAgImdyYW51bGFyaXR5IjogNjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVu dCI6IGZhbHNlLAotICAgICAgICAgInJlY29yZGluZyI6IGZhbHNlCi0tICAgICAgfSwKLSsgICAg ICB9Ci0rICAgIF0sCi0rICAgICJkcml2ZTAiOiBbCi0gICAgICAgewotICAgICAgICAgImJ1c3ki OiBmYWxzZSwKLSAgICAgICAgICJjb3VudCI6IDQ1ODc1MiwKLUBAIC0yMDg2LDE2ICsyMDg2LDE2 IEBAIHdyaXRlIC1QMHg2NyAweDNmZTAwMDAgMHgyMDAwMAotICAgICAgICAgImdyYW51bGFyaXR5 IjogNjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6IGZhbHNlLAotICAgICAgICAgInJlY29y ZGluZyI6IGZhbHNlCi0tICAgICAgfQotLSAgICBdLAotLSAgICAiZHJpdmUwIjogWwotKyAgICAg IH0sCi0gICAgICAgewotICAgICAgICAgImJ1c3kiOiBmYWxzZSwKLSAgICAgICAgICJjb3VudCI6 IDAsCi0gICAgICAgICAiZ3JhbnVsYXJpdHkiOiA2NTUzNiwKLSAgICAgICAgICJwZXJzaXN0ZW50 IjogZmFsc2UsCi0gICAgICAgICAicmVjb3JkaW5nIjogZmFsc2UKLS0gICAgICB9LAotKyAgICAg IH0KLSsgICAgXSwKLSsgICAgImRyaXZlMCI6IFsKLSAgICAgICB7Ci0gICAgICAgICAiYnVzeSI6 IGZhbHNlLAotICAgICAgICAgImNvdW50IjogNDU4NzUyLAotQEAgLTIzNTUsMTYgKzIzNTUsMTYg QEAgd3JpdGUgLVAweDY3IDB4M2ZlMDAwMCAweDIwMDAwCi0gICAgICAgICAiZ3JhbnVsYXJpdHki OiA2NTUzNiwKLSAgICAgICAgICJwZXJzaXN0ZW50IjogZmFsc2UsCi0gICAgICAgICAicmVjb3Jk aW5nIjogZmFsc2UKLS0gICAgICB9Ci0tICAgIF0sCi0tICAgICJkcml2ZTAiOiBbCi0rICAgICAg fSwKLSAgICAgICB7Ci0gICAgICAgICAiYnVzeSI6IGZhbHNlLAotICAgICAgICAgImNvdW50Ijog MCwKLSAgICAgICAgICJncmFudWxhcml0eSI6IDY1NTM2LAotICAgICAgICAgInBlcnNpc3RlbnQi OiBmYWxzZSwKLSAgICAgICAgICJyZWNvcmRpbmciOiBmYWxzZQotLSAgICAgIH0sCi0rICAgICAg fQotKyAgICBdLAotKyAgICAiZHJpdmUwIjogWwotICAgICAgIHsKLSAgICAgICAgICJidXN5Ijog ZmFsc2UsCi0gICAgICAgICAiY291bnQiOiA0NTg3NTIsCi1AQCAtMjgzMSwxNiArMjgzMSwxNiBA QCB3cml0ZSAtUDB4NjcgMHgzZmUwMDAwIDB4MjAwMDAKLSAgICAgICAgICJncmFudWxhcml0eSI6 IDY1NTM2LAotICAgICAgICAgInBlcnNpc3RlbnQiOiBmYWxzZSwKLSAgICAgICAgICJyZWNvcmRp bmciOiBmYWxzZQotLSAgICAgIH0KLS0gICAgXSwKLS0gICAgImRyaXZlMCI6IFsKLSsgICAgICB9 LAotICAgICAgIHsKLSAgICAgICAgICJidXN5IjogZmFsc2UsCi0gICAgICAgICAiY291bnQiOiAw LAotICAgICAgICAgImdyYW51bGFyaXR5IjogNjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6 IGZhbHNlLAotICAgICAgICAgInJlY29yZGluZyI6IGZhbHNlCi0tICAgICAgfSwKLSsgICAgICB9 Ci0rICAgIF0sCi0rICAgICJkcml2ZTAiOiBbCi0gICAgICAgewotICAgICAgICAgImJ1c3kiOiBm YWxzZSwKLSAgICAgICAgICJjb3VudCI6IDQ1ODc1MiwKLUBAIC0zMTAwLDE2ICszMTAwLDE2IEBA IHdyaXRlIC1QMHg2NyAweDNmZTAwMDAgMHgyMDAwMAotICAgICAgICAgImdyYW51bGFyaXR5Ijog NjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6IGZhbHNlLAotICAgICAgICAgInJlY29yZGlu ZyI6IGZhbHNlCi0tICAgICAgfQotLSAgICBdLAotLSAgICAiZHJpdmUwIjogWwotKyAgICAgIH0s Ci0gICAgICAgewotICAgICAgICAgImJ1c3kiOiBmYWxzZSwKLSAgICAgICAgICJjb3VudCI6IDAs Ci0gICAgICAgICAiZ3JhbnVsYXJpdHkiOiA2NTUzNiwKLSAgICAgICAgICJwZXJzaXN0ZW50Ijog ZmFsc2UsCi0gICAgICAgICAicmVjb3JkaW5nIjogZmFsc2UKLS0gICAgICB9LAotKyAgICAgIH0K LSsgICAgXSwKLSsgICAgImRyaXZlMCI6IFsKLSAgICAgICB7Ci0gICAgICAgICAiYnVzeSI6IGZh bHNlLAotICAgICAgICAgImNvdW50IjogNDU4NzUyLAotQEAgLTM1NzYsMTYgKzM1NzYsMTYgQEAg d3JpdGUgLVAweDY3IDB4M2ZlMDAwMCAweDIwMDAwCi0gICAgICAgICAiZ3JhbnVsYXJpdHkiOiA2 NTUzNiwKLSAgICAgICAgICJwZXJzaXN0ZW50IjogZmFsc2UsCi0gICAgICAgICAicmVjb3JkaW5n IjogZmFsc2UKLS0gICAgICB9Ci0tICAgIF0sCi0tICAgICJkcml2ZTAiOiBbCi0rICAgICAgfSwK LSAgICAgICB7Ci0gICAgICAgICAiYnVzeSI6IGZhbHNlLAotICAgICAgICAgImNvdW50IjogMCwK LSAgICAgICAgICJncmFudWxhcml0eSI6IDY1NTM2LAotICAgICAgICAgInBlcnNpc3RlbnQiOiBm YWxzZSwKLSAgICAgICAgICJyZWNvcmRpbmciOiBmYWxzZQotLSAgICAgIH0sCi0rICAgICAgfQot KyAgICBdLAotKyAgICAiZHJpdmUwIjogWwotICAgICAgIHsKLSAgICAgICAgICJidXN5IjogZmFs c2UsCi0gICAgICAgICAiY291bnQiOiA0NTg3NTIsCi1AQCAtMzg0NSwxNiArMzg0NSwxNiBAQCB3 cml0ZSAtUDB4NjcgMHgzZmUwMDAwIDB4MjAwMDAKLSAgICAgICAgICJncmFudWxhcml0eSI6IDY1 NTM2LAotICAgICAgICAgInBlcnNpc3RlbnQiOiBmYWxzZSwKLSAgICAgICAgICJyZWNvcmRpbmci OiBmYWxzZQotLSAgICAgIH0KLS0gICAgXSwKLS0gICAgImRyaXZlMCI6IFsKLSsgICAgICB9LAot ICAgICAgIHsKLSAgICAgICAgICJidXN5IjogZmFsc2UsCi0gICAgICAgICAiY291bnQiOiAwLAot ICAgICAgICAgImdyYW51bGFyaXR5IjogNjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6IGZh bHNlLAotICAgICAgICAgInJlY29yZGluZyI6IGZhbHNlCi0tICAgICAgfSwKLSsgICAgICB9Ci0r ICAgIF0sCi0rICAgICJkcml2ZTAiOiBbCi0gICAgICAgewotICAgICAgICAgImJ1c3kiOiBmYWxz ZSwKLSAgICAgICAgICJjb3VudCI6IDQ1ODc1MiwKLUBAIC00MzIxLDE2ICs0MzIxLDE2IEBAIHdy aXRlIC1QMHg2NyAweDNmZTAwMDAgMHgyMDAwMAotICAgICAgICAgImdyYW51bGFyaXR5IjogNjU1 MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6IGZhbHNlLAotICAgICAgICAgInJlY29yZGluZyI6 IGZhbHNlCi0tICAgICAgfQotLSAgICBdLAotLSAgICAiZHJpdmUwIjogWwotKyAgICAgIH0sCi0g ICAgICAgewotICAgICAgICAgImJ1c3kiOiBmYWxzZSwKLSAgICAgICAgICJjb3VudCI6IDAsCi0g ICAgICAgICAiZ3JhbnVsYXJpdHkiOiA2NTUzNiwKLSAgICAgICAgICJwZXJzaXN0ZW50IjogZmFs c2UsCi0gICAgICAgICAicmVjb3JkaW5nIjogZmFsc2UKLS0gICAgICB9LAotKyAgICAgIH0KLSsg ICAgXSwKLSsgICAgImRyaXZlMCI6IFsKLSAgICAgICB7Ci0gICAgICAgICAiYnVzeSI6IGZhbHNl LAotICAgICAgICAgImNvdW50IjogNDU4NzUyLAotQEAgLTQ1OTAsMTYgKzQ1OTAsMTYgQEAgd3Jp dGUgLVAweDY3IDB4M2ZlMDAwMCAweDIwMDAwCi0gICAgICAgICAiZ3JhbnVsYXJpdHkiOiA2NTUz NiwKLSAgICAgICAgICJwZXJzaXN0ZW50IjogZmFsc2UsCi0gICAgICAgICAicmVjb3JkaW5nIjog ZmFsc2UKLS0gICAgICB9Ci0tICAgIF0sCi0tICAgICJkcml2ZTAiOiBbCi0rICAgICAgfSwKLSAg ICAgICB7Ci0gICAgICAgICAiYnVzeSI6IGZhbHNlLAotICAgICAgICAgImNvdW50IjogMCwKLSAg ICAgICAgICJncmFudWxhcml0eSI6IDY1NTM2LAotICAgICAgICAgInBlcnNpc3RlbnQiOiBmYWxz ZSwKLSAgICAgICAgICJyZWNvcmRpbmciOiBmYWxzZQotLSAgICAgIH0sCi0rICAgICAgfQotKyAg ICBdLAotKyAgICAiZHJpdmUwIjogWwotICAgICAgIHsKLSAgICAgICAgICJidXN5IjogZmFsc2Us Ci0gICAgICAgICAiY291bnQiOiA0NTg3NTIsCi1AQCAtNTA2NiwxNiArNTA2NiwxNiBAQCB3cml0 ZSAtUDB4NjcgMHgzZmUwMDAwIDB4MjAwMDAKLSAgICAgICAgICJncmFudWxhcml0eSI6IDY1NTM2 LAotICAgICAgICAgInBlcnNpc3RlbnQiOiBmYWxzZSwKLSAgICAgICAgICJyZWNvcmRpbmciOiBm YWxzZQotLSAgICAgIH0KLS0gICAgXSwKLS0gICAgImRyaXZlMCI6IFsKLSsgICAgICB9LAotICAg ICAgIHsKLSAgICAgICAgICJidXN5IjogZmFsc2UsCi0gICAgICAgICAiY291bnQiOiAwLAotICAg ICAgICAgImdyYW51bGFyaXR5IjogNjU1MzYsCi0gICAgICAgICAicGVyc2lzdGVudCI6IGZhbHNl LAotICAgICAgICAgInJlY29yZGluZyI6IGZhbHNlCi0tICAgICAgfSwKLSsgICAgICB9Ci0rICAg IF0sCi0rICAgICJkcml2ZTAiOiBbCi0gICAgICAgewotICAgICAgICAgImJ1c3kiOiBmYWxzZSwK LSAgICAgICAgICJjb3VudCI6IDQ1ODc1MiwKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4 dHJhLzAwMDktcWFwaS1ibG9ja2Rldi1iYWNrdXAtYWRkLWRpc2NhcmQtc291cmNlLXBhcmFtZXRl ci5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMDktcWFwaS1ibG9ja2Rldi1iYWNrdXAt YWRkLWRpc2NhcmQtc291cmNlLXBhcmFtZXRlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggZTExYTM3ZC4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDA5 LXFhcGktYmxvY2tkZXYtYmFja3VwLWFkZC1kaXNjYXJkLXNvdXJjZS1wYXJhbWV0ZXIucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyNzcgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVmxh ZGltaXIgU2VtZW50c292LU9naWV2c2tpeSA8dnNlbWVudHNvdkB5YW5kZXgtdGVhbS5ydT4KLURh dGU6IFRodSwgMTEgQXByIDIwMjQgMTE6Mjk6MjUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gcWFw aTogYmxvY2tkZXYtYmFja3VwOiBhZGQgZGlzY2FyZC1zb3VyY2UgcGFyYW1ldGVyCi0KLUFkZCBh IHBhcmFtZXRlciB0aGF0IGVuYWJsZXMgZGlzY2FyZC1hZnRlci1jb3B5LiBUaGF0IGlzIG1vc3Rs eSB1c2VmdWwKLWluICJwdXNoIGJhY2t1cCB3aXRoIGZsZWVjaW5nIiBzY2hlbWUsIHdoZW4gc291 cmNlIGlzIHNuYXBzaG90LWFjY2VzcwotZm9ybWF0IGRyaXZlciBub2RlLCBiYXNlZCBvbiBjb3B5 LWJlZm9yZS13cml0ZSBmaWx0ZXIgc25hcHNob3QtYWNjZXNzCi1BUEk6Ci0KLVtndWVzdF0gICAg ICBbc25hcHNob3QtYWNjZXNzXSB+fiBibG9ja2Rldi1iYWNrdXAgfn4+IFtiYWNrdXAgdGFyZ2V0 XQotICAgfCAgICAgICAgICAgIHwKLSAgIHwgcm9vdCAgICAgICB8IGZpbGUKLSAgIHYgICAgICAg ICAgICB2Ci1bY29weS1iZWZvcmUtd3JpdGVdCi0gICB8ICAgICAgICAgICAgIHwKLSAgIHwgZmls ZSAgICAgICAgfCB0YXJnZXQKLSAgIHYgICAgICAgICAgICAgdgotW2FjdGl2ZSBkaXNrXSAgIFt0 ZW1wLmltZ10KLQotSW4gdGhpcyBjYXNlIGRpc2NhcmQtYWZ0ZXItY29weSBkb2VzIHR3byB0aGlu Z3M6Ci0KLSAtIGRpc2NhcmQgZGF0YSBpbiB0ZW1wLmltZyB0byBzYXZlIGRpc2sgc3BhY2UKLSAt IGF2b2lkIGZ1cnRoZXIgY29weS1iZWZvcmUtd3JpdGUgb3BlcmF0aW9uIGluIGRpc2NhcmRlZCBh cmVhCi0KLU5vdGUgdGhhdCB3ZSBoYXZlIHRvIGRlY2xhcmUgV1JJVEUgcGVybWlzc2lvbiBvbiBz b3VyY2UgaW4KLWNvcHktYmVmb3JlLXdyaXRlIGZpbHRlciwgZm9yIGRpc2NhcmQgdG8gd29yay4g U3RpbGwgd2UgY2FuJ3QgdGFrZSBpdAotdW5jb25kaXRpb25hbGx5LCBhcyBpdCB3aWxsIGJyZWFr IG5vcm1hbCBiYWNrdXAgZnJvbSBSTyBzb3VyY2UuIFNvLCB3ZQotaGF2ZSB0byBhZGQgYSBwYXJh bWV0ZXIgYW5kIHBhc3MgaXQgdGhvcm91Z2ggYmRydl9vcGVuIGZsYWdzLgotCi1TaWduZWQtb2Zm LWJ5OiBWbGFkaW1pciBTZW1lbnRzb3YtT2dpZXZza2l5IDx2c2VtZW50c292QHlhbmRleC10ZWFt LnJ1PgotU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci1T aWduZWQtb2ZmLWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4K LS0tLQotIGJsb2NrL2JhY2t1cC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysrLS0K LSBibG9jay9ibG9jay1jb3B5LmMgICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKysrKysrKwot IGJsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMgICAgICAgICAgICAgIHwgMTUgKysrKysrKysrKysr Ky0tCi0gYmxvY2svY29weS1iZWZvcmUtd3JpdGUuaCAgICAgICAgICAgICAgfCAgMSArCi0gYmxv Y2svcmVwbGljYXRpb24uYyAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCi0gYmxvY2tkZXYu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQotIGluY2x1ZGUvYmxvY2svYmxv Y2stY29tbW9uLmggICAgICAgICAgIHwgIDIgKysKLSBpbmNsdWRlL2Jsb2NrL2Jsb2NrLWNvcHku aCAgICAgICAgICAgICB8ICAxICsKLSBpbmNsdWRlL2Jsb2NrL2Jsb2NrX2ludC1nbG9iYWwtc3Rh dGUuaCB8ICAyICstCi0gcWFwaS9ibG9jay1jb3JlLmpzb24gICAgICAgICAgICAgICAgICAgfCAg NCArKysrCi0gMTAgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMo LSkKLQotZGlmZiAtLWdpdCBhL2Jsb2NrL2JhY2t1cC5jIGIvYmxvY2svYmFja3VwLmMKLWluZGV4 IGVjMjlkNmI4MTAuLjNkZDJlMjI5ZDIgMTAwNjQ0Ci0tLS0gYS9ibG9jay9iYWNrdXAuYwotKysr IGIvYmxvY2svYmFja3VwLmMKLUBAIC0zNTYsNyArMzU2LDcgQEAgQmxvY2tKb2IgKmJhY2t1cF9q b2JfY3JlYXRlKGNvbnN0IGNoYXIgKmpvYl9pZCwgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCi0gICAg ICAgICAgICAgICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqdGFyZ2V0LCBpbnQ2NF90IHNwZWVkLAot ICAgICAgICAgICAgICAgICAgIE1pcnJvclN5bmNNb2RlIHN5bmNfbW9kZSwgQmRydkRpcnR5Qml0 bWFwICpzeW5jX2JpdG1hcCwKLSAgICAgICAgICAgICAgICAgICBCaXRtYXBTeW5jTW9kZSBiaXRt YXBfbW9kZSwKLS0gICAgICAgICAgICAgICAgICBib29sIGNvbXByZXNzLAotKyAgICAgICAgICAg ICAgICAgIGJvb2wgY29tcHJlc3MsIGJvb2wgZGlzY2FyZF9zb3VyY2UsCi0gICAgICAgICAgICAg ICAgICAgY29uc3QgY2hhciAqZmlsdGVyX25vZGVfbmFtZSwKLSAgICAgICAgICAgICAgICAgICBC YWNrdXBQZXJmICpwZXJmLAotICAgICAgICAgICAgICAgICAgIEJsb2NrZGV2T25FcnJvciBvbl9z b3VyY2VfZXJyb3IsCi1AQCAtNDU3LDcgKzQ1Nyw4IEBAIEJsb2NrSm9iICpiYWNrdXBfam9iX2Ny ZWF0ZShjb25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAotICAgICAgICAg Z290byBlcnJvcjsKLSAgICAgfQotIAotLSAgICBjYncgPSBiZHJ2X2Nid19hcHBlbmQoYnMsIHRh cmdldCwgZmlsdGVyX25vZGVfbmFtZSwgJmJjcywgZXJycCk7Ci0rICAgIGNidyA9IGJkcnZfY2J3 X2FwcGVuZChicywgdGFyZ2V0LCBmaWx0ZXJfbm9kZV9uYW1lLCBkaXNjYXJkX3NvdXJjZSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICZiY3MsIGVycnApOwotICAgICBpZiAoIWNidykgewot ICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgfQotZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsb2NrLWNv cHkuYyBiL2Jsb2NrL2Jsb2NrLWNvcHkuYwotaW5kZXggOGZjYTJjMzY5OC4uN2UzYjM3ODUyOCAx MDA2NDQKLS0tLSBhL2Jsb2NrL2Jsb2NrLWNvcHkuYwotKysrIGIvYmxvY2svYmxvY2stY29weS5j Ci1AQCAtMTM3LDYgKzEzNyw3IEBAIHR5cGVkZWYgc3RydWN0IEJsb2NrQ29weVN0YXRlIHsKLSAg ICAgQ29NdXRleCBsb2NrOwotICAgICBpbnQ2NF90IGluX2ZsaWdodF9ieXRlczsKLSAgICAgQmxv Y2tDb3B5TWV0aG9kIG1ldGhvZDsKLSsgICAgYm9vbCBkaXNjYXJkX3NvdXJjZTsKLSAgICAgQmxv Y2tSZXFMaXN0IHJlcXM7Ci0gICAgIFFMSVNUX0hFQUQoLCBCbG9ja0NvcHlDYWxsU3RhdGUpIGNh bGxzOwotICAgICAvKgotQEAgLTM1Myw2ICszNTQsNyBAQCBzdGF0aWMgaW50NjRfdCBibG9ja19j b3B5X2NhbGN1bGF0ZV9jbHVzdGVyX3NpemUoQmxvY2tEcml2ZXJTdGF0ZSAqdGFyZ2V0LAotIEJs b2NrQ29weVN0YXRlICpibG9ja19jb3B5X3N0YXRlX25ldyhCZHJ2Q2hpbGQgKnNvdXJjZSwgQmRy dkNoaWxkICp0YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJs b2NrRHJpdmVyU3RhdGUgKmNvcHlfYml0bWFwX2JzLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBCZHJ2RGlydHlCaXRtYXAgKmJpdG1hcCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBkaXNjYXJkX3NvdXJjZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQotIHsKLSAgICAgRVJS UF9HVUFSRCgpOwotQEAgLTQxOCw2ICs0MjAsNyBAQCBCbG9ja0NvcHlTdGF0ZSAqYmxvY2tfY29w eV9zdGF0ZV9uZXcoQmRydkNoaWxkICpzb3VyY2UsIEJkcnZDaGlsZCAqdGFyZ2V0LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsdXN0ZXJfc2l6ZSksCi0gICAgIH07Ci0g Ci0rICAgIHMtPmRpc2NhcmRfc291cmNlID0gZGlzY2FyZF9zb3VyY2U7Ci0gICAgIGJsb2NrX2Nv cHlfc2V0X2NvcHlfb3B0cyhzLCBmYWxzZSwgZmFsc2UpOwotIAotICAgICByYXRlbGltaXRfaW5p dCgmcy0+cmF0ZV9saW1pdCk7Ci1AQCAtNTg5LDYgKzU5MiwxMiBAQCBzdGF0aWMgY29yb3V0aW5l X2ZuIGludCBibG9ja19jb3B5X3Rhc2tfZW50cnkoQWlvVGFzayAqdGFzaykKLSAgICAgY29fcHV0 X3RvX3NocmVzKHMtPm1lbSwgdC0+cmVxLmJ5dGVzKTsKLSAgICAgYmxvY2tfY29weV90YXNrX2Vu ZCh0LCByZXQpOwotIAotKyAgICBpZiAocy0+ZGlzY2FyZF9zb3VyY2UgJiYgcmV0ID09IDApIHsK LSsgICAgICAgIGludDY0X3QgbmJ5dGVzID0KLSsgICAgICAgICAgICBNSU4odC0+cmVxLm9mZnNl dCArIHQtPnJlcS5ieXRlcywgcy0+bGVuKSAtIHQtPnJlcS5vZmZzZXQ7Ci0rICAgICAgICBiZHJ2 X2NvX3BkaXNjYXJkKHMtPnNvdXJjZSwgdC0+cmVxLm9mZnNldCwgbmJ5dGVzKTsKLSsgICAgfQot KwotICAgICByZXR1cm4gcmV0OwotIH0KLSAKLWRpZmYgLS1naXQgYS9ibG9jay9jb3B5LWJlZm9y ZS13cml0ZS5jIGIvYmxvY2svY29weS1iZWZvcmUtd3JpdGUuYwotaW5kZXggOTRkYjMxNTEyZC4u ODUzZTAxYTFlYiAxMDA2NDQKLS0tLSBhL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKLSsrKyBi L2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKLUBAIC00NCw2ICs0NCw3IEBAIHR5cGVkZWYgc3Ry dWN0IEJEUlZDb3B5QmVmb3JlV3JpdGVTdGF0ZSB7Ci0gICAgIEJkcnZDaGlsZCAqdGFyZ2V0Owot ICAgICBPbkNid0Vycm9yIG9uX2Nid19lcnJvcjsKLSAgICAgdWludDY0X3QgY2J3X3RpbWVvdXRf bnM7Ci0rICAgIGJvb2wgZGlzY2FyZF9zb3VyY2U7Ci0gCi0gICAgIC8qCi0gICAgICAqIEBsb2Nr OiBwcm90ZWN0cyBhY2Nlc3MgdG8gQGFjY2Vzc19iaXRtYXAsIEBkb25lX2JpdG1hcCBhbmQKLUBA IC0zNTcsNiArMzU4LDggQEAgY2J3X2NoaWxkX3Blcm0oQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIEJk cnZDaGlsZCAqYywgQmRydkNoaWxkUm9sZSByb2xlLAotICAgICAgICAgICAgICAgIHVpbnQ2NF90 IHBlcm0sIHVpbnQ2NF90IHNoYXJlZCwKLSAgICAgICAgICAgICAgICB1aW50NjRfdCAqbnBlcm0s IHVpbnQ2NF90ICpuc2hhcmVkKQotIHsKLSsgICAgQkRSVkNvcHlCZWZvcmVXcml0ZVN0YXRlICpz ID0gYnMtPm9wYXF1ZTsKLSsKLSAgICAgaWYgKCEocm9sZSAmIEJEUlZfQ0hJTERfRklMVEVSRUQp KSB7Ci0gICAgICAgICAvKgotICAgICAgICAgICogVGFyZ2V0IGNoaWxkCi1AQCAtMzgxLDYgKzM4 NCwxMCBAQCBjYndfY2hpbGRfcGVybShCbG9ja0RyaXZlclN0YXRlICpicywgQmRydkNoaWxkICpj LCBCZHJ2Q2hpbGRSb2xlIHJvbGUsCi0gICAgICAgICAgICAgICogc3RhcnQKLSAgICAgICAgICAg ICAgKi8KLSAgICAgICAgICAgICAqbnBlcm0gPSAqbnBlcm0gfCBCTEtfUEVSTV9DT05TSVNURU5U X1JFQUQ7Ci0rICAgICAgICAgICAgaWYgKHMtPmRpc2NhcmRfc291cmNlKSB7Ci0rICAgICAgICAg ICAgICAgICpucGVybSA9ICpucGVybSB8IEJMS19QRVJNX1dSSVRFOwotKyAgICAgICAgICAgIH0K LSsKLSAgICAgICAgICAgICAqbnNoYXJlZCAmPSB+KEJMS19QRVJNX1dSSVRFIHwgQkxLX1BFUk1f UkVTSVpFKTsKLSAgICAgICAgIH0KLSAgICAgfQotQEAgLTQ2OCw3ICs0NzUsOSBAQCBzdGF0aWMg aW50IGNid19vcGVuKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBRRGljdCAqb3B0aW9ucywgaW50IGZs YWdzLAotICAgICAgICAgICAgICgoQkRSVl9SRVFfRlVBIHwgQkRSVl9SRVFfTUFZX1VOTUFQIHwg QkRSVl9SRVFfTk9fRkFMTEJBQ0spICYKLSAgICAgICAgICAgICAgYnMtPmZpbGUtPmJzLT5zdXBw b3J0ZWRfemVyb19mbGFncyk7Ci0gCi0tICAgIHMtPmJjcyA9IGJsb2NrX2NvcHlfc3RhdGVfbmV3 KGJzLT5maWxlLCBzLT50YXJnZXQsIGJzLCBiaXRtYXAsIGVycnApOwotKyAgICBzLT5kaXNjYXJk X3NvdXJjZSA9IGZsYWdzICYgQkRSVl9PX0NCV19ESVNDQVJEX1NPVVJDRTsKLSsgICAgcy0+YmNz ID0gYmxvY2tfY29weV9zdGF0ZV9uZXcoYnMtPmZpbGUsIHMtPnRhcmdldCwgYnMsIGJpdG1hcCwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MgJiBCRFJWX09fQ0JXX0RJ U0NBUkRfU09VUkNFLCBlcnJwKTsKLSAgICAgaWYgKCFzLT5iY3MpIHsKLSAgICAgICAgIGVycm9y X3ByZXBlbmQoZXJycCwgIkNhbm5vdCBjcmVhdGUgYmxvY2stY29weS1zdGF0ZTogIik7Ci0gICAg ICAgICByZXR1cm4gLUVJTlZBTDsKLUBAIC01MzUsMTIgKzU0NCwxNCBAQCBzdGF0aWMgQmxvY2tE cml2ZXIgYmRydl9jYndfZmlsdGVyID0gewotIEJsb2NrRHJpdmVyU3RhdGUgKmJkcnZfY2J3X2Fw cGVuZChCbG9ja0RyaXZlclN0YXRlICpzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJsb2NrRHJpdmVyU3RhdGUgKnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsdGVyX25vZGVfbmFtZSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBkaXNjYXJkX3NvdXJjZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tDb3B5U3RhdGUgKipiY3MsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKLSB7Ci0gICAgIEJEUlZDb3B5 QmVmb3JlV3JpdGVTdGF0ZSAqc3RhdGU7Ci0gICAgIEJsb2NrRHJpdmVyU3RhdGUgKnRvcDsKLSAg ICAgUURpY3QgKm9wdHM7Ci0rICAgIGludCBmbGFncyA9IEJEUlZfT19SRFdSIHwgKGRpc2NhcmRf c291cmNlID8gQkRSVl9PX0NCV19ESVNDQVJEX1NPVVJDRSA6IDApOwotIAotICAgICBhc3NlcnQo c291cmNlLT50b3RhbF9zZWN0b3JzID09IHRhcmdldC0+dG90YWxfc2VjdG9ycyk7Ci0gICAgIEdM T0JBTF9TVEFURV9DT0RFKCk7Ci1AQCAtNTUzLDcgKzU2NCw3IEBAIEJsb2NrRHJpdmVyU3RhdGUg KmJkcnZfY2J3X2FwcGVuZChCbG9ja0RyaXZlclN0YXRlICpzb3VyY2UsCi0gICAgIHFkaWN0X3B1 dF9zdHIob3B0cywgImZpbGUiLCBiZHJ2X2dldF9ub2RlX25hbWUoc291cmNlKSk7Ci0gICAgIHFk aWN0X3B1dF9zdHIob3B0cywgInRhcmdldCIsIGJkcnZfZ2V0X25vZGVfbmFtZSh0YXJnZXQpKTsK LSAKLS0gICAgdG9wID0gYmRydl9pbnNlcnRfbm9kZShzb3VyY2UsIG9wdHMsIEJEUlZfT19SRFdS LCBlcnJwKTsKLSsgICAgdG9wID0gYmRydl9pbnNlcnRfbm9kZShzb3VyY2UsIG9wdHMsIGZsYWdz LCBlcnJwKTsKLSAgICAgaWYgKCF0b3ApIHsKLSAgICAgICAgIHJldHVybiBOVUxMOwotICAgICB9 Ci1kaWZmIC0tZ2l0IGEvYmxvY2svY29weS1iZWZvcmUtd3JpdGUuaCBiL2Jsb2NrL2NvcHktYmVm b3JlLXdyaXRlLmgKLWluZGV4IDZlNzJiYjI1ZTkuLjAxYWYwY2QzYzQgMTAwNjQ0Ci0tLS0gYS9i bG9jay9jb3B5LWJlZm9yZS13cml0ZS5oCi0rKysgYi9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5o Ci1AQCAtMzksNiArMzksNyBAQAotIEJsb2NrRHJpdmVyU3RhdGUgKmJkcnZfY2J3X2FwcGVuZChC bG9ja0RyaXZlclN0YXRlICpzb3VyY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEJsb2NrRHJpdmVyU3RhdGUgKnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgY2hhciAqZmlsdGVyX25vZGVfbmFtZSwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbCBkaXNjYXJkX3NvdXJjZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQmxvY2tDb3B5U3RhdGUgKipiY3MsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCk7Ci0gdm9pZCBiZHJ2X2Nid19kcm9wKEJs b2NrRHJpdmVyU3RhdGUgKmJzKTsKLWRpZmYgLS1naXQgYS9ibG9jay9yZXBsaWNhdGlvbi5jIGIv YmxvY2svcmVwbGljYXRpb24uYwotaW5kZXggY2E2YmQwYTcyMC4uMDQxNWE1ZThiNyAxMDA2NDQK LS0tLSBhL2Jsb2NrL3JlcGxpY2F0aW9uLmMKLSsrKyBiL2Jsb2NrL3JlcGxpY2F0aW9uLmMKLUBA IC01ODIsOCArNTgyLDggQEAgc3RhdGljIHZvaWQgcmVwbGljYXRpb25fc3RhcnQoUmVwbGljYXRp b25TdGF0ZSAqcnMsIFJlcGxpY2F0aW9uTW9kZSBtb2RlLAotIAotICAgICAgICAgcy0+YmFja3Vw X2pvYiA9IGJhY2t1cF9qb2JfY3JlYXRlKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCwgcy0+c2Vjb25kYXJ5X2Rpc2stPmJzLCBzLT5oaWRkZW5fZGlzay0+YnMsCi0tICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBNSVJST1JfU1lOQ19NT0RFX05PTkUsIE5V TEwsIDAsIGZhbHNlLCBOVUxMLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBl cmYsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBNSVJST1JfU1lOQ19NT0RF X05PTkUsIE5VTEwsIDAsIGZhbHNlLCBmYWxzZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5VTEwsICZwZXJmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkxP Q0tERVZfT05fRVJST1JfUkVQT1JULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QkxPQ0tERVZfT05fRVJST1JfUkVQT1JULCBKT0JfSU5URVJOQUwsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiYWNrdXBfam9iX2NvbXBsZXRlZCwgYnMsIE5VTEwsICZsb2NhbF9l cnIpOwotZGlmZiAtLWdpdCBhL2Jsb2NrZGV2LmMgYi9ibG9ja2Rldi5jCi1pbmRleCAwNTc2MDFk Y2YwLi40YzMzYzNmNWYwIDEwMDY0NAotLS0tIGEvYmxvY2tkZXYuYwotKysrIGIvYmxvY2tkZXYu YwotQEAgLTI3MjYsNyArMjcyNiw3IEBAIHN0YXRpYyBCbG9ja0pvYiAqZG9fYmFja3VwX2NvbW1v bihCYWNrdXBDb21tb24gKmJhY2t1cCwKLSAKLSAgICAgam9iID0gYmFja3VwX2pvYl9jcmVhdGUo YmFja3VwLT5qb2JfaWQsIGJzLCB0YXJnZXRfYnMsIGJhY2t1cC0+c3BlZWQsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJhY2t1cC0+c3luYywgYm1hcCwgYmFja3VwLT5iaXRtYXBfbW9k ZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja3VwLT5jb21wcmVzcywKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmFja3VwLT5jb21wcmVzcywgYmFja3VwLT5kaXNjYXJk X3NvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja3VwLT5maWx0ZXJfbm9k ZV9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcGVyZiwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmFja3VwLT5vbl9zb3VyY2VfZXJyb3IsCi1kaWZmIC0tZ2l0IGEv aW5jbHVkZS9ibG9jay9ibG9jay1jb21tb24uaCBiL2luY2x1ZGUvYmxvY2svYmxvY2stY29tbW9u LmgKLWluZGV4IGE4NDYwMjNhMDkuLjMzOGZlNWZmN2EgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2Js b2NrL2Jsb2NrLWNvbW1vbi5oCi0rKysgYi9pbmNsdWRlL2Jsb2NrL2Jsb2NrLWNvbW1vbi5oCi1A QCAtMjQzLDYgKzI0Myw4IEBAIHR5cGVkZWYgZW51bSB7Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZWFkLXdyaXRlIGZhaWxzICovCi0gI2RlZmluZSBCRFJWX09fSU9f VVJJTkcgICAgMHg0MDAwMCAvKiB1c2UgaW9fdXJpbmcgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHBv b2wgKi8KLSAKLSsjZGVmaW5lIEJEUlZfT19DQldfRElTQ0FSRF9TT1VSQ0UgMHg4MDAwMCAvKiBm b3IgY29weS1iZWZvcmUtd3JpdGUgZmlsdGVyICovCi0rCi0gI2RlZmluZSBCRFJWX09fQ0FDSEVf TUFTSyAgKEJEUlZfT19OT0NBQ0hFIHwgQkRSVl9PX05PX0ZMVVNIKQotIAotIAotZGlmZiAtLWdp dCBhL2luY2x1ZGUvYmxvY2svYmxvY2stY29weS5oIGIvaW5jbHVkZS9ibG9jay9ibG9jay1jb3B5 LmgKLWluZGV4IDhiNDE2NDNiZmEuLmJkYzcwM2JhY2QgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2Js b2NrL2Jsb2NrLWNvcHkuaAotKysrIGIvaW5jbHVkZS9ibG9jay9ibG9jay1jb3B5LmgKLUBAIC0y Nyw2ICsyNyw3IEBAIHR5cGVkZWYgc3RydWN0IEJsb2NrQ29weUNhbGxTdGF0ZSBCbG9ja0NvcHlD YWxsU3RhdGU7Ci0gQmxvY2tDb3B5U3RhdGUgKmJsb2NrX2NvcHlfc3RhdGVfbmV3KEJkcnZDaGls ZCAqc291cmNlLCBCZHJ2Q2hpbGQgKnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqY29weV9iaXRtYXBfYnMsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEJkcnZEaXJ0eUJpdG1hcCAqYml0bWFw LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGRpc2NhcmRfc291 cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnAp OwotIAotIC8qIEZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgcHJpb3IgYW55IGFjdHVhbCBjb3B5 IHJlcXVlc3QgKi8KLWRpZmYgLS1naXQgYS9pbmNsdWRlL2Jsb2NrL2Jsb2NrX2ludC1nbG9iYWwt c3RhdGUuaCBiL2luY2x1ZGUvYmxvY2svYmxvY2tfaW50LWdsb2JhbC1zdGF0ZS5oCi1pbmRleCBk MjIwMWUyN2Y0Li5lYjJkOTJhMjI2IDEwMDY0NAotLS0tIGEvaW5jbHVkZS9ibG9jay9ibG9ja19p bnQtZ2xvYmFsLXN0YXRlLmgKLSsrKyBiL2luY2x1ZGUvYmxvY2svYmxvY2tfaW50LWdsb2JhbC1z dGF0ZS5oCi1AQCAtMTkzLDcgKzE5Myw3IEBAIEJsb2NrSm9iICpiYWNrdXBfam9iX2NyZWF0ZShj b25zdCBjaGFyICpqb2JfaWQsIEJsb2NrRHJpdmVyU3RhdGUgKmJzLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBNaXJyb3JTeW5jTW9kZSBzeW5jX21vZGUsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJkcnZEaXJ0eUJpdG1hcCAqc3luY19iaXRtYXAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJpdG1hcFN5bmNNb2RlIGJpdG1hcF9tb2RlLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBib29sIGNvbXByZXNzLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIGNvbXByZXNzLCBib29sIGRpc2NhcmRfc291cmNlLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBjaGFyICpmaWx0ZXJfbm9kZV9uYW1lLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCYWNrdXBQZXJmICpwZXJmLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCbG9ja2Rldk9uRXJyb3Igb25fc291cmNlX2Vycm9yLAotZGlmZiAtLWdpdCBhL3Fh cGkvYmxvY2stY29yZS5qc29uIGIvcWFwaS9ibG9jay1jb3JlLmpzb24KLWluZGV4IDRiMThlMDFi ODUuLmIxNzlkNjU1MjAgMTAwNjQ0Ci0tLS0gYS9xYXBpL2Jsb2NrLWNvcmUuanNvbgotKysrIGIv cWFwaS9ibG9jay1jb3JlLmpzb24KLUBAIC0xNjEwLDYgKzE2MTAsOSBAQAotICMgICAgIG5vZGUg c3BlY2lmaWVkIGJ5IEBkcml2ZS4gIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBnaXZlbiwgYSBub2Rl Ci0gIyAgICAgbmFtZSBpcyBhdXRvZ2VuZXJhdGVkLiAgKFNpbmNlOiA0LjIpCi0gIwotKyMgQGRp c2NhcmQtc291cmNlOiBEaXNjYXJkIGJsb2NrcyBvbiBzb3VyY2Ugd2hpY2ggYXJlIGFscmVhZHkg Y29waWVkCi0rIyAgICAgdG8gdGhlIHRhcmdldC4gIChTaW5jZSA5LjApCi0rIwotICMgQHgtcGVy ZjogUGVyZm9ybWFuY2Ugb3B0aW9ucy4gIChTaW5jZSA2LjApCi0gIwotICMgRmVhdHVyZXM6Ci1A QCAtMTYzMSw2ICsxNjM0LDcgQEAKLSAgICAgICAgICAgICAnKm9uLXRhcmdldC1lcnJvcic6ICdC bG9ja2Rldk9uRXJyb3InLAotICAgICAgICAgICAgICcqYXV0by1maW5hbGl6ZSc6ICdib29sJywg JyphdXRvLWRpc21pc3MnOiAnYm9vbCcsCi0gICAgICAgICAgICAgJypmaWx0ZXItbm9kZS1uYW1l JzogJ3N0cicsCi0rICAgICAgICAgICAgJypkaXNjYXJkLXNvdXJjZSc6ICdib29sJywKLSAgICAg ICAgICAgICAnKngtcGVyZic6IHsgJ3R5cGUnOiAnQmFja3VwUGVyZicsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICdmZWF0dXJlcyc6IFsgJ3Vuc3RhYmxlJyBdIH0gfSB9Ci0gCmRpZmYgLS1n aXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDEwLWh3LXZpcnRpby1GaXgtdGhlLWRlLWluaXRp YWxpemF0aW9uLW9mLXZob3N0LXVzZXItZGUucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9leHRyYS8w MDEwLWh3LXZpcnRpby1GaXgtdGhlLWRlLWluaXRpYWxpemF0aW9uLW9mLXZob3N0LXVzZXItZGUu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1YTNlOTIuLjAwMDAwMDAKLS0t IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMC1ody12aXJ0aW8tRml4LXRoZS1kZS1pbml0aWFs aXphdGlvbi1vZi12aG9zdC11c2VyLWRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAs MCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhvbWFzIEh1dGggPHRodXRoQHJlZGhhdC5jb20+ Ci1EYXRlOiBUdWUsIDE4IEp1biAyMDI0IDE0OjE5OjU4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hd IGh3L3ZpcnRpbzogRml4IHRoZSBkZS1pbml0aWFsaXphdGlvbiBvZiB2aG9zdC11c2VyIGRldmlj ZXMKLQotVGhlIHVucmVhbGl6ZSBmdW5jdGlvbnMgb2YgdGhlIHZhcmlvdXMgdmhvc3QtdXNlciBk ZXZpY2VzIGFyZQotY2FsbGluZyB0aGUgY29ycmVzcG9uZGluZyB2aG9zdF8qX3NldF9zdGF0dXMo KSBmdW5jdGlvbnMgd2l0aCBhCi1zdGF0dXMgb2YgMCB0byBzaHV0IGRvd24gdGhlIGRldmljZSBj b3JyZWN0bHkuCi0KLU5vdyB0aGVzZSB2aG9zdF8qX3NldF9zdGF0dXMoKSBmdW5jdGlvbnMgYWxs IGZvbGxvdyB0aGlzIHNjaGVtZToKLQotICAgIGJvb2wgc2hvdWxkX3N0YXJ0ID0gdmlydGlvX2Rl dmljZV9zaG91bGRfc3RhcnQodmRldiwgc3RhdHVzKTsKLQotICAgIGlmICh2aG9zdF9kZXZfaXNf c3RhcnRlZCgmdnZjLT52aG9zdF9kZXYpID09IHNob3VsZF9zdGFydCkgewotICAgICAgICByZXR1 cm47Ci0gICAgfQotCi0gICAgaWYgKHNob3VsZF9zdGFydCkgewotICAgICAgICAvKiAuLi4gZG8g dGhlIGluaXRpYWxpemF0aW9uIHN0dWZmIC4uLiAqLwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8q IC4uLiBkbyB0aGUgY2xlYW51cCBzdHVmZiAuLi4gKi8KLSAgICB9Ci0KLVRoZSBwcm9ibGVtIGhl cmUgaXMgdmlydGlvX2RldmljZV9zaG91bGRfc3RhcnQodmRldiwgMCkgY3VycmVudGx5Ci1hbHdh eXMgcmV0dXJucyAidHJ1ZSIgc2luY2UgaXQgaW50ZXJuYWxseSBvbmx5IGxvb2tzIGF0IHZkZXYt PnN0YXJ0ZWQKLWluc3RlYWQgb2YgbG9va2luZyBhdCB0aGUgInN0YXR1cyIgcGFyYW1ldGVyLiBU aHVzIG9uY2UgdGhlIGRldmljZQotZ290IHN0YXJ0ZWQgb25jZSwgdmlydGlvX2RldmljZV9zaG91 bGRfc3RhcnQoKSBhbHdheXMgcmV0dXJucyB0cnVlCi1hbmQgdGh1cyB0aGUgdmhvc3RfKl9zZXRf c3RhdHVzKCkgZnVuY3Rpb25zIHJldHVybiBlYXJseSwgd2l0aG91dAotZXZlciBkb2luZyBhbnkg Y2xlYW4tdXAgd2hlbiBiZWluZyBjYWxsZWQgd2l0aCBzdGF0dXMgPT0gMC4gVGhpcwotY2F1c2Vz IGUuZy4gcHJvYmxlbXMgd2hlbiB0cnlpbmcgdG8gaG90LXBsdWcgYW5kIGhvdC11bnBsdWcgYSB2 aG9zdAotdXNlciBkZXZpY2VzIG11bHRpcGxlIHRpbWVzIHNpbmNlIHRoZSBkZS1pbml0aWFsaXph dGlvbiBzdGVwIGlzCi1jb21wbGV0ZWx5IHNraXBwZWQgZHVyaW5nIHRoZSB1bnBsdWcgb3BlcmF0 aW9uLgotCi1UaGlzIGJ1ZyBoYXMgYmVlbiBpbnRyb2R1Y2VkIGluIGNvbW1pdCA5ZjZiY2ZkOTlm ICgiaHcvdmlydGlvOiBtb3ZlCi12bV9ydW5uaW5nIGNoZWNrIHRvIHZpcnRpb19kZXZpY2Vfc3Rh cnRlZCIpIHdoaWNoIHJlcGxhY2VkCi0KLSBzaG91bGRfc3RhcnQgPSBzdGF0dXMgJiBWSVJUSU9f Q09ORklHX1NfRFJJVkVSX09LOwotCi13aXRoCi0KLSBzaG91bGRfc3RhcnQgPSB2aXJ0aW9fZGV2 aWNlX3N0YXJ0ZWQodmRldiwgc3RhdHVzKTsKLQotd2hpY2ggbGF0ZXIgZ290IHJlcGxhY2VkIGJ5 IHZpcnRpb19kZXZpY2Vfc2hvdWxkX3N0YXJ0KCkuIFRoaXMgYmxvY2tlZAotdGhlIHBvc3NpYmls aXR5IHRvIHNldCBzaG91bGRfc3RhcnQgdG8gZmFsc2UgaW4gY2FzZSB0aGUgc3RhdHVzIGZsYWcK LVZJUlRJT19DT05GSUdfU19EUklWRVJfT0sgd2FzIG5vdCBzZXQuCi0KLUZpeCBpdCBieSBhZGp1 c3RpbmcgdGhlIHZpcnRpb19kZXZpY2Vfc2hvdWxkX3N0YXJ0KCkgZnVuY3Rpb24gdG8KLW9ubHkg Y29uc2lkZXIgdGhlIHN0YXR1cyBmbGFnIGluc3RlYWQgb2YgdmRldi0+c3RhcnRlZC4gU2luY2Ug dGhpcwotZnVuY3Rpb24gaXMgb25seSB1c2VkIGluIHRoZSB2YXJpb3VzIHZob3N0Xypfc2V0X3N0 YXR1cygpIGZ1bmN0aW9ucwotZm9yIGV4YWN0bHkgdGhlIHNhbWUgcHVycG9zZSwgaXQgc2hvdWxk IGJlIGZpbmUgdG8gZml4IGl0IGluIHRoaXMKLWNlbnRyYWwgcGxhY2UgdGhlcmUgd2l0aG91dCBh bnkgcmlzayB0byBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIG90aGVyCi1jb2RlLgotCi1GaXhlczog OWY2YmNmZDk5ZiAoImh3L3ZpcnRpbzogbW92ZSB2bV9ydW5uaW5nIGNoZWNrIHRvIHZpcnRpb19k ZXZpY2Vfc3RhcnRlZCIpCi1CdWdsaW5rOiBodHRwczovL2lzc3Vlcy5yZWRoYXQuY29tL2Jyb3dz ZS9SSEVMLTQwNzA4Ci1TaWduZWQtb2ZmLWJ5OiBUaG9tYXMgSHV0aCA8dGh1dGhAcmVkaGF0LmNv bT4KLU1lc3NhZ2UtSWQ6IDwyMDI0MDYxODEyMTk1OC44ODY3My0xLXRodXRoQHJlZGhhdC5jb20+ Ci1SZXZpZXdlZC1ieTogTWFub3MgUGl0c2lkaWFuYWtpcyA8bWFub3MucGl0c2lkaWFuYWtpc0Bs aW5hcm8ub3JnPgotUmV2aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5j b20+Ci1TaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29tPgot KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDcyNDc5YjExNzk3YzI4ODkzZTFlM2ZjNTY1NDk3 YTljYWU1Y2ExNikKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3gu Y29tPgotLS0tCi0gaW5jbHVkZS9ody92aXJ0aW8vdmlydGlvLmggfCA4ICsrKystLS0tCi0gMSBm aWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBhL2luY2x1ZGUvaHcvdmlydGlvL3ZpcnRpby5oIGIvaW5jbHVkZS9ody92aXJ0aW8vdmlydGlv LmgKLWluZGV4IDdkNWZmZGMxNDUuLjJlYWZhZDE3YjggMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2h3 L3ZpcnRpby92aXJ0aW8uaAotKysrIGIvaW5jbHVkZS9ody92aXJ0aW8vdmlydGlvLmgKLUBAIC00 NzAsOSArNDcwLDkgQEAgc3RhdGljIGlubGluZSBib29sIHZpcnRpb19kZXZpY2Vfc3RhcnRlZChW aXJ0SU9EZXZpY2UgKnZkZXYsIHVpbnQ4X3Qgc3RhdHVzKQotICAqIEB2ZGV2IC0gdGhlIFZpcnRJ TyBkZXZpY2UKLSAgKiBAc3RhdHVzIC0gdGhlIGRldmljZXMgc3RhdHVzIGJpdHMKLSAgKgotLSAq IFRoaXMgaXMgc2ltaWxhciB0byB2aXJ0aW9fZGV2aWNlX3N0YXJ0ZWQoKSBidXQgYWxzbyBlbmNh cHN1bGF0ZXMgYQotLSAqIGNoZWNrIG9uIHRoZSBWTSBzdGF0dXMgd2hpY2ggd291bGQgcHJldmVu dCBhIGRldmljZSBzdGFydGluZwotLSAqIGFueXdheS4KLSsgKiBUaGlzIGlzIHNpbWlsYXIgdG8g dmlydGlvX2RldmljZV9zdGFydGVkKCkgYnV0IGlnbm9yZXMgdmRldi0+c3RhcnRlZAotKyAqIGFu ZCBhbHNvIGVuY2Fwc3VsYXRlcyBhIGNoZWNrIG9uIHRoZSBWTSBzdGF0dXMgd2hpY2ggd291bGQg cHJldmVudCBhCi0rICogZGV2aWNlIGZyb20gc3RhcnRpbmcgYW55d2F5LgotICAqLwotIHN0YXRp YyBpbmxpbmUgYm9vbCB2aXJ0aW9fZGV2aWNlX3Nob3VsZF9zdGFydChWaXJ0SU9EZXZpY2UgKnZk ZXYsIHVpbnQ4X3Qgc3RhdHVzKQotIHsKLUBAIC00ODAsNyArNDgwLDcgQEAgc3RhdGljIGlubGlu ZSBib29sIHZpcnRpb19kZXZpY2Vfc2hvdWxkX3N0YXJ0KFZpcnRJT0RldmljZSAqdmRldiwgdWlu dDhfdCBzdGF0dXMKLSAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgfQotIAotLSAgICByZXR1 cm4gdmlydGlvX2RldmljZV9zdGFydGVkKHZkZXYsIHN0YXR1cyk7Ci0rICAgIHJldHVybiBzdGF0 dXMgJiBWSVJUSU9fQ09ORklHX1NfRFJJVkVSX09LOwotIH0KLSAKLSBzdGF0aWMgaW5saW5lIHZv aWQgdmlydGlvX3NldF9zdGFydGVkKFZpcnRJT0RldmljZSAqdmRldiwgYm9vbCBzdGFydGVkKQpk aWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMS10YXJnZXQtYXJtLVVzZS1mbG9h dF9zdGF0dXMtY29weS1pbi1zbWVfZm1vcGFfcy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJh LzAwMTEtdGFyZ2V0LWFybS1Vc2UtZmxvYXRfc3RhdHVzLWNvcHktaW4tc21lX2Ztb3BhX3MucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjYTIxNDcuLjAwMDAwMDAKLS0tIGEv ZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMS10YXJnZXQtYXJtLVVzZS1mbG9hdF9zdGF0dXMtY29w eS1pbi1zbWVfZm1vcGFfcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZy b20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IERhbml5YWwgS2hhbiA8ZGFuaWtoYW42MzJAZ21haWwuY29tPgot RGF0ZTogV2VkLCAxNyBKdWwgMjAyNCAxNjowMTo0NyArMTAwMAotU3ViamVjdDogW1BBVENIXSB0 YXJnZXQvYXJtOiBVc2UgZmxvYXRfc3RhdHVzIGNvcHkgaW4gc21lX2Ztb3BhX3MKLU1JTUUtVmVy c2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotV2UgbWFkZSBhIGNvcHkgYWJvdmUgYmVjYXVz ZSB0aGUgZnAgZXhjZXB0aW9uIGZsYWdzCi1hcmUgbm90IHByb3BhZ2F0ZWQgYmFjayB0byB0aGUg RlBTVCByZWdpc3RlciwgYnV0Ci10aGVuIGZhaWxlZCB0byB1c2UgdGhlIGNvcHkuCi0KLUNjOiBx ZW11LXN0YWJsZUBub25nbnUub3JnCi1GaXhlczogNTU4ZTk1NmM3MTkgKCJ0YXJnZXQvYXJtOiBJ bXBsZW1lbnQgRk1PUEEsIEZNT1BTIChub24td2lkZW5pbmcpIikKLVNpZ25lZC1vZmYtYnk6IERh bml5YWwgS2hhbiA8ZGFuaWtoYW42MzJAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogUmljaGFy ZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+Ci1SZXZpZXdlZC1ieTog UGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEBsaW5hcm8ub3JnPgotUmV2aWV3ZWQtYnk6 IEFsZXggQmVubsOpZSA8YWxleC5iZW5uZWVAbGluYXJvLm9yZz4KLU1lc3NhZ2UtaWQ6IDIwMjQw NzE3MDYwMTQ5LjIwNDc4OC0yLXJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmcKLVtydGg6IFNw bGl0IGZyb20gYSBsYXJnZXIgcGF0Y2hdCi1TaWduZWQtb2ZmLWJ5OiBSaWNoYXJkIEhlbmRlcnNv biA8cmljaGFyZC5oZW5kZXJzb25AbGluYXJvLm9yZz4KLVJldmlld2VkLWJ5OiBQaGlsaXBwZSBN YXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5vcmc+Ci1SZXZpZXdlZC1ieTogQWxleCBCZW5u w6llIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPgotU2lnbmVkLW9mZi1ieTogUGV0ZXIgTWF5ZGVs bCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg MzFkOTNmZWRmNDFjMjRiMGJhZGIzOGNkOTMxNzU5MGQxZWY3NGUzNykKLVNpZ25lZC1vZmYtYnk6 IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gdGFyZ2V0L2FybS90Y2cv c21lX2hlbHBlci5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGFyZ2V0L2FybS90Y2cvc21lX2hlbHBlci5jIGIv dGFyZ2V0L2FybS90Y2cvc21lX2hlbHBlci5jCi1pbmRleCBlMmUwNTc1MDM5Li41YTZkZDc2NDg5 IDEwMDY0NAotLS0tIGEvdGFyZ2V0L2FybS90Y2cvc21lX2hlbHBlci5jCi0rKysgYi90YXJnZXQv YXJtL3RjZy9zbWVfaGVscGVyLmMKLUBAIC05MTYsNyArOTE2LDcgQEAgdm9pZCBIRUxQRVIoc21l X2Ztb3BhX3MpKHZvaWQgKnZ6YSwgdm9pZCAqdnpuLCB2b2lkICp2em0sIHZvaWQgKnZwbiwKLSAg ICAgICAgICAgICAgICAgICAgICAgICBpZiAocGIgJiAxKSB7Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90ICphID0gdnphX3JvdyArIEgxXzQoY29sKTsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgKm0gPSB2em0gKyBIMV80KGNvbCk7Ci0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICphID0gZmxvYXQzMl9tdWxhZGQobiwgKm0sICphLCAwLCB2 c3QpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqYSA9IGZsb2F0MzJfbXVsYWRkKG4s ICptLCAqYSwgMCwgJmZwc3QpOwotICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg ICAgICAgICAgICAgICAgICBjb2wgKz0gNDsKLSAgICAgICAgICAgICAgICAgICAgICAgICBwYiA+ Pj0gNDsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTItdGFyZ2V0LWFybS1V c2UtRlBTVF9GMTYtZm9yLVNNRS1GTU9QQS13aWRlbmluZy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVz L2V4dHJhLzAwMTItdGFyZ2V0LWFybS1Vc2UtRlBTVF9GMTYtZm9yLVNNRS1GTU9QQS13aWRlbmlu Zy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZmMjRmYy4uMDAwMDAwMAot LS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDEyLXRhcmdldC1hcm0tVXNlLUZQU1RfRjE2LWZv ci1TTUUtRk1PUEEtd2lkZW5pbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBA Ci1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNoYXJkIEhlbmRlcnNvbiA8cmljaGFyZC5oZW5kZXJz b25AbGluYXJvLm9yZz4KLURhdGU6IFdlZCwgMTcgSnVsIDIwMjQgMTY6MDE6NDggKzEwMDAKLVN1 YmplY3Q6IFtQQVRDSF0gdGFyZ2V0L2FybTogVXNlIEZQU1RfRjE2IGZvciBTTUUgRk1PUEEgKHdp ZGVuaW5nKQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1UaGlzIG9wZXJh dGlvbiBoYXMgZmxvYXQxNiBpbnB1dHMgYW5kIHRodXMgbXVzdCB1c2UKLXRoZSBGWjE2IGNvbnRy b2wgbm90IHRoZSBGWiBjb250cm9sLgotCi1DYzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotRml4 ZXM6IDM5MTY4NDFhYzc1ICgidGFyZ2V0L2FybTogSW1wbGVtZW50IEZNT1BBLCBGTU9QUyAod2lk ZW5pbmcpIikKLVJlcG9ydGVkLWJ5OiBEYW5peWFsIEtoYW4gPGRhbmlraGFuNjMyQGdtYWlsLmNv bT4KLVNpZ25lZC1vZmYtYnk6IFJpY2hhcmQgSGVuZGVyc29uIDxyaWNoYXJkLmhlbmRlcnNvbkBs aW5hcm8ub3JnPgotUmV2aWV3ZWQtYnk6IEFsZXggQmVubsOpZSA8YWxleC5iZW5uZWVAbGluYXJv Lm9yZz4KLU1lc3NhZ2UtaWQ6IDIwMjQwNzE3MDYwMTQ5LjIwNDc4OC0zLXJpY2hhcmQuaGVuZGVy c29uQGxpbmFyby5vcmcKLVJlc29sdmVzOiBodHRwczovL2dpdGxhYi5jb20vcWVtdS1wcm9qZWN0 L3FlbXUvLS9pc3N1ZXMvMjM3NAotU2lnbmVkLW9mZi1ieTogUmljaGFyZCBIZW5kZXJzb24gPHJp Y2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+Ci1SZXZpZXdlZC1ieTogQWxleCBCZW5uw6llIDxh bGV4LmJlbm5lZUBsaW5hcm8ub3JnPgotU2lnbmVkLW9mZi1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0 ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjA3ZDMw YjVmZGI1YjQ1YTM2ZjI2ZWVmY2Y1MmZlMmMxNzE0ZGQ0ZikKLVNpZ25lZC1vZmYtYnk6IEZpb25h IEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gdGFyZ2V0L2FybS90Y2cvdHJhbnNs YXRlLXNtZS5jIHwgMTIgKysrKysrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3RhcmdldC9hcm0vdGNnL3RyYW5z bGF0ZS1zbWUuYyBiL3RhcmdldC9hcm0vdGNnL3RyYW5zbGF0ZS1zbWUuYwotaW5kZXggNDZjN2Zj ZThiNC4uMTg1YThhOTE3YiAxMDA2NDQKLS0tLSBhL3RhcmdldC9hcm0vdGNnL3RyYW5zbGF0ZS1z bWUuYwotKysrIGIvdGFyZ2V0L2FybS90Y2cvdHJhbnNsYXRlLXNtZS5jCi1AQCAtMzA0LDYgKzMw NCw3IEBAIHN0YXRpYyBib29sIGRvX291dHByb2QoRGlzYXNDb250ZXh0ICpzLCBhcmdfb3AgKmEs IE1lbU9wIGVzeiwKLSB9Ci0gCi0gc3RhdGljIGJvb2wgZG9fb3V0cHJvZF9mcHN0KERpc2FzQ29u dGV4dCAqcywgYXJnX29wICphLCBNZW1PcCBlc3osCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEFSTUZQU3RhdHVzRmxhdm91ciBlX2Zwc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdlbl9oZWxwZXJfZ3ZlY181X3B0ciAqZm4pCi0gewotICAgICBpbnQgc3ZsID0gc3RyZWFt aW5nX3ZlY19yZWdfc2l6ZShzKTsKLUBAIC0zMTksMTUgKzMyMCwxOCBAQCBzdGF0aWMgYm9vbCBk b19vdXRwcm9kX2Zwc3QoRGlzYXNDb250ZXh0ICpzLCBhcmdfb3AgKmEsIE1lbU9wIGVzeiwKLSAg ICAgem0gPSB2ZWNfZnVsbF9yZWdfcHRyKHMsIGEtPnptKTsKLSAgICAgcG4gPSBwcmVkX2Z1bGxf cmVnX3B0cihzLCBhLT5wbik7Ci0gICAgIHBtID0gcHJlZF9mdWxsX3JlZ19wdHIocywgYS0+cG0p OwotLSAgICBmcHN0ID0gZnBzdGF0dXNfcHRyKEZQU1RfRlBDUik7Ci0rICAgIGZwc3QgPSBmcHN0 YXR1c19wdHIoZV9mcHN0KTsKLSAKLSAgICAgZm4oemEsIHpuLCB6bSwgcG4sIHBtLCBmcHN0LCB0 Y2dfY29uc3RhbnRfaTMyKGRlc2MpKTsKLSAgICAgcmV0dXJuIHRydWU7Ci0gfQotIAotLVRSQU5T X0ZFQVQoRk1PUEFfaCwgYWE2NF9zbWUsIGRvX291dHByb2RfZnBzdCwgYSwgTU9fMzIsIGdlbl9o ZWxwZXJfc21lX2Ztb3BhX2gpCi0tVFJBTlNfRkVBVChGTU9QQV9zLCBhYTY0X3NtZSwgZG9fb3V0 cHJvZF9mcHN0LCBhLCBNT18zMiwgZ2VuX2hlbHBlcl9zbWVfZm1vcGFfcykKLS1UUkFOU19GRUFU KEZNT1BBX2QsIGFhNjRfc21lX2Y2NGY2NCwgZG9fb3V0cHJvZF9mcHN0LCBhLCBNT182NCwgZ2Vu X2hlbHBlcl9zbWVfZm1vcGFfZCkKLStUUkFOU19GRUFUKEZNT1BBX2gsIGFhNjRfc21lLCBkb19v dXRwcm9kX2Zwc3QsIGEsCi0rICAgICAgICAgICBNT18zMiwgRlBTVF9GUENSX0YxNiwgZ2VuX2hl bHBlcl9zbWVfZm1vcGFfaCkKLStUUkFOU19GRUFUKEZNT1BBX3MsIGFhNjRfc21lLCBkb19vdXRw cm9kX2Zwc3QsIGEsCi0rICAgICAgICAgICBNT18zMiwgRlBTVF9GUENSLCBnZW5faGVscGVyX3Nt ZV9mbW9wYV9zKQotK1RSQU5TX0ZFQVQoRk1PUEFfZCwgYWE2NF9zbWVfZjY0ZjY0LCBkb19vdXRw cm9kX2Zwc3QsIGEsCi0rICAgICAgICAgICBNT182NCwgRlBTVF9GUENSLCBnZW5faGVscGVyX3Nt ZV9mbW9wYV9kKQotIAotIC8qIFRPRE86IEZFQVRfRUJGMTYgKi8KLSBUUkFOU19GRUFUKEJGTU9Q QSwgYWE2NF9zbWUsIGRvX291dHByb2QsIGEsIE1PXzMyLCBnZW5faGVscGVyX3NtZV9iZm1vcGEp CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDEzLXNjc2ktZml4LXJlZ3Jlc3Np b24tYW5kLWhvbm9yLWJvb3RpbmRleC1hZ2Fpbi1mb3ItbGUucGF0Y2ggYi9kZWJpYW4vcGF0Y2hl cy9leHRyYS8wMDEzLXNjc2ktZml4LXJlZ3Jlc3Npb24tYW5kLWhvbm9yLWJvb3RpbmRleC1hZ2Fp bi1mb3ItbGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmYWQ0ZGMuLjAw MDAwMDAKLS0tIGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxMy1zY3NpLWZpeC1yZWdyZXNzaW9u LWFuZC1ob25vci1ib290aW5kZXgtYWdhaW4tZm9yLWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNjAgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmlvbmEgRWJuZXIgPGYuZWJuZXJA cHJveG1veC5jb20+Ci1EYXRlOiBXZWQsIDEwIEp1bCAyMDI0IDE3OjI1OjI5ICswMjAwCi1TdWJq ZWN0OiBbUEFUQ0hdIHNjc2k6IGZpeCByZWdyZXNzaW9uIGFuZCBob25vciBib290aW5kZXggYWdh aW4gZm9yIGxlZ2FjeQotIGRyaXZlcwotCi1Db21taXQgMzA4OTYzNzQ2MSAoInNjc2k6IERvbid0 IGlnbm9yZSBtb3N0IHVzYi1zdG9yYWdlIHByb3BlcnRpZXMiKQotcmVtb3ZlZCB0aGUgY2FsbCB0 byBvYmplY3RfcHJvcGVydHlfc2V0X2ludCgpIGFuZCB0aHVzIHRoZSAnc2V0JwotbWV0aG9kIGZv ciB0aGUgYm9vdGluZGV4IHByb3BlcnR5IHdhcyBhbHNvIG5vdCBjYWxsZWQgYW55bW9yZS4gSGVy ZQotdGhhdCBtZXRob2QgaXMgZGV2aWNlX3NldF9ib290aW5kZXgoKSAoYXMgY29uZmlndXJlZCBi eQotc2NzaV9kZXZfaW5zdGFuY2VfaW5pdCgpIC0+IGRldmljZV9hZGRfYm9vdGluZGV4X3Byb3Bl cnR5KCkpIHdoaWNoIGFzCi1hIHNpZGUgZWZmZWN0IHJlZ2lzdGVycyB0aGUgZGV2aWNlIHZpYSBh ZGRfYm9vdF9kZXZpY2VfcGF0aCgpLgotCi1BcyByZXBvcnRlZCBieSBhIGRvd25zdHJlYW0gdXNl ciBbMF0sIHRoZSBib290aW5kZXggcHJvcGVydHkgZGlkIG5vdAotaGF2ZSB0aGUgZGVzaXJlZCBl ZmZlY3QgYW55bW9yZSBmb3IgbGVnYWN5IGRyaXZlcy4gRml4IHRoZSByZWdyZXNzaW9uCi1ieSBl eHBsaWNpdGx5IGNhbGxpbmcgdGhlIGFkZF9ib290X2RldmljZV9wYXRoKCkgZnVuY3Rpb24gYWZ0 ZXIKLWNoZWNraW5nIHRoYXQgdGhlIGJvb3RpbmRleCBpcyBub3QgeWV0IHVzZWQgKHRvIGF2b2lk Ci1hZGRfYm9vdF9kZXZpY2VfcGF0aCgpIGNhbGxpbmcgZXhpdCgpKS4KLQotWzBdOiBodHRwczov L2ZvcnVtLnByb3htb3guY29tL3RocmVhZHMvMTQ5NzcyL3Bvc3QtNjc5NDMzCi0KLUNjOiBxZW11 LXN0YWJsZUBub25nbnUub3JnCi1GaXhlczogMzA4OTYzNzQ2MSAoInNjc2k6IERvbid0IGlnbm9y ZSBtb3N0IHVzYi1zdG9yYWdlIHByb3BlcnRpZXMiKQotU3VnZ2VzdGVkLWJ5OiBLZXZpbiBXb2xm IDxrd29sZkByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJA cHJveG1veC5jb20+Ci1MaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIwMjQwNzEwMTUy NTI5LjE3Mzc0MDctMS1mLmVibmVyQHByb3htb3guY29tCi1TaWduZWQtb2ZmLWJ5OiBQYW9sbyBC b256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg NTdhOGE4MGQxYTViMjg3OTdiMjFkMzBiZmM2MDYwMTk0NTgyMGU1MSkKLVNpZ25lZC1vZmYtYnk6 IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gaHcvc2NzaS9zY3NpLWJ1 cy5jIHwgOSArKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCi0KLWRp ZmYgLS1naXQgYS9ody9zY3NpL3Njc2ktYnVzLmMgYi9ody9zY3NpL3Njc2ktYnVzLmMKLWluZGV4 IDllNDBiMGM5MjAuLjUzZWZmNWRkM2QgMTAwNjQ0Ci0tLS0gYS9ody9zY3NpL3Njc2ktYnVzLmMK LSsrKyBiL2h3L3Njc2kvc2NzaS1idXMuYwotQEAgLTM4NCw2ICszODQsNyBAQCBTQ1NJRGV2aWNl ICpzY3NpX2J1c19sZWdhY3lfYWRkX2RyaXZlKFNDU0lCdXMgKmJ1cywgQmxvY2tCYWNrZW5kICpi bGssCi0gICAgIERldmljZVN0YXRlICpkZXY7Ci0gICAgIFNDU0lEZXZpY2UgKnM7Ci0gICAgIERy aXZlSW5mbyAqZGluZm87Ci0rICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOwotIAotICAgICBp ZiAoYmxrX2lzX3NnKGJsaykpIHsKLSAgICAgICAgIGRyaXZlciA9ICJzY3NpLWdlbmVyaWMiOwot QEAgLTQwMyw2ICs0MDQsMTQgQEAgU0NTSURldmljZSAqc2NzaV9idXNfbGVnYWN5X2FkZF9kcml2 ZShTQ1NJQnVzICpidXMsIEJsb2NrQmFja2VuZCAqYmxrLAotICAgICBzID0gU0NTSV9ERVZJQ0Uo ZGV2KTsKLSAgICAgcy0+Y29uZiA9ICpjb25mOwotIAotKyAgICBjaGVja19ib290X2luZGV4KGNv bmYtPmJvb3RpbmRleCwgJmxvY2FsX2Vycik7Ci0rICAgIGlmIChsb2NhbF9lcnIpIHsKLSsgICAg ICAgIG9iamVjdF91bnBhcmVudChPQkpFQ1QoZGV2KSk7Ci0rICAgICAgICBlcnJvcl9wcm9wYWdh dGUoZXJycCwgbG9jYWxfZXJyKTsKLSsgICAgICAgIHJldHVybiBOVUxMOwotKyAgICB9Ci0rICAg IGFkZF9ib290X2RldmljZV9wYXRoKGNvbmYtPmJvb3RpbmRleCwgZGV2LCBOVUxMKTsKLSsKLSAg ICAgcWRldl9wcm9wX3NldF91aW50MzIoZGV2LCAic2NzaS1pZCIsIHVuaXQpOwotICAgICBpZiAo b2JqZWN0X3Byb3BlcnR5X2ZpbmQoT0JKRUNUKGRldiksICJyZW1vdmFibGUiKSkgewotICAgICAg ICAgcWRldl9wcm9wX3NldF9iaXQoZGV2LCAicmVtb3ZhYmxlIiwgcmVtb3ZhYmxlKTsKZGlmZiAt LWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTQtaHctc2NzaS1sc2k1M2M4OTVhLWJ1bXAt aW5zdHJ1Y3Rpb24tbGltaXQtaW4tc2NyaXB0cy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJh LzAwMTQtaHctc2NzaS1sc2k1M2M4OTVhLWJ1bXAtaW5zdHJ1Y3Rpb24tbGltaXQtaW4tc2NyaXB0 cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTExODI4OS4uMDAwMDAwMAot LS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDE0LWh3LXNjc2ktbHNpNTNjODk1YS1idW1wLWlu c3RydWN0aW9uLWxpbWl0LWluLXNjcmlwdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OCAr MCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94 LmNvbT4KLURhdGU6IE1vbiwgMTUgSnVsIDIwMjQgMTU6MTQ6MDMgKzAyMDAKLVN1YmplY3Q6IFtQ QVRDSF0gaHcvc2NzaS9sc2k1M2M4OTVhOiBidW1wIGluc3RydWN0aW9uIGxpbWl0IGluIHNjcmlw dHMKLSBwcm9jZXNzaW5nIHRvIGZpeCByZWdyZXNzaW9uCi0KLUNvbW1pdCA5ODc2MzU5OTkwICgi aHcvc2NzaS9sc2k1M2M4OTVhOiBhZGQgdGltZXIgdG8gc2NyaXB0cwotcHJvY2Vzc2luZyIpIHJl ZHVjZWQgdGhlIG1heGltdW0gYWxsb3dlZCBpbnN0cnVjdGlvbiBjb3VudCBieQotYSBmYWN0b3Ig b2YgMTAwIGFsbCB0aGUgd2F5IGRvd24gdG8gMTAwLgotCi1UaGlzIGNhdXNlcyB0aGUgIkNoZWNr IFBvaW50IFI4MS4yMCBHYWlhIiBhcHBsaWFuY2UgWzBdIHRvIGZhaWwgdG8KLWJvb3QgYWZ0ZXIg ZnVsbHkgZmluaXNoaW5nIHRoZSBpbnN0YWxsYXRpb24gdmlhIHRoZSBhcHBsaWFuY2UncyB3ZWIK LWludGVyZmFjZSAodGhlcmUgaXMgYWxyZWFkeSBvbmUgcmVib290IGJlZm9yZSB0aGF0KS4KLQot V2l0aCBhIGxpbWl0IG9mIDE1MCwgdGhlIGFwcGxpYW5jZSBzdGlsbCBmYWlscyB0byBib290LCB3 aGlsZSB3aXRoIGEKLWxpbWl0IG9mIDIwMCwgaXQgd29ya3MuIEJ1bXAgdG8gNTAwIHRvIGZpeCB0 aGUgcmVncmVzc2lvbiBhbmQgYmUgb24KLXRoZSBzYWZlIHNpZGUuCi0KLU9yaWdpbmFsbHkgcmVw b3J0ZWQgaW4gdGhlIFByb3htb3ggY29tbXVuaXR5IGZvcnVtWzFdLgotCi1bMF06IGh0dHBzOi8v c3VwcG9ydC5jaGVja3BvaW50LmNvbS9yZXN1bHRzL2Rvd25sb2FkLzEyNDM5NwotWzFdOiBodHRw czovL2ZvcnVtLnByb3htb3guY29tL3RocmVhZHMvMTQ5NzcyL3Bvc3QtNjgzNDU5Ci0KLUNjOiBx ZW11LXN0YWJsZUBub25nbnUub3JnCi1GaXhlczogOTg3NjM1OTk5MCAoImh3L3Njc2kvbHNpNTNj ODk1YTogYWRkIHRpbWVyIHRvIHNjcmlwdHMgcHJvY2Vzc2luZyIpCi1TaWduZWQtb2ZmLWJ5OiBG aW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KLUFja2VkLWJ5OiBTdmVuIFNjaG5lbGxl IDxzdmVuc0BzdGFja2ZyYW1lLm9yZz4KLUxpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3Iv MjAyNDA3MTUxMzE0MDMuMjIzMjM5LTEtZi5lYm5lckBwcm94bW94LmNvbQotU2lnbmVkLW9mZi1i eTogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KLShjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IGE0OTc1MDIzZmIxM2NmMjI5YmQ1OWM5Y2VlYzFiOGNiZGM1YjlhMjApCi1TaWdu ZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KLS0tLQotIGh3L3Nj c2kvbHNpNTNjODk1YS5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaHcvc2NzaS9sc2k1M2M4OTVhLmMgYi9ody9z Y3NpL2xzaTUzYzg5NWEuYwotaW5kZXggZWI5ODI4ZGQ1ZS4uZjE5MzVlNTMyOCAxMDA2NDQKLS0t LSBhL2h3L3Njc2kvbHNpNTNjODk1YS5jCi0rKysgYi9ody9zY3NpL2xzaTUzYzg5NWEuYwotQEAg LTE4OCw3ICsxODgsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqbmFtZXNbXSA9IHsKLSAjZGVmaW5l IExTSV9UQUdfVkFMSUQgICAgICgxIDw8IDE2KQotIAotIC8qIE1heGltdW0gaW5zdHJ1Y3Rpb25z IHRvIHByb2Nlc3MuICovCi0tI2RlZmluZSBMU0lfTUFYX0lOU04gICAgMTAwCi0rI2RlZmluZSBM U0lfTUFYX0lOU04gICAgNTAwCi0gCi0gdHlwZWRlZiBzdHJ1Y3QgbHNpX3JlcXVlc3QgewotICAg ICBTQ1NJUmVxdWVzdCAqcmVxOwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAx NS1ibG9jay1jb3B5LUZpeC1taXNzaW5nLWdyYXBoLWxvY2sucGF0Y2ggYi9kZWJpYW4vcGF0Y2hl cy9leHRyYS8wMDE1LWJsb2NrLWNvcHktRml4LW1pc3NpbmctZ3JhcGgtbG9jay5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMxZDJjMS4uMDAwMDAwMAotLS0gYS9kZWJpYW4v cGF0Y2hlcy9leHRyYS8wMDE1LWJsb2NrLWNvcHktRml4LW1pc3NpbmctZ3JhcGgtbG9jay5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtl dmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDI3IEp1biAyMDI0IDIwOjEy OjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJsb2NrLWNvcHk6IEZpeCBtaXNzaW5nIGdyYXBo IGxvY2sKLQotVGhlIGdyYXBoIGxvY2sgbmVlZHMgdG8gYmUgaGVsZCB3aGVuIGNhbGxpbmcgYmRy dl9jb19wZGlzY2FyZCgpLiBGaXgKLWJsb2NrX2NvcHlfdGFza19lbnRyeSgpIHRvIHRha2UgaXQg Zm9yIHRoZSBjYWxsLgotCi1XSVRIX0dSQVBIX1JETE9DS19HVUFSRCgpIHdhcyBpbXBsZW1lbnRl ZCBpbiBhIHdlYWsgd2F5IGJlY2F1c2Ugb2YKLWxpbWl0YXRpb25zIGluIGNsYW5nJ3MgVGhyZWFk IFNhZmV0eSBBbmFseXNpcyBhdCB0aGUgdGltZSwgc28gdGhhdCBpdAotb25seSBhc3NlcnRzIHRo YXQgdGhlIGxvY2sgaXMgaGVsZCAod2hpY2ggYWxsb3dzIGNhbGxpbmcgZnVuY3Rpb25zIHRoYXQK LXJlcXVpcmUgdGhlIGxvY2spLCBidXQgd2UgbmV2ZXIgZGVhbCB3aXRoIHRoZSB1bmxvY2tpbmcg KHNvIGV2ZW4gYWZ0ZXIKLXRoZSBzY29wZSBvZiB0aGUgZ3VhcmQsIHRoZSBjb21waWxlciBhc3N1 bWVzIHRoYXQgdGhlIGxvY2sgaXMgc3RpbGwKLWhlbGQpLiBUaGlzIGlzIHdoeSB0aGUgY29tcGls ZXIgZGlkbid0IGNhdGNoIHRoaXMgbG9ja2luZyBlcnJvci4KLQotU2lnbmVkLW9mZi1ieTogS2V2 aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KLVJldmlld2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkg PHN0ZWZhbmhhQHJlZGhhdC5jb20+Ci0ocGlja2VkIGZyb20gaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvcWVtdS1kZXZlbC8yMDI0MDYyNzE4MTI0NS4yODE0MDMtMi1rd29sZkByZWRoYXQuY29tLykK LVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0g YmxvY2svYmxvY2stY29weS5jIHwgNCArKystCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvYmxvY2svYmxvY2stY29weS5jIGIv YmxvY2svYmxvY2stY29weS5jCi1pbmRleCA3ZTNiMzc4NTI4Li5jYzYxOGU0NTYxIDEwMDY0NAot LS0tIGEvYmxvY2svYmxvY2stY29weS5jCi0rKysgYi9ibG9jay9ibG9jay1jb3B5LmMKLUBAIC01 OTUsNyArNTk1LDkgQEAgc3RhdGljIGNvcm91dGluZV9mbiBpbnQgYmxvY2tfY29weV90YXNrX2Vu dHJ5KEFpb1Rhc2sgKnRhc2spCi0gICAgIGlmIChzLT5kaXNjYXJkX3NvdXJjZSAmJiByZXQgPT0g MCkgewotICAgICAgICAgaW50NjRfdCBuYnl0ZXMgPQotICAgICAgICAgICAgIE1JTih0LT5yZXEu b2Zmc2V0ICsgdC0+cmVxLmJ5dGVzLCBzLT5sZW4pIC0gdC0+cmVxLm9mZnNldDsKLS0gICAgICAg IGJkcnZfY29fcGRpc2NhcmQocy0+c291cmNlLCB0LT5yZXEub2Zmc2V0LCBuYnl0ZXMpOwotKyAg ICAgICAgV0lUSF9HUkFQSF9SRExPQ0tfR1VBUkQoKSB7Ci0rICAgICAgICAgICAgYmRydl9jb19w ZGlzY2FyZChzLT5zb3VyY2UsIHQtPnJlcS5vZmZzZXQsIG5ieXRlcyk7Ci0rICAgICAgICB9Ci0g ICAgIH0KLSAKLSAgICAgcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4 dHJhLzAwMTYtUmV2ZXJ0LXFlbXUtY2hhci1kby1ub3Qtb3BlcmF0ZS1vbi1zb3VyY2VzLWZyb20t ZmluYS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTYtUmV2ZXJ0LXFlbXUtY2hhci1k by1ub3Qtb3BlcmF0ZS1vbi1zb3VyY2VzLWZyb20tZmluYS5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDg4YWY4NC4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRy YS8wMDE2LVJldmVydC1xZW11LWNoYXItZG8tbm90LW9wZXJhdGUtb24tc291cmNlcy1mcm9tLWZp bmEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBTZXJnZXkgRHlhc2xpIDxzZXJnZXkuZHlhc2xpQG51dGFuaXguY29tPgotRGF0ZTogRnJp LCAxMiBKdWwgMjAyNCAwOToyNjo1OSArMDAwMAotU3ViamVjdDogW1BBVENIXSBSZXZlcnQgInFl bXUtY2hhcjogZG8gbm90IG9wZXJhdGUgb24gc291cmNlcyBmcm9tIGZpbmFsaXplCi0gY2FsbGJh Y2tzIgotCi1UaGlzIHJldmVydHMgY29tbWl0IDJiMzE2Nzc0ZjYwMjkxZjU3Y2E5ZWNiNmE5ZjA3 MTJjNTMyY2FlMzQuCi0KLUFmdGVyIDAzOGI0MjE3ODg0YyAoIlJldmVydCAiY2hhcmRldjogdXNl IGEgY2hpbGQgc291cmNlIGZvciBxaW8gaW5wdXQKLXNvdXJjZSIiKSB3ZSd2ZSBiZWVuIG9ic2Vy dmluZyB0aGUgIml3cC0+c3JjID09IE5VTEwiIGFzc2VydGlvbgotdHJpZ2dlcmluZyBwZXJpb2Rp Y2FsbHkgZHVyaW5nIHRoZSBpbml0aWFsIGNhcGFiaWxpdGllcyBxdWVyeWluZyBieQotbGlidmly dGQuIE9uZSBvZiBwb3NzaWJsZSBiYWNrdHJhY2VzOgotCi1UaHJlYWQgMSAoVGhyZWFkIDB4N2Yx NmNkNGYwNzAwIChMV1AgNDM4NTgpKToKLTAgIF9fR0lfcmFpc2UgKHNpZz1zaWdAZW50cnk9Nikg YXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvcmFpc2UuYzo1MAotMSAgMHgwMDAwN2YxNmM2 YzIxZTY1IGluIF9fR0lfYWJvcnQgKCkgYXQgYWJvcnQuYzo3OQotMiAgMHgwMDAwN2YxNmM2YzIx ZDM5IGluIF9fYXNzZXJ0X2ZhaWxfYmFzZSAgYXQgYXNzZXJ0LmM6OTIKLTMgIDB4MDAwMDdmMTZj NmM0NmU4NiBpbiBfX0dJX19fYXNzZXJ0X2ZhaWwgKGFzc2VydGlvbj1hc3NlcnRpb25AZW50cnk9 MHg1NjJlOWJjZGFhZGQgIml3cC0+c3JjID09IE5VTEwiLCBmaWxlPWZpbGVAZW50cnk9MHg1NjJl OWJjZGFhYzggIi4uL2NoYXJkZXYvY2hhci1pby5jIiwgbGluZT1saW5lQGVudHJ5PTk5LCBmdW5j dGlvbj1mdW5jdGlvbkBlbnRyeT0weDU2MmU5YmNkYWIxMCA8X19QUkVUVFlfRlVOQ1RJT05fXy4y MDU0OT4gImlvX3dhdGNoX3BvbGxfZmluYWxpemUiKSBhdCBhc3NlcnQuYzoxMDEKLTQgIDB4MDAw MDU2MmU5YmEyMGMyYyBpbiBpb193YXRjaF9wb2xsX2ZpbmFsaXplIChzb3VyY2U9PG9wdGltaXpl ZCBvdXQ+KSBhdCAuLi9jaGFyZGV2L2NoYXItaW8uYzo5OQotNSAgaW9fd2F0Y2hfcG9sbF9maW5h bGl6ZSAoc291cmNlPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vY2hhcmRldi9jaGFyLWlvLmM6ODgK LTYgIDB4MDAwMDdmMTZjOTA0YWFlMCBpbiBnX3NvdXJjZV91bnJlZl9pbnRlcm5hbCAoKSBmcm9t IC9saWI2NC9saWJnbGliLTIuMC5zby4wCi03ICAweDAwMDA3ZjE2YzkwNGJhZjkgaW4gZ19zb3Vy Y2VfZGVzdHJveV9pbnRlcm5hbCAoKSBmcm9tIC9saWI2NC9saWJnbGliLTIuMC5zby4wCi04ICAw eDAwMDA1NjJlOWJhMjBkYjAgaW4gaW9fcmVtb3ZlX3dhdGNoX3BvbGwgKHNvdXJjZT0weDU2MmU5 ZDY3MjBiMCkgYXQgLi4vY2hhcmRldi9jaGFyLWlvLmM6MTQ3Ci05ICByZW1vdmVfZmRfaW5fd2F0 Y2ggKGNocj1jaHJAZW50cnk9MHg1NjJlOWQ1ZjM4MDApIGF0IC4uL2NoYXJkZXYvY2hhci1pby5j OjE1MwotMTAgMHgwMDAwNTYyZTliYTIzZmZiIGluIHVwZGF0ZV9pb2NfaGFuZGxlcnMgKHM9MHg1 NjJlOWQ1ZjM4MDApIGF0IC4uL2NoYXJkZXYvY2hhci1zb2NrZXQuYzo1OTIKLTExIDB4MDAwMDU2 MmU5YmEyMDcyZiBpbiBxZW11X2Nocl9mZV9zZXRfaGFuZGxlcnNfZnVsbCBhdCAuLi9jaGFyZGV2 L2NoYXItZmUuYzoyNzkKLTEyIDB4MDAwMDU2MmU5YmEyMDdhOSBpbiBxZW11X2Nocl9mZV9zZXRf aGFuZGxlcnMgYXQgLi4vY2hhcmRldi9jaGFyLWZlLmM6MzA0Ci0xMyAweDAwMDA1NjJlOWJhMmNh NzUgaW4gbW9uaXRvcl9xbXBfc2V0dXBfaGFuZGxlcnNfYmggKG9wYXF1ZT0weDU2MmU5ZDRjMmM2 MCkgYXQgLi4vbW9uaXRvci9xbXAuYzo1MDkKLTE0IDB4MDAwMDU2MmU5YmI2MjIyZSBpbiBhaW9f YmhfcG9sbCAoY3R4PWN0eEBlbnRyeT0weDU2MmU5ZDRjMmYyMCkgYXQgLi4vdXRpbC9hc3luYy5j OjIxNgotMTUgMHgwMDAwNTYyZTliYjRkZTBhIGluIGFpb19wb2xsIChjdHg9MHg1NjJlOWQ0YzJm MjAsIGJsb2NraW5nPWJsb2NraW5nQGVudHJ5PXRydWUpIGF0IC4uL3V0aWwvYWlvLXBvc2l4LmM6 NzIyCi0xNiAweDAwMDA1NjJlOWI5OWRmYWEgaW4gaW90aHJlYWRfcnVuIChvcGFxdWU9MHg1NjJl OWQ0YzI2ZjApIGF0IC4uL2lvdGhyZWFkLmM6NjMKLTE3IDB4MDAwMDU2MmU5YmI1MDVhNCBpbiBx ZW11X3RocmVhZF9zdGFydCAoYXJncz0weDU2MmU5ZDRjN2VhMCkgYXQgLi4vdXRpbC9xZW11LXRo cmVhZC1wb3NpeC5jOjU0MwotMTggMHgwMDAwN2YxNmM3MDA4MWNhIGluIHN0YXJ0X3RocmVhZCAo YXJnPTxvcHRpbWl6ZWQgb3V0PikgYXQgcHRocmVhZF9jcmVhdGUuYzo0NzkKLTE5IDB4MDAwMDdm MTZjNmMzOThkMyBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZf NjQvY2xvbmUuUzo5NQotCi1pb19yZW1vdmVfd2F0Y2hfcG9sbCgpLCB3aGljaCBtYWtlcyBzdXJl IHRoYXQgaXdwLT5zcmMgaXMgTlVMTCwgY2FsbHMKLWdfc291cmNlX2Rlc3Ryb3koKSB3aGljaCBm aW5kcyB0aGF0IGl3cC0+c3JjIGlzIG5vdCBOVUxMIGluIHRoZSBmaW5hbGl6ZQotY2FsbGJhY2su IFRoaXMgY2FuIG9ubHkgaGFwcGVuIGlmIGFub3RoZXIgdGhyZWFkIGhhcyBtYW5hZ2VkIHRvIHRy aWdnZXIKLWlvX3dhdGNoX3BvbGxfcHJlcGFyZSgpIGNhbGxiYWNrIGluIHRoZSBtZWFudGltZS4K LQotTW92ZSBpd3AtPnNyYyBkZXN0cnVjdGlvbiBiYWNrIHRvIHRoZSBmaW5hbGl6ZSBjYWxsYmFj ayB0byBwcmV2ZW50IHRoZQotZGVzY3JpYmVkIHJhY2UsIGFuZCBhbHNvIHJlbW92ZSB0aGUgc3Rh bGUgY29tbWVudC4gVGhlIGRlYWRsb2NrIGdsaWIgYnVnCi13YXMgZml4ZWQgYmFjayBpbiAyMDEw IGJ5IGIzNTgyMDI4NTY2OCAoImdtYWluOiBtb3ZlIGZpbmFsaXphdGlvbiBvZgotR1NvdXJjZSBv dXRzaWRlIG9mIGNvbnRleHQgbG9jayIpLgotCi1TdWdnZXN0ZWQtYnk6IFBhb2xvIEJvbnppbmkg PHBib256aW5pQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBTZXJnZXkgRHlhc2xpIDxzZXJn ZXkuZHlhc2xpQG51dGFuaXguY29tPgotTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8y MDI0MDcxMjA5MjY1OS4yMTYyMDYtMS1zZXJnZXkuZHlhc2xpQG51dGFuaXguY29tCi1TaWduZWQt b2ZmLWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgZTBiZjk1NDQzZWU5MzI2ZDQ0MDMxMzczNDIwY2Y5ZjM1MTNlZTI1NSkK LVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0g Y2hhcmRldi9jaGFyLWlvLmMgfCAxOSArKysrKy0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5n ZWQsIDUgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jaGFy ZGV2L2NoYXItaW8uYyBiL2NoYXJkZXYvY2hhci1pby5jCi1pbmRleCBkYWI3N2IxMTJlLi4zYmUx N2I1MWNhIDEwMDY0NAotLS0tIGEvY2hhcmRldi9jaGFyLWlvLmMKLSsrKyBiL2NoYXJkZXYvY2hh ci1pby5jCi1AQCAtODcsMTYgKzg3LDEyIEBAIHN0YXRpYyBnYm9vbGVhbiBpb193YXRjaF9wb2xs X2Rpc3BhdGNoKEdTb3VyY2UgKnNvdXJjZSwgR1NvdXJjZUZ1bmMgY2FsbGJhY2ssCi0gCi0gc3Rh dGljIHZvaWQgaW9fd2F0Y2hfcG9sbF9maW5hbGl6ZShHU291cmNlICpzb3VyY2UpCi0gewotLSAg ICAvKgotLSAgICAgKiBEdWUgdG8gYSBnbGliIGJ1ZywgcmVtb3ZpbmcgdGhlIGxhc3QgcmVmZXJl bmNlIHRvIGEgc291cmNlCi0tICAgICAqIGluc2lkZSBhIGZpbmFsaXplIGNhbGxiYWNrIGNhdXNl cyByZWN1cnNpdmUgbG9ja2luZyAoYW5kIGEKLS0gICAgICogZGVhZGxvY2spLiAgVGhpcyBpcyBu b3QgYSBwcm9ibGVtIGluc2lkZSBvdGhlciBjYWxsYmFja3MsCi0tICAgICAqIGluY2x1ZGluZyBk aXNwYXRjaCBjYWxsYmFja3MsIHNvIHdlIGNhbGwgaW9fcmVtb3ZlX3dhdGNoX3BvbGwKLS0gICAg ICogdG8gcmVtb3ZlIHRoaXMgc291cmNlLiAgQXQgdGhpcyBwb2ludCwgaXdwLT5zcmMgbXVzdAot LSAgICAgKiBiZSBOVUxMLCBvciB3ZSB3b3VsZCBsZWFrIGl0LgotLSAgICAgKi8KLSAgICAgSU9X YXRjaFBvbGwgKml3cCA9IGlvX3dhdGNoX3BvbGxfZnJvbV9zb3VyY2Uoc291cmNlKTsKLS0gICAg YXNzZXJ0KGl3cC0+c3JjID09IE5VTEwpOwotKyAgICBpZiAoaXdwLT5zcmMpIHsKLSsgICAgICAg IGdfc291cmNlX2Rlc3Ryb3koaXdwLT5zcmMpOwotKyAgICAgICAgZ19zb3VyY2VfdW5yZWYoaXdw LT5zcmMpOwotKyAgICAgICAgaXdwLT5zcmMgPSBOVUxMOwotKyAgICB9Ci0gfQotIAotIHN0YXRp YyBHU291cmNlRnVuY3MgaW9fd2F0Y2hfcG9sbF9mdW5jcyA9IHsKLUBAIC0xMzksMTEgKzEzNSw2 IEBAIHN0YXRpYyB2b2lkIGlvX3JlbW92ZV93YXRjaF9wb2xsKEdTb3VyY2UgKnNvdXJjZSkKLSAg ICAgSU9XYXRjaFBvbGwgKml3cDsKLSAKLSAgICAgaXdwID0gaW9fd2F0Y2hfcG9sbF9mcm9tX3Nv dXJjZShzb3VyY2UpOwotLSAgICBpZiAoaXdwLT5zcmMpIHsKLS0gICAgICAgIGdfc291cmNlX2Rl c3Ryb3koaXdwLT5zcmMpOwotLSAgICAgICAgZ19zb3VyY2VfdW5yZWYoaXdwLT5zcmMpOwotLSAg ICAgICAgaXdwLT5zcmMgPSBOVUxMOwotLSAgICB9Ci0gICAgIGdfc291cmNlX2Rlc3Ryb3koJml3 cC0+cGFyZW50KTsKLSB9Ci0gCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDE3 LXZpcnRpby1wY2ktRml4LXRoZS11c2Utb2YtYW4tdW5pbml0aWFsaXplZC1pcnFmZC5wYXRjaCBi L2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTctdmlydGlvLXBjaS1GaXgtdGhlLXVzZS1vZi1hbi11 bmluaXRpYWxpemVkLWlycWZkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw NTVkN2MwLi4wMDAwMDAwCi0tLSBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMTctdmlydGlvLXBj aS1GaXgtdGhlLXVzZS1vZi1hbi11bmluaXRpYWxpemVkLWlycWZkLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2luZHkgTHUgPGx1bHVA cmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgNiBBdWcgMjAyNCAxNzozNzoxMiArMDgwMAotU3ViamVj dDogW1BBVENIXSB2aXJ0aW8tcGNpOiBGaXggdGhlIHVzZSBvZiBhbiB1bmluaXRpYWxpemVkIGly cWZkCi0KLVRoZSBjcmFzaCB3YXMgcmVwb3J0ZWQgaW4gTUFDIE9TIGFuZCBOaXhPUywgaGVyZSBp cyB0aGUgbGluayBmb3IgdGhpcyBidWcKLWh0dHBzOi8vZ2l0bGFiLmNvbS9xZW11LXByb2plY3Qv cWVtdS8tL2lzc3Vlcy8yMzM0Ci1odHRwczovL2dpdGxhYi5jb20vcWVtdS1wcm9qZWN0L3FlbXUv LS9pc3N1ZXMvMjMyMQotCi1JbiB0aGlzIGJ1ZywgdGhleSBhcmUgdXNpbmcgdGhlIHZpcnRpb19p bnB1dCBkZXZpY2UuIFRoZSBndWVzdCBub3RpZmllciB3YXMKLW5vdCBzdXBwb3J0ZWQgZm9yIHRo aXMgZGV2aWNlLCBUaGUgZnVuY3Rpb24gdmlydGlvX3BjaV9zZXRfZ3Vlc3Rfbm90aWZpZXJzKCkK LXdhcyBub3QgY2FsbGVkLCBhbmQgdGhlIHZlY3Rvcl9pcnFmZCB3YXMgbm90IGluaXRpYWxpemVk LgotCi1TbyB0aGUgZml4IGlzIGFkZGluZyB0aGUgY2hlY2sgZm9yIHZlY3Rvcl9pcnFmZCBpbiB2 aXJ0aW9fcGNpX2dldF9ub3RpZmllcigpCi0KLVRoZSBmdW5jdGlvbiB2aXJ0aW9fcGNpX2dldF9u b3RpZmllcigpIGNhbiBiZSB1c2VkIGluIHZhcmlvdXMgZGV2aWNlcy4KLUl0IGNvdWxkIGFsc28g YmUgY2FsbGVkIHdoZW4gVklSVElPX0NPTkZJR19TX0RSSVZFUl9PSyBpcyBub3Qgc2V0LiBJbiB0 aGlzIHNpdHVhdGlvbiwKLXRoZSB2ZWN0b3JfaXJxZmQgYmVpbmcgTlVMTCBpcyBhY2NlcHRhYmxl LiBXZSBjYW4gYWxsb3cgdGhlIGRldmljZSBjb250aW51ZSB0byBib290Ci0KLUlmIHRoZSB2ZWN0 b3JfaXJxZmQgc3RpbGwgaGFzbid0IGJlZW4gaW5pdGlhbGl6ZWQgYWZ0ZXIgVklSVElPX0NPTkZJ R19TX0RSSVZFUl9PSwotaXMgc2V0LCBpdCBtZWFucyB0aGF0IHRoZSBmdW5jdGlvbiBzZXRfZ3Vl c3Rfbm90aWZpZXJzIHdhcyBub3QgY2FsbGVkIGJlZm9yZSB0aGUKLWRyaXZlciBzdGFydGVkLiBU aGlzIGluZGljYXRlcyB0aGF0IHRoZSBkZXZpY2UgaXMgbm90IHVzaW5nIHRoZSBub3RpZmllci4K LUF0IHRoaXMgcG9pbnQsIHdlIHdpbGwgbGV0IHRoZSBjaGVjayBmYWlsLgotCi1UaGlzIGZpeCBp cyB2ZXJpZmllZCBpbiB2eWF0dGEsTWFjT1MsTml4T1MsZmVkb3JhIHN5c3RlbS4KLQotVGhlIGJ0 IHRyZWUgZm9yIHRoaXMgYnVnIGlzOgotVGhyZWFkIDYgIkNQVSAwL0tWTSIgcmVjZWl2ZWQgc2ln bmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KLVtTd2l0Y2hpbmcgdG8gVGhyZWFkIDB4 N2M4MTdiZTAwNmMwIChMV1AgMTI2OTE0NildCi1rdm1fdmlydGlvX3BjaV92cV92ZWN0b3JfdXNl ICgpIGF0IC4uL3FlbXUtOS4wLjAvaHcvdmlydGlvL3ZpcnRpby1wY2kuYzo4MTcKLTgxNyAgICAg ICAgIGlmIChpcnFmZC0+dXNlcnMgPT0gMCkgewotKGdkYikgdGhyZWFkIGFwcGx5IGFsbCBidAot Li4uCi1UaHJlYWQgNiAoVGhyZWFkIDB4N2M4MTdiZTAwNmMwIChMV1AgMTI2OTE0NikgIkNQVSAw L0tWTSIpOgotMCAga3ZtX3ZpcnRpb19wY2lfdnFfdmVjdG9yX3VzZSAoKSBhdCAuLi9xZW11LTku MC4wL2h3L3ZpcnRpby92aXJ0aW8tcGNpLmM6ODE3Ci0xICBrdm1fdmlydGlvX3BjaV92ZWN0b3Jf dXNlX29uZSAoKSBhdCAuLi9xZW11LTkuMC4wL2h3L3ZpcnRpby92aXJ0aW8tcGNpLmM6ODkzCi0y ICAweDAwMDA1OTgzNjU3MDQ1ZTIgaW4gbWVtb3J5X3JlZ2lvbl93cml0ZV9hY2Nlc3NvciAoKSBh dCAuLi9xZW11LTkuMC4wL3N5c3RlbS9tZW1vcnkuYzo0OTcKLTMgIDB4MDAwMDU5ODM2NTcwNGJh NiBpbiBhY2Nlc3Nfd2l0aF9hZGp1c3RlZF9zaXplICgpIGF0IC4uL3FlbXUtOS4wLjAvc3lzdGVt L21lbW9yeS5jOjU3MwotNCAgMHgwMDAwNTk4MzY1NzA1MDU5IGluIG1lbW9yeV9yZWdpb25fZGlz cGF0Y2hfd3JpdGUgKCkgYXQgLi4vcWVtdS05LjAuMC9zeXN0ZW0vbWVtb3J5LmM6MTUyOAotNSAg MHgwMDAwNTk4MzY1OWI4ZTFmIGluIGZsYXR2aWV3X3dyaXRlX2NvbnRpbnVlX3N0ZXAuaXNyYS4w ICgpIGF0IC4uL3FlbXUtOS4wLjAvc3lzdGVtL3BoeXNtZW0uYzoyNzEzCi02ICAweDAwMDA1OTgz NjU3MGJhN2QgaW4gZmxhdHZpZXdfd3JpdGVfY29udGludWUgKCkgYXQgLi4vcWVtdS05LjAuMC9z eXN0ZW0vcGh5c21lbS5jOjI3NDMKLTcgIGZsYXR2aWV3X3dyaXRlICgpIGF0IC4uL3FlbXUtOS4w LjAvc3lzdGVtL3BoeXNtZW0uYzoyNzc0Ci04ICAweDAwMDA1OTgzNjU3MGJiNzYgaW4gYWRkcmVz c19zcGFjZV93cml0ZSAoKSBhdCAuLi9xZW11LTkuMC4wL3N5c3RlbS9waHlzbWVtLmM6Mjg5NAot OSAgMHgwMDAwNTk4MzY1NzYzYWZlIGluIGFkZHJlc3Nfc3BhY2VfcncgKCkgYXQgLi4vcWVtdS05 LjAuMC9zeXN0ZW0vcGh5c21lbS5jOjI5MDQKLTEwIGt2bV9jcHVfZXhlYyAoKSBhdCAuLi9xZW11 LTkuMC4wL2FjY2VsL2t2bS9rdm0tYWxsLmM6MjkxNwotMTEgMHgwMDAwNTk4MzY1NzY2NTZlIGlu IGt2bV92Y3B1X3RocmVhZF9mbiAoKSBhdCAuLi9xZW11LTkuMC4wL2FjY2VsL2t2bS9rdm0tYWNj ZWwtb3BzLmM6NTAKLTEyIDB4MDAwMDU5ODM2NTkyNmNhOCBpbiBxZW11X3RocmVhZF9zdGFydCAo KSBhdCAuLi9xZW11LTkuMC4wL3V0aWwvcWVtdS10aHJlYWQtcG9zaXguYzo1NDEKLTEzIDB4MDAw MDdjODE4NWJjZDFjZiBpbiA/Pz8gKCkgYXQgL3Vzci9saWIvbGliYy5zby42Ci0xNCAweDAwMDA3 YzgxODVjNGU1MDQgaW4gY2xvbmUgKCkgYXQgL3Vzci9saWIvbGliYy5zby42Ci0KLUZpeGVzOiAy Y2U2Y2ZmOTRkICgidmlydGlvLXBjaTogZml4IHVzZSBvZiBhIHJlbGVhc2VkIHZlY3RvciIpCi1D YzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotU2lnbmVkLW9mZi1ieTogQ2luZHkgTHUgPGx1bHVA cmVkaGF0LmNvbT4KLU1lc3NhZ2UtSWQ6IDwyMDI0MDgwNjA5MzcxNS42NTEwNS0xLWx1bHVAcmVk aGF0LmNvbT4KLUFja2VkLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgotUmV2 aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+Ci1TaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgYThlNjNmZjI4OWQxMzcxOTdhZDdhNzAxYTU4N2NjNDMyODcyZDc5OCkKLVNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gaHcv dmlydGlvL3ZpcnRpby1wY2kuYyB8IDMgKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9u cygrKQotCi1kaWZmIC0tZ2l0IGEvaHcvdmlydGlvL3ZpcnRpby1wY2kuYyBiL2h3L3ZpcnRpby92 aXJ0aW8tcGNpLmMKLWluZGV4IGUwNDIxOGE5ZmIuLjM4OWJhYjAwM2YgMTAwNjQ0Ci0tLS0gYS9o dy92aXJ0aW8vdmlydGlvLXBjaS5jCi0rKysgYi9ody92aXJ0aW8vdmlydGlvLXBjaS5jCi1AQCAt ODYwLDYgKzg2MCw5IEBAIHN0YXRpYyBpbnQgdmlydGlvX3BjaV9nZXRfbm90aWZpZXIoVmlydElP UENJUHJveHkgKnByb3h5LCBpbnQgcXVldWVfbm8sCi0gICAgIFZpcnRJT0RldmljZSAqdmRldiA9 IHZpcnRpb19idXNfZ2V0X2RldmljZSgmcHJveHktPmJ1cyk7Ci0gICAgIFZpcnRRdWV1ZSAqdnE7 Ci0gCi0rICAgIGlmICghcHJveHktPnZlY3Rvcl9pcnFmZCAmJiB2ZGV2LT5zdGF0dXMgJiBWSVJU SU9fQ09ORklHX1NfRFJJVkVSX09LKQotKyAgICAgICAgcmV0dXJuIC0xOwotKwotICAgICBpZiAo cXVldWVfbm8gPT0gVklSVElPX0NPTkZJR19JUlFfSURYKSB7Ci0gICAgICAgICAqbiA9IHZpcnRp b19jb25maWdfZ2V0X2d1ZXN0X25vdGlmaWVyKHZkZXYpOwotICAgICAgICAgKnZlY3RvciA9IHZk ZXYtPmNvbmZpZ192ZWN0b3I7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDE4 LXZpcnRpby1uZXQtRW5zdXJlLXF1ZXVlLWluZGV4LWZpdHMtd2l0aC1SU1MucGF0Y2ggYi9kZWJp YW4vcGF0Y2hlcy9leHRyYS8wMDE4LXZpcnRpby1uZXQtRW5zdXJlLXF1ZXVlLWluZGV4LWZpdHMt d2l0aC1SU1MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkY2IxMjkuLjAw MDAwMDAKLS0tIGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxOC12aXJ0aW8tbmV0LUVuc3VyZS1x dWV1ZS1pbmRleC1maXRzLXdpdGgtUlNTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAs MCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWtpaGlrbyBPZGFraSA8YWtpaGlrby5vZGFraUBk YXluaXguY29tPgotRGF0ZTogTW9uLCAxIEp1bCAyMDI0IDIwOjU4OjA0ICswOTAwCi1TdWJqZWN0 OiBbUEFUQ0hdIHZpcnRpby1uZXQ6IEVuc3VyZSBxdWV1ZSBpbmRleCBmaXRzIHdpdGggUlNTCi0K LUVuc3VyZSB0aGUgcXVldWUgaW5kZXggcG9pbnRzIHRvIGEgdmFsaWQgcXVldWUgd2hlbiBzb2Z0 d2FyZSBSU1MKLWVuYWJsZWQuIFRoZSBuZXcgY2FsY3VsYXRpb24gbWF0Y2hlcyB3aXRoIHRoZSBi ZWhhdmlvciBvZiBMaW51eCdzIFRBUAotZGV2aWNlIHdpdGggdGhlIFJTUyBlQlBGIHByb2dyYW0u Ci0KLUZpeGVzOiA0NDc0ZTM3YTViM2EgKCJ2aXJ0aW8tbmV0OiBpbXBsZW1lbnQgUlggUlNTIHBy b2Nlc3NpbmciKQotUmVwb3J0ZWQtYnk6IFpoaWJpbiBIdSA8aHV6aGliaW41QGh1YXdlaS5jb20+ Ci1DYzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotU2lnbmVkLW9mZi1ieTogQWtpaGlrbyBPZGFr aSA8YWtpaGlrby5vZGFraUBkYXluaXguY29tPgotUmV2aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNp cmtpbiA8bXN0QHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2Fu Z0ByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjE1OTVjZWI5YWFkMzZh NmMxZGE5NWJjYjc3YWI5NTA5YjM4ODIyZCkKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxm LmVibmVyQHByb3htb3guY29tPgotLS0tCi0gaHcvbmV0L3ZpcnRpby1uZXQuYyB8IDMgKystCi0g MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0t Z2l0IGEvaHcvbmV0L3ZpcnRpby1uZXQuYyBiL2h3L25ldC92aXJ0aW8tbmV0LmMKLWluZGV4IDM2 NDRiZmQ5MWIuLmY0ODU4ODYzOGQgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvdmlydGlvLW5ldC5jCi0r KysgYi9ody9uZXQvdmlydGlvLW5ldC5jCi1AQCAtMTk0OSw3ICsxOTQ5LDggQEAgc3RhdGljIHNz aXplX3QgdmlydGlvX25ldF9yZWNlaXZlX3JjdShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVp bnQ4X3QgKmJ1ZiwKLSAgICAgaWYgKCFub19yc3MgJiYgbi0+cnNzX2RhdGEuZW5hYmxlZCAmJiBu LT5yc3NfZGF0YS5lbmFibGVkX3NvZnR3YXJlX3JzcykgewotICAgICAgICAgaW50IGluZGV4ID0g dmlydGlvX25ldF9wcm9jZXNzX3JzcyhuYywgYnVmLCBzaXplKTsKLSAgICAgICAgIGlmIChpbmRl eCA+PSAwKSB7Ci0tICAgICAgICAgICAgTmV0Q2xpZW50U3RhdGUgKm5jMiA9IHFlbXVfZ2V0X3N1 YnF1ZXVlKG4tPm5pYywgaW5kZXgpOwotKyAgICAgICAgICAgIE5ldENsaWVudFN0YXRlICpuYzIg PQotKyAgICAgICAgICAgICAgICBxZW11X2dldF9zdWJxdWV1ZShuLT5uaWMsIGluZGV4ICUgbi0+ Y3Vycl9xdWV1ZV9wYWlycyk7Ci0gICAgICAgICAgICAgcmV0dXJuIHZpcnRpb19uZXRfcmVjZWl2 ZV9yY3UobmMyLCBidWYsIHNpemUsIHRydWUpOwotICAgICAgICAgfQotICAgICB9CmRpZmYgLS1n aXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDE5LXZpcnRpby1uZXQtRml4LW5ldHdvcmstc3Rh bGwtYXQtdGhlLWhvc3Qtc2lkZS13YWl0aW4ucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9leHRyYS8w MDE5LXZpcnRpby1uZXQtRml4LW5ldHdvcmstc3RhbGwtYXQtdGhlLWhvc3Qtc2lkZS13YWl0aW4u cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4ZjY3ZDQuLjAwMDAwMDAKLS0t IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAxOS12aXJ0aW8tbmV0LUZpeC1uZXR3b3JrLXN0YWxs LWF0LXRoZS1ob3N0LXNpZGUtd2FpdGluLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzM4ICsw LDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IHRob21hcyA8ZWFzdC5tb3V0YWluLnlhbmdAZ21h aWwuY29tPgotRGF0ZTogRnJpLCAxMiBKdWwgMjAyNCAxMToxMDo1MyArMDgwMAotU3ViamVjdDog W1BBVENIXSB2aXJ0aW8tbmV0OiBGaXggbmV0d29yayBzdGFsbCBhdCB0aGUgaG9zdCBzaWRlIHdh aXRpbmcgZm9yCi0ga2ljawotCi1QYXRjaCAwNmIxMjk3MDE3NCAoInZpcnRpby1uZXQ6IGZpeCBu ZXR3b3JrIHN0YWxsIHVuZGVyIGxvYWQiKQotYWRkZWQgZG91YmxlLWNoZWNrIHRvIHRlc3Qgd2hl dGhlciB0aGUgYXZhaWxhYmxlIGJ1ZmZlciBzaXplCi1jYW4gc2F0aXNmeSB0aGUgcmVxdWVzdCBv ciBub3QsIGluIGNhc2UgdGhlIGd1ZXN0IGhhcyBhZGRlZAotc29tZSBidWZmZXJzIHRvIHRoZSBh dmFpbCByaW5nIHNpbXVsdGFuZW91c2x5IGFmdGVyIHRoZSBmaXJzdAotY2hlY2suIEl0IHdpbGwg YmUgbHVja3kgaWYgdGhlIGF2YWlsYWJsZSBidWZmZXIgc2l6ZSBiZWNvbWVzCi1va2F5IGFmdGVy IHRoZSBkb3VibGUtY2hlY2ssIHRoZW4gdGhlIGhvc3QgY2FuIHNlbmQgdGhlIHBhY2tldAotdG8g dGhlIGd1ZXN0LiBJZiB0aGUgYnVmZmVyIHNpemUgc3RpbGwgY2FuJ3Qgc2F0aXNmeSB0aGUgcmVx dWVzdCwKLWV2ZW4gaWYgdGhlIGd1ZXN0IGhhcyBhZGRlZCBzb21lIGJ1ZmZlcnMsIHZpcml0aW8t bmV0IHdvdWxkCi1zdGFsbCBhdCB0aGUgaG9zdCBzaWRlIGZvcmV2ZXIuCi0KLVRoZSBwYXRjaCBl bmFibGVzIG5vdGlmaWNhdGlvbiBhbmQgY2hlY2tzIHdoZXRoZXIgdGhlIGd1ZXN0IGhhcwotYWRk ZWQgc29tZSBidWZmZXJzIHNpbmNlIGxhc3QgY2hlY2sgb2YgYXZhaWxhYmxlIGJ1ZmZlcnMgd2hl bgotdGhlIGF2YWlsYWJsZSBidWZmZXJzIGFyZSBpbnN1ZmZpY2llbnQuIElmIG5vIGJ1ZmZlciBp cyBhZGRlZCwKLXJldHVybiBmYWxzZSwgZWxzZSByZWNoZWNrIHRoZSBhdmFpbGFibGUgYnVmZmVy cyBpbiB0aGUgbG9vcC4KLUlmIHRoZSBhdmFpbGFibGUgYnVmZmVycyBhcmUgc3VmZmljaWVudCwg ZGlzYWJsZSBub3RpZmljYXRpb24KLWFuZCByZXR1cm4gdHJ1ZS4KLQotQ2hhbmdlczoKLTEuIENo YW5nZSB0aGUgcmV0dXJuIHR5cGUgb2YgdmlydHF1ZXVlX2dldF9hdmFpbF9ieXRlcygpIGZyb20g dm9pZAotICAgdG8gaW50LCBpdCByZXR1cm5zIGFuIG9wYXF1ZSB0aGF0IHJlcHJlc2VudHMgdGhl IHNoYWRvd19hdmFpbF9pZHgKLSAgIG9mIHRoZSB2aXJ0cXVldWUgb24gc3VjY2VzcywgZWxzZSAt MSBvbiBlcnJvci4KLTIuIEFkZCBhIG5ldyBBUEk6IHZpcnRpb19xdWV1ZV9lbmFibGVfbm90aWZp Y2F0aW9uX2FuZF9jaGVjaygpLAotICAgaXQgdGFrZXMgYW4gb3BhcXVlIGFzIGlucHV0IGFyZyB3 aGljaCBpcyByZXR1cm5lZCBmcm9tCi0gICB2aXJ0cXVldWVfZ2V0X2F2YWlsX2J5dGVzKCkuIEl0 IGVuYWJsZXMgbm90aWZpY2F0aW9uIGZpcnN0bHksCi0gICB0aGVuIGNoZWNrcyB3aGV0aGVyIHRo ZSBndWVzdCBoYXMgYWRkZWQgc29tZSBidWZmZXJzIHNpbmNlCi0gICBsYXN0IGNoZWNrIG9mIGF2 YWlsYWJsZSBidWZmZXJzIG9yIG5vdCBieSB2aXJ0aW9fcXVldWVfcG9sbCgpLAotICAgcmV0dXJu IHR1cmUgaWYgeWVzLgotCi1UaGUgcGF0Y2ggYWxzbyByZXZlcnRzIHBhdGNoICIwNmIxMjk3MDE3 NCIuCi0KLVRoZSBjYXNlIGJlbG93IGNhbiByZXByb2R1Y2UgdGhlIHN0YWxsLgotCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHdWVzdCAwCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tKwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgaXBlcmYgIHwKLSAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0t LS0tPiB8IHNlcnZlciB8Ci0gICAgICAgICBIb3N0ICAgICAgIHwgICAgICAgICAgICAgICAgKy0t LS0tLS0tKwotICAgICAgICstLS0tLS0tLSsgICB8ICAgICAgICAgICAgICAgICAgICAuLi4KLSAg ICAgICB8IGlwZXJmICB8LS0tLQotICAgICAgIHwgY2xpZW50IHwtLS0tICAgICAgICAgICAgICAg ICAgR3Vlc3QgbgotICAgICAgICstLS0tLS0tLSsgICB8ICAgICAgICAgICAgICAgICstLS0tLS0t LSsKLSAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICB8IGlwZXJmICB8Ci0gICAg ICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLT4gfCBzZXJ2ZXIgfAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLSsKLQotQm9vdCBtYW55IGd1ZXN0cyBm cm9tIHFlbXUgd2l0aCB2aXJ0aW8gbmV0d29yazoKLSBxZW11IC4uLiAtbmV0ZGV2IHRhcCxpZD1u ZXRfeCBcCi0gICAgLWRldmljZSB2aXJ0aW8tbmV0LXBjaS1ub24tdHJhbnNpdGlvbmFsLFwKLSAg ICBpb21tdV9wbGF0Zm9ybT1vbixtYWM9eHg6eHg6eHg6eHg6eHg6eHgsbmV0ZGV2PW5ldF94Ci0K LUVhY2ggZ3Vlc3QgYWN0cyBhcyBpcGVyZiBzZXJ2ZXIgd2l0aCBjb21tYW5kcyBiZWxvdzoKLSBp cGVyZjMgLXMgLUQgLWkgMTAgLXAgODAwMQotIGlwZXJmMyAtcyAtRCAtaSAxMCAtcCA4MDAyCi0K LVRoZSBob3N0IGFzIGlwZXJmIGNsaWVudDoKLSBpcGVyZjMgLWMgZ3Vlc3RfSVAgLXAgODAwMSAt aSAzMCAtdyAyNTZrIC1QIDIwIC10IDQwMDAwCi0gaXBlcmYzIC1jIGd1ZXN0X0lQIC1wIDgwMDIg LWkgMzAgLXcgMjU2ayAtUCAyMCAtdCA0MDAwMAotCi1BZnRlciBzb21lIHRpbWUsIHRoZSBob3N0 IGxvc2VzIGNvbm5lY3Rpb24gdG8gdGhlIGd1ZXN0LAotdGhlIGd1ZXN0IGNhbiBzZW5kIHBhY2tl dCB0byB0aGUgaG9zdCwgYnV0IGNhbid0IHJlY2VpdmUKLXBhY2tldCBmcm9tIHRoZSBob3N0Lgot Ci1JdCdzIG1vcmUgbGlrZWx5IHRvIGhhcHBlbiBpZiBTV0lPVExCIGlzIGVuYWJsZWQgaW4gdGhl IGd1ZXN0LAotYWxsb2NhdGluZyBhbmQgZnJlZWluZyBib3VuY2UgYnVmZmVyIHRha2VzIHNvbWUg Q1BVIHRpY2tzLAotY29weWluZyBmcm9tL3RvIGJvdW5jZSBidWZmZXIgdGFrZXMgbW9yZSBDUFUg dGlja3MsIGNvbXBhcmVkCi13aXRoIHRoYXQgdGhlcmUgaXMgbm8gYm91bmNlIGJ1ZmZlciBpbiB0 aGUgZ3Vlc3QuCi1PbmNlIHRoZSByYXRlIG9mIHByb2R1Y2luZyBwYWNrZXRzIGZyb20gdGhlIGhv c3QgYXBwcm94aW1hdGVzCi10aGUgcmF0ZSBvZiByZWNlaXZlaW5nIHBhY2tldHMgaW4gdGhlIGd1 ZXN0LCB0aGUgZ3Vlc3Qgd291bGQKLWxvb3AgaW4gTkFQSS4KLQotICAgICAgICAgcmVjZWl2ZSBw YWNrZXRzICAgIC0tLQotICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8Ci0gICAgICAgICAg ICAgICB2ICAgICAgICAgICAgIHwKLSAgICAgICAgICAgZnJlZSBidWYgICAgICB2aXJ0bmV0X3Bv bGwKLSAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfAotICAgICAgICAgICAgICAgdiAgICAg ICAgICAgICB8Ci0gICAgIGFkZCBidWYgdG8gYXZhaWwgcmluZyAgLS0tCi0gICAgICAgICAgICAg ICB8Ci0gICAgICAgICAgICAgICB8ICBuZWVkIGtpY2sgdGhlIGhvc3Q/Ci0gICAgICAgICAgICAg ICB8ICBOQVBJIGNvbnRpbnVlcwotICAgICAgICAgICAgICAgdgotICAgICAgICAgcmVjZWl2ZSBw YWNrZXRzICAgIC0tLQotICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8Ci0gICAgICAgICAg ICAgICB2ICAgICAgICAgICAgIHwKLSAgICAgICAgICAgZnJlZSBidWYgICAgICB2aXJ0bmV0X3Bv bGwKLSAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfAotICAgICAgICAgICAgICAgdiAgICAg ICAgICAgICB8Ci0gICAgIGFkZCBidWYgdG8gYXZhaWwgcmluZyAgLS0tCi0gICAgICAgICAgICAg ICB8Ci0gICAgICAgICAgICAgICB2Ci0gICAgICAgICAgICAgIC4uLiAgICAgICAgICAgLi4uCi0K LU9uIHRoZSBvdGhlciBoYW5kLCB0aGUgaG9zdCBmZXRjaGVzIGZyZWUgYnVmIGZyb20gYXZhaWwK LXJpbmcsIGlmIHRoZSBidWYgaW4gdGhlIGF2YWlsIHJpbmcgaXMgbm90IGVub3VnaCwgdGhlCi1o b3N0IG5vdGlmaWVzIHRoZSBndWVzdCB0aGUgZXZlbnQgYnkgd3JpdGluZyB0aGUgYXZhaWwKLWlk eCByZWFkIGZyb20gYXZhaWwgcmluZyB0byB0aGUgZXZlbnQgaWR4IG9mIHVzZWQgcmluZywKLXRo ZW4gdGhlIGhvc3QgZ29lcyB0byBzbGVlcCwgd2FpdGluZyBmb3IgdGhlIGtpY2sgc2lnbmFsCi1m cm9tIHRoZSBndWVzdC4KLQotT25jZSB0aGUgZ3Vlc3QgZmluZHMgdGhlIGhvc3QgaXMgd2FpdGlu ZyBmb3Iga2ljayBzaW5nYWwKLShpbiB2aXJ0cXVldWVfa2lja19wcmVwYXJlX3NwbGl0KCkpLCBp dCBraWNrcyB0aGUgaG9zdC4KLQotVGhlIGhvc3QgbWF5IHN0YWxsIGZvcmV2ZXIgYXQgdGhlIHNl cXVlbmNlcyBiZWxvdzoKLQotICAgICAgICAgSG9zdCAgICAgICAgICAgICAgICAgICAgICAgIEd1 ZXN0Ci0gICAgIC0tLS0tLS0tLS0tLSAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0KLSBmZXRj aCBidWYsIHNlbmQgcGFja2V0ICAgICAgICAgICByZWNlaXZlIHBhY2tldCAtLS0KLSAgICAgICAg IC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uICAgICAgICAgfAotIGZldGNoIGJ1Ziwg c2VuZCBwYWNrZXQgICAgICAgICAgICAgYWRkIGJ1ZiAgICAgICB8Ci0gICAgICAgICAuLi4gICAg ICAgICAgICAgICAgICAgICAgICBhZGQgYnVmICAgdmlydG5ldF9wb2xsCi0gICAgYnVmIG5vdCBl bm91Z2ggICAgICBhdmFpbCBpZHgtPiBhZGQgYnVmICAgICAgIHwKLSAgICByZWFkIGF2YWlsIGlk eCAgICAgICAgICAgICAgICAgIGFkZCBidWYgICAgICAgfAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYWRkIGJ1ZiAgICAgIC0tLQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlY2VpdmUgcGFja2V0IC0tLQotICAgIHdyaXRlIGV2ZW50IGlkeCAgICAgICAg ICAgICAgICAgICAuLi4gICAgICAgICB8Ci0gICAgd2FpdCBmb3Iga2ljayAgICAgICAgICAgICAg ICAgICBhZGQgYnVmICAgdmlydG5ldF9wb2xsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC4uLiAgICAgICAgIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtLS0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5v IG1vcmUgcGFja2V0LCBleGl0IE5BUEkKLQotSW4gdGhlIGZpcnN0IGxvb3Agb2YgTkFQSSBhYm92 ZSwgaW5kaWNhdGVkIGluIHRoZSByYW5nZSBvZgotdmlydG5ldF9wb2xsIGFib3ZlLCB0aGUgaG9z dCBpcyBzZW5kaW5nIHBhY2tldHMgd2hpbGUgdGhlCi1ndWVzdCBpcyByZWNlaXZpbmcgcGFja2V0 cyBhbmQgYWRkaW5nIGJ1ZmZlcnMuCi0gc3RlcCAxOiBUaGUgYnVmIGlzIG5vdCBlbm91Z2gsIGZv ciBleGFtcGxlLCBhIGJpZyBwYWNrZXQKLSAgICAgICAgIG5lZWRzIDUgYnVmLCBidXQgdGhlIGF2 YWlsYWJsZSBidWYgY291bnQgaXMgMy4KLSAgICAgICAgIFRoZSBob3N0IHJlYWQgY3VycmVudCBh dmFpbCBpZHguCi0gc3RlcCAyOiBUaGUgZ3Vlc3QgYWRkcyBzb21lIGJ1ZiwgdGhlbiBjaGVja3Mg d2hldGhlciB0aGUKLSAgICAgICAgIGhvc3QgaXMgd2FpdGluZyBmb3Iga2ljayBzaWduYWwsIG5v dCBhdCB0aGlzIHRpbWUuCi0gICAgICAgICBUaGUgdXNlZCByaW5nIGlzIG5vdCBlbXB0eSwgdGhl IGd1ZXN0IGNvbnRpbnVlcwotICAgICAgICAgdGhlIHNlY29uZCBsb29wIG9mIE5BUEkuCi0gc3Rl cCAzOiBUaGUgaG9zdCB3cml0ZXMgdGhlIGF2YWlsIGlkeCByZWFkIGZyb20gYXZhaWwKLSAgICAg ICAgIHJpbmcgdG8gdXNlZCByaW5nIGFzIGV2ZW50IGlkeCB2aWEKLSAgICAgICAgIHZpcnRpb19x dWV1ZV9zZXRfbm90aWZpY2F0aW9uKHEtPnJ4X3ZxLCAxKS4KLSBzdGVwIDQ6IEF0IHRoZSBlbmQg b2YgdGhlIHNlY29uZCBsb29wIG9mIE5BUEksIHJlY2hlY2sKLSAgICAgICAgIHdoZXRoZXIga2lj ayBpcyBuZWVkZWQsIGFzIHRoZSBldmVudCBpZHggaW4gdGhlCi0gICAgICAgICB1c2VkIHJpbmcg d3JpdHRlbiBieSB0aGUgaG9zdCBpcyBiZXlvdW5kIHRoZQotICAgICAgICAgcmFuZ2Ugb2Yga2lj ayBjb25kaXRpb24sIHRoZSBndWVzdCB3aWxsIG5vdAotICAgICAgICAgc2VuZCBraWNrIHNpZ25h bCB0byB0aGUgaG9zdC4KLQotRml4ZXM6IDA2YjEyOTcwMTc0ICgidmlydGlvLW5ldDogZml4IG5l dHdvcmsgc3RhbGwgdW5kZXIgbG9hZCIpCi1DYzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotU2ln bmVkLW9mZi1ieTogV2VuY2hlbmcgWWFuZyA8ZWFzdC5tb3V0YWluLnlhbmdAZ21haWwuY29tPgot UmV2aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+Ci1TaWduZWQt b2ZmLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgZjkzNzMwOWZiZGJiNDhjMzU0MjIwYTNlNzExMGMyMDJhZTRhYTdmYSkKLVNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gaHcv bmV0L3ZpcnRpby1uZXQuYyAgICAgICAgfCAyOCArKysrKysrKysrLS0tLS0tLQotIGh3L3ZpcnRp by92aXJ0aW8uYyAgICAgICAgIHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0KLSBpbmNsdWRlL2h3L3ZpcnRpby92aXJ0aW8uaCB8IDIxICsrKysrKysrKysrLS0KLSAz IGZpbGVzIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvaHcvbmV0L3ZpcnRpby1uZXQuYyBiL2h3L25ldC92aXJ0aW8tbmV0LmMKLWluZGV4 IGY0ODU4ODYzOGQuLmQ0Yjk3OWQzNDMgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvdmlydGlvLW5ldC5j Ci0rKysgYi9ody9uZXQvdmlydGlvLW5ldC5jCi1AQCAtMTY4MCwyNCArMTY4MCwyOCBAQCBzdGF0 aWMgYm9vbCB2aXJ0aW9fbmV0X2Nhbl9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYykKLSAKLSBz dGF0aWMgaW50IHZpcnRpb19uZXRfaGFzX2J1ZmZlcnMoVmlydElPTmV0UXVldWUgKnEsIGludCBi dWZzaXplKQotIHsKLSsgICAgaW50IG9wYXF1ZTsKLSsgICAgdW5zaWduZWQgaW50IGluX2J5dGVz OwotICAgICBWaXJ0SU9OZXQgKm4gPSBxLT5uOwotLSAgICBpZiAodmlydGlvX3F1ZXVlX2VtcHR5 KHEtPnJ4X3ZxKSB8fAotLSAgICAgICAgKG4tPm1lcmdlYWJsZV9yeF9idWZzICYmCi0tICAgICAg ICAgIXZpcnRxdWV1ZV9hdmFpbF9ieXRlcyhxLT5yeF92cSwgYnVmc2l6ZSwgMCkpKSB7Ci0tICAg ICAgICB2aXJ0aW9fcXVldWVfc2V0X25vdGlmaWNhdGlvbihxLT5yeF92cSwgMSk7Ci0tCi0tICAg ICAgICAvKiBUbyBhdm9pZCBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZSBndWVzdCBoYXMgbWFk ZSBzb21lIGJ1ZmZlcnMKLS0gICAgICAgICAqIGF2YWlsYWJsZSBhZnRlciB0aGUgYWJvdmUgY2hl Y2sgYnV0IGJlZm9yZSBub3RpZmljYXRpb24gd2FzCi0tICAgICAgICAgKiBlbmFibGVkLCBjaGVj ayBmb3IgYXZhaWxhYmxlIGJ1ZmZlcnMgYWdhaW4uCi0tICAgICAgICAgKi8KLS0gICAgICAgIGlm ICh2aXJ0aW9fcXVldWVfZW1wdHkocS0+cnhfdnEpIHx8Ci0tICAgICAgICAgICAgKG4tPm1lcmdl YWJsZV9yeF9idWZzICYmCi0tICAgICAgICAgICAgICF2aXJ0cXVldWVfYXZhaWxfYnl0ZXMocS0+ cnhfdnEsIGJ1ZnNpemUsIDApKSkgewotKwotKyAgICB3aGlsZSAodmlydGlvX3F1ZXVlX2VtcHR5 KHEtPnJ4X3ZxKSB8fCBuLT5tZXJnZWFibGVfcnhfYnVmcykgewotKyAgICAgICAgb3BhcXVlID0g dmlydHF1ZXVlX2dldF9hdmFpbF9ieXRlcyhxLT5yeF92cSwgJmluX2J5dGVzLCBOVUxMLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZzaXplLCAwKTsKLSsg ICAgICAgIC8qIEJ1ZmZlciBpcyBlbm91Z2gsIGRpc2FibGUgbm90aWZpYWN0aW9uICovCi0rICAg ICAgICBpZiAoYnVmc2l6ZSA8PSBpbl9ieXRlcykgewotKyAgICAgICAgICAgIGJyZWFrOwotKyAg ICAgICAgfQotKwotKyAgICAgICAgaWYgKHZpcnRpb19xdWV1ZV9lbmFibGVfbm90aWZpY2F0aW9u X2FuZF9jaGVjayhxLT5yeF92cSwgb3BhcXVlKSkgewotKyAgICAgICAgICAgIC8qIEd1ZXN0IGhh cyBhZGRlZCBzb21lIGJ1ZmZlcnMsIHRyeSBhZ2FpbiAqLwotKyAgICAgICAgICAgIGNvbnRpbnVl OwotKyAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgIH0K LSAgICAgfQotIAotICAgICB2aXJ0aW9fcXVldWVfc2V0X25vdGlmaWNhdGlvbihxLT5yeF92cSwg MCk7Ci0rCi0gICAgIHJldHVybiAxOwotIH0KLSAKLWRpZmYgLS1naXQgYS9ody92aXJ0aW8vdmly dGlvLmMgYi9ody92aXJ0aW8vdmlydGlvLmMKLWluZGV4IGZkMmRmZTNhNmIuLjA4ZmJhNmIyZDgg MTAwNjQ0Ci0tLS0gYS9ody92aXJ0aW8vdmlydGlvLmMKLSsrKyBiL2h3L3ZpcnRpby92aXJ0aW8u YwotQEAgLTc0Myw2ICs3NDMsNjAgQEAgaW50IHZpcnRpb19xdWV1ZV9lbXB0eShWaXJ0UXVldWUg KnZxKQotICAgICB9Ci0gfQotIAotK3N0YXRpYyBib29sIHZpcnRpb19xdWV1ZV9zcGxpdF9wb2xs KFZpcnRRdWV1ZSAqdnEsIHVuc2lnbmVkIHNoYWRvd19pZHgpCi0rewotKyAgICBpZiAodW5saWtl bHkoIXZxLT52cmluZy5hdmFpbCkpIHsKLSsgICAgICAgIHJldHVybiBmYWxzZTsKLSsgICAgfQot KwotKyAgICByZXR1cm4gKHVpbnQxNl90KXNoYWRvd19pZHggIT0gdnJpbmdfYXZhaWxfaWR4KHZx KTsKLSt9Ci0rCi0rc3RhdGljIGJvb2wgdmlydGlvX3F1ZXVlX3BhY2tlZF9wb2xsKFZpcnRRdWV1 ZSAqdnEsIHVuc2lnbmVkIHNoYWRvd19pZHgpCi0rewotKyAgICBWUmluZ1BhY2tlZERlc2MgZGVz YzsKLSsgICAgVlJpbmdNZW1vcnlSZWdpb25DYWNoZXMgKmNhY2hlczsKLSsKLSsgICAgaWYgKHVu bGlrZWx5KCF2cS0+dnJpbmcuZGVzYykpIHsKLSsgICAgICAgIHJldHVybiBmYWxzZTsKLSsgICAg fQotKwotKyAgICBjYWNoZXMgPSB2cmluZ19nZXRfcmVnaW9uX2NhY2hlcyh2cSk7Ci0rICAgIGlm ICghY2FjaGVzKSB7Ci0rICAgICAgICByZXR1cm4gZmFsc2U7Ci0rICAgIH0KLSsKLSsgICAgdnJp bmdfcGFja2VkX2Rlc2NfcmVhZCh2cS0+dmRldiwgJmRlc2MsICZjYWNoZXMtPmRlc2MsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93X2lkeCwgdHJ1ZSk7Ci0rCi0rICAgIHJldHVy biBpc19kZXNjX2F2YWlsKGRlc2MuZmxhZ3MsIHZxLT5zaGFkb3dfYXZhaWxfd3JhcF9jb3VudGVy KTsKLSt9Ci0rCi0rc3RhdGljIGJvb2wgdmlydGlvX3F1ZXVlX3BvbGwoVmlydFF1ZXVlICp2cSwg dW5zaWduZWQgc2hhZG93X2lkeCkKLSt7Ci0rICAgIGlmICh2aXJ0aW9fZGV2aWNlX2Rpc2FibGVk KHZxLT52ZGV2KSkgewotKyAgICAgICAgcmV0dXJuIGZhbHNlOwotKyAgICB9Ci0rCi0rICAgIGlm ICh2aXJ0aW9fdmRldl9oYXNfZmVhdHVyZSh2cS0+dmRldiwgVklSVElPX0ZfUklOR19QQUNLRUQp KSB7Ci0rICAgICAgICByZXR1cm4gdmlydGlvX3F1ZXVlX3BhY2tlZF9wb2xsKHZxLCBzaGFkb3df aWR4KTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAgIHJldHVybiB2aXJ0aW9fcXVldWVfc3BsaXRf cG9sbCh2cSwgc2hhZG93X2lkeCk7Ci0rICAgIH0KLSt9Ci0rCi0rYm9vbCB2aXJ0aW9fcXVldWVf ZW5hYmxlX25vdGlmaWNhdGlvbl9hbmRfY2hlY2soVmlydFF1ZXVlICp2cSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgb3BhcXVlKQotK3sKLSsg ICAgdmlydGlvX3F1ZXVlX3NldF9ub3RpZmljYXRpb24odnEsIDEpOwotKwotKyAgICBpZiAob3Bh cXVlID49IDApIHsKLSsgICAgICAgIHJldHVybiB2aXJ0aW9fcXVldWVfcG9sbCh2cSwgKHVuc2ln bmVkKW9wYXF1ZSk7Ci0rICAgIH0gZWxzZSB7Ci0rICAgICAgICByZXR1cm4gZmFsc2U7Ci0rICAg IH0KLSt9Ci0rCi0gc3RhdGljIHZvaWQgdmlydHF1ZXVlX3VubWFwX3NnKFZpcnRRdWV1ZSAqdnEs IGNvbnN0IFZpcnRRdWV1ZUVsZW1lbnQgKmVsZW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBsZW4pCi0gewotQEAgLTEzMzAsOSArMTM4NCw5IEBAIGVycjoK LSAgICAgZ290byBkb25lOwotIH0KLSAKLS12b2lkIHZpcnRxdWV1ZV9nZXRfYXZhaWxfYnl0ZXMo VmlydFF1ZXVlICp2cSwgdW5zaWduZWQgaW50ICppbl9ieXRlcywKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpvdXRfYnl0ZXMsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1heF9pbl9ieXRlcywgdW5zaWduZWQgbWF4X291dF9i eXRlcykKLStpbnQgdmlydHF1ZXVlX2dldF9hdmFpbF9ieXRlcyhWaXJ0UXVldWUgKnZxLCB1bnNp Z25lZCBpbnQgKmluX2J5dGVzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCAqb3V0X2J5dGVzLCB1bnNpZ25lZCBtYXhfaW5fYnl0ZXMsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbWF4X291dF9ieXRlcykKLSB7Ci0gICAgIHVpbnQx Nl90IGRlc2Nfc2l6ZTsKLSAgICAgVlJpbmdNZW1vcnlSZWdpb25DYWNoZXMgKmNhY2hlczsKLUBA IC0xMzY1LDcgKzE0MTksNyBAQCB2b2lkIHZpcnRxdWV1ZV9nZXRfYXZhaWxfYnl0ZXMoVmlydFF1 ZXVlICp2cSwgdW5zaWduZWQgaW50ICppbl9ieXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2FjaGVzKTsKLSAgICAgfQotIAotLSAgICByZXR1cm47Ci0rICAg IHJldHVybiAoaW50KXZxLT5zaGFkb3dfYXZhaWxfaWR4OwotIGVycjoKLSAgICAgaWYgKGluX2J5 dGVzKSB7Ci0gICAgICAgICAqaW5fYnl0ZXMgPSAwOwotQEAgLTEzNzMsNiArMTQyNyw4IEBAIGVy cjoKLSAgICAgaWYgKG91dF9ieXRlcykgewotICAgICAgICAgKm91dF9ieXRlcyA9IDA7Ci0gICAg IH0KLSsKLSsgICAgcmV0dXJuIC0xOwotIH0KLSAKLSBpbnQgdmlydHF1ZXVlX2F2YWlsX2J5dGVz KFZpcnRRdWV1ZSAqdnEsIHVuc2lnbmVkIGludCBpbl9ieXRlcywKLWRpZmYgLS1naXQgYS9pbmNs dWRlL2h3L3ZpcnRpby92aXJ0aW8uaCBiL2luY2x1ZGUvaHcvdmlydGlvL3ZpcnRpby5oCi1pbmRl eCAyZWFmYWQxN2I4Li44YjRkYTkyODg5IDEwMDY0NAotLS0tIGEvaW5jbHVkZS9ody92aXJ0aW8v dmlydGlvLmgKLSsrKyBiL2luY2x1ZGUvaHcvdmlydGlvL3ZpcnRpby5oCi1AQCAtMjcxLDkgKzI3 MSwxMyBAQCB2b2lkIHFlbXVfcHV0X3ZpcnRxdWV1ZV9lbGVtZW50KFZpcnRJT0RldmljZSAqdmRl diwgUUVNVUZpbGUgKmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaXJ0UXVl dWVFbGVtZW50ICplbGVtKTsKLSBpbnQgdmlydHF1ZXVlX2F2YWlsX2J5dGVzKFZpcnRRdWV1ZSAq dnEsIHVuc2lnbmVkIGludCBpbl9ieXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBvdXRfYnl0ZXMpOwotLXZvaWQgdmlydHF1ZXVlX2dldF9hdmFpbF9ieXRlcyhW aXJ0UXVldWUgKnZxLCB1bnNpZ25lZCBpbnQgKmluX2J5dGVzLAotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKm91dF9ieXRlcywKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbWF4X2luX2J5dGVzLCB1bnNpZ25lZCBtYXhfb3V0X2J5 dGVzKTsKLSsvKioKLSsgKiBSZXR1cm4gPDAgb24gZXJyb3Igb3IgYW4gb3BhcXVlID49MCB0byBw YXNzIHRvCi0rICogdmlydGlvX3F1ZXVlX2VuYWJsZV9ub3RpZmljYXRpb25fYW5kX2NoZWNrIG9u IHN1Y2Nlc3MuCi0rICovCi0raW50IHZpcnRxdWV1ZV9nZXRfYXZhaWxfYnl0ZXMoVmlydFF1ZXVl ICp2cSwgdW5zaWduZWQgaW50ICppbl9ieXRlcywKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgKm91dF9ieXRlcywgdW5zaWduZWQgbWF4X2luX2J5dGVzLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG1heF9vdXRfYnl0ZXMpOwotIAot IHZvaWQgdmlydGlvX25vdGlmeV9pcnFmZChWaXJ0SU9EZXZpY2UgKnZkZXYsIFZpcnRRdWV1ZSAq dnEpOwotIHZvaWQgdmlydGlvX25vdGlmeShWaXJ0SU9EZXZpY2UgKnZkZXYsIFZpcnRRdWV1ZSAq dnEpOwotQEAgLTMwNyw2ICszMTEsMTcgQEAgaW50IHZpcnRpb19xdWV1ZV9yZWFkeShWaXJ0UXVl dWUgKnZxKTsKLSAKLSBpbnQgdmlydGlvX3F1ZXVlX2VtcHR5KFZpcnRRdWV1ZSAqdnEpOwotIAot Ky8qKgotKyAqIEVuYWJsZSBub3RpZmljYXRpb24gYW5kIGNoZWNrIHdoZXRoZXIgZ3Vlc3QgaGFz IGFkZGVkIHNvbWUKLSsgKiBidWZmZXJzIHNpbmNlIGxhc3QgY2FsbCB0byB2aXJ0cXVldWVfZ2V0 X2F2YWlsX2J5dGVzLgotKyAqCi0rICogQG9wYXF1ZTogdmFsdWUgcmV0dXJuZWQgZnJvbSB2aXJ0 cXVldWVfZ2V0X2F2YWlsX2J5dGVzCi0rICovCi0rYm9vbCB2aXJ0aW9fcXVldWVfZW5hYmxlX25v dGlmaWNhdGlvbl9hbmRfY2hlY2soVmlydFF1ZXVlICp2cSwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgb3BhcXVlKTsKLSsKLSt2b2lkIHZpcnRp b19xdWV1ZV9zZXRfc2hhZG93X2F2YWlsX2lkeChWaXJ0UXVldWUgKnZxLCB1aW50MTZfdCBpZHgp OwotKwotIC8qIEhvc3QgYmluZGluZyBpbnRlcmZhY2UuICAqLwotIAotIHVpbnQzMl90IHZpcnRp b19jb25maWdfcmVhZGIoVmlydElPRGV2aWNlICp2ZGV2LCB1aW50MzJfdCBhZGRyKTsKZGlmZiAt LWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMjAtbmV0LVJlaW5zdGF0ZS1uZXQtbmljLW1v ZGVsLWhlbHAtb3V0cHV0LWFzLWRvY3VtZW50ZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJh LzAwMjAtbmV0LVJlaW5zdGF0ZS1uZXQtbmljLW1vZGVsLWhlbHAtb3V0cHV0LWFzLWRvY3VtZW50 ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk5YjdhNS4uMDAwMDAwMAot LS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDIwLW5ldC1SZWluc3RhdGUtbmV0LW5pYy1tb2Rl bC1oZWxwLW91dHB1dC1hcy1kb2N1bWVudGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MCAr MCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEYXZpZCBXb29kaG91c2UgPGR3bXdAYW1hem9u LmNvLnVrPgotRGF0ZTogVHVlLCA5IEp1bCAyMDI0IDEzOjM0OjQ0ICswMTAwCi1TdWJqZWN0OiBb UEFUQ0hdIG5ldDogUmVpbnN0YXRlICctbmV0IG5pYywgbW9kZWw9aGVscCcgb3V0cHV0IGFzIGRv Y3VtZW50ZWQgaW4KLSBtYW4gcGFnZQotCi1XaGlsZSByZWZhY3RvcmluZyB0aGUgTklDIGluaXRp YWxpemF0aW9uIGNvZGUsIEkgYnJva2UgJy1uZXQgbmljLG1vZGVsPWhlbHAnCi13aGljaCBubyBs b25nZXIgb3V0cHV0cyBhIGxpc3Qgb2YgYXZhaWxhYmxlIE5JQyBtb2RlbHMuCi0KLUZpeGVzOiAy Y2RlY2EwNGFkYWIgKCJuZXQ6IHJlcG9ydCBsaXN0IG9mIGF2YWlsYWJsZSBtb2RlbHMgYWNjb3Jk aW5nIHRvIHBsYXRmb3JtIikKLUNjOiBxZW11LXN0YWJsZUBub25nbnUub3JnCi1TaWduZWQtb2Zm LWJ5OiBEYXZpZCBXb29kaG91c2UgPGR3bXdAYW1hem9uLmNvLnVrPgotUmV2aWV3ZWQtYnk6IE1p Y2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2sucnU+Ci1TaWduZWQtb2ZmLWJ5OiBKYXNvbiBXYW5n IDxqYXNvd2FuZ0ByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNjRmNzVm NTdmOWQyYzhjMTJhYzZkOTM1NWZhNWQzYTJhZjU4NzljYSkKLVNpZ25lZC1vZmYtYnk6IEZpb25h IEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gbmV0L25ldC5jIHwgMjUgKysrKysr KysrKysrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbmV0L25ldC5jIGIvbmV0L25ldC5jCi1pbmRl eCBhMmYwYzgyOGJiLi5lNmNhMjUyOWJiIDEwMDY0NAotLS0tIGEvbmV0L25ldC5jCi0rKysgYi9u ZXQvbmV0LmMKLUBAIC0xMTUwLDYgKzExNTAsMjEgQEAgTklDSW5mbyAqcWVtdV9maW5kX25pY19p bmZvKGNvbnN0IGNoYXIgKnR5cGVuYW1lLCBib29sIG1hdGNoX2RlZmF1bHQsCi0gICAgIHJldHVy biBOVUxMOwotIH0KLSAKLStzdGF0aWMgYm9vbCBpc19uaWNfbW9kZWxfaGVscF9vcHRpb24oY29u c3QgY2hhciAqbW9kZWwpCi0rewotKyAgICBpZiAobW9kZWwgJiYgaXNfaGVscF9vcHRpb24obW9k ZWwpKSB7Ci0rICAgICAgICAvKgotKyAgICAgICAgICogVHJpZ2dlciB0aGUgaGVscCBvdXRwdXQg YnkgaW5zdGFudGlhdGluZyB0aGUgaGFzaCB0YWJsZSB3aGljaAotKyAgICAgICAgICogd2lsbCBn YXRoZXIgdGhhIGF2YWlsYWJsZSBtb2RlbHMgYXMgdGhleSBnZXQgcmVnaXN0ZXJlZC4KLSsgICAg ICAgICAqLwotKyAgICAgICAgaWYgKCFuaWNfbW9kZWxfaGVscCkgewotKyAgICAgICAgICAgIG5p Y19tb2RlbF9oZWxwID0gZ19oYXNoX3RhYmxlX25ld19mdWxsKGdfc3RyX2hhc2gsIGdfc3RyX2Vx dWFsLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdfZnJlZSwgTlVMTCk7Ci0rICAgICAgICB9Ci0rICAgICAgICByZXR1cm4gdHJ1ZTsKLSsgICAg fQotKyAgICByZXR1cm4gZmFsc2U7Ci0rfQotIAotIC8qICJJIGhhdmUgY3JlYXRlZCBhIGRldmlj ZS4gUGxlYXNlIGNvbmZpZ3VyZSBpdCBpZiB5b3UgY2FuIiAqLwotIGJvb2wgcWVtdV9jb25maWd1 cmVfbmljX2RldmljZShEZXZpY2VTdGF0ZSAqZGV2LCBib29sIG1hdGNoX2RlZmF1bHQsCi1AQCAt MTczMyw2ICsxNzQ4LDEyIEBAIHZvaWQgbmV0X2NoZWNrX2NsaWVudHModm9pZCkKLSAKLSBzdGF0 aWMgaW50IG5ldF9pbml0X2NsaWVudCh2b2lkICpkdW1teSwgUWVtdU9wdHMgKm9wdHMsIEVycm9y ICoqZXJycCkKLSB7Ci0rICAgIGNvbnN0IGNoYXIgKm1vZGVsID0gcWVtdV9vcHRfZ2V0X2RlbChv cHRzLCAibW9kZWwiKTsKLSsKLSsgICAgaWYgKGlzX25pY19tb2RlbF9oZWxwX29wdGlvbihtb2Rl bCkpIHsKLSsgICAgICAgIHJldHVybiAwOwotKyAgICB9Ci0rCi0gICAgIHJldHVybiBuZXRfY2xp ZW50X2luaXQob3B0cywgZmFsc2UsIGVycnApOwotIH0KLSAKLUBAIC0xNzg5LDkgKzE4MTAsNyBA QCBzdGF0aWMgaW50IG5ldF9wYXJhbV9uaWModm9pZCAqZHVtbXksIFFlbXVPcHRzICpvcHRzLCBF cnJvciAqKmVycnApCi0gICAgIG1lbXNldChuaSwgMCwgc2l6ZW9mKCpuaSkpOwotICAgICBuaS0+ bW9kZWwgPSBxZW11X29wdF9nZXRfZGVsKG9wdHMsICJtb2RlbCIpOwotIAotLSAgICBpZiAoIW5p Y19tb2RlbF9oZWxwICYmICFnX3N0cmNtcDAobmktPm1vZGVsLCAiaGVscCIpKSB7Ci0tICAgICAg ICBuaWNfbW9kZWxfaGVscCA9IGdfaGFzaF90YWJsZV9uZXdfZnVsbChnX3N0cl9oYXNoLCBnX3N0 cl9lcXVhbCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdfZnJlZSwgTlVMTCk7Ci0rICAgIGlmIChpc19uaWNfbW9kZWxfaGVscF9vcHRpb24obmktPm1v ZGVsKSkgewotICAgICAgICAgcmV0dXJuIDA7Ci0gICAgIH0KLSAKZGlmZiAtLWdpdCBhL2RlYmlh bi9wYXRjaGVzL2V4dHJhLzAwMjEtbmV0LUZpeC1uZXQtbmljLW1vZGVsLWZvci1ub24taGVscC1h cmd1bWVudHMucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDIxLW5ldC1GaXgtbmV0LW5p Yy1tb2RlbC1mb3Itbm9uLWhlbHAtYXJndW1lbnRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAzYWIyNDA3Li4wMDAwMDAwCi0tLSBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAw MjEtbmV0LUZpeC1uZXQtbmljLW1vZGVsLWZvci1ub24taGVscC1hcmd1bWVudHMucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEYXZpZCBX b29kaG91c2UgPGR3bXdAYW1hem9uLmNvLnVrPgotRGF0ZTogVHVlLCA2IEF1ZyAyMDI0IDE4OjIx OjM3ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5ldDogRml4ICctbmV0IG5pYyxtb2RlbD0nIGZv ciBub24taGVscCBhcmd1bWVudHMKLQotT29wcywgZG9uJ3QgKmRlbGV0ZSogdGhlIG1vZGVsIG9w dGlvbiB3aGVuIGNoZWNraW5nIGZvciAnaGVscCcuCi0KLUZpeGVzOiA2NGY3NWY1N2Y5ZDIgKCJu ZXQ6IFJlaW5zdGF0ZSAnLW5ldCBuaWMsIG1vZGVsPWhlbHAnIG91dHB1dCBhcyBkb2N1bWVudGVk IGluIG1hbiBwYWdlIikKLVJlcG9ydGVkLWJ5OiBIYW5zIDxzdW5nZGdkaHRyeXJ0QGdtYWlsLmNv bT4KLVNpZ25lZC1vZmYtYnk6IERhdmlkIFdvb2Rob3VzZSA8ZHdtd0BhbWF6b24uY28udWs+Ci1D YzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotUmV2aWV3ZWQtYnk6IE1pY2hhZWwgVG9rYXJldiA8 bWp0QHRscy5tc2sucnU+Ci1TaWduZWQtb2ZmLWJ5OiBKYXNvbiBXYW5nIDxqYXNvd2FuZ0ByZWRo YXQuY29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmE2MmNiOTg5YTkxNDZjODJmOGYx NzI3MTUwNDI4NTJmNWQzNjIwMCkKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVy QHByb3htb3guY29tPgotLS0tCi0gbmV0L25ldC5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbmV0L25ldC5jIGIv bmV0L25ldC5jCi1pbmRleCBlNmNhMjUyOWJiLi44OTdiYjkzNmNmIDEwMDY0NAotLS0tIGEvbmV0 L25ldC5jCi0rKysgYi9uZXQvbmV0LmMKLUBAIC0xNzQ4LDcgKzE3NDgsNyBAQCB2b2lkIG5ldF9j aGVja19jbGllbnRzKHZvaWQpCi0gCi0gc3RhdGljIGludCBuZXRfaW5pdF9jbGllbnQodm9pZCAq ZHVtbXksIFFlbXVPcHRzICpvcHRzLCBFcnJvciAqKmVycnApCi0gewotLSAgICBjb25zdCBjaGFy ICptb2RlbCA9IHFlbXVfb3B0X2dldF9kZWwob3B0cywgIm1vZGVsIik7Ci0rICAgIGNvbnN0IGNo YXIgKm1vZGVsID0gcWVtdV9vcHRfZ2V0KG9wdHMsICJtb2RlbCIpOwotIAotICAgICBpZiAoaXNf bmljX21vZGVsX2hlbHBfb3B0aW9uKG1vZGVsKSkgewotICAgICAgICAgcmV0dXJuIDA7CmRpZmYg LS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDIyLXRhcmdldC1hcm0tRG9uLXQtYXNzZXJ0 LWZvci0xMjgtYml0LXRpbGUtYWNjZXNzZXMtd2gucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9leHRy YS8wMDIyLXRhcmdldC1hcm0tRG9uLXQtYXNzZXJ0LWZvci0xMjgtYml0LXRpbGUtYWNjZXNzZXMt d2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2NjdlZjQuLjAwMDAwMDAK LS0tIGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAyMi10YXJnZXQtYXJtLURvbi10LWFzc2VydC1m b3ItMTI4LWJpdC10aWxlLWFjY2Vzc2VzLXdoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTcg KzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVs bEBsaW5hcm8ub3JnPgotRGF0ZTogTW9uLCAyMiBKdWwgMjAyNCAxODoyOTo1NCArMDEwMAotU3Vi amVjdDogW1BBVENIXSB0YXJnZXQvYXJtOiBEb24ndCBhc3NlcnQgZm9yIDEyOC1iaXQgdGlsZSBh Y2Nlc3NlcyB3aGVuIFNWTAotIGlzIDEyOAotCi1Gb3IgYW4gaW5zdHJ1Y3Rpb24gd2hpY2ggYWNj ZXNzZXMgYSAxMjgtYml0IGVsZW1lbnQgdGlsZSB3aGVuCi10aGUgU1ZMIGlzIGFsc28gMTI4IChm b3IgZXhhbXBsZSBNT1YgejAuUSwgcDAvTSwgWkEwSC5RW3cwLDBdKSwKLXdlIHdpbGwgYXNzZXJ0 IGluIGdldF90aWxlX3Jvd2NvbCgpOgotCi1xZW11LXN5c3RlbS1hYXJjaDY0OiAuLi8uLi90Y2cv dGNnLW9wLmM6OTI2OiB0Y2dfZ2VuX2RlcG9zaXRfel9pMzI6IEFzc2VydGlvbiBgbGVuID4gMCcg ZmFpbGVkLgotCi1UaGlzIGhhcHBlbnMgYmVjYXVzZSB3ZSBjYWxjdWxhdGUKLSAgICBsZW4gPSBj dHozMihzdHJlYW1pbmdfdmVjX3JlZ19zaXplKHMpKSAtIGVzejskCi1idXQgaWYgdGhlIFNWTCBh bmQgdGhlIGVsZW1lbnQgc2l6ZSBhcmUgdGhlIHNhbWUgbGVuIGlzIDAsIGFuZAotdGhlIGRlcG9z aXQgb3BlcmF0aW9uIGFzc2VydHMuCi0KLUluIHRoaXMgY2FzZSB0aGUgWkEgc3RvcmFnZSBjb250 YWlucyBleGFjdGx5IG9uZSAxMjggYml0Ci1lbGVtZW50IFpBIHRpbGUsIGFuZCB0aGUgaG9yaXpv bnRhbCBvciB2ZXJ0aWNhbCBzbGljZSBpcyBqdXN0Ci10aGF0IHRpbGUuIFRoaXMgbWVhbnMgdGhh dCByZWdhcmRsZXNzIG9mIHRoZSBpbmRleCB2YWx1ZSBpbgotdGhlIFdzIHJlZ2lzdGVyLCB3ZSBh bHdheXMgYWNjZXNzIHRoYXQgdGlsZS4gKEluIHBzZXVkb2NvZGUgdGVybXMsCi13ZSBjYWxjdWxh dGUgKGluZGV4ICsgb2Zmc2V0KSBNT0QgMSwgd2hpY2ggaXMgMC4pCi0KLVNwZWNpYWwgY2FzZSB0 aGUgbGVuID09IDAgY2FzZSB0byBhdm9pZCBoaXR0aW5nIHRoZSBhc3NlcnRpb24KLWluIHRjZ19n ZW5fZGVwb3NpdF96X2kzMigpLgotCi1DYzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotU2lnbmVk LW9mZi1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgotUmV2aWV3 ZWQtYnk6IFJpY2hhcmQgSGVuZGVyc29uIDxyaWNoYXJkLmhlbmRlcnNvbkBsaW5hcm8ub3JnPgot TWVzc2FnZS1pZDogMjAyNDA3MjIxNzI5NTcuMTA0MTIzMS0yLXBldGVyLm1heWRlbGxAbGluYXJv Lm9yZwotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTZmMWMwZGI5MjhhYWUwYjgzZmQ5MWM4 OWRkYjIyNmIxMzdlMmIyMSkKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHBy b3htb3guY29tPgotLS0tCi0gdGFyZ2V0L2FybS90Y2cvdHJhbnNsYXRlLXNtZS5jIHwgMTAgKysr KysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK LQotZGlmZiAtLWdpdCBhL3RhcmdldC9hcm0vdGNnL3RyYW5zbGF0ZS1zbWUuYyBiL3RhcmdldC9h cm0vdGNnL3RyYW5zbGF0ZS1zbWUuYwotaW5kZXggMTg1YThhOTE3Yi4uYTUwYTQxOWFmMiAxMDA2 NDQKLS0tLSBhL3RhcmdldC9hcm0vdGNnL3RyYW5zbGF0ZS1zbWUuYwotKysrIGIvdGFyZ2V0L2Fy bS90Y2cvdHJhbnNsYXRlLXNtZS5jCi1AQCAtNDksNyArNDksMTUgQEAgc3RhdGljIFRDR3ZfcHRy IGdldF90aWxlX3Jvd2NvbChEaXNhc0NvbnRleHQgKnMsIGludCBlc3osIGludCBycywKLSAgICAg LyogUHJlcGFyZSBhIHBvd2VyLW9mLXR3byBtb2R1bG8gdmlhIGV4dHJhY3Rpb24gb2YgQGxlbiBi aXRzLiAqLwotICAgICBsZW4gPSBjdHozMihzdHJlYW1pbmdfdmVjX3JlZ19zaXplKHMpKSAtIGVz ejsKLSAKLS0gICAgaWYgKHZlcnRpY2FsKSB7Ci0rICAgIGlmICghbGVuKSB7Ci0rICAgICAgICAv KgotKyAgICAgICAgICogU1ZMIGlzIDEyOCBhbmQgdGhlIGVsZW1lbnQgc2l6ZSBpcyAxMjguIFRo ZXJlIGlzIGV4YWN0bHkKLSsgICAgICAgICAqIG9uZSAxMjh4MTI4IHRpbGUgaW4gdGhlIFpBIHN0 b3JhZ2UsIGFuZCBzbyB3ZSBjYWxjdWxhdGUKLSsgICAgICAgICAqIChScyArIGltbSkgTU9EIDEs IHdoaWNoIGlzIGFsd2F5cyAwLiBXZSBuZWVkIHRvIHNwZWNpYWwgY2FzZQotKyAgICAgICAgICog dGhpcyBiZWNhdXNlIFRDRyBkb2Vzbid0IGFsbG93IGRlcG9zaXQgb3BzIHdpdGggbGVuIDAuCi0r ICAgICAgICAgKi8KLSsgICAgICAgIHRjZ19nZW5fbW92aV9pMzIodG1wLCAwKTsKLSsgICAgfSBl bHNlIGlmICh2ZXJ0aWNhbCkgewotICAgICAgICAgLyoKLSAgICAgICAgICAqIENvbXB1dGUgdGhl IGJ5dGUgb2Zmc2V0IG9mIHRoZSBpbmRleCB3aXRoaW4gdGhlIHRpbGU6Ci0gICAgICAgICAgKiAg ICAgKGluZGV4ICUgKHN2bCAvIHNpemUpKSAqIHNpemUKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRj aGVzL2V4dHJhLzAwMjMtdGFyZ2V0LWFybS1GaXgtVU1PUEEtVU1PUFMtb2YtMTYtYml0LXZhbHVl cy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMjMtdGFyZ2V0LWFybS1GaXgtVU1PUEEt VU1PUFMtb2YtMTYtYml0LXZhbHVlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggY2Q2MGIzMC4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDIzLXRhcmdl dC1hcm0tRml4LVVNT1BBLVVNT1BTLW9mLTE2LWJpdC12YWx1ZXMucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQZXRlciBNYXlkZWxsIDxw ZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+Ci1EYXRlOiBNb24sIDIyIEp1bCAyMDI0IDE4OjI5OjU1 ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHRhcmdldC9hcm06IEZpeCBVTU9QQS9VTU9QUyBvZiAx Ni1iaXQgdmFsdWVzCi0KLVRoZSBVTU9QQS9VTU9QUyBpbnN0cnVjdGlvbnMgYXJlIHN1cHBvc2Vk IHRvIG11bHRpcGx5IHVuc2lnbmVkIDggb3IKLTE2IGJpdCBlbGVtZW50cyBhbmQgYWNjdW11bGF0 ZSB0aGUgcHJvZHVjdHMgaW50byBhIDY0LWJpdCBlbGVtZW50LgotSW4gdGhlIEFybSBBUk0gcHNl dWRvY29kZSwgdGhpcyBpcyBkb25lIHdpdGggdGhlIHVzdWFsCi1pbmZpbml0ZS1wcmVjaXNpb24g c2lnbmVkIGFyaXRobWV0aWMuICBIb3dldmVyIG91ciBpbXBsZW1lbnRhdGlvbgotZG9lc24ndCBx dWl0ZSBnZXQgaXQgcmlnaHQsIGJlY2F1c2UgaW4gdGhlIERFRl9JTU9QXzY0KCkgbWFjcm8gd2Ug ZG86Ci0gIHN1bSArPSAoTlRZUEUpKG4gPj4gMCkgKiAoTVRZUEUpKG0gPj4gMCk7Ci0KLXdoZXJl IE5UWVBFIGFuZCBNVFlQRSBhcmUgdWludDE2X3Qgb3IgaW50MTZfdC4gIEluIHRoZSB1aW50MTZf dCBjYXNlLAotdGhlIEMgdXN1YWwgYXJpdGhtZXRpYyBjb252ZXJzaW9ucyBtZWFuIHRoZSB2YWx1 ZXMgYXJlIGNvbnZlcnRlZCB0bwotImludCIgdHlwZSBhbmQgdGhlIG11bHRpcGx5IGlzIGRvbmUg YXMgYSAzMi1iaXQgbXVsdGlwbHkuICBUaGlzIG1lYW5zCi10aGF0IGlmIHRoZSBpbnB1dHMgYXJl LCBmb3IgZXhhbXBsZSwgMHhmZmZmIGFuZCAweGZmZmYgdGhlbiB0aGUKLXJlc3VsdCBpcyAweEZG RkUwMDAxIGFzIGFuIGludCwgd2hpY2ggaXMgdGhlbiBwcm9tb3RlZCB0byB1aW50NjRfdAotZm9y IHRoZSBhY2N1bXVsYXRpb24gaW50byBzdW07IHRoaXMgcHJvbW90aW9uIGluY29ycmVjdGx5IHNp Z24KLWV4dGVuZHMgdGhlIG11bHRpcGx5LgotCi1Bdm9pZCB0aGUgaW5jb3JyZWN0IHNpZ24gZXh0 ZW5zaW9uIGJ5IGNhc3RpbmcgdG8gaW50NjRfdCBiZWZvcmUKLXRoZSBtdWx0aXBseSwgc28gd2Ug ZG8gdGhlIG11bHRpcGx5IGFzIDY0LWJpdCBzaWduZWQgYXJpdGhtZXRpYywKLXdoaWNoIGlzIGEg dHlwZSBsYXJnZSBlbm91Z2ggdGhhdCB0aGUgbXVsdGlwbHkgY2FuIG5ldmVyCi1vdmVyZmxvdyBp bnRvIHRoZSBzaWduIGJpdC4KLQotKFRoZSBlcXVpdmFsZW50IDgtYml0IG9wZXJhdGlvbnMgaW4g REVGX0lNT1BfMzIoKSBhcmUgZmluZSwgYmVjYXVzZQotdGhlIDgtYml0IG11bHRpcGxpZXMgY2Fu IG5ldmVyIG92ZXJmbG93IGludG8gdGhlIHNpZ24gYml0IG9mIGEKLTMyLWJpdCBpbnRlZ2VyLikK LQotQ2M6IHFlbXUtc3RhYmxlQG5vbmdudS5vcmcKLVJlc29sdmVzOiBodHRwczovL2dpdGxhYi5j b20vcWVtdS1wcm9qZWN0L3FlbXUvLS9pc3N1ZXMvMjM3MgotU2lnbmVkLW9mZi1ieTogUGV0ZXIg TWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgotUmV2aWV3ZWQtYnk6IFJpY2hhcmQg SGVuZGVyc29uIDxyaWNoYXJkLmhlbmRlcnNvbkBsaW5hcm8ub3JnPgotTWVzc2FnZS1pZDogMjAy NDA3MjIxNzI5NTcuMTA0MTIzMS0zLXBldGVyLm1heWRlbGxAbGluYXJvLm9yZwotKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgZWEzZjVhOTBmMDM2NzM0NTIyZTlhZjNiZmZkNzdlNjllOWY0NzM1 NSkKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0t Ci0gdGFyZ2V0L2FybS90Y2cvc21lX2hlbHBlci5jIHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFu Z2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90YXJn ZXQvYXJtL3RjZy9zbWVfaGVscGVyLmMgYi90YXJnZXQvYXJtL3RjZy9zbWVfaGVscGVyLmMKLWlu ZGV4IDVhNmRkNzY0ODkuLmY5MDAxZjUyMTMgMTAwNjQ0Ci0tLS0gYS90YXJnZXQvYXJtL3RjZy9z bWVfaGVscGVyLmMKLSsrKyBiL3RhcmdldC9hcm0vdGNnL3NtZV9oZWxwZXIuYwotQEAgLTExNDYs MTAgKzExNDYsMTAgQEAgc3RhdGljIHVpbnQ2NF90IE5BTUUodWludDY0X3QgbiwgdWludDY0X3Qg bSwgdWludDY0X3QgYSwgdWludDhfdCBwLCBib29sIG5lZykgXAotICAgICB1aW50NjRfdCBzdW0g PSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCi0gICAgIC8qIEFwcGx5IFAgdG8gTiBhcyBhIG1hc2ssIG1ha2luZyB0aGUgaW5hY3RpdmUg ZWxlbWVudHMgMC4gKi8gICAgICAgICAgIFwKLSAgICAgbiAmPSBleHBhbmRfcHJlZF9oKHApOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBz dW0gKz0gKE5UWVBFKShuID4+IDApICogKE1UWVBFKShtID4+IDApOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCi0tICAgIHN1bSArPSAoTlRZUEUpKG4gPj4gMTYpICogKE1UWVBFKSht ID4+IDE2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgc3VtICs9IChOVFlQ RSkobiA+PiAzMikgKiAoTVRZUEUpKG0gPj4gMzIpOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAotLSAgICBzdW0gKz0gKE5UWVBFKShuID4+IDQ4KSAqIChNVFlQRSkobSA+PiA0OCk7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgIHN1bSArPSAoaW50NjRfdCkoTlRZUEUp KG4gPj4gMCkgKiAoTVRZUEUpKG0gPj4gMCk7ICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAg c3VtICs9IChpbnQ2NF90KShOVFlQRSkobiA+PiAxNikgKiAoTVRZUEUpKG0gPj4gMTYpOyAgICAg ICAgICAgICAgICAgICAgXAotKyAgICBzdW0gKz0gKGludDY0X3QpKE5UWVBFKShuID4+IDMyKSAq IChNVFlQRSkobSA+PiAzMik7ICAgICAgICAgICAgICAgICAgICBcCi0rICAgIHN1bSArPSAoaW50 NjRfdCkoTlRZUEUpKG4gPj4gNDgpICogKE1UWVBFKShtID4+IDQ4KTsgICAgICAgICAgICAgICAg ICAgIFwKLSAgICAgcmV0dXJuIG5lZyA/IGEgLSBzdW0gOiBhICsgc3VtOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIH0KLSAKZGlmZiAtLWdpdCBhL2RlYmlhbi9w YXRjaGVzL2V4dHJhLzAwMjQtdGFyZ2V0LWFybS1Bdm9pZC1zaGlmdHMtYnktMS1pbi10c3ppbW1f c2hyLWFuZC10c3ppbS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMjQtdGFyZ2V0LWFy bS1Bdm9pZC1zaGlmdHMtYnktMS1pbi10c3ppbW1fc2hyLWFuZC10c3ppbS5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJjYTc2NS4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0 Y2hlcy9leHRyYS8wMDI0LXRhcmdldC1hcm0tQXZvaWQtc2hpZnRzLWJ5LTEtaW4tdHN6aW1tX3No ci1hbmQtdHN6aW0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1Gcm9tIDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+Ci1E YXRlOiBNb24sIDIyIEp1bCAyMDI0IDE4OjI5OjU2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHRh cmdldC9hcm06IEF2b2lkIHNoaWZ0cyBieSAtMSBpbiB0c3ppbW1fc2hyKCkgYW5kCi0gdHN6aW1t X3NobCgpCi0KLVRoZSBmdW5jdGlvbiB0c3ppbW1fZXN6KCkgcmV0dXJucyBhIHNoaWZ0IGFtb3Vu dCwgb3IgcG9zc2libHkgLTEgaW4KLWNlcnRhaW4gY2FzZXMgdGhhdCBjb3JyZXNwb25kIHRvIHVu YWxsb2NhdGVkIGVuY29kaW5ncyBpbiB0aGUKLWluc3RydWN0aW9uIHNldC4gIFdlIGNhdGNoIHRo ZXNlIGxhdGVyIGluIHRoZSB0cmFuc18gZnVuY3Rpb25zCi0oZ2VuZXJhbGx5IHdpdGggYW4gImEt ZXN6IDwgMCIgY2hlY2spLCBidXQgYmVmb3JlIHdlIGRvIHRoZQotZGVjb2RldHJlZS1nZW5lcmF0 ZWQgY29kZSB3aWxsIGFsc28gY2FsbCB0c3ppbW1fc2hyKCkgb3IgdHN6aW1tX3NsKCksCi13aGlj aCB3aWxsIHVzZSB0aGUgdHN6aW1tX2VzeigpIHJldHVybiB2YWx1ZSBhcyBhIHNoaWZ0IGNvdW50 IHdpdGhvdXQKLWNoZWNraW5nIHRoYXQgaXQgaXMgbm90IG5lZ2F0aXZlLCB3aGljaCBpcyB1bmRl ZmluZWQgYmVoYXZpb3VyLgotCi1Bdm9pZCB0aGUgVUIgYnkgY2hlY2tpbmcgdGhlIHJldHVybiB2 YWx1ZSBpbiB0c3ppbW1fc2hyKCkgYW5kCi10c3ppbW1fc2hsKCkuCi0KLUNjOiBxZW11LXN0YWJs ZUBub25nbnUub3JnCi1SZXNvbHZlczogQ292ZXJpdHkgQ0lEIDE1NDc2MTcsIDE1NDc2OTQKLVNp Z25lZC1vZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KLVJl dmlld2VkLWJ5OiBSaWNoYXJkIEhlbmRlcnNvbiA8cmljaGFyZC5oZW5kZXJzb25AbGluYXJvLm9y Zz4KLU1lc3NhZ2UtaWQ6IDIwMjQwNzIyMTcyOTU3LjEwNDEyMzEtNC1wZXRlci5tYXlkZWxsQGxp bmFyby5vcmcKLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDc2OTE2ZGZhODllODkwMDYzOWMx MDU1YzA3YTI5NWMwNjYyOGEwYmMpCi1TaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5l ckBwcm94bW94LmNvbT4KLS0tLQotIHRhcmdldC9hcm0vdGNnL3RyYW5zbGF0ZS1zdmUuYyB8IDE4 ICsrKysrKysrKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdGFyZ2V0L2FybS90Y2cvdHJhbnNsYXRlLXN2 ZS5jIGIvdGFyZ2V0L2FybS90Y2cvdHJhbnNsYXRlLXN2ZS5jCi1pbmRleCBhZGEwNWFhNTMwLi40 NjZhMTljMjVhIDEwMDY0NAotLS0tIGEvdGFyZ2V0L2FybS90Y2cvdHJhbnNsYXRlLXN2ZS5jCi0r KysgYi90YXJnZXQvYXJtL3RjZy90cmFuc2xhdGUtc3ZlLmMKLUBAIC01MCwxMyArNTAsMjcgQEAg c3RhdGljIGludCB0c3ppbW1fZXN6KERpc2FzQ29udGV4dCAqcywgaW50IHgpCi0gCi0gc3RhdGlj IGludCB0c3ppbW1fc2hyKERpc2FzQ29udGV4dCAqcywgaW50IHgpCi0gewotLSAgICByZXR1cm4g KDE2IDw8IHRzemltbV9lc3oocywgeCkpIC0geDsKLSsgICAgLyoKLSsgICAgICogV2Ugd29uJ3Qg dXNlIHRoZSB0c3ppbW1fc2hyKCkgdmFsdWUgaWYgdHN6aW1tX2VzeigpIHJldHVybnMgLTEgKHRo ZQotKyAgICAgKiB0cmFucyBmdW5jdGlvbiB3aWxsIGNoZWNrIGZvciBlc3ogPCAwKSwgc28gd2Ug Y2FuIHJldHVybiBhbnkKLSsgICAgICogdmFsdWUgd2UgbGlrZSBmcm9tIGhlcmUgaW4gdGhhdCBj YXNlIGFzIGxvbmcgYXMgd2UgYXZvaWQgVUIuCi0rICAgICAqLwotKyAgICBpbnQgZXN6ID0gdHN6 aW1tX2VzeihzLCB4KTsKLSsgICAgaWYgKGVzeiA8IDApIHsKLSsgICAgICAgIHJldHVybiBlc3o7 Ci0rICAgIH0KLSsgICAgcmV0dXJuICgxNiA8PCBlc3opIC0geDsKLSB9Ci0gCi0gLyogU2VlIGUu Zy4gTFNMIChpbW1lZGlhdGUsIHByZWRpY2F0ZWQpLiAgKi8KLSBzdGF0aWMgaW50IHRzemltbV9z aGwoRGlzYXNDb250ZXh0ICpzLCBpbnQgeCkKLSB7Ci0tICAgIHJldHVybiB4IC0gKDggPDwgdHN6 aW1tX2VzeihzLCB4KSk7Ci0rICAgIC8qIEFzIHdpdGggdHN6aW1tX3NocigpLCB2YWx1ZSB3aWxs IGJlIHVudXNlZCBpZiBlc3ogPCAwICovCi0rICAgIGludCBlc3ogPSB0c3ppbW1fZXN6KHMsIHgp OwotKyAgICBpZiAoZXN6IDwgMCkgewotKyAgICAgICAgcmV0dXJuIGVzejsKLSsgICAgfQotKyAg ICByZXR1cm4geCAtICg4IDw8IGVzeik7Ci0gfQotIAotIC8qIFRoZSBTSCBiaXQgaXMgaW4gYml0 IDguICBFeHRyYWN0IHRoZSBsb3cgOCBhbmQgc2hpZnQuICAqLwpkaWZmIC0tZ2l0IGEvZGViaWFu L3BhdGNoZXMvZXh0cmEvMDAyNS10YXJnZXQtYXJtLUlnbm9yZS1TTUNSX0VMMi5MRU4tYW5kLVNW Q1JfRUwyLkxFTi1pZi1FLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAyNS10YXJnZXQt YXJtLUlnbm9yZS1TTUNSX0VMMi5MRU4tYW5kLVNWQ1JfRUwyLkxFTi1pZi1FLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzhiZDM5Li4wMDAwMDAwCi0tLSBhL2RlYmlhbi9w YXRjaGVzL2V4dHJhLzAwMjUtdGFyZ2V0LWFybS1JZ25vcmUtU01DUl9FTDIuTEVOLWFuZC1TVkNS X0VMMi5MRU4taWYtRS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLUZyb20g MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4K LURhdGU6IE1vbiwgMjIgSnVsIDIwMjQgMTg6Mjk6NTcgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0g dGFyZ2V0L2FybTogSWdub3JlIFNNQ1JfRUwyLkxFTiBhbmQgU1ZDUl9FTDIuTEVOIGlmIEVMMiBp cwotIG5vdCBlbmFibGVkCi0KLVdoZW4gZGV0ZXJtaW5pbmcgdGhlIGN1cnJlbnQgdmVjdG9yIGxl bmd0aCwgdGhlIFNNQ1JfRUwyLkxFTiBhbmQKLVNWQ1JfRUwyLkxFTiBzZXR0aW5ncyBzaG91bGQg b25seSBiZSBjb25zaWRlcmVkIGlmIEVMMiBpcyBlbmFibGVkCi0oY29tcGFyZSB0aGUgcHNldWRv Y29kZSBDdXJyZW50U1ZMIGFuZCBDdXJyZW50TlNWTCB3aGljaCBjYWxsCi1FTDJFbmFibGVkKCkp LgotCi1XZSB3ZXJlIGNoZWNraW5nIGFnYWluc3QgQVJNX0ZFQVRVUkVfRUwyIHJhdGhlciB0aGFu IGNhbGxpbmcKLWFybV9pc19lbDJfZW5hYmxlZCgpLCB3aGljaCBtZWFudCB0aGF0IHdlIHdvdWxk IGxvb2sgYXQKLVNNQ1JfRUwyL1NWQ1JfRUwyIHdoZW4gaW4gU2VjdXJlIEVMMSBvciBTZWN1cmUg RUwwIGV2ZW4gaWYgU2VjdXJlIEVMMgotd2FzIG5vdCBlbmFibGVkLgotCi1Vc2UgdGhlIGNvcnJl Y3QgY2hlY2sgaW4gc3ZlX3ZxbTFfZm9yX2VsX3NtKCkuCi0KLUNjOiBxZW11LXN0YWJsZUBub25n bnUub3JnCi1TaWduZWQtb2ZmLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFy by5vcmc+Ci1SZXZpZXdlZC1ieTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29u QGxpbmFyby5vcmc+Ci1NZXNzYWdlLWlkOiAyMDI0MDcyMjE3Mjk1Ny4xMDQxMjMxLTUtcGV0ZXIu bWF5ZGVsbEBsaW5hcm8ub3JnCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBmNTczYWMwNTll ZDA2MDIzNGZjZWY0Mjk5ZmFlOWU1MDBkMzU3YzMzKQotU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJu ZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci0tLS0KLSB0YXJnZXQvYXJtL2hlbHBlci5jIHwgMiAr LQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZm IC0tZ2l0IGEvdGFyZ2V0L2FybS9oZWxwZXIuYyBiL3RhcmdldC9hcm0vaGVscGVyLmMKLWluZGV4 IGE2MjA0ODFkN2MuLjQyMDQ0YWUxNGIgMTAwNjQ0Ci0tLS0gYS90YXJnZXQvYXJtL2hlbHBlci5j Ci0rKysgYi90YXJnZXQvYXJtL2hlbHBlci5jCi1AQCAtNzE5MSw3ICs3MTkxLDcgQEAgdWludDMy X3Qgc3ZlX3ZxbTFfZm9yX2VsX3NtKENQVUFSTVN0YXRlICplbnYsIGludCBlbCwgYm9vbCBzbSkK LSAgICAgaWYgKGVsIDw9IDEgJiYgIWVsX2lzX2luX2hvc3QoZW52LCBlbCkpIHsKLSAgICAgICAg IGxlbiA9IE1JTihsZW4sIDB4ZiAmICh1aW50MzJfdCljclsxXSk7Ci0gICAgIH0KLS0gICAgaWYg KGVsIDw9IDIgJiYgYXJtX2ZlYXR1cmUoZW52LCBBUk1fRkVBVFVSRV9FTDIpKSB7Ci0rICAgIGlm IChlbCA8PSAyICYmIGFybV9pc19lbDJfZW5hYmxlZChlbnYpKSB7Ci0gICAgICAgICBsZW4gPSBN SU4obGVuLCAweGYgJiAodWludDMyX3QpY3JbMl0pOwotICAgICB9Ci0gICAgIGlmIChhcm1fZmVh dHVyZShlbnYsIEFSTV9GRUFUVVJFX0VMMykpIHsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVz L2V4dHJhLzAwMjYtdGFyZ2V0LWFybS1IYW5kbGUtZGVub3JtYWxzLWNvcnJlY3RseS1mb3ItRk1P UEEtd2lkZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMjYtdGFyZ2V0LWFybS1IYW5k bGUtZGVub3JtYWxzLWNvcnJlY3RseS1mb3ItRk1PUEEtd2lkZS5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggYjFhNTVlOC4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9l eHRyYS8wMDI2LXRhcmdldC1hcm0tSGFuZGxlLWRlbm9ybWFscy1jb3JyZWN0bHktZm9yLUZNT1BB LXdpZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNjQgKzAsMCBAQAotRnJvbSAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgotRGF0ZTog VGh1LCAxIEF1ZyAyMDI0IDEwOjE1OjAzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHRhcmdldC9h cm06IEhhbmRsZSBkZW5vcm1hbHMgY29ycmVjdGx5IGZvciBGTU9QQSAod2lkZW5pbmcpCi0KLVRo ZSBGTU9QQSAod2lkZW5pbmcpIFNNRSBpbnN0cnVjdGlvbiB0YWtlcyBwYWlycyBvZiBoYWxmLXBy ZWNpc2lvbgotZmxvYXRpbmcgcG9pbnQgdmFsdWVzLCB3aWRlbnMgdGhlbSB0byBzaW5nbGUtcHJl Y2lzaW9uLCBkb2VzIGEKLXR3by13YXkgZG90IHByb2R1Y3QgYW5kIGFjY3VtdWxhdGVzIHRoZSBy ZXN1bHRzIGludG8gYQotc2luZ2xlLXByZWNpc2lvbiBkZXN0aW5hdGlvbi4gIFdlIGRvbid0IHF1 aXRlIGNvcnJlY3RseSBoYW5kbGUgdGhlCi1GUENSIGJpdHMgRlogYW5kIEZaMTYgd2hpY2ggY29u dHJvbCBmbHVzaGluZyBvZiBkZW5vcm1hbCBpbnB1dHMgYW5kCi1vdXRwdXRzLiAgVGhpcyBpcyBi ZWNhdXNlIGF0IHRoZSBtb21lbnQgd2UgcGFzcyBhIHNpbmdsZSBmbG9hdF9zdGF0dXMKLXZhbHVl IHRvIHRoZSBoZWxwZXIgZnVuY3Rpb24sIHdoaWNoIHRoZW4gdXNlcyB0aGF0IGNvbmZpZ3VyYXRp b24gZm9yCi1hbGwgdGhlIGZwIG9wZXJhdGlvbnMgaXQgZG9lcy4gIEhvd2V2ZXIsIGJlY2F1c2Ug dGhlIGlucHV0cyB0byB0aGlzCi1vcGVyYXRpb24gYXJlIGZsb2F0MTYgYW5kIHRoZSBvdXRwdXRz IGFyZSBmbG9hdDMyIHdlIG5lZWQgdG8gdXNlIHRoZQotZnBfc3RhdHVzX2YxNiBmb3IgdGhlIGZs b2F0MTYgaW5wdXQgd2lkZW5pbmcgYnV0IHRoZSBub3JtYWwgZnBfc3RhdHVzCi1mb3IgZXZlcnl0 aGluZyBlbHNlLiAgT3RoZXJ3aXNlIHdlIHdpbGwgYXBwbHkgdGhlIGZsdXNoaW5nIGNvbnRyb2wK LUZQQ1IuRloxNiB0byB0aGUgMzItYml0IG91dHB1dCByYXRoZXIgdGhhbiB0aGUgRlBDUi5GWiBj b250cm9sLCBhbmQKLWluY29ycmVjdGx5IGZsdXNoIGEgZGVub3JtYWwgb3V0cHV0IHRvIHplcm8g d2hlbiB3ZSBzaG91bGQgbm90IChvcgotdmljZS12ZXJzYSkuCi0KLShJbiBjb21taXQgMjA3ZDMw YjVmZGI1YiB3ZSB0cmllZCB0byBmaXggdGhlIEZaIGhhbmRsaW5nIGJ1dAotZGlkbid0IGdldCBp dCByaWdodCwgc3dpdGNoaW5nIGZyb20gInVzZSBGUENSLkZaIGZvciBldmVyeXRoaW5nIiB0bwot InVzZSBGUENSLkZaMTYgZm9yIGV2ZXJ5dGhpbmciLikKLQotUGFzcyB0aGUgQ1BVIGVudiB0byB0 aGUgc21lX2Ztb3BhX2ggaGVscGVyIGluc3RlYWQgb2YgYW4gZnBfc3RhdHVzCi1wb2ludGVyLCBh bmQgaGF2ZSB0aGUgaGVscGVyIHBhc3MgYW4gZXh0cmEgZnBfc3RhdHVzIGludG8gdGhlCi1mMTZf ZG90YWRkKCkgZnVuY3Rpb24gc28gdGhhdCB3ZSBjYW4gdXNlIHRoZSByaWdodCBzdGF0dXMgZm9y IHRoZQotcmlnaHQgcGFydHMgb2YgdGhpcyBvcGVyYXRpb24uCi0KLUNjOiBxZW11LXN0YWJsZUBu b25nbnUub3JnCi1GaXhlczogMjA3ZDMwYjVmZGI1ICgidGFyZ2V0L2FybTogVXNlIEZQU1RfRjE2 IGZvciBTTUUgRk1PUEEgKHdpZGVuaW5nKSIpCi1SZXNvbHZlczogaHR0cHM6Ly9naXRsYWIuY29t L3FlbXUtcHJvamVjdC9xZW11Ly0vaXNzdWVzLzIzNzMKLVNpZ25lZC1vZmYtYnk6IFBldGVyIE1h eWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KLVJldmlld2VkLWJ5OiBSaWNoYXJkIEhl bmRlcnNvbiA8cmljaGFyZC5oZW5kZXJzb25AbGluYXJvLm9yZz4KLShjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDU1ZjlmNGVlMDE4YzVjY2VhODFkOGM4YzU4Njc1NmQ3NzExYWU0NmYpCi1TaWdu ZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KLS0tLQotIHRhcmdl dC9hcm0vdGNnL2hlbHBlci1zbWUuaCAgICB8ICAyICstCi0gdGFyZ2V0L2FybS90Y2cvc21lX2hl bHBlci5jICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIHRhcmdl dC9hcm0vdGNnL3RyYW5zbGF0ZS1zbWUuYyB8IDI1ICsrKysrKysrKysrKysrKysrKysrLS0KLSAz IGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvdGFyZ2V0L2FybS90Y2cvaGVscGVyLXNtZS5oIGIvdGFyZ2V0L2FybS90Y2cvaGVs cGVyLXNtZS5oCi1pbmRleCAyN2VlZjQ5YTExLi5kMjJiZjlkMjFiIDEwMDY0NAotLS0tIGEvdGFy Z2V0L2FybS90Y2cvaGVscGVyLXNtZS5oCi0rKysgYi90YXJnZXQvYXJtL3RjZy9oZWxwZXItc21l LmgKLUBAIC0xMjEsNyArMTIxLDcgQEAgREVGX0hFTFBFUl9GTEFHU181KHNtZV9hZGRoYV9kLCBU Q0dfQ0FMTF9OT19SV0csIHZvaWQsIHB0ciwgcHRyLCBwdHIsIHB0ciwgaTMyKQotIERFRl9IRUxQ RVJfRkxBR1NfNShzbWVfYWRkdmFfZCwgVENHX0NBTExfTk9fUldHLCB2b2lkLCBwdHIsIHB0ciwg cHRyLCBwdHIsIGkzMikKLSAKLSBERUZfSEVMUEVSX0ZMQUdTXzcoc21lX2Ztb3BhX2gsIFRDR19D QUxMX05PX1JXRywKLS0gICAgICAgICAgICAgICAgICAgdm9pZCwgcHRyLCBwdHIsIHB0ciwgcHRy LCBwdHIsIHB0ciwgaTMyKQotKyAgICAgICAgICAgICAgICAgICB2b2lkLCBwdHIsIHB0ciwgcHRy LCBwdHIsIHB0ciwgZW52LCBpMzIpCi0gREVGX0hFTFBFUl9GTEFHU183KHNtZV9mbW9wYV9zLCBU Q0dfQ0FMTF9OT19SV0csCi0gICAgICAgICAgICAgICAgICAgIHZvaWQsIHB0ciwgcHRyLCBwdHIs IHB0ciwgcHRyLCBwdHIsIGkzMikKLSBERUZfSEVMUEVSX0ZMQUdTXzcoc21lX2Ztb3BhX2QsIFRD R19DQUxMX05PX1JXRywKLWRpZmYgLS1naXQgYS90YXJnZXQvYXJtL3RjZy9zbWVfaGVscGVyLmMg Yi90YXJnZXQvYXJtL3RjZy9zbWVfaGVscGVyLmMKLWluZGV4IGY5MDAxZjUyMTMuLjM5MDZiYjUx YzAgMTAwNjQ0Ci0tLS0gYS90YXJnZXQvYXJtL3RjZy9zbWVfaGVscGVyLmMKLSsrKyBiL3Rhcmdl dC9hcm0vdGNnL3NtZV9oZWxwZXIuYwotQEAgLTk3NiwxMiArOTc2LDIzIEBAIHN0YXRpYyBpbmxp bmUgdWludDMyX3QgZjE2bW9wX2Fkal9wYWlyKHVpbnQzMl90IHBhaXIsIHVpbnQzMl90IHBnLCB1 aW50MzJfdCBuZWcpCi0gfQotIAotIHN0YXRpYyBmbG9hdDMyIGYxNl9kb3RhZGQoZmxvYXQzMiBz dW0sIHVpbnQzMl90IGUxLCB1aW50MzJfdCBlMiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAg IGZsb2F0X3N0YXR1cyAqc19zdGQsIGZsb2F0X3N0YXR1cyAqc19vZGQpCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICBmbG9hdF9zdGF0dXMgKnNfZjE2LCBmbG9hdF9zdGF0dXMgKnNfc3RkLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXRfc3RhdHVzICpzX29kZCkKLSB7Ci0tICAg IGZsb2F0NjQgZTFyID0gZmxvYXQxNl90b19mbG9hdDY0KGUxICYgMHhmZmZmLCB0cnVlLCBzX3N0 ZCk7Ci0tICAgIGZsb2F0NjQgZTFjID0gZmxvYXQxNl90b19mbG9hdDY0KGUxID4+IDE2LCB0cnVl LCBzX3N0ZCk7Ci0tICAgIGZsb2F0NjQgZTJyID0gZmxvYXQxNl90b19mbG9hdDY0KGUyICYgMHhm ZmZmLCB0cnVlLCBzX3N0ZCk7Ci0tICAgIGZsb2F0NjQgZTJjID0gZmxvYXQxNl90b19mbG9hdDY0 KGUyID4+IDE2LCB0cnVlLCBzX3N0ZCk7Ci0rICAgIC8qCi0rICAgICAqIFdlIG5lZWQgdGhyZWUg ZGlmZmVyZW50IGZsb2F0X3N0YXR1cyBmb3IgZGlmZmVyZW50IHBhcnRzIG9mIHRoaXMKLSsgICAg ICogb3BlcmF0aW9uOgotKyAgICAgKiAgLSB0aGUgaW5wdXQgY29udmVyc2lvbiBvZiB0aGUgZmxv YXQxNiB2YWx1ZXMgbXVzdCB1c2UgdGhlCi0rICAgICAqICAgIGYxNi1zcGVjaWZpYyBmbG9hdF9z dGF0dXMsIHNvIHRoYXQgdGhlIEZQQ1IuRloxNiBjb250cm9sIGlzIGFwcGxpZWQKLSsgICAgICog IC0gb3BlcmF0aW9ucyBvbiBmbG9hdDMyIGluY2x1ZGluZyB0aGUgZmluYWwgYWNjdW11bGF0aW9u IG11c3QgdXNlCi0rICAgICAqICAgIHRoZSBub3JtYWwgZmxvYXRfc3RhdHVzLCBzbyB0aGF0IEZQ Q1IuRlogaXMgYXBwbGllZAotKyAgICAgKiAgLSB3ZSBoYXZlIHByZS1zZXQtdXAgY29weSBvZiBz X3N0ZCB3aGljaCBpcyBzZXQgdG8gcm91bmQtdG8tb2RkLAotKyAgICAgKiAgICBmb3IgdGhlIG11 bHRpcGx5IChzZWUgYmVsb3cpCi0rICAgICAqLwotKyAgICBmbG9hdDY0IGUxciA9IGZsb2F0MTZf dG9fZmxvYXQ2NChlMSAmIDB4ZmZmZiwgdHJ1ZSwgc19mMTYpOwotKyAgICBmbG9hdDY0IGUxYyA9 IGZsb2F0MTZfdG9fZmxvYXQ2NChlMSA+PiAxNiwgdHJ1ZSwgc19mMTYpOwotKyAgICBmbG9hdDY0 IGUyciA9IGZsb2F0MTZfdG9fZmxvYXQ2NChlMiAmIDB4ZmZmZiwgdHJ1ZSwgc19mMTYpOwotKyAg ICBmbG9hdDY0IGUyYyA9IGZsb2F0MTZfdG9fZmxvYXQ2NChlMiA+PiAxNiwgdHJ1ZSwgc19mMTYp OwotICAgICBmbG9hdDY0IHQ2NDsKLSAgICAgZmxvYXQzMiB0MzI7Ci0gCi1AQCAtMTAwMywyMCAr MTAxNCwyMyBAQCBzdGF0aWMgZmxvYXQzMiBmMTZfZG90YWRkKGZsb2F0MzIgc3VtLCB1aW50MzJf dCBlMSwgdWludDMyX3QgZTIsCi0gfQotIAotIHZvaWQgSEVMUEVSKHNtZV9mbW9wYV9oKSh2b2lk ICp2emEsIHZvaWQgKnZ6biwgdm9pZCAqdnptLCB2b2lkICp2cG4sCi0tICAgICAgICAgICAgICAg ICAgICAgICAgIHZvaWQgKnZwbSwgdm9pZCAqdnN0LCB1aW50MzJfdCBkZXNjKQotKyAgICAgICAg ICAgICAgICAgICAgICAgICB2b2lkICp2cG0sIENQVUFSTVN0YXRlICplbnYsIHVpbnQzMl90IGRl c2MpCi0gewotICAgICBpbnRwdHJfdCByb3csIGNvbCwgb3Byc3ogPSBzaW1kX21heHN6KGRlc2Mp OwotICAgICB1aW50MzJfdCBuZWcgPSBzaW1kX2RhdGEoZGVzYykgKiAweDgwMDA4MDAwdTsKLSAg ICAgdWludDE2X3QgKnBuID0gdnBuLCAqcG0gPSB2cG07Ci0tICAgIGZsb2F0X3N0YXR1cyBmcHN0 X29kZCwgZnBzdF9zdGQ7Ci0rICAgIGZsb2F0X3N0YXR1cyBmcHN0X29kZCwgZnBzdF9zdGQsIGZw c3RfZjE2OwotIAotICAgICAvKgotLSAgICAgKiBNYWtlIGEgY29weSBvZiBmbG9hdF9zdGF0dXMg YmVjYXVzZSB0aGlzIG9wZXJhdGlvbiBkb2VzIG5vdAotLSAgICAgKiB1cGRhdGUgdGhlIGN1bXVs YXRpdmUgZnAgZXhjZXB0aW9uIHN0YXR1cy4gIEl0IGFsc28gcHJvZHVjZXMKLS0gICAgICogZGVm YXVsdCBuYW5zLiAgTWFrZSBhIHNlY29uZCBjb3B5IHdpdGggcm91bmQtdG8tb2RkIC0tIHNlZSBh Ym92ZS4KLSsgICAgICogTWFrZSBjb3BpZXMgb2YgZnBfc3RhdHVzIGFuZCBmcF9zdGF0dXNfZjE2 LCBiZWNhdXNlIHRoaXMgb3BlcmF0aW9uCi0rICAgICAqIGRvZXMgbm90IHVwZGF0ZSB0aGUgY3Vt dWxhdGl2ZSBmcCBleGNlcHRpb24gc3RhdHVzLiAgSXQgYWxzbwotKyAgICAgKiBwcm9kdWNlcyBk ZWZhdWx0IE5hTnMuIFdlIGFsc28gbmVlZCBhIHNlY29uZCBjb3B5IG9mIGZwX3N0YXR1cyB3aXRo Ci0rICAgICAqIHJvdW5kLXRvLW9kZCAtLSBzZWUgYWJvdmUuCi0gICAgICAqLwotLSAgICBmcHN0 X3N0ZCA9ICooZmxvYXRfc3RhdHVzICopdnN0OwotKyAgICBmcHN0X2YxNiA9IGVudi0+dmZwLmZw X3N0YXR1c19mMTY7Ci0rICAgIGZwc3Rfc3RkID0gZW52LT52ZnAuZnBfc3RhdHVzOwotICAgICBz ZXRfZGVmYXVsdF9uYW5fbW9kZSh0cnVlLCAmZnBzdF9zdGQpOwotKyAgICBzZXRfZGVmYXVsdF9u YW5fbW9kZSh0cnVlLCAmZnBzdF9mMTYpOwotICAgICBmcHN0X29kZCA9IGZwc3Rfc3RkOwotICAg ICBzZXRfZmxvYXRfcm91bmRpbmdfbW9kZShmbG9hdF9yb3VuZF90b19vZGQsICZmcHN0X29kZCk7 Ci0gCi1AQCAtMTAzNiw3ICsxMDUwLDggQEAgdm9pZCBIRUxQRVIoc21lX2Ztb3BhX2gpKHZvaWQg KnZ6YSwgdm9pZCAqdnpuLCB2b2lkICp2em0sIHZvaWQgKnZwbiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBtID0gKih1aW50MzJfdCAqKSh2em0gKyBIMV80KGNvbCkpOwotIAot ICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBmMTZtb3BfYWRqX3BhaXIobSwgcGNvbCwgMCk7 Ci0tICAgICAgICAgICAgICAgICAgICAgICAgKmEgPSBmMTZfZG90YWRkKCphLCBuLCBtLCAmZnBz dF9zdGQsICZmcHN0X29kZCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgKmEgPSBmMTZfZG90 YWRkKCphLCBuLCBtLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm ZnBzdF9mMTYsICZmcHN0X3N0ZCwgJmZwc3Rfb2RkKTsKLSAgICAgICAgICAgICAgICAgICAgIH0K LSAgICAgICAgICAgICAgICAgICAgIGNvbCArPSA0OwotICAgICAgICAgICAgICAgICAgICAgcGNv bCA+Pj0gNDsKLWRpZmYgLS1naXQgYS90YXJnZXQvYXJtL3RjZy90cmFuc2xhdGUtc21lLmMgYi90 YXJnZXQvYXJtL3RjZy90cmFuc2xhdGUtc21lLmMKLWluZGV4IGE1MGE0MTlhZjIuLmFlNDJkZGVm N2IgMTAwNjQ0Ci0tLS0gYS90YXJnZXQvYXJtL3RjZy90cmFuc2xhdGUtc21lLmMKLSsrKyBiL3Rh cmdldC9hcm0vdGNnL3RyYW5zbGF0ZS1zbWUuYwotQEAgLTMzNCw4ICszMzQsMjkgQEAgc3RhdGlj IGJvb2wgZG9fb3V0cHJvZF9mcHN0KERpc2FzQ29udGV4dCAqcywgYXJnX29wICphLCBNZW1PcCBl c3osCi0gICAgIHJldHVybiB0cnVlOwotIH0KLSAKLS1UUkFOU19GRUFUKEZNT1BBX2gsIGFhNjRf c21lLCBkb19vdXRwcm9kX2Zwc3QsIGEsCi0tICAgICAgICAgICBNT18zMiwgRlBTVF9GUENSX0Yx NiwgZ2VuX2hlbHBlcl9zbWVfZm1vcGFfaCkKLStzdGF0aWMgYm9vbCBkb19vdXRwcm9kX2VudihE aXNhc0NvbnRleHQgKnMsIGFyZ19vcCAqYSwgTWVtT3AgZXN6LAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdlbl9oZWxwZXJfZ3ZlY181X3B0ciAqZm4pCi0rewotKyAgICBpbnQgc3ZsID0g c3RyZWFtaW5nX3ZlY19yZWdfc2l6ZShzKTsKLSsgICAgdWludDMyX3QgZGVzYyA9IHNpbWRfZGVz YyhzdmwsIHN2bCwgYS0+c3ViKTsKLSsgICAgVENHdl9wdHIgemEsIHpuLCB6bSwgcG4sIHBtOwot KwotKyAgICBpZiAoIXNtZV9zbXphX2VuYWJsZWRfY2hlY2socykpIHsKLSsgICAgICAgIHJldHVy biB0cnVlOwotKyAgICB9Ci0rCi0rICAgIHphID0gZ2V0X3RpbGUocywgZXN6LCBhLT56YWQpOwot KyAgICB6biA9IHZlY19mdWxsX3JlZ19wdHIocywgYS0+em4pOwotKyAgICB6bSA9IHZlY19mdWxs X3JlZ19wdHIocywgYS0+em0pOwotKyAgICBwbiA9IHByZWRfZnVsbF9yZWdfcHRyKHMsIGEtPnBu KTsKLSsgICAgcG0gPSBwcmVkX2Z1bGxfcmVnX3B0cihzLCBhLT5wbSk7Ci0rCi0rICAgIGZuKHph LCB6biwgem0sIHBuLCBwbSwgdGNnX2VudiwgdGNnX2NvbnN0YW50X2kzMihkZXNjKSk7Ci0rICAg IHJldHVybiB0cnVlOwotK30KLSsKLStUUkFOU19GRUFUKEZNT1BBX2gsIGFhNjRfc21lLCBkb19v dXRwcm9kX2VudiwgYSwKLSsgICAgICAgICAgIE1PXzMyLCBnZW5faGVscGVyX3NtZV9mbW9wYV9o KQotIFRSQU5TX0ZFQVQoRk1PUEFfcywgYWE2NF9zbWUsIGRvX291dHByb2RfZnBzdCwgYSwKLSAg ICAgICAgICAgIE1PXzMyLCBGUFNUX0ZQQ1IsIGdlbl9oZWxwZXJfc21lX2Ztb3BhX3MpCi0gVFJB TlNfRkVBVChGTU9QQV9kLCBhYTY0X3NtZV9mNjRmNjQsIGRvX291dHByb2RfZnBzdCwgYSwKZGlm ZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMjctaW50ZWxfaW9tbXUtZml4LUZSQ0Qt Y29uc3RydWN0aW9uLW1hY3JvLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAyNy1pbnRl bF9pb21tdS1maXgtRlJDRC1jb25zdHJ1Y3Rpb24tbWFjcm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IGIxMGNmZjcuLjAwMDAwMDAKLS0tIGEvZGViaWFuL3BhdGNoZXMvZXh0 cmEvMDAyNy1pbnRlbF9pb21tdS1maXgtRlJDRC1jb25zdHJ1Y3Rpb24tbWFjcm8ucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04 P3E/Q2w9QzM9QTltZW50PTIwTWF0aGlldS0tRHJpZj89Ci0gPGNsZW1lbnQubWF0aGlldS0tZHJp ZkBldmlkZW4uY29tPgotRGF0ZTogVHVlLCA5IEp1bCAyMDI0IDE0OjI2OjA4ICswMDAwCi1TdWJq ZWN0OiBbUEFUQ0hdIGludGVsX2lvbW11OiBmaXggRlJDRCBjb25zdHJ1Y3Rpb24gbWFjcm8KLU1J TUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK LUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVGhlIGNvbnN0YW50IG11c3QgYmUg dW5zaWduZWQsIG90aGVyd2lzZSB0aGUgdHdvJ3MgY29tcGxlbWVudAotb3ZlcnJpZGVzIHRoZSBv dGhlciBmaWVsZHMgd2hlbiBhIFBBU0lEIGlzIHByZXNlbnQuCi0KLUZpeGVzOiAxYjJiMTIzNzZj OGEgKCJpbnRlbC1pb21tdTogUEFTSUQgc3VwcG9ydCIpCi1TaWduZWQtb2ZmLWJ5OiBDbMOpbWVu dCBNYXRoaWV1LS1EcmlmIDxjbGVtZW50Lm1hdGhpZXUtLWRyaWZAZXZpZGVuLmNvbT4KLVJldmll d2VkLWJ5OiBZaSBMaXUgPHlpLmwubGl1QGludGVsLmNvbT4KLVJldmlld2VkLWJ5OiBaaGVuemhv bmcgRHVhbiA8emhlbnpob25nLmR1YW5AaW50ZWwuY29tPgotUmV2aWV3ZWQtYnk6IE1pbndvbyBJ bSA8bWlud29vLmltQHNhbXN1bmcuY29tPgotTWVzc2FnZS1JZDogPDIwMjQwNzA5MTQyNTU3LjMx NzI3MS0yLWNsZW1lbnQubWF0aGlldS0tZHJpZkBldmlkZW4uY29tPgotUmV2aWV3ZWQtYnk6IE1p Y2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNaWNoYWVs IFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg YTNjOGQ3ZTM4NTUwYzNkNWE0NmU2ZmE5NGZmYWRmYTYyNWE0ODYxZCkKLVNpZ25lZC1vZmYtYnk6 IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gaHcvaTM4Ni9pbnRlbF9p b21tdV9pbnRlcm5hbC5oIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaHcvaTM4Ni9pbnRlbF9pb21tdV9pbnRlcm5h bC5oIGIvaHcvaTM4Ni9pbnRlbF9pb21tdV9pbnRlcm5hbC5oCi1pbmRleCBmOGNmOTliZGRmLi5j YmM0MDMwMDMxIDEwMDY0NAotLS0tIGEvaHcvaTM4Ni9pbnRlbF9pb21tdV9pbnRlcm5hbC5oCi0r KysgYi9ody9pMzg2L2ludGVsX2lvbW11X2ludGVybmFsLmgKLUBAIC0yNjcsNyArMjY3LDcgQEAK LSAvKiBGb3IgdGhlIGxvdyA2NC1iaXQgb2YgMTI4LWJpdCAqLwotICNkZWZpbmUgVlREX0ZSQ0Rf RkkodmFsKSAgICAgICAgKCh2YWwpICYgfjB4ZmZmVUxMKQotICNkZWZpbmUgVlREX0ZSQ0RfUFYo dmFsKSAgICAgICAgKCgodmFsKSAmIDB4ZmZmZlVMTCkgPDwgNDApCi0tI2RlZmluZSBWVERfRlJD RF9QUCh2YWwpICAgICAgICAoKCh2YWwpICYgMHgxKSA8PCAzMSkKLSsjZGVmaW5lIFZURF9GUkNE X1BQKHZhbCkgICAgICAgICgoKHZhbCkgJiAweDFVTEwpIDw8IDMxKQotICNkZWZpbmUgVlREX0ZS Q0RfSVJfSURYKHZhbCkgICAgKCgodmFsKSAmIDB4ZmZmZlVMTCkgPDwgNDgpCi0gCi0gLyogRE1B IFJlbWFwcGluZyBGYXVsdCBDb25kaXRpb25zICovCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hl cy9leHRyYS8wMDI4LXRhcmdldC1pMzg2LURvLW5vdC1hcHBseS1SRVgtdG8tTU1YLW9wZXJhbmRz LnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAyOC10YXJnZXQtaTM4Ni1Eby1ub3QtYXBw bHktUkVYLXRvLU1NWC1vcGVyYW5kcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDRjZTkzYi4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDI4LXRhcmdl dC1pMzg2LURvLW5vdC1hcHBseS1SRVgtdG8tTU1YLW9wZXJhbmRzLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUmljaGFyZCBIZW5kZXJz b24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+Ci1EYXRlOiBNb24sIDEyIEF1ZyAyMDI0 IDEyOjU4OjQyICsxMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHRhcmdldC9pMzg2OiBEbyBub3QgYXBw bHkgUkVYIHRvIE1NWCBvcGVyYW5kcwotCi1DYzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotRml4 ZXM6IGIzZTIyYjIzMThhICgidGFyZ2V0L2kzODY6IGFkZCBjb3JlIG9mIG5ldyBpMzg2IGRlY29k ZXIiKQotUmVzb2x2ZXM6IGh0dHBzOi8vZ2l0bGFiLmNvbS9xZW11LXByb2plY3QvcWVtdS8tL2lz c3Vlcy8yNDk1Ci1TaWduZWQtb2ZmLWJ5OiBSaWNoYXJkIEhlbmRlcnNvbiA8cmljaGFyZC5oZW5k ZXJzb25AbGluYXJvLm9yZz4KLUxpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyNDA4 MTIwMjU4NDQuNTg5NTYtMi1yaWNoYXJkLmhlbmRlcnNvbkBsaW5hcm8ub3JnCi1TaWduZWQtb2Zm LWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgNDE2ZjJiMTZjMDJjNjE4YzBmMjMzMzcyZWJmZTM0M2Y5ZWU2NjdkNCkKLVNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gdGFy Z2V0L2kzODYvdGNnL2RlY29kZS1uZXcuYy5pbmMgfCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGFyZ2V0L2kz ODYvdGNnL2RlY29kZS1uZXcuYy5pbmMgYi90YXJnZXQvaTM4Ni90Y2cvZGVjb2RlLW5ldy5jLmlu YwotaW5kZXggNDIwOWQ1OWNhOC4uMDliOGQyMzE0YSAxMDA2NDQKLS0tLSBhL3RhcmdldC9pMzg2 L3RjZy9kZWNvZGUtbmV3LmMuaW5jCi0rKysgYi90YXJnZXQvaTM4Ni90Y2cvZGVjb2RlLW5ldy5j LmluYwotQEAgLTEyNzEsNyArMTI3MSwxMCBAQCBzdGF0aWMgYm9vbCBkZWNvZGVfb3AoRGlzYXND b250ZXh0ICpzLCBDUFVYODZTdGF0ZSAqZW52LCBYODZEZWNvZGVkSW5zbiAqZGVjb2RlLAotICAg ICAgICAgICAgIG9wLT51bml0ID0gWDg2X09QX1NTRTsKLSAgICAgICAgIH0KLSAgICAgZ2V0X3Jl ZzoKLS0gICAgICAgIG9wLT5uID0gKChnZXRfbW9kcm0ocywgZW52KSA+PiAzKSAmIDcpIHwgUkVY X1Iocyk7Ci0rICAgICAgICBvcC0+biA9ICgoZ2V0X21vZHJtKHMsIGVudikgPj4gMykgJiA3KTsK LSsgICAgICAgIGlmIChvcC0+dW5pdCAhPSBYODZfT1BfTU1YKSB7Ci0rICAgICAgICAgICAgb3At Pm4gfD0gUkVYX1Iocyk7Ci0rICAgICAgICB9Ci0gICAgICAgICBicmVhazsKLSAKLSAgICAgY2Fz ZSBYODZfVFlQRV9FOiAgLyogQUxVIG1vZHJtIG9wZXJhbmQgKi8KZGlmZiAtLWdpdCBhL2RlYmlh bi9wYXRjaGVzL2V4dHJhLzAwMjktbW9kdWxlLVByZXZlbnQtY3Jhc2gtYnktcmVzZXR0aW5nLWxv Y2FsX2Vyci1pbi1tb2R1bC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMjktbW9kdWxl LVByZXZlbnQtY3Jhc2gtYnktcmVzZXR0aW5nLWxvY2FsX2Vyci1pbi1tb2R1bC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmNhODYxMi4uMDAwMDAwMAotLS0gYS9kZWJpYW4v cGF0Y2hlcy9leHRyYS8wMDI5LW1vZHVsZS1QcmV2ZW50LWNyYXNoLWJ5LXJlc2V0dGluZy1sb2Nh bF9lcnItaW4tbW9kdWwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9t IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgSXZhbm92IDxhbGV4YW5kZXIuaXZhbm92QHZpcnR1 b3p6by5jb20+Ci1EYXRlOiBGcmksIDkgQXVnIDIwMjQgMTQ6MTM6NDAgKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSF0gbW9kdWxlOiBQcmV2ZW50IGNyYXNoIGJ5IHJlc2V0dGluZyBsb2NhbF9lcnIgaW4K LSBtb2R1bGVfbG9hZF9xb21fYWxsKCkKLQotU2V0IGxvY2FsX2VyciB0byBOVUxMIGFmdGVyIGl0 IGhhcyBiZWVuIGZyZWVkIGluIGVycm9yX3JlcG9ydF9lcnIoKS4gVGhpcwotYXZvaWRzIHRyaWdn ZXJpbmcgYXNzZXJ0KCplcnJwID09IE5VTEwpIGZhaWx1cmUgaW4gZXJyb3Jfc2V0digpIHdoZW4K LWxvY2FsX2VyciBpcyByZXVzZWQgaW4gdGhlIGxvb3AuCi0KLVNpZ25lZC1vZmYtYnk6IEFsZXhh bmRlciBJdmFub3YgPGFsZXhhbmRlci5pdmFub3ZAdmlydHVvenpvLmNvbT4KLVJldmlld2VkLWJ5 OiBDbGF1ZGlvIEZvbnRhbmEgPGNmb250YW5hQHN1c2UuZGU+Ci1SZXZpZXdlZC1ieTogRGVuaXMg Vi4gTHVuZXYgPGRlbkBvcGVudnoub3JnPgotTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv ci8yMDI0MDgwOTEyMTM0MC45OTIwNDktMi1hbGV4YW5kZXIuaXZhbm92QHZpcnR1b3p6by5jb20K LVtEbyB0aGUgc2FtZSBieSBtb3ZpbmcgdGhlIGRlY2xhcmF0aW9uIGluc3RlYWQuIC0gUGFvbG9d Ci1DYzogcWVtdS1zdGFibGVAbm9uZ251Lm9yZwotU2lnbmVkLW9mZi1ieTogUGFvbG8gQm9uemlu aSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDk0MGQ4 MDJiMjRlNjM2NTBlMGVhY2FkMzcxNGUyY2UxNzFjYmExN2MpCi1TaWduZWQtb2ZmLWJ5OiBGaW9u YSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KLS0tLQotIHV0aWwvbW9kdWxlLmMgfCAyICst Ci0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYg LS1naXQgYS91dGlsL21vZHVsZS5jIGIvdXRpbC9tb2R1bGUuYwotaW5kZXggMzJlMjYzMTYzYy4u M2ViMGYwNmRmMSAxMDA2NDQKLS0tLSBhL3V0aWwvbW9kdWxlLmMKLSsrKyBiL3V0aWwvbW9kdWxl LmMKLUBAIC0zNTQsMTMgKzM1NCwxMyBAQCBpbnQgbW9kdWxlX2xvYWRfcW9tKGNvbnN0IGNoYXIg KnR5cGUsIEVycm9yICoqZXJycCkKLSB2b2lkIG1vZHVsZV9sb2FkX3FvbV9hbGwodm9pZCkKLSB7 Ci0gICAgIGNvbnN0IFFlbXVNb2RpbmZvICptb2RpbmZvOwotLSAgICBFcnJvciAqbG9jYWxfZXJy ID0gTlVMTDsKLSAKLSAgICAgaWYgKG1vZHVsZV9sb2FkZWRfcW9tX2FsbCkgewotICAgICAgICAg cmV0dXJuOwotICAgICB9Ci0gCi0gICAgIGZvciAobW9kaW5mbyA9IG1vZHVsZV9pbmZvOyBtb2Rp bmZvLT5uYW1lICE9IE5VTEw7IG1vZGluZm8rKykgewotKyAgICAgICAgRXJyb3IgKmxvY2FsX2Vy ciA9IE5VTEw7Ci0gICAgICAgICBpZiAoIW1vZGluZm8tPm9ianMpIHsKLSAgICAgICAgICAgICBj b250aW51ZTsKLSAgICAgICAgIH0KZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAw MzAtbmJkLXNlcnZlci1QbHVtYi1pbi1uZXctYXJncy10by1uYmRfY2xpZW50X2FkZC5wYXRjaCBi L2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMzAtbmJkLXNlcnZlci1QbHVtYi1pbi1uZXctYXJncy10 by1uYmRfY2xpZW50X2FkZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTdl YjQxOC4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDMwLW5iZC1zZXJ2ZXIt UGx1bWItaW4tbmV3LWFyZ3MtdG8tbmJkX2NsaWVudF9hZGQucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxNjQgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRXJpYyBCbGFrZSA8ZWJsYWtl QHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDcgQXVnIDIwMjQgMDg6NTA6MDEgLTA1MDAKLVN1Ympl Y3Q6IFtQQVRDSF0gbmJkL3NlcnZlcjogUGx1bWIgaW4gbmV3IGFyZ3MgdG8gbmJkX2NsaWVudF9h ZGQoKQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcGNvbWluZyBwYXRj aGVzIHRvIGZpeCBhIENWRSBuZWVkIHRvIHRyYWNrIGFuIG9wYXF1ZSBwb2ludGVyIHBhc3NlZAot aW4gYnkgdGhlIG93bmVyIG9mIGEgY2xpZW50IG9iamVjdCwgYXMgd2VsbCBhcyByZXF1ZXN0IGZv ciBhIHRpbWUKLWxpbWl0IG9uIGhvdyBmYXN0IG5lZ290aWF0aW9uIG11c3QgY29tcGxldGUuICBQ cmVwYXJlIGZvciB0aGF0IGJ5Ci1jaGFuZ2luZyB0aGUgc2lnbmF0dXJlIG9mIG5iZF9jbGllbnRf bmV3KCkgYW5kIGFkZGluZyBhbiBhY2Nlc3NvciB0bwotZ2V0IGF0IHRoZSBvcGFxdWUgcG9pbnRl ciwgYWx0aG91Z2ggZm9yIG5vdyB0aGUgdHdvIHNlcnZlcnMKLShxZW11LW5iZC5jIGFuZCBibG9j a2Rldi1uYmQuYykgZG8gbm90IGNoYW5nZSBiZWhhdmlvciBldmVuIHRob3VnaAotdGhleSBwYXNz IGluIGEgbmV3IGRlZmF1bHQgdGltZW91dCB2YWx1ZS4KLQotU3VnZ2VzdGVkLWJ5OiBWbGFkaW1p ciBTZW1lbnRzb3YtT2dpZXZza2l5IDx2c2VtZW50c292QHlhbmRleC10ZWFtLnJ1PgotU2lnbmVk LW9mZi1ieTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+Ci1NZXNzYWdlLUlEOiA8MjAy NDA4MDcxNzQ5NDMuNzcxNjI0LTExLWVibGFrZUByZWRoYXQuY29tPgotUmV2aWV3ZWQtYnk6IERh bmllbCBQLiBCZXJyYW5nw6kgPGJlcnJhbmdlQHJlZGhhdC5jb20+Ci1bZWJsYWtlOiBzL0xJTUlU L01BWF9TRUNTLyBhcyBzdWdnZXN0ZWQgYnkgRGFuXQotU2lnbmVkLW9mZi1ieTogRXJpYyBCbGFr ZSA8ZWJsYWtlQHJlZGhhdC5jb20+Ci0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBmYjFjMmFh YTk4MWUwYTJmYTYzNjJjOTk4NWYxMjk2Yjc0ZjA1NWFjKQotU2lnbmVkLW9mZi1ieTogRmlvbmEg RWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci0tLS0KLSBibG9ja2Rldi1uYmQuYyAgICAgIHwg IDYgKysrKy0tCi0gaW5jbHVkZS9ibG9jay9uYmQuaCB8IDExICsrKysrKysrKystCi0gbmJkL3Nl cnZlci5jICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrLS0tCi0gcWVtdS1uYmQuYyAgICAg ICAgICB8ICA0ICsrKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDcgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ibG9ja2Rldi1uYmQuYyBiL2Jsb2NrZGV2LW5iZC5j Ci1pbmRleCAyMTMwMTI0MzVmLi4yNjdhMWRlOTAzIDEwMDY0NAotLS0tIGEvYmxvY2tkZXYtbmJk LmMKLSsrKyBiL2Jsb2NrZGV2LW5iZC5jCi1AQCAtNjQsOCArNjQsMTAgQEAgc3RhdGljIHZvaWQg bmJkX2FjY2VwdChRSU9OZXRMaXN0ZW5lciAqbGlzdGVuZXIsIFFJT0NoYW5uZWxTb2NrZXQgKmNp b2MsCi0gICAgIG5iZF91cGRhdGVfc2VydmVyX3dhdGNoKG5iZF9zZXJ2ZXIpOwotIAotICAgICBx aW9fY2hhbm5lbF9zZXRfbmFtZShRSU9fQ0hBTk5FTChjaW9jKSwgIm5iZC1zZXJ2ZXIiKTsKLS0g ICAgbmJkX2NsaWVudF9uZXcoY2lvYywgbmJkX3NlcnZlci0+dGxzY3JlZHMsIG5iZF9zZXJ2ZXIt PnRsc2F1dGh6LAotLSAgICAgICAgICAgICAgICAgICBuYmRfYmxvY2tkZXZfY2xpZW50X2Nsb3Nl ZCk7Ci0rICAgIC8qIFRPRE8gLSBleHBvc2UgaGFuZHNoYWtlIHRpbWVvdXQgYXMgUU1QIG9wdGlv biAqLwotKyAgICBuYmRfY2xpZW50X25ldyhjaW9jLCBOQkRfREVGQVVMVF9IQU5EU0hBS0VfTUFY X1NFQ1MsCi0rICAgICAgICAgICAgICAgICAgIG5iZF9zZXJ2ZXItPnRsc2NyZWRzLCBuYmRfc2Vy dmVyLT50bHNhdXRoeiwKLSsgICAgICAgICAgICAgICAgICAgbmJkX2Jsb2NrZGV2X2NsaWVudF9j bG9zZWQsIE5VTEwpOwotIH0KLSAKLSBzdGF0aWMgdm9pZCBuYmRfdXBkYXRlX3NlcnZlcl93YXRj aChOQkRTZXJ2ZXJEYXRhICpzKQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvYmxvY2svbmJkLmggYi9p bmNsdWRlL2Jsb2NrL25iZC5oCi1pbmRleCA0ZTdiZDYzNDJmLi4xZDRkNjU5MjJkIDEwMDY0NAot LS0tIGEvaW5jbHVkZS9ibG9jay9uYmQuaAotKysrIGIvaW5jbHVkZS9ibG9jay9uYmQuaAotQEAg LTMzLDYgKzMzLDEyIEBAIHR5cGVkZWYgc3RydWN0IE5CRE1ldGFDb250ZXh0cyBOQkRNZXRhQ29u dGV4dHM7Ci0gCi0gZXh0ZXJuIGNvbnN0IEJsb2NrRXhwb3J0RHJpdmVyIGJsa19leHBfbmJkOwot IAotKy8qCi0rICogTkJEX0RFRkFVTFRfSEFORFNIQUtFX01BWF9TRUNTOiBOdW1iZXIgb2Ygc2Vj b25kcyBpbiB3aGljaCBjbGllbnQgbXVzdAotKyAqIHN1Y2NlZWQgYXQgTkJEX09QVF9HTyBiZWZv cmUgYmVpbmcgZm9yY2VmdWxseSBkcm9wcGVkIGFzIHRvbyBzbG93LgotKyAqLwotKyNkZWZpbmUg TkJEX0RFRkFVTFRfSEFORFNIQUtFX01BWF9TRUNTIDEwCi0rCi0gLyogSGFuZHNoYWtlIHBoYXNl IHN0cnVjdHMgLSB0aGlzIHN0cnVjdCBpcyBwYXNzZWQgb24gdGhlIHdpcmUgKi8KLSAKLSB0eXBl ZGVmIHN0cnVjdCBOQkRPcHRpb24gewotQEAgLTQwMyw5ICs0MDksMTIgQEAgQWlvQ29udGV4dCAq bmJkX2V4cG9ydF9haW9fY29udGV4dChOQkRFeHBvcnQgKmV4cCk7Ci0gTkJERXhwb3J0ICpuYmRf ZXhwb3J0X2ZpbmQoY29uc3QgY2hhciAqbmFtZSk7Ci0gCi0gdm9pZCBuYmRfY2xpZW50X25ldyhR SU9DaGFubmVsU29ja2V0ICpzaW9jLAotKyAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaGFu ZHNoYWtlX21heF9zZWNzLAotICAgICAgICAgICAgICAgICAgICAgUUNyeXB0b1RMU0NyZWRzICp0 bHNjcmVkcywKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRsc2F1dGh6LAotLSAg ICAgICAgICAgICAgICAgICAgdm9pZCAoKmNsb3NlX2ZuKShOQkRDbGllbnQgKiwgYm9vbCkpOwot KyAgICAgICAgICAgICAgICAgICAgdm9pZCAoKmNsb3NlX2ZuKShOQkRDbGllbnQgKiwgYm9vbCks Ci0rICAgICAgICAgICAgICAgICAgICB2b2lkICpvd25lcik7Ci0rdm9pZCAqbmJkX2NsaWVudF9v d25lcihOQkRDbGllbnQgKmNsaWVudCk7Ci0gdm9pZCBuYmRfY2xpZW50X2dldChOQkRDbGllbnQg KmNsaWVudCk7Ci0gdm9pZCBuYmRfY2xpZW50X3B1dChOQkRDbGllbnQgKmNsaWVudCk7Ci0gCi1k aWZmIC0tZ2l0IGEvbmJkL3NlcnZlci5jIGIvbmJkL3NlcnZlci5jCi1pbmRleCA4OTI3OTdiYjEx Li5lNTAwMTI0OTlmIDEwMDY0NAotLS0tIGEvbmJkL3NlcnZlci5jCi0rKysgYi9uYmQvc2VydmVy LmMKLUBAIC0xMjQsMTIgKzEyNCwxNCBAQCBzdHJ1Y3QgTkJETWV0YUNvbnRleHRzIHsKLSBzdHJ1 Y3QgTkJEQ2xpZW50IHsKLSAgICAgaW50IHJlZmNvdW50OyAvKiBhdG9taWMgKi8KLSAgICAgdm9p ZCAoKmNsb3NlX2ZuKShOQkRDbGllbnQgKmNsaWVudCwgYm9vbCBuZWdvdGlhdGVkKTsKLSsgICAg dm9pZCAqb3duZXI7Ci0gCi0gICAgIFFlbXVNdXRleCBsb2NrOwotIAotICAgICBOQkRFeHBvcnQg KmV4cDsKLSAgICAgUUNyeXB0b1RMU0NyZWRzICp0bHNjcmVkczsKLSAgICAgY2hhciAqdGxzYXV0 aHo7Ci0rICAgIHVpbnQzMl90IGhhbmRzaGFrZV9tYXhfc2VjczsKLSAgICAgUUlPQ2hhbm5lbFNv Y2tldCAqc2lvYzsgLyogVGhlIHVuZGVybHlpbmcgZGF0YSBjaGFubmVsICovCi0gICAgIFFJT0No YW5uZWwgKmlvYzsgLyogVGhlIGN1cnJlbnQgSS9PIGNoYW5uZWwgd2hpY2ggbWF5IGRpZmZlciAo ZWcgVExTKSAqLwotIAotQEAgLTMxOTEsNiArMzE5Myw3IEBAIHN0YXRpYyBjb3JvdXRpbmVfZm4g dm9pZCBuYmRfY29fY2xpZW50X3N0YXJ0KHZvaWQgKm9wYXF1ZSkKLSAKLSAgICAgcWVtdV9jb19t dXRleF9pbml0KCZjbGllbnQtPnNlbmRfbG9jayk7Ci0gCi0rICAgIC8qIFRPRE8gLSB1dGlsaXpl IGNsaWVudC0+aGFuZHNoYWtlX21heF9zZWNzICovCi0gICAgIGlmIChuYmRfbmVnb3RpYXRlKGNs aWVudCwgJmxvY2FsX2VycikpIHsKLSAgICAgICAgIGlmIChsb2NhbF9lcnIpIHsKLSAgICAgICAg ICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7Ci1AQCAtMzIwNSwxNCArMzIwOCwxNyBA QCBzdGF0aWMgY29yb3V0aW5lX2ZuIHZvaWQgbmJkX2NvX2NsaWVudF9zdGFydCh2b2lkICpvcGFx dWUpCi0gfQotIAotIC8qCi0tICogQ3JlYXRlIGEgbmV3IGNsaWVudCBsaXN0ZW5lciB1c2luZyB0 aGUgZ2l2ZW4gY2hhbm5lbCBAc2lvYy4KLSsgKiBDcmVhdGUgYSBuZXcgY2xpZW50IGxpc3RlbmVy IHVzaW5nIHRoZSBnaXZlbiBjaGFubmVsIEBzaW9jIGFuZCBAb3duZXIuCi0gICogQmVnaW4gc2Vy dmljaW5nIGl0IGluIGEgY29yb3V0aW5lLiAgV2hlbiB0aGUgY29ubmVjdGlvbiBjbG9zZXMsIGNh bGwKLS0gKiBAY2xvc2VfZm4gd2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgdGhlIGNsaWVu dCBjb21wbGV0ZWQgbmVnb3RpYXRpb24uCi0rICogQGNsb3NlX2ZuIHdpdGggYW4gaW5kaWNhdGlv biBvZiB3aGV0aGVyIHRoZSBjbGllbnQgY29tcGxldGVkIG5lZ290aWF0aW9uCi0rICogd2l0aGlu IEBoYW5kc2hha2VfbWF4X3NlY3Mgc2Vjb25kcyAoMCBmb3IgdW5ib3VuZGVkKS4KLSAgKi8KLSB2 b2lkIG5iZF9jbGllbnRfbmV3KFFJT0NoYW5uZWxTb2NrZXQgKnNpb2MsCi0rICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBoYW5kc2hha2VfbWF4X3NlY3MsCi0gICAgICAgICAgICAgICAgICAg ICBRQ3J5cHRvVExTQ3JlZHMgKnRsc2NyZWRzLAotICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Y2hhciAqdGxzYXV0aHosCi0tICAgICAgICAgICAgICAgICAgICB2b2lkICgqY2xvc2VfZm4pKE5C RENsaWVudCAqLCBib29sKSkKLSsgICAgICAgICAgICAgICAgICAgIHZvaWQgKCpjbG9zZV9mbiko TkJEQ2xpZW50ICosIGJvb2wpLAotKyAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3duZXIpCi0g ewotICAgICBOQkRDbGllbnQgKmNsaWVudDsKLSAgICAgQ29yb3V0aW5lICpjbzsKLUBAIC0zMjI1 LDEzICszMjMxLDIxIEBAIHZvaWQgbmJkX2NsaWVudF9uZXcoUUlPQ2hhbm5lbFNvY2tldCAqc2lv YywKLSAgICAgICAgIG9iamVjdF9yZWYoT0JKRUNUKGNsaWVudC0+dGxzY3JlZHMpKTsKLSAgICAg fQotICAgICBjbGllbnQtPnRsc2F1dGh6ID0gZ19zdHJkdXAodGxzYXV0aHopOwotKyAgICBjbGll bnQtPmhhbmRzaGFrZV9tYXhfc2VjcyA9IGhhbmRzaGFrZV9tYXhfc2VjczsKLSAgICAgY2xpZW50 LT5zaW9jID0gc2lvYzsKLSAgICAgcWlvX2NoYW5uZWxfc2V0X2RlbGF5KFFJT19DSEFOTkVMKHNp b2MpLCBmYWxzZSk7Ci0gICAgIG9iamVjdF9yZWYoT0JKRUNUKGNsaWVudC0+c2lvYykpOwotICAg ICBjbGllbnQtPmlvYyA9IFFJT19DSEFOTkVMKHNpb2MpOwotICAgICBvYmplY3RfcmVmKE9CSkVD VChjbGllbnQtPmlvYykpOwotICAgICBjbGllbnQtPmNsb3NlX2ZuID0gY2xvc2VfZm47Ci0rICAg IGNsaWVudC0+b3duZXIgPSBvd25lcjsKLSAKLSAgICAgY28gPSBxZW11X2Nvcm91dGluZV9jcmVh dGUobmJkX2NvX2NsaWVudF9zdGFydCwgY2xpZW50KTsKLSAgICAgcWVtdV9jb3JvdXRpbmVfZW50 ZXIoY28pOwotIH0KLSsKLSt2b2lkICoKLStuYmRfY2xpZW50X293bmVyKE5CRENsaWVudCAqY2xp ZW50KQotK3sKLSsgICAgcmV0dXJuIGNsaWVudC0+b3duZXI7Ci0rfQotZGlmZiAtLWdpdCBhL3Fl bXUtbmJkLmMgYi9xZW11LW5iZC5jCi1pbmRleCBkN2IzY2NhYjIxLi40OGUyZmE1ODU4IDEwMDY0 NAotLS0tIGEvcWVtdS1uYmQuYwotKysrIGIvcWVtdS1uYmQuYwotQEAgLTM5MCw3ICszOTAsOSBA QCBzdGF0aWMgdm9pZCBuYmRfYWNjZXB0KFFJT05ldExpc3RlbmVyICpsaXN0ZW5lciwgUUlPQ2hh bm5lbFNvY2tldCAqY2lvYywKLSAKLSAgICAgbmJfZmRzKys7Ci0gICAgIG5iZF91cGRhdGVfc2Vy dmVyX3dhdGNoKCk7Ci0tICAgIG5iZF9jbGllbnRfbmV3KGNpb2MsIHRsc2NyZWRzLCB0bHNhdXRo eiwgbmJkX2NsaWVudF9jbG9zZWQpOwotKyAgICAvKiBUT0RPIC0gZXhwb3NlIGhhbmRzaGFrZSB0 aW1lb3V0IGFzIGNvbW1hbmQgbGluZSBvcHRpb24gKi8KLSsgICAgbmJkX2NsaWVudF9uZXcoY2lv YywgTkJEX0RFRkFVTFRfSEFORFNIQUtFX01BWF9TRUNTLAotKyAgICAgICAgICAgICAgICAgICB0 bHNjcmVkcywgdGxzYXV0aHosIG5iZF9jbGllbnRfY2xvc2VkLCBOVUxMKTsKLSB9Ci0gCi0gc3Rh dGljIHZvaWQgbmJkX3VwZGF0ZV9zZXJ2ZXJfd2F0Y2godm9pZCkKZGlmZiAtLWdpdCBhL2RlYmlh bi9wYXRjaGVzL2V4dHJhLzAwMzEtbmJkLXNlcnZlci1DVkUtMjAyNC03NDA5LUNhcC1kZWZhdWx0 LW1heC1jb25uZWN0aW9ucy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMzEtbmJkLXNl cnZlci1DVkUtMjAyNC03NDA5LUNhcC1kZWZhdWx0LW1heC1jb25uZWN0aW9ucy5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWY4MDRmOS4uMDAwMDAwMAotLS0gYS9kZWJpYW4v cGF0Y2hlcy9leHRyYS8wMDMxLW5iZC1zZXJ2ZXItQ1ZFLTIwMjQtNzQwOS1DYXAtZGVmYXVsdC1t YXgtY29ubmVjdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNzIgKzAsMCBAQAotRnJv bSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+Ci1EYXRlOiBU dWUsIDYgQXVnIDIwMjQgMTM6NTM6MDAgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmJkL3NlcnZl cjogQ1ZFLTIwMjQtNzQwOTogQ2FwIGRlZmF1bHQgbWF4LWNvbm5lY3Rpb25zIHRvIDEwMAotTUlN RS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAot Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1BbGxvd2luZyBhbiB1bmxpbWl0ZWQg bnVtYmVyIG9mIGNsaWVudHMgdG8gYW55IHdlYiBzZXJ2aWNlIGlzIGEgcmVjaXBlCi1mb3IgYSBy dWRpbWVudGFyeSBkZW5pYWwgb2Ygc2VydmljZSBhdHRhY2s6IHRoZSBjbGllbnQgbWVyZWx5IG5l ZWRzIHRvCi1vcGVuIGxvdHMgb2Ygc29ja2V0cyB3aXRob3V0IGNsb3NpbmcgdGhlbSwgdW50aWwg cWVtdSBubyBsb25nZXIgaGFzCi1hbnkgbW9yZSBmZHMgYXZhaWxhYmxlIHRvIGFsbG9jYXRlLgot Ci1Gb3IgcWVtdS1uYmQsIHdlIGRlZmF1bHQgdG8gYWxsb3dpbmcgb25seSAxIGNvbm5lY3Rpb24g dW5sZXNzIG1vcmUgYXJlCi1leHBsaWNpdGx5IGFza2VkIGZvciAoLWUgb3IgLS1zaGFyZWQpOyB0 aGlzIHdhcyBoaXN0b3JpY2FsbHkgcGlja2VkIGFzCi1hIG5pY2UgZGVmYXVsdCAod2l0aG91dCBh biBleHBsaWNpdCAtdCwgYSBub24tcGVyc2lzdGVudCBxZW11LW5iZCBnb2VzCi1hd2F5IGFmdGVy IGEgY2xpZW50IGRpc2Nvbm5lY3RzLCB3aXRob3V0IG5lZWRpbmcgYW55IGFkZGl0aW9uYWwKLWZv bGxvdy11cCBjb21tYW5kcyksIGFuZCB3ZSBhcmUgbm90IGdvaW5nIHRvIGNoYW5nZSB0aGF0IGlu dGVyZmFjZSBub3cKLShiZXNpZGVzLCBzb21lZGF5IHdlIHdhbnQgdG8gcG9pbnQgcGVvcGxlIHRv d2FyZHMgcWVtdS1zdG9yYWdlLWRhZW1vbgotaW5zdGVhZCBvZiBxZW11LW5iZCkuCi0KLUJ1dCBm b3IgcWVtdSBwcm9wZXIsIGFuZCB0aGUgbmV3ZXIgcWVtdS1zdG9yYWdlLWRhZW1vbiwgdGhlIFFN UAotbmJkLXNlcnZlci1zdGFydCBjb21tYW5kIGhhcyBoaXN0b3JpY2FsbHkgaGFkIGEgZGVmYXVs dCBvZiB1bmxpbWl0ZWQKLW51bWJlciBvZiBjb25uZWN0aW9ucywgaW4gcGFydCBiZWNhdXNlIHVu bGlrZSBxZW11LW5iZCBpdCBpcwotaW5oZXJlbnRseSBwZXJzaXN0ZW50IHVudGlsIG5iZC1zZXJ2 ZXItc3RvcC4gIEFsbG93aW5nIG11bHRpcGxlIGNsaWVudAotc29ja2V0cyBpcyBwYXJ0aWN1bGFy bHkgdXNlZnVsIGZvciBjbGllbnRzIHRoYXQgY2FuIHRha2UgYWR2YW50YWdlIG9mCi1NVUxUSV9D T05OIChjcmVhdGluZyBwYXJhbGxlbCBzb2NrZXRzIHRvIGluY3JlYXNlIHRocm91Z2hwdXQpLAot YWx0aG91Z2gga25vd24gY2xpZW50cyB0aGF0IGRvIHNvIChzdWNoIGFzIGxpYm5iZCdzIG5iZGNv cHkpIHR5cGljYWxseQotdXNlIG9ubHkgOCBvciAxNiBjb25uZWN0aW9ucyAodGhlIGJlbmVmaXRz IG9mIHNjYWxpbmcgZGltaW5pc2ggb25jZQotbW9yZSBzb2NrZXRzIGFyZSBjb21wZXRpbmcgZm9y IGtlcm5lbCBhdHRlbnRpb24pLiAgUGlja2luZyBhIG51bWJlcgotbGFyZ2UgZW5vdWdoIGZvciB0 eXBpY2FsIHVzZSBjYXNlcywgYnV0IG5vdCB1bmxpbWl0ZWQsIG1ha2VzIGl0Ci1zbGlnaHRseSBo YXJkZXIgZm9yIGEgbWFsaWNpb3VzIGNsaWVudCB0byBwZXJmb3JtIGEgZGVuaWFsIG9mIHNlcnZp Y2UKLW1lcmVseSBieSBvcGVuaW5nIGxvdHMgb2YgY29ubmVjdGlvbnMgd2l0aG90IHByb2dyZXNz aW5nIHRocm91Z2ggdGhlCi1oYW5kc2hha2UuCi0KLVRoaXMgY2hhbmdlIGRvZXMgbm90IGVsaW1p bmF0ZSBDVkUtMjAyNC03NDA5IG9uIGl0cyBvd24sIGJ1dCByZWR1Y2VzCi10aGUgY2hhbmNlIGZv ciBmZCBleGhhdXN0aW9uIG9yIHVubGltaXRlZCBtZW1vcnkgdXNhZ2UgYXMgYW4gYXR0YWNrCi1z dXJmYWNlLiAgT24gdGhlIG90aGVyIGhhbmQsIGJ5IGl0c2VsZiwgaXQgbWFrZXMgaXQgbW9yZSBv YnZpb3VzIHRoYXQKLXdpdGggYSBmaW5pdGUgbGltaXQsIHdlIGhhdmUgdGhlIHByb2JsZW0gb2Yg YW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudAotaG9sZGluZyAxMDAgZmRzIG9wZW5lZCBhcyBhIHdh eSB0byBibG9jayBvdXQgYSBsZWdpdGltYXRlIGNsaWVudCBmcm9tCi1iZWluZyBhYmxlIHRvIGNv bm5lY3Q7IHRodXMsIGxhdGVyIHBhdGNoZXMgd2lsbCBmdXJ0aGVyIGFkZCB0aW1lb3V0cwotdG8g cmVqZWN0IGNsaWVudHMgdGhhdCBhcmUgbm90IG1ha2luZyBwcm9ncmVzcy4KLQotVGhpcyBpcyBh biBJTlRFTlRJT05BTCBjaGFuZ2UgaW4gYmVoYXZpb3IsIGFuZCB3aWxsIGJyZWFrIGFueSBjbGll bnQKLW9mIG5iZC1zZXJ2ZXItc3RhcnQgdGhhdCB3YXMgbm90IHBhc3NpbmcgYW4gZXhwbGljaXQg bWF4LWNvbm5lY3Rpb25zCi1wYXJhbWV0ZXIsIHlldCBleHBlY3RzIG1vcmUgdGhhbiAxMDAgc2lt dWx0YW5lb3VzIGNvbm5lY3Rpb25zLiAgV2UgYXJlCi1ub3QgYXdhcmUgb2YgYW55IHN1Y2ggY2xp ZW50IChhcyBzdGF0ZWQgYWJvdmUsIG1vc3QgY2xpZW50cyBhd2FyZSBvZgotTVVMVElfQ09OTiBn ZXQgYnkganVzdCBmaW5lIG9uIDggb3IgMTYgY29ubmVjdGlvbnMsIGFuZCBwcm9iYWJseSBjb3Bl Ci13aXRoIGxhdGVyIGNvbm5lY3Rpb25zIGZhaWxpbmcgYnkgcmVseWluZyBvbiB0aGUgZWFybGll ciBjb25uZWN0aW9uczsKLWxpYnZpcnQgaGFzIG5vdCB5ZXQgYmVlbiBwYXNzaW5nIG1heC1jb25u ZWN0aW9ucywgYnV0IGdlbmVyYWxseQotY3JlYXRlcyBOQkQgc2VydmVycyB3aXRoIHRoZSBpbnRl bnQgZm9yIGEgc2luZ2xlIGNsaWVudCBmb3IgdGhlIHNha2UKLW9mIGxpdmUgc3RvcmFnZSBtaWdy YXRpb247IG1lYW53aGlsZSwgdGhlIEt1YmVTQU4gcHJvamVjdCBhbnRpY2lwYXRlcwotYSBsYXJn ZSBjbHVzdGVyIHNoYXJpbmcgbXVsdGlwbGUgY2xpZW50cyBbdXAgdG8gOCBwZXIgbm9kZSwgYW5k IHVwIHRvCi0xMDAgbm9kZXMgaW4gYSBjbHVzdGVyXSwgYnV0IGl0IGN1cnJlbnRseSB1c2VzIHFl bXUtbmJkIHdpdGggYW4KLWV4cGxpY2l0IC0tc2hhcmVkPTAgcmF0aGVyIHRoYW4gcWVtdS1zdG9y YWdlLWRhZW1vbiB3aXRoCi1uYmQtc2VydmVyLXN0YXJ0KS4KLQotV2UgY29uc2lkZXJlZCB1c2lu ZyBhIGRlcHJlY2F0aW9uIHBlcmlvZCAoZGVjbGFyZSB0aGF0IG9taXR0aW5nCi1tYXgtcGFyYW1l dGVycyBpcyBkZXByZWNhdGVkLCBhbmQgbWFrZSBpdCBtYW5kYXRvcnkgaW4gMyByZWxlYXNlcyAt Ci10aGVuIHdlIGRvbid0IG5lZWQgdG8gcGljayBhbiBhcmJpdHJhcnkgZGVmYXVsdCk7IHRoYXQg aGFzIHplcm8gcmlzawotb2YgYnJlYWtpbmcgYW55IGFwcHMgdGhhdCBhY2NpZGVudGFsbHkgZGVw ZW5kZWQgb24gbW9yZSB0aGFuIDEwMAotY29ubmVjdGlvbnMsIGFuZCB3aGVyZSBzdWNoIGJyZWFr YWdlIG1pZ2h0IG5vdCBiZSBub3RpY2VkIHVuZGVyIHVuaXQKLXRlc3RpbmcgYnV0IG9ubHkgdW5k ZXIgdGhlIGxhcmdlciBsb2FkcyBvZiBwcm9kdWN0aW9uIHVzYWdlLiAgQnV0IGl0Ci1kb2VzIG5v dCBjbG9zZSB0aGUgZGVuaWFsLW9mLXNlcnZpY2UgaG9sZSB1bnRpbCBmYXIgaW50byB0aGUgZnV0 dXJlLAotYW5kIHJlcXVpcmVzIGFsbCBhcHBzIHRvIGNoYW5nZSB0byBhZGQgdGhlIHBhcmFtZXRl ciBldmVuIGlmIDEwMCB3YXMKLWdvb2QgZW5vdWdoLiAgSXQgYWxzbyBoYXMgYSBkcmF3YmFjayB0 aGF0IGFueSBhcHAgKGxpa2UgbGlidmlydCkgdGhhdAotaXMgYWNjaWRlbnRhbGx5IHJlbHlpbmcg b24gYW4gdW5saW1pdGVkIGRlZmF1bHQgc2hvdWxkIHNlcmlvdXNseQotY29uc2lkZXIgdGhlaXIg b3duIENWRSBub3csIGF0IHdoaWNoIHBvaW50IHRoZXkgYXJlIGdvaW5nIHRvIGNoYW5nZSB0bwot cGFzcyBleHBsaWNpdCBtYXgtY29ubmVjdGlvbnMgc29vbmVyIHRoYW4gd2FpdGluZyBmb3IgMyBx ZW11IHJlbGVhc2VzLgotRmluYWxseSwgaWYgb3VyIGNoYW5nZWQgZGVmYXVsdCBicmVha3MgYW4g YXBwLCB0aGF0IGFwcCBjYW4gYWx3YXlzCi1wYXNzIGluIGFuIGV4cGxpY2l0IG1heC1wYXJhbWV0 ZXJzIHdpdGggYSBsYXJnZXIgdmFsdWUuCi0KLUl0IGlzIGFsc28gaW50ZW50aW9uYWwgdGhhdCB0 aGUgSE1QIGludGVyZmFjZSB0byBuYmQtc2VydmVyLXN0YXJ0IGlzCi1ub3QgY2hhbmdlZCB0byBl eHBvc2UgbWF4LWNvbm5lY3Rpb25zIChhbnkgY2xpZW50IG5lZWRpbmcgdG8gZmluZS10dW5lCi10 aGluZ3Mgc2hvdWxkIGJlIHVzaW5nIFFNUCkuCi0KLVN1Z2dlc3RlZC1ieTogRGFuaWVsIFAuIEJl cnJhbmfDqSA8YmVycmFuZ2VAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEVyaWMgQmxha2Ug PGVibGFrZUByZWRoYXQuY29tPgotTWVzc2FnZS1JRDogPDIwMjQwODA3MTc0OTQzLjc3MTYyNC0x Mi1lYmxha2VAcmVkaGF0LmNvbT4KLVJldmlld2VkLWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxi ZXJyYW5nZUByZWRoYXQuY29tPgotW2VyaWNiOiBFeHBhbmQgY29tbWl0IG1lc3NhZ2UgdG8gc3Vt bWFyaXplIERhbidzIGFyZ3VtZW50IGZvciB3aHkgd2UKLWJyZWFrIGNvcm5lci1jYXNlIGJhY2st Y29tcGF0IGJlaGF2aW9yIHdpdGhvdXQgYSBkZXByZWNhdGlvbiBwZXJpb2RdCi1TaWduZWQtb2Zm LWJ5OiBFcmljIEJsYWtlIDxlYmxha2VAcmVkaGF0LmNvbT4KLShjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IGM4YTc2ZGJkOTBjMmY0OGRmODliNzViZWY3NDkxN2Y5MGE1OWI2MjMpCi1TaWduZWQt b2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4KLS0tLQotIGJsb2NrL21v bml0b3IvYmxvY2staG1wLWNtZHMuYyB8IDMgKystCi0gYmxvY2tkZXYtbmJkLmMgICAgICAgICAg ICAgICAgIHwgOCArKysrKysrKwotIGluY2x1ZGUvYmxvY2svbmJkLmggICAgICAgICAgICB8IDcg KysrKysrKwotIHFhcGkvYmxvY2stZXhwb3J0Lmpzb24gICAgICAgICB8IDQgKystLQotIDQgZmls ZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBhL2Jsb2NrL21vbml0b3IvYmxvY2staG1wLWNtZHMuYyBiL2Jsb2NrL21vbml0b3IvYmxvY2st aG1wLWNtZHMuYwotaW5kZXggZDk1NGJlYzZmMS4uYmRmMmViNTBiNiAxMDA2NDQKLS0tLSBhL2Js b2NrL21vbml0b3IvYmxvY2staG1wLWNtZHMuYwotKysrIGIvYmxvY2svbW9uaXRvci9ibG9jay1o bXAtY21kcy5jCi1AQCAtNDAyLDcgKzQwMiw4IEBAIHZvaWQgaG1wX25iZF9zZXJ2ZXJfc3RhcnQo TW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpCi0gICAgICAgICBnb3RvIGV4aXQ7Ci0g ICAgIH0KLSAKLS0gICAgbmJkX3NlcnZlcl9zdGFydChhZGRyLCBOVUxMLCBOVUxMLCAwLCAmbG9j YWxfZXJyKTsKLSsgICAgbmJkX3NlcnZlcl9zdGFydChhZGRyLCBOVUxMLCBOVUxMLCBOQkRfREVG QVVMVF9NQVhfQ09OTkVDVElPTlMsCi0rICAgICAgICAgICAgICAgICAgICAgJmxvY2FsX2Vycik7 Ci0gICAgIHFhcGlfZnJlZV9Tb2NrZXRBZGRyZXNzKGFkZHIpOwotICAgICBpZiAobG9jYWxfZXJy ICE9IE5VTEwpIHsKLSAgICAgICAgIGdvdG8gZXhpdDsKLWRpZmYgLS1naXQgYS9ibG9ja2Rldi1u YmQuYyBiL2Jsb2NrZGV2LW5iZC5jCi1pbmRleCAyNjdhMWRlOTAzLi4yNGJhNTM4MmRiIDEwMDY0 NAotLS0tIGEvYmxvY2tkZXYtbmJkLmMKLSsrKyBiL2Jsb2NrZGV2LW5iZC5jCi1AQCAtMTcwLDYg KzE3MCwxMCBAQCB2b2lkIG5iZF9zZXJ2ZXJfc3RhcnQoU29ja2V0QWRkcmVzcyAqYWRkciwgY29u c3QgY2hhciAqdGxzX2NyZWRzLAotIAotIHZvaWQgbmJkX3NlcnZlcl9zdGFydF9vcHRpb25zKE5i ZFNlcnZlck9wdGlvbnMgKmFyZywgRXJyb3IgKiplcnJwKQotIHsKLSsgICAgaWYgKCFhcmctPmhh c19tYXhfY29ubmVjdGlvbnMpIHsKLSsgICAgICAgIGFyZy0+bWF4X2Nvbm5lY3Rpb25zID0gTkJE X0RFRkFVTFRfTUFYX0NPTk5FQ1RJT05TOwotKyAgICB9Ci0rCi0gICAgIG5iZF9zZXJ2ZXJfc3Rh cnQoYXJnLT5hZGRyLCBhcmctPnRsc19jcmVkcywgYXJnLT50bHNfYXV0aHosCi0gICAgICAgICAg ICAgICAgICAgICAgYXJnLT5tYXhfY29ubmVjdGlvbnMsIGVycnApOwotIH0KLUBAIC0xODIsNiAr MTg2LDEwIEBAIHZvaWQgcW1wX25iZF9zZXJ2ZXJfc3RhcnQoU29ja2V0QWRkcmVzc0xlZ2FjeSAq YWRkciwKLSB7Ci0gICAgIFNvY2tldEFkZHJlc3MgKmFkZHJfZmxhdCA9IHNvY2tldF9hZGRyZXNz X2ZsYXR0ZW4oYWRkcik7Ci0gCi0rICAgIGlmICghaGFzX21heF9jb25uZWN0aW9ucykgewotKyAg ICAgICAgbWF4X2Nvbm5lY3Rpb25zID0gTkJEX0RFRkFVTFRfTUFYX0NPTk5FQ1RJT05TOwotKyAg ICB9Ci0rCi0gICAgIG5iZF9zZXJ2ZXJfc3RhcnQoYWRkcl9mbGF0LCB0bHNfY3JlZHMsIHRsc19h dXRoeiwgbWF4X2Nvbm5lY3Rpb25zLCBlcnJwKTsKLSAgICAgcWFwaV9mcmVlX1NvY2tldEFkZHJl c3MoYWRkcl9mbGF0KTsKLSB9Ci1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9ibG9jay9uYmQuaCBiL2lu Y2x1ZGUvYmxvY2svbmJkLmgKLWluZGV4IDFkNGQ2NTkyMmQuLmQ0ZjhiMjFhZWMgMTAwNjQ0Ci0t LS0gYS9pbmNsdWRlL2Jsb2NrL25iZC5oCi0rKysgYi9pbmNsdWRlL2Jsb2NrL25iZC5oCi1AQCAt MzksNiArMzksMTMgQEAgZXh0ZXJuIGNvbnN0IEJsb2NrRXhwb3J0RHJpdmVyIGJsa19leHBfbmJk OwotICAqLwotICNkZWZpbmUgTkJEX0RFRkFVTFRfSEFORFNIQUtFX01BWF9TRUNTIDEwCi0gCi0r LyoKLSsgKiBOQkRfREVGQVVMVF9NQVhfQ09OTkVDVElPTlM6IE51bWJlciBvZiBjbGllbnQgc29j a2V0cyB0byBhbGxvdyBhdAotKyAqIG9uY2U7IG11c3QgYmUgbGFyZ2UgZW5vdWdoIHRvIGFsbG93 IGEgTVVMVElfQ09OTi1hd2FyZSBjbGllbnQgbGlrZQotKyAqIG5iZGNvcHkgdG8gY3JlYXRlIGl0 cyB0eXBpY2FsIG51bWJlciBvZiA4LTE2IHNvY2tldHMuCi0rICovCi0rI2RlZmluZSBOQkRfREVG QVVMVF9NQVhfQ09OTkVDVElPTlMgMTAwCi0rCi0gLyogSGFuZHNoYWtlIHBoYXNlIHN0cnVjdHMg LSB0aGlzIHN0cnVjdCBpcyBwYXNzZWQgb24gdGhlIHdpcmUgKi8KLSAKLSB0eXBlZGVmIHN0cnVj dCBOQkRPcHRpb24gewotZGlmZiAtLWdpdCBhL3FhcGkvYmxvY2stZXhwb3J0Lmpzb24gYi9xYXBp L2Jsb2NrLWV4cG9ydC5qc29uCi1pbmRleCAzOTE5YTJkNWI5Li5mNDVlNGZkNDgxIDEwMDY0NAot LS0tIGEvcWFwaS9ibG9jay1leHBvcnQuanNvbgotKysrIGIvcWFwaS9ibG9jay1leHBvcnQuanNv bgotQEAgLTI4LDcgKzI4LDcgQEAKLSAjIEBtYXgtY29ubmVjdGlvbnM6IFRoZSBtYXhpbXVtIG51 bWJlciBvZiBjb25uZWN0aW9ucyB0byBhbGxvdyBhdCB0aGUKLSAjICAgICBzYW1lIHRpbWUsIDAg Zm9yIHVubGltaXRlZC4gIFNldHRpbmcgdGhpcyB0byAxIGFsc28gc3RvcHMgdGhlCi0gIyAgICAg c2VydmVyIGZyb20gYWR2ZXJ0aXNpbmcgbXVsdGlwbGUgY2xpZW50IHN1cHBvcnQgKHNpbmNlIDUu MjsKLS0jICAgICBkZWZhdWx0OiAwKQotKyMgICAgIGRlZmF1bHQ6IDEwMCkKLSAjCi0gIyBTaW5j ZTogNC4yCi0gIyMKLUBAIC02Myw3ICs2Myw3IEBACi0gIyBAbWF4LWNvbm5lY3Rpb25zOiBUaGUg bWF4aW11bSBudW1iZXIgb2YgY29ubmVjdGlvbnMgdG8gYWxsb3cgYXQgdGhlCi0gIyAgICAgc2Ft ZSB0aW1lLCAwIGZvciB1bmxpbWl0ZWQuICBTZXR0aW5nIHRoaXMgdG8gMSBhbHNvIHN0b3BzIHRo ZQotICMgICAgIHNlcnZlciBmcm9tIGFkdmVydGlzaW5nIG11bHRpcGxlIGNsaWVudCBzdXBwb3J0 IChzaW5jZSA1LjI7Ci0tIyAgICAgZGVmYXVsdDogMCkuCi0rIyAgICAgZGVmYXVsdDogMTAwKS4K LSAjCi0gIyBFcnJvcnM6Ci0gIyAgICAgLSBpZiB0aGUgc2VydmVyIGlzIGFscmVhZHkgcnVubmlu ZwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzMi1uYmQtc2VydmVyLUNWRS0y MDI0LTc0MDktRHJvcC1ub24tbmVnb3RpYXRpbmctY2xpZW50LnBhdGNoIGIvZGViaWFuL3BhdGNo ZXMvZXh0cmEvMDAzMi1uYmQtc2VydmVyLUNWRS0yMDI0LTc0MDktRHJvcC1ub24tbmVnb3RpYXRp bmctY2xpZW50LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjExM2U1Li4w MDAwMDAwCi0tLSBhL2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMzItbmJkLXNlcnZlci1DVkUtMjAy NC03NDA5LURyb3Atbm9uLW5lZ290aWF0aW5nLWNsaWVudC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDEyMyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBFcmljIEJsYWtlIDxlYmxha2VA cmVkaGF0LmNvbT4KLURhdGU6IFRodSwgOCBBdWcgMjAyNCAxNjowNTowOCAtMDUwMAotU3ViamVj dDogW1BBVENIXSBuYmQvc2VydmVyOiBDVkUtMjAyNC03NDA5OiBEcm9wIG5vbi1uZWdvdGlhdGlu ZyBjbGllbnRzCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUEgY2xpZW50 IHRoYXQgb3BlbnMgYSBzb2NrZXQgYnV0IGRvZXMgbm90IG5lZ290aWF0ZSBpcyBtZXJlbHkgaG9n Z2luZwotcWVtdSdzIHJlc291cmNlcyAoYW4gb3BlbiBmZCBhbmQgYSBzbWFsbCBhbW91bnQgb2Yg bWVtb3J5KTsgYW5kIGEKLW1hbGljaW91cyBjbGllbnQgdGhhdCBjYW4gYWNjZXNzIHRoZSBwb3J0 IHdoZXJlIE5CRCBpcyBsaXN0ZW5pbmcgY2FuCi1hdHRlbXB0IGEgZGVuaWFsIG9mIHNlcnZpY2Ug YXR0YWNrIGJ5IGludGVudGlvbmFsbHkgb3BlbmluZyBhbmQKLWFiYW5kb25pbmcgbG90cyBvZiB1 bmZpbmlzaGVkIGNvbm5lY3Rpb25zLiAgVGhlIHByZXZpb3VzIHBhdGNoIHB1dCBhCi1kZWZhdWx0 IGJvdW5kIG9uIHRoZSBudW1iZXIgb2Ygc3VjaCBvbmdvaW5nIGNvbm5lY3Rpb25zLCBidXQgb25j ZSB0aGF0Ci1saW1pdCBpcyBoaXQsIG5vIG1vcmUgY2xpZW50cyBjYW4gY29ubmVjdCAoaW5jbHVk aW5nIGxlZ2l0aW1hdGUgb25lcykuCi1UaGUgc29sdXRpb24gaXMgdG8gaW5zaXN0IHRoYXQgY2xp ZW50cyBjb21wbGV0ZSBoYW5kc2hha2Ugd2l0aGluIGEKLXJlYXNvbmFibGUgdGltZSBsaW1pdCwg ZGVmYXVsdGluZyB0byAxMCBzZWNvbmRzLiAgQSBjbGllbnQgdGhhdCBoYXMKLW5vdCBzdWNjZXNz ZnVsbHkgY29tcGxldGVkIE5CRF9PUFRfR08gYnkgdGhlbiAoaW5jbHVkaW5nIHRoZSBjYXNlIG9m Ci13aGVyZSB0aGUgY2xpZW50IGRpZG4ndCBrbm93IFRMUyBjcmVkZW50aWFscyB0byBldmVuIHJl YWNoIHRoZSBwb2ludAotb2YgTkJEX09QVF9HTykgaXMgd2FzdGluZyBvdXIgdGltZSBhbmQgZG9l cyBub3QgZGVzZXJ2ZSB0byBzdGF5Ci1jb25uZWN0ZWQuICBMYXRlciBwYXRjaGVzIHdpbGwgYWxs b3cgZmluZS10dW5pbmcgdGhlIGxpbWl0IGF3YXkgZnJvbQotdGhlIGRlZmF1bHQgdmFsdWUgKGlu Y2x1ZGluZyBkaXNhYmxpbmcgaXQgZm9yIGRvaW5nIGludGVncmF0aW9uCi10ZXN0aW5nIG9mIHRo ZSBoYW5kc2hha2UgcHJvY2VzcyBpdHNlbGYpLgotCi1Ob3RlIHRoYXQgdGhpcyBwYXRjaCBpbiBp c29sYXRpb24gYWN0dWFsbHkgbWFrZXMgaXQgbW9yZSBsaWtlbHkgdG8gc2VlCi1xZW11IFNFR1Yg YWZ0ZXIgbmJkLXNlcnZlci1zdG9wLCBhcyBhbnkgY2xpZW50IHNvY2tldCBzdGlsbCBjb25uZWN0 ZWQKLXdoZW4gdGhlIHNlcnZlciBzaHV0cyBkb3duIHdpbGwgbm93IGJlIGNsb3NlZCBhZnRlciAx MCBzZWNvbmRzIHJhdGhlcgotdGhhbiBhdCB0aGUgY2xpZW50J3Mgd2hpbXMuICBUaGF0IHdpbGwg YmUgYWRkcmVzc2VkIGluIHRoZSBuZXh0IHBhdGNoLgotCi1Gb3IgYSBkZW1vIG9mIHRoaXMgcGF0 Y2ggaW4gYWN0aW9uOgotJCBxZW11LW5iZCAtZiByYXcgLXIgLXQgLWUgMTAgZmlsZSAmCi0kIG5i ZHNoIC0tb3B0LW1vZGUgLWMgJwotSCA9IGxpc3QoKQotZm9yIGkgaW4gcmFuZ2UoMjApOgotICBw cmludChpKQotICBILmluc2VydChpLCBuYmQuTkJEKCkpCi0gIEhbaV0uc2V0X29wdF9tb2RlKFRy dWUpCi0gIEhbaV0uY29ubmVjdF91cmkoIm5iZDovL2xvY2FsaG9zdCIpCi0nCi0kIGtpbGwgJCEK LQotd2hlcmUgbGF0ZXIgY29ubmVjdGlvbnMgZ2V0IHRvIHN0YXJ0IHByb2dyZXNzaW5nIG9uY2Ug ZWFybGllciBvbmVzIGFyZQotZm9yY2VmdWxseSBkcm9wcGVkIGZvciB0YWtpbmcgdG9vIGxvbmcs IHJhdGhlciB0aGFuIGhhbmdpbmcuCi0KLVN1Z2dlc3RlZC1ieTogRGFuaWVsIFAuIEJlcnJhbmfD qSA8YmVycmFuZ2VAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEVyaWMgQmxha2UgPGVibGFr ZUByZWRoYXQuY29tPgotTWVzc2FnZS1JRDogPDIwMjQwODA3MTc0OTQzLjc3MTYyNC0xMy1lYmxh a2VAcmVkaGF0LmNvbT4KLVJldmlld2VkLWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5n ZUByZWRoYXQuY29tPgotW2VibGFrZTogcmViYXNlIHRvIGNoYW5nZXMgZWFybGllciBpbiBzZXJp ZXMsIHJlZHVjZSBzY29wZSBvZiB0aW1lcl0KLVNpZ25lZC1vZmYtYnk6IEVyaWMgQmxha2UgPGVi bGFrZUByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYjliNzJjYjNjZTE1 YjY5MzE0OGJkMDljZWY3ZTUwMTEwNTY2ZDhhMCkKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVy IDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gbmJkL3NlcnZlci5jICAgICB8IDI4ICsrKysr KysrKysrKysrKysrKysrKysrKysrKy0KLSBuYmQvdHJhY2UtZXZlbnRzIHwgIDEgKwotIDIgZmls ZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0 IGEvbmJkL3NlcnZlci5jIGIvbmJkL3NlcnZlci5jCi1pbmRleCBlNTAwMTI0OTlmLi4zOTI4NWNj OTcxIDEwMDY0NAotLS0tIGEvbmJkL3NlcnZlci5jCi0rKysgYi9uYmQvc2VydmVyLmMKLUBAIC0z MTg2LDIyICszMTg2LDQ4IEBAIHN0YXRpYyB2b2lkIG5iZF9jbGllbnRfcmVjZWl2ZV9uZXh0X3Jl cXVlc3QoTkJEQ2xpZW50ICpjbGllbnQpCi0gICAgIH0KLSB9Ci0gCi0rc3RhdGljIHZvaWQgbmJk X2hhbmRzaGFrZV90aW1lcl9jYih2b2lkICpvcGFxdWUpCi0rewotKyAgICBRSU9DaGFubmVsICpp b2MgPSBvcGFxdWU7Ci0rCi0rICAgIHRyYWNlX25iZF9oYW5kc2hha2VfdGltZXJfY2IoKTsKLSsg ICAgcWlvX2NoYW5uZWxfc2h1dGRvd24oaW9jLCBRSU9fQ0hBTk5FTF9TSFVURE9XTl9CT1RILCBO VUxMKTsKLSt9Ci0rCi0gc3RhdGljIGNvcm91dGluZV9mbiB2b2lkIG5iZF9jb19jbGllbnRfc3Rh cnQodm9pZCAqb3BhcXVlKQotIHsKLSAgICAgTkJEQ2xpZW50ICpjbGllbnQgPSBvcGFxdWU7Ci0g ICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOwotKyAgICBRRU1VVGltZXIgKmhhbmRzaGFrZV90 aW1lciA9IE5VTEw7Ci0gCi0gICAgIHFlbXVfY29fbXV0ZXhfaW5pdCgmY2xpZW50LT5zZW5kX2xv Y2spOwotIAotLSAgICAvKiBUT0RPIC0gdXRpbGl6ZSBjbGllbnQtPmhhbmRzaGFrZV9tYXhfc2Vj cyAqLwotKyAgICAvKgotKyAgICAgKiBDcmVhdGUgYSB0aW1lciB0byBib3VuZCB0aGUgdGltZSBz cGVudCBpbiBuZWdvdGlhdGlvbi4gSWYgdGhlCi0rICAgICAqIHRpbWVyIGV4cGlyZXMsIGl0IGlz IGxpa2VseSBuYmRfbmVnb3RpYXRlIHdpbGwgZmFpbCBiZWNhdXNlIHRoZQotKyAgICAgKiBzb2Nr ZXQgd2FzIHNodXRkb3duLgotKyAgICAgKi8KLSsgICAgaWYgKGNsaWVudC0+aGFuZHNoYWtlX21h eF9zZWNzID4gMCkgewotKyAgICAgICAgaGFuZHNoYWtlX3RpbWVyID0gYWlvX3RpbWVyX25ldyhx ZW11X2dldF9haW9fY29udGV4dCgpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBRRU1VX0NMT0NLX1JFQUxUSU1FLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTQ0FMRV9OUywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbmJkX2hhbmRzaGFrZV90aW1lcl9jYiwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2xpZW50LT5zaW9jKTsKLSsgICAgICAgIHRpbWVyX21vZChoYW5k c2hha2VfdGltZXIsCi0rICAgICAgICAgICAgICAgICAgcWVtdV9jbG9ja19nZXRfbnMoUUVNVV9D TE9DS19SRUFMVElNRSkgKwotKyAgICAgICAgICAgICAgICAgIGNsaWVudC0+aGFuZHNoYWtlX21h eF9zZWNzICogTkFOT1NFQ09ORFNfUEVSX1NFQ09ORCk7Ci0rICAgIH0KLSsKLSAgICAgaWYgKG5i ZF9uZWdvdGlhdGUoY2xpZW50LCAmbG9jYWxfZXJyKSkgewotICAgICAgICAgaWYgKGxvY2FsX2Vy cikgewotICAgICAgICAgICAgIGVycm9yX3JlcG9ydF9lcnIobG9jYWxfZXJyKTsKLSAgICAgICAg IH0KLSsgICAgICAgIHRpbWVyX2ZyZWUoaGFuZHNoYWtlX3RpbWVyKTsKLSAgICAgICAgIGNsaWVu dF9jbG9zZShjbGllbnQsIGZhbHNlKTsKLSAgICAgICAgIHJldHVybjsKLSAgICAgfQotIAotKyAg ICB0aW1lcl9mcmVlKGhhbmRzaGFrZV90aW1lcik7Ci0gICAgIFdJVEhfUUVNVV9MT0NLX0dVQVJE KCZjbGllbnQtPmxvY2spIHsKLSAgICAgICAgIG5iZF9jbGllbnRfcmVjZWl2ZV9uZXh0X3JlcXVl c3QoY2xpZW50KTsKLSAgICAgfQotZGlmZiAtLWdpdCBhL25iZC90cmFjZS1ldmVudHMgYi9uYmQv dHJhY2UtZXZlbnRzCi1pbmRleCAwMGFlMzIxNmExLi5jYmQwYTRhYjdlIDEwMDY0NAotLS0tIGEv bmJkL3RyYWNlLWV2ZW50cwotKysrIGIvbmJkL3RyYWNlLWV2ZW50cwotQEAgLTc2LDYgKzc2LDcg QEAgbmJkX2NvX3JlY2VpdmVfcmVxdWVzdF9wYXlsb2FkX3JlY2VpdmVkKHVpbnQ2NF90IGNvb2tp ZSwgdWludDY0X3QgbGVuKSAiUGF5bG9hZAotIG5iZF9jb19yZWNlaXZlX2V4dF9wYXlsb2FkX2Nv bXBsaWFuY2UodWludDY0X3QgZnJvbSwgdWludDY0X3QgbGVuKSAiY2xpZW50IHNlbnQgbm9uLWNv bXBsaWFudCB3cml0ZSB3aXRob3V0IHBheWxvYWQgZmxhZzogZnJvbT0weCUiIFBSSXg2NCAiLCBs ZW49MHglIiBQUkl4NjQKLSBuYmRfY29fcmVjZWl2ZV9hbGlnbl9jb21wbGlhbmNlKGNvbnN0IGNo YXIgKm9wLCB1aW50NjRfdCBmcm9tLCB1aW50NjRfdCBsZW4sIHVpbnQzMl90IGFsaWduKSAiY2xp ZW50IHNlbnQgbm9uLWNvbXBsaWFudCB1bmFsaWduZWQgJXMgcmVxdWVzdDogZnJvbT0weCUiIFBS SXg2NCAiLCBsZW49MHglIiBQUkl4NjQgIiwgYWxpZ249MHglIiBQUkl4MzIKLSBuYmRfdHJpcCh2 b2lkKSAiUmVhZGluZyByZXF1ZXN0IgotK25iZF9oYW5kc2hha2VfdGltZXJfY2Iodm9pZCkgImNs aWVudCB0b29rIHRvbyBsb25nIHRvIG5lZ290aWF0ZSIKLSAKLSAjIGNsaWVudC1jb25uZWN0aW9u LmMKLSBuYmRfY29ubmVjdF90aHJlYWRfc2xlZXAodWludDY0X3QgdGltZW91dCkgInRpbWVvdXQg JSIgUFJJdTY0CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDMzLW5iZC1zZXJ2 ZXItQ1ZFLTIwMjQtNzQwOS1DbG9zZS1zdHJheS1jbGllbnRzLWF0LXNlcnYucGF0Y2ggYi9kZWJp YW4vcGF0Y2hlcy9leHRyYS8wMDMzLW5iZC1zZXJ2ZXItQ1ZFLTIwMjQtNzQwOS1DbG9zZS1zdHJh eS1jbGllbnRzLWF0LXNlcnYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFk MTZhNTIuLjAwMDAwMDAKLS0tIGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzMy1uYmQtc2VydmVy LUNWRS0yMDI0LTc0MDktQ2xvc2Utc3RyYXktY2xpZW50cy1hdC1zZXJ2LnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMTYxICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEVyaWMgQmxha2Ug PGVibGFrZUByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA3IEF1ZyAyMDI0IDEyOjIzOjEzIC0wNTAw Ci1TdWJqZWN0OiBbUEFUQ0hdIG5iZC9zZXJ2ZXI6IENWRS0yMDI0LTc0MDk6IENsb3NlIHN0cmF5 IGNsaWVudHMgYXQgc2VydmVyLXN0b3AKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6 IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhi aXQKLQotQSBtYWxpY2lvdXMgY2xpZW50IGNhbiBhdHRlbXB0IHRvIGNvbm5lY3QgdG8gYW4gTkJE IHNlcnZlciwgYW5kIHRoZW4KLWludGVudGlvbmFsbHkgZGVsYXkgcHJvZ3Jlc3MgaW4gdGhlIGhh bmRzaGFrZSwgaW5jbHVkaW5nIGlmIGl0IGRvZXMKLW5vdCBrbm93IHRoZSBUTFMgc2VjcmV0cy4g IEFsdGhvdWdoIHRoZSBwcmV2aW91cyB0d28gcGF0Y2hlcyByZWR1Y2UKLXRoaXMgYmVoYXZpb3Ig YnkgY2FwcGluZyB0aGUgZGVmYXVsdCBtYXgtY29ubmVjdGlvbnMgcGFyYW1ldGVyIGFuZAota2ls bGluZyBzbG93IGNsaWVudHMsIHRoZXkgZGlkIG5vdCBlbGltaW5hdGUgdGhlIHBvc3NpYmlsaXR5 IG9mIGEKLWNsaWVudCB3YWl0aW5nIHRvIGNsb3NlIHRoZSBzb2NrZXQgdW50aWwgYWZ0ZXIgdGhl IFFNUCBuYmQtc2VydmVyLXN0b3AKLWNvbW1hbmQgaXMgZXhlY3V0ZWQsIGF0IHdoaWNoIHBvaW50 IHFlbXUgd291bGQgU0VHViB3aGVuIHRyeWluZyB0bwotZGVyZWZlcmVuY2UgdGhlIE5VTEwgbmJk X3NlcnZlciBnbG9iYWwgd2hpY2ggaXMgbm8gbG9uZ2VyIHByZXNlbnQuCi1UaGlzIGFtb3VudHMg dG8gYSBkZW5pYWwgb2Ygc2VydmljZSBhdHRhY2suICBXb3JzZSwgaWYgYW5vdGhlciBOQkQKLXNl cnZlciBpcyBzdGFydGVkIGJlZm9yZSB0aGUgbWFsaWNpb3VzIGNsaWVudCBkaXNjb25uZWN0cywg SSBjYW5ub3QKLXJ1bGUgb3V0IGFkZGl0aW9uYWwgYWR2ZXJzZSBlZmZlY3RzIHdoZW4gdGhlIG9s ZCBjbGllbnQgaW50ZXJmZXJlcwotd2l0aCB0aGUgY29ubmVjdGlvbiBjb3VudCBvZiB0aGUgbmV3 IHNlcnZlciAoYWx0aG91Z2ggdGhlIG1vc3QgbGlrZWx5Ci1pcyBhIGNyYXNoIGR1ZSB0byBhbiBh c3NlcnRpb24gZmFpbHVyZSB3aGVuIGNoZWNraW5nCi1uYmRfc2VydmVyLT5jb25uZWN0aW9ucyA+ IDApLgotCi1Gb3IgZW52aXJvbm1lbnRzIHdpdGhvdXQgdGhpcyBwYXRjaCwgdGhlIENWRSBjYW4g YmUgbWl0aWdhdGVkIGJ5Ci1lbnN1cmluZyAoc3VjaCBhcyB2aWEgYSBmaXJld2FsbCkgdGhhdCBv bmx5IHRydXN0ZWQgY2xpZW50cyBjYW4KLWNvbm5lY3QgdG8gYW4gTkJEIHNlcnZlci4gIE5vdGUg dGhhdCB1c2luZyBmcmFtZXdvcmtzIGxpa2UgbGlidmlydAotdGhhdCBlbnN1cmUgdGhhdCBUTFMg aXMgdXNlZCBhbmQgdGhhdCBuYmQtc2VydmVyLXN0b3AgaXMgbm90IGV4ZWN1dGVkCi13aGlsZSBh bnkgdHJ1c3RlZCBjbGllbnRzIGFyZSBzdGlsbCBjb25uZWN0ZWQgd2lsbCBvbmx5IGhlbHAgaWYg dGhlcmUKLWlzIGFsc28gbm8gcG9zc2liaWxpdHkgZm9yIGFuIHVudHJ1c3RlZCBjbGllbnQgdG8g b3BlbiBhIGNvbm5lY3Rpb24KLWJ1dCB0aGVuIHN0YWxsIG9uIHRoZSBOQkQgaGFuZHNoYWtlLgot Ci1HaXZlbiB0aGUgcHJldmlvdXMgcGF0Y2hlcywgaXQgd291bGQgYmUgcG9zc2libGUgdG8gZ3Vh cmFudGVlIHRoYXQgbm8KLWNsaWVudHMgcmVtYWluIGNvbm5lY3RlZCBieSBoYXZpbmcgbmJkLXNl cnZlci1zdG9wIHNsZWVwIGZvciBsb25nZXIKLXRoYW4gdGhlIGRlZmF1bHQgaGFuZHNoYWtlIGRl YWRsaW5lIGJlZm9yZSBmaW5hbGx5IGZyZWVpbmcgdGhlIGdsb2JhbAotbmJkX3NlcnZlciBvYmpl Y3QsIGJ1dCB0aGF0IGNvdWxkIG1ha2UgUU1QIG5vbi1yZXNwb25zaXZlIGZvciBhIGxvbmcKLXRp bWUuICBTbyBpbnRlYWQsIHRoaXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0gYnkgdHJhY2tpbmcg YWxsIGNsaWVudAotc29ja2V0cyBvcGVuZWQgd2hpbGUgdGhlIHNlcnZlciBpcyBydW5uaW5nLCBh bmQgZm9yY2VmdWxseSBjbG9zaW5nIGFueQotc3VjaCBzb2NrZXRzIHJlbWFpbmluZyB3aXRob3V0 IGEgY29tcGxldGVkIGhhbmRzaGFrZSBhdCB0aGUgdGltZSBvZgotbmJkLXNlcnZlci1zdG9wLCB0 aGVuIHdhaXRpbmcgdW50aWwgdGhlIGNvcm91dGluZXMgc2VydmljaW5nIHRob3NlCi1zb2NrZXRz IG5vdGljZSB0aGUgc3RhdGUgY2hhbmdlLiAgbmJkLXNlcnZlci1zdG9wIG5vdyBoYXMgYSBzZWNv bmQKLUFJT19XQUlUX1dISUxFX1VOTE9DS0VEICh0aGUgZmlyc3QgaXMgaW5kaXJlY3RseSB0aHJv dWdoIHRoZQotYmxrX2V4cF9jbG9zZV9hbGxfdHlwZSgpIHRoYXQgZGlzY29ubmVjdHMgYWxsIGNs aWVudHMgdGhhdCBjb21wbGV0ZWQKLWhhbmRzaGFrZXMpLCBidXQgZm9yY2VkIHNvY2tldCBzaHV0 ZG93biBpcyBlbm91Z2ggdG8gcHJvZ3Jlc3MgdGhlCi1jb3JvdXRpbmVzIGFuZCBxdWlja2x5IHRl YXIgZG93biBhbGwgY2xpZW50cyBiZWZvcmUgdGhlIHNlcnZlciBpcwotZnJlZWQsIHRodXMgZmlu YWxseSBmaXhpbmcgdGhlIENWRS4KLQotVGhpcyBwYXRjaCByZWxpZXMgaGVhdmlseSBvbiB0aGUg ZmFjdCB0aGF0IG5iZC9zZXJ2ZXIuYyBndWFyYW50ZWVzCi10aGF0IGl0IG9ubHkgY2FsbHMgbmJk X2Jsb2NrZGV2X2NsaWVudF9jbG9zZWQoKSBmcm9tIHRoZSBtYWluIGxvb3AKLShzZWUgdGhlIGFz c2VydGlvbiBpbiBuYmRfY2xpZW50X3B1dCgpIGFuZCB0aGUgaG9vcHMgdXNlZCBpbgotbmJkX2Ns aWVudF9wdXRfbm9uemVybygpIHRvIGFjaGlldmUgdGhhdCk7IGlmIHdlIGRpZCBub3QgaGF2ZSB0 aGF0Ci1ndWFyYW50ZWUsIHdlIHdvdWxkIGFsc28gbmVlZCBhIG11dGV4IHByb3RlY3Rpbmcgb3Vy IGFjY2Vzc2VzIG9mIHRoZQotbGlzdCBvZiBjb25uZWN0aW9ucyB0byBzdXJ2aXZlIHJlLWVudHJh bmN5IGZyb20gaW5kZXBlbmRlbnQgaW90aHJlYWRzLgotCi1BbHRob3VnaCBJIGRpZCBub3QgYWN0 dWFsbHkgdHJ5IHRvIHRlc3Qgb2xkIGJ1aWxkcywgaXQgbG9va3MgbGlrZSB0aGlzCi1wcm9ibGVt IGhhcyBleGlzdGVkIHNpbmNlIGF0IGxlYXN0IGNvbW1pdCA4NjIxNzJmNDVjICh2Mi4xMi4wLCAy MDE3KSAtCi1ldmVuIGJhY2sgd2hlbiB0aGF0IHBhdGNoIHN0YXJ0ZWQgdXNpbmcgYSBRSU9OZXRM aXN0ZW5lciB0byBoYW5kbGUKLWxpc3RlbmluZyBvbiBtdWx0aXBsZSBzb2NrZXRzLCBuYmRfc2Vy dmVyX2ZyZWUoKSB3YXMgYWxyZWFkeSB1bmF3YXJlCi10aGF0IHRoZSBuYmRfYmxvY2tkZXZfY2xp ZW50X2Nsb3NlZCBjYWxsYmFjayBjYW4gYmUgcmVhY2hlZCBsYXRlciBieSBhCi1jbGllbnQgdGhy ZWFkIHRoYXQgaGFzIG5vdCBjb21wbGV0ZWQgaGFuZHNoYWtlcyAoYW5kIHRoZXJlZm9yZSB0aGUK LWNsaWVudCdzIHNvY2tldCBuZXZlciBnb3QgYWRkZWQgdG8gdGhlIGxpc3QgY2xvc2VkIGluCi1u YmRfZXhwb3J0X2Nsb3NlX2FsbCksIGRlc3BpdGUgdGhhdCBwYXRjaCBpbnRlbnRpb25hbGx5IHRl YXJpbmcgZG93bgotdGhlIFFJT05ldExpc3RlbmVyIHRvIHByZXZlbnQgbmV3IGNsaWVudHMuCi0K LVJlcG9ydGVkLWJ5OiBBbGV4YW5kZXIgSXZhbm92IDxhbGV4YW5kZXIuaXZhbm92QHZpcnR1b3p6 by5jb20+Ci1GaXhlczogQ1ZFLTIwMjQtNzQwOQotQ0M6IHFlbXUtc3RhYmxlQG5vbmdudS5vcmcK LVNpZ25lZC1vZmYtYnk6IEVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPgotTWVzc2FnZS1J RDogPDIwMjQwODA3MTc0OTQzLjc3MTYyNC0xNC1lYmxha2VAcmVkaGF0LmNvbT4KLVJldmlld2Vk LWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5nZUByZWRoYXQuY29tPgotKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgM2U3ZWY3MzhjODQ2MmM0NTA0M2ExZDM5ZjcwMmEwOTkwNDA2YTNi MykKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0t Ci0gYmxvY2tkZXYtbmJkLmMgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LQotIDEgZmlsZSBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRp ZmYgLS1naXQgYS9ibG9ja2Rldi1uYmQuYyBiL2Jsb2NrZGV2LW5iZC5jCi1pbmRleCAyNGJhNTM4 MmRiLi5mNzM0MDlhZTQ5IDEwMDY0NAotLS0tIGEvYmxvY2tkZXYtbmJkLmMKLSsrKyBiL2Jsb2Nr ZGV2LW5iZC5jCi1AQCAtMjEsMTIgKzIxLDE4IEBACi0gI2luY2x1ZGUgImlvL2NoYW5uZWwtc29j a2V0LmgiCi0gI2luY2x1ZGUgImlvL25ldC1saXN0ZW5lci5oIgotIAotK3R5cGVkZWYgc3RydWN0 IE5CRENvbm4gewotKyAgICBRSU9DaGFubmVsU29ja2V0ICpjaW9jOwotKyAgICBRTElTVF9FTlRS WShOQkRDb25uKSBuZXh0OwotK30gTkJEQ29ubjsKLSsKLSB0eXBlZGVmIHN0cnVjdCBOQkRTZXJ2 ZXJEYXRhIHsKLSAgICAgUUlPTmV0TGlzdGVuZXIgKmxpc3RlbmVyOwotICAgICBRQ3J5cHRvVExT Q3JlZHMgKnRsc2NyZWRzOwotICAgICBjaGFyICp0bHNhdXRoejsKLSAgICAgdWludDMyX3QgbWF4 X2Nvbm5lY3Rpb25zOwotICAgICB1aW50MzJfdCBjb25uZWN0aW9uczsKLSsgICAgUUxJU1RfSEVB RCgsIE5CRENvbm4pIGNvbm5zOwotIH0gTkJEU2VydmVyRGF0YTsKLSAKLSBzdGF0aWMgTkJEU2Vy dmVyRGF0YSAqbmJkX3NlcnZlcjsKLUBAIC01MSw2ICs1NywxNCBAQCBpbnQgbmJkX3NlcnZlcl9t YXhfY29ubmVjdGlvbnModm9pZCkKLSAKLSBzdGF0aWMgdm9pZCBuYmRfYmxvY2tkZXZfY2xpZW50 X2Nsb3NlZChOQkRDbGllbnQgKmNsaWVudCwgYm9vbCBpZ25vcmVkKQotIHsKLSsgICAgTkJEQ29u biAqY29ubiA9IG5iZF9jbGllbnRfb3duZXIoY2xpZW50KTsKLSsKLSsgICAgYXNzZXJ0KHFlbXVf aW5fbWFpbl90aHJlYWQoKSAmJiBuYmRfc2VydmVyKTsKLSsKLSsgICAgb2JqZWN0X3VucmVmKE9C SkVDVChjb25uLT5jaW9jKSk7Ci0rICAgIFFMSVNUX1JFTU9WRShjb25uLCBuZXh0KTsKLSsgICAg Z19mcmVlKGNvbm4pOwotKwotICAgICBuYmRfY2xpZW50X3B1dChjbGllbnQpOwotICAgICBhc3Nl cnQobmJkX3NlcnZlci0+Y29ubmVjdGlvbnMgPiAwKTsKLSAgICAgbmJkX3NlcnZlci0+Y29ubmVj dGlvbnMtLTsKLUBAIC02MCwxNCArNzQsMjAgQEAgc3RhdGljIHZvaWQgbmJkX2Jsb2NrZGV2X2Ns aWVudF9jbG9zZWQoTkJEQ2xpZW50ICpjbGllbnQsIGJvb2wgaWdub3JlZCkKLSBzdGF0aWMgdm9p ZCBuYmRfYWNjZXB0KFFJT05ldExpc3RlbmVyICpsaXN0ZW5lciwgUUlPQ2hhbm5lbFNvY2tldCAq Y2lvYywKLSAgICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyIG9wYXF1ZSkKLSB7Ci0rICAg IE5CRENvbm4gKmNvbm4gPSBnX25ldzAoTkJEQ29ubiwgMSk7Ci0rCi0rICAgIGFzc2VydChxZW11 X2luX21haW5fdGhyZWFkKCkgJiYgbmJkX3NlcnZlcik7Ci0gICAgIG5iZF9zZXJ2ZXItPmNvbm5l Y3Rpb25zKys7Ci0rICAgIG9iamVjdF9yZWYoT0JKRUNUKGNpb2MpKTsKLSsgICAgY29ubi0+Y2lv YyA9IGNpb2M7Ci0rICAgIFFMSVNUX0lOU0VSVF9IRUFEKCZuYmRfc2VydmVyLT5jb25ucywgY29u biwgbmV4dCk7Ci0gICAgIG5iZF91cGRhdGVfc2VydmVyX3dhdGNoKG5iZF9zZXJ2ZXIpOwotIAot ICAgICBxaW9fY2hhbm5lbF9zZXRfbmFtZShRSU9fQ0hBTk5FTChjaW9jKSwgIm5iZC1zZXJ2ZXIi KTsKLSAgICAgLyogVE9ETyAtIGV4cG9zZSBoYW5kc2hha2UgdGltZW91dCBhcyBRTVAgb3B0aW9u ICovCi0gICAgIG5iZF9jbGllbnRfbmV3KGNpb2MsIE5CRF9ERUZBVUxUX0hBTkRTSEFLRV9NQVhf U0VDUywKLSAgICAgICAgICAgICAgICAgICAgbmJkX3NlcnZlci0+dGxzY3JlZHMsIG5iZF9zZXJ2 ZXItPnRsc2F1dGh6LAotLSAgICAgICAgICAgICAgICAgICBuYmRfYmxvY2tkZXZfY2xpZW50X2Ns b3NlZCwgTlVMTCk7Ci0rICAgICAgICAgICAgICAgICAgIG5iZF9ibG9ja2Rldl9jbGllbnRfY2xv c2VkLCBjb25uKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQgbmJkX3VwZGF0ZV9zZXJ2ZXJfd2F0Y2go TkJEU2VydmVyRGF0YSAqcykKLUBAIC04MSwxMiArMTAxLDI1IEBAIHN0YXRpYyB2b2lkIG5iZF91 cGRhdGVfc2VydmVyX3dhdGNoKE5CRFNlcnZlckRhdGEgKnMpCi0gCi0gc3RhdGljIHZvaWQgbmJk X3NlcnZlcl9mcmVlKE5CRFNlcnZlckRhdGEgKnNlcnZlcikKLSB7Ci0rICAgIE5CRENvbm4gKmNv bm4sICp0bXA7Ci0rCi0gICAgIGlmICghc2VydmVyKSB7Ci0gICAgICAgICByZXR1cm47Ci0gICAg IH0KLSAKLSsgICAgLyoKLSsgICAgICogRm9yY2VmdWxseSBjbG9zZSB0aGUgbGlzdGVuZXIgc29j a2V0LCBhbmQgYW55IGNsaWVudHMgdGhhdCBoYXZlCi0rICAgICAqIG5vdCB5ZXQgZGlzY29ubmVj dGVkIG9uIHRoZWlyIG93bi4KLSsgICAgICovCi0gICAgIHFpb19uZXRfbGlzdGVuZXJfZGlzY29u bmVjdChzZXJ2ZXItPmxpc3RlbmVyKTsKLSAgICAgb2JqZWN0X3VucmVmKE9CSkVDVChzZXJ2ZXIt Pmxpc3RlbmVyKSk7Ci0rICAgIFFMSVNUX0ZPUkVBQ0hfU0FGRShjb25uLCAmc2VydmVyLT5jb25u cywgbmV4dCwgdG1wKSB7Ci0rICAgICAgICBxaW9fY2hhbm5lbF9zaHV0ZG93bihRSU9fQ0hBTk5F TChjb25uLT5jaW9jKSwgUUlPX0NIQU5ORUxfU0hVVERPV05fQk9USCwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwpOwotKyAgICB9Ci0rCi0rICAgIEFJT19XQUlUX1dISUxFX1VO TE9DS0VEKE5VTEwsIHNlcnZlci0+Y29ubmVjdGlvbnMgPiAwKTsKLSsKLSAgICAgaWYgKHNlcnZl ci0+dGxzY3JlZHMpIHsKLSAgICAgICAgIG9iamVjdF91bnJlZihPQkpFQ1Qoc2VydmVyLT50bHNj cmVkcykpOwotICAgICB9CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDM0LXZu Yy1maXgtY3Jhc2gtd2hlbi1uby1jb25zb2xlLWF0dGFjaGVkLnBhdGNoIGIvZGViaWFuL3BhdGNo ZXMvZXh0cmEvMDAzNC12bmMtZml4LWNyYXNoLXdoZW4tbm8tY29uc29sZS1hdHRhY2hlZC5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjViNWJlMC4uMDAwMDAwMAotLS0gYS9k ZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDM0LXZuYy1maXgtY3Jhc2gtd2hlbi1uby1jb25zb2xlLWF0 dGFjaGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotRnJvbSAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogPT9VVEYtOD9xP01hcmMtQW5kcj1DMz1BOT0yMEx1cmVhdT89IDxtYXJjYW5kcmUu bHVyZWF1QHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDIwIEF1ZyAyMDI0IDE3OjExOjEyICswNDAw Ci1TdWJqZWN0OiBbUEFUQ0hdIHZuYzogZml4IGNyYXNoIHdoZW4gbm8gY29uc29sZSBhdHRhY2hl ZAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1TaW5jZSBjb21taXQgZTk5 NDQxYTM3OTNiNSAoInVpL2N1cnNlczogRG8gbm90IHVzZSBjb25zb2xlX3NlbGVjdCgpIikKLXFl bXVfdGV4dF9jb25zb2xlX3B1dF9rZXlzeW0oKSBubyBsb25nZXIgY2hlY2tzIGZvciBOVUxMIGNv bnNvbGUKLWFyZ3VtZW50LCB3aGljaCBsZWFkcyB0byBhIGxhdGVyIGNyYXNoOgotCi1UaHJlYWQg MSAicWVtdS1zeXN0ZW0teDg2IiByZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2VnbWVudGF0aW9u IGZhdWx0LgotMHgwMDAwNTU1NTU1OWVlMTg2IGluIHFlbXVfdGV4dF9jb25zb2xlX2hhbmRsZV9r ZXlzeW0gKHM9MHgwLCBrZXlzeW09MzEpIGF0IC4uL3VpL2NvbnNvbGUtdmMuYzozMzIKLTMzMgkg ICAgICAgIH0gZWxzZSBpZiAocy0+ZWNobyAmJiAoa2V5c3ltID09ICdccicgfHwga2V5c3ltID09 ICdcbicpKSB7Ci0oZ2RiKSBidAotICMwICAweDAwMDA1NTU1NTU5ZWUxODYgaW4gcWVtdV90ZXh0 X2NvbnNvbGVfaGFuZGxlX2tleXN5bSAocz0weDAsIGtleXN5bT0zMSkgYXQgLi4vdWkvY29uc29s ZS12Yy5jOjMzMgotICMxICAweDAwMDA1NTU1NTU5ZTE4ZTUgaW4gcWVtdV90ZXh0X2NvbnNvbGVf cHV0X2tleXN5bSAocz08b3B0aW1pemVkIG91dD4sIGtleXN5bT08b3B0aW1pemVkIG91dD4pIGF0 IC4uL3VpL2NvbnNvbGUuYzozMDMKLSAjMiAgMHgwMDAwNTU1NTU1OWYyZTg4IGluIGRvX2tleV9l dmVudCAodnM9dnNAZW50cnk9MHg1NTU1NTc5MDQ1YzAsIGRvd249ZG93bkBlbnRyeT0xLCBrZXlj b2RlPWtleWNvZGVAZW50cnk9NjAsIHN5bT1zeW1AZW50cnk9NjU0NzEpIGF0IC4uL3VpL3ZuYy5j OjIwMzQKLSAjMyAgMHgwMDAwNTU1NTU1OWY4NDVjIGluIGV4dF9rZXlfZXZlbnQgKHZzPTB4NTU1 NTU3OTA0NWMwLCBkb3duPTEsIHN5bT02NTQ3MSwga2V5Y29kZT08b3B0aW1pemVkIG91dD4pIGF0 IC4uL3VpL3ZuYy5jOjIwNzAKLSAjNCAgcHJvdG9jb2xfY2xpZW50X21zZyAodnM9MHg1NTU1NTc5 MDQ1YzAsIGRhdGE9PG9wdGltaXplZCBvdXQ+LCBsZW49PG9wdGltaXplZCBvdXQ+KSBhdCAuLi91 aS92bmMuYzoyNTE0Ci0gIzUgIDB4MDAwMDU1NTU1NTlmNTE1YyBpbiB2bmNfY2xpZW50X3JlYWQg KHZzPTB4NTU1NTU3OTA0NWMwKSBhdCAuLi91aS92bmMuYzoxNjA3Ci0KLUZpeGVzOiBlOTk0NDFh Mzc5M2I1ICgidWkvY3Vyc2VzOiBEbyBub3QgdXNlIGNvbnNvbGVfc2VsZWN0KCkiKQotRml4ZXM6 IGh0dHBzOi8vaXNzdWVzLnJlZGhhdC5jb20vYnJvd3NlL1JIRUwtNTA1MjkKLUNjOiBxZW11LXN0 YWJsZUBub25nbnUub3JnCi1TaWduZWQtb2ZmLWJ5OiBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNh bmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4KLVJldmlld2VkLWJ5OiBBa2loaWtvIE9kYWtpIDxha2lo aWtvLm9kYWtpQGRheW5peC5jb20+Ci0ocGlja2VkIGZyb20gaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvcWVtdS1kZXZlbC8yMDI0MDgyMDEzMTExMi4xMjY3OTU0LTEtbWFyY2FuZHJlLmx1cmVhdUBy ZWRoYXQuY29tLykKLVNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3gu Y29tPgotLS0tCi0gdWkvdm5jLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS91aS92bmMuYyBiL3VpL3ZuYy5jCi1p bmRleCBiM2ZkNzgwMjJiLi45NTNlYTM4MzE4IDEwMDY0NAotLS0tIGEvdWkvdm5jLmMKLSsrKyBi L3VpL3ZuYy5jCi1AQCAtMTkzNSw3ICsxOTM1LDcgQEAgc3RhdGljIHZvaWQgZG9fa2V5X2V2ZW50 KFZuY1N0YXRlICp2cywgaW50IGRvd24sIGludCBrZXljb2RlLCBpbnQgc3ltKQotICAgICB9Ci0g Ci0gICAgIHFrYmRfc3RhdGVfa2V5X2V2ZW50KHZzLT52ZC0+a2JkLCBxY29kZSwgZG93bik7Ci0t ICAgIGlmICghcWVtdV9jb25zb2xlX2lzX2dyYXBoaWModnMtPnZkLT5kY2wuY29uKSkgewotKyAg ICBpZiAoUUVNVV9JU19URVhUX0NPTlNPTEUodnMtPnZkLT5kY2wuY29uKSkgewotICAgICAgICAg UWVtdVRleHRDb25zb2xlICpjb24gPSBRRU1VX1RFWFRfQ09OU09MRSh2cy0+dmQtPmRjbC5jb24p OwotICAgICAgICAgYm9vbCBudW1sb2NrID0gcWtiZF9zdGF0ZV9tb2RpZmllcl9nZXQodnMtPnZk LT5rYmQsIFFLQkRfTU9EX05VTUxPQ0spOwotICAgICAgICAgYm9vbCBjb250cm9sID0gcWtiZF9z dGF0ZV9tb2RpZmllcl9nZXQodnMtPnZkLT5rYmQsIFFLQkRfTU9EX0NUUkwpOwpkaWZmIC0tZ2l0 IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzNS1uYmQtc2VydmVyLUNWRS0yMDI0LTc0MDktQXZv aWQtdXNlLWFmdGVyLWZyZWUtd2hlbi1jLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAz NS1uYmQtc2VydmVyLUNWRS0yMDI0LTc0MDktQXZvaWQtdXNlLWFmdGVyLWZyZWUtd2hlbi1jLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDBhNDM4Li4wMDAwMDAwCi0tLSBh L2RlYmlhbi9wYXRjaGVzL2V4dHJhLzAwMzUtbmJkLXNlcnZlci1DVkUtMjAyNC03NDA5LUF2b2lk LXVzZS1hZnRlci1mcmVlLXdoZW4tYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAg QEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPgot RGF0ZTogVGh1LCAyMiBBdWcgMjAyNCAwOTozNToyOSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBu YmQvc2VydmVyOiBDVkUtMjAyNC03NDA5OiBBdm9pZCB1c2UtYWZ0ZXItZnJlZSB3aGVuIGNsb3Np bmcKLSBzZXJ2ZXIKLQotQ29tbWl0IDNlN2VmNzM4IHBsdWdnZWQgdGhlIHVzZS1hZnRlci1mcmVl IG9mIHRoZSBnbG9iYWwgbmJkX3NlcnZlcgotb2JqZWN0LCBidXQgb3Zlcmxvb2tlZCBhIHVzZS1h ZnRlci1mcmVlIG9mIG5iZF9zZXJ2ZXItPmxpc3RlbmVyLgotQWx0aG91Z2ggdGhpcyByYWNlIGlz IGhhcmRlciB0byBoaXQsIG5vdGljZSB0aGF0IG91ciBzaHV0ZG93biBwYXRoCi1maXJzdCBkcm9w cyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIG5iZF9zZXJ2ZXItPmxpc3RlbmVyLCB0aGVuIHRyaWdn ZXJzCi1hY3Rpb25zIHRoYXQgY2FuIHJlc3VsdCBpbiBhIHBlbmRpbmcgY2xpZW50IHJlYWNoaW5n IHRoZQotbmJkX2Jsb2NrZGV2X2NsaWVudF9jbG9zZWQoKSBjYWxsYmFjaywgd2hpY2ggaW4gdHVy biBjYWxscwotcWlvX25ldF9saXN0ZW5lcl9zZXRfY2xpZW50X2Z1bmMgb24gYSBwb3RlbnRpYWxs eSBzdGFsZSBvYmplY3QuCi0KLUlmIHdlIGtub3cgd2UgZG9uJ3Qgd2FudCBhbnkgbW9yZSBjbGll bnRzIHRvIGNvbm5lY3QsIGFuZCBoYXZlIGFscmVhZHkKLXRvbGQgdGhlIGxpc3RlbmVyIHNvY2tl dCB0byBzaHV0IGRvd24sIHRoZW4gd2Ugc2hvdWxkIG5vdCBiZSB0cnlpbmcgdG8KLXVwZGF0ZSB0 aGUgbGlzdGVuZXIgc29ja2V0J3MgYXNzb2NpYXRlZCBmdW5jdGlvbi4KLQotUmVwcm9kdWNlcjoK LQotPiAjIS91c3IvYmluL3B5dGhvbjMKLT4KLT4gaW1wb3J0IG9zCi0+IGZyb20gdGhyZWFkaW5n IGltcG9ydCBUaHJlYWQKLT4KLT4gZGVmIHN0YXJ0X3N0b3AoKToKLT4gICAgIHdoaWxlIDE6Ci0+ ICAgICAgICAgb3Muc3lzdGVtKCd2aXJzaCBxZW11LW1vbml0b3ItY29tbWFuZCBWTSBcJ3siZXhl Y3V0ZSI6ICJuYmQtc2VydmVyLXN0YXJ0IiwKLSsiYXJndW1lbnRzIjp7ImFkZHIiOnsidHlwZSI6 InVuaXgiLCJkYXRhIjp7InBhdGgiOiIvdG1wL25iZC1zb2NrIn19fX1cJycpCi0+ICAgICAgICAg b3Muc3lzdGVtKCd2aXJzaCBxZW11LW1vbml0b3ItY29tbWFuZCBWTSBcJ3siZXhlY3V0ZSI6ICJu YmQtc2VydmVyLXN0b3AifVwnJykKLT4KLT4gZGVmIG5iZF9saXN0KCk6Ci0+ICAgICB3aGlsZSAx OgotPiAgICAgICAgIG9zLnN5c3RlbSgnL3BhdGgvdG8vYnVpbGQvcWVtdS1uYmQgLUwgLWsgL3Rt cC9uYmQtc29jaycpCi0+Ci0+IGRlZiB0ZXN0KCk6Ci0+ICAgICBzc3QgPSBUaHJlYWQodGFyZ2V0 PXN0YXJ0X3N0b3ApCi0+ICAgICBzc3Quc3RhcnQoKQotPiAgICAgbmx0ID0gVGhyZWFkKHRhcmdl dD1uYmRfbGlzdCkKLT4gICAgIG5sdC5zdGFydCgpCi0+Ci0+ICAgICBzc3Quam9pbigpCi0+ICAg ICBubHQuam9pbigpCi0+Ci0+IHRlc3QoKQotCi1GaXhlczogQ1ZFLTIwMjQtNzQwOQotRml4ZXM6 IDNlN2VmNzM4YzggKCJuYmQvc2VydmVyOiBDVkUtMjAyNC03NDA5OiBDbG9zZSBzdHJheSBjbGll bnRzIGF0IHNlcnZlci1zdG9wIikKLUNDOiBxZW11LXN0YWJsZUBub25nbnUub3JnCi1SZXBvcnRl ZC1ieTogQW5kcmV5IERyb2J5c2hldiA8YW5kcmV5LmRyb2J5c2hldkB2aXJ0dW96em8uY29tPgot U2lnbmVkLW9mZi1ieTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+Ci1NZXNzYWdlLUlE OiA8MjAyNDA4MjIxNDM2MTcuODAwNDE5LTItZWJsYWtlQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1i eTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgotKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgMzg3NGY1ZjczYzQ0MWM1MmYxYzY5OWM4NDhkNDYzYjBlZGEwMWU0YykKLVNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotLS0tCi0gYmxv Y2tkZXYtbmJkLmMgfCAxMiArKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYmxvY2tkZXYtbmJkLmMgYi9i bG9ja2Rldi1uYmQuYwotaW5kZXggZjczNDA5YWU0OS4uYjM2ZjQxYjdjNSAxMDA2NDQKLS0tLSBh L2Jsb2NrZGV2LW5iZC5jCi0rKysgYi9ibG9ja2Rldi1uYmQuYwotQEAgLTkyLDEwICs5MiwxMyBA QCBzdGF0aWMgdm9pZCBuYmRfYWNjZXB0KFFJT05ldExpc3RlbmVyICpsaXN0ZW5lciwgUUlPQ2hh bm5lbFNvY2tldCAqY2lvYywKLSAKLSBzdGF0aWMgdm9pZCBuYmRfdXBkYXRlX3NlcnZlcl93YXRj aChOQkRTZXJ2ZXJEYXRhICpzKQotIHsKLS0gICAgaWYgKCFzLT5tYXhfY29ubmVjdGlvbnMgfHwg cy0+Y29ubmVjdGlvbnMgPCBzLT5tYXhfY29ubmVjdGlvbnMpIHsKLS0gICAgICAgIHFpb19uZXRf bGlzdGVuZXJfc2V0X2NsaWVudF9mdW5jKHMtPmxpc3RlbmVyLCBuYmRfYWNjZXB0LCBOVUxMLCBO VUxMKTsKLS0gICAgfSBlbHNlIHsKLS0gICAgICAgIHFpb19uZXRfbGlzdGVuZXJfc2V0X2NsaWVu dF9mdW5jKHMtPmxpc3RlbmVyLCBOVUxMLCBOVUxMLCBOVUxMKTsKLSsgICAgaWYgKHMtPmxpc3Rl bmVyKSB7Ci0rICAgICAgICBpZiAoIXMtPm1heF9jb25uZWN0aW9ucyB8fCBzLT5jb25uZWN0aW9u cyA8IHMtPm1heF9jb25uZWN0aW9ucykgewotKyAgICAgICAgICAgIHFpb19uZXRfbGlzdGVuZXJf c2V0X2NsaWVudF9mdW5jKHMtPmxpc3RlbmVyLCBuYmRfYWNjZXB0LCBOVUxMLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotKyAgICAgICAgfSBl bHNlIHsKLSsgICAgICAgICAgICBxaW9fbmV0X2xpc3RlbmVyX3NldF9jbGllbnRfZnVuYyhzLT5s aXN0ZW5lciwgTlVMTCwgTlVMTCwgTlVMTCk7Ci0rICAgICAgICB9Ci0gICAgIH0KLSB9Ci0gCi1A QCAtMTEzLDYgKzExNiw3IEBAIHN0YXRpYyB2b2lkIG5iZF9zZXJ2ZXJfZnJlZShOQkRTZXJ2ZXJE YXRhICpzZXJ2ZXIpCi0gICAgICAqLwotICAgICBxaW9fbmV0X2xpc3RlbmVyX2Rpc2Nvbm5lY3Qo c2VydmVyLT5saXN0ZW5lcik7Ci0gICAgIG9iamVjdF91bnJlZihPQkpFQ1Qoc2VydmVyLT5saXN0 ZW5lcikpOwotKyAgICBzZXJ2ZXItPmxpc3RlbmVyID0gTlVMTDsKLSAgICAgUUxJU1RfRk9SRUFD SF9TQUZFKGNvbm4sICZzZXJ2ZXItPmNvbm5zLCBuZXh0LCB0bXApIHsKLSAgICAgICAgIHFpb19j aGFubmVsX3NodXRkb3duKFFJT19DSEFOTkVMKGNvbm4tPmNpb2MpLCBRSU9fQ0hBTk5FTF9TSFVU RE9XTl9CT1RILAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CmRpZmYgLS1n aXQgYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDM2LXNvZnRtbXUtcGh5c21lbS1maXgtbWVtb3J5 LWxlYWstaW4tZGlydHlfbWVtb3J5X2V4dGUucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9leHRyYS8w MDM2LXNvZnRtbXUtcGh5c21lbS1maXgtbWVtb3J5LWxlYWstaW4tZGlydHlfbWVtb3J5X2V4dGUu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExODU3NDQuLjAwMDAwMDAKLS0t IGEvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzNi1zb2Z0bW11LXBoeXNtZW0tZml4LW1lbW9yeS1s ZWFrLWluLWRpcnR5X21lbW9yeV9leHRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICsw LDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERhdmlkIEhpbGRlbmJyYW5kIDxkYXZpZEByZWRo YXQuY29tPgotRGF0ZTogV2VkLCAyOCBBdWcgMjAyNCAxMTowNzo0MyArMDIwMAotU3ViamVjdDog W1BBVENIXSBzb2Z0bW11L3BoeXNtZW06IGZpeCBtZW1vcnkgbGVhayBpbiBkaXJ0eV9tZW1vcnlf ZXh0ZW5kKCkKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotQXMgcmVwb3J0 ZWQgYnkgUGV0ZXIsIHdlIG1pZ2h0IGJlIGxlYWtpbmcgbWVtb3J5IHdoZW4gcmVtb3ZpbmcgdGhl Ci1oaWdoZXN0IFJBTUJsb2NrIChpbiB0aGUgd2VpcmQgcmFtX2FkZHJfdCBzcGFjZSksIGFuZCBh ZGRpbmcgYSBuZXcgb25lLgotCi1XZSB3aWxsIGZhaWwgdG8gcmVhbGl6ZSB0aGF0IHdlIGFscmVh ZHkgYWxsb2NhdGVkIGJpdG1hcHMgZm9yIG1vcmUKLWRpcnR5IG1lbW9yeSBibG9ja3MsIGFuZCBl ZmZlY3RpdmVseSBkaXNjYXJkIHRoZSBwb2ludGVycyB0byB0aGVtLgotCi1GaXggaXQgYnkgZ2V0 dGluZyByaWQgb2YgbGFzdF9yYW1fcGFnZSgpIGFuZCBieSByZW1lbWJlcmluZyB0aGUgbnVtYmVy Ci1vZiBkaXJ0eSBtZW1vcnkgYmxvY2tzIHRoYXQgaGF2ZSBiZWVuIGFsbG9jYXRlZCBhbHJlYWR5 LgotCi1XaGlsZSBhdCBpdCwgbGV0J3MgdXNlICJ1bnNpZ25lZCBpbnQiIGZvciB0aGUgbnVtYmVy IG9mIGJsb2Nrcywgd2hpY2gKLXNob3VsZCBiZSBzdWZmaWNpZW50IHVudGlsIHdlIHJlYWNoIH4z MiBleGFieXRlcy4KLQotTG9va3MgbGlrZSB0aGlzIGxlYWsgd2FzIGludHJvZHVjZWQgYXMgd2Ug c3dpdGNoZWQgZnJvbSB1c2luZyBhIHNpbmdsZQotYml0bWFwX3plcm9fZXh0ZW5kKCkgdG8gYWxs b2NhdGluZyBtdWx0aXBsZSBiaXRtYXBzOgotYml0bWFwX3plcm9fZXh0ZW5kKCkgcmVsaWVzIG9u IGdfcmVuZXcoKSB3aGljaCBzaG91bGQgaGF2ZSB0YWtlbiBjYXJlIG9mCi10aGlzLgotCi1SZXNv bHZlczogaHR0cHM6Ly9sa21sLmtlcm5lbC5vcmcvci9DQUZFQWNBLWs3YStWT2JHQWZDRk55Z1FO ZkNLTD1BZlg2QTRrU2NxPVZTU0swcGVxUGdAbWFpbC5nbWFpbC5jb20KLVJlcG9ydGVkLWJ5OiBQ ZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+Ci1GaXhlczogNWI4MmI3MDNi NjlhICgibWVtb3J5OiBSQ1UgcmFtX2xpc3QuZGlydHlfbWVtb3J5W10gZm9yIHNhZmUgUkFNIGhv dHBsdWciKQotUmV2aWV3ZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNv bT4KLVJldmlld2VkLWJ5OiBQZXRlciBYdSA8cGV0ZXJ4QHJlZGhhdC5jb20+Ci1UZXN0ZWQtYnk6 IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KLUNjOiBxZW11LXN0YWJs ZUBub25nbnUub3JnCi1DYzogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgot Q2M6IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+Ci1DYzogUGV0ZXIgWHUgPHBl dGVyeEByZWRoYXQuY29tPgotQ2M6ICJQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSIgPHBoaWxtZEBs aW5hcm8ub3JnPgotU2lnbmVkLW9mZi1ieTogRGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlkQHJlZGhh dC5jb20+Ci0ocGlja2VkIGZyb20gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8y MDI0MDgyODA5MDc0My4xMjg2NDctMS1kYXZpZEByZWRoYXQuY29tLykKLVtGRTogYmFja3BvcnQg LSByZW1vdmUgbm90LXlldC1leGlzdGluZyB2YXJpYWJsZSBpbiBjb250ZXh0IG9mIGh1bmsgdG91 Y2hpbmcgcmFtX2Jsb2NrX2FkZCgpXQotU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJu ZXJAcHJveG1veC5jb20+Ci0tLS0KLSBpbmNsdWRlL2V4ZWMvcmFtbGlzdC5oIHwgIDEgKwotIHN5 c3RlbS9waHlzbWVtLmMgICAgICAgfCAzNSArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL2V4ZWMvcmFtbGlzdC5oIGIvaW5jbHVkZS9leGVjL3Jh bWxpc3QuaAotaW5kZXggMmFkMmE4MWFjYy4uZDljZmU1MzBiZSAxMDA2NDQKLS0tLSBhL2luY2x1 ZGUvZXhlYy9yYW1saXN0LmgKLSsrKyBiL2luY2x1ZGUvZXhlYy9yYW1saXN0LmgKLUBAIC01MCw2 ICs1MCw3IEBAIHR5cGVkZWYgc3RydWN0IFJBTUxpc3QgewotICAgICAvKiBSQ1UtZW5hYmxlZCwg d3JpdGVzIHByb3RlY3RlZCBieSB0aGUgcmFtbGlzdCBsb2NrLiAqLwotICAgICBRTElTVF9IRUFE KCwgUkFNQmxvY2spIGJsb2NrczsKLSAgICAgRGlydHlNZW1vcnlCbG9ja3MgKmRpcnR5X21lbW9y eVtESVJUWV9NRU1PUllfTlVNXTsKLSsgICAgdW5zaWduZWQgaW50IG51bV9kaXJ0eV9ibG9ja3M7 Ci0gICAgIHVpbnQzMl90IHZlcnNpb247Ci0gICAgIFFMSVNUX0hFQUQoLCBSQU1CbG9ja05vdGlm aWVyKSByYW1ibG9ja19ub3RpZmllcnM7Ci0gfSBSQU1MaXN0OwotZGlmZiAtLWdpdCBhL3N5c3Rl bS9waHlzbWVtLmMgYi9zeXN0ZW0vcGh5c21lbS5jCi1pbmRleCBhNGZlM2QyYmY4Li43OGY3ZGIx MTIxIDEwMDY0NAotLS0tIGEvc3lzdGVtL3BoeXNtZW0uYwotKysrIGIvc3lzdGVtL3BoeXNtZW0u YwotQEAgLTE0OTcsMTggKzE0OTcsNiBAQCBzdGF0aWMgcmFtX2FkZHJfdCBmaW5kX3JhbV9vZmZz ZXQocmFtX2FkZHJfdCBzaXplKQotICAgICByZXR1cm4gb2Zmc2V0OwotIH0KLSAKLS1zdGF0aWMg dW5zaWduZWQgbG9uZyBsYXN0X3JhbV9wYWdlKHZvaWQpCi0tewotLSAgICBSQU1CbG9jayAqYmxv Y2s7Ci0tICAgIHJhbV9hZGRyX3QgbGFzdCA9IDA7Ci0tCi0tICAgIFJDVV9SRUFEX0xPQ0tfR1VB UkQoKTsKLS0gICAgUkFNQkxPQ0tfRk9SRUFDSChibG9jaykgewotLSAgICAgICAgbGFzdCA9IE1B WChsYXN0LCBibG9jay0+b2Zmc2V0ICsgYmxvY2stPm1heF9sZW5ndGgpOwotLSAgICB9Ci0tICAg IHJldHVybiBsYXN0ID4+IFRBUkdFVF9QQUdFX0JJVFM7Ci0tfQotLQotIHN0YXRpYyB2b2lkIHFl bXVfcmFtX3NldHVwX2R1bXAodm9pZCAqYWRkciwgcmFtX2FkZHJfdCBzaXplKQotIHsKLSAgICAg aW50IHJldDsKLUBAIC0xNzYyLDEzICsxNzUwLDExIEBAIHZvaWQgcWVtdV9yYW1fbXN5bmMoUkFN QmxvY2sgKmJsb2NrLCByYW1fYWRkcl90IHN0YXJ0LCByYW1fYWRkcl90IGxlbmd0aCkKLSB9Ci0g Ci0gLyogQ2FsbGVkIHdpdGggcmFtX2xpc3QubXV0ZXggaGVsZCAqLwotLXN0YXRpYyB2b2lkIGRp cnR5X21lbW9yeV9leHRlbmQocmFtX2FkZHJfdCBvbGRfcmFtX3NpemUsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByYW1fYWRkcl90IG5ld19yYW1fc2l6ZSkKLStzdGF0aWMgdm9p ZCBkaXJ0eV9tZW1vcnlfZXh0ZW5kKHJhbV9hZGRyX3QgbmV3X3JhbV9zaXplKQotIHsKLS0gICAg cmFtX2FkZHJfdCBvbGRfbnVtX2Jsb2NrcyA9IERJVl9ST1VORF9VUChvbGRfcmFtX3NpemUsCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElSVFlfTUVNT1JZ X0JMT0NLX1NJWkUpOwotLSAgICByYW1fYWRkcl90IG5ld19udW1fYmxvY2tzID0gRElWX1JPVU5E X1VQKG5ld19yYW1fc2l6ZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBESVJUWV9NRU1PUllfQkxPQ0tfU0laRSk7Ci0rICAgIHVuc2lnbmVkIGludCBvbGRf bnVtX2Jsb2NrcyA9IHJhbV9saXN0Lm51bV9kaXJ0eV9ibG9ja3M7Ci0rICAgIHVuc2lnbmVkIGlu dCBuZXdfbnVtX2Jsb2NrcyA9IERJVl9ST1VORF9VUChuZXdfcmFtX3NpemUsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVJUWV9NRU1PUllfQkxPQ0tf U0laRSk7Ci0gICAgIGludCBpOwotIAotICAgICAvKiBPbmx5IG5lZWQgdG8gZXh0ZW5kIGlmIGJs b2NrIGNvdW50IGluY3JlYXNlZCAqLwotQEAgLTE4MDAsNiArMTc4Niw4IEBAIHN0YXRpYyB2b2lk IGRpcnR5X21lbW9yeV9leHRlbmQocmFtX2FkZHJfdCBvbGRfcmFtX3NpemUsCi0gICAgICAgICAg ICAgZ19mcmVlX3JjdShvbGRfYmxvY2tzLCByY3UpOwotICAgICAgICAgfQotICAgICB9Ci0rCi0r ICAgIHJhbV9saXN0Lm51bV9kaXJ0eV9ibG9ja3MgPSBuZXdfbnVtX2Jsb2NrczsKLSB9Ci0gCi0g c3RhdGljIHZvaWQgcmFtX2Jsb2NrX2FkZChSQU1CbG9jayAqbmV3X2Jsb2NrLCBFcnJvciAqKmVy cnApCi1AQCAtMTgwOCwxMSArMTc5Niw5IEBAIHN0YXRpYyB2b2lkIHJhbV9ibG9ja19hZGQoUkFN QmxvY2sgKm5ld19ibG9jaywgRXJyb3IgKiplcnJwKQotICAgICBjb25zdCBib29sIHNoYXJlZCA9 IHFlbXVfcmFtX2lzX3NoYXJlZChuZXdfYmxvY2spOwotICAgICBSQU1CbG9jayAqYmxvY2s7Ci0g ICAgIFJBTUJsb2NrICpsYXN0X2Jsb2NrID0gTlVMTDsKLS0gICAgcmFtX2FkZHJfdCBvbGRfcmFt X3NpemUsIG5ld19yYW1fc2l6ZTsKLSsgICAgcmFtX2FkZHJfdCByYW1fc2l6ZTsKLSAgICAgRXJy b3IgKmVyciA9IE5VTEw7Ci0gCi0tICAgIG9sZF9yYW1fc2l6ZSA9IGxhc3RfcmFtX3BhZ2UoKTsK LS0KLSAgICAgcWVtdV9tdXRleF9sb2NrX3JhbWxpc3QoKTsKLSAgICAgbmV3X2Jsb2NrLT5vZmZz ZXQgPSBmaW5kX3JhbV9vZmZzZXQobmV3X2Jsb2NrLT5tYXhfbGVuZ3RoKTsKLSAKLUBAIC0xODQw LDExICsxODI2LDggQEAgc3RhdGljIHZvaWQgcmFtX2Jsb2NrX2FkZChSQU1CbG9jayAqbmV3X2Js b2NrLCBFcnJvciAqKmVycnApCi0gICAgICAgICB9Ci0gICAgIH0KLSAKLS0gICAgbmV3X3JhbV9z aXplID0gTUFYKG9sZF9yYW1fc2l6ZSwKLS0gICAgICAgICAgICAgIChuZXdfYmxvY2stPm9mZnNl dCArIG5ld19ibG9jay0+bWF4X2xlbmd0aCkgPj4gVEFSR0VUX1BBR0VfQklUUyk7Ci0tICAgIGlm IChuZXdfcmFtX3NpemUgPiBvbGRfcmFtX3NpemUpIHsKLS0gICAgICAgIGRpcnR5X21lbW9yeV9l eHRlbmQob2xkX3JhbV9zaXplLCBuZXdfcmFtX3NpemUpOwotLSAgICB9Ci0rICAgIHJhbV9zaXpl ID0gKG5ld19ibG9jay0+b2Zmc2V0ICsgbmV3X2Jsb2NrLT5tYXhfbGVuZ3RoKSA+PiBUQVJHRVRf UEFHRV9CSVRTOwotKyAgICBkaXJ0eV9tZW1vcnlfZXh0ZW5kKHJhbV9zaXplKTsKLSAgICAgLyog S2VlcCB0aGUgbGlzdCBzb3J0ZWQgZnJvbSBiaWdnZXN0IHRvIHNtYWxsZXN0IGJsb2NrLiAgVW5s aWtlIFFUQUlMUSwKLSAgICAgICogUUxJU1QgKHdoaWNoIGhhcyBhbiBSQ1UtZnJpZW5kbHkgdmFy aWFudCkgZG9lcyBub3QgaGF2ZSBpbnNlcnRpb24gYXQKLSAgICAgICogdGFpbCwgc28gc2F2ZSB0 aGUgbGFzdCBlbGVtZW50IGluIGxhc3RfYmxvY2suCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hl cy9leHRyYS8wMDM3LWJsb2NrLXJlcWxpc3QtYWxsb3ctYWRkaW5nLW92ZXJsYXBwaW5nLXJlcXVl c3RzLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvZXh0cmEvMDAzNy1ibG9jay1yZXFsaXN0LWFsbG93 LWFkZGluZy1vdmVybGFwcGluZy1yZXF1ZXN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggM2E5ZTEzMS4uMDAwMDAwMAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9leHRyYS8wMDM3 LWJsb2NrLXJlcWxpc3QtYWxsb3ctYWRkaW5nLW92ZXJsYXBwaW5nLXJlcXVlc3RzLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTA0ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZpb25h IEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgotRGF0ZTogVGh1LCA3IE5vdiAyMDI0IDE3OjUx OjEzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJsb2NrL3JlcWxpc3Q6IGFsbG93IGFkZGluZyBv dmVybGFwcGluZyByZXF1ZXN0cwotCi1BbGxvdyBvdmVybGFwcGluZyByZXF1ZXN0IGJ5IHJlbW92 aW5nIHRoZSBhc3NlcnQgdGhhdCBtYWRlIGl0Ci1pbXBvc3NpYmxlLiBUaGVyZSBhcmUgb25seSB0 d28gY2FsbGVyczoKLQotMS4gYmxvY2tfY29weV90YXNrX2NyZWF0ZSgpCi0KLUl0IGFscmVhZHkg YXNzZXJ0cyB0aGUgdmVyeSBzYW1lIGNvbmRpdGlvbiBiZWZvcmUgY2FsbGluZwotcmVxbGlzdF9p bml0X3JlcSgpLgotCi0yLiBjYndfc25hcHNob3RfcmVhZF9sb2NrKCkKLQotVGhlcmUgaXMgbm8g bmVlZCB0byBoYXZlIHJlYWQgcmVxdWVzdHMgYmUgbm9uLW92ZXJsYXBwaW5nIGluCi1jb3B5LWJl Zm9yZS13cml0ZSB3aGVuIHVzZWQgZm9yIHNuYXBzaG90LWFjY2Vzcy4gSW4gZmFjdCwgdGhlcmUg d2FzIG5vCi1wcm90ZWN0aW9uIGFnYWluc3QgdHdvIGNhbGxlcnMgb2YgY2J3X3NuYXBzaG90X3Jl YWRfbG9jaygpIGNhbGxpbmcKLXJlcWxpc3RfaW5pdF9yZXEoKSB3aXRoIG92ZXJsYXBwaW5nIHJh bmdlcyBhbmQgdGhpcyBjb3VsZCBsZWFkIHRvIGFuCi1hc3NlcnRpb24gZmFpbHVyZSBbMV0uCi0K LUluIHBhcnRpY3VsYXIsIHdpdGggdGhlIHJlcHJvZHVjZXIgc2NyaXB0IGJlbG93IFswXSwgdHdv Ci1jYndfY29fc25hcHNob3RfYmxvY2tfc3RhdHVzKCkgY2FsbGVycyBjb3VsZCByYWNlLCB3aXRo IHRoZSBzZWNvbmQKLWNhbGxpbmcgcmVxbGlzdF9pbml0X3JlcSgpIGJlZm9yZSB0aGUgZmlyc3Qg b25lIGZpbmlzaGVzIGFuZCByZW1vdmVzCi1pdHMgY29uZmxpY3RpbmcgcmVxdWVzdC4KLQotWzBd OgotCi0+ICMhL2Jpbi9iYXNoIC1lCi0+IGRkIGlmPS9kZXYvdXJhbmRvbSBvZj0vdG1wL2Rpc2su cmF3IGJzPTFNIGNvdW50PTEwMjQKLT4gLi9xZW11LWltZyBjcmVhdGUgL3RtcC9mbGVlY2luZy5y YXcgLWYgcmF3IDFHCi0+ICgKLT4gLi9xZW11LXN5c3RlbS14ODZfNjQgLS1xbXAgc3RkaW8gXAot PiAtLWJsb2NrZGV2IHJhdyxub2RlLW5hbWU9bm9kZTAsZmlsZS5kcml2ZXI9ZmlsZSxmaWxlLmZp bGVuYW1lPS90bXAvZGlzay5yYXcgXAotPiAtLWJsb2NrZGV2IHJhdyxub2RlLW5hbWU9bm9kZTEs ZmlsZS5kcml2ZXI9ZmlsZSxmaWxlLmZpbGVuYW1lPS90bXAvZmxlZWNpbmcucmF3IFwKLT4gPDxF T0YKLT4geyJleGVjdXRlIjogInFtcF9jYXBhYmlsaXRpZXMifQotPiB7ImV4ZWN1dGUiOiAiYmxv Y2tkZXYtYWRkIiwgImFyZ3VtZW50cyI6IHsgImRyaXZlciI6ICJjb3B5LWJlZm9yZS13cml0ZSIs ICJmaWxlIjogIm5vZGUwIiwgInRhcmdldCI6ICJub2RlMSIsICJub2RlLW5hbWUiOiAibm9kZTMi IH0gfQotPiB7ImV4ZWN1dGUiOiAiYmxvY2tkZXYtYWRkIiwgImFyZ3VtZW50cyI6IHsgImRyaXZl ciI6ICJzbmFwc2hvdC1hY2Nlc3MiLCAiZmlsZSI6ICJub2RlMyIsICJub2RlLW5hbWUiOiAic25h cDAiIH0gfQotPiB7ImV4ZWN1dGUiOiAibmJkLXNlcnZlci1zdGFydCIsICJhcmd1bWVudHMiOiB7 ImFkZHIiOiB7ICJ0eXBlIjogInVuaXgiLCAiZGF0YSI6IHsgInBhdGgiOiAiL3RtcC9uYmQuc29j a2V0IiB9IH0gfSB9Ci0+IHsiZXhlY3V0ZSI6ICJibG9jay1leHBvcnQtYWRkIiwgImFyZ3VtZW50 cyI6IHsiaWQiOiAiZXhwMCIsICJub2RlLW5hbWUiOiAic25hcDAiLCAidHlwZSI6ICJuYmQiLCAi bmFtZSI6ICJleHAwIn19Ci0+IEVPRgotPiApICYKLT4gc2xlZXAgNQotPiB3aGlsZSB0cnVlOyBk bwotPiAuL3FlbXUtbmJkIC1kIC9kZXYvbmJkMAotPiAuL3FlbXUtbmJkIC1jIC9kZXYvbmJkMCBu YmQ6dW5peDovdG1wL25iZC5zb2NrZXQ6ZXhwb3J0bmFtZT1leHAwIC1mIHJhdyAtcgotPiBuYmRp bmZvIC0tbWFwICduYmQrdW5peDovLy9leHAwP3NvY2tldD0vdG1wL25iZC5zb2NrZXQnCi0+IGRv bmUKLQotWzFdOgotCi0+ICM1ICAweDAwMDA3MWU1ZjAwODhlYjIgaW4gX19HSV9fX2Fzc2VydF9m YWlsICguLi4pIGF0IC4vYXNzZXJ0L2Fzc2VydC5jOjEwMQotPiAjNiAgMHgwMDAwNjE1Mjg1NDM4 MDE3IGluIHJlcWxpc3RfaW5pdF9yZXEgKC4uLikgYXQgLi4vYmxvY2svcmVxbGlzdC5jOjIzCi0+ ICM3ICAweDAwMDA2MTUyODUzZTJkOTggaW4gY2J3X3NuYXBzaG90X3JlYWRfbG9jayAoLi4uKSBh dCAuLi9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jOjIzNwotPiAjOCAgMHgwMDAwNjE1Mjg1M2Uz MDY4IGluIGNid19jb19zbmFwc2hvdF9ibG9ja19zdGF0dXMgKC4uLikgYXQgLi4vYmxvY2svY29w eS1iZWZvcmUtd3JpdGUuYzozMDQKLT4gIzkgIDB4MDAwMDYxNTI4NTNmNGQyMiBpbiBiZHJ2X2Nv X3NuYXBzaG90X2Jsb2NrX3N0YXR1cyAoLi4uKSBhdCAuLi9ibG9jay9pby5jOjM3MjYKLT4gIzEw IDB4MDAwMDYxNTI4NTQzYTYzZSBpbiBzbmFwc2hvdF9hY2Nlc3NfY29fYmxvY2tfc3RhdHVzICgu Li4pIGF0IC4uL2Jsb2NrL3NuYXBzaG90LWFjY2Vzcy5jOjQ4Ci0+ICMxMSAweDAwMDA2MTUyODUz ZjFhMGEgaW4gYmRydl9jb19kb19ibG9ja19zdGF0dXMgKC4uLikgYXQgLi4vYmxvY2svaW8uYzoy NDc0Ci0+ICMxMiAweDAwMDA2MTUyODUzZjIwMTYgaW4gYmRydl9jb19jb21tb25fYmxvY2tfc3Rh dHVzX2Fib3ZlICguLi4pIGF0IC4uL2Jsb2NrL2lvLmM6MjY1MgotPiAjMTMgMHgwMDAwNjE1Mjg1 M2YyMmNmIGluIGJkcnZfY29fYmxvY2tfc3RhdHVzX2Fib3ZlICguLi4pIGF0IC4uL2Jsb2NrL2lv LmM6MjczMgotPiAjMTQgMHgwMDAwNjE1Mjg1M2Q5YTg2IGluIGJsa19jb19ibG9ja19zdGF0dXNf YWJvdmUgKC4uLikgYXQgLi4vYmxvY2svYmxvY2stYmFja2VuZC5jOjE0NzMKLT4gIzE1IDB4MDAw MDYxNTI4NTM4ZGE2YyBpbiBibG9ja3N0YXR1c190b19leHRlbnRzICguLi4pIGF0IC4uL25iZC9z ZXJ2ZXIuYzoyMzc0Ci0+ICMxNiAweDAwMDA2MTUyODUzOGRlYjEgaW4gbmJkX2NvX3NlbmRfYmxv Y2tfc3RhdHVzICguLi4pIGF0IC4uL25iZC9zZXJ2ZXIuYzoyNDgxCi0+ICMxNyAweDAwMDA2MTUy ODUzOGY0MjQgaW4gbmJkX2hhbmRsZV9yZXF1ZXN0ICguLi4pIGF0IC4uL25iZC9zZXJ2ZXIuYzoy OTc4Ci0+ICMxOCAweDAwMDA2MTUyODUzOGY5MDYgaW4gbmJkX3RyaXAgKC4uLikgYXQgLi4vbmJk L3NlcnZlci5jOjMxMjEKLT4gIzE5IDB4MDAwMDYxNTI4NTVhN2NhZiBpbiBjb3JvdXRpbmVfdHJh bXBvbGluZSAoLi4uKSBhdCAuLi91dGlsL2Nvcm91dGluZS11Y29udGV4dC5jOjE3NQotCi1DYzog cWVtdS1zdGFibGVAbm9uZ251Lm9yZwotU3VnZ2VzdGVkLWJ5OiBWbGFkaW1pciBTZW1lbnRzb3Yt T2dpZXZza2l5IDx2c2VtZW50c292QHlhbmRleC10ZWFtLnJ1PgotU2lnbmVkLW9mZi1ieTogRmlv bmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci1SZXZpZXdlZC1ieTogVmxhZGltaXIgU2Vt ZW50c292LU9naWV2c2tpeSA8dnNlbWVudHNvdkB5YW5kZXgtdGVhbS5ydT4KLS0tLQotIGJsb2Nr L2NvcHktYmVmb3JlLXdyaXRlLmMgfCAzICsrLQotIGJsb2NrL3JlcWxpc3QuYyAgICAgICAgICAg fCAyIC0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9ibG9jay9jb3B5LWJlZm9yZS13cml0ZS5jIGIvYmxvY2svY29weS1i ZWZvcmUtd3JpdGUuYwotaW5kZXggOGFiYTI3YTcxZC4uMzY5OGIzYmM2MCAxMDA2NDQKLS0tLSBh L2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRlLmMKLSsrKyBiL2Jsb2NrL2NvcHktYmVmb3JlLXdyaXRl LmMKLUBAIC02NSw3ICs2NSw4IEBAIHR5cGVkZWYgc3RydWN0IEJEUlZDb3B5QmVmb3JlV3JpdGVT dGF0ZSB7Ci0gCi0gICAgIC8qCi0gICAgICAqIEBmcm96ZW5fcmVhZF9yZXFzOiBjdXJyZW50IHJl YWQgcmVxdWVzdHMgZm9yIGZsZWVjaW5nIHVzZXIgaW4gYnMtPmZpbGUKLS0gICAgICogbm9kZS4g VGhlc2UgYXJlYXMgbXVzdCBub3QgYmUgcmV3cml0dGVuIGJ5IGd1ZXN0LgotKyAgICAgKiBub2Rl LiBUaGVzZSBhcmVhcyBtdXN0IG5vdCBiZSByZXdyaXR0ZW4gYnkgZ3Vlc3QuIFRoZXJlIGNhbiBi ZSBtdWx0aXBsZQotKyAgICAgKiBvdmVybGFwcGluZyByZWFkIHJlcXVlc3RzLgotICAgICAgKi8K LSAgICAgQmxvY2tSZXFMaXN0IGZyb3plbl9yZWFkX3JlcXM7Ci0gCi1kaWZmIC0tZ2l0IGEvYmxv Y2svcmVxbGlzdC5jIGIvYmxvY2svcmVxbGlzdC5jCi1pbmRleCAwOGNiNTdjZmE0Li4wOThlODA3 Mzc4IDEwMDY0NAotLS0tIGEvYmxvY2svcmVxbGlzdC5jCi0rKysgYi9ibG9jay9yZXFsaXN0LmMK LUBAIC0yMCw4ICsyMCw2IEBACi0gdm9pZCByZXFsaXN0X2luaXRfcmVxKEJsb2NrUmVxTGlzdCAq cmVxcywgQmxvY2tSZXEgKnJlcSwgaW50NjRfdCBvZmZzZXQsCi0gICAgICAgICAgICAgICAgICAg ICAgIGludDY0X3QgYnl0ZXMpCi0gewotLSAgICBhc3NlcnQoIXJlcWxpc3RfZmluZF9jb25mbGlj dChyZXFzLCBvZmZzZXQsIGJ5dGVzKSk7Ci0tCi0gICAgICpyZXEgPSAoQmxvY2tSZXEpIHsKLSAg ICAgICAgIC5vZmZzZXQgPSBvZmZzZXQsCi0gICAgICAgICAuYnl0ZXMgPSBieXRlcywKZGlmZiAt LWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDAxLVBWRS1Db25maWctYmxvY2stZmlsZS1jaGFu Z2UtbG9ja2luZy1kZWZhdWx0LXRvLW9mZi5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDAx LVBWRS1Db25maWctYmxvY2stZmlsZS1jaGFuZ2UtbG9ja2luZy1kZWZhdWx0LXRvLW9mZi5wYXRj aAppbmRleCBmNjhlMGRmLi4wZTVhN2QzIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUv MDAwMS1QVkUtQ29uZmlnLWJsb2NrLWZpbGUtY2hhbmdlLWxvY2tpbmctZGVmYXVsdC10by1vZmYu cGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDEtUFZFLUNvbmZpZy1ibG9jay1maWxl LWNoYW5nZS1sb2NraW5nLWRlZmF1bHQtdG8tb2ZmLnBhdGNoCkBAIC0xNCwxMCArMTQsMTAgQEAg U2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+ CiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlm ZiAtLWdpdCBhL2Jsb2NrL2ZpbGUtcG9zaXguYyBiL2Jsb2NrL2ZpbGUtcG9zaXguYwotaW5kZXgg MzU2ODRmN2UyMS4uNDNiYzBiZDUyMCAxMDA2NDQKK2luZGV4IGZmOTI4YjVlODUuLjk5ZTViZWEx Y2MgMTAwNjQ0CiAtLS0gYS9ibG9jay9maWxlLXBvc2l4LmMKICsrKyBiL2Jsb2NrL2ZpbGUtcG9z aXguYwotQEAgLTU2Myw3ICs1NjMsNyBAQCBzdGF0aWMgUWVtdU9wdHNMaXN0IHJhd19ydW50aW1l X29wdHMgPSB7CitAQCAtNTY0LDcgKzU2NCw3IEBAIHN0YXRpYyBRZW11T3B0c0xpc3QgcmF3X3J1 bnRpbWVfb3B0cyA9IHsKICAgICAgICAgIHsKICAgICAgICAgICAgICAubmFtZSA9ICJsb2NraW5n IiwKICAgICAgICAgICAgICAudHlwZSA9IFFFTVVfT1BUX1NUUklORywKQEAgLTI2LDcgKzI2LDcg QEAgaW5kZXggMzU2ODRmN2UyMS4uNDNiYzBiZDUyMCAxMDA2NDQKICAgICAgICAgIH0sCiAgICAg ICAgICB7CiAgICAgICAgICAgICAgLm5hbWUgPSAicHItbWFuYWdlciIsCi1AQCAtNjYzLDcgKzY2 Myw3IEBAIHN0YXRpYyBpbnQgcmF3X29wZW5fY29tbW9uKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBR RGljdCAqb3B0aW9ucywKK0BAIC02NjQsNyArNjY0LDcgQEAgc3RhdGljIGludCByYXdfb3Blbl9j b21tb24oQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIFFEaWN0ICpvcHRpb25zLAogICAgICAgICAgcy0+ dXNlX2xvY2sgPSBmYWxzZTsKICAgICAgICAgIGJyZWFrOwogICAgICBjYXNlIE9OX09GRl9BVVRP X0FVVE86CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwMi1QVkUtQ29uZmlnLUFk anVzdC1uZXR3b3JrLXNjcmlwdC1wYXRoLXRvLWV0Yy1rdm0ucGF0Y2ggYi9kZWJpYW4vcGF0Y2hl cy9wdmUvMDAwMi1QVkUtQ29uZmlnLUFkanVzdC1uZXR3b3JrLXNjcmlwdC1wYXRoLXRvLWV0Yy1r dm0ucGF0Y2gKaW5kZXggNjJiYmRhOC4uNjllZmQ5NCAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMDItUFZFLUNvbmZpZy1BZGp1c3QtbmV0d29yay1zY3JpcHQtcGF0aC10by1ldGMt a3ZtLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDAyLVBWRS1Db25maWctQWRqdXN0 LW5ldHdvcmstc2NyaXB0LXBhdGgtdG8tZXRjLWt2bS5wYXRjaApAQCAtOSwxMCArOSwxMCBAQCBT aWduZWQtb2ZmLWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4K ICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZm IC0tZ2l0IGEvaW5jbHVkZS9uZXQvbmV0LmggYi9pbmNsdWRlL25ldC9uZXQuaAotaW5kZXggYjFm OWIzNWZjYy4uMDk2YzBkNTJlNCAxMDA2NDQKK2luZGV4IGM4ZjY3OTc2MWIuLjM1YTEzMzhlNDAg MTAwNjQ0CiAtLS0gYS9pbmNsdWRlL25ldC9uZXQuaAogKysrIGIvaW5jbHVkZS9uZXQvbmV0LmgK LUBAIC0zMTcsOCArMzE3LDggQEAgdm9pZCBuZXRkZXZfYWRkKFFlbXVPcHRzICpvcHRzLCBFcnJv ciAqKmVycnApOworQEAgLTMwOSw4ICszMDksOCBAQCB2b2lkIG5ldGRldl9hZGQoUWVtdU9wdHMg Km9wdHMsIEVycm9yICoqZXJycCk7CiAgaW50IG5ldF9odWJfaWRfZm9yX2NsaWVudChOZXRDbGll bnRTdGF0ZSAqbmMsIGludCAqaWQpOwogIE5ldENsaWVudFN0YXRlICpuZXRfaHViX3BvcnRfZmlu ZChpbnQgaHViX2lkKTsKICAKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDAzLVBW RS1Db25maWctc2V0LXRoZS1DUFUtbW9kZWwtdG8ta3ZtNjQtMzItaW5zdGVhZC1vZi0ucGF0Y2gg Yi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwMy1QVkUtQ29uZmlnLXNldC10aGUtQ1BVLW1vZGVsLXRv LWt2bTY0LTMyLWluc3RlYWQtb2YtLnBhdGNoCmluZGV4IDcxMjM2Y2YuLjc0ZDk0ZWIgMTAwNjQ0 Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDAzLVBWRS1Db25maWctc2V0LXRoZS1DUFUtbW9k ZWwtdG8ta3ZtNjQtMzItaW5zdGVhZC1vZi0ucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZl LzAwMDMtUFZFLUNvbmZpZy1zZXQtdGhlLUNQVS1tb2RlbC10by1rdm02NC0zMi1pbnN0ZWFkLW9m LS5wYXRjaApAQCAtMTAsMTAgKzEwLDEwIEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVj aHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90YXJnZXQvaTM4Ni9jcHUuaCBi L3RhcmdldC9pMzg2L2NwdS5oCi1pbmRleCA2YjA1NzM4MDc5Li5kODI4Njk5MDBhIDEwMDY0NAor aW5kZXggZmEwMjdjYzIwNi4uZGE3ZWYwY2JlNiAxMDA2NDQKIC0tLSBhL3RhcmdldC9pMzg2L2Nw dS5oCiArKysgYi90YXJnZXQvaTM4Ni9jcHUuaAotQEAgLTIyOTEsOSArMjI5MSw5IEBAIHVpbnQ2 NF90IGNwdV9nZXRfdHNjKENQVVg4NlN0YXRlICplbnYpOworQEAgLTI0MTgsOSArMjQxOCw5IEBA IHVpbnQ2NF90IGNwdV9nZXRfdHNjKENQVVg4NlN0YXRlICplbnYpOwogICNkZWZpbmUgQ1BVX1JF U09MVklOR19UWVBFIFRZUEVfWDg2X0NQVQogIAogICNpZmRlZiBUQVJHRVRfWDg2XzY0CmRpZmYg LS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwNS1QVkUtQ29uZmlnLWdsdXN0ZXJmcy1uby1k ZWZhdWx0LWxvZ2ZpbGUtaWYtZGFlbW9uaXplLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAw MDUtUFZFLUNvbmZpZy1nbHVzdGVyZnMtbm8tZGVmYXVsdC1sb2dmaWxlLWlmLWRhZW1vbml6ZS5w YXRjaAppbmRleCBjYjk0OTc2Li42ZDRjYzY5IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9w dmUvMDAwNS1QVkUtQ29uZmlnLWdsdXN0ZXJmcy1uby1kZWZhdWx0LWxvZ2ZpbGUtaWYtZGFlbW9u aXplLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDA1LVBWRS1Db25maWctZ2x1c3Rl cmZzLW5vLWRlZmF1bHQtbG9nZmlsZS1pZi1kYWVtb25pemUucGF0Y2gKQEAgLTksMTAgKzksMTAg QEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5j b20+CiAgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAK IGRpZmYgLS1naXQgYS9ibG9jay9nbHVzdGVyLmMgYi9ibG9jay9nbHVzdGVyLmMKLWluZGV4IGNj NzRhZjA2ZGMuLjNiYTliYmZhNWUgMTAwNjQ0CitpbmRleCBmOGI0MTVmMzgxLi4wMmJkZTM5ZDk0 IDEwMDY0NAogLS0tIGEvYmxvY2svZ2x1c3Rlci5jCiArKysgYi9ibG9jay9nbHVzdGVyLmMKLUBA IC00Myw3ICs0Myw3IEBACitAQCAtNDIsNyArNDIsNyBAQAogICNkZWZpbmUgR0xVU1RFUl9ERUJV R19ERUZBVUxUICAgICAgIDQKICAjZGVmaW5lIEdMVVNURVJfREVCVUdfTUFYICAgICAgICAgICA5 CiAgI2RlZmluZSBHTFVTVEVSX09QVF9MT0dGSUxFICAgICAgICAgImxvZ2ZpbGUiCkBAIC0yMSw3 ICsyMSw3IEBAIGluZGV4IGNjNzRhZjA2ZGMuLjNiYTliYmZhNWUgMTAwNjQ0CiAgLyoKICAgKiBT ZXZlcmFsIHZlcnNpb25zIG9mIEdsdXN0ZXJGUyAoMy4xMj8gLT4gNi4wLjEpIGZhaWwgd2hlbiB0 aGUgdHJhbnNmZXIgc2l6ZQogICAqIGlzIGdyZWF0ZXIgb3IgZXF1YWwgdG8gMTAyNCBNaUIsIHNv IHdlIGFyZSBsaW1pdGluZyB0aGUgdHJhbnNmZXIgc2l6ZSB0byA1MTIKLUBAIC00MjUsNiArNDI1 LDcgQEAgc3RhdGljIHN0cnVjdCBnbGZzICpxZW11X2dsdXN0ZXJfZ2xmc19pbml0KEJsb2NrZGV2 T3B0aW9uc0dsdXN0ZXIgKmdjb25mLAorQEAgLTQyMSw2ICs0MjEsNyBAQCBzdGF0aWMgc3RydWN0 IGdsZnMgKnFlbXVfZ2x1c3Rlcl9nbGZzX2luaXQoQmxvY2tkZXZPcHRpb25zR2x1c3RlciAqZ2Nv bmYsCiAgICAgIGludCBvbGRfZXJybm87CiAgICAgIFNvY2tldEFkZHJlc3NMaXN0ICpzZXJ2ZXI7 CiAgICAgIHVpbnQ2NF90IHBvcnQ7CkBAIC0yOSw3ICsyOSw3IEBAIGluZGV4IGNjNzRhZjA2ZGMu LjNiYTliYmZhNWUgMTAwNjQ0CiAgCiAgICAgIGdsZnMgPSBnbGZzX2ZpbmRfcHJlb3BlbmVkKGdj b25mLT52b2x1bWUpOwogICAgICBpZiAoZ2xmcykgewotQEAgLTQ2Nyw5ICs0NjgsMTUgQEAgc3Rh dGljIHN0cnVjdCBnbGZzICpxZW11X2dsdXN0ZXJfZ2xmc19pbml0KEJsb2NrZGV2T3B0aW9uc0ds dXN0ZXIgKmdjb25mLAorQEAgLTQ2Myw5ICs0NjQsMTUgQEAgc3RhdGljIHN0cnVjdCBnbGZzICpx ZW11X2dsdXN0ZXJfZ2xmc19pbml0KEJsb2NrZGV2T3B0aW9uc0dsdXN0ZXIgKmdjb25mLAogICAg ICAgICAgfQogICAgICB9CiAgCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwNi1Q VkUtQ29uZmlnLXJiZC1ibG9jay1yYmQtZGlzYWJsZS1yYmRfY2FjaGVfd3JpdGV0aHJvLnBhdGNo IGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMDYtUFZFLUNvbmZpZy1yYmQtYmxvY2stcmJkLWRpc2Fi bGUtcmJkX2NhY2hlX3dyaXRldGhyby5wYXRjaAppbmRleCA4ODgxYWI4Li4zYjMxZGUyIDEwMDY0 NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAwNi1QVkUtQ29uZmlnLXJiZC1ibG9jay1yYmQt ZGlzYWJsZS1yYmRfY2FjaGVfd3JpdGV0aHJvLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2 ZS8wMDA2LVBWRS1Db25maWctcmJkLWJsb2NrLXJiZC1kaXNhYmxlLXJiZF9jYWNoZV93cml0ZXRo cm8ucGF0Y2gKQEAgLTE4LDcgKzE4LDcgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNo dCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svcmJkLmMgYi9ibG9jay9yYmQuYwotaW5kZXggODRi YjJmYTVkNy4uNjNmNjBkNDFiZSAxMDA2NDQKK2luZGV4IDljMGZkMGNiM2YuLjEwMWVlNTlkNmUg MTAwNjQ0CiAtLS0gYS9ibG9jay9yYmQuYwogKysrIGIvYmxvY2svcmJkLmMKIEBAIC05NjMsNiAr OTYzLDggQEAgc3RhdGljIGludCBxZW11X3JiZF9jb25uZWN0KHJhZG9zX3QgKmNsdXN0ZXIsIHJh ZG9zX2lvY3R4X3QgKmlvX2N0eCwKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDA3 LVBWRS1VcC1nbHVzdGVyZnMtYWxsb3ctcGFydGlhbC1yZWFkcy5wYXRjaCBiL2RlYmlhbi9wYXRj aGVzL3B2ZS8wMDA3LVBWRS1VcC1nbHVzdGVyZnMtYWxsb3ctcGFydGlhbC1yZWFkcy5wYXRjaApp bmRleCA1NmY1NmY2Li5kZGNhYTFmIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAw Ny1QVkUtVXAtZ2x1c3RlcmZzLWFsbG93LXBhcnRpYWwtcmVhZHMucGF0Y2gKKysrIGIvZGViaWFu L3BhdGNoZXMvcHZlLzAwMDctUFZFLVVwLWdsdXN0ZXJmcy1hbGxvdy1wYXJ0aWFsLXJlYWRzLnBh dGNoCkBAIC0xNiwxMCArMTYsMTAgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8 dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svZ2x1c3Rlci5jIGIvYmxvY2sv Z2x1c3Rlci5jCi1pbmRleCAzYmE5YmJmYTVlLi4zNDkzNmViODU1IDEwMDY0NAoraW5kZXggMDJi ZGUzOWQ5NC4uMzZjMDAwODhjYyAxMDA2NDQKIC0tLSBhL2Jsb2NrL2dsdXN0ZXIuYwogKysrIGIv YmxvY2svZ2x1c3Rlci5jCi1AQCAtNTgsNiArNTgsNyBAQCB0eXBlZGVmIHN0cnVjdCBHbHVzdGVy QUlPQ0IgeworQEAgLTU3LDYgKzU3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgR2x1c3RlckFJT0NCIHsK ICAgICAgaW50IHJldDsKICAgICAgQ29yb3V0aW5lICpjb3JvdXRpbmU7CiAgICAgIEFpb0NvbnRl eHQgKmFpb19jb250ZXh0OwpAQCAtMjcsNyArMjcsNyBAQCBpbmRleCAzYmE5YmJmYTVlLi4zNDkz NmViODU1IDEwMDY0NAogIH0gR2x1c3RlckFJT0NCOwogIAogIHR5cGVkZWYgc3RydWN0IEJEUlZH bHVzdGVyU3RhdGUgewotQEAgLTc1Myw4ICs3NTQsMTAgQEAgc3RhdGljIHZvaWQgZ2x1c3Rlcl9m aW5pc2hfYWlvY2Ioc3RydWN0IGdsZnNfZmQgKmZkLCBzc2l6ZV90IHJldCwKK0BAIC03NDksOCAr NzUwLDEwIEBAIHN0YXRpYyB2b2lkIGdsdXN0ZXJfZmluaXNoX2Fpb2NiKHN0cnVjdCBnbGZzX2Zk ICpmZCwgc3NpemVfdCByZXQsCiAgICAgICAgICBhY2ItPnJldCA9IDA7IC8qIFN1Y2Nlc3MgKi8K ICAgICAgfSBlbHNlIGlmIChyZXQgPCAwKSB7CiAgICAgICAgICBhY2ItPnJldCA9IC1lcnJubzsg LyogUmVhZC9Xcml0ZSBmYWlsZWQgKi8KQEAgLTM5LDcgKzM5LDcgQEAgaW5kZXggM2JhOWJiZmE1 ZS4uMzQ5MzZlYjg1NSAxMDA2NDQKICAgICAgfQogIAogICAgICBhaW9fY29fc2NoZWR1bGUoYWNi LT5haW9fY29udGV4dCwgYWNiLT5jb3JvdXRpbmUpOwotQEAgLTEwMjMsNiArMTAyNiw3IEBAIHN0 YXRpYyBjb3JvdXRpbmVfZm4gaW50IHFlbXVfZ2x1c3Rlcl9jb19wd3JpdGVfemVyb2VzKEJsb2Nr RHJpdmVyU3RhdGUgKmJzLAorQEAgLTEwMTksNiArMTAyMiw3IEBAIHN0YXRpYyBjb3JvdXRpbmVf Zm4gaW50IHFlbXVfZ2x1c3Rlcl9jb19wd3JpdGVfemVyb2VzKEJsb2NrRHJpdmVyU3RhdGUgKmJz LAogICAgICBhY2IucmV0ID0gMDsKICAgICAgYWNiLmNvcm91dGluZSA9IHFlbXVfY29yb3V0aW5l X3NlbGYoKTsKICAgICAgYWNiLmFpb19jb250ZXh0ID0gYmRydl9nZXRfYWlvX2NvbnRleHQoYnMp OwpAQCAtNDcsNyArNDcsNyBAQCBpbmRleCAzYmE5YmJmYTVlLi4zNDkzNmViODU1IDEwMDY0NAog IAogICAgICByZXQgPSBnbGZzX3plcm9maWxsX2FzeW5jKHMtPmZkLCBvZmZzZXQsIGJ5dGVzLCBn bHVzdGVyX2ZpbmlzaF9haW9jYiwgJmFjYik7CiAgICAgIGlmIChyZXQgPCAwKSB7Ci1AQCAtMTIw Myw5ICsxMjA3LDExIEBAIHN0YXRpYyBjb3JvdXRpbmVfZm4gaW50IHFlbXVfZ2x1c3Rlcl9jb19y dyhCbG9ja0RyaXZlclN0YXRlICpicywKK0BAIC0xMTk5LDkgKzEyMDMsMTEgQEAgc3RhdGljIGNv cm91dGluZV9mbiBpbnQgcWVtdV9nbHVzdGVyX2NvX3J3KEJsb2NrRHJpdmVyU3RhdGUgKmJzLAog ICAgICBhY2IuYWlvX2NvbnRleHQgPSBiZHJ2X2dldF9haW9fY29udGV4dChicyk7CiAgCiAgICAg IGlmICh3cml0ZSkgewpAQCAtNTksNyArNTksNyBAQCBpbmRleCAzYmE5YmJmYTVlLi4zNDkzNmVi ODU1IDEwMDY0NAogICAgICAgICAgcmV0ID0gZ2xmc19wcmVhZHZfYXN5bmMocy0+ZmQsIHFpb3Yt PmlvdiwgcWlvdi0+bmlvdiwgb2Zmc2V0LCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2x1c3Rlcl9maW5pc2hfYWlvY2IsICZhY2IpOwogICAgICB9Ci1AQCAtMTI2OCw2ICsx Mjc0LDcgQEAgc3RhdGljIGNvcm91dGluZV9mbiBpbnQgcWVtdV9nbHVzdGVyX2NvX2ZsdXNoX3Rv X2Rpc2soQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCitAQCAtMTI2NCw2ICsxMjcwLDcgQEAgc3RhdGlj IGNvcm91dGluZV9mbiBpbnQgcWVtdV9nbHVzdGVyX2NvX2ZsdXNoX3RvX2Rpc2soQmxvY2tEcml2 ZXJTdGF0ZSAqYnMpCiAgICAgIGFjYi5yZXQgPSAwOwogICAgICBhY2IuY29yb3V0aW5lID0gcWVt dV9jb3JvdXRpbmVfc2VsZigpOwogICAgICBhY2IuYWlvX2NvbnRleHQgPSBiZHJ2X2dldF9haW9f Y29udGV4dChicyk7CkBAIC02Nyw3ICs2Nyw3IEBAIGluZGV4IDNiYTliYmZhNWUuLjM0OTM2ZWI4 NTUgMTAwNjQ0CiAgCiAgICAgIHJldCA9IGdsZnNfZnN5bmNfYXN5bmMocy0+ZmQsIGdsdXN0ZXJf ZmluaXNoX2Fpb2NiLCAmYWNiKTsKICAgICAgaWYgKHJldCA8IDApIHsKLUBAIC0xMzE2LDYgKzEz MjMsNyBAQCBzdGF0aWMgY29yb3V0aW5lX2ZuIGludCBxZW11X2dsdXN0ZXJfY29fcGRpc2NhcmQo QmxvY2tEcml2ZXJTdGF0ZSAqYnMsCitAQCAtMTMxMiw2ICsxMzE5LDcgQEAgc3RhdGljIGNvcm91 dGluZV9mbiBpbnQgcWVtdV9nbHVzdGVyX2NvX3BkaXNjYXJkKEJsb2NrRHJpdmVyU3RhdGUgKmJz LAogICAgICBhY2IucmV0ID0gMDsKICAgICAgYWNiLmNvcm91dGluZSA9IHFlbXVfY29yb3V0aW5l X3NlbGYoKTsKICAgICAgYWNiLmFpb19jb250ZXh0ID0gYmRydl9nZXRfYWlvX2NvbnRleHQoYnMp OwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMTMtUFZFLXZpcnRpby1iYWxsb29u LWltcHJvdmUtcXVlcnktYmFsbG9vbi5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDEzLVBW RS12aXJ0aW8tYmFsbG9vbi1pbXByb3ZlLXF1ZXJ5LWJhbGxvb24ucGF0Y2gKaW5kZXggNGZjNjIx NS4uNmZhY2U0MCAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMTMtUFZFLXZpcnRp by1iYWxsb29uLWltcHJvdmUtcXVlcnktYmFsbG9vbi5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hl cy9wdmUvMDAxMy1QVkUtdmlydGlvLWJhbGxvb24taW1wcm92ZS1xdWVyeS1iYWxsb29uLnBhdGNo CkBAIC0xOCwxMCArMTgsMTAgQEAgU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJA cHJveG1veC5jb20+CiAgNCBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvaHcvY29yZS9tYWNoaW5lLWhtcC1jbWRzLmMgYi9ody9j b3JlL21hY2hpbmUtaG1wLWNtZHMuYwotaW5kZXggYTZmZjZhNDg3NS4uZTdmNzRkMWM2MyAxMDA2 NDQKK2luZGV4IDg3MDFmMDBjYzcuLjNiNGM1ZWY0MDMgMTAwNjQ0CiAtLS0gYS9ody9jb3JlL21h Y2hpbmUtaG1wLWNtZHMuYwogKysrIGIvaHcvY29yZS9tYWNoaW5lLWhtcC1jbWRzLmMKLUBAIC0x NzUsNyArMTc1LDM1IEBAIHZvaWQgaG1wX2luZm9fYmFsbG9vbihNb25pdG9yICptb24sIGNvbnN0 IFFEaWN0ICpxZGljdCkKK0BAIC0xNzksNyArMTc5LDM1IEBAIHZvaWQgaG1wX2luZm9fYmFsbG9v bihNb25pdG9yICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCkKICAgICAgICAgIHJldHVybjsKICAg ICAgfQogIApAQCAtMTAzLDEwICsxMDMsMTAgQEAgaW5kZXggNjA5ZTM5YTgyMS4uOGNiNmRmY2Fj MyAxMDA2NDQKICAKICBzdGF0aWMgdm9pZCB2aXJ0aW9fYmFsbG9vbl90b190YXJnZXQodm9pZCAq b3BhcXVlLCByYW1fYWRkcl90IHRhcmdldCkKIGRpZmYgLS1naXQgYS9xYXBpL21hY2hpbmUuanNv biBiL3FhcGkvbWFjaGluZS5qc29uCi1pbmRleCBlOGI2MDY0MWYyLi4yMDU0Y2RjNzBkIDEwMDY0 NAoraW5kZXggZDQzMTc0MzVlNy4uZGI4ZWQyZTM1NyAxMDA2NDQKIC0tLSBhL3FhcGkvbWFjaGlu ZS5qc29uCiArKysgYi9xYXBpL21hY2hpbmUuanNvbgotQEAgLTEwNzksOSArMTA3OSwyOSBAQAor QEAgLTExNjQsOSArMTE2NCwyOSBAQAogICMgQGFjdHVhbDogdGhlIGxvZ2ljYWwgc2l6ZSBvZiB0 aGUgVk0gaW4gYnl0ZXMgRm9ybXVsYSB1c2VkOgogICMgICAgIGxvZ2ljYWxfdm1fc2l6ZSA9IHZt X3JhbV9zaXplIC0gYmFsbG9vbl9zaXplCiAgIwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMv cHZlLzAwMTQtUFZFLXFhcGktbW9kaWZ5LXF1ZXJ5LW1hY2hpbmVzLnBhdGNoIGIvZGViaWFuL3Bh dGNoZXMvcHZlLzAwMTQtUFZFLXFhcGktbW9kaWZ5LXF1ZXJ5LW1hY2hpbmVzLnBhdGNoCmluZGV4 IDI1NWZhZjUuLjI3NDY2NWQgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE0LVBW RS1xYXBpLW1vZGlmeS1xdWVyeS1tYWNoaW5lcy5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9w dmUvMDAxNC1QVkUtcWFwaS1tb2RpZnktcXVlcnktbWFjaGluZXMucGF0Y2gKQEAgLTEzLDEwICsx MywxMCBAQCBTaWduZWQtb2ZmLWJ5OiBEaWV0bWFyIE1hdXJlciA8ZGlldG1hckBwcm94bW94LmNv bT4KICAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBk aWZmIC0tZ2l0IGEvaHcvY29yZS9tYWNoaW5lLXFtcC1jbWRzLmMgYi9ody9jb3JlL21hY2hpbmUt cW1wLWNtZHMuYwotaW5kZXggNGI3MjAwOWNkMy4uMzE0MzUxY2RmZiAxMDA2NDQKK2luZGV4IDEz MDIxN2RhOGYuLjUyYTZkNzQ4MjAgMTAwNjQ0CiAtLS0gYS9ody9jb3JlL21hY2hpbmUtcW1wLWNt ZHMuYwogKysrIGIvaHcvY29yZS9tYWNoaW5lLXFtcC1jbWRzLmMKLUBAIC05MCw2ICs5MCwxMiBA QCBNYWNoaW5lSW5mb0xpc3QgKnFtcF9xdWVyeV9tYWNoaW5lcyhFcnJvciAqKmVycnApCitAQCAt OTAsNiArOTAsMTIgQEAgTWFjaGluZUluZm9MaXN0ICpxbXBfcXVlcnlfbWFjaGluZXMoYm9vbCBo YXNfY29tcGF0X3Byb3BzLCBib29sIGNvbXBhdF9wcm9wcywKICAgICAgICAgIGluZm8tPm51bWFf bWVtX3N1cHBvcnRlZCA9IG1jLT5udW1hX21lbV9zdXBwb3J0ZWQ7CiAgICAgICAgICBpbmZvLT5k ZXByZWNhdGVkID0gISFtYy0+ZGVwcmVjYXRpb25fcmVhc29uOwogICAgICAgICAgaW5mby0+YWNw aSA9ICEhb2JqZWN0X2NsYXNzX3Byb3BlcnR5X2ZpbmQoT0JKRUNUX0NMQVNTKG1jKSwgImFjcGki KTsKQEAgLTMwLDEwICszMCwxMCBAQCBpbmRleCA0YjcyMDA5Y2QzLi4zMTQzNTFjZGZmIDEwMDY0 NAogICAgICAgICAgICAgIGluZm8tPmRlZmF1bHRfY3B1X3R5cGUgPSBnX3N0cmR1cChtYy0+ZGVm YXVsdF9jcHVfdHlwZSk7CiAgICAgICAgICB9CiBkaWZmIC0tZ2l0IGEvcWFwaS9tYWNoaW5lLmpz b24gYi9xYXBpL21hY2hpbmUuanNvbgotaW5kZXggMjA1NGNkYzcwZC4uYTAyNGQ1YjA1ZCAxMDA2 NDQKK2luZGV4IGRiOGVkMmUzNTcuLjBjNzAzMzE2ZjUgMTAwNjQ0CiAtLS0gYS9xYXBpL21hY2hp bmUuanNvbgogKysrIGIvcWFwaS9tYWNoaW5lLmpzb24KLUBAIC0xNDYsNiArMTQ2LDggQEAKK0BA IC0xNjgsNiArMTY4LDggQEAKICAjCiAgIyBAaXMtZGVmYXVsdDogd2hldGhlciB0aGUgbWFjaGlu ZSBpcyBkZWZhdWx0CiAgIwpAQCAtNDIsNyArNDIsNyBAQCBpbmRleCAyMDU0Y2RjNzBkLi5hMDI0 ZDViMDVkIDEwMDY0NAogICMgQGNwdS1tYXg6IG1heGltdW0gbnVtYmVyIG9mIENQVXMgc3VwcG9y dGVkIGJ5IHRoZSBtYWNoaW5lIHR5cGUKICAjICAgICAoc2luY2UgMS41KQogICMKLUBAIC0xNzAs NyArMTcyLDcgQEAKK0BAIC0yMDAsNyArMjAyLDcgQEAKICAjIwogIHsgJ3N0cnVjdCc6ICdNYWNo aW5lSW5mbycsCiAgICAnZGF0YSc6IHsgJ25hbWUnOiAnc3RyJywgJyphbGlhcyc6ICdzdHInLApA QCAtNTAsNCArNTAsNCBAQCBpbmRleCAyMDU0Y2RjNzBkLi5hMDI0ZDViMDVkIDEwMDY0NAogKyAg ICAgICAgICAgICcqaXMtZGVmYXVsdCc6ICdib29sJywgJyppcy1jdXJyZW50JzogJ2Jvb2wnLCAn Y3B1LW1heCc6ICdpbnQnLAogICAgICAgICAgICAgICdob3RwbHVnZ2FibGUtY3B1cyc6ICdib29s JywgICdudW1hLW1lbS1zdXBwb3J0ZWQnOiAnYm9vbCcsCiAgICAgICAgICAgICAgJ2RlcHJlY2F0 ZWQnOiAnYm9vbCcsICcqZGVmYXVsdC1jcHUtdHlwZSc6ICdzdHInLAotICAgICAgICAgICAgICcq ZGVmYXVsdC1yYW0taWQnOiAnc3RyJywgJ2FjcGknOiAnYm9vbCcgfSB9CisgICAgICAgICAgICAg JypkZWZhdWx0LXJhbS1pZCc6ICdzdHInLCAnYWNwaSc6ICdib29sJywKZGlmZiAtLWdpdCBhL2Rl Ymlhbi9wYXRjaGVzL3B2ZS8wMDE1LVBWRS1xYXBpLW1vZGlmeS1zcGljZS1xdWVyeS5wYXRjaCBi L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE1LVBWRS1xYXBpLW1vZGlmeS1zcGljZS1xdWVyeS5wYXRj aAppbmRleCBiMWFmZjZhLi5hZGUzOTEwIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUv MDAxNS1QVkUtcWFwaS1tb2RpZnktc3BpY2UtcXVlcnkucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMTUtUFZFLXFhcGktbW9kaWZ5LXNwaWNlLXF1ZXJ5LnBhdGNoCkBAIC0xNCwxMCAr MTQsMTAgQEAgU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+ CiAgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3FhcGkv dWkuanNvbiBiL3FhcGkvdWkuanNvbgotaW5kZXggZjYxMGJjZTExOC4uNmVhMjZhOWFjYiAxMDA2 NDQKK2luZGV4IDhjODQ2NGZhYWMuLmNlYmRhMzdmOGYgMTAwNjQ0CiAtLS0gYS9xYXBpL3VpLmpz b24KICsrKyBiL3FhcGkvdWkuanNvbgotQEAgLTMxNCwxMSArMzE0LDE0IEBACitAQCAtMzEyLDEx ICszMTIsMTQgQEAKICAjCiAgIyBAY2hhbm5lbHM6IGEgbGlzdCBvZiBAU3BpY2VDaGFubmVsIGZv ciBlYWNoIGFjdGl2ZSBzcGljZSBjaGFubmVsCiAgIwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMTYtUFZFLWFkZC1JT0NoYW5uZWwtaW1wbGVtZW50YXRpb24tZm9yLXNhdmV2bS1h c3luYy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE2LVBWRS1hZGQtSU9DaGFubmVsLWlt cGxlbWVudGF0aW9uLWZvci1zYXZldm0tYXN5bmMucGF0Y2gKaW5kZXggODc1ZmUyNi4uZmI4MjVm YSAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMTYtUFZFLWFkZC1JT0NoYW5uZWwt aW1wbGVtZW50YXRpb24tZm9yLXNhdmV2bS1hc3luYy5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hl cy9wdmUvMDAxNi1QVkUtYWRkLUlPQ2hhbm5lbC1pbXBsZW1lbnRhdGlvbi1mb3Itc2F2ZXZtLWFz eW5jLnBhdGNoCkBAIC0yNzEsNyArMjcxLDcgQEAgaW5kZXggMDAwMDAwMDAwMC4uMTdhZTJjYjI2 MQogKwogKyNlbmRpZiAvKiBRSU9fQ0hBTk5FTF9TQVZFVk1fQVNZTkNfSCAqLwogZGlmZiAtLWdp dCBhL21pZ3JhdGlvbi9tZXNvbi5idWlsZCBiL21pZ3JhdGlvbi9tZXNvbi5idWlsZAotaW5kZXgg MWVlYjkxNWZmNi4uOTVkMWNmMjI1MCAxMDA2NDQKK2luZGV4IDVjZTJhY2I0MWUuLjAyMDEyN2Q5 MDEgMTAwNjQ0CiAtLS0gYS9taWdyYXRpb24vbWVzb24uYnVpbGQKICsrKyBiL21pZ3JhdGlvbi9t ZXNvbi5idWlsZAogQEAgLTEzLDYgKzEzLDcgQEAgc3lzdGVtX3NzLmFkZChmaWxlcygKZGlmZiAt LWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE3LVBWRS1hZGQtc2F2ZXZtLWFzeW5jLWZvci1i YWNrZ3JvdW5kLXN0YXRlLXNuYXBzaG90cy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE3 LVBWRS1hZGQtc2F2ZXZtLWFzeW5jLWZvci1iYWNrZ3JvdW5kLXN0YXRlLXNuYXBzaG90cy5wYXRj aAppbmRleCBiMGU3NWU5Li5mMTA1M2Y0IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUv MDAxNy1QVkUtYWRkLXNhdmV2bS1hc3luYy1mb3ItYmFja2dyb3VuZC1zdGF0ZS1zbmFwc2hvdHMu cGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMTctUFZFLWFkZC1zYXZldm0tYXN5bmMt Zm9yLWJhY2tncm91bmQtc3RhdGUtc25hcHNob3RzLnBhdGNoCkBAIC0zNywyMCArMzcsMjAgQEAg U2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CiAgaW5jbHVk ZS9taWdyYXRpb24vc25hcHNob3QuaCB8ICAgMiArCiAgaW5jbHVkZS9tb25pdG9yL2htcC5oICAg ICAgICB8ICAgMyArCiAgbWlncmF0aW9uL21lc29uLmJ1aWxkICAgICAgICB8ICAgMSArCi0gbWln cmF0aW9uL3NhdmV2bS1hc3luYy5jICAgICB8IDU0NSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKworIG1pZ3JhdGlvbi9zYXZldm0tYXN5bmMuYyAgICAgfCA1NDAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKICBtb25pdG9yL2htcC1jbWRzLmMgICAgICAgICAg IHwgIDM4ICsrKwogIHFhcGkvbWlncmF0aW9uLmpzb24gICAgICAgICAgfCAgMzQgKysrCiAgcWFw aS9taXNjLmpzb24gICAgICAgICAgICAgICB8ICAxOCArKwogIHFlbXUtb3B0aW9ucy5oeCAgICAg ICAgICAgICAgfCAgMTIgKwogIHN5c3RlbS92bC5jICAgICAgICAgICAgICAgICAgfCAgMTAgKwot IDExIGZpbGVzIGNoYW5nZWQsIDY5MyBpbnNlcnRpb25zKCspCisgMTEgZmlsZXMgY2hhbmdlZCwg Njg4IGluc2VydGlvbnMoKykKICBjcmVhdGUgbW9kZSAxMDA2NDQgbWlncmF0aW9uL3NhdmV2bS1h c3luYy5jCiAKIGRpZmYgLS1naXQgYS9obXAtY29tbWFuZHMtaW5mby5oeCBiL2htcC1jb21tYW5k cy1pbmZvLmh4Ci1pbmRleCBhZDFiMTMwNmUzLi5kNWFiODgwNDkyIDEwMDY0NAoraW5kZXggYzU5 Y2Q2NjM3Yi4uZDFhN2I5OWFkZCAxMDA2NDQKIC0tLSBhL2htcC1jb21tYW5kcy1pbmZvLmh4CiAr KysgYi9obXAtY29tbWFuZHMtaW5mby5oeAotQEAgLTUyNSw2ICs1MjUsMTkgQEAgU1JTVAorQEAg LTUxMiw2ICs1MTIsMTkgQEAgU1JTVAogICAgICBTaG93IGN1cnJlbnQgbWlncmF0aW9uIHBhcmFt ZXRlcnMuCiAgRVJTVAogIApAQCAtNzEsMTAgKzcxLDEwIEBAIGluZGV4IGFkMWIxMzA2ZTMuLmQ1 YWI4ODA0OTIgMTAwNjQ0CiAgICAgICAgICAubmFtZSAgICAgICA9ICJiYWxsb29uIiwKICAgICAg ICAgIC5hcmdzX3R5cGUgID0gIiIsCiBkaWZmIC0tZ2l0IGEvaG1wLWNvbW1hbmRzLmh4IGIvaG1w LWNvbW1hbmRzLmh4Ci1pbmRleCAyZTJhM2JjZjk4Li43NTA2ZGUyNTFjIDEwMDY0NAoraW5kZXgg MDY3NDZmMGFmYy4uMGM3YzZmMmMxNiAxMDA2NDQKIC0tLSBhL2htcC1jb21tYW5kcy5oeAogKysr IGIvaG1wLWNvbW1hbmRzLmh4Ci1AQCAtMTg2MiwzICsxODYyLDIwIEBAIFNSU1QKK0BAIC0xODU5 LDMgKzE4NTksMjAgQEAgU1JTVAogICAgTGlzdCBldmVudCBjaGFubmVscyBpbiB0aGUgZ3Vlc3QK ICBFUlNUCiAgI2VuZGlmCkBAIC0xMDcsNyArMTA3LDcgQEAgaW5kZXggOWU0ZGNhYWE3NS4uMjU4 MTczMGQ3NCAxMDA2NDQKICsKICAjZW5kaWYKIGRpZmYgLS1naXQgYS9pbmNsdWRlL21vbml0b3Iv aG1wLmggYi9pbmNsdWRlL21vbml0b3IvaG1wLmgKLWluZGV4IDEzZjlhMmRlZGIuLjdhN2RlZjc1 MzAgMTAwNjQ0CitpbmRleCBhZTExNmQ5ODA0Li4yNTk2Y2MyNDI2IDEwMDY0NAogLS0tIGEvaW5j bHVkZS9tb25pdG9yL2htcC5oCiArKysgYi9pbmNsdWRlL21vbml0b3IvaG1wLmgKIEBAIC0yOCw2 ICsyOCw3IEBAIHZvaWQgaG1wX2luZm9fc3RhdHVzKE1vbml0b3IgKm1vbiwgY29uc3QgUURpY3Qg KnFkaWN0KTsKQEAgLTExOCw3ICsxMTgsNyBAQCBpbmRleCAxM2Y5YTJkZWRiLi43YTdkZWY3NTMw IDEwMDY0NAogIHZvaWQgaG1wX2luZm9fbWlncmF0ZShNb25pdG9yICptb24sIGNvbnN0IFFEaWN0 ICpxZGljdCk7CiAgdm9pZCBobXBfaW5mb19taWdyYXRlX2NhcGFiaWxpdGllcyhNb25pdG9yICpt b24sIGNvbnN0IFFEaWN0ICpxZGljdCk7CiAgdm9pZCBobXBfaW5mb19taWdyYXRlX3BhcmFtZXRl cnMoTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpOwotQEAgLTk0LDYgKzk1LDggQEAg dm9pZCBobXBfY2xvc2VmZChNb25pdG9yICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCk7CitAQCAt OTIsNiArOTMsOCBAQCB2b2lkIGhtcF9jbG9zZWZkKE1vbml0b3IgKm1vbiwgY29uc3QgUURpY3Qg KnFkaWN0KTsKICB2b2lkIGhtcF9tb3VzZV9tb3ZlKE1vbml0b3IgKm1vbiwgY29uc3QgUURpY3Qg KnFkaWN0KTsKICB2b2lkIGhtcF9tb3VzZV9idXR0b24oTW9uaXRvciAqbW9uLCBjb25zdCBRRGlj dCAqcWRpY3QpOwogIHZvaWQgaG1wX21vdXNlX3NldChNb25pdG9yICptb24sIGNvbnN0IFFEaWN0 ICpxZGljdCk7CkBAIC0xMjgsMTAgKzEyOCwxMCBAQCBpbmRleCAxM2Y5YTJkZWRiLi43YTdkZWY3 NTMwIDEwMDY0NAogIHZvaWQgY29yb3V0aW5lX2ZuIGhtcF9zY3JlZW5kdW1wKE1vbml0b3IgKm1v biwgY29uc3QgUURpY3QgKnFkaWN0KTsKICB2b2lkIGhtcF9jaGFyZGV2X2FkZChNb25pdG9yICpt b24sIGNvbnN0IFFEaWN0ICpxZGljdCk7CiBkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL21lc29uLmJ1 aWxkIGIvbWlncmF0aW9uL21lc29uLmJ1aWxkCi1pbmRleCA5NWQxY2YyMjUwLi44MDBmMTJhNjBk IDEwMDY0NAoraW5kZXggMDIwMTI3ZDkwMS4uNGIwYzRmMGY1MSAxMDA2NDQKIC0tLSBhL21pZ3Jh dGlvbi9tZXNvbi5idWlsZAogKysrIGIvbWlncmF0aW9uL21lc29uLmJ1aWxkCi1AQCAtMjgsNiAr MjgsNyBAQCBzeXN0ZW1fc3MuYWRkKGZpbGVzKAorQEAgLTI3LDYgKzI3LDcgQEAgc3lzdGVtX3Nz LmFkZChmaWxlcygKICAgICdvcHRpb25zLmMnLAogICAgJ3Bvc3Rjb3B5LXJhbS5jJywKICAgICdz YXZldm0uYycsCkBAIC0xNDEsMTAgKzE0MSwxMCBAQCBpbmRleCA5NWQxY2YyMjUwLi44MDBmMTJh NjBkIDEwMDY0NAogICAgJ3RocmVhZGluZm8uYycsCiBkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL3Nh dmV2bS1hc3luYy5jIGIvbWlncmF0aW9uL3NhdmV2bS1hc3luYy5jCiBuZXcgZmlsZSBtb2RlIDEw MDY0NAotaW5kZXggMDAwMDAwMDAwMC4uMWFmMzI2MDRjNworaW5kZXggMDAwMDAwMDAwMC4uNGYx ZWYwZWJkOAogLS0tIC9kZXYvbnVsbAogKysrIGIvbWlncmF0aW9uL3NhdmV2bS1hc3luYy5jCi1A QCAtMCwwICsxLDU0NSBAQAorQEAgLTAsMCArMSw1NDAgQEAKICsjaW5jbHVkZSAicWVtdS9vc2Rl cC5oIgogKyNpbmNsdWRlICJtaWdyYXRpb24vY2hhbm5lbC1zYXZldm0tYXN5bmMuaCIKICsjaW5j bHVkZSAibWlncmF0aW9uL21pZ3JhdGlvbi5oIgpAQCAtNDg5LDEzICs0ODksOCBAQCBpbmRleCAw MDAwMDAwMDAwLi4xYWYzMjYwNGM3CiArICAgIH0KICsKICsgICAgaWYgKG1pZ3JhdGlvbl9pc19y dW5uaW5nKCkpIHsKLSsgICAgICAgIGVycm9yX3NldChlcnJwLCBFUlJPUl9DTEFTU19HRU5FUklD X0VSUk9SLCBRRVJSX01JR1JBVElPTl9BQ1RJVkUpOwotKyAgICAgICAgcmV0dXJuOwotKyAgICB9 Ci0rCi0rICAgIGlmIChtaWdyYXRlX2Jsb2NrKCkpIHsKICsgICAgICAgIGVycm9yX3NldChlcnJw LCBFUlJPUl9DTEFTU19HRU5FUklDX0VSUk9SLAotKyAgICAgICAgICAgICAgICAgICJCbG9jayBt aWdyYXRpb24gYW5kIHNuYXBzaG90cyBhcmUgaW5jb21wYXRpYmxlIik7CisrICAgICAgICAgICAg ICAgICAgIlRoZXJlJ3MgYSBtaWdyYXRpb24gcHJvY2VzcyBpbiBwcm9ncmVzcyIpOwogKyAgICAg ICAgcmV0dXJuOwogKyAgICB9CiArCkBAIC01NTgsNyArNTUzLDcgQEAgaW5kZXggMDAwMDAwMDAw MC4uMWFmMzI2MDRjNwogKyAgICBzbmFwX3N0YXRlLmZpbmFsaXplX2JoID0gcWVtdV9iaF9uZXco cHJvY2Vzc19zYXZldm1fZmluYWxpemUsICZzbmFwX3N0YXRlKTsKICsgICAgc25hcF9zdGF0ZS5j byA9IHFlbXVfY29yb3V0aW5lX2NyZWF0ZSgmcHJvY2Vzc19zYXZldm1fY28sIE5VTEwpOwogKyAg ICBxZW11X3NhdmV2bV9zdGF0ZV9oZWFkZXIoc25hcF9zdGF0ZS5maWxlKTsKLSsgICAgcWVtdV9z YXZldm1fc3RhdGVfc2V0dXAoc25hcF9zdGF0ZS5maWxlKTsKKysgICAgcWVtdV9zYXZldm1fc3Rh dGVfc2V0dXAoc25hcF9zdGF0ZS5maWxlLCAmbG9jYWxfZXJyKTsKICsKICsgICAgLyogQXN5bmMg cHJvY2Vzc2luZyBmcm9tIGhlcmUgb24gb3V0IGhhcHBlbnMgaW4gaW9oYW5kbGVyIGNvbnRleHQs IHNvIGxldAogKyAgICAgKiB0aGUgdGFyZ2V0IGJkcnYgaGF2ZSBpdHMgaG9tZSB0aGVyZS4KQEAg LTY5MSwyMSArNjg2LDIxIEBAIGluZGV4IDAwMDAwMDAwMDAuLjFhZjMyNjA0YzcKICsgICAgcmV0 dXJuIHJldDsKICt9CiBkaWZmIC0tZ2l0IGEvbW9uaXRvci9obXAtY21kcy5jIGIvbW9uaXRvci9o bXAtY21kcy5jCi1pbmRleCA4NzE4OThhYzQ2Li5lZjQ2MzRlNWMxIDEwMDY0NAoraW5kZXggZjYw MWQwNmFiOC4uODc0MDg0NTY1ZiAxMDA2NDQKIC0tLSBhL21vbml0b3IvaG1wLWNtZHMuYwogKysr IGIvbW9uaXRvci9obXAtY21kcy5jCi1AQCAtMjIsNiArMjIsNyBAQAotICNpbmNsdWRlICJtb25p dG9yL21vbml0b3ItaW50ZXJuYWwuaCIKK0BAIC0yNCw2ICsyNCw3IEBACiAgI2luY2x1ZGUgInFh cGkvZXJyb3IuaCIKICAjaW5jbHVkZSAicWFwaS9xYXBpLWNvbW1hbmRzLWNvbnRyb2wuaCIKKyAj aW5jbHVkZSAicWFwaS9xYXBpLWNvbW1hbmRzLW1hY2hpbmUuaCIKICsjaW5jbHVkZSAicWFwaS9x YXBpLWNvbW1hbmRzLW1pZ3JhdGlvbi5oIgogICNpbmNsdWRlICJxYXBpL3FhcGktY29tbWFuZHMt bWlzYy5oIgogICNpbmNsdWRlICJxYXBpL3FtcC9xZGljdC5oIgogICNpbmNsdWRlICJxZW11L2N1 dGlscy5oIgotQEAgLTQ0MywzICs0NDQsNDAgQEAgdm9pZCBobXBfaW5mb19tdHJlZShNb25pdG9y ICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCkKLSAKLSAgICAgbXRyZWVfaW5mbyhmbGF0dmlldywg ZGlzcGF0Y2hfdHJlZSwgb3duZXIsIGRpc2FibGVkKTsKK0BAIC00MzQsMyArNDM1LDQwIEBAIHZv aWQgaG1wX2R1bXBkdGIoTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpCisgICAgIG1v bml0b3JfcHJpbnRmKG1vbiwgImR0YiBkdW1wZWQgdG8gJXMiLCBmaWxlbmFtZSk7CiAgfQorICNl bmRpZgogKwogK3ZvaWQgaG1wX3NhdmV2bV9zdGFydChNb25pdG9yICptb24sIGNvbnN0IFFEaWN0 ICpxZGljdCkKICt7CkBAIC03NDQsMTAgKzczOSwxMCBAQCBpbmRleCA4NzE4OThhYzQ2Li5lZjQ2 MzRlNWMxIDEwMDY0NAogKyAgICB9CiArfQogZGlmZiAtLWdpdCBhL3FhcGkvbWlncmF0aW9uLmpz b24gYi9xYXBpL21pZ3JhdGlvbi5qc29uCi1pbmRleCA4YzY1YjkwMzI4Li5lZDIwZDA2NmNkIDEw MDY0NAoraW5kZXggNzMyNDU3MWU5Mi4uZDZlOTRhN2M0MSAxMDA2NDQKIC0tLSBhL3FhcGkvbWln cmF0aW9uLmpzb24KICsrKyBiL3FhcGkvbWlncmF0aW9uLmpzb24KLUBAIC0yOTcsNiArMjk3LDQw IEBACitAQCAtMjc2LDYgKzI3Niw0MCBAQAogICAgICAgICAgICAgJypkaXJ0eS1saW1pdC10aHJv dHRsZS10aW1lLXBlci1yb3VuZCc6ICd1aW50NjQnLAogICAgICAgICAgICAgJypkaXJ0eS1saW1p dC1yaW5nLWZ1bGwtdGltZSc6ICd1aW50NjQnfSB9CiAgCkBAIC03ODksNyArNzg0LDcgQEAgaW5k ZXggOGM2NWI5MDMyOC4uZWQyMGQwNjZjZCAxMDA2NDQKICAjIEBxdWVyeS1taWdyYXRlOgogICMK IGRpZmYgLS1naXQgYS9xYXBpL21pc2MuanNvbiBiL3FhcGkvbWlzYy5qc29uCi1pbmRleCBlYzMw ZTVjNTcwLi4zYzY4NjMzZjY4IDEwMDY0NAoraW5kZXggNTU5YjY2ZjIwMS4uNzk1OWU4OWMxZSAx MDA2NDQKIC0tLSBhL3FhcGkvbWlzYy5qc29uCiArKysgYi9xYXBpL21pc2MuanNvbgogQEAgLTQ1 NCw2ICs0NTQsMjQgQEAKQEAgLTgxOCwxMCArODEzLDEwIEBAIGluZGV4IGVjMzBlNWM1NzAuLjNj Njg2MzNmNjggMTAwNjQ0CiAgIyBAQ29tbWFuZExpbmVQYXJhbWV0ZXJUeXBlOgogICMKIGRpZmYg LS1naXQgYS9xZW11LW9wdGlvbnMuaHggYi9xZW11LW9wdGlvbnMuaHgKLWluZGV4IDhjZTg1ZDQ1 NTkuLjUxMWFiOTQxNWUgMTAwNjQ0CitpbmRleCBkOTRlMmNiYmFlLi4wNzczMGY5ZTY1IDEwMDY0 NAogLS0tIGEvcWVtdS1vcHRpb25zLmh4CiArKysgYi9xZW11LW9wdGlvbnMuaHgKLUBAIC00NjEw LDYgKzQ2MTAsMTggQEAgU1JTVAorQEAgLTQ4MDUsNiArNDgwNSwxOCBAQCBTUlNUCiAgICAgIFN0 YXJ0IHJpZ2h0IGF3YXkgd2l0aCBhIHNhdmVkIHN0YXRlIChgYGxvYWR2bWBgIGluIG1vbml0b3Ip CiAgRVJTVAogIApAQCAtODQxLDEwICs4MzYsMTAgQEAgaW5kZXggOGNlODVkNDU1OS4uNTExYWI5 NDE1ZSAxMDA2NDQKICBERUYoImRhZW1vbml6ZSIsIDAsIFFFTVVfT1BUSU9OX2RhZW1vbml6ZSwg XAogICAgICAiLWRhZW1vbml6ZSAgICAgIGRhZW1vbml6ZSBRRU1VIGFmdGVyIGluaXRpYWxpemlu Z1xuIiwgUUVNVV9BUkNIX0FMTCkKIGRpZmYgLS1naXQgYS9zeXN0ZW0vdmwuYyBiL3N5c3RlbS92 bC5jCi1pbmRleCBjNjQ0MjIyOTgyLi4yNzM4YWI3YzkxIDEwMDY0NAoraW5kZXggMDFiOGI4ZTc3 YS4uZDZiYmRjOTA2ZSAxMDA2NDQKIC0tLSBhL3N5c3RlbS92bC5jCiArKysgYi9zeXN0ZW0vdmwu YwotQEAgLTE2Myw2ICsxNjMsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqYWNjZWxlcmF0b3JzOwor QEAgLTE2NCw2ICsxNjQsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqYWNjZWxlcmF0b3JzOwogIHN0 YXRpYyBib29sIGhhdmVfY3VzdG9tX3JhbV9zaXplOwogIHN0YXRpYyBjb25zdCBjaGFyICpyYW1f bWVtZGV2X2lkOwogIHN0YXRpYyBRRGljdCAqbWFjaGluZV9vcHRzX2RpY3Q7CkBAIC04NTIsNyAr ODQ3LDcgQEAgaW5kZXggYzY0NDIyMjk4Mi4uMjczOGFiN2M5MSAxMDA2NDQKICBzdGF0aWMgUVRB SUxRX0hFQUQoLCBPYmplY3RPcHRpb24pIG9iamVjdF9vcHRzID0gUVRBSUxRX0hFQURfSU5JVElB TElaRVIob2JqZWN0X29wdHMpOwogIHN0YXRpYyBRVEFJTFFfSEVBRCgsIERldmljZU9wdGlvbikg ZGV2aWNlX29wdHMgPSBRVEFJTFFfSEVBRF9JTklUSUFMSVpFUihkZXZpY2Vfb3B0cyk7CiAgc3Rh dGljIGludCBkaXNwbGF5X3JlbW90ZTsKLUBAIC0yNzEyLDYgKzI3MTMsMTIgQEAgdm9pZCBxbXBf eF9leGl0X3ByZWNvbmZpZyhFcnJvciAqKmVycnApCitAQCAtMjcyNyw2ICsyNzI4LDEyIEBAIHZv aWQgcW1wX3hfZXhpdF9wcmVjb25maWcoRXJyb3IgKiplcnJwKQogICAgICAgICAgUnVuU3RhdGUg c3RhdGUgPSBhdXRvc3RhcnQgPyBSVU5fU1RBVEVfUlVOTklORyA6IHJ1bnN0YXRlX2dldCgpOwog ICAgICAgICAgbG9hZF9zbmFwc2hvdChsb2Fkdm0sIE5VTEwsIGZhbHNlLCBOVUxMLCAmZXJyb3Jf ZmF0YWwpOwogICAgICAgICAgbG9hZF9zbmFwc2hvdF9yZXN1bWUoc3RhdGUpOwpAQCAtODY1LDcg Kzg2MCw3IEBAIGluZGV4IGM2NDQyMjI5ODIuLjI3MzhhYjdjOTEgMTAwNjQ0CiAgICAgIH0KICAg ICAgaWYgKHJlcGxheV9tb2RlICE9IFJFUExBWV9NT0RFX05PTkUpIHsKICAgICAgICAgIHJlcGxh eV92bXN0YXRlX2luaXQoKTsKLUBAIC0zMjU5LDYgKzMyNjYsOSBAQCB2b2lkIHFlbXVfaW5pdChp bnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtMzI3NSw2ICszMjgyLDkgQEAgdm9pZCBxZW11X2lu aXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgIGNhc2UgUUVNVV9PUFRJT05f bG9hZHZtOgogICAgICAgICAgICAgICAgICBsb2Fkdm0gPSBvcHRhcmc7CiAgICAgICAgICAgICAg ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMTgtUFZFLWFkZC1v cHRpb25hbC1idWZmZXItc2l6ZS10by1RRU1VRmlsZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2 ZS8wMDE4LVBWRS1hZGQtb3B0aW9uYWwtYnVmZmVyLXNpemUtdG8tUUVNVUZpbGUucGF0Y2gKaW5k ZXggOTJiYzlmMi4uMTc2Y2UwYSAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMTgt UFZFLWFkZC1vcHRpb25hbC1idWZmZXItc2l6ZS10by1RRU1VRmlsZS5wYXRjaAorKysgYi9kZWJp YW4vcGF0Y2hlcy9wdmUvMDAxOC1QVkUtYWRkLW9wdGlvbmFsLWJ1ZmZlci1zaXplLXRvLVFFTVVG aWxlLnBhdGNoCkBAIC0xMywxNiArMTMsMTYgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXBy ZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiBbRkU6IGFkYXB0IHRvIHJlbW92YWwgb2Yg UUVNVUZpbGVPcHNdCiBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94 LmNvbT4KIC0tLQotIG1pZ3JhdGlvbi9xZW11LWZpbGUuYyAgICB8IDUwICsrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyBtaWdyYXRpb24vcWVtdS1maWxlLmMgICAgfCA0 OCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAgbWlncmF0aW9uL3Fl bXUtZmlsZS5oICAgIHwgIDIgKysKLSBtaWdyYXRpb24vc2F2ZXZtLWFzeW5jLmMgfCAgNSArKy0t Ci0gMyBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKKyBt aWdyYXRpb24vc2F2ZXZtLWFzeW5jLmMgfCAgNSArKystLQorIDMgZmlsZXMgY2hhbmdlZCwgMzgg aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9taWdyYXRpb24v cWVtdS1maWxlLmMgYi9taWdyYXRpb24vcWVtdS1maWxlLmMKLWluZGV4IGExMDg4MmQ0N2YuLjE5 YzFkZTA0NzIgMTAwNjQ0CitpbmRleCBiNmQyZjU4OGJkLi43NTRkYzBiM2Y3IDEwMDY0NAogLS0t IGEvbWlncmF0aW9uL3FlbXUtZmlsZS5jCiArKysgYi9taWdyYXRpb24vcWVtdS1maWxlLmMKLUBA IC0zNSw4ICszNSw4IEBACitAQCAtMzQsOCArMzQsOCBAQAogICNpbmNsdWRlICJyZG1hLmgiCiAg I2luY2x1ZGUgImlvL2NoYW5uZWwtZmlsZS5oIgogIApAQCAtMzMsNyArMzMsNyBAQCBpbmRleCBh MTA4ODJkNDdmLi4xOWMxZGUwNDcyIDEwMDY0NAogIAogIHN0cnVjdCBRRU1VRmlsZSB7CiAgICAg IFFJT0NoYW5uZWwgKmlvYzsKLUBAIC00NCw3ICs0NCw4IEBAIHN0cnVjdCBRRU1VRmlsZSB7CitA QCAtNDMsNyArNDMsOCBAQCBzdHJ1Y3QgUUVNVUZpbGUgewogIAogICAgICBpbnQgYnVmX2luZGV4 OwogICAgICBpbnQgYnVmX3NpemU7IC8qIDAgd2hlbiB3cml0aW5nICovCkBAIC00Myw3ICs0Myw3 IEBAIGluZGV4IGExMDg4MmQ0N2YuLjE5YzFkZTA0NzIgMTAwNjQ0CiAgCiAgICAgIERFQ0xBUkVf QklUTUFQKG1heV9mcmVlLCBNQVhfSU9WX1NJWkUpOwogICAgICBzdHJ1Y3QgaW92ZWMgaW92W01B WF9JT1ZfU0laRV07Ci1AQCAtMTAxLDcgKzEwMiw5IEBAIGludCBxZW11X2ZpbGVfc2h1dGRvd24o UUVNVUZpbGUgKmYpCitAQCAtMTAwLDcgKzEwMSw5IEBAIGludCBxZW11X2ZpbGVfc2h1dGRvd24o UUVNVUZpbGUgKmYpCiAgICAgIHJldHVybiAwOwogIH0KICAKQEAgLTU0LDcgKzU0LDcgQEAgaW5k ZXggYTEwODgyZDQ3Zi4uMTljMWRlMDQ3MiAxMDA2NDQKICB7CiAgICAgIFFFTVVGaWxlICpmOwog IAotQEAgLTExMCw2ICsxMTMsOCBAQCBzdGF0aWMgUUVNVUZpbGUgKnFlbXVfZmlsZV9uZXdfaW1w bChRSU9DaGFubmVsICppb2MsIGJvb2wgaXNfd3JpdGFibGUpCitAQCAtMTA5LDYgKzExMiw4IEBA IHN0YXRpYyBRRU1VRmlsZSAqcWVtdV9maWxlX25ld19pbXBsKFFJT0NoYW5uZWwgKmlvYywgYm9v bCBpc193cml0YWJsZSkKICAgICAgb2JqZWN0X3JlZihpb2MpOwogICAgICBmLT5pb2MgPSBpb2M7 CiAgICAgIGYtPmlzX3dyaXRhYmxlID0gaXNfd3JpdGFibGU7CkBAIC02Myw3ICs2Myw3IEBAIGlu ZGV4IGExMDg4MmQ0N2YuLjE5YzFkZTA0NzIgMTAwNjQ0CiAgCiAgICAgIHJldHVybiBmOwogIH0K LUBAIC0xMjAsMTcgKzEyNSwyNyBAQCBzdGF0aWMgUUVNVUZpbGUgKnFlbXVfZmlsZV9uZXdfaW1w bChRSU9DaGFubmVsICppb2MsIGJvb2wgaXNfd3JpdGFibGUpCitAQCAtMTE5LDE3ICsxMjQsMjcg QEAgc3RhdGljIFFFTVVGaWxlICpxZW11X2ZpbGVfbmV3X2ltcGwoUUlPQ2hhbm5lbCAqaW9jLCBi b29sIGlzX3dyaXRhYmxlKQogICAqLwogIFFFTVVGaWxlICpxZW11X2ZpbGVfZ2V0X3JldHVybl9w YXRoKFFFTVVGaWxlICpmKQogIHsKQEAgLTk0LDcgKzk0LDcgQEAgaW5kZXggYTEwODgyZDQ3Zi4u MTljMWRlMDQ3MiAxMDA2NDQKICB9CiAgCiAgLyoKLUBAIC0zMjgsNyArMzQzLDcgQEAgc3RhdGlj IHNzaXplX3QgY29yb3V0aW5lX21peGVkX2ZuIHFlbXVfZmlsbF9idWZmZXIoUUVNVUZpbGUgKmYp CitAQCAtMzI3LDcgKzM0Miw3IEBAIHN0YXRpYyBzc2l6ZV90IGNvcm91dGluZV9taXhlZF9mbiBx ZW11X2ZpbGxfYnVmZmVyKFFFTVVGaWxlICpmKQogICAgICBkbyB7CiAgICAgICAgICBsZW4gPSBx aW9fY2hhbm5lbF9yZWFkKGYtPmlvYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGNoYXIgKilmLT5idWYgKyBwZW5kaW5nLApAQCAtMTAzLDcgKzEwMyw3IEBAIGluZGV4IGExMDg4 MmQ0N2YuLjE5YzFkZTA0NzIgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZsb2NhbF9lcnJvcik7CiAgICAgICAgICBpZiAobGVuID09IFFJT19DSEFOTkVMX0VSUl9CTE9D SykgewogICAgICAgICAgICAgIGlmIChxZW11X2luX2Nvcm91dGluZSgpKSB7Ci1AQCAtMzY4LDYg KzM4Myw5IEBAIGludCBxZW11X2ZjbG9zZShRRU1VRmlsZSAqZikKK0BAIC0zNjcsNiArMzgyLDkg QEAgaW50IHFlbXVfZmNsb3NlKFFFTVVGaWxlICpmKQogICAgICAgICAgcmV0ID0gcmV0MjsKICAg ICAgfQogICAgICBnX2NsZWFyX3BvaW50ZXIoJmYtPmlvYywgb2JqZWN0X3VucmVmKTsKQEAgLTEx Myw3ICsxMTMsNyBAQCBpbmRleCBhMTA4ODJkNDdmLi4xOWMxZGUwNDcyIDEwMDY0NAogICAgICBl cnJvcl9mcmVlKGYtPmxhc3RfZXJyb3Jfb2JqKTsKICAgICAgZ19mcmVlKGYpOwogICAgICB0cmFj ZV9xZW11X2ZpbGVfZmNsb3NlKCk7Ci1AQCAtNDE2LDcgKzQzNCw3IEBAIHN0YXRpYyB2b2lkIGFk ZF9idWZfdG9faW92ZWMoUUVNVUZpbGUgKmYsIHNpemVfdCBsZW4pCitAQCAtNDE1LDcgKzQzMyw3 IEBAIHN0YXRpYyB2b2lkIGFkZF9idWZfdG9faW92ZWMoUUVNVUZpbGUgKmYsIHNpemVfdCBsZW4p CiAgewogICAgICBpZiAoIWFkZF90b19pb3ZlYyhmLCBmLT5idWYgKyBmLT5idWZfaW5kZXgsIGxl biwgZmFsc2UpKSB7CiAgICAgICAgICBmLT5idWZfaW5kZXggKz0gbGVuOwpAQCAtMTIyLDcgKzEy Miw3IEBAIGluZGV4IGExMDg4MmQ0N2YuLjE5YzFkZTA0NzIgMTAwNjQ0CiAgICAgICAgICAgICAg cWVtdV9mZmx1c2goZik7CiAgICAgICAgICB9CiAgICAgIH0KLUBAIC00NDEsNyArNDU5LDcgQEAg dm9pZCBxZW11X3B1dF9idWZmZXIoUUVNVUZpbGUgKmYsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6 ZV90IHNpemUpCitAQCAtNDQwLDcgKzQ1OCw3IEBAIHZvaWQgcWVtdV9wdXRfYnVmZmVyKFFFTVVG aWxlICpmLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplKQogICAgICB9CiAgCiAgICAg IHdoaWxlIChzaXplID4gMCkgewpAQCAtMTMxLDcgKzEzMSw3IEBAIGluZGV4IGExMDg4MmQ0N2Yu LjE5YzFkZTA0NzIgMTAwNjQ0CiAgICAgICAgICBpZiAobCA+IHNpemUpIHsKICAgICAgICAgICAg ICBsID0gc2l6ZTsKICAgICAgICAgIH0KLUBAIC01ODcsOCArNjA1LDggQEAgc2l6ZV90IGNvcm91 dGluZV9taXhlZF9mbiBxZW11X3BlZWtfYnVmZmVyKFFFTVVGaWxlICpmLCB1aW50OF90ICoqYnVm LCBzaXplX3Qgc2kKK0BAIC01ODYsOCArNjA0LDggQEAgc2l6ZV90IGNvcm91dGluZV9taXhlZF9m biBxZW11X3BlZWtfYnVmZmVyKFFFTVVGaWxlICpmLCB1aW50OF90ICoqYnVmLCBzaXplX3Qgc2kK ICAgICAgc2l6ZV90IGluZGV4OwogIAogICAgICBhc3NlcnQoIXFlbXVfZmlsZV9pc193cml0YWJs ZShmKSk7CkBAIC0xNDIsNyArMTQyLDcgQEAgaW5kZXggYTEwODgyZDQ3Zi4uMTljMWRlMDQ3MiAx MDA2NDQKICAKICAgICAgLyogVGhlIDFzdCBieXRlIHRvIHJlYWQgZnJvbSAqLwogICAgICBpbmRl eCA9IGYtPmJ1Zl9pbmRleCArIG9mZnNldDsKLUBAIC02MzgsNyArNjU2LDcgQEAgc2l6ZV90IGNv cm91dGluZV9taXhlZF9mbiBxZW11X2dldF9idWZmZXIoUUVNVUZpbGUgKmYsIHVpbnQ4X3QgKmJ1 Ziwgc2l6ZV90IHNpemUKK0BAIC02MzcsNyArNjU1LDcgQEAgc2l6ZV90IGNvcm91dGluZV9taXhl ZF9mbiBxZW11X2dldF9idWZmZXIoUUVNVUZpbGUgKmYsIHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNp emUKICAgICAgICAgIHNpemVfdCByZXM7CiAgICAgICAgICB1aW50OF90ICpzcmM7CiAgCkBAIC0x NTEsNyArMTUxLDcgQEAgaW5kZXggYTEwODgyZDQ3Zi4uMTljMWRlMDQ3MiAxMDA2NDQKICAgICAg ICAgIGlmIChyZXMgPT0gMCkgewogICAgICAgICAgICAgIHJldHVybiBkb25lOwogICAgICAgICAg fQotQEAgLTY3Miw3ICs2OTAsNyBAQCBzaXplX3QgY29yb3V0aW5lX21peGVkX2ZuIHFlbXVfZ2V0 X2J1ZmZlcihRRU1VRmlsZSAqZiwgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZQorQEAgLTY3MSw3 ICs2ODksNyBAQCBzaXplX3QgY29yb3V0aW5lX21peGVkX2ZuIHFlbXVfZ2V0X2J1ZmZlcihRRU1V RmlsZSAqZiwgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZQogICAqLwogIHNpemVfdCBjb3JvdXRp bmVfbWl4ZWRfZm4gcWVtdV9nZXRfYnVmZmVyX2luX3BsYWNlKFFFTVVGaWxlICpmLCB1aW50OF90 ICoqYnVmLCBzaXplX3Qgc2l6ZSkKICB7CkBAIC0xNjAsNyArMTYwLDcgQEAgaW5kZXggYTEwODgy ZDQ3Zi4uMTljMWRlMDQ3MiAxMDA2NDQKICAgICAgICAgIHNpemVfdCByZXM7CiAgICAgICAgICB1 aW50OF90ICpzcmMgPSBOVUxMOwogIAotQEAgLTY5Nyw3ICs3MTUsNyBAQCBpbnQgY29yb3V0aW5l X21peGVkX2ZuIHFlbXVfcGVla19ieXRlKFFFTVVGaWxlICpmLCBpbnQgb2Zmc2V0KQorQEAgLTY5 Niw3ICs3MTQsNyBAQCBpbnQgY29yb3V0aW5lX21peGVkX2ZuIHFlbXVfcGVla19ieXRlKFFFTVVG aWxlICpmLCBpbnQgb2Zmc2V0KQogICAgICBpbnQgaW5kZXggPSBmLT5idWZfaW5kZXggKyBvZmZz ZXQ7CiAgCiAgICAgIGFzc2VydCghcWVtdV9maWxlX2lzX3dyaXRhYmxlKGYpKTsKQEAgLTE2OSwx NyArMTY5LDggQEAgaW5kZXggYTEwODgyZDQ3Zi4uMTljMWRlMDQ3MiAxMDA2NDQKICAKICAgICAg aWYgKGluZGV4ID49IGYtPmJ1Zl9zaXplKSB7CiAgICAgICAgICBxZW11X2ZpbGxfYnVmZmVyKGYp OwotQEAgLTgxMSw3ICs4MjksNyBAQCBzdGF0aWMgaW50IHFlbXVfY29tcHJlc3NfZGF0YSh6X3N0 cmVhbSAqc3RyZWFtLCB1aW50OF90ICpkZXN0LCBzaXplX3QgZGVzdF9sZW4sCi0gc3NpemVfdCBx ZW11X3B1dF9jb21wcmVzc2lvbl9kYXRhKFFFTVVGaWxlICpmLCB6X3N0cmVhbSAqc3RyZWFtLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwLCBzaXpl X3Qgc2l6ZSkKLSB7Ci0tICAgIHNzaXplX3QgYmxlbiA9IElPX0JVRl9TSVpFIC0gZi0+YnVmX2lu ZGV4IC0gc2l6ZW9mKGludDMyX3QpOwotKyAgICBzc2l6ZV90IGJsZW4gPSBmLT5idWZfYWxsb2Nh dGVkX3NpemUgLSBmLT5idWZfaW5kZXggLSBzaXplb2YoaW50MzJfdCk7Ci0gCi0gICAgIGlmIChi bGVuIDwgY29tcHJlc3NCb3VuZChzaXplKSkgewotICAgICAgICAgcmV0dXJuIC0xOwogZGlmZiAt LWdpdCBhL21pZ3JhdGlvbi9xZW11LWZpbGUuaCBiL21pZ3JhdGlvbi9xZW11LWZpbGUuaAotaW5k ZXggMzJmZDRhMzRmZC4uMzZhMGNkOGNjOCAxMDA2NDQKK2luZGV4IDExYzIxMjBlZGQuLmVkZjNj NWQxNDcgMTAwNjQ0CiAtLS0gYS9taWdyYXRpb24vcWVtdS1maWxlLmgKICsrKyBiL21pZ3JhdGlv bi9xZW11LWZpbGUuaAogQEAgLTMwLDcgKzMwLDkgQEAKQEAgLTE5MywxMCArMTg0LDEwIEBAIGlu ZGV4IDMyZmQ0YTM0ZmQuLjM2YTBjZDhjYzggMTAwNjQ0CiAgCiAgLyoKIGRpZmYgLS1naXQgYS9t aWdyYXRpb24vc2F2ZXZtLWFzeW5jLmMgYi9taWdyYXRpb24vc2F2ZXZtLWFzeW5jLmMKLWluZGV4 IDFhZjMyNjA0YzcuLmJlMjAzNWNkMmUgMTAwNjQ0CitpbmRleCA0ZjFlZjBlYmQ4Li44NGUxMGIy YzRjIDEwMDY0NAogLS0tIGEvbWlncmF0aW9uL3NhdmV2bS1hc3luYy5jCiArKysgYi9taWdyYXRp b24vc2F2ZXZtLWFzeW5jLmMKLUBAIC0zODYsNyArMzg2LDcgQEAgdm9pZCBxbXBfc2F2ZXZtX3N0 YXJ0KGNvbnN0IGNoYXIgKnN0YXRlZmlsZSwgRXJyb3IgKiplcnJwKQorQEAgLTM4MSw3ICszODEs NyBAQCB2b2lkIHFtcF9zYXZldm1fc3RhcnQoY29uc3QgY2hhciAqc3RhdGVmaWxlLCBFcnJvciAq KmVycnApCiAgCiAgICAgIFFJT0NoYW5uZWwgKmlvYyA9IFFJT19DSEFOTkVMKHFpb19jaGFubmVs X3NhdmV2bV9hc3luY19uZXcoc25hcF9zdGF0ZS50YXJnZXQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNuYXBfc3RhdGUu YnNfcG9zKSk7CkBAIC0yMDUsNyArMTk2LDcgQEAgaW5kZXggMWFmMzI2MDRjNy4uYmUyMDM1Y2Qy ZSAxMDA2NDQKICAKICAgICAgaWYgKCFzbmFwX3N0YXRlLmZpbGUpIHsKICAgICAgICAgIGVycm9y X3NldChlcnJwLCBFUlJPUl9DTEFTU19HRU5FUklDX0VSUk9SLCAiZmFpbGVkIHRvIG9wZW4gJyVz JyIsIHN0YXRlZmlsZSk7Ci1AQCAtNTEwLDcgKzUxMCw4IEBAIGludCBsb2FkX3NuYXBzaG90X2Zy b21fYmxvY2tkZXYoY29uc3QgY2hhciAqZmlsZW5hbWUsIEVycm9yICoqZXJycCkKK0BAIC01MDUs NyArNTA1LDggQEAgaW50IGxvYWRfc25hcHNob3RfZnJvbV9ibG9ja2Rldihjb25zdCBjaGFyICpm aWxlbmFtZSwgRXJyb3IgKiplcnJwKQogICAgICBibGtfb3BfYmxvY2tfYWxsKGJlLCBibG9ja2Vy KTsKICAKICAgICAgLyogcmVzdG9yZSB0aGUgVk0gc3RhdGUgKi8KZGlmZiAtLWdpdCBhL2RlYmlh bi9wYXRjaGVzL3B2ZS8wMDE5LVBWRS1ibG9jay1hZGQtdGhlLXplcm9pbml0LWJsb2NrLWRyaXZl ci1maWx0ZXIucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAxOS1QVkUtYmxvY2stYWRkLXRo ZS16ZXJvaW5pdC1ibG9jay1kcml2ZXItZmlsdGVyLnBhdGNoCmluZGV4IDc0NjRjYTUuLjM2MGY1 NGUgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDE5LVBWRS1ibG9jay1hZGQtdGhl LXplcm9pbml0LWJsb2NrLWRyaXZlci1maWx0ZXIucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMv cHZlLzAwMTktUFZFLWJsb2NrLWFkZC10aGUtemVyb2luaXQtYmxvY2stZHJpdmVyLWZpbHRlci5w YXRjaApAQCAtMTUsNyArMTUsNyBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5l ckBwcm94bW94LmNvbT4KICBjcmVhdGUgbW9kZSAxMDA2NDQgYmxvY2svemVyb2luaXQuYwogCiBk aWZmIC0tZ2l0IGEvYmxvY2svbWVzb24uYnVpbGQgYi9ibG9jay9tZXNvbi5idWlsZAotaW5kZXgg ZTFmMDNmZDc3My4uYjUzMGUxMTdiNSAxMDA2NDQKK2luZGV4IGYxMjYyZWMyYmEuLjZhNjBiNWQ2 YjkgMTAwNjQ0CiAtLS0gYS9ibG9jay9tZXNvbi5idWlsZAogKysrIGIvYmxvY2svbWVzb24uYnVp bGQKIEBAIC0zOSw2ICszOSw3IEBAIGJsb2NrX3NzLmFkZChmaWxlcygKQEAgLTIzLDEyICsyMywx MiBAQCBpbmRleCBlMWYwM2ZkNzczLi5iNTMwZTExN2I1IDEwMDY0NAogICAgJ3Rocm90dGxlLWdy b3Vwcy5jJywKICAgICd3cml0ZS10aHJlc2hvbGQuYycsCiArICAnemVyb2luaXQuYycsCi0gKSwg enN0ZCwgemxpYiwgZ251dGxzKQorICksIHpzdGQsIHpsaWIpCiAgCiAgc3lzdGVtX3NzLmFkZCh3 aGVuOiAnQ09ORklHX1RDRycsIGlmX3RydWU6IGZpbGVzKCdibGtyZXBsYXkuYycpKQogZGlmZiAt LWdpdCBhL2Jsb2NrL3plcm9pbml0LmMgYi9ibG9jay96ZXJvaW5pdC5jCiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uNzk5OGM5MzMyZAoraW5kZXggMDAwMDAwMDAwMC4u MmIyYjE5NGNjZgogLS0tIC9kZXYvbnVsbAogKysrIGIvYmxvY2svemVyb2luaXQuYwogQEAgLTAs MCArMSwyMDcgQEAKQEAgLTIxMiw3ICsyMTIsNyBAQCBpbmRleCAwMDAwMDAwMDAwLi43OTk4Yzkz MzJkCiArICAgIC5pbnN0YW5jZV9zaXplICAgICAgICAgICAgICAgICAgICA9IHNpemVvZihCRFJW WmVyb2luaXRTdGF0ZSksCiArCiArICAgIC5iZHJ2X3BhcnNlX2ZpbGVuYW1lICAgICAgICAgICAg ICA9IHplcm9pbml0X3BhcnNlX2ZpbGVuYW1lLAotKyAgICAuYmRydl9maWxlX29wZW4gICAgICAg ICAgICAgICAgICAgPSB6ZXJvaW5pdF9vcGVuLAorKyAgICAuYmRydl9vcGVuICAgICAgICAgICAg ICAgICAgICAgICAgPSB6ZXJvaW5pdF9vcGVuLAogKyAgICAuYmRydl9jbG9zZSAgICAgICAgICAg ICAgICAgICAgICAgPSB6ZXJvaW5pdF9jbG9zZSwKICsgICAgLmJkcnZfY29fZ2V0bGVuZ3RoICAg ICAgICAgICAgICAgID0gemVyb2luaXRfY29fZ2V0bGVuZ3RoLAogKyAgICAuYmRydl9jaGlsZF9w ZXJtICAgICAgICAgICAgICAgICAgPSBiZHJ2X2RlZmF1bHRfcGVybXMsCmRpZmYgLS1naXQgYS9k ZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMC1QVkUtQWRkLWR1bW15LWlkLWNvbW1hbmQtbGluZS1wYXJh bWV0ZXIucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMC1QVkUtQWRkLWR1bW15LWlkLWNv bW1hbmQtbGluZS1wYXJhbWV0ZXIucGF0Y2gKaW5kZXggYmM0NzJiMC4uZDY5Y2ZhYiAxMDA2NDQK LS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjAtUFZFLUFkZC1kdW1teS1pZC1jb21tYW5kLWxp bmUtcGFyYW1ldGVyLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDIwLVBWRS1BZGQt ZHVtbXktaWQtY29tbWFuZC1saW5lLXBhcmFtZXRlci5wYXRjaApAQCAtMTQsMTAgKzE0LDEwIEBA IFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29t PgogIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvcWVt dS1vcHRpb25zLmh4IGIvcWVtdS1vcHRpb25zLmh4Ci1pbmRleCA1MTFhYjk0MTVlLi45MmUzMDFk NTQ1IDEwMDY0NAoraW5kZXggMDc3MzBmOWU2NS4uN2ZkYzk0NDk2NSAxMDA2NDQKIC0tLSBhL3Fl bXUtb3B0aW9ucy5oeAogKysrIGIvcWVtdS1vcHRpb25zLmh4Ci1AQCAtMTIzNyw2ICsxMjM3LDkg QEAgbGVnYWN5IFBDLCB0aGV5IGFyZSBub3QgcmVjb21tZW5kZWQgZm9yIG1vZGVybiBjb25maWd1 cmF0aW9ucy4KK0BAIC0xMjM5LDYgKzEyMzksOSBAQCBsZWdhY3kgUEMsIHRoZXkgYXJlIG5vdCBy ZWNvbW1lbmRlZCBmb3IgbW9kZXJuIGNvbmZpZ3VyYXRpb25zLgogIAogIEVSU1QKICAKQEAgLTI4 LDEwICsyOCwxMCBAQCBpbmRleCA1MTFhYjk0MTVlLi45MmUzMDFkNTQ1IDEwMDY0NAogICAgICAi LWZkYS8tZmRiIGZpbGUgIHVzZSAnZmlsZScgYXMgZmxvcHB5IGRpc2sgMC8xIGltYWdlXG4iLCBR RU1VX0FSQ0hfQUxMKQogIERFRigiZmRiIiwgSEFTX0FSRywgUUVNVV9PUFRJT05fZmRiLCAiIiwg UUVNVV9BUkNIX0FMTCkKIGRpZmYgLS1naXQgYS9zeXN0ZW0vdmwuYyBiL3N5c3RlbS92bC5jCi1p bmRleCAyNzM4YWI3YzkxLi4yMGViZjJjOTIwIDEwMDY0NAoraW5kZXggZDZiYmRjOTA2ZS4uMjAw NDY4YTc1MyAxMDA2NDQKIC0tLSBhL3N5c3RlbS92bC5jCiArKysgYi9zeXN0ZW0vdmwuYwotQEAg LTI3NDgsNiArMjc0OCw3IEBAIHZvaWQgcWVtdV9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikK K0BAIC0yNzY0LDYgKzI3NjQsNyBAQCB2b2lkIHFlbXVfaW5pdChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAgICAgIE1hY2hpbmVDbGFzcyAqbWFjaGluZV9jbGFzczsKICAgICAgYm9vbCB1c2VyY29u ZmlnID0gdHJ1ZTsKICAgICAgRklMRSAqdm1zdGF0ZV9kdW1wX2ZpbGUgPSBOVUxMOwpAQCAtMzks NyArMzksNyBAQCBpbmRleCAyNzM4YWI3YzkxLi4yMGViZjJjOTIwIDEwMDY0NAogIAogICAgICBx ZW11X2FkZF9vcHRzKCZxZW11X2RyaXZlX29wdHMpOwogICAgICBxZW11X2FkZF9kcml2ZV9vcHRz KCZxZW11X2xlZ2FjeV9kcml2ZV9vcHRzKTsKLUBAIC0zMzcxLDYgKzMzNzIsMTMgQEAgdm9pZCBx ZW11X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTMzODcsNiArMzM4OCwxMyBAQCB2 b2lkIHFlbXVfaW5pdChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICAgICAgIG1h Y2hpbmVfcGFyc2VfcHJvcGVydHlfb3B0KHFlbXVfZmluZF9vcHRzKCJzbXAtb3B0cyIpLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic21wIiwgb3B0YXJnKTsK ICAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUv MDAyMS1QVkUtQ29uZmlnLVJldmVydC10YXJnZXQtaTM4Ni1kaXNhYmxlLUxJTlQwLWFmdGVyLXJl LnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjEtUFZFLUNvbmZpZy1SZXZlcnQtdGFyZ2V0 LWkzODYtZGlzYWJsZS1MSU5UMC1hZnRlci1yZS5wYXRjaAppbmRleCA5ODQ1Y2YyLi4wMTY4MTBk IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMS1QVkUtQ29uZmlnLVJldmVydC10 YXJnZXQtaTM4Ni1kaXNhYmxlLUxJTlQwLWFmdGVyLXJlLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRj aGVzL3B2ZS8wMDIxLVBWRS1Db25maWctUmV2ZXJ0LXRhcmdldC1pMzg2LWRpc2FibGUtTElOVDAt YWZ0ZXItcmUucGF0Y2gKQEAgLTExLDcgKzExLDcgQEAgU2lnbmVkLW9mZi1ieTogVGhvbWFzIExh bXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDkgaW5z ZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvaHcvaW50Yy9hcGljX2NvbW1vbi5jIGIvaHcvaW50 Yy9hcGljX2NvbW1vbi5jCi1pbmRleCBkOGZjMWUyODE1Li43ODk2OTRiOGIzIDEwMDY0NAoraW5k ZXggYzEzY2RkNzk5NC4uZmQ1ODA4Y2RjMCAxMDA2NDQKIC0tLSBhL2h3L2ludGMvYXBpY19jb21t b24uYwogKysrIGIvaHcvaW50Yy9hcGljX2NvbW1vbi5jCiBAQCAtMjYzLDYgKzI2MywxNSBAQCBz dGF0aWMgdm9pZCBhcGljX3Jlc2V0X2NvbW1vbihEZXZpY2VTdGF0ZSAqZGV2KQpkaWZmIC0tZ2l0 IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjItUFZFLVVwLUNvbmZpZy1maWxlLXBvc2l4LW1ha2Ut bG9ja2luZy1vcHRpb25vLW9uLWNyZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDIyLVBW RS1VcC1Db25maWctZmlsZS1wb3NpeC1tYWtlLWxvY2tpbmctb3B0aW9uby1vbi1jcmUucGF0Y2gK aW5kZXggOGI3NDM5Yy4uZWMwNTNkOCAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAw MjItUFZFLVVwLUNvbmZpZy1maWxlLXBvc2l4LW1ha2UtbG9ja2luZy1vcHRpb25vLW9uLWNyZS5w YXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMi1QVkUtVXAtQ29uZmlnLWZpbGUtcG9z aXgtbWFrZS1sb2NraW5nLW9wdGlvbm8tb24tY3JlLnBhdGNoCkBAIC0xMywxMCArMTMsMTAgQEAg U2lnbmVkLW9mZi1ieTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+ CiAgMiBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKIAog ZGlmZiAtLWdpdCBhL2Jsb2NrL2ZpbGUtcG9zaXguYyBiL2Jsb2NrL2ZpbGUtcG9zaXguYwotaW5k ZXggNDNiYzBiZDUyMC4uNjBlOThjODdmMSAxMDA2NDQKK2luZGV4IDk5ZTViZWExY2MuLjZhNGY2 YTI1ZTYgMTAwNjQ0CiAtLS0gYS9ibG9jay9maWxlLXBvc2l4LmMKICsrKyBiL2Jsb2NrL2ZpbGUt cG9zaXguYwotQEAgLTI4NzYsNiArMjg3Niw3IEBAIHJhd19jb19jcmVhdGUoQmxvY2tkZXZDcmVh dGVPcHRpb25zICpvcHRpb25zLCBFcnJvciAqKmVycnApCitAQCAtMjg4NCw2ICsyODg0LDcgQEAg cmF3X2NvX2NyZWF0ZShCbG9ja2RldkNyZWF0ZU9wdGlvbnMgKm9wdGlvbnMsIEVycm9yICoqZXJy cCkKICAgICAgaW50IGZkOwogICAgICB1aW50NjRfdCBwZXJtLCBzaGFyZWQ7CiAgICAgIGludCBy ZXN1bHQgPSAwOwpAQCAtMjQsNyArMjQsNyBAQCBpbmRleCA0M2JjMGJkNTIwLi42MGU5OGM4N2Yx IDEwMDY0NAogIAogICAgICAvKiBWYWxpZGF0ZSBvcHRpb25zIGFuZCBzZXQgZGVmYXVsdCB2YWx1 ZXMgKi8KICAgICAgYXNzZXJ0KG9wdGlvbnMtPmRyaXZlciA9PSBCTE9DS0RFVl9EUklWRVJfRklM RSk7Ci1AQCAtMjkxNiwxOSArMjkxNywyMiBAQCByYXdfY29fY3JlYXRlKEJsb2NrZGV2Q3JlYXRl T3B0aW9ucyAqb3B0aW9ucywgRXJyb3IgKiplcnJwKQorQEAgLTI5MjQsMTkgKzI5MjUsMjIgQEAg cmF3X2NvX2NyZWF0ZShCbG9ja2RldkNyZWF0ZU9wdGlvbnMgKm9wdGlvbnMsIEVycm9yICoqZXJy cCkKICAgICAgcGVybSA9IEJMS19QRVJNX1dSSVRFIHwgQkxLX1BFUk1fUkVTSVpFOwogICAgICBz aGFyZWQgPSBCTEtfUEVSTV9BTEwgJiB+QkxLX1BFUk1fUkVTSVpFOwogIApAQCAtNTksNyArNTks NyBAQCBpbmRleCA0M2JjMGJkNTIwLi42MGU5OGM4N2YxIDEwMDY0NAogICAgICB9CiAgCiAgICAg IC8qIENsZWFyIHRoZSBmaWxlIGJ5IHRydW5jYXRpbmcgaXQgdG8gMCAqLwotQEAgLTI5ODIsMTMg KzI5ODYsMTUgQEAgcmF3X2NvX2NyZWF0ZShCbG9ja2RldkNyZWF0ZU9wdGlvbnMgKm9wdGlvbnMs IEVycm9yICoqZXJycCkKK0BAIC0yOTkwLDEzICsyOTk0LDE1IEBAIHJhd19jb19jcmVhdGUoQmxv Y2tkZXZDcmVhdGVPcHRpb25zICpvcHRpb25zLCBFcnJvciAqKmVycnApCiAgICAgIH0KICAKICBv dXRfdW5sb2NrOgpAQCAtODIsNyArODIsNyBAQCBpbmRleCA0M2JjMGJkNTIwLi42MGU5OGM4N2Yx IDEwMDY0NAogICAgICB9CiAgCiAgb3V0X2Nsb3NlOgotQEAgLTMwMTIsNiArMzAxOCw3IEBAIHJh d19jb19jcmVhdGVfb3B0cyhCbG9ja0RyaXZlciAqZHJ2LCBjb25zdCBjaGFyICpmaWxlbmFtZSwK K0BAIC0zMDIwLDYgKzMwMjYsNyBAQCByYXdfY29fY3JlYXRlX29wdHMoQmxvY2tEcml2ZXIgKmRy diwgY29uc3QgY2hhciAqZmlsZW5hbWUsCiAgICAgIFByZWFsbG9jTW9kZSBwcmVhbGxvYzsKICAg ICAgY2hhciAqYnVmID0gTlVMTDsKICAgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CkBAIC05 MCw3ICs5MCw3IEBAIGluZGV4IDQzYmMwYmQ1MjAuLjYwZTk4Yzg3ZjEgMTAwNjQ0CiAgCiAgICAg IC8qIFNraXAgZmlsZTogcHJvdG9jb2wgcHJlZml4ICovCiAgICAgIHN0cnN0YXJ0KGZpbGVuYW1l LCAiZmlsZToiLCAmZmlsZW5hbWUpOwotQEAgLTMwMzQsNiArMzA0MSwxOCBAQCByYXdfY29fY3Jl YXRlX29wdHMoQmxvY2tEcml2ZXIgKmRydiwgY29uc3QgY2hhciAqZmlsZW5hbWUsCitAQCAtMzA0 Miw2ICszMDQ5LDE4IEBAIHJhd19jb19jcmVhdGVfb3B0cyhCbG9ja0RyaXZlciAqZHJ2LCBjb25z dCBjaGFyICpmaWxlbmFtZSwKICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgICB9CiAgCkBA IC0xMDksNyArMTA5LDcgQEAgaW5kZXggNDNiYzBiZDUyMC4uNjBlOThjODdmMSAxMDA2NDQKICAg ICAgb3B0aW9ucyA9IChCbG9ja2RldkNyZWF0ZU9wdGlvbnMpIHsKICAgICAgICAgIC5kcml2ZXIg ICAgID0gQkxPQ0tERVZfRFJJVkVSX0ZJTEUsCiAgICAgICAgICAudS5maWxlICAgICA9IHsKLUBA IC0zMDQ1LDYgKzMwNjQsOCBAQCByYXdfY29fY3JlYXRlX29wdHMoQmxvY2tEcml2ZXIgKmRydiwg Y29uc3QgY2hhciAqZmlsZW5hbWUsCitAQCAtMzA1Myw2ICszMDcyLDggQEAgcmF3X2NvX2NyZWF0 ZV9vcHRzKEJsb2NrRHJpdmVyICpkcnYsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAogICAgICAgICAg ICAgIC5ub2NvdyAgICAgICAgICAgICAgPSBub2NvdywKICAgICAgICAgICAgICAuaGFzX2V4dGVu dF9zaXplX2hpbnQgPSBoYXNfZXh0ZW50X3NpemVfaGludCwKICAgICAgICAgICAgICAuZXh0ZW50 X3NpemVfaGludCAgID0gZXh0ZW50X3NpemVfaGludCwKQEAgLTExOSwxMCArMTE5LDEwIEBAIGlu ZGV4IDQzYmMwYmQ1MjAuLjYwZTk4Yzg3ZjEgMTAwNjQ0CiAgICAgIH07CiAgICAgIHJldHVybiBy YXdfY29fY3JlYXRlKCZvcHRpb25zLCBlcnJwKTsKIGRpZmYgLS1naXQgYS9xYXBpL2Jsb2NrLWNv cmUuanNvbiBiL3FhcGkvYmxvY2stY29yZS5qc29uCi1pbmRleCA5MDVkYThiZTcyLi4zZGI1ODdh NmU0IDEwMDY0NAoraW5kZXggYzJhMzM3Y2MwNC4uMWNiNmYwNGRiMyAxMDA2NDQKIC0tLSBhL3Fh cGkvYmxvY2stY29yZS5qc29uCiArKysgYi9xYXBpL2Jsb2NrLWNvcmUuanNvbgotQEAgLTQ5NTYs NiArNDk1NiwxMCBAQAorQEAgLTQ5NTksNiArNDk1OSwxMCBAQAogICMgQGV4dGVudC1zaXplLWhp bnQ6IEV4dGVudCBzaXplIGhpbnQgdG8gYWRkIHRvIHRoZSBpbWFnZSBmaWxlOyAwIGZvcgogICMg ICAgIG5vdCBhZGRpbmcgYW4gZXh0ZW50IHNpemUgaGludCAoZGVmYXVsdDogMSBNQiwgc2luY2Ug NS4xKQogICMKQEAgLTEzMyw3ICsxMzMsNyBAQCBpbmRleCA5MDVkYThiZTcyLi4zZGI1ODdhNmU0 IDEwMDY0NAogICMgU2luY2U6IDIuMTIKICAjIwogIHsgJ3N0cnVjdCc6ICdCbG9ja2RldkNyZWF0 ZU9wdGlvbnNGaWxlJywKLUBAIC00OTYzLDcgKzQ5NjcsOCBAQAorQEAgLTQ5NjYsNyArNDk3MCw4 IEBACiAgICAgICAgICAgICAgJ3NpemUnOiAgICAgICAgICAgICAgICAgJ3NpemUnLAogICAgICAg ICAgICAgICcqcHJlYWxsb2NhdGlvbic6ICAgICAgICdQcmVhbGxvY01vZGUnLAogICAgICAgICAg ICAgICcqbm9jb3cnOiAgICAgICAgICAgICAgICdib29sJywKZGlmZiAtLWdpdCBhL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDIzLVBWRS1tb25pdG9yLWRpc2FibGUtb29iLWNhcGFiaWxpdHkucGF0Y2gg Yi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyMy1QVkUtbW9uaXRvci1kaXNhYmxlLW9vYi1jYXBhYmls aXR5LnBhdGNoCmluZGV4IGUzYzdiYTEuLmM3ZTAwYzkgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRj aGVzL3B2ZS8wMDIzLVBWRS1tb25pdG9yLWRpc2FibGUtb29iLWNhcGFiaWxpdHkucGF0Y2gKKysr IGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjMtUFZFLW1vbml0b3ItZGlzYWJsZS1vb2ItY2FwYWJp bGl0eS5wYXRjaApAQCAtMTgsMTAgKzE4LDEwIEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1w cmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL21vbml0b3IvcW1wLmMgYi9t b25pdG9yL3FtcC5jCi1pbmRleCA1ODljOTUyNGY4Li4yNTA1ZGQ2NThhIDEwMDY0NAoraW5kZXgg ZWIxODFkNTk3OS4uMjBmYzBkMjBhNiAxMDA2NDQKIC0tLSBhL21vbml0b3IvcW1wLmMKICsrKyBi L21vbml0b3IvcW1wLmMKLUBAIC01MzYsOCArNTM2LDcgQEAgdm9pZCBtb25pdG9yX2luaXRfcW1w KENoYXJkZXYgKmNociwgYm9vbCBwcmV0dHksIEVycm9yICoqZXJycCkKK0BAIC01MzQsOCArNTM0 LDcgQEAgdm9pZCBtb25pdG9yX2luaXRfcW1wKENoYXJkZXYgKmNociwgYm9vbCBwcmV0dHksIEVy cm9yICoqZXJycCkKICAgICAgcWVtdV9jaHJfZmVfc2V0X2VjaG8oJm1vbi0+Y29tbW9uLmNociwg dHJ1ZSk7CiAgCiAgICAgIC8qIE5vdGU6IHdlIHJ1biBRTVAgbW9uaXRvciBpbiBJL08gdGhyZWFk IHdoZW4gQGNociBzdXBwb3J0cyB0aGF0ICovCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9w dmUvMDAyNC1QVkUtQ29tcGF0LTQuMC11c2VkLWJhbGxvb24tcWVtdS00LTAtY29uZmlnLXNpemUt ZmFsLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjQtUFZFLUNvbXBhdC00LjAtdXNlZC1i YWxsb29uLXFlbXUtNC0wLWNvbmZpZy1zaXplLWZhbC5wYXRjaAppbmRleCBhNzYzMGQyLi43NGJj MjRlIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAyNC1QVkUtQ29tcGF0LTQuMC11 c2VkLWJhbGxvb24tcWVtdS00LTAtY29uZmlnLXNpemUtZmFsLnBhdGNoCisrKyBiL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDI0LVBWRS1Db21wYXQtNC4wLXVzZWQtYmFsbG9vbi1xZW11LTQtMC1jb25m aWctc2l6ZS1mYWwucGF0Y2gKQEAgLTI2LDEwICsyNiwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBUaG9t YXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9ody9jb3JlL21h Y2hpbmUuYyBiL2h3L2NvcmUvbWFjaGluZS5jCi1pbmRleCA0MjczZGUxNmEwLi44M2YxZmMwMjkz IDEwMDY0NAoraW5kZXggMjdkY2RhMDI0OC4uN2ExM2U5ZjAxNCAxMDA2NDQKIC0tLSBhL2h3L2Nv cmUvbWFjaGluZS5jCiArKysgYi9ody9jb3JlL21hY2hpbmUuYwotQEAgLTE2Miw3ICsxNjIsOCBA QCBHbG9iYWxQcm9wZXJ0eSBod19jb21wYXRfNF8wW10gPSB7CitAQCAtMTczLDcgKzE3Myw4IEBA IEdsb2JhbFByb3BlcnR5IGh3X2NvbXBhdF80XzBbXSA9IHsKICAgICAgeyAidmlydGlvLXZnYSIs ICAgICAiZWRpZCIsICJmYWxzZSIgfSwKICAgICAgeyAidmlydGlvLWdwdS1kZXZpY2UiLCAiZWRp ZCIsICJmYWxzZSIgfSwKICAgICAgeyAidmlydGlvLWRldmljZSIsICJ1c2Utc3RhcnRlZCIsICJm YWxzZSIgfSwKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDI1LVBWRS1BbGxvdy12 ZXJzaW9uLWNvZGUtaW4tbWFjaGluZS10eXBlLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAw MjUtUFZFLUFsbG93LXZlcnNpb24tY29kZS1pbi1tYWNoaW5lLXR5cGUucGF0Y2gKaW5kZXggZWIy NzMwNC4uNzBjMWQxNSAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjUtUFZFLUFs bG93LXZlcnNpb24tY29kZS1pbi1tYWNoaW5lLXR5cGUucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMjUtUFZFLUFsbG93LXZlcnNpb24tY29kZS1pbi1tYWNoaW5lLXR5cGUucGF0Y2gK QEAgLTE2LDE1ICsxNiwxNSBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KIC0tLQogIGh3L2NvcmUvbWFjaGluZS1xbXAtY21kcy5jIHwgIDUgKysrKysK ICBpbmNsdWRlL2h3L2JvYXJkcy5oICAgICAgICB8ICAyICsrCi0gcWFwaS9tYWNoaW5lLmpzb24g ICAgICAgICAgfCAgNCArKystCi0gc3lzdGVtL3ZsLmMgICAgICAgICAgICAgICAgfCAyNSArKysr KysrKysrKysrKysrKysrKysrKysrCi0gNCBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCisgcWFwaS9tYWNoaW5lLmpzb24gICAgICAgICAgfCAgMyArKysKKyBz eXN0ZW0vdmwuYyAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysrKysrKwor IDQgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvaHcvY29y ZS9tYWNoaW5lLXFtcC1jbWRzLmMgYi9ody9jb3JlL21hY2hpbmUtcW1wLWNtZHMuYwotaW5kZXgg MzE0MzUxY2RmZi4uNjI4YTM1MzdjNSAxMDA2NDQKK2luZGV4IDUyYTZkNzQ4MjAuLjM2MjEyODg0 MmQgMTAwNjQ0CiAtLS0gYS9ody9jb3JlL21hY2hpbmUtcW1wLWNtZHMuYwogKysrIGIvaHcvY29y ZS9tYWNoaW5lLXFtcC1jbWRzLmMKLUBAIC05NCw2ICs5NCwxMSBAQCBNYWNoaW5lSW5mb0xpc3Qg KnFtcF9xdWVyeV9tYWNoaW5lcyhFcnJvciAqKmVycnApCitAQCAtOTQsNiArOTQsMTEgQEAgTWFj aGluZUluZm9MaXN0ICpxbXBfcXVlcnlfbWFjaGluZXMoYm9vbCBoYXNfY29tcGF0X3Byb3BzLCBi b29sIGNvbXBhdF9wcm9wcywKICAgICAgICAgIGlmIChzdHJjbXAobWMtPm5hbWUsIE1BQ0hJTkVf R0VUX0NMQVNTKGN1cnJlbnRfbWFjaGluZSktPm5hbWUpID09IDApIHsKICAgICAgICAgICAgICBp bmZvLT5oYXNfaXNfY3VycmVudCA9IHRydWU7CiAgICAgICAgICAgICAgaW5mby0+aXNfY3VycmVu dCA9IHRydWU7CkBAIC0zNywxMCArMzcsMTAgQEAgaW5kZXggMzE0MzUxY2RmZi4uNjI4YTM1Mzdj NSAxMDA2NDQKICAKICAgICAgICAgIGlmIChtYy0+ZGVmYXVsdF9jcHVfdHlwZSkgewogZGlmZiAt LWdpdCBhL2luY2x1ZGUvaHcvYm9hcmRzLmggYi9pbmNsdWRlL2h3L2JvYXJkcy5oCi1pbmRleCA4 YjhmNmQ1YzAwLi5kZDZkMGExNDQ3IDEwMDY0NAoraW5kZXggNDhmZjZkOGI5My4uNWNkZGViN2Zj YiAxMDA2NDQKIC0tLSBhL2luY2x1ZGUvaHcvYm9hcmRzLmgKICsrKyBiL2luY2x1ZGUvaHcvYm9h cmRzLmgKLUBAIC0yNDYsNiArMjQ2LDggQEAgc3RydWN0IE1hY2hpbmVDbGFzcyB7CitAQCAtMjUy LDYgKzI1Miw4IEBAIHN0cnVjdCBNYWNoaW5lQ2xhc3MgewogICAgICBjb25zdCBjaGFyICpkZXNj OwogICAgICBjb25zdCBjaGFyICpkZXByZWNhdGlvbl9yZWFzb247CiAgCkBAIC01MCw1MiArNTAs NTEgQEAgaW5kZXggOGI4ZjZkNWMwMC4uZGQ2ZDBhMTQ0NyAxMDA2NDQKICAgICAgdm9pZCAoKnJl c2V0KShNYWNoaW5lU3RhdGUgKnN0YXRlLCBTaHV0ZG93bkNhdXNlIHJlYXNvbik7CiAgICAgIHZv aWQgKCp3YWtldXApKE1hY2hpbmVTdGF0ZSAqc3RhdGUpOwogZGlmZiAtLWdpdCBhL3FhcGkvbWFj aGluZS5qc29uIGIvcWFwaS9tYWNoaW5lLmpzb24KLWluZGV4IGEwMjRkNWIwNWQuLjFkNjliZmZh YTAgMTAwNjQ0CitpbmRleCAwYzcwMzMxNmY1Li5kYzQ2YTNlOTNmIDEwMDY0NAogLS0tIGEvcWFw aS9tYWNoaW5lLmpzb24KICsrKyBiL3FhcGkvbWFjaGluZS5qc29uCi1AQCAtMTY4LDYgKzE2OCw4 IEBACitAQCAtMTkwLDYgKzE5MCw4IEBACiAgIwogICMgQGFjcGk6IG1hY2hpbmUgdHlwZSBzdXBw b3J0cyBBQ1BJIChzaW5jZSA4LjApCiAgIwogKyMgQHB2ZS12ZXJzaW9uOiBjdXN0b20gUFZFIHZl cnNpb24gc3VmZml4IHNwZWNpZmllZCBhcyAnbWFjaGluZStwdmVOJwogKyMKLSAjIFNpbmNlOiAx LjIKLSAjIwotIHsgJ3N0cnVjdCc6ICdNYWNoaW5lSW5mbycsCi1AQCAtMTc1LDcgKzE3Nyw3IEBA Ci0gICAgICAgICAgICAgJyppcy1kZWZhdWx0JzogJ2Jvb2wnLCAnKmlzLWN1cnJlbnQnOiAnYm9v bCcsICdjcHUtbWF4JzogJ2ludCcsCisgIyBAY29tcGF0LXByb3BzOiBUaGUgbWFjaGluZSB0eXBl J3MgY29tcGF0aWJpbGl0eSBwcm9wZXJ0aWVzLiAgT25seQorICMgICAgIHByZXNlbnQgd2hlbiBx dWVyeS1tYWNoaW5lcyBhcmd1bWVudCBAY29tcGF0LXByb3BzIGlzIHRydWUuCisgIyAgICAgKHNp bmNlIDkuMSkKK0BAIC0yMDYsNiArMjA4LDcgQEAKICAgICAgICAgICAgICAnaG90cGx1Z2dhYmxl LWNwdXMnOiAnYm9vbCcsICAnbnVtYS1tZW0tc3VwcG9ydGVkJzogJ2Jvb2wnLAogICAgICAgICAg ICAgICdkZXByZWNhdGVkJzogJ2Jvb2wnLCAnKmRlZmF1bHQtY3B1LXR5cGUnOiAnc3RyJywKLS0g ICAgICAgICAgICAnKmRlZmF1bHQtcmFtLWlkJzogJ3N0cicsICdhY3BpJzogJ2Jvb2wnIH0gfQot KyAgICAgICAgICAgICcqZGVmYXVsdC1yYW0taWQnOiAnc3RyJywgJ2FjcGknOiAnYm9vbCcsICcq cHZlLXZlcnNpb24nOiAnc3RyJyB9IH0KKyAgICAgICAgICAgICAnKmRlZmF1bHQtcmFtLWlkJzog J3N0cicsICdhY3BpJzogJ2Jvb2wnLAorKyAgICAgICAgICAgICcqcHZlLXZlcnNpb24nOiAnc3Ry JywKKyAgICAgICAgICAgICAnKmNvbXBhdC1wcm9wcyc6IHsgJ3R5cGUnOiBbJ0NvbXBhdFByb3Bl cnR5J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmZWF0dXJlcyc6IFsndW5z dGFibGUnXSB9IH0gfQogIAotICMjCi0gIyBAcXVlcnktbWFjaGluZXM6CiBkaWZmIC0tZ2l0IGEv c3lzdGVtL3ZsLmMgYi9zeXN0ZW0vdmwuYwotaW5kZXggMjBlYmYyYzkyMC4uNGQzOWUzMjA5NyAx MDA2NDQKK2luZGV4IDIwMDQ2OGE3NTMuLjBkYmRiYTY0MjEgMTAwNjQ0CiAtLS0gYS9zeXN0ZW0v dmwuYwogKysrIGIvc3lzdGVtL3ZsLmMKLUBAIC0xNjU5LDYgKzE2NTksNyBAQCBzdGF0aWMgY29u c3QgUUVNVU9wdGlvbiAqbG9va3VwX29wdChpbnQgYXJnYywgY2hhciAqKmFyZ3YsCi0gc3RhdGlj IE1hY2hpbmVDbGFzcyAqc2VsZWN0X21hY2hpbmUoUURpY3QgKnFkaWN0LCBFcnJvciAqKmVycnAp CitAQCAtMTY3NSw2ICsxNjc1LDcgQEAgc3RhdGljIE1hY2hpbmVDbGFzcyAqc2VsZWN0X21hY2hp bmUoUURpY3QgKnFkaWN0LCBFcnJvciAqKmVycnApCiAgeworICAgICBFUlJQX0dVQVJEKCk7CiAg ICAgIGNvbnN0IGNoYXIgKm1hY2hpbmVfdHlwZSA9IHFkaWN0X2dldF90cnlfc3RyKHFkaWN0LCAi dHlwZSIpOwogKyAgICBjb25zdCBjaGFyICpwdmV2ZXIgPSBxZGljdF9nZXRfdHJ5X3N0cihxZGlj dCwgInB2ZXZlciIpOwotICAgICBHU0xpc3QgKm1hY2hpbmVzID0gb2JqZWN0X2NsYXNzX2dldF9s aXN0KFRZUEVfTUFDSElORSwgZmFsc2UpOwotICAgICBNYWNoaW5lQ2xhc3MgKm1hY2hpbmVfY2xh c3M7Ci0gICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOwotQEAgLTE2NzYsNiArMTY3NywxMSBA QCBzdGF0aWMgTWFjaGluZUNsYXNzICpzZWxlY3RfbWFjaGluZShRRGljdCAqcWRpY3QsIEVycm9y ICoqZXJycCkKLSAgICAgICAgIH0KLSAgICAgfQorICAgICBnX2F1dG9wdHIoR1NMaXN0KSBtYWNo aW5lcyA9IG9iamVjdF9jbGFzc19nZXRfbGlzdChUWVBFX01BQ0hJTkUsIGZhbHNlKTsKKyAgICAg TWFjaGluZUNsYXNzICptYWNoaW5lX2NsYXNzID0gTlVMTDsKICAKLSsgICAgaWYgKG1hY2hpbmVf Y2xhc3MpIHsKK0BAIC0xNjk0LDcgKzE2OTUsMTEgQEAgc3RhdGljIE1hY2hpbmVDbGFzcyAqc2Vs ZWN0X21hY2hpbmUoUURpY3QgKnFkaWN0LCBFcnJvciAqKmVycnApCisgICAgIGlmICghbWFjaGlu ZV9jbGFzcykgeworICAgICAgICAgZXJyb3JfYXBwZW5kX2hpbnQoZXJycCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICJVc2UgLW1hY2hpbmUgaGVscCB0byBsaXN0IHN1cHBvcnRlZCBtYWNo aW5lc1xuIik7CisrICAgIH0gZWxzZSB7CiArICAgICAgICBtYWNoaW5lX2NsYXNzLT5wdmVfdmVy c2lvbiA9IGdfc3RyZHVwKHB2ZXZlcik7CiArICAgICAgICBxZGljdF9kZWwocWRpY3QsICJwdmV2 ZXIiKTsKLSsgICAgfQorICAgICB9CiArCi0gICAgIGdfc2xpc3RfZnJlZShtYWNoaW5lcyk7Ci0g ICAgIGlmIChsb2NhbF9lcnIpIHsKLSAgICAgICAgIGVycm9yX2FwcGVuZF9oaW50KCZsb2NhbF9l cnIsICJVc2UgLW1hY2hpbmUgaGVscCB0byBsaXN0IHN1cHBvcnRlZCBtYWNoaW5lc1xuIik7Ci1A QCAtMzMxMywxMiArMzMxOSwzMSBAQCB2b2lkIHFlbXVfaW5pdChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCisgICAgIHJldHVybiBtYWNoaW5lX2NsYXNzOworIH0KKyAKK0BAIC0zMzI5LDEyICszMzM0 LDMxIEBAIHZvaWQgcWVtdV9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgICAg ICBjYXNlIFFFTVVfT1BUSU9OX21hY2hpbmU6CiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgIGJvb2wgaGVscDsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8w MDI3LVBWRS1CYWNrdXAtYWRkLXZtYS1iYWNrdXAtZm9ybWF0LWNvZGUucGF0Y2ggYi9kZWJpYW4v cGF0Y2hlcy9wdmUvMDAyNy1QVkUtQmFja3VwLWFkZC12bWEtYmFja3VwLWZvcm1hdC1jb2RlLnBh dGNoCmluZGV4IGQ2ZDc3NjcuLjBmMTk3YmEgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2 ZS8wMDI3LVBWRS1CYWNrdXAtYWRkLXZtYS1iYWNrdXAtZm9ybWF0LWNvZGUucGF0Y2gKKysrIGIv ZGViaWFuL3BhdGNoZXMvcHZlLzAwMjctUFZFLUJhY2t1cC1hZGQtdm1hLWJhY2t1cC1mb3JtYXQt Y29kZS5wYXRjaApAQCAtMjYsMTIgKzI2LDEyIEBAIFNpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVy IDxmLmVibmVyQHByb3htb3guY29tPgogIGNyZWF0ZSBtb2RlIDEwMDY0NCB2bWEuaAogCiBkaWZm IC0tZ2l0IGEvYmxvY2svbWVzb24uYnVpbGQgYi9ibG9jay9tZXNvbi5idWlsZAotaW5kZXggYjUz MGUxMTdiNS4uYjI0NWRhYTk4ZSAxMDA2NDQKK2luZGV4IDZhNjBiNWQ2YjkuLjY1MmM4Y2JkYjcg MTAwNjQ0CiAtLS0gYS9ibG9jay9tZXNvbi5idWlsZAogKysrIGIvYmxvY2svbWVzb24uYnVpbGQK IEBAIC00Miw2ICs0Miw4IEBAIGJsb2NrX3NzLmFkZChmaWxlcygKICAgICd6ZXJvaW5pdC5jJywK LSApLCB6c3RkLCB6bGliLCBnbnV0bHMpCisgKSwgenN0ZCwgemxpYikKICAKICtibG9ja19zcy5h ZGQoZmlsZXMoJy4uL3ZtYS13cml0ZXIuYycpLCBsaWJ1dWlkKQogKwpAQCAtMzksMTAgKzM5LDEw IEBAIGluZGV4IGI1MzBlMTE3YjUuLmIyNDVkYWE5OGUgMTAwNjQ0CiAgc3lzdGVtX3NzLmFkZChm aWxlcygnYmxvY2stcmFtLXJlZ2lzdHJhci5jJykpCiAgCiBkaWZmIC0tZ2l0IGEvbWVzb24uYnVp bGQgYi9tZXNvbi5idWlsZAotaW5kZXggOTFhMGFhNjRjNi4uNjIwY2M1OTRiMiAxMDA2NDQKK2lu ZGV4IGFhN2VhODVkMGIuLjdlZWU1YjQyNDkgMTAwNjQ0CiAtLS0gYS9tZXNvbi5idWlsZAogKysr IGIvbWVzb24uYnVpbGQKLUBAIC0xOTIyLDYgKzE5MjIsOCBAQCBlbmRpZgorQEAgLTIwMTIsNiAr MjAxMiw4IEBAIGVuZGlmCiAgCiAgaGFzX2dldHRpZCA9IGNjLmhhc19mdW5jdGlvbignZ2V0dGlk JykKICAKQEAgLTUxLDEyICs1MSwxMiBAQCBpbmRleCA5MWEwYWE2NGM2Li42MjBjYzU5NGIyIDEw MDY0NAogICMgbGlic2VsaW51eAogIHNlbGludXggPSBkZXBlbmRlbmN5KCdsaWJzZWxpbnV4JywK ICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogZ2V0X29wdGlvbignc2VsaW51eCcpLAot QEAgLTQwMjMsNiArNDAyNSw5IEBAIGlmIGhhdmVfdG9vbHMKLSAgICAgICAgICAgICAgICBkZXBl bmRlbmNpZXM6IFtibG9ja2RldiwgcWVtdXV0aWwsIGdudXRscywgc2VsaW51eF0sCitAQCAtNDA5 Nyw2ICs0MDk5LDkgQEAgaWYgaGF2ZV90b29scworICAgICAgICAgICAgICAgIGRlcGVuZGVuY2ll czogW2Jsb2NrZGV2LCBxZW11dXRpbCwgc2VsaW51eF0sCiAgICAgICAgICAgICAgICAgaW5zdGFs bDogdHJ1ZSkKICAKICsgIHZtYSA9IGV4ZWN1dGFibGUoJ3ZtYScsIGZpbGVzKCd2bWEuYycsICd2 bWEtcmVhZGVyLmMnKSArIGdlbmgsCi0rICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczog W2F1dGh6LCBibG9jaywgY3J5cHRvLCBpbywgcW9tXSwgaW5zdGFsbDogdHJ1ZSkKKysgICAgICAg ICAgICAgICAgICAgZGVwZW5kZW5jaWVzOiBbYXV0aHosIGJsb2NrLCBjcnlwdG8sIGlvLCBxZW11 dXRpbCwgcW9tXSwgaW5zdGFsbDogdHJ1ZSkKICsKICAgIHN1YmRpcignc3RvcmFnZS1kYWVtb24n KQogIApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjgtUFZFLUJhY2t1cC1hZGQt YmFja3VwLWR1bXAtYmxvY2stZHJpdmVyLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMjgt UFZFLUJhY2t1cC1hZGQtYmFja3VwLWR1bXAtYmxvY2stZHJpdmVyLnBhdGNoCmluZGV4IDcyMmEy MmYuLjM5YmIwYzMgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDI4LVBWRS1CYWNr dXAtYWRkLWJhY2t1cC1kdW1wLWJsb2NrLWRyaXZlci5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hl cy9wdmUvMDAyOC1QVkUtQmFja3VwLWFkZC1iYWNrdXAtZHVtcC1ibG9jay1kcml2ZXIucGF0Y2gK QEAgLTI0Nyw3ICsyNDcsNyBAQCBpbmRleCBlYmE1YjExNDkzLi4xOTYzZTQ3YWI5IDEwMDY0NAog ICAgICBpZiAocGVyZi0+bWF4X2NodW5rICYmIHBlcmYtPm1heF9jaHVuayA8IGNsdXN0ZXJfc2l6 ZSkgewogICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAiUmVxdWlyZWQgbWF4LWNodW5rICglIiBQ UklpNjQgIikgaXMgbGVzcyB0aGFuIGJhY2t1cCAiCiBkaWZmIC0tZ2l0IGEvYmxvY2svbWVzb24u YnVpbGQgYi9ibG9jay9tZXNvbi5idWlsZAotaW5kZXggYjI0NWRhYTk4ZS4uZTk5OTE0ZWFhNCAx MDA2NDQKK2luZGV4IDY1MmM4Y2JkYjcuLmUxY2Y1YTJlNjUgMTAwNjQ0CiAtLS0gYS9ibG9jay9t ZXNvbi5idWlsZAogKysrIGIvYmxvY2svbWVzb24uYnVpbGQKIEBAIC00LDYgKzQsNyBAQCBibG9j a19zcy5hZGQoZmlsZXMoCkBAIC0yNTksNyArMjU5LDcgQEAgaW5kZXggYjI0NWRhYTk4ZS4uZTk5 OTE0ZWFhNCAxMDA2NDQKICAgICdibGtsb2d3cml0ZXMuYycsCiAgICAnYmxrdmVyaWZ5LmMnLAog ZGlmZiAtLWdpdCBhL2luY2x1ZGUvYmxvY2svYmxvY2tfaW50LWNvbW1vbi5oIGIvaW5jbHVkZS9i bG9jay9ibG9ja19pbnQtY29tbW9uLmgKLWluZGV4IDc2MTI3NjEyN2UuLmIzZTY2OTc2MTMgMTAw NjQ0CitpbmRleCBlYmI0ZTU2YTUwLi5lNzE3YTc0ZTVmIDEwMDY0NAogLS0tIGEvaW5jbHVkZS9i bG9jay9ibG9ja19pbnQtY29tbW9uLmgKICsrKyBiL2luY2x1ZGUvYmxvY2svYmxvY2tfaW50LWNv bW1vbi5oCiBAQCAtMjYsNiArMjYsNyBAQApkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZl LzAwMzAtUFZFLUJhY2t1cC1Qcm94bW94LWJhY2t1cC1wYXRjaGVzLWZvci1RRU1VLnBhdGNoIGIv ZGViaWFuL3BhdGNoZXMvcHZlLzAwMzAtUFZFLUJhY2t1cC1Qcm94bW94LWJhY2t1cC1wYXRjaGVz LWZvci1RRU1VLnBhdGNoCmluZGV4IDRjYzljOTcuLjdlZDZkZDIgMTAwNjQ0Ci0tLSBhL2RlYmlh bi9wYXRjaGVzL3B2ZS8wMDMwLVBWRS1CYWNrdXAtUHJveG1veC1iYWNrdXAtcGF0Y2hlcy1mb3It UUVNVS5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzMC1QVkUtQmFja3VwLVByb3ht b3gtYmFja3VwLXBhdGNoZXMtZm9yLVFFTVUucGF0Y2gKQEAgLTEwNCwxMSArMTA0LDExIEBAIFNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgogIGNyZWF0ZSBt b2RlIDEwMDY0NCBwdmUtYmFja3VwLmMKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL21lc29uLmJ1aWxk IGIvYmxvY2svbWVzb24uYnVpbGQKLWluZGV4IGU5OTkxNGVhYTQuLjZiYmE4MDNmOTQgMTAwNjQ0 CitpbmRleCBlMWNmNWEyZTY1Li4yMzY3ZTFhYzFiIDEwMDY0NAogLS0tIGEvYmxvY2svbWVzb24u YnVpbGQKICsrKyBiL2Jsb2NrL21lc29uLmJ1aWxkCiBAQCAtNDQsNiArNDQsMTEgQEAgYmxvY2tf c3MuYWRkKGZpbGVzKAotICksIHpzdGQsIHpsaWIsIGdudXRscykKKyApLCB6c3RkLCB6bGliKQog IAogIGJsb2NrX3NzLmFkZChmaWxlcygnLi4vdm1hLXdyaXRlci5jJyksIGxpYnV1aWQpCiArYmxv Y2tfc3MuYWRkKGZpbGVzKApAQCAtMTY3LDcgKzE2Nyw3IEBAIGluZGV4IGJkZjJlYjUwYjYuLjQz OWE3YTE0YzggMTAwNjQ0CiArICAgIGhtcF9oYW5kbGVfZXJyb3IobW9uLCBlcnJvcik7CiArfQog ZGlmZiAtLWdpdCBhL2Jsb2NrZGV2LmMgYi9ibG9ja2Rldi5jCi1pbmRleCBlZDgxOThmMzUxLi4x MDU0YTY5Mjc5IDEwMDY0NAoraW5kZXggOWNiZDE2NjY3NC4uODA4MGM0N2ZhNiAxMDA2NDQKIC0t LSBhL2Jsb2NrZGV2LmMKICsrKyBiL2Jsb2NrZGV2LmMKIEBAIC0zNyw2ICszNyw3IEBACkBAIC0x NzksMTAgKzE3OSwxMCBAQCBpbmRleCBlZDgxOThmMzUxLi4xMDU0YTY5Mjc5IDEwMDY0NAogICNp bmNsdWRlICJtb25pdG9yL21vbml0b3IuaCIKICAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQu aCIKIGRpZmYgLS1naXQgYS9obXAtY29tbWFuZHMtaW5mby5oeCBiL2htcC1jb21tYW5kcy1pbmZv Lmh4Ci1pbmRleCBkNWFiODgwNDkyLi42Yzk3MjQ4ZDFiIDEwMDY0NAoraW5kZXggZDFhN2I5OWFk ZC4uYWY1ODgxNDVmZiAxMDA2NDQKIC0tLSBhL2htcC1jb21tYW5kcy1pbmZvLmh4CiArKysgYi9o bXAtY29tbWFuZHMtaW5mby5oeAotQEAgLTQ3MSw2ICs0NzEsMjAgQEAgU1JTVAorQEAgLTQ1OCw2 ICs0NTgsMjAgQEAgU1JTVAogICAgICBTaG93IHRoZSBjdXJyZW50IFZNIFVVSUQuCiAgRVJTVAog IApAQCAtMjA0LDcgKzIwNCw3IEBAIGluZGV4IGQ1YWI4ODA0OTIuLjZjOTcyNDhkMWIgMTAwNjQ0 CiAgICAgIHsKICAgICAgICAgIC5uYW1lICAgICAgID0gInVzZXJuZXQiLAogZGlmZiAtLWdpdCBh L2htcC1jb21tYW5kcy5oeCBiL2htcC1jb21tYW5kcy5oeAotaW5kZXggNzUwNmRlMjUxYy4uZDVm OWMyODE5NCAxMDA2NDQKK2luZGV4IDBjN2M2ZjJjMTYuLmJmODMxNWYyMjYgMTAwNjQ0CiAtLS0g YS9obXAtY29tbWFuZHMuaHgKICsrKyBiL2htcC1jb21tYW5kcy5oeAogQEAgLTEwMSw2ICsxMDEs MzUgQEAgRVJTVApAQCAtMjQ0LDcgKzI0NCw3IEBAIGluZGV4IDc1MDZkZTI1MWMuLmQ1ZjljMjgx OTQgMTAwNjQ0CiAgCiAgICAgIHsKIGRpZmYgLS1naXQgYS9pbmNsdWRlL21vbml0b3IvaG1wLmgg Yi9pbmNsdWRlL21vbml0b3IvaG1wLmgKLWluZGV4IDdhN2RlZjc1MzAuLmNiYTdhZmU3MGMgMTAw NjQ0CitpbmRleCAyNTk2Y2MyNDI2Li45ZGRhOTFkNjVhIDEwMDY0NAogLS0tIGEvaW5jbHVkZS9t b25pdG9yL2htcC5oCiArKysgYi9pbmNsdWRlL21vbml0b3IvaG1wLmgKIEBAIC0zMiw2ICszMiw3 IEBAIHZvaWQgaG1wX2luZm9fc2F2ZXZtKE1vbml0b3IgKm1vbiwgY29uc3QgUURpY3QgKnFkaWN0 KTsKQEAgLTI1NSw3ICsyNTUsNyBAQCBpbmRleCA3YTdkZWY3NTMwLi5jYmE3YWZlNzBjIDEwMDY0 NAogIHZvaWQgaG1wX2luZm9fY3B1cyhNb25pdG9yICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCk7 CiAgdm9pZCBobXBfaW5mb192bmMoTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpOwog IHZvaWQgaG1wX2luZm9fc3BpY2UoTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpOwot QEAgLTg0LDYgKzg1LDggQEAgdm9pZCBobXBfY2hhbmdlX3ZuYyhNb25pdG9yICptb24sIGNvbnN0 IGNoYXIgKmRldmljZSwgY29uc3QgY2hhciAqdGFyZ2V0LAorQEAgLTgyLDYgKzgzLDggQEAgdm9p ZCBobXBfY2hhbmdlX3ZuYyhNb25pdG9yICptb24sIGNvbnN0IGNoYXIgKmRldmljZSwgY29uc3Qg Y2hhciAqdGFyZ2V0LAogIHZvaWQgaG1wX2NoYW5nZV9tZWRpdW0oTW9uaXRvciAqbW9uLCBjb25z dCBjaGFyICpkZXZpY2UsIGNvbnN0IGNoYXIgKnRhcmdldCwKICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKmFyZywgY29uc3QgY2hhciAqcmVhZF9vbmx5LCBib29sIGZvcmNlLAog ICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKTsKQEAgLTI2NSwxMCArMjY1LDEw IEBAIGluZGV4IDdhN2RlZjc1MzAuLmNiYTdhZmU3MGMgMTAwNjQ0CiAgdm9pZCBobXBfZGV2aWNl X2FkZChNb25pdG9yICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCk7CiAgdm9pZCBobXBfZGV2aWNl X2RlbChNb25pdG9yICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCk7CiBkaWZmIC0tZ2l0IGEvbWVz b24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggNjIwY2M1OTRiMi4uZDE2Yjk3Y2YzYyAxMDA2 NDQKK2luZGV4IDdlZWU1YjQyNDkuLjk3OWM0NTJmNzQgMTAwNjQ0CiAtLS0gYS9tZXNvbi5idWls ZAogKysrIGIvbWVzb24uYnVpbGQKLUBAIC0xOTIzLDYgKzE5MjMsNyBAQCBlbmRpZgorQEAgLTIw MTMsNiArMjAxMyw3IEBAIGVuZGlmCiAgaGFzX2dldHRpZCA9IGNjLmhhc19mdW5jdGlvbignZ2V0 dGlkJykKICAKICBsaWJ1dWlkID0gY2MuZmluZF9saWJyYXJ5KCd1dWlkJywgcmVxdWlyZWQ6IHRy dWUpCkBAIC0yNzcsMTggKzI3NywxOCBAQCBpbmRleCA2MjBjYzU5NGIyLi5kMTZiOTdjZjNjIDEw MDY0NAogICMgbGlic2VsaW51eAogIHNlbGludXggPSBkZXBlbmRlbmN5KCdsaWJzZWxpbnV4JywK IGRpZmYgLS1naXQgYS9tb25pdG9yL2htcC1jbWRzLmMgYi9tb25pdG9yL2htcC1jbWRzLmMKLWlu ZGV4IGVmNDYzNGU1YzEuLjZlMjUyNzlmNDIgMTAwNjQ0CitpbmRleCA4NzQwODQ1NjVmLi5iZWRl YjgxZjhjIDEwMDY0NAogLS0tIGEvbW9uaXRvci9obXAtY21kcy5jCiArKysgYi9tb25pdG9yL2ht cC1jbWRzLmMKLUBAIC0yMSw2ICsyMSw3IEBACitAQCAtMjIsNiArMjIsNyBAQAogICNpbmNsdWRl ICJxZW11L2hlbHBfb3B0aW9uLmgiCiAgI2luY2x1ZGUgIm1vbml0b3IvbW9uaXRvci1pbnRlcm5h bC5oIgogICNpbmNsdWRlICJxYXBpL2Vycm9yLmgiCiArI2luY2x1ZGUgInFhcGkvcWFwaS1jb21t YW5kcy1ibG9jay1jb3JlLmgiCiAgI2luY2x1ZGUgInFhcGkvcWFwaS1jb21tYW5kcy1jb250cm9s LmgiCisgI2luY2x1ZGUgInFhcGkvcWFwaS1jb21tYW5kcy1tYWNoaW5lLmgiCiAgI2luY2x1ZGUg InFhcGkvcWFwaS1jb21tYW5kcy1taWdyYXRpb24uaCIKLSAjaW5jbHVkZSAicWFwaS9xYXBpLWNv bW1hbmRzLW1pc2MuaCIKLUBAIC0xNDQsNiArMTQ1LDc3IEBAIHZvaWQgaG1wX3N5bmNfcHJvZmls ZShNb25pdG9yICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCkKK0BAIC0xMTksNiArMTIwLDc3IEBA IHZvaWQgaG1wX3N5bmNfcHJvZmlsZShNb25pdG9yICptb24sIGNvbnN0IFFEaWN0ICpxZGljdCkK ICAgICAgfQogIH0KICAKQEAgLTU4Niw3ICs1ODYsNyBAQCBpbmRleCAwMDAwMDAwMDAwLi44Y2Jm NjQ1YjJjCiArI2VuZGlmIC8qIFBST1hNT1hfQkFDS1VQX0NMSUVOVF9IICovCiBkaWZmIC0tZ2l0 IGEvcHZlLWJhY2t1cC5jIGIvcHZlLWJhY2t1cC5jCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMDAwMC4uYzc1NWJmMzAyYgoraW5kZXggMDAwMDAwMDAwMC4uOWY4M2VjYjMxMAog LS0tIC9kZXYvbnVsbAogKysrIGIvcHZlLWJhY2t1cC5jCiBAQCAtMCwwICsxLDEwOTIgQEAKQEAg LTExOTQsNyArMTE5NCw3IEBAIGluZGV4IDAwMDAwMDAwMDAuLmM3NTViZjMwMmIKICsgICAgICAg ICAgICB9CiArICAgICAgICAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqYnMgPSBibGtfYnMoYmxrKTsK ICsgICAgICAgICAgICBpZiAoIWJkcnZfY29faXNfaW5zZXJ0ZWQoYnMpKSB7Ci0rICAgICAgICAg ICAgICAgIGVycm9yX3NldGcoZXJycCwgUUVSUl9ERVZJQ0VfSEFTX05PX01FRElVTSwgKmQpOwor KyAgICAgICAgICAgICAgICBlcnJvcl9zZXRnKGVycnAsICJEZXZpY2UgJyVzJyBoYXMgbm8gbWVk aXVtIiwgKmQpOwogKyAgICAgICAgICAgICAgICBnb3RvIGVycjsKICsgICAgICAgICAgICB9CiAr ICAgICAgICAgICAgUFZFQmFja3VwRGV2SW5mbyAqZGkgPSBnX25ldzAoUFZFQmFja3VwRGV2SW5m bywgMSk7CkBAIC0xNjgzLDcgKzE2ODMsNyBAQCBpbmRleCAwMDAwMDAwMDAwLi5jNzU1YmYzMDJi CiArICAgIHJldHVybiByZXQ7CiArfQogZGlmZiAtLWdpdCBhL3FhcGkvYmxvY2stY29yZS5qc29u IGIvcWFwaS9ibG9jay1jb3JlLmpzb24KLWluZGV4IDNkYjU4N2E2ZTQuLmQwNWZmZmNlMWQgMTAw NjQ0CitpbmRleCAxY2I2ZjA0ZGIzLi5hYzgzYzM0OTVkIDEwMDY0NAogLS0tIGEvcWFwaS9ibG9j ay1jb3JlLmpzb24KICsrKyBiL3FhcGkvYmxvY2stY29yZS5qc29uCiBAQCAtODUxLDYgKzg1MSwy MzkgQEAKQEAgLTE4MjUsNyArMTgyNSw3IEBAIGluZGV4IDNkYjU4N2E2ZTQuLmQwNWZmZmNlMWQg MTAwNjQ0CiArIwogKyMgQ2FuY2VsIHRoZSBjdXJyZW50IGV4ZWN1dGluZyBiYWNrdXAgcHJvY2Vz cy4KICsjCi0rIyBOb3RlczogVGhpcyBjb21tYW5kIHN1Y2NlZWRzIGV2ZW4gaWYgdGhlcmUgaXMg bm8gYmFja3VwIHByb2Nlc3MgcnVubmluZy4KKysjIC4uIG5vdGU6OiBUaGlzIGNvbW1hbmQgc3Vj Y2VlZHMgZXZlbiBpZiB0aGVyZSBpcyBubyBiYWNrdXAgcHJvY2VzcyBydW5uaW5nLgogKyMKICsj IwogK3sgJ2NvbW1hbmQnOiAnYmFja3VwLWNhbmNlbCcsICdjb3JvdXRpbmUnOiB0cnVlIH0KQEAg LTE5MjcsNyArMTkyNyw3IEBAIGluZGV4IDNkYjU4N2E2ZTQuLmQwNWZmZmNlMWQgMTAwNjQ0CiAg IyBAQmxvY2tEZXZpY2VUaW1lZFN0YXRzOgogICMKIGRpZmYgLS1naXQgYS9xYXBpL2NvbW1vbi5q c29uIGIvcWFwaS9jb21tb24uanNvbgotaW5kZXggNzU1OGNlNTQzMC4uNmUzZDgwMDM3MyAxMDA2 NDQKK2luZGV4IDc1NThjZTU0MzAuLjVjMDBiZGRlYjcgMTAwNjQ0CiAtLS0gYS9xYXBpL2NvbW1v bi5qc29uCiArKysgYi9xYXBpL2NvbW1vbi5qc29uCiBAQCAtMjAwLDMgKzIwMCwxNyBAQApAQCAt MTk0NCwxMiArMTk0NCwxMiBAQCBpbmRleCA3NTU4Y2U1NDMwLi42ZTNkODAwMzczIDEwMDY0NAog KyMKICsjIFNpbmNlOiAwLjE0LjAKICsjCi0rIyBOb3RlczogSWYgbm8gVVVJRCB3YXMgc3BlY2lm aWVkIGZvciB0aGUgZ3Vlc3QsIGEgbnVsbCBVVUlEIGlzCisrIyAuLiBub3RlOjogSWYgbm8gVVVJ RCB3YXMgc3BlY2lmaWVkIGZvciB0aGUgZ3Vlc3QsIGEgbnVsbCBVVUlEIGlzCiArIyAgICAgcmV0 dXJuZWQuCiArIyMKICt7ICdzdHJ1Y3QnOiAnVXVpZEluZm8nLCAnZGF0YSc6IHsnVVVJRCc6ICdz dHInfSB9CiBkaWZmIC0tZ2l0IGEvcWFwaS9tYWNoaW5lLmpzb24gYi9xYXBpL21hY2hpbmUuanNv bgotaW5kZXggMWQ2OWJmZmFhMC4uNzMxZDhkMmY2MCAxMDA2NDQKK2luZGV4IGRjNDZhM2U5M2Yu LmJkNThkNThmYzUgMTAwNjQ0CiAtLS0gYS9xYXBpL21hY2hpbmUuanNvbgogKysrIGIvcWFwaS9t YWNoaW5lLmpzb24KIEBAIC00LDYgKzQsOCBAQApAQCAtMTk2MSw3ICsxOTYxLDcgQEAgaW5kZXgg MWQ2OWJmZmFhMC4uNzMxZDhkMmY2MCAxMDA2NDQKICAjIwogICMgPSBNYWNoaW5lcwogICMjCi1A QCAtMjM3LDIwICsyMzksNiBAQAorQEAgLTMwMywyMCArMzA1LDYgQEAKICAjIwogIHsgJ2NvbW1h bmQnOiAncXVlcnktdGFyZ2V0JywgJ3JldHVybnMnOiAnVGFyZ2V0SW5mbycgfQogIApAQCAtMTk3 NCw4ICsxOTc0LDggQEAgaW5kZXggMWQ2OWJmZmFhMC4uNzMxZDhkMmY2MCAxMDA2NDQKIC0jCiAt IyBTaW5jZTogMC4xNAogLSMKLS0jIE5vdGVzOiBJZiBubyBVVUlEIHdhcyBzcGVjaWZpZWQgZm9y IHRoZSBndWVzdCwgYSBudWxsIFVVSUQgaXMKLS0jICAgICByZXR1cm5lZC4KKy0jIC4uIG5vdGU6 OiBJZiBubyBVVUlEIHdhcyBzcGVjaWZpZWQgZm9yIHRoZSBndWVzdCwgdGhlIG5pbCBVVUlEIChh bGwKKy0jICAgIHplcm9lcykgaXMgcmV0dXJuZWQuCiAtIyMKIC17ICdzdHJ1Y3QnOiAnVXVpZElu Zm8nLCAnZGF0YSc6IHsnVVVJRCc6ICdzdHInfSB9CiAtCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0 Y2hlcy9wdmUvMDAzMS1QVkUtQmFja3VwLXBicy1yZXN0b3JlLW5ldy1jb21tYW5kLXRvLXJlc3Rv cmUtZnJvbS1wLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzEtUFZFLUJhY2t1cC1wYnMt cmVzdG9yZS1uZXctY29tbWFuZC10by1yZXN0b3JlLWZyb20tcC5wYXRjaAppbmRleCBiZGUyY2Iy Li41ZDZmOTU2IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzMS1QVkUtQmFja3Vw LXBicy1yZXN0b3JlLW5ldy1jb21tYW5kLXRvLXJlc3RvcmUtZnJvbS1wLnBhdGNoCisrKyBiL2Rl Ymlhbi9wYXRjaGVzL3B2ZS8wMDMxLVBWRS1CYWNrdXAtcGJzLXJlc3RvcmUtbmV3LWNvbW1hbmQt dG8tcmVzdG9yZS1mcm9tLXAucGF0Y2gKQEAgLTE0LDE1ICsxNCwxNSBAQCBTaWduZWQtb2ZmLWJ5 OiBXb2xmZ2FuZyBCdW1pbGxlciA8dy5idW1pbGxlckBwcm94bW94LmNvbT4KICBjcmVhdGUgbW9k ZSAxMDA2NDQgcGJzLXJlc3RvcmUuYwogCiBkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNv bi5idWlsZAotaW5kZXggZDE2Yjk3Y2YzYy4uNmRlNTFjMzRjYiAxMDA2NDQKK2luZGV4IDk3OWM0 NTJmNzQuLjQyNmYzODIxNzggMTAwNjQ0CiAtLS0gYS9tZXNvbi5idWlsZAogKysrIGIvbWVzb24u YnVpbGQKLUBAIC00MDI5LDYgKzQwMjksMTAgQEAgaWYgaGF2ZV90b29scworQEAgLTQxMDMsNiAr NDEwMywxMCBAQCBpZiBoYXZlX3Rvb2xzCiAgICB2bWEgPSBleGVjdXRhYmxlKCd2bWEnLCBmaWxl cygndm1hLmMnLCAndm1hLXJlYWRlci5jJykgKyBnZW5oLAotICAgICAgICAgICAgICAgICAgICBk ZXBlbmRlbmNpZXM6IFthdXRoeiwgYmxvY2ssIGNyeXB0bywgaW8sIHFvbV0sIGluc3RhbGw6IHRy dWUpCisgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogW2F1dGh6LCBibG9jaywgY3J5 cHRvLCBpbywgcWVtdXV0aWwsIHFvbV0sIGluc3RhbGw6IHRydWUpCiAgCiArICBwYnNfcmVzdG9y ZSA9IGV4ZWN1dGFibGUoJ3Bicy1yZXN0b3JlJywgZmlsZXMoJ3Bicy1yZXN0b3JlLmMnKSArIGdl bmgsCi0rICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzOiBbYXV0aHosIGJsb2NrLCBjcnlw dG8sIGlvLCBxb20sCisrICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzOiBbYXV0aHosIGJs b2NrLCBjcnlwdG8sIGlvLCBxZW11dXRpbCwgcW9tLAogKyAgICAgICAgICAgICAgICAgICAgbGli cHJveG1veF9iYWNrdXBfcWVtdV0sIGluc3RhbGw6IHRydWUpCiArCiAgICBzdWJkaXIoJ3N0b3Jh Z2UtZGFlbW9uJykKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDMyLVBWRS1BZGQt UEJTLWJsb2NrLWRyaXZlci10by1tYXAtYmFja3VwLWFyY2hpdmVzLWludG8ucGF0Y2ggYi9kZWJp YW4vcGF0Y2hlcy9wdmUvMDAzMi1QVkUtQWRkLVBCUy1ibG9jay1kcml2ZXItdG8tbWFwLWJhY2t1 cC1hcmNoaXZlcy1pbnRvLnBhdGNoCmluZGV4IDAyZWZiNTguLjk1YjgyYTIgMTAwNjQ0Ci0tLSBh L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDMyLVBWRS1BZGQtUEJTLWJsb2NrLWRyaXZlci10by1tYXAt YmFja3VwLWFyY2hpdmVzLWludG8ucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzIt UFZFLUFkZC1QQlMtYmxvY2stZHJpdmVyLXRvLW1hcC1iYWNrdXAtYXJjaGl2ZXMtaW50by5wYXRj aApAQCAtMTUsMTUgKzE1LDE1IEBAIFNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIEJ1bWlsbGVyIDx3 LmJ1bWlsbGVyQHByb3htb3guY29tPgogU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJu ZXJAcHJveG1veC5jb20+CiAtLS0KICBibG9jay9tZXNvbi5idWlsZCAgICB8ICAgMiArCi0gYmxv Y2svcGJzLmMgICAgICAgICAgfCAzMTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKworIGJsb2NrL3Bicy5jICAgICAgICAgIHwgMzA2ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKICBtZXNvbi5idWlsZCAgICAgICAgICB8ICAgMiAr LQogIHFhcGkvYmxvY2stY29yZS5qc29uIHwgIDI5ICsrKysKICBxYXBpL3ByYWdtYS5qc29uICAg ICB8ICAgMSArCi0gNSBmaWxlcyBjaGFuZ2VkLCAzNDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQorIDUgZmlsZXMgY2hhbmdlZCwgMzM5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK ICBjcmVhdGUgbW9kZSAxMDA2NDQgYmxvY2svcGJzLmMKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL21l c29uLmJ1aWxkIGIvYmxvY2svbWVzb24uYnVpbGQKLWluZGV4IDZiYmE4MDNmOTQuLjE5NDVlMDRl ZWIgMTAwNjQ0CitpbmRleCAyMzY3ZTFhYzFiLi5lMTc4MDQ3ZWM5IDEwMDY0NAogLS0tIGEvYmxv Y2svbWVzb24uYnVpbGQKICsrKyBiL2Jsb2NrL21lc29uLmJ1aWxkCiBAQCAtNDksNiArNDksOCBA QCBibG9ja19zcy5hZGQoZmlsZXMoCkBAIC0zNywxMCArMzcsMTAgQEAgaW5kZXggNmJiYTgwM2Y5 NC4uMTk0NWUwNGVlYiAxMDA2NDQKICBzeXN0ZW1fc3MuYWRkKGZpbGVzKCdibG9jay1yYW0tcmVn aXN0cmFyLmMnKSkKIGRpZmYgLS1naXQgYS9ibG9jay9wYnMuYyBiL2Jsb2NrL3Bicy5jCiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uYWVlNjZjMmU5MworaW5kZXggMDAw MDAwMDAwMC4uMmQ1ZTI4Y2U4ZgogLS0tIC9kZXYvbnVsbAogKysrIGIvYmxvY2svcGJzLmMKLUBA IC0wLDAgKzEsMzEzIEBACitAQCAtMCwwICsxLDMwNiBAQAogKy8qCiArICogUHJveG1veCBCYWNr dXAgU2VydmVyIHJlYWQtb25seSBibG9jayBkcml2ZXIKICsgKi8KQEAgLTIyMywxMiArMjIzLDYg QEAgaW5kZXggMDAwMDAwMDAwMC4uYWVlNjZjMmU5MwogKyAgICByZXR1cm4gMDsKICt9CiArCi0r c3RhdGljIGludCBwYnNfZmlsZV9vcGVuKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCBRRGljdCAqb3B0 aW9ucywgaW50IGZsYWdzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnAp Ci0rewotKyAgICByZXR1cm4gcGJzX29wZW4oYnMsIG9wdGlvbnMsIGZsYWdzLCBlcnJwKTsKLSt9 Ci0rCiArc3RhdGljIHZvaWQgcGJzX2Nsb3NlKEJsb2NrRHJpdmVyU3RhdGUgKmJzKSB7CiArICAg IEJEUlZQQlNTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7CiArICAgIGdfZnJlZShzLT5yZXBvc2l0b3J5 KTsKQEAgLTMzNiw3ICszMzAsNiBAQCBpbmRleCAwMDAwMDAwMDAwLi5hZWU2NmMyZTkzCiArCiAr ICAgIC5iZHJ2X3BhcnNlX2ZpbGVuYW1lICAgID0gcGJzX3BhcnNlX2ZpbGVuYW1lLAogKwotKyAg ICAuYmRydl9maWxlX29wZW4gICAgICAgICA9IHBic19maWxlX29wZW4sCiArICAgIC5iZHJ2X29w ZW4gICAgICAgICAgICAgID0gcGJzX29wZW4sCiArICAgIC5iZHJ2X2Nsb3NlICAgICAgICAgICAg ID0gcGJzX2Nsb3NlLAogKyAgICAuYmRydl9jb19nZXRsZW5ndGggICAgICA9IHBic19jb19nZXRs ZW5ndGgsCkBAIC0zNTUsMTIgKzM0OCwxMiBAQCBpbmRleCAwMDAwMDAwMDAwLi5hZWU2NmMyZTkz CiArCiArYmxvY2tfaW5pdChiZHJ2X3Bic19pbml0KTsKIGRpZmYgLS1naXQgYS9tZXNvbi5idWls ZCBiL21lc29uLmJ1aWxkCi1pbmRleCA2ZGU1MWMzNGNiLi4zYmMwMzlmNjBmIDEwMDY0NAoraW5k ZXggNDI2ZjM4MjE3OC4uN2U2MTMwY2ZkZiAxMDA2NDQKIC0tLSBhL21lc29uLmJ1aWxkCiArKysg Yi9tZXNvbi5idWlsZAotQEAgLTQ0NzcsNyArNDQ3Nyw3IEBAIHN1bW1hcnlfaW5mbyArPSB7J2J6 aXAyIHN1cHBvcnQnOiAgICAgbGliYnppcDJ9Ci0gc3VtbWFyeV9pbmZvICs9IHsnbHpmc2Ugc3Vw cG9ydCc6ICAgICBsaWJsemZzZX0KLSBzdW1tYXJ5X2luZm8gKz0geyd6c3RkIHN1cHBvcnQnOiAg ICAgIHpzdGR9CitAQCAtNDU1OSw3ICs0NTU5LDcgQEAgc3VtbWFyeV9pbmZvICs9IHsnenN0ZCBz dXBwb3J0JzogICAgICB6c3RkfQorIHN1bW1hcnlfaW5mbyArPSB7J1F1ZXJ5IFByb2Nlc3Npbmcg TGlicmFyeSBzdXBwb3J0JzogcXBsfQorIHN1bW1hcnlfaW5mbyArPSB7J1VBREsgTGlicmFyeSBz dXBwb3J0JzogdWFka30KICBzdW1tYXJ5X2luZm8gKz0geydOVU1BIGhvc3Qgc3VwcG9ydCc6IG51 bWF9CiAtc3VtbWFyeV9pbmZvICs9IHsnY2Fwc3RvbmUnOiAgICAgICAgICBjYXBzdG9uZX0KICtz dW1tYXJ5X2luZm8gKz0geydQQlMgYmRydiBzdXBwb3J0JzogIGNvbmZpZ19ob3N0Lmhhc19rZXko J0NPTkZJR19QQlNfQkRSVicpfQpAQCAtMzY4LDcgKzM2MSw3IEBAIGluZGV4IDZkZTUxYzM0Y2Iu LjNiYzAzOWY2MGYgMTAwNjQ0CiAgc3VtbWFyeV9pbmZvICs9IHsnbGliZGF4Y3RsIHN1cHBvcnQn OiBsaWJkYXhjdGx9CiAgc3VtbWFyeV9pbmZvICs9IHsnbGlidWRldic6ICAgICAgICAgICBsaWJ1 ZGV2fQogZGlmZiAtLWdpdCBhL3FhcGkvYmxvY2stY29yZS5qc29uIGIvcWFwaS9ibG9jay1jb3Jl Lmpzb24KLWluZGV4IGQwNWZmZmNlMWQuLmU3Y2YzZDk0ZjMgMTAwNjQ0CitpbmRleCBhYzgzYzM0 OTVkLi5mZTBlZWZjZWE2IDEwMDY0NAogLS0tIGEvcWFwaS9ibG9jay1jb3JlLmpzb24KICsrKyBi L3FhcGkvYmxvY2stY29yZS5qc29uCiBAQCAtMzQ1Nyw2ICszNDU3LDcgQEAKQEAgLTQxMyw3ICs0 MDYsNyBAQCBpbmRleCBkMDVmZmZjZTFkLi5lN2NmM2Q5NGYzIDEwMDY0NAogICMjCiAgIyBAQmxv Y2tkZXZPcHRpb25zTlZNZToKICAjCi1AQCAtNDk3Nyw2ICs1MDA1LDcgQEAKK0BAIC00OTc4LDYg KzUwMDYsNyBAQAogICAgICAgICduZnMnOiAgICAgICAgJ0Jsb2NrZGV2T3B0aW9uc05mcycsCiAg ICAgICAgJ251bGwtYWlvJzogICAnQmxvY2tkZXZPcHRpb25zTnVsbCcsCiAgICAgICAgJ251bGwt Y28nOiAgICAnQmxvY2tkZXZPcHRpb25zTnVsbCcsCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hl cy9wdmUvMDAzMy1QVkUtcmVkaXJlY3Qtc3RkZXJyLXRvLWpvdXJuYWwtd2hlbi1kYWVtb25pemVk LnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzMtUFZFLXJlZGlyZWN0LXN0ZGVyci10by1q b3VybmFsLXdoZW4tZGFlbW9uaXplZC5wYXRjaAppbmRleCBmNTY0MzczLi5hNGI0Y2RmIDEwMDY0 NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzMy1QVkUtcmVkaXJlY3Qtc3RkZXJyLXRvLWpv dXJuYWwtd2hlbi1kYWVtb25pemVkLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDMz LVBWRS1yZWRpcmVjdC1zdGRlcnItdG8tam91cm5hbC13aGVuLWRhZW1vbml6ZWQucGF0Y2gKQEAg LTE0LDEwICsxNCwxMCBAQCBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXBy ZWNodEBwcm94bW94LmNvbT4KICAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMyBk ZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKLWlu ZGV4IDNiYzAzOWY2MGYuLjA2N2U4OTU2YTcgMTAwNjQ0CitpbmRleCA3ZTYxMzBjZmRmLi45ODRm ODU4YmRjIDEwMDY0NAogLS0tIGEvbWVzb24uYnVpbGQKICsrKyBiL21lc29uLmJ1aWxkCi1AQCAt MTkyMyw2ICsxOTIzLDcgQEAgZW5kaWYKK0BAIC0yMDEzLDYgKzIwMTMsNyBAQCBlbmRpZgogIGhh c19nZXR0aWQgPSBjYy5oYXNfZnVuY3Rpb24oJ2dldHRpZCcpCiAgCiAgbGlidXVpZCA9IGNjLmZp bmRfbGlicmFyeSgndXVpZCcsIHJlcXVpcmVkOiB0cnVlKQpAQCAtMjUsNyArMjUsNyBAQCBpbmRl eCAzYmMwMzlmNjBmLi4wNjdlODk1NmE3IDEwMDY0NAogIGxpYnByb3htb3hfYmFja3VwX3FlbXUg PSBjYy5maW5kX2xpYnJhcnkoJ3Byb3htb3hfYmFja3VwX3FlbXUnLCByZXF1aXJlZDogdHJ1ZSkK ICAKICAjIGxpYnNlbGludXgKLUBAIC0zNTMwLDcgKzM1MzEsNyBAQCBpZiBoYXZlX2Jsb2NrCitA QCAtMzU5Nyw3ICszNTk4LDcgQEAgaWYgaGF2ZV9ibG9jawogICAgaWYgaG9zdF9vcyA9PSAnd2lu ZG93cycKICAgICAgc3lzdGVtX3NzLmFkZChmaWxlcygnb3Mtd2luMzIuYycpKQogICAgZWxzZQpA QCAtMzUsNyArMzUsNyBAQCBpbmRleCAzYmMwMzlmNjBmLi4wNjdlODk1NmE3IDEwMDY0NAogIGVu ZGlmCiAgCiBkaWZmIC0tZ2l0IGEvb3MtcG9zaXguYyBiL29zLXBvc2l4LmMKLWluZGV4IGE0Mjg0 ZTJjMDcuLjE5N2EyMTIwZmQgMTAwNjQ0CitpbmRleCA0M2Y5YTQzZjNmLi5hNDdlNDZkMWMyIDEw MDY0NAogLS0tIGEvb3MtcG9zaXguYwogKysrIGIvb3MtcG9zaXguYwogQEAgLTI5LDYgKzI5LDgg QEAKQEAgLTQ3LDcgKzQ3LDcgQEAgaW5kZXggYTQyODRlMmMwNy4uMTk3YTIxMjBmZCAxMDA2NDQK ICAKICAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKICAjaW5jbHVkZSAicWVtdS9sb2cu aCIKLUBAIC0zMDIsOSArMzA0LDEwIEBAIHZvaWQgb3Nfc2V0dXBfcG9zdCh2b2lkKQorQEAgLTMw Niw5ICszMDgsMTAgQEAgdm9pZCBvc19zZXR1cF9wb3N0KHZvaWQpCiAgCiAgICAgICAgICBkdXAy KGZkLCAwKTsKICAgICAgICAgIGR1cDIoZmQsIDEpOwpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNo ZXMvcHZlLzAwMzQtUFZFLU1pZ3JhdGUtZGlydHktYml0bWFwLXN0YXRlLXZpYS1zYXZldm0ucGF0 Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzNC1QVkUtTWlncmF0ZS1kaXJ0eS1iaXRtYXAtc3Rh dGUtdmlhLXNhdmV2bS5wYXRjaAppbmRleCAzODhiZDA0Li42Mzc3YTA5IDEwMDY0NAotLS0gYS9k ZWJpYW4vcGF0Y2hlcy9wdmUvMDAzNC1QVkUtTWlncmF0ZS1kaXJ0eS1iaXRtYXAtc3RhdGUtdmlh LXNhdmV2bS5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzNC1QVkUtTWlncmF0ZS1k aXJ0eS1iaXRtYXAtc3RhdGUtdmlhLXNhdmV2bS5wYXRjaApAQCAtMjYsMTAgKzI2LDEwIEBAIFNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgogIGNyZWF0ZSBt b2RlIDEwMDY0NCBtaWdyYXRpb24vcGJzLXN0YXRlLmMKIAogZGlmZiAtLWdpdCBhL2luY2x1ZGUv bWlncmF0aW9uL21pc2MuaCBiL2luY2x1ZGUvbWlncmF0aW9uL21pc2MuaAotaW5kZXggYzllMjAw ZjRlYi4uMTJjOTllYmM2OSAxMDA2NDQKK2luZGV4IGJmYWRjNTYxM2IuLmUyZTUxZmNmNmIgMTAw NjQ0CiAtLS0gYS9pbmNsdWRlL21pZ3JhdGlvbi9taXNjLmgKICsrKyBiL2luY2x1ZGUvbWlncmF0 aW9uL21pc2MuaAotQEAgLTExNyw0ICsxMTcsNyBAQCBib29sIG1pZ3JhdGlvbl9pbl9iZ19zbmFw c2hvdCh2b2lkKTsKK0BAIC0xMTEsNCArMTExLDcgQEAgYm9vbCBtaWdyYXRpb25faW5fYmdfc25h cHNob3Qodm9pZCk7CiAgLyogbWlncmF0aW9uL2Jsb2NrLWRpcnR5LWJpdG1hcC5jICovCiAgdm9p ZCBkaXJ0eV9iaXRtYXBfbWlnX2luaXQodm9pZCk7CiAgCkBAIC0zOCwyNSArMzgsMzEgQEAgaW5k ZXggYzllMjAwZjRlYi4uMTJjOTllYmM2OSAxMDA2NDQKICsKICAjZW5kaWYKIGRpZmYgLS1naXQg YS9taWdyYXRpb24vbWVzb24uYnVpbGQgYi9taWdyYXRpb24vbWVzb24uYnVpbGQKLWluZGV4IDgw MGYxMmE2MGQuLjM1YTQzMDYxODMgMTAwNjQ0CitpbmRleCA0YjBjNGYwZjUxLi5kMDM5Nzk3MTMy IDEwMDY0NAogLS0tIGEvbWlncmF0aW9uL21lc29uLmJ1aWxkCiArKysgYi9taWdyYXRpb24vbWVz b24uYnVpbGQKLUBAIC03LDcgKzcsOSBAQCBtaWdyYXRpb25fZmlsZXMgPSBmaWxlcygKLSAgICd2 bXN0YXRlLmMnLAorQEAgLTgsNiArOCw3IEBAIG1pZ3JhdGlvbl9maWxlcyA9IGZpbGVzKAogICAg J3FlbXUtZmlsZS5jJywKICAgICd5YW5rX2Z1bmN0aW9ucy5jJywKLSsgICdwYnMtc3RhdGUuYycs CiAgKQogK3N5c3RlbV9zcy5hZGQobGlicHJveG1veF9iYWNrdXBfcWVtdSkKICAKICBzeXN0ZW1f c3MuYWRkKGZpbGVzKAogICAgJ2Jsb2NrLWRpcnR5LWJpdG1hcC5jJywKK0BAIC0yNSw2ICsyNiw3 IEBAIHN5c3RlbV9zcy5hZGQoZmlsZXMoCisgICAnbXVsdGlmZC16bGliLmMnLAorICAgJ211bHRp ZmQtemVyby1wYWdlLmMnLAorICAgJ29wdGlvbnMuYycsCisrICAncGJzLXN0YXRlLmMnLAorICAg J3Bvc3Rjb3B5LXJhbS5jJywKKyAgICdzYXZldm0uYycsCisgICAnc2F2ZXZtLWFzeW5jLmMnLAog ZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi9taWdyYXRpb24uYyBiL21pZ3JhdGlvbi9taWdyYXRpb24u YwotaW5kZXggODZiZjc2ZTkyNS4uYjhkN2U0NzFhNCAxMDA2NDQKK2luZGV4IGFlMmJlMzE1NTcu LmZhYjRjMjBlZTQgMTAwNjQ0CiAtLS0gYS9taWdyYXRpb24vbWlncmF0aW9uLmMKICsrKyBiL21p Z3JhdGlvbi9taWdyYXRpb24uYwotQEAgLTIzOSw2ICsyMzksNyBAQCB2b2lkIG1pZ3JhdGlvbl9v YmplY3RfaW5pdCh2b2lkKQotICAgICBibGtfbWlnX2luaXQoKTsKK0BAIC0yNjMsNiArMjYzLDcg QEAgdm9pZCBtaWdyYXRpb25fb2JqZWN0X2luaXQodm9pZCkKKyAKICAgICAgcmFtX21pZ19pbml0 KCk7CiAgICAgIGRpcnR5X2JpdG1hcF9taWdfaW5pdCgpOwogKyAgICBwYnNfc3RhdGVfbWlnX2lu aXQoKTsKQEAgLTY1LDcgKzcxLDcgQEAgaW5kZXggODZiZjc2ZTkyNS4uYjhkN2U0NzFhNCAxMDA2 NDQKICB0eXBlZGVmIHN0cnVjdCB7CiBkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL3Bicy1zdGF0ZS5j IGIvbWlncmF0aW9uL3Bicy1zdGF0ZS5jCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAw MDAwMDAwMC4uODg3ZTk5OGI5ZQoraW5kZXggMDAwMDAwMDAwMC4uYTk3MTg3ZTRkNwogLS0tIC9k ZXYvbnVsbAogKysrIGIvbWlncmF0aW9uL3Bicy1zdGF0ZS5jCiBAQCAtMCwwICsxLDEwNCBAQApA QCAtMTE0LDcgKzEyMCw3IEBAIGluZGV4IDAwMDAwMDAwMDAuLjg4N2U5OThiOWUKICt9CiArCiAr Lyogc2VyaWFsaXplIFBCUyBzdGF0ZSBhbmQgc2VuZCB0byB0YXJnZXQgdmlhIGYsIGNhbGxlZCBv biBzb3VyY2UgKi8KLStzdGF0aWMgaW50IHBic19zdGF0ZV9zYXZlX3NldHVwKFFFTVVGaWxlICpm LCB2b2lkICpvcGFxdWUpCisrc3RhdGljIGludCBwYnNfc3RhdGVfc2F2ZV9zZXR1cChRRU1VRmls ZSAqZiwgdm9pZCAqb3BhcXVlLCBFcnJvciAqKmVycnApCiArewogKyAgICBzaXplX3QgYnVmX3Np emU7CiArICAgIHVpbnQ4X3QgKmJ1ZiA9IHByb3htb3hfZXhwb3J0X3N0YXRlKCZidWZfc2l6ZSk7 CkBAIC0xNzQsNyArMTgwLDcgQEAgaW5kZXggMDAwMDAwMDAwMC4uODg3ZTk5OGI5ZQogKyAgICAg ICAgICAgICAgICAgICAgICAgICBOVUxMKTsKICt9CiBkaWZmIC0tZ2l0IGEvcHZlLWJhY2t1cC5j IGIvcHZlLWJhY2t1cC5jCi1pbmRleCBjNzU1YmYzMDJiLi41ZWJiNmEzOTQ3IDEwMDY0NAoraW5k ZXggOWY4M2VjYjMxMC4uNTc0NzdmN2YyYSAxMDA2NDQKIC0tLSBhL3B2ZS1iYWNrdXAuYwogKysr IGIvcHZlLWJhY2t1cC5jCiBAQCAtMTA4NSw2ICsxMDg1LDcgQEAgUHJveG1veFN1cHBvcnRTdGF0 dXMgKnFtcF9xdWVyeV9wcm94bW94X3N1cHBvcnQoRXJyb3IgKiplcnJwKQpAQCAtMTg2LDcgKzE5 Miw3IEBAIGluZGV4IGM3NTViZjMwMmIuLjVlYmI2YTM5NDcgMTAwNjQ0CiAgICAgIHJldC0+cGJz X21hc3RlcmtleSA9IHRydWU7CiAgICAgIHJldC0+YmFja3VwX21heF93b3JrZXJzID0gdHJ1ZTsK IGRpZmYgLS1naXQgYS9xYXBpL2Jsb2NrLWNvcmUuanNvbiBiL3FhcGkvYmxvY2stY29yZS5qc29u Ci1pbmRleCBlN2NmM2Q5NGYzLi4yODJlMmU4YThjIDEwMDY0NAoraW5kZXggZmUwZWVmY2VhNi4u NTIxYTE5MTRlOCAxMDA2NDQKIC0tLSBhL3FhcGkvYmxvY2stY29yZS5qc29uCiArKysgYi9xYXBp L2Jsb2NrLWNvcmUuanNvbgogQEAgLTEwMDQsNiArMTAwNCwxMSBAQApkaWZmIC0tZ2l0IGEvZGVi aWFuL3BhdGNoZXMvcHZlLzAwMzUtbWlncmF0aW9uLWJsb2NrLWRpcnR5LWJpdG1hcC1taWdyYXRl LW90aGVyLWJpdG1hcHMtZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM1LW1pZ3JhdGlv bi1ibG9jay1kaXJ0eS1iaXRtYXAtbWlncmF0ZS1vdGhlci1iaXRtYXBzLWUucGF0Y2gKaW5kZXgg NGE1YjcwMS4uMDY2YWQ3NyAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzUtbWln cmF0aW9uLWJsb2NrLWRpcnR5LWJpdG1hcC1taWdyYXRlLW90aGVyLWJpdG1hcHMtZS5wYXRjaAor KysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzNS1taWdyYXRpb24tYmxvY2stZGlydHktYml0bWFw LW1pZ3JhdGUtb3RoZXItYml0bWFwcy1lLnBhdGNoCkBAIC0xNSwxOCArMTUsMjEgQEAgdHJhbnNm ZXJyZWQuCiBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmVpdGVyIDxzLnJlaXRlckBwcm94bW94LmNv bT4KIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3gu Y29tPgogLS0tCi0gbWlncmF0aW9uL2Jsb2NrLWRpcnR5LWJpdG1hcC5jIHwgMiArLQotIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorIG1pZ3JhdGlvbi9ibG9j ay1kaXJ0eS1iaXRtYXAuYyB8IDUgKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9taWdyYXRpb24vYmxvY2stZGlydHkt Yml0bWFwLmMgYi9taWdyYXRpb24vYmxvY2stZGlydHktYml0bWFwLmMKLWluZGV4IDI3MDhhYmYz ZDcuLmZiMTdjMDEzMDggMTAwNjQ0CitpbmRleCBhN2Q1NTA0OGMyLi43NzM0NmE1ZmEyIDEwMDY0 NAogLS0tIGEvbWlncmF0aW9uL2Jsb2NrLWRpcnR5LWJpdG1hcC5jCiArKysgYi9taWdyYXRpb24v YmxvY2stZGlydHktYml0bWFwLmMKLUBAIC01NDAsNyArNTQwLDcgQEAgc3RhdGljIGludCBhZGRf Yml0bWFwc190b19saXN0KERCTVNhdmVTdGF0ZSAqcywgQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCitA QCAtNTM5LDcgKzUzOSwxMCBAQCBzdGF0aWMgaW50IGFkZF9iaXRtYXBzX3RvX2xpc3QoREJNU2F2 ZVN0YXRlICpzLCBCbG9ja0RyaXZlclN0YXRlICpicywKKyAgICAgICAgIH0KICAKLSAgICAgICAg IGlmIChiZHJ2X2RpcnR5X2JpdG1hcF9jaGVjayhiaXRtYXAsIEJEUlZfQklUTUFQX0RFRkFVTFQs ICZsb2NhbF9lcnIpKSB7Ci0gICAgICAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIp OworICAgICAgICAgaWYgKGJkcnZfZGlydHlfYml0bWFwX2NoZWNrKGJpdG1hcCwgQkRSVl9CSVRN QVBfREVGQVVMVCwgZXJycCkpIHsKIC0gICAgICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICAg ICAgaWYgKGVycnAgIT0gTlVMTCkgeworKyAgICAgICAgICAgICAgICBlcnJvcl9yZXBvcnRfZXJy KCplcnJwKTsKKysgICAgICAgICAgICB9CiArICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg ICB9CiAgCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzNi1QVkUtZmFsbC1iYWNr LXRvLW9wZW4taXNjc2ktaW5pdGlhdG9ybmFtZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8w MDM2LVBWRS1mYWxsLWJhY2stdG8tb3Blbi1pc2NzaS1pbml0aWF0b3JuYW1lLnBhdGNoCmluZGV4 IGM3OGJjMDMuLjBkYzQ4ZGYgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM2LVBW RS1mYWxsLWJhY2stdG8tb3Blbi1pc2NzaS1pbml0aWF0b3JuYW1lLnBhdGNoCisrKyBiL2RlYmlh bi9wYXRjaGVzL3B2ZS8wMDM2LVBWRS1mYWxsLWJhY2stdG8tb3Blbi1pc2NzaS1pbml0aWF0b3Ju YW1lLnBhdGNoCkBAIC0yMSw3ICsyMSw3IEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVj aHQgPHQubGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNlcnRp b25zKCspCiAKIGRpZmYgLS1naXQgYS9ibG9jay9pc2NzaS5jIGIvYmxvY2svaXNjc2kuYwotaW5k ZXggMmZmMTRiNzQ3Mi4uNDZmMjc1ZmJmNyAxMDA2NDQKK2luZGV4IDk3OWJmOTBjYjcuLjk2MTcx NGE0YmUgMTAwNjQ0CiAtLS0gYS9ibG9jay9pc2NzaS5jCiArKysgYi9ibG9jay9pc2NzaS5jCiBA QCAtMTM5MiwxMiArMTM5Miw0MiBAQCBzdGF0aWMgY2hhciAqZ2V0X2luaXRpYXRvcl9uYW1lKFFl bXVPcHRzICpvcHRzKQpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzgtYmxvY2st YWRkLWFsbG9jLXRyYWNrLWRyaXZlci5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM4LWJs b2NrLWFkZC1hbGxvYy10cmFjay1kcml2ZXIucGF0Y2gKaW5kZXggZDMwMmM4ZS4uYTM5OGM1NiAx MDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwMzgtYmxvY2stYWRkLWFsbG9jLXRyYWNr LWRyaXZlci5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzOC1ibG9jay1hZGQtYWxs b2MtdHJhY2stZHJpdmVyLnBhdGNoCkBAIC00Miw3ICs0Miw3IEBAIFNpZ25lZC1vZmYtYnk6IEZp b25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgogCiBkaWZmIC0tZ2l0IGEvYmxvY2svYWxs b2MtdHJhY2suYyBiL2Jsb2NrL2FsbG9jLXRyYWNrLmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1p bmRleCAwMDAwMDAwMDAwLi5iOWY4ZWE5MTM3CitpbmRleCAwMDAwMDAwMDAwLi5iNGE5ODUxMTQ0 CiAtLS0gL2Rldi9udWxsCiArKysgYi9ibG9jay9hbGxvYy10cmFjay5jCiBAQCAtMCwwICsxLDM2 NiBAQApAQCAtMzg2LDcgKzM4Niw3IEBAIGluZGV4IDAwMDAwMDAwMDAuLmI5ZjhlYTkxMzcKICsg ICAgLmZvcm1hdF9uYW1lICAgICAgICAgICAgICAgICAgICAgID0gImFsbG9jLXRyYWNrIiwKICsg ICAgLmluc3RhbmNlX3NpemUgICAgICAgICAgICAgICAgICAgID0gc2l6ZW9mKEJEUlZBbGxvY1Ry YWNrU3RhdGUpLAogKwotKyAgICAuYmRydl9maWxlX29wZW4gICAgICAgICAgICAgICAgICAgPSB0 cmFja19vcGVuLAorKyAgICAuYmRydl9vcGVuICAgICAgICAgICAgICAgICAgICAgICAgPSB0cmFj a19vcGVuLAogKyAgICAuYmRydl9jbG9zZSAgICAgICAgICAgICAgICAgICAgICAgPSB0cmFja19j bG9zZSwKICsgICAgLmJkcnZfY29fZ2V0bGVuZ3RoICAgICAgICAgICAgICAgID0gdHJhY2tfY29f Z2V0bGVuZ3RoLAogKyAgICAuYmRydl9jaGlsZF9wZXJtICAgICAgICAgICAgICAgICAgPSB0cmFj a19jaGlsZF9wZXJtLApAQCAtNDEzLDcgKzQxMyw3IEBAIGluZGV4IDAwMDAwMDAwMDAuLmI5Zjhl YTkxMzcKICsKICtibG9ja19pbml0KGJkcnZfYWxsb2NfdHJhY2tfaW5pdCk7CiBkaWZmIC0tZ2l0 IGEvYmxvY2svbWVzb24uYnVpbGQgYi9ibG9jay9tZXNvbi5idWlsZAotaW5kZXggMTk0NWUwNGVl Yi4uMjg3M2YzYTI1YSAxMDA2NDQKK2luZGV4IGUxNzgwNDdlYzkuLjdlZjcyNTBkMzEgMTAwNjQ0 CiAtLS0gYS9ibG9jay9tZXNvbi5idWlsZAogKysrIGIvYmxvY2svbWVzb24uYnVpbGQKIEBAIC0y LDYgKzIsNyBAQCBibG9ja19zcy5hZGQoZ2VuaCkKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVz L3B2ZS8wMDM5LVJldmVydC1ibG9jay1yYmQtd29ya2Fyb3VuZC1mb3ItY2VwaC1pc3N1ZS01Mzc4 NC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDM5LVJldmVydC1ibG9jay1yYmQtd29ya2Fy b3VuZC1mb3ItY2VwaC1pc3N1ZS01Mzc4NC5wYXRjaAppbmRleCBmOTlmNzE3Li5jNzczYzZjIDEw MDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDAzOS1SZXZlcnQtYmxvY2stcmJkLXdvcmth cm91bmQtZm9yLWNlcGgtaXNzdWUtNTM3ODQucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZl LzAwMzktUmV2ZXJ0LWJsb2NrLXJiZC13b3JrYXJvdW5kLWZvci1jZXBoLWlzc3VlLTUzNzg0LnBh dGNoCkBAIC0xMyw3ICsxMyw3IEBAIFNpZ25lZC1vZmYtYnk6IFRob21hcyBMYW1wcmVjaHQgPHQu bGFtcHJlY2h0QHByb3htb3guY29tPgogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDQwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svcmJkLmMgYi9ibG9jay9yYmQu YwotaW5kZXggNjNmNjBkNDFiZS4uMzY3ZGI0MmRjZSAxMDA2NDQKK2luZGV4IDEwMWVlNTlkNmUu LjRhZDNiMWE3YjEgMTAwNjQ0CiAtLS0gYS9ibG9jay9yYmQuYwogKysrIGIvYmxvY2svcmJkLmMK IEBAIC0xNTE1LDcgKzE1MTUsNiBAQCBzdGF0aWMgaW50IGNvcm91dGluZV9mbiBxZW11X3JiZF9j b19ibG9ja19zdGF0dXMoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCmRpZmYgLS1naXQgYS9kZWJpYW4v cGF0Y2hlcy9wdmUvMDA0MC1SZXZlcnQtYmxvY2stcmJkLWZpeC1oYW5kbGluZy1vZi1ob2xlcy1p bi0uYmRydl9jb19iLnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDAtUmV2ZXJ0LWJsb2Nr LXJiZC1maXgtaGFuZGxpbmctb2YtaG9sZXMtaW4tLmJkcnZfY29fYi5wYXRjaAppbmRleCA1YWUw YmZmLi5kZmU1ODk1IDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0MC1SZXZlcnQt YmxvY2stcmJkLWZpeC1oYW5kbGluZy1vZi1ob2xlcy1pbi0uYmRydl9jb19iLnBhdGNoCisrKyBi L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQwLVJldmVydC1ibG9jay1yYmQtZml4LWhhbmRsaW5nLW9m LWhvbGVzLWluLS5iZHJ2X2NvX2IucGF0Y2gKQEAgLTE0LDcgKzE0LDcgQEAgU2lnbmVkLW9mZi1i eTogVGhvbWFzIExhbXByZWNodCA8dC5sYW1wcmVjaHRAcHJveG1veC5jb20+CiAgMSBmaWxlIGNo YW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2Js b2NrL3JiZC5jIGIvYmxvY2svcmJkLmMKLWluZGV4IDM2N2RiNDJkY2UuLjM0N2IxMjE2MjYgMTAw NjQ0CitpbmRleCA0YWQzYjFhN2IxLi5lMzQxNzQ1MjU1IDEwMDY0NAogLS0tIGEvYmxvY2svcmJk LmMKICsrKyBiL2Jsb2NrL3JiZC5jCiBAQCAtMTQ3NCwxMSArMTQ3NCwxMSBAQCBzdGF0aWMgaW50 IHFlbXVfcmJkX2RpZmZfaXRlcmF0ZV9jYih1aW50NjRfdCBvZmZzLCBzaXplX3QgbGVuLApkaWZm IC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDEtUmV2ZXJ0LWJsb2NrLXJiZC1pbXBsZW1l bnQtYmRydl9jb19ibG9ja19zdGF0dXMucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0MS1S ZXZlcnQtYmxvY2stcmJkLWltcGxlbWVudC1iZHJ2X2NvX2Jsb2NrX3N0YXR1cy5wYXRjaAppbmRl eCAzODk2NmZlLi41OTY2NDllIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0MS1S ZXZlcnQtYmxvY2stcmJkLWltcGxlbWVudC1iZHJ2X2NvX2Jsb2NrX3N0YXR1cy5wYXRjaAorKysg Yi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0MS1SZXZlcnQtYmxvY2stcmJkLWltcGxlbWVudC1iZHJ2 X2NvX2Jsb2NrX3N0YXR1cy5wYXRjaApAQCAtMjQsNyArMjQsNyBAQCBTaWduZWQtb2ZmLWJ5OiBU aG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdl ZCwgMTEyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmxvY2svcmJkLmMgYi9ibG9jay9y YmQuYwotaW5kZXggMzQ3YjEyMTYyNi4uZTYxYjM1OWI5NyAxMDA2NDQKK2luZGV4IGUzNDE3NDUy NTUuLjQzNmQzZDc4MTEgMTAwNjQ0CiAtLS0gYS9ibG9jay9yYmQuYwogKysrIGIvYmxvY2svcmJk LmMKIEBAIC0xMDgsMTIgKzEwOCw2IEBAIHR5cGVkZWYgc3RydWN0IFJCRFRhc2sgewpAQCAtMTUy LDcgKzE1Miw3IEBAIGluZGV4IDM0N2IxMjE2MjYuLmU2MWIzNTliOTcgMTAwNjQ0CiAgc3RhdGlj IGludDY0X3QgY29yb3V0aW5lX2ZuIHFlbXVfcmJkX2NvX2dldGxlbmd0aChCbG9ja0RyaXZlclN0 YXRlICpicykKICB7CiAgICAgIEJEUlZSQkRTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7Ci1AQCAtMTgw MCw3ICsxNjg5LDYgQEAgc3RhdGljIEJsb2NrRHJpdmVyIGJkcnZfcmJkID0geworQEAgLTE4MDEs NyArMTY5MCw2IEBAIHN0YXRpYyBCbG9ja0RyaXZlciBiZHJ2X3JiZCA9IHsKICAjaWZkZWYgTElC UkJEX1NVUFBPUlRTX1dSSVRFX1pFUk9FUwogICAgICAuYmRydl9jb19wd3JpdGVfemVyb2VzICA9 IHFlbXVfcmJkX2NvX3B3cml0ZV96ZXJvZXMsCiAgI2VuZGlmCmRpZmYgLS1naXQgYS9kZWJpYW4v cGF0Y2hlcy9wdmUvMDA0Mi1hbGxvYy10cmFjay1lcnJvci1vdXQtd2hlbi1hdXRvLXJlbW92ZS1p cy1ub3Qtc2V0LnBhdGNoIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDItYWxsb2MtdHJhY2stZXJy b3Itb3V0LXdoZW4tYXV0by1yZW1vdmUtaXMtbm90LXNldC5wYXRjaAppbmRleCA4MTIwMjZkLi5j MGUzMjNhIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0Mi1hbGxvYy10cmFjay1l cnJvci1vdXQtd2hlbi1hdXRvLXJlbW92ZS1pcy1ub3Qtc2V0LnBhdGNoCisrKyBiL2RlYmlhbi9w YXRjaGVzL3B2ZS8wMDQyLWFsbG9jLXRyYWNrLWVycm9yLW91dC13aGVuLWF1dG8tcmVtb3ZlLWlz LW5vdC1zZXQucGF0Y2gKQEAgLTE3LDcgKzE3LDcgQEAgU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJu ZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2Jsb2NrL2FsbG9jLXRyYWNrLmMgYi9i bG9jay9hbGxvYy10cmFjay5jCi1pbmRleCBiOWY4ZWE5MTM3Li5mM2VkMjkzNWM0IDEwMDY0NAor aW5kZXggYjRhOTg1MTE0NC4uZmM3ZDU4YTVkMCAxMDA2NDQKIC0tLSBhL2Jsb2NrL2FsbG9jLXRy YWNrLmMKICsrKyBiL2Jsb2NrL2FsbG9jLXRyYWNrLmMKIEBAIC0zNCw3ICszNCw2IEBAIHR5cGVk ZWYgc3RydWN0IHsKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQzLWFsbG9jLXRy YWNrLWF2b2lkLXNlZW1pbmdseS1zdXBlcmZsdW91cy1jaGlsZC1wZXJtaXMucGF0Y2ggYi9kZWJp YW4vcGF0Y2hlcy9wdmUvMDA0My1hbGxvYy10cmFjay1hdm9pZC1zZWVtaW5nbHktc3VwZXJmbHVv dXMtY2hpbGQtcGVybWlzLnBhdGNoCmluZGV4IDI5NTMxOWMuLjVlMTY4M2IgMTAwNjQ0Ci0tLSBh L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQzLWFsbG9jLXRyYWNrLWF2b2lkLXNlZW1pbmdseS1zdXBl cmZsdW91cy1jaGlsZC1wZXJtaXMucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDMt YWxsb2MtdHJhY2stYXZvaWQtc2VlbWluZ2x5LXN1cGVyZmx1b3VzLWNoaWxkLXBlcm1pcy5wYXRj aApAQCAtMjAsNyArMjAsNyBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwgMjYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1n aXQgYS9ibG9jay9hbGxvYy10cmFjay5jIGIvYmxvY2svYWxsb2MtdHJhY2suYwotaW5kZXggZjNl ZDI5MzVjNC4uMjkxMzhkY2M0OSAxMDA2NDQKK2luZGV4IGZjN2Q1OGE1ZDAuLmI1NjQyNWI3ZjAg MTAwNjQ0CiAtLS0gYS9ibG9jay9hbGxvYy10cmFjay5jCiArKysgYi9ibG9jay9hbGxvYy10cmFj ay5jCiBAQCAtMjUsMTUgKzI1LDkgQEAKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8w MDQ0LWNvcHktYmVmb3JlLXdyaXRlLWFsbG93LXNwZWNpZnlpbmctbWluaW11bS1jbHVzdGVyLXMu cGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0NC1jb3B5LWJlZm9yZS13cml0ZS1hbGxvdy1z cGVjaWZ5aW5nLW1pbmltdW0tY2x1c3Rlci1zLnBhdGNoCmluZGV4IDBiOTcxN2MuLjNjMTNmOGMg MTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ0LWNvcHktYmVmb3JlLXdyaXRlLWFs bG93LXNwZWNpZnlpbmctbWluaW11bS1jbHVzdGVyLXMucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNo ZXMvcHZlLzAwNDQtY29weS1iZWZvcmUtd3JpdGUtYWxsb3ctc3BlY2lmeWluZy1taW5pbXVtLWNs dXN0ZXItcy5wYXRjaApAQCAtMTA4LDEwICsxMDgsMTAgQEAgaW5kZXggYmRjNzAzYmFjZC4uNzc4 NTdjNmM2OCAxMDA2NDQKICAKICAvKiBGdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIHByaW9yIGFu eSBhY3R1YWwgY29weSByZXF1ZXN0ICovCiBkaWZmIC0tZ2l0IGEvcWFwaS9ibG9jay1jb3JlLmpz b24gYi9xYXBpL2Jsb2NrLWNvcmUuanNvbgotaW5kZXggMjgyZTJlOGE4Yy4uOWNhZjA0Y2JlOSAx MDA2NDQKK2luZGV4IDUyMWExOTE0ZTguLjE3MTg0NmRlYjEgMTAwNjQ0CiAtLS0gYS9xYXBpL2Js b2NrLWNvcmUuanNvbgogKysrIGIvcWFwaS9ibG9jay1jb3JlLmpzb24KLUBAIC00OTI2LDEyICs0 OTI2LDE4IEBACitAQCAtNDkyNywxMiArNDkyNywxOCBAQAogICMgICAgIEBvbi1jYnctZXJyb3Ig cGFyYW1ldGVyIHdpbGwgZGVjaWRlIGhvdyB0aGlzIGZhaWx1cmUgaXMgaGFuZGxlZC4KICAjICAg ICBEZWZhdWx0IDAuICAoU2luY2UgNy4xKQogICMKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVz L3B2ZS8wMDQ1LWJhY2t1cC1hZGQtbWluaW11bS1jbHVzdGVyLXNpemUtdG8tcGVyZm9ybWFuY2Ut b3B0aW8ucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0NS1iYWNrdXAtYWRkLW1pbmltdW0t Y2x1c3Rlci1zaXplLXRvLXBlcmZvcm1hbmNlLW9wdGlvLnBhdGNoCmluZGV4IDI2N2RlYWQuLmUw YWIwYjMgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ1LWJhY2t1cC1hZGQtbWlu aW11bS1jbHVzdGVyLXNpemUtdG8tcGVyZm9ybWFuY2Utb3B0aW8ucGF0Y2gKKysrIGIvZGViaWFu L3BhdGNoZXMvcHZlLzAwNDUtYmFja3VwLWFkZC1taW5pbXVtLWNsdXN0ZXItc2l6ZS10by1wZXJm b3JtYW5jZS1vcHRpby5wYXRjaApAQCAtNjgsMTAgKzY4LDEwIEBAIGluZGV4IDAxYWYwY2QzYzQu LmRjNmNhZmU3ZmEgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVy cm9yICoqZXJycCk7CiAgdm9pZCBiZHJ2X2Nid19kcm9wKEJsb2NrRHJpdmVyU3RhdGUgKmJzKTsK IGRpZmYgLS1naXQgYS9ibG9ja2Rldi5jIGIvYmxvY2tkZXYuYwotaW5kZXggMTA1NGE2OTI3OS4u Y2JlMjI0Mzg3YiAxMDA2NDQKK2luZGV4IDgwODBjNDdmYTYuLjNmNjdlYjQxM2QgMTAwNjQ0CiAt LS0gYS9ibG9ja2Rldi5jCiArKysgYi9ibG9ja2Rldi5jCi1AQCAtMjY1NCw2ICsyNjU0LDkgQEAg c3RhdGljIEJsb2NrSm9iICpkb19iYWNrdXBfY29tbW9uKEJhY2t1cENvbW1vbiAqYmFja3VwLAor QEAgLTI2NTYsNiArMjY1Niw5IEBAIHN0YXRpYyBCbG9ja0pvYiAqZG9fYmFja3VwX2NvbW1vbihC YWNrdXBDb21tb24gKmJhY2t1cCwKICAgICAgICAgIGlmIChiYWNrdXAtPnhfcGVyZi0+aGFzX21h eF9jaHVuaykgewogICAgICAgICAgICAgIHBlcmYubWF4X2NodW5rID0gYmFja3VwLT54X3BlcmYt Pm1heF9jaHVuazsKICAgICAgICAgIH0KQEAgLTgyLDcgKzgyLDcgQEAgaW5kZXggMTA1NGE2OTI3 OS4uY2JlMjI0Mzg3YiAxMDA2NDQKICAKICAgICAgaWYgKChiYWNrdXAtPnN5bmMgPT0gTUlSUk9S X1NZTkNfTU9ERV9CSVRNQVApIHx8CiBkaWZmIC0tZ2l0IGEvcWFwaS9ibG9jay1jb3JlLmpzb24g Yi9xYXBpL2Jsb2NrLWNvcmUuanNvbgotaW5kZXggOWNhZjA0Y2JlOS4uZGY5MzQ2NDdlZCAxMDA2 NDQKK2luZGV4IDE3MTg0NmRlYjEuLjY1M2RmMjIwNDYgMTAwNjQ0CiAtLS0gYS9xYXBpL2Jsb2Nr LWNvcmUuanNvbgogKysrIGIvcWFwaS9ibG9jay1jb3JlLmpzb24KIEBAIC0xNzkwLDExICsxNzkw LDE2IEBACmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0Ni1QVkUtYmFja3VwLWFk ZC1mbGVlY2luZy1vcHRpb24ucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0Ni1QVkUtYmFj a3VwLWFkZC1mbGVlY2luZy1vcHRpb24ucGF0Y2gKaW5kZXggMmY2M2JjMC4uM2E3MDI5NyAxMDA2 NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDYtUFZFLWJhY2t1cC1hZGQtZmxlZWNpbmct b3B0aW9uLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ2LVBWRS1iYWNrdXAtYWRk LWZsZWVjaW5nLW9wdGlvbi5wYXRjaApAQCAtODAsNyArODAsNyBAQCBpbmRleCA0MzlhN2ExNGM4 Li5kMGU3NzcxZGNjIDEwMDY0NAogIAogICAgICBobXBfaGFuZGxlX2Vycm9yKG1vbiwgZXJyb3Ip OwogZGlmZiAtLWdpdCBhL3B2ZS1iYWNrdXAuYyBiL3B2ZS1iYWNrdXAuYwotaW5kZXggNWViYjZh Mzk0Ny4uYTc0N2QxMmQzZCAxMDA2NDQKK2luZGV4IDU3NDc3ZjdmMmEuLjBmMDk4MDAwZGQgMTAw NjQ0CiAtLS0gYS9wdmUtYmFja3VwLmMKICsrKyBiL3B2ZS1iYWNrdXAuYwogQEAgLTcsOSArNywx MSBAQApAQCAtMjUyLDcgKzI1Miw3IEBAIGluZGV4IDVlYmI2YTM5NDcuLmE3NDdkMTJkM2QgMTAw NjQ0CiArICAgICAgICAgICAgICAgIH0KICsgICAgICAgICAgICAgICAgQmxvY2tEcml2ZXJTdGF0 ZSAqZmxlZWNpbmdfYnMgPSBibGtfYnMoZmxlZWNpbmdfYmxrKTsKICsgICAgICAgICAgICAgICAg aWYgKCFiZHJ2X2NvX2lzX2luc2VydGVkKGZsZWVjaW5nX2JzKSkgewotKyAgICAgICAgICAgICAg ICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCBRRVJSX0RFVklDRV9IQVNfTk9fTUVESVVNLCBmbGVlY2lu Z19kZXZpZCk7CisrICAgICAgICAgICAgICAgICAgICBlcnJvcl9zZXRnKGVycnAsICJEZXZpY2Ug JyVzJyBoYXMgbm8gbWVkaXVtIiwgZmxlZWNpbmdfZGV2aWQpOwogKyAgICAgICAgICAgICAgICAg ICAgZ290byBlcnI7CiArICAgICAgICAgICAgICAgIH0KICsgICAgICAgICAgICAgICAgLyoKQEAg LTI5NCw3ICsyOTQsNyBAQCBpbmRleCA1ZWJiNmEzOTQ3Li5hNzQ3ZDEyZDNkIDEwMDY0NAogICAg ICByZXR1cm4gcmV0OwogIH0KIGRpZmYgLS1naXQgYS9xYXBpL2Jsb2NrLWNvcmUuanNvbiBiL3Fh cGkvYmxvY2stY29yZS5qc29uCi1pbmRleCBkZjkzNDY0N2VkLi5mZjQ0MWQ0MjU4IDEwMDY0NAor aW5kZXggNjUzZGYyMjA0Ni4uOWYyNWMzOThlYyAxMDA2NDQKIC0tLSBhL3FhcGkvYmxvY2stY29y ZS5qc29uCiArKysgYi9xYXBpL2Jsb2NrLWNvcmUuanNvbgogQEAgLTk0OCw2ICs5NDgsMTAgQEAK ZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDQ3LVBWRS1iYWNrdXAtaW1wcm92ZS1l cnJvci13aGVuLWNvcHktYmVmb3JlLXdyaXRlLWZhaWwucGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9w dmUvMDA0Ny1QVkUtYmFja3VwLWltcHJvdmUtZXJyb3Itd2hlbi1jb3B5LWJlZm9yZS13cml0ZS1m YWlsLnBhdGNoCmluZGV4IGE1N2NlYmQuLmE3ZTg5ODYgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRj aGVzL3B2ZS8wMDQ3LVBWRS1iYWNrdXAtaW1wcm92ZS1lcnJvci13aGVuLWNvcHktYmVmb3JlLXdy aXRlLWZhaWwucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNDctUFZFLWJhY2t1cC1p bXByb3ZlLWVycm9yLXdoZW4tY29weS1iZWZvcmUtd3JpdGUtZmFpbC5wYXRjaApAQCAtOTYsNyAr OTYsNyBAQCBpbmRleCBkYzZjYWZlN2ZhLi5hMjdkMmQ3ZDlmIDEwMDY0NAogIAogICNlbmRpZiAv KiBDT1BZX0JFRk9SRV9XUklURV9IICovCiBkaWZmIC0tZ2l0IGEvcHZlLWJhY2t1cC5jIGIvcHZl LWJhY2t1cC5jCi1pbmRleCBhNzQ3ZDEyZDNkLi40ZTczMGFhM2RhIDEwMDY0NAoraW5kZXggMGYw OTgwMDBkZC4uNzVkYTFkYzA1MSAxMDA2NDQKIC0tLSBhL3B2ZS1iYWNrdXAuYwogKysrIGIvcHZl LWJhY2t1cC5jCiBAQCAtMzc0LDYgKzM3NCwxNSBAQCBzdGF0aWMgdm9pZCBwdmViYWNrdXBfY29t cGxldGVfY2Iodm9pZCAqb3BhcXVlLCBpbnQgcmV0KQpkaWZmIC0tZ2l0IGEvZGViaWFuL3BhdGNo ZXMvcHZlLzAwNDgtUFZFLWJhY2t1cC1maXh1cC1lcnJvci1oYW5kbGluZy1mb3ItZmxlZWNpbmcu cGF0Y2ggYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0OC1QVkUtYmFja3VwLWZpeHVwLWVycm9yLWhh bmRsaW5nLWZvci1mbGVlY2luZy5wYXRjaAppbmRleCBkYzVlM2YxLi45YThhYzAwIDEwMDY0NAot LS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0OC1QVkUtYmFja3VwLWZpeHVwLWVycm9yLWhhbmRs aW5nLWZvci1mbGVlY2luZy5wYXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0OC1QVkUt YmFja3VwLWZpeHVwLWVycm9yLWhhbmRsaW5nLWZvci1mbGVlY2luZy5wYXRjaApAQCAtMTgsNyAr MTgsNyBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNvbT4K ICAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCiAKIGRp ZmYgLS1naXQgYS9wdmUtYmFja3VwLmMgYi9wdmUtYmFja3VwLmMKLWluZGV4IDRlNzMwYWEzZGEu LmM0MTc4NzU4YjMgMTAwNjQ0CitpbmRleCA3NWRhMWRjMDUxLi4xNjdmMGI1YzNmIDEwMDY0NAog LS0tIGEvcHZlLWJhY2t1cC5jCiArKysgYi9wdmUtYmFja3VwLmMKIEBAIC0zNTcsMjIgKzM1Nywy MyBAQCBzdGF0aWMgdm9pZCBjb3JvdXRpbmVfZm4gcHZlYmFja3VwX2NvX2NvbXBsZXRlX3N0cmVh bSh2b2lkICpvcGFxdWUpCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0OS1QVkUt YmFja3VwLWZhY3Rvci1vdXQtc2V0dGluZy11cC1zbmFwc2hvdC1hY2Nlc3MtZm9yLnBhdGNoIGIv ZGViaWFuL3BhdGNoZXMvcHZlLzAwNDktUFZFLWJhY2t1cC1mYWN0b3Itb3V0LXNldHRpbmctdXAt c25hcHNob3QtYWNjZXNzLWZvci5wYXRjaAppbmRleCA4MWFjNTU3Li43Y2FjNWNiIDEwMDY0NAot LS0gYS9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA0OS1QVkUtYmFja3VwLWZhY3Rvci1vdXQtc2V0dGlu Zy11cC1zbmFwc2hvdC1hY2Nlc3MtZm9yLnBhdGNoCisrKyBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8w MDQ5LVBWRS1iYWNrdXAtZmFjdG9yLW91dC1zZXR0aW5nLXVwLXNuYXBzaG90LWFjY2Vzcy1mb3Iu cGF0Y2gKQEAgLTE1LDcgKzE1LDcgQEAgU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJu ZXJAcHJveG1veC5jb20+CiAgMSBmaWxlIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDM3IGRl bGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvcHZlLWJhY2t1cC5jIGIvcHZlLWJhY2t1cC5jCi1p bmRleCBjNDE3ODc1OGIzLi4wNTFlYmZmZTQ4IDEwMDY0NAoraW5kZXggMTY3ZjBiNWMzZi4uZjEz NmQwMDRjNCAxMDA2NDQKIC0tLSBhL3B2ZS1iYWNrdXAuYwogKysrIGIvcHZlLWJhY2t1cC5jCiBA QCAtNTI1LDYgKzUyNSw2MiBAQCBzdGF0aWMgaW50IGNvcm91dGluZV9mbiBwdmViYWNrdXBfY29f YWRkX2NvbmZpZygKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDUwLVBWRS1iYWNr dXAtc2F2ZS1kZXZpY2UtbmFtZS1pbi1kZXZpY2UtaW5mby1zdHJ1Y3R1cmUucGF0Y2ggYi9kZWJp YW4vcGF0Y2hlcy9wdmUvMDA1MC1QVkUtYmFja3VwLXNhdmUtZGV2aWNlLW5hbWUtaW4tZGV2aWNl LWluZm8tc3RydWN0dXJlLnBhdGNoCmluZGV4IDVhZDYyY2EuLmE4NTRiMzIgMTAwNjQ0Ci0tLSBh L2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDUwLVBWRS1iYWNrdXAtc2F2ZS1kZXZpY2UtbmFtZS1pbi1k ZXZpY2UtaW5mby1zdHJ1Y3R1cmUucGF0Y2gKKysrIGIvZGViaWFuL3BhdGNoZXMvcHZlLzAwNTAt UFZFLWJhY2t1cC1zYXZlLWRldmljZS1uYW1lLWluLWRldmljZS1pbmZvLXN0cnVjdHVyZS5wYXRj aApAQCAtMTcsNyArMTcsNyBAQCBTaWduZWQtb2ZmLWJ5OiBGaW9uYSBFYm5lciA8Zi5lYm5lckBw cm94bW94LmNvbT4KICAxIGZpbGUgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRp b25zKC0pCiAKIGRpZmYgLS1naXQgYS9wdmUtYmFja3VwLmMgYi9wdmUtYmFja3VwLmMKLWluZGV4 IDA1MWViZmZlNDguLjMzYzIzZTUzYzIgMTAwNjQ0CitpbmRleCBmMTM2ZDAwNGM0Li44Y2NiMjgx YzhjIDEwMDY0NAogLS0tIGEvcHZlLWJhY2t1cC5jCiArKysgYi9wdmUtYmFja3VwLmMKIEBAIC05 NCw2ICs5NCw3IEBAIHR5cGVkZWYgc3RydWN0IFBWRUJhY2t1cERldkluZm8gewpkaWZmIC0tZ2l0 IGEvZGViaWFuL3BhdGNoZXMvcHZlLzAwNTEtUFZFLWJhY2t1cC1pbmNsdWRlLWRldmljZS1uYW1l LWluLWVycm9yLXdoZW4tc2V0dGluZy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3B2ZS8wMDUxLVBW RS1iYWNrdXAtaW5jbHVkZS1kZXZpY2UtbmFtZS1pbi1lcnJvci13aGVuLXNldHRpbmcucGF0Y2gK aW5kZXggZGM5Yzg4My4uYmY3OTM1NSAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvcHZlLzAw NTEtUFZFLWJhY2t1cC1pbmNsdWRlLWRldmljZS1uYW1lLWluLWVycm9yLXdoZW4tc2V0dGluZy5w YXRjaAorKysgYi9kZWJpYW4vcGF0Y2hlcy9wdmUvMDA1MS1QVkUtYmFja3VwLWluY2x1ZGUtZGV2 aWNlLW5hbWUtaW4tZXJyb3Itd2hlbi1zZXR0aW5nLnBhdGNoCkBAIC0xMCw3ICsxMCw3IEBAIFNp Z25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgogIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL3B2 ZS1iYWNrdXAuYyBiL3B2ZS1iYWNrdXAuYwotaW5kZXggMzNjMjNlNTNjMi4uZDkzMTc0NjQ1MyAx MDA2NDQKK2luZGV4IDhjY2IyODFjOGMuLjI1NTQ2NTY3NmMgMTAwNjQ0CiAtLS0gYS9wdmUtYmFj a3VwLmMKICsrKyBiL3B2ZS1iYWNrdXAuYwogQEAgLTYyNiw3ICs2MjYsOCBAQCBzdGF0aWMgdm9p ZCBjcmVhdGVfYmFja3VwX2pvYnNfYmgodm9pZCAqb3BhcXVlKSB7CmRpZmYgLS1naXQgYS9kZWJp YW4vcGF0Y2hlcy9zZXJpZXMgYi9kZWJpYW4vcGF0Y2hlcy9zZXJpZXMKaW5kZXggOTNjOTdiZi4u M2I1N2EzYSAxMDA2NDQKLS0tIGEvZGViaWFuL3BhdGNoZXMvc2VyaWVzCisrKyBiL2RlYmlhbi9w YXRjaGVzL3NlcmllcwpAQCAtMiwzOSArMiw2IEBAIGV4dHJhLzAwMDEtbW9uaXRvci1xbXAtZml4 LXJhY2Utd2l0aC1jbGllbnRzLWRpc2Nvbm5lY3RpbmctZWFybC5wYXRjaAogZXh0cmEvMDAwMi1z Y3NpLW1lZ2FzYXMtSW50ZXJuYWwtY2Ricy1oYXZlLTE2LWJ5dGUtbGVuZ3RoLnBhdGNoCiBleHRy YS8wMDAzLWlkZS1hdm9pZC1wb3RlbnRpYWwtZGVhZGxvY2std2hlbi1kcmFpbmluZy1kdXJpbmct dHIucGF0Y2gKIGV4dHJhLzAwMDQtUmV2ZXJ0LXg4Ni1hY3BpLXdvcmthcm91bmQtV2luZG93cy1u b3QtaGFuZGxpbmctbmFtZS5wYXRjaAotZXh0cmEvMDAwNS1ibG9jay1jb3B5LWJlZm9yZS13cml0 ZS11c2UtdWludDY0X3QtZm9yLXRpbWVvdXQtaW4tLnBhdGNoCi1leHRyYS8wMDA2LWJsb2NrLWNv cHktYmVmb3JlLXdyaXRlLWZpeC1wZXJtaXNzaW9uLnBhdGNoCi1leHRyYS8wMDA3LWJsb2NrLWNv cHktYmVmb3JlLXdyaXRlLXN1cHBvcnQtdW5saWduZWQtc25hcHNob3QtZGkucGF0Y2gKLWV4dHJh LzAwMDgtYmxvY2stY29weS1iZWZvcmUtd3JpdGUtY3JlYXRlLWJsb2NrX2NvcHktYml0bWFwLWlu LS5wYXRjaAotZXh0cmEvMDAwOS1xYXBpLWJsb2NrZGV2LWJhY2t1cC1hZGQtZGlzY2FyZC1zb3Vy Y2UtcGFyYW1ldGVyLnBhdGNoCi1leHRyYS8wMDEwLWh3LXZpcnRpby1GaXgtdGhlLWRlLWluaXRp YWxpemF0aW9uLW9mLXZob3N0LXVzZXItZGUucGF0Y2gKLWV4dHJhLzAwMTEtdGFyZ2V0LWFybS1V c2UtZmxvYXRfc3RhdHVzLWNvcHktaW4tc21lX2Ztb3BhX3MucGF0Y2gKLWV4dHJhLzAwMTItdGFy Z2V0LWFybS1Vc2UtRlBTVF9GMTYtZm9yLVNNRS1GTU9QQS13aWRlbmluZy5wYXRjaAotZXh0cmEv MDAxMy1zY3NpLWZpeC1yZWdyZXNzaW9uLWFuZC1ob25vci1ib290aW5kZXgtYWdhaW4tZm9yLWxl LnBhdGNoCi1leHRyYS8wMDE0LWh3LXNjc2ktbHNpNTNjODk1YS1idW1wLWluc3RydWN0aW9uLWxp bWl0LWluLXNjcmlwdHMucGF0Y2gKLWV4dHJhLzAwMTUtYmxvY2stY29weS1GaXgtbWlzc2luZy1n cmFwaC1sb2NrLnBhdGNoCi1leHRyYS8wMDE2LVJldmVydC1xZW11LWNoYXItZG8tbm90LW9wZXJh dGUtb24tc291cmNlcy1mcm9tLWZpbmEucGF0Y2gKLWV4dHJhLzAwMTctdmlydGlvLXBjaS1GaXgt dGhlLXVzZS1vZi1hbi11bmluaXRpYWxpemVkLWlycWZkLnBhdGNoCi1leHRyYS8wMDE4LXZpcnRp by1uZXQtRW5zdXJlLXF1ZXVlLWluZGV4LWZpdHMtd2l0aC1SU1MucGF0Y2gKLWV4dHJhLzAwMTkt dmlydGlvLW5ldC1GaXgtbmV0d29yay1zdGFsbC1hdC10aGUtaG9zdC1zaWRlLXdhaXRpbi5wYXRj aAotZXh0cmEvMDAyMC1uZXQtUmVpbnN0YXRlLW5ldC1uaWMtbW9kZWwtaGVscC1vdXRwdXQtYXMt ZG9jdW1lbnRlLnBhdGNoCi1leHRyYS8wMDIxLW5ldC1GaXgtbmV0LW5pYy1tb2RlbC1mb3Itbm9u LWhlbHAtYXJndW1lbnRzLnBhdGNoCi1leHRyYS8wMDIyLXRhcmdldC1hcm0tRG9uLXQtYXNzZXJ0 LWZvci0xMjgtYml0LXRpbGUtYWNjZXNzZXMtd2gucGF0Y2gKLWV4dHJhLzAwMjMtdGFyZ2V0LWFy bS1GaXgtVU1PUEEtVU1PUFMtb2YtMTYtYml0LXZhbHVlcy5wYXRjaAotZXh0cmEvMDAyNC10YXJn ZXQtYXJtLUF2b2lkLXNoaWZ0cy1ieS0xLWluLXRzemltbV9zaHItYW5kLXRzemltLnBhdGNoCi1l eHRyYS8wMDI1LXRhcmdldC1hcm0tSWdub3JlLVNNQ1JfRUwyLkxFTi1hbmQtU1ZDUl9FTDIuTEVO LWlmLUUucGF0Y2gKLWV4dHJhLzAwMjYtdGFyZ2V0LWFybS1IYW5kbGUtZGVub3JtYWxzLWNvcnJl Y3RseS1mb3ItRk1PUEEtd2lkZS5wYXRjaAotZXh0cmEvMDAyNy1pbnRlbF9pb21tdS1maXgtRlJD RC1jb25zdHJ1Y3Rpb24tbWFjcm8ucGF0Y2gKLWV4dHJhLzAwMjgtdGFyZ2V0LWkzODYtRG8tbm90 LWFwcGx5LVJFWC10by1NTVgtb3BlcmFuZHMucGF0Y2gKLWV4dHJhLzAwMjktbW9kdWxlLVByZXZl bnQtY3Jhc2gtYnktcmVzZXR0aW5nLWxvY2FsX2Vyci1pbi1tb2R1bC5wYXRjaAotZXh0cmEvMDAz MC1uYmQtc2VydmVyLVBsdW1iLWluLW5ldy1hcmdzLXRvLW5iZF9jbGllbnRfYWRkLnBhdGNoCi1l eHRyYS8wMDMxLW5iZC1zZXJ2ZXItQ1ZFLTIwMjQtNzQwOS1DYXAtZGVmYXVsdC1tYXgtY29ubmVj dGlvbnMucGF0Y2gKLWV4dHJhLzAwMzItbmJkLXNlcnZlci1DVkUtMjAyNC03NDA5LURyb3Atbm9u LW5lZ290aWF0aW5nLWNsaWVudC5wYXRjaAotZXh0cmEvMDAzMy1uYmQtc2VydmVyLUNWRS0yMDI0 LTc0MDktQ2xvc2Utc3RyYXktY2xpZW50cy1hdC1zZXJ2LnBhdGNoCi1leHRyYS8wMDM0LXZuYy1m aXgtY3Jhc2gtd2hlbi1uby1jb25zb2xlLWF0dGFjaGVkLnBhdGNoCi1leHRyYS8wMDM1LW5iZC1z ZXJ2ZXItQ1ZFLTIwMjQtNzQwOS1Bdm9pZC11c2UtYWZ0ZXItZnJlZS13aGVuLWMucGF0Y2gKLWV4 dHJhLzAwMzYtc29mdG1tdS1waHlzbWVtLWZpeC1tZW1vcnktbGVhay1pbi1kaXJ0eV9tZW1vcnlf ZXh0ZS5wYXRjaAotZXh0cmEvMDAzNy1ibG9jay1yZXFsaXN0LWFsbG93LWFkZGluZy1vdmVybGFw cGluZy1yZXF1ZXN0cy5wYXRjaAogYml0bWFwLW1pcnJvci8wMDAxLWRyaXZlLW1pcnJvci1hZGQt c3VwcG9ydC1mb3Itc3luYy1iaXRtYXAtbW9kZS1uZXZlci5wYXRjaAogYml0bWFwLW1pcnJvci8w MDAyLWRyaXZlLW1pcnJvci1hZGQtc3VwcG9ydC1mb3ItY29uZGl0aW9uYWwtYW5kLWFsd2F5cy0u cGF0Y2gKIGJpdG1hcC1taXJyb3IvMDAwMy1taXJyb3ItYWRkLWNoZWNrLWZvci1iaXRtYXAtbW9k ZS13aXRob3V0LWJpdG1hcC5wYXRjaApkaWZmIC0tZ2l0IGEvcWVtdSBiL3FlbXUKaW5kZXggNWVi ZGUzYi4uNTA4MDgxYSAxNjAwMDAKLS0tIGEvcWVtdQorKysgYi9xZW11CkBAIC0xICsxIEBACi1T dWJwcm9qZWN0IGNvbW1pdCA1ZWJkZTNiNWMwMGUxNWY1NjBmNzMwNTVmYWM0YWIzMWMwY2FjNmQy CitTdWJwcm9qZWN0IGNvbW1pdCA1MDgwODFhNDliMGQ2MjQ5MzBjYTQ3OWI4YTI3YmNjZGM1MGJk ZmIyCi0tIAoyLjM5LjUKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApwdmUtZGV2ZWxAbGlzdHMucHJveG1veC5j b20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcHZl LWRldmVsCg==