Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pqqGG-0003rN-9r for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Apr 2023 07:05:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pqqGE-000427-5l for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Apr 2023 07:05:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pqqGD-000419-Mg for pgsql-hackers@lists.postgresql.org; Mon, 24 Apr 2023 07:05:17 +0000 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1pqqGA-004kmv-5T for pgsql-hackers@lists.postgresql.org; Mon, 24 Apr 2023 07:05:17 +0000 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-3f19c473b9eso32556815e9.0 for ; Mon, 24 Apr 2023 00:05:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682319910; x=1684911910; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=i3ONjTl/f72fSIPAHWJ5gir5fOmcHBlbeDKBjnpgycU=; b=hmpzxoMEZeP99zvKfT5kAFZh8vo6olRCnsO2ZyZYX4pkwlEHZnpcbfEu2pROpFob2l xnmzaQjVx0k/pHKlmbS8uEcKvJaf5i1VrR6UV1YqB7bpM8Oxp5XVY3fXo4UhGF5zSZJm ZnJnl07xYdaMvSgXTuFtt73VYxMA8YGdgompojB68psbJCltVALiZFRtONi6+pOQJh5A nJ/Gso0FIaSvxJr2oLA1bLggGBJuBW9ofm1nSfoKG3pMxKR/4nLxIER1661ROpkhJToE rTpkcKJdg7PKHlkhcfJc42VILrBup7U244HNWTVqZbrtKckRFeFAFQPyykgFHmUJBqmS o45Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682319910; x=1684911910; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=i3ONjTl/f72fSIPAHWJ5gir5fOmcHBlbeDKBjnpgycU=; b=aHjE7QrfiNrqZJS9PVwFeBNBnfF2iYwsJqIUbo9ohYF9O7YEQG3olNxEHaopqTJVsE WeUPI7HhFmrT/hRS4+yzrA6BEN7YuER85vTqLWX+o+3pX6Tlg7l/U780fKlZ/1S/YeMy JLqGQnBgu1WCNFz6873kwXX91DkVPZUbwD3tVmvtDGuFI/TAy4rZTDLllEvQkgDHPWpq fIESYRevt8XpBqyDUuZeVEY9AkZiUeP9s8CEhvFXWWEIY7ZD8Su7rL27mEu2uSvmYcCo COypDwK+jD95AL9Sd8++IXsK6y6ctTbtveF3r9JIaM+2x+fq+RaH9bV0pfMBWsx2cjwt n12g== X-Gm-Message-State: AAQBX9eE1//8uVULHYud+qcOFglnMlOQYCW53oTHoj0Tn2Wapxx8ZrCs DHTZSDUaxyuLQ1mzyYlIM2/nPgzazO5sqw== X-Google-Smtp-Source: AKy350Y365A4M9uwgxlcCGHFXtH2bnrvgVEmdJhBmwLlfjg7FIvmSMrtlPQVA0dYC9Cggmsf+El2fg== X-Received: by 2002:a5d:458a:0:b0:2fa:3108:f962 with SMTP id p10-20020a5d458a000000b002fa3108f962mr13698715wrq.24.1682319910240; Mon, 24 Apr 2023 00:05:10 -0700 (PDT) Received: from [192.168.22.124] ([54.239.6.184]) by smtp.gmail.com with ESMTPSA id z18-20020adfd0d2000000b002fae7408544sm10012176wrh.108.2023.04.24.00.05.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Apr 2023 00:05:09 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------DCGaeteYW7BQ8bE3i9tDlbYN" Message-ID: Date: Mon, 24 Apr 2023 09:03:53 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: Autogenerate some wait events code and documentation Content-Language: en-US To: Michael Paquier Cc: PostgreSQL Hackers References: <77a86b3a-c4a8-5f5d-69b9-d70bbf2e9b98@gmail.com> <6b6cdc76-e10e-95f8-62cf-3a3137c86df5@gmail.com> <2e649ed7-6c66-5d6a-16d4-5d5367d40e69@gmail.com> From: "Drouvot, Bertrand" In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------DCGaeteYW7BQ8bE3i9tDlbYN Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 4/24/23 5:15 AM, Michael Paquier wrote: > On Sat, Apr 22, 2023 at 03:36:05PM +0200, Drouvot, Bertrand wrote: >> On 4/20/23 3:09 AM, Michael Paquier wrote: >>> It is clear that the format of the file is: >>> - category >>> - C symbol in enums. >>> - Format in the system views. >>> - Description in the docs. >>> Or perhaps it would be better to divide this file by sections (like >>> errcodes.txt) for each category so as we eliminate entirely the first >>> column? >> >> Yeah, that could be an option. V3 is still using the category as the first column >> but I'm ok to change it by a section if you prefer (though I don't really see the need). > > It can make the file width shorter, at least.. Right. > > [ .. thinks .. ] > > +my $waitclass; > +my @wait_classes = ("PG_WAIT_ACTIVITY", "PG_WAIT_CLIENT", "PG_WAIT_IPC", "PG_WAIT_TIMEOUT", "PG_WAIT_IO"); > > Actually, having a "Section" in waiteventnames.txt would remove the > need to store this knowledge in generate-waiteventnames.pl, which is > a duplicate of the txt contents. If somebody adds a new class in the > future, it would be necessary to update this path as well. Well, that > would not be a huge effort in itself, but IMO the script translating > the .txt to the docs and the code should have no need to know the > types of classes. I guess that a format like that would make the most > sense to me, then: > Section: ClassName PG_WAIT_CLASS_NAME > > # ClassName would be "IO", "IPC", "Timeout", etc. > > WAIT_EVENT_NAME_1 "WaitEventName1" "Description of wait event 1" > WAIT_EVENT_NAME_N "WaitEventNameN" "Description of wait event N" > I gave another thought on it, and do agree that's better to use sections in the .txt file. This is done in V4 attached. >>> utils/adt/jsonpath_scan.c \ >>> + utils/activity/waiteventnames.c \ >>> + utils/activity/waiteventnames.h \ >>> + utils/adt/jsonpath_scan.c \ >>> >>> Looks like a copy-pasto. >> >> Why do you think so? both files have to be removed. > > jsonpath_scan.c is listed twice, and that's still the case in v3. Oh I see, I misunderstood what you thought the typo was. Fixed in V4 thanks! > The > list of files deleted for maintainer-clean in src/backend/Makefile > should be listed alphabetically (utils/activity/ before utils/adt/), > but that's a nit ;) Oh right, fixed. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------DCGaeteYW7BQ8bE3i9tDlbYN Content-Type: text/plain; charset=UTF-8; name="v4-0001-Generating-wait_event_types.h-pgstat_wait_event.c.patch" Content-Disposition: attachment; filename*0="v4-0001-Generating-wait_event_types.h-pgstat_wait_event.c.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyZDNmYTI1NjdhODBjMzQzMWJmOTY4MjUxMGQ0ODNhYzBmMWQ3Y2VjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJ0cmFuZCBEcm91dm90IDxiZXJ0cmFuZGRyb3V2 b3QucGdAZ21haWwuY29tPgpEYXRlOiBTYXQsIDIyIEFwciAyMDIzIDEwOjM3OjU2ICswMDAw ClN1YmplY3Q6IFtQQVRDSCB2NF0gR2VuZXJhdGluZyB3YWl0X2V2ZW50X3R5cGVzLmgsIHBn c3RhdF93YWl0X2V2ZW50LmMgYW5kCiB3YWl0ZXZlbnRuYW1lcy5zZ21sCgpQdXJwb3NlIGlz IHRvIGF1dG8tZ2VuZXJhdGUgdGhvc2UgZmlsZXMgYmFzZWQgb24gdGhlIG5ld2x5IGNyZWF0 ZWQgd2FpdGV2ZW50bmFtZXMudHh0IGZpbGUuCgpIYXZpbmcgYXV0byBnZW5lcmF0ZWQgZmls ZXMgd291bGQgaGVscCB0byBhdm9pZDoKCi0gd2FpdCBldmVudCB3aXRob3V0IGRlc2NyaXB0 aW9uIGxpa2Ugb2JzZXJ2ZWQgaW4gaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2Fn ZS1pZC9DQSUyQmhVS0dKaXhBSGM4NjBFajlRemRfejk2WjZhb2FqQWdKMThiWWZWM0xmbjZ0 OSUzRCUyQlElNDBtYWlsLmdtYWlsLmNvbQotIG9ycGhhbmVkIHdhaXQgZXZlbnQgbGlrZSBv YnNlcnZlZCBpbiBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL0NBJTJC aFVLR0s2dHFtNTlLdUYxeiUyQmg1WThmc1djdTV2OCUyQjg0a2R1U0h3Unp3akIyYWFfQSU0 MG1haWwuZ21haWwuY29tCi0tLQogZG9jL3NyYy9zZ21sLy5naXRpZ25vcmUgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIGRvYy9zcmMvc2dtbC9NYWtlZmlsZSAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgNSArLQogZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNnbWwgICAg ICAgICAgICAgICAgICAgIHwgICAxICsKIGRvYy9zcmMvc2dtbC9tZXNvbi5idWlsZCAgICAg ICAgICAgICAgICAgICAgICB8ICAxMCArCiBkb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21s ICAgICAgICAgICAgICAgICAgfCA3OTIgKy0tLS0tLS0tLS0tLS0tLS0tCiBzcmMvYmFja2Vu ZC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTMgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlICAgICAgICAgICB8ICAxMCArCiAuLi4vdXRp bHMvYWN0aXZpdHkvZ2VuZXJhdGUtd2FpdGV2ZW50bmFtZXMucGwgfCAxNzggKysrKwogc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvbWVzb24uYnVpbGQgICAgICAgIHwgIDI0ICsKIHNy Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyAgICAgICB8IDU2NyArLS0t LS0tLS0tLS0tCiBzcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0ZXZlbnRuYW1lcy50 eHQgfCAyMDIgKysrKysKIHNyYy9pbmNsdWRlL01ha2VmaWxlICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArLQogc3JjL2luY2x1ZGUvdXRpbHMvLmdpdGlnbm9yZSAgICAgICAg ICAgICAgICAgIHwgICAxICsKIHNyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxkICAgICAg ICAgICAgICAgICB8ICAxOCArCiBzcmMvaW5jbHVkZS91dGlscy93YWl0X2V2ZW50LmggICAg ICAgICAgICAgICAgfCAyMTQgKy0tLS0KIHNyYy90b29scy9tc3ZjL1NvbHV0aW9uLnBtICAg ICAgICAgICAgICAgICAgICB8ICAxOSArCiBzcmMvdG9vbHMvbXN2Yy9jbGVhbi5iYXQgICAg ICAgICAgICAgICAgICAgICAgfCAgIDMgKwogMTcgZmlsZXMgY2hhbmdlZCwgNDg4IGluc2Vy dGlvbnMoKyksIDE1NzIgZGVsZXRpb25zKC0pCiAgMzYuOCUgZG9jL3NyYy9zZ21sLwogIDUy LjAlIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5LwogICA4LjglIHNyYy9pbmNsdWRlL3V0 aWxzLwoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC8uZ2l0aWdub3JlIGIvZG9jL3NyYy9z Z21sLy5naXRpZ25vcmUKaW5kZXggZDhlM2RhYjMzOC4uZThjYmQ2ODdkNSAxMDA2NDQKLS0t IGEvZG9jL3NyYy9zZ21sLy5naXRpZ25vcmUKKysrIGIvZG9jL3NyYy9zZ21sLy5naXRpZ25v cmUKQEAgLTE3LDYgKzE3LDcgQEAKIC9lcnJjb2Rlcy10YWJsZS5zZ21sCiAva2V5d29yZHMt dGFibGUuc2dtbAogL3ZlcnNpb24uc2dtbAorL3dhaXRldmVudG5hbWVzLnNnbWwKICMgQXNz b3J0ZWQgYnlwcm9kdWN0cyBmcm9tIGJ1aWxkaW5nIHRoZSBhYm92ZQogL3Bvc3RncmVzLWZ1 bGwueG1sCiAvSU5TVEFMTC5odG1sCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvTWFrZWZp bGUgYi9kb2Mvc3JjL3NnbWwvTWFrZWZpbGUKaW5kZXggNzFjYmVmMjMwZi4uMDFhNmFhODE4 NyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL01ha2VmaWxlCisrKyBiL2RvYy9zcmMvc2dt bC9NYWtlZmlsZQpAQCAtNTgsNyArNTgsNyBAQCBvdmVycmlkZSBYU0xUUFJPQ0ZMQUdTICs9 IC0tc3RyaW5ncGFyYW0gcGcudmVyc2lvbiAnJChWRVJTSU9OKScKIAogR0VORVJBVEVEX1NH TUwgPSB2ZXJzaW9uLnNnbWwgXAogCWZlYXR1cmVzLXN1cHBvcnRlZC5zZ21sIGZlYXR1cmVz LXVuc3VwcG9ydGVkLnNnbWwgZXJyY29kZXMtdGFibGUuc2dtbCBcCi0Ja2V5d29yZHMtdGFi bGUuc2dtbAorCWtleXdvcmRzLXRhYmxlLnNnbWwgd2FpdGV2ZW50bmFtZXMuc2dtbAogCiBB TExTR01MIDo9ICQod2lsZGNhcmQgJChzcmNkaXIpLyouc2dtbCAkKHNyY2RpcikvcmVmLyou c2dtbCkgJChHRU5FUkFURURfU0dNTCkKIApAQCAtMTExLDYgKzExMSw5IEBAIGVycmNvZGVz LXRhYmxlLnNnbWw6ICQodG9wX3NyY2Rpcikvc3JjL2JhY2tlbmQvdXRpbHMvZXJyY29kZXMu dHh0IGdlbmVyYXRlLWVycmNvCiBrZXl3b3Jkcy10YWJsZS5zZ21sOiAkKHRvcF9zcmNkaXIp L3NyYy9pbmNsdWRlL3BhcnNlci9rd2xpc3QuaCAkKHdpbGRjYXJkICQoc3JjZGlyKS9rZXl3 b3Jkcy9zcWwqLnR4dCkgZ2VuZXJhdGUta2V5d29yZHMtdGFibGUucGwKIAkkKFBFUkwpICQo c3JjZGlyKS9nZW5lcmF0ZS1rZXl3b3Jkcy10YWJsZS5wbCAkKHNyY2RpcikgPiAkQAogCit3 YWl0ZXZlbnRuYW1lcy5zZ21sOiAkKHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3dhaXRldmVudG5hbWVzLnR4dCAkKHRvcF9zcmNkaXIpL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsCisJJChQRVJMKSAkKHRv cF9zcmNkaXIpL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRldmVu dG5hbWVzLnBsICQ8ID4gJEAKKwlybSBwZ3N0YXRfd2FpdF9ldmVudC5jOyBybSB3YWl0X2V2 ZW50X3R5cGVzLmgKIAogIyMKICMjIEdlbmVyYXRpb24gb2Ygc29tZSB0ZXh0IGZpbGVzLgpk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNnbWwgYi9kb2Mvc3JjL3NnbWwv ZmlsZWxpc3Quc2dtbAppbmRleCAwZDZiZTlhMmZhLi45YWIyMzVkMzZhIDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZmlsZWxp c3Quc2dtbApAQCAtNDIsNiArNDIsNyBAQAogPCFFTlRJVFkgbWFpbnRlbmFuY2UgICBTWVNU RU0gIm1haW50ZW5hbmNlLnNnbWwiPgogPCFFTlRJVFkgbWFuYWdlLWFnICAgICBTWVNURU0g Im1hbmFnZS1hZy5zZ21sIj4KIDwhRU5USVRZIG1vbml0b3JpbmcgICAgU1lTVEVNICJtb25p dG9yaW5nLnNnbWwiPgorPCFFTlRJVFkgd2FpdGV2ZW50bmFtZXMgICAgU1lTVEVNICJ3YWl0 ZXZlbnRuYW1lcy5zZ21sIj4KIDwhRU5USVRZIHJlZ3Jlc3MgICAgICAgU1lTVEVNICJyZWdy ZXNzLnNnbWwiPgogPCFFTlRJVFkgcnVudGltZSAgICAgICBTWVNURU0gInJ1bnRpbWUuc2dt bCI+CiA8IUVOVElUWSBjb25maWcgICAgICAgIFNZU1RFTSAiY29uZmlnLnNnbWwiPgpkaWZm IC0tZ2l0IGEvZG9jL3NyYy9zZ21sL21lc29uLmJ1aWxkIGIvZG9jL3NyYy9zZ21sL21lc29u LmJ1aWxkCmluZGV4IGM2ZDc3YjVhMTUuLjUzZTQ1MDViOTcgMTAwNjQ0Ci0tLSBhL2RvYy9z cmMvc2dtbC9tZXNvbi5idWlsZAorKysgYi9kb2Mvc3JjL3NnbWwvbWVzb24uYnVpbGQKQEAg LTQ2LDYgKzQ2LDE2IEBAIGRvY19nZW5lcmF0ZWQgKz0gY3VzdG9tX3RhcmdldCgnZXJyY29k ZXMtdGFibGUuc2dtbCcsCiAgIGNhcHR1cmU6IHRydWUsCiApCiAKK2RvY19nZW5lcmF0ZWQg Kz0gY3VzdG9tX3RhcmdldCgnd2FpdGV2ZW50bmFtZXMuc2dtbCcsCisgIGlucHV0OiBmaWxl cygKKyAgICAnLi4vLi4vLi4vc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdGV2ZW50 bmFtZXMudHh0JyksCisgIG91dHB1dDogJ3dhaXRldmVudG5hbWVzLnNnbWwnLAorICBjb21t YW5kOiBbcGVybCwgZmlsZXMoJy4uLy4uLy4uL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsJyksICdASU5QVVRAJ10sCisgIGJ1aWxkX2J5 X2RlZmF1bHQ6IGZhbHNlLAorICBpbnN0YWxsOiBmYWxzZSwKKyAgY2FwdHVyZTogdHJ1ZSwK KykKKwogIyBGSVhNRTogdGhpcyBhY3R1YWxseSBoYXMgZnVydGhlciBpbnB1dHMsIGFkZGlu ZyBkZXBmaWxlIHN1cHBvcnQgdG8KICMgZ2VuZXJhdGUta2V5d29yZHMtdGFibGUucGwgaXMg cHJvYmFibHkgdGhlIGJlc3Qgd2F5IHRvIGFkZHJlc3MgdGhhdAogIyByb2J1c3RseS4KZGlm ZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwv bW9uaXRvcmluZy5zZ21sCmluZGV4IDk5ZjdmOTVjMzkuLmM4NjQ4ZmNhMTggMTAwNjQ0Ci0t LSBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL21v bml0b3Jpbmcuc2dtbApAQCAtMTEwMCw3NCArMTEwMCw3IEBAIHBvc3RncmVzICAgMjcwOTMg IDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBTcyAgIDExOjM0ICAgMDowMCBwb3N0 Z3Jlczogc2VyCiAgICA8L3Rncm91cD4KICAgPC90YWJsZT4KIAotICA8dGFibGUgaWQ9Indh aXQtZXZlbnQtYWN0aXZpdHktdGFibGUiPgotICAgPHRpdGxlPldhaXQgRXZlbnRzIG9mIFR5 cGUgPGxpdGVyYWw+QWN0aXZpdHk8L2xpdGVyYWw+PC90aXRsZT4KLSAgIDx0Z3JvdXAgY29s cz0iMiI+Ci0gICAgPHRoZWFkPgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PkFjdGl2aXR5PC9saXRlcmFsPiBXYWl0IEV2ZW50PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5E ZXNjcmlwdGlvbjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgIDwvdGhlYWQ+Ci0KLSAgICA8 dGJvZHk+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+QXJjaGl2ZXJNYWlu PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBpbiBtYWluIGxvb3Ag b2YgYXJjaGl2ZXIgcHJvY2Vzcy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4K LSAgICAgIDxlbnRyeT48bGl0ZXJhbD5BdXRvVmFjdXVtTWFpbjwvbGl0ZXJhbD48L2VudHJ5 PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIGF1dG92YWN1dW0gbGF1 bmNoZXIgcHJvY2Vzcy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAg IDxlbnRyeT48bGl0ZXJhbD5CZ1dyaXRlckhpYmVybmF0ZTwvbGl0ZXJhbD48L2VudHJ5Pgot ICAgICAgPGVudHJ5PldhaXRpbmcgaW4gYmFja2dyb3VuZCB3cml0ZXIgcHJvY2VzcywgaGli ZXJuYXRpbmcuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50 cnk+PGxpdGVyYWw+QmdXcml0ZXJNYWluPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50 cnk+V2FpdGluZyBpbiBtYWluIGxvb3Agb2YgYmFja2dyb3VuZCB3cml0ZXIgcHJvY2Vzcy48 L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJh bD5DaGVja3BvaW50ZXJNYWluPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2Fp dGluZyBpbiBtYWluIGxvb3Agb2YgY2hlY2twb2ludGVyIHByb2Nlc3MuPC9lbnRyeT4KLSAg ICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9naWNhbEFw cGx5TWFpbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4gbWFp biBsb29wIG9mIGxvZ2ljYWwgcmVwbGljYXRpb24gYXBwbHkgcHJvY2Vzcy48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Mb2dpY2Fs TGF1bmNoZXJNYWluPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBp biBtYWluIGxvb3Agb2YgbG9naWNhbCByZXBsaWNhdGlvbiBsYXVuY2hlciBwcm9jZXNzLjwv ZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PkxvZ2ljYWxQYXJhbGxlbEFwcGx5TWFpbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIGxvZ2ljYWwgcmVwbGljYXRpb24gcGFyYWxs ZWwgYXBwbHkKLSAgICAgICBwcm9jZXNzLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8 cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlY292ZXJ5V2FsU3RyZWFtPC9saXRlcmFs PjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBpbiBtYWluIGxvb3Agb2Ygc3RhcnR1 cCBwcm9jZXNzIGZvciBXQUwgdG8gYXJyaXZlLCBkdXJpbmcKLSAgICAgICBzdHJlYW1pbmcg cmVjb3ZlcnkuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50 cnk+PGxpdGVyYWw+U3lzTG9nZ2VyTWFpbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIHN5c2xvZ2dlciBwcm9jZXNzLjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldhbFJl Y2VpdmVyTWFpbjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4g bWFpbiBsb29wIG9mIFdBTCByZWNlaXZlciBwcm9jZXNzLjwvZW50cnk+Ci0gICAgIDwvcm93 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldhbFNlbmRlck1haW48L2xp dGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGluIG1haW4gbG9vcCBvZiBX QUwgc2VuZGVyIHByb2Nlc3MuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0g ICAgICA8ZW50cnk+PGxpdGVyYWw+V2FsV3JpdGVyTWFpbjwvbGl0ZXJhbD48L2VudHJ5Pgot ICAgICAgPGVudHJ5PldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIFdBTCB3cml0ZXIgcHJvY2Vz cy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICA8L3Rib2R5PgotICAgPC90Z3JvdXA+Ci0g IDwvdGFibGU+CisgICZ3YWl0ZXZlbnRuYW1lczsKIAogICA8dGFibGUgaWQ9IndhaXQtZXZl bnQtYnVmZmVycGluLXRhYmxlIj4KICAgIDx0aXRsZT5XYWl0IEV2ZW50cyBvZiBUeXBlIDxs aXRlcmFsPkJ1ZmZlclBpbjwvbGl0ZXJhbD48L3RpdGxlPgpAQCAtMTE4OCw1NiArMTEyMSw2 IEBAIHBvc3RncmVzICAgMjcwOTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAgICBT cyAgIDExOjM0ICAgMDowMCBwb3N0Z3Jlczogc2VyCiAgICA8L3Rncm91cD4KICAgPC90YWJs ZT4KIAotICA8dGFibGUgaWQ9IndhaXQtZXZlbnQtY2xpZW50LXRhYmxlIj4KLSAgIDx0aXRs ZT5XYWl0IEV2ZW50cyBvZiBUeXBlIDxsaXRlcmFsPkNsaWVudDwvbGl0ZXJhbD48L3RpdGxl PgotICAgPHRncm91cCBjb2xzPSIyIj4KLSAgICA8dGhlYWQ+Ci0gICAgIDxyb3c+Ci0gICAg ICA8ZW50cnk+PGxpdGVyYWw+Q2xpZW50PC9saXRlcmFsPiBXYWl0IEV2ZW50PC9lbnRyeT4K LSAgICAgIDxlbnRyeT5EZXNjcmlwdGlvbjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgIDwv dGhlYWQ+Ci0KLSAgICA8dGJvZHk+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVy YWw+Q2xpZW50UmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg dG8gcmVhZCBkYXRhIGZyb20gdGhlIGNsaWVudC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAg ICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5DbGllbnRXcml0ZTwvbGl0ZXJhbD48 L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8gd3JpdGUgZGF0YSB0byB0aGUgY2xp ZW50LjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5Pjxs aXRlcmFsPkdTU09wZW5TZXJ2ZXI8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIHRvIHJlYWQgZGF0YSBmcm9tIHRoZSBjbGllbnQgd2hpbGUgZXN0YWJsaXNoaW5n IGEgR1NTQVBJCi0gICAgICAgc2Vzc2lvbi48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAg PHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5MaWJQUVdhbFJlY2VpdmVyQ29ubmVjdDwv bGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4gV0FMIHJlY2VpdmVy IHRvIGVzdGFibGlzaCBjb25uZWN0aW9uIHRvIHJlbW90ZQotICAgICAgIHNlcnZlci48L2Vu dHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5M aWJQUVdhbFJlY2VpdmVyUmVjZWl2ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgaW4gV0FMIHJlY2VpdmVyIHRvIHJlY2VpdmUgZGF0YSBmcm9tIHJlbW90ZSBz ZXJ2ZXIuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ PGxpdGVyYWw+U1NMT3BlblNlcnZlcjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgZm9yIFNTTCB3aGlsZSBhdHRlbXB0aW5nIGNvbm5lY3Rpb24uPC9lbnRyeT4K LSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+V2FsU2Vu ZGVyV2FpdEZvcldBTDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg Zm9yIFdBTCB0byBiZSBmbHVzaGVkIGluIFdBTCBzZW5kZXIgcHJvY2Vzcy48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5XYWxTZW5k ZXJXcml0ZURhdGE8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZv ciBhbnkgYWN0aXZpdHkgd2hlbiBwcm9jZXNzaW5nIHJlcGxpZXMgZnJvbSBXQUwKLSAgICAg ICByZWNlaXZlciBpbiBXQUwgc2VuZGVyIHByb2Nlc3MuPC9lbnRyeT4KLSAgICAgPC9yb3c+ Ci0gICAgPC90Ym9keT4KLSAgIDwvdGdyb3VwPgotICA8L3RhYmxlPgotCiAgIDx0YWJsZSBp ZD0id2FpdC1ldmVudC1leHRlbnNpb24tdGFibGUiPgogICAgPHRpdGxlPldhaXQgRXZlbnRz IG9mIFR5cGUgPGxpdGVyYWw+RXh0ZW5zaW9uPC9saXRlcmFsPjwvdGl0bGU+CiAgICA8dGdy b3VwIGNvbHM9IjIiPgpAQCAtMTI1Nyw2MjMgKzExNDAsNiBAQCBwb3N0Z3JlcyAgIDI3MDkz ICAwLjAgIDAuMCAgMzAwOTYgIDI3NTIgPyAgICAgICAgU3MgICAxMTozNCAgIDA6MDAgcG9z dGdyZXM6IHNlcgogICAgPC90Z3JvdXA+CiAgIDwvdGFibGU+CiAKLSAgPHRhYmxlIGlkPSJ3 YWl0LWV2ZW50LWlvLXRhYmxlIj4KLSAgIDx0aXRsZT5XYWl0IEV2ZW50cyBvZiBUeXBlIDxs aXRlcmFsPklPPC9saXRlcmFsPjwvdGl0bGU+Ci0gICA8dGdyb3VwIGNvbHM9IjIiPgotICAg IDx0aGVhZD4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5JTzwvbGl0ZXJh bD4gV2FpdCBFdmVudDwvZW50cnk+Ci0gICAgICA8ZW50cnk+RGVzY3JpcHRpb248L2VudHJ5 PgotICAgICA8L3Jvdz4KLSAgICA8L3RoZWFkPgotCi0gICAgPHRib2R5PgotICAgICA8cm93 PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkJhc2VCYWNrdXBSZWFkPC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYmFzZSBiYWNrdXAgdG8gcmVhZCBmcm9t IGEgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRy eT48bGl0ZXJhbD5CYXNlQmFja3VwU3luYzwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgZm9yIGRhdGEgd3JpdHRlbiBieSBhIGJhc2UgYmFja3VwIHRvIHJlYWNo IGR1cmFibGUgc3RvcmFnZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAg ICAgIDxlbnRyeT48bGl0ZXJhbD5CYXNlQmFja3VwV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4K LSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBiYXNlIGJhY2t1cCB0byB3cml0ZSB0byBhIGZp bGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxp dGVyYWw+QnVmRmlsZVJlYWQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0 aW5nIGZvciBhIHJlYWQgZnJvbSBhIGJ1ZmZlcmVkIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9y b3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+QnVmRmlsZVdyaXRlPC9s aXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3cml0ZSB0byBh IGJ1ZmZlcmVkIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAg ICA8ZW50cnk+PGxpdGVyYWw+QnVmRmlsZVRydW5jYXRlPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSBidWZmZXJlZCBmaWxlIHRvIGJlIHRydW5jYXRl ZC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0 ZXJhbD5Db250cm9sRmlsZVJlYWQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIGZvciBhIHJlYWQgZnJvbSB0aGUgPGZpbGVuYW1lPnBnX2NvbnRyb2w8L2ZpbGVu YW1lPgotICAgICAgIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0g ICAgICA8ZW50cnk+PGxpdGVyYWw+Q29udHJvbEZpbGVTeW5jPC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgdGhlIDxmaWxlbmFtZT5wZ19jb250cm9sPC9m aWxlbmFtZT4gZmlsZSB0byByZWFjaAotICAgICAgIGR1cmFibGUgc3RvcmFnZS48L2VudHJ5 PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Db250 cm9sRmlsZVN5bmNVcGRhdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0 aW5nIGZvciBhbiB1cGRhdGUgdG8gdGhlIDxmaWxlbmFtZT5wZ19jb250cm9sPC9maWxlbmFt ZT4gZmlsZQotICAgICAgIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZS48L2VudHJ5PgotICAg ICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Db250cm9sRmls ZVdyaXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3 cml0ZSB0byB0aGUgPGZpbGVuYW1lPnBnX2NvbnRyb2w8L2ZpbGVuYW1lPgotICAgICAgIGZp bGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxp dGVyYWw+Q29udHJvbEZpbGVXcml0ZVVwZGF0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAg PGVudHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gdXBkYXRlIHRoZSA8ZmlsZW5hbWU+cGdf Y29udHJvbDwvZmlsZW5hbWU+Ci0gICAgICAgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4K LSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Db3B5RmlsZVJlYWQ8L2xpdGVy YWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHJlYWQgZHVyaW5nIGEg ZmlsZSBjb3B5IG9wZXJhdGlvbi48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4K LSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Db3B5RmlsZVdyaXRlPC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3cml0ZSBkdXJpbmcgYSBmaWxlIGNvcHkg b3BlcmF0aW9uLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVu dHJ5PjxsaXRlcmFsPkRTTUFsbG9jYXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50 cnk+V2FpdGluZyBmb3IgYSBkeW5hbWljIHNoYXJlZCBtZW1vcnkgc2VnbWVudCB0byBiZQot ICAgICAgIGFsbG9jYXRlZC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAg ICAgIDxlbnRyeT48bGl0ZXJhbD5EU01GaWxsWmVyb1dyaXRlPC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyB0byBmaWxsIGEgZHluYW1pYyBzaGFyZWQgbWVtb3J5 IGJhY2tpbmcgZmlsZSB3aXRoCi0gICAgICAgemVyb2VzLjwvZW50cnk+Ci0gICAgIDwvcm93 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkRhdGFGaWxlRXh0ZW5kPC9s aXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZWxhdGlvbiBk YXRhIGZpbGUgdG8gYmUgZXh0ZW5kZWQuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxy b3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+RGF0YUZpbGVGbHVzaDwvbGl0ZXJhbD48L2Vu dHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVsYXRpb24gZGF0YSBmaWxlIHRv IHJlYWNoIGR1cmFibGUgc3RvcmFnZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJv dz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5EYXRhRmlsZUltbWVkaWF0ZVN5bmM8L2xpdGVy YWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhbiBpbW1lZGlhdGUgc3lu Y2hyb25pemF0aW9uIG9mIGEgcmVsYXRpb24gZGF0YSBmaWxlIHRvCi0gICAgICAgZHVyYWJs ZSBzdG9yYWdlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVu dHJ5PjxsaXRlcmFsPkRhdGFGaWxlUHJlZmV0Y2g8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciBhbiBhc3luY2hyb25vdXMgcHJlZmV0Y2ggZnJvbSBhIHJl bGF0aW9uIGRhdGEKLSAgICAgICBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8 cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkRhdGFGaWxlUmVhZDwvbGl0ZXJhbD48L2Vu dHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBmcm9tIGEgcmVsYXRpb24g ZGF0YSBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVu dHJ5PjxsaXRlcmFsPkRhdGFGaWxlU3luYzwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgZm9yIGNoYW5nZXMgdG8gYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gcmVh Y2ggZHVyYWJsZSBzdG9yYWdlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93Pgot ICAgICAgPGVudHJ5PjxsaXRlcmFsPkRhdGFGaWxlVHJ1bmNhdGU8L2xpdGVyYWw+PC9lbnRy eT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHJlbGF0aW9uIGRhdGEgZmlsZSB0byBi ZSB0cnVuY2F0ZWQuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8 ZW50cnk+PGxpdGVyYWw+RGF0YUZpbGVXcml0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAg PGVudHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gYSByZWxhdGlvbiBkYXRhIGZpbGUuPC9l bnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+ TG9ja0ZpbGVBZGRUb0RhdGFEaXJSZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50 cnk+V2FpdGluZyBmb3IgYSByZWFkIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEg ZGlyZWN0b3J5IGxvY2sKLSAgICAgICBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAg ICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkxvY2tGaWxlQWRkVG9EYXRhRGlyU3lu YzwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGRhdGEgdG8g cmVhY2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlCi0gICAg ICAgZGF0YSBkaXJlY3RvcnkgbG9jayBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAg ICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkxvY2tGaWxlQWRkVG9EYXRhRGlyV3Jp dGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRl IHdoaWxlIGFkZGluZyBhIGxpbmUgdG8gdGhlIGRhdGEgZGlyZWN0b3J5Ci0gICAgICAgbG9j ayBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5 PjxsaXRlcmFsPkxvY2tGaWxlQ3JlYXRlUmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAg PGVudHJ5PldhaXRpbmcgdG8gcmVhZCB3aGlsZSBjcmVhdGluZyB0aGUgZGF0YSBkaXJlY3Rv cnkgbG9jawotICAgICAgIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+ Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9ja0ZpbGVDcmVhdGVTeW5jPC9saXRlcmFsPjwv ZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgZGF0YSB0byByZWFjaCBkdXJhYmxl IHN0b3JhZ2Ugd2hpbGUgY3JlYXRpbmcgdGhlIGRhdGEKLSAgICAgICBkaXJlY3RvcnkgbG9j ayBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5 PjxsaXRlcmFsPkxvY2tGaWxlQ3JlYXRlV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIHdoaWxlIGNyZWF0aW5nIHRoZSBkYXRhIGRp cmVjdG9yeSBsb2NrCi0gICAgICAgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAg PHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Mb2NrRmlsZVJlQ2hlY2tEYXRhRGlyUmVh ZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBk dXJpbmcgcmVjaGVjayBvZiB0aGUgZGF0YSBkaXJlY3RvcnkgbG9jawotICAgICAgIGZpbGUu PC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVy YWw+TG9naWNhbFJld3JpdGVDaGVja3BvaW50U3luYzwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgZm9yIGxvZ2ljYWwgcmV3cml0ZSBtYXBwaW5ncyB0byByZWFj aCBkdXJhYmxlIHN0b3JhZ2UKLSAgICAgICBkdXJpbmcgYSBjaGVja3BvaW50LjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkxvZ2lj YWxSZXdyaXRlTWFwcGluZ1N5bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIGZvciBtYXBwaW5nIGRhdGEgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlIGR1cmlu ZyBhIGxvZ2ljYWwKLSAgICAgICByZXdyaXRlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAg ICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkxvZ2ljYWxSZXdyaXRlTWFwcGluZ1dy aXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3cml0 ZSBvZiBtYXBwaW5nIGRhdGEgZHVyaW5nIGEgbG9naWNhbAotICAgICAgIHJld3JpdGUuPC9l bnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+ TG9naWNhbFJld3JpdGVTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2Fp dGluZyBmb3IgbG9naWNhbCByZXdyaXRlIG1hcHBpbmdzIHRvIHJlYWNoIGR1cmFibGUKLSAg ICAgICBzdG9yYWdlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAg PGVudHJ5PjxsaXRlcmFsPkxvZ2ljYWxSZXdyaXRlVHJ1bmNhdGU8L2xpdGVyYWw+PC9lbnRy eT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciB0cnVuY2F0ZSBvZiBtYXBwaW5nIGRhdGEg ZHVyaW5nIGEgbG9naWNhbAotICAgICAgIHJld3JpdGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+ Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+TG9naWNhbFJld3JpdGVXcml0 ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUg b2YgbG9naWNhbCByZXdyaXRlIG1hcHBpbmdzLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAg ICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlbGF0aW9uTWFwUmVhZDwvbGl0ZXJh bD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBvZiB0aGUgcmVs YXRpb24gbWFwIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAg ICA8ZW50cnk+PGxpdGVyYWw+UmVsYXRpb25NYXBSZXBsYWNlPC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgZHVyYWJsZSByZXBsYWNlbWVudCBvZiBhIHJl bGF0aW9uIG1hcCBmaWxlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAg ICAgPGVudHJ5PjxsaXRlcmFsPlJlbGF0aW9uTWFwV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4K LSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIHRvIHRoZSByZWxhdGlvbiBtYXAg ZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5SZW9yZGVyQnVmZmVyUmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBkdXJpbmcgcmVvcmRlciBidWZmZXIgbWFuYWdlbWVu dC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0 ZXJhbD5SZW9yZGVyQnVmZmVyV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRy eT5XYWl0aW5nIGZvciBhIHdyaXRlIGR1cmluZyByZW9yZGVyIGJ1ZmZlciBtYW5hZ2VtZW50 LjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRl cmFsPlJlb3JkZXJMb2dpY2FsTWFwcGluZ1JlYWQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciBhIHJlYWQgb2YgYSBsb2dpY2FsIG1hcHBpbmcgZHVyaW5n IHJlb3JkZXIgYnVmZmVyCi0gICAgICAgbWFuYWdlbWVudC48L2VudHJ5PgotICAgICA8L3Jv dz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5SZXBsaWNhdGlvblNsb3RS ZWFkPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZWFk IGZyb20gYSByZXBsaWNhdGlvbiBzbG90IGNvbnRyb2wgZmlsZS48L2VudHJ5PgotICAgICA8 L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5SZXBsaWNhdGlvblNs b3RSZXN0b3JlU3luYzwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg Zm9yIGEgcmVwbGljYXRpb24gc2xvdCBjb250cm9sIGZpbGUgdG8gcmVhY2ggZHVyYWJsZSBz dG9yYWdlCi0gICAgICAgd2hpbGUgcmVzdG9yaW5nIGl0IHRvIG1lbW9yeS48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5SZXBsaWNh dGlvblNsb3RTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBm b3IgYSByZXBsaWNhdGlvbiBzbG90IGNvbnRyb2wgZmlsZSB0byByZWFjaCBkdXJhYmxlCi0g ICAgICAgc3RvcmFnZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAg IDxlbnRyeT48bGl0ZXJhbD5SZXBsaWNhdGlvblNsb3RXcml0ZTwvbGl0ZXJhbD48L2VudHJ5 PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUgdG8gYSByZXBsaWNhdGlvbiBz bG90IGNvbnRyb2wgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAg ICAgIDxlbnRyeT48bGl0ZXJhbD5TTFJVRmx1c2hTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBmb3IgU0xSVSBkYXRhIHRvIHJlYWNoIGR1cmFibGUgc3Rv cmFnZSBkdXJpbmcgYSBjaGVja3BvaW50Ci0gICAgICAgb3IgZGF0YWJhc2Ugc2h1dGRvd24u PC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVy YWw+U0xSVVJlYWQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZv ciBhIHJlYWQgb2YgYW4gU0xSVSBwYWdlLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8 cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlNMUlVTeW5jPC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgU0xSVSBkYXRhIHRvIHJlYWNoIGR1cmFibGUg c3RvcmFnZSBmb2xsb3dpbmcgYSBwYWdlCi0gICAgICAgd3JpdGUuPC9lbnRyeT4KLSAgICAg PC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+U0xSVVdyaXRlPC9s aXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3cml0ZSBvZiBh biBTTFJVIHBhZ2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8 ZW50cnk+PGxpdGVyYWw+U25hcGJ1aWxkUmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAg PGVudHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBvZiBhIHNlcmlhbGl6ZWQgaGlzdG9yaWNhbCBj YXRhbG9nCi0gICAgICAgc25hcHNob3QuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxy b3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+U25hcGJ1aWxkU3luYzwvbGl0ZXJhbD48L2Vu dHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgc2VyaWFsaXplZCBoaXN0b3JpY2Fs IGNhdGFsb2cgc25hcHNob3QgdG8gcmVhY2gKLSAgICAgICBkdXJhYmxlIHN0b3JhZ2UuPC9l bnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+ U25hcGJ1aWxkV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5n IGZvciBhIHdyaXRlIG9mIGEgc2VyaWFsaXplZCBoaXN0b3JpY2FsIGNhdGFsb2cKLSAgICAg ICBzbmFwc2hvdC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxl bnRyeT48bGl0ZXJhbD5UaW1lbGluZUhpc3RvcnlGaWxlU3luYzwvbGl0ZXJhbD48L2VudHJ5 PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgdGltZWxpbmUgaGlzdG9yeSBmaWxlIHJl Y2VpdmVkIHZpYSBzdHJlYW1pbmcKLSAgICAgICByZXBsaWNhdGlvbiB0byByZWFjaCBkdXJh YmxlIHN0b3JhZ2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8 ZW50cnk+PGxpdGVyYWw+VGltZWxpbmVIaXN0b3J5RmlsZVdyaXRlPC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3cml0ZSBvZiBhIHRpbWVsaW5lIGhp c3RvcnkgZmlsZSByZWNlaXZlZCB2aWEKLSAgICAgICBzdHJlYW1pbmcgcmVwbGljYXRpb24u PC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVy YWw+VGltZWxpbmVIaXN0b3J5UmVhZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5 PldhaXRpbmcgZm9yIGEgcmVhZCBvZiBhIHRpbWVsaW5lIGhpc3RvcnkgZmlsZS48L2VudHJ5 PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5UaW1l bGluZUhpc3RvcnlTeW5jPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGlu ZyBmb3IgYSBuZXdseSBjcmVhdGVkIHRpbWVsaW5lIGhpc3RvcnkgZmlsZSB0byByZWFjaCBk dXJhYmxlCi0gICAgICAgc3RvcmFnZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJv dz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5UaW1lbGluZUhpc3RvcnlXcml0ZTwvbGl0ZXJh bD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgd3JpdGUgb2YgYSBuZXds eSBjcmVhdGVkIHRpbWVsaW5lIGhpc3RvcnkKLSAgICAgICBmaWxlLjwvZW50cnk+Ci0gICAg IDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlR3b3BoYXNlRmls ZVJlYWQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHJl YWQgb2YgYSB0d28gcGhhc2Ugc3RhdGUgZmlsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAg ICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Ud29waGFzZUZpbGVTeW5jPC9saXRl cmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB0d28gcGhhc2Ugc3Rh dGUgZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuPC9lbnRyeT4KLSAgICAgPC9yb3c+ Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+VHdvcGhhc2VGaWxlV3JpdGU8 L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIG9m IGEgdHdvIHBoYXNlIHN0YXRlIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxy b3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+VmVyc2lvbkZpbGVXcml0ZTwvbGl0ZXJhbD48 L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHRoZSB2ZXJzaW9uIGZpbGUgdG8g YmUgd3JpdHRlbiB3aGlsZSBjcmVhdGluZyBhIGRhdGFiYXNlLjwvZW50cnk+Ci0gICAgIDwv cm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldBTEJvb3RzdHJhcFN5 bmM8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBXQUwgdG8g cmVhY2ggZHVyYWJsZSBzdG9yYWdlIGR1cmluZwotICAgICAgIGJvb3RzdHJhcHBpbmcuPC9l bnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+ V0FMQm9vdHN0cmFwV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0 aW5nIGZvciBhIHdyaXRlIG9mIGEgV0FMIHBhZ2UgZHVyaW5nIGJvb3RzdHJhcHBpbmcuPC9l bnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+ V0FMQ29weVJlYWQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZv ciBhIHJlYWQgd2hlbiBjcmVhdGluZyBhIG5ldyBXQUwgc2VnbWVudCBieSBjb3B5aW5nIGFu Ci0gICAgICAgZXhpc3Rpbmcgb25lLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93 PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldBTENvcHlTeW5jPC9saXRlcmFsPjwvZW50cnk+ Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSBuZXcgV0FMIHNlZ21lbnQgY3JlYXRlZCBi eSBjb3B5aW5nIGFuIGV4aXN0aW5nIG9uZSB0bwotICAgICAgIHJlYWNoIGR1cmFibGUgc3Rv cmFnZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5XQUxDb3B5V3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIGZvciBhIHdyaXRlIHdoZW4gY3JlYXRpbmcgYSBuZXcgV0FMIHNlZ21lbnQgYnkg Y29weWluZyBhbgotICAgICAgIGV4aXN0aW5nIG9uZS48L2VudHJ5PgotICAgICA8L3Jvdz4K LSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5XQUxJbml0U3luYzwvbGl0ZXJh bD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgbmV3bHkgaW5pdGlhbGl6 ZWQgV0FMIGZpbGUgdG8gcmVhY2ggZHVyYWJsZQotICAgICAgIHN0b3JhZ2UuPC9lbnRyeT4K LSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+V0FMSW5p dFdyaXRlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSB3 cml0ZSB3aGlsZSBpbml0aWFsaXppbmcgYSBuZXcgV0FMIGZpbGUuPC9lbnRyeT4KLSAgICAg PC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+V0FMUmVhZDwvbGl0 ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBmcm9tIGEg V0FMIGZpbGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50 cnk+PGxpdGVyYWw+V0FMU2VuZGVyVGltZWxpbmVIaXN0b3J5UmVhZDwvbGl0ZXJhbD48L2Vu dHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgcmVhZCBmcm9tIGEgdGltZWxpbmUg aGlzdG9yeSBmaWxlIGR1cmluZyBhIHdhbHNlbmRlcgotICAgICAgIHRpbWVsaW5lIGNvbW1h bmQuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxp dGVyYWw+V0FMU3luYzwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcg Zm9yIGEgV0FMIGZpbGUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlLjwvZW50cnk+Ci0gICAg IDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPldBTFN5bmNNZXRo b2RBc3NpZ248L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBk YXRhIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZSB3aGlsZSBhc3NpZ25pbmcgYSBuZXcKLSAg ICAgICBXQUwgc3luYyBtZXRob2QuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+ Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+V0FMV3JpdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAg ICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHdyaXRlIHRvIGEgV0FMIGZpbGUuPC9lbnRyeT4K LSAgICAgPC9yb3c+Ci0gICAgPC90Ym9keT4KLSAgIDwvdGdyb3VwPgotICA8L3RhYmxlPgot Ci0gIDx0YWJsZSBpZD0id2FpdC1ldmVudC1pcGMtdGFibGUiPgotICAgPHRpdGxlPldhaXQg RXZlbnRzIG9mIFR5cGUgPGxpdGVyYWw+SVBDPC9saXRlcmFsPjwvdGl0bGU+Ci0gICA8dGdy b3VwIGNvbHM9IjIiPgotICAgIDx0aGVhZD4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5JUEM8L2xpdGVyYWw+IFdhaXQgRXZlbnQ8L2VudHJ5PgotICAgICAgPGVudHJ5 PkRlc2NyaXB0aW9uPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgPC90aGVhZD4KLQotICAg IDx0Ym9keT4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5BcHBlbmRSZWFk eTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHN1YnBsYW4g bm9kZXMgb2YgYW4gPGxpdGVyYWw+QXBwZW5kPC9saXRlcmFsPiBwbGFuCi0gICAgICAgbm9k ZSB0byBiZSByZWFkeS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAg IDxlbnRyeT48bGl0ZXJhbD5BcmNoaXZlQ2xlYW51cENvbW1hbmQ8L2xpdGVyYWw+PC9lbnRy eT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciA8eHJlZiBsaW5rZW5kPSJndWMtYXJjaGl2 ZS1jbGVhbnVwLWNvbW1hbmQiLz4gdG8KLSAgICAgICBjb21wbGV0ZS48L2VudHJ5PgotICAg ICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5BcmNoaXZlQ29t bWFuZDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIDx4cmVm IGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLWNvbW1hbmQiLz4gdG8KLSAgICAgICBjb21wbGV0ZS48 L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJh bD5CYWNrZW5kVGVybWluYXRpb248L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIGZvciB0aGUgdGVybWluYXRpb24gb2YgYW5vdGhlciBiYWNrZW5kLjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkJhY2t1 cFdhaXRXYWxBcmNoaXZlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGlu ZyBmb3IgV0FMIGZpbGVzIHJlcXVpcmVkIGZvciBhIGJhY2t1cCB0byBiZSBzdWNjZXNzZnVs bHkKLSAgICAgICBhcmNoaXZlZC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4K LSAgICAgIDxlbnRyeT48bGl0ZXJhbD5CZ1dvcmtlclNodXRkb3duPC9saXRlcmFsPjwvZW50 cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYmFja2dyb3VuZCB3b3JrZXIgdG8gc2h1 dCBkb3duLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5 PjxsaXRlcmFsPkJnV29ya2VyU3RhcnR1cDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVu dHJ5PldhaXRpbmcgZm9yIGJhY2tncm91bmQgd29ya2VyIHRvIHN0YXJ0IHVwLjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkJ0cmVl UGFnZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHRoZSBw YWdlIG51bWJlciBuZWVkZWQgdG8gY29udGludWUgYSBwYXJhbGxlbCBCLXRyZWUKLSAgICAg ICBzY2FuIHRvIGJlY29tZSBhdmFpbGFibGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAg IDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+QnVmZmVySU88L2xpdGVyYWw+PC9lbnRy eT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBidWZmZXIgSS9PIHRvIGNvbXBsZXRlLjwv ZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PkNoZWNrcG9pbnREb25lPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGlu ZyBmb3IgYSBjaGVja3BvaW50IHRvIGNvbXBsZXRlLjwvZW50cnk+Ci0gICAgIDwvcm93Pgot ICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkNoZWNrcG9pbnRTdGFydDwvbGl0 ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgY2hlY2twb2ludCB0 byBzdGFydC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRy eT48bGl0ZXJhbD5FeGVjdXRlR2F0aGVyPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50 cnk+V2FpdGluZyBmb3IgYWN0aXZpdHkgZnJvbSBhIGNoaWxkIHByb2Nlc3Mgd2hpbGUKLSAg ICAgICBleGVjdXRpbmcgYSA8bGl0ZXJhbD5HYXRoZXI8L2xpdGVyYWw+IHBsYW4gbm9kZS48 L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJh bD5IYXNoQmF0Y2hBbGxvY2F0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5Pldh aXRpbmcgZm9yIGFuIGVsZWN0ZWQgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxv Y2F0ZSBhIGhhc2gKLSAgICAgICB0YWJsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAg PHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5IYXNoQmF0Y2hFbGVjdDwvbGl0ZXJhbD48 L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8gZWxlY3QgYSBQYXJhbGxlbCBIYXNo IHBhcnRpY2lwYW50IHRvIGFsbG9jYXRlIGEgaGFzaAotICAgICAgIHRhYmxlLjwvZW50cnk+ Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkhhc2hC YXRjaExvYWQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBv dGhlciBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50cyB0byBmaW5pc2ggbG9hZGluZyBhCi0g ICAgICAgaGFzaCB0YWJsZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAg ICAgIDxlbnRyeT48bGl0ZXJhbD5IYXNoQnVpbGRBbGxvY2F0ZTwvbGl0ZXJhbD48L2VudHJ5 PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGFuIGVsZWN0ZWQgUGFyYWxsZWwgSGFzaCBw YXJ0aWNpcGFudCB0byBhbGxvY2F0ZSB0aGUKLSAgICAgICBpbml0aWFsIGhhc2ggdGFibGUu PC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVy YWw+SGFzaEJ1aWxkRWxlY3Q8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0 aW5nIHRvIGVsZWN0IGEgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxvY2F0ZSB0 aGUKLSAgICAgICBpbml0aWFsIGhhc2ggdGFibGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0g ICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+SGFzaEJ1aWxkSGFzaElubmVyPC9s aXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3Igb3RoZXIgUGFyYWxs ZWwgSGFzaCBwYXJ0aWNpcGFudHMgdG8gZmluaXNoIGhhc2hpbmcgdGhlCi0gICAgICAgaW5u ZXIgcmVsYXRpb24uPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8 ZW50cnk+PGxpdGVyYWw+SGFzaEJ1aWxkSGFzaE91dGVyPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBmb3Igb3RoZXIgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFu dHMgdG8gZmluaXNoIHBhcnRpdGlvbmluZwotICAgICAgIHRoZSBvdXRlciByZWxhdGlvbi48 L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJh bD5IYXNoR3Jvd0JhdGNoZXNEZWNpZGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRy eT5XYWl0aW5nIHRvIGVsZWN0IGEgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBkZWNp ZGUgb24gZnV0dXJlCi0gICAgICAgYmF0Y2ggZ3Jvd3RoLjwvZW50cnk+Ci0gICAgIDwvcm93 PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkhhc2hHcm93QmF0Y2hlc0Vs ZWN0PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyB0byBlbGVjdCBh IFBhcmFsbGVsIEhhc2ggcGFydGljaXBhbnQgdG8gYWxsb2NhdGUgbW9yZQotICAgICAgIGJh dGNoZXMuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+ PGxpdGVyYWw+SGFzaEdyb3dCYXRjaGVzRmluaXNoPC9saXRlcmFsPjwvZW50cnk+Ci0gICAg ICA8ZW50cnk+V2FpdGluZyBmb3IgYW4gZWxlY3RlZCBQYXJhbGxlbCBIYXNoIHBhcnRpY2lw YW50IHRvIGRlY2lkZSBvbgotICAgICAgIGZ1dHVyZSBiYXRjaCBncm93dGguPC9lbnRyeT4K LSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+SGFzaEdy b3dCYXRjaGVzUmVhbGxvY2F0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5Pldh aXRpbmcgZm9yIGFuIGVsZWN0ZWQgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxv Y2F0ZSBtb3JlCi0gICAgICAgYmF0Y2hlcy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAg PHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5IYXNoR3Jvd0JhdGNoZXNSZXBhcnRpdGlv bjwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIG90aGVyIFBh cmFsbGVsIEhhc2ggcGFydGljaXBhbnRzIHRvIGZpbmlzaAotICAgICAgIHJlcGFydGl0aW9u aW5nLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5Pjxs aXRlcmFsPkhhc2hHcm93QnVja2V0c0VsZWN0PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8 ZW50cnk+V2FpdGluZyB0byBlbGVjdCBhIFBhcmFsbGVsIEhhc2ggcGFydGljaXBhbnQgdG8g YWxsb2NhdGUgbW9yZQotICAgICAgIGJ1Y2tldHMuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0g ICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+SGFzaEdyb3dCdWNrZXRzUmVhbGxv Y2F0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGFuIGVs ZWN0ZWQgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBmaW5pc2gKLSAgICAgICBhbGxv Y2F0aW5nIG1vcmUgYnVja2V0cy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4K LSAgICAgIDxlbnRyeT48bGl0ZXJhbD5IYXNoR3Jvd0J1Y2tldHNSZWluc2VydDwvbGl0ZXJh bD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIG90aGVyIFBhcmFsbGVsIEhh c2ggcGFydGljaXBhbnRzIHRvIGZpbmlzaCBpbnNlcnRpbmcKLSAgICAgICB0dXBsZXMgaW50 byBuZXcgYnVja2V0cy48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAg IDxlbnRyeT48bGl0ZXJhbD5Mb2dpY2FsQXBwbHlTZW5kRGF0YTwvbGl0ZXJhbD48L2VudHJ5 PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgbG9naWNhbCByZXBsaWNhdGlvbiBsZWFk ZXIgYXBwbHkgcHJvY2VzcyB0byBzZW5kCi0gICAgICAgZGF0YSB0byBhIHBhcmFsbGVsIGFw cGx5IHByb2Nlc3MuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8 ZW50cnk+PGxpdGVyYWw+TG9naWNhbFBhcmFsbGVsQXBwbHlTdGF0ZUNoYW5nZTwvbGl0ZXJh bD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGEgbG9naWNhbCByZXBsaWNh dGlvbiBwYXJhbGxlbCBhcHBseSBwcm9jZXNzIHRvIGNoYW5nZQotICAgICAgIHN0YXRlLjwv ZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFs PkxvZ2ljYWxTeW5jRGF0YTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRp bmcgZm9yIGEgbG9naWNhbCByZXBsaWNhdGlvbiByZW1vdGUgc2VydmVyIHRvIHNlbmQgZGF0 YSBmb3IKLSAgICAgICBpbml0aWFsIHRhYmxlIHN5bmNocm9uaXphdGlvbi48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5Mb2dpY2Fs U3luY1N0YXRlQ2hhbmdlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGlu ZyBmb3IgYSBsb2dpY2FsIHJlcGxpY2F0aW9uIHJlbW90ZSBzZXJ2ZXIgdG8gY2hhbmdlCi0g ICAgICAgc3RhdGUuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8 ZW50cnk+PGxpdGVyYWw+TWVzc2FnZVF1ZXVlSW50ZXJuYWw8L2xpdGVyYWw+PC9lbnRyeT4K LSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhbm90aGVyIHByb2Nlc3MgdG8gYmUgYXR0YWNo ZWQgdG8gYSBzaGFyZWQgbWVzc2FnZQotICAgICAgIHF1ZXVlLjwvZW50cnk+Ci0gICAgIDwv cm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPk1lc3NhZ2VRdWV1ZVB1 dE1lc3NhZ2U8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIHRvIHdy aXRlIGEgcHJvdG9jb2wgbWVzc2FnZSB0byBhIHNoYXJlZCBtZXNzYWdlIHF1ZXVlLjwvZW50 cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPk1l c3NhZ2VRdWV1ZVJlY2VpdmU8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0 aW5nIHRvIHJlY2VpdmUgYnl0ZXMgZnJvbSBhIHNoYXJlZCBtZXNzYWdlIHF1ZXVlLjwvZW50 cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPk1l c3NhZ2VRdWV1ZVNlbmQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5n IHRvIHNlbmQgYnl0ZXMgdG8gYSBzaGFyZWQgbWVzc2FnZSBxdWV1ZS48L2VudHJ5PgotICAg ICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5QYXJhbGxlbEJp dG1hcFNjYW48L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBw YXJhbGxlbCBiaXRtYXAgc2NhbiB0byBiZWNvbWUgaW5pdGlhbGl6ZWQuPC9lbnRyeT4KLSAg ICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+UGFyYWxsZWxD cmVhdGVJbmRleFNjYW48L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5n IGZvciBwYXJhbGxlbCA8Y29tbWFuZD5DUkVBVEUgSU5ERVg8L2NvbW1hbmQ+IHdvcmtlcnMg dG8KLSAgICAgICBmaW5pc2ggaGVhcCBzY2FuLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAg ICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlBhcmFsbGVsRmluaXNoPC9saXRlcmFs PjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgcGFyYWxsZWwgd29ya2VycyB0 byBmaW5pc2ggY29tcHV0aW5nLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93Pgot ICAgICAgPGVudHJ5PjxsaXRlcmFsPlByb2NBcnJheUdyb3VwVXBkYXRlPC9saXRlcmFsPjwv ZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgdGhlIGdyb3VwIGxlYWRlciB0byBj bGVhciB0aGUgdHJhbnNhY3Rpb24gSUQgYXQKLSAgICAgICBlbmQgb2YgYSBwYXJhbGxlbCBv cGVyYXRpb24uPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50 cnk+PGxpdGVyYWw+UHJvY1NpZ25hbEJhcnJpZXI8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAg IDxlbnRyeT5XYWl0aW5nIGZvciBhIGJhcnJpZXIgZXZlbnQgdG8gYmUgcHJvY2Vzc2VkIGJ5 IGFsbAotICAgICAgIGJhY2tlbmRzLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93 PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlByb21vdGU8L2xpdGVyYWw+PC9lbnRyeT4KLSAg ICAgIDxlbnRyeT5XYWl0aW5nIGZvciBzdGFuZGJ5IHByb21vdGlvbi48L2VudHJ5PgotICAg ICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5SZWNvdmVyeUNv bmZsaWN0U25hcHNob3Q8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5n IGZvciByZWNvdmVyeSBjb25mbGljdCByZXNvbHV0aW9uIGZvciBhIHZhY3V1bQotICAgICAg IGNsZWFudXAuPC9lbnRyeT4KLSAgICAgPC9yb3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50 cnk+PGxpdGVyYWw+UmVjb3ZlcnlDb25mbGljdFRhYmxlc3BhY2U8L2xpdGVyYWw+PC9lbnRy eT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciByZWNvdmVyeSBjb25mbGljdCByZXNvbHV0 aW9uIGZvciBkcm9wcGluZyBhCi0gICAgICAgdGFibGVzcGFjZS48L2VudHJ5PgotICAgICA8 L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5SZWNvdmVyeUVuZENv bW1hbmQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciA8eHJl ZiBsaW5rZW5kPSJndWMtcmVjb3ZlcnktZW5kLWNvbW1hbmQiLz4gdG8KLSAgICAgICBjb21w bGV0ZS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5SZWNvdmVyeVBhdXNlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+ V2FpdGluZyBmb3IgcmVjb3ZlcnkgdG8gYmUgcmVzdW1lZC48L2VudHJ5PgotICAgICA8L3Jv dz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5SZXBsaWNhdGlvbk9yaWdp bkRyb3A8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBhIHJl cGxpY2F0aW9uIG9yaWdpbiB0byBiZWNvbWUgaW5hY3RpdmUgc28gaXQgY2FuIGJlCi0gICAg ICAgZHJvcHBlZC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxl bnRyeT48bGl0ZXJhbD5SZXBsaWNhdGlvblNsb3REcm9wPC9saXRlcmFsPjwvZW50cnk+Ci0g ICAgICA8ZW50cnk+V2FpdGluZyBmb3IgYSByZXBsaWNhdGlvbiBzbG90IHRvIGJlY29tZSBp bmFjdGl2ZSBzbyBpdCBjYW4gYmUKLSAgICAgICBkcm9wcGVkLjwvZW50cnk+Ci0gICAgIDwv cm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlc3RvcmVDb21tYW5k PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBmb3IgPHhyZWYgbGlu a2VuZD0iZ3VjLXJlc3RvcmUtY29tbWFuZCIvPiB0bwotICAgICAgIGNvbXBsZXRlLjwvZW50 cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlNh ZmVTbmFwc2hvdDwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8g b2J0YWluIGEgdmFsaWQgc25hcHNob3QgZm9yIGEgPGxpdGVyYWw+UkVBRCBPTkxZCi0gICAg ICAgREVGRVJSQUJMRTwvbGl0ZXJhbD4gdHJhbnNhY3Rpb24uPC9lbnRyeT4KLSAgICAgPC9y b3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+U3luY1JlcDwvbGl0ZXJh bD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIGNvbmZpcm1hdGlvbiBmcm9t IGEgcmVtb3RlIHNlcnZlciBkdXJpbmcgc3luY2hyb25vdXMKLSAgICAgICByZXBsaWNhdGlv bi48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0 ZXJhbD5XYWxSZWNlaXZlckV4aXQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIGZvciB0aGUgV0FMIHJlY2VpdmVyIHRvIGV4aXQuPC9lbnRyeT4KLSAgICAgPC9y b3c+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+V2FsUmVjZWl2ZXJXYWl0 U3RhcnQ8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5XYWl0aW5nIGZvciBzdGFy dHVwIHByb2Nlc3MgdG8gc2VuZCBpbml0aWFsIGRhdGEgZm9yIHN0cmVhbWluZwotICAgICAg IHJlcGxpY2F0aW9uLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAg PGVudHJ5PjxsaXRlcmFsPlhhY3RHcm91cFVwZGF0ZTwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgZm9yIHRoZSBncm91cCBsZWFkZXIgdG8gdXBkYXRlIHRyYW5z YWN0aW9uIHN0YXR1cyBhdAotICAgICAgIGVuZCBvZiBhIHBhcmFsbGVsIG9wZXJhdGlvbi48 L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICA8L3Rib2R5PgotICAgPC90Z3JvdXA+Ci0gIDwv dGFibGU+Ci0KICAgPHRhYmxlIGlkPSJ3YWl0LWV2ZW50LWxvY2stdGFibGUiPgogICAgPHRp dGxlPldhaXQgRXZlbnRzIG9mIFR5cGUgPGxpdGVyYWw+TG9jazwvbGl0ZXJhbD48L3RpdGxl PgogICAgPHRncm91cCBjb2xzPSIyIj4KQEAgLTIzMDUsNjIgKzE1NzEsNiBAQCBwb3N0Z3Jl cyAgIDI3MDkzICAwLjAgIDAuMCAgMzAwOTYgIDI3NTIgPyAgICAgICAgU3MgICAxMTozNCAg IDA6MDAgcG9zdGdyZXM6IHNlcgogICAgIDwvcGFyYT4KICAgIDwvbm90ZT4KIAotICA8dGFi bGUgaWQ9IndhaXQtZXZlbnQtdGltZW91dC10YWJsZSI+Ci0gICA8dGl0bGU+V2FpdCBFdmVu dHMgb2YgVHlwZSA8bGl0ZXJhbD5UaW1lb3V0PC9saXRlcmFsPjwvdGl0bGU+Ci0gICA8dGdy b3VwIGNvbHM9IjIiPgotICAgIDx0aGVhZD4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5UaW1lb3V0PC9saXRlcmFsPiBXYWl0IEV2ZW50PC9lbnRyeT4KLSAgICAgIDxl bnRyeT5EZXNjcmlwdGlvbjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgIDwvdGhlYWQ+Ci0K LSAgICA8dGJvZHk+Ci0gICAgIDxyb3c+Ci0gICAgICA8ZW50cnk+PGxpdGVyYWw+QmFzZUJh Y2t1cFRocm90dGxlPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBk dXJpbmcgYmFzZSBiYWNrdXAgd2hlbiB0aHJvdHRsaW5nIGFjdGl2aXR5LjwvZW50cnk+Ci0g ICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPkNoZWNrcG9p bnRXcml0ZURlbGF5PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBi ZXR3ZWVuIHdyaXRlcyB3aGlsZSBwZXJmb3JtaW5nIGEgY2hlY2twb2ludC48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5QZ1NsZWVw PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBkdWUgdG8gYSBjYWxs IHRvIDxmdW5jdGlvbj5wZ19zbGVlcDwvZnVuY3Rpb24+IG9yCi0gICAgICAgYSBzaWJsaW5n IGZ1bmN0aW9uLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgICA8cm93PgotICAgICAgPGVu dHJ5PjxsaXRlcmFsPlJlY292ZXJ5QXBwbHlEZWxheTwvbGl0ZXJhbD48L2VudHJ5PgotICAg ICAgPGVudHJ5PldhaXRpbmcgdG8gYXBwbHkgV0FMIGR1cmluZyByZWNvdmVyeSBiZWNhdXNl IG9mIGEgZGVsYXkKLSAgICAgICBzZXR0aW5nLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAg ICA8cm93PgotICAgICAgPGVudHJ5PjxsaXRlcmFsPlJlY292ZXJ5UmV0cmlldmVSZXRyeUlu dGVydmFsPC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8ZW50cnk+V2FpdGluZyBkdXJpbmcg cmVjb3Zlcnkgd2hlbiBXQUwgZGF0YSBpcyBub3QgYXZhaWxhYmxlIGZyb20gYW55Ci0gICAg ICAgc291cmNlICg8ZmlsZW5hbWU+cGdfd2FsPC9maWxlbmFtZT4sIGFyY2hpdmUgb3Igc3Ry ZWFtKS48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48 bGl0ZXJhbD5SZWdpc3RlclN5bmNSZXF1ZXN0PC9saXRlcmFsPjwvZW50cnk+Ci0gICAgICA8 ZW50cnk+V2FpdGluZyB3aGlsZSBzZW5kaW5nIHN5bmNocm9uaXphdGlvbiByZXF1ZXN0cyB0 byB0aGUKLSAgICAgICBjaGVja3BvaW50ZXIsIGJlY2F1c2UgdGhlIHJlcXVlc3QgcXVldWUg aXMgZnVsbC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRy eT48bGl0ZXJhbD5TcGluRGVsYXk8L2xpdGVyYWw+PC9lbnRyeT4KLSAgICAgIDxlbnRyeT5X YWl0aW5nIHdoaWxlIGFjcXVpcmluZyBhIGNvbnRlbmRlZCBzcGlubG9jay48L2VudHJ5Pgot ICAgICA8L3Jvdz4KLSAgICAgPHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5WYWN1dW1E ZWxheTwvbGl0ZXJhbD48L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgaW4gYSBjb3N0 LWJhc2VkIHZhY3V1bSBkZWxheSBwb2ludC48L2VudHJ5PgotICAgICA8L3Jvdz4KLSAgICAg PHJvdz4KLSAgICAgIDxlbnRyeT48bGl0ZXJhbD5WYWN1dW1UcnVuY2F0ZTwvbGl0ZXJhbD48 L2VudHJ5PgotICAgICAgPGVudHJ5PldhaXRpbmcgdG8gYWNxdWlyZSBhbiBleGNsdXNpdmUg bG9jayB0byB0cnVuY2F0ZSBvZmYgYW55Ci0gICAgICAgZW1wdHkgcGFnZXMgYXQgdGhlIGVu ZCBvZiBhIHRhYmxlIHZhY3V1bWVkLjwvZW50cnk+Ci0gICAgIDwvcm93PgotICAgIDwvdGJv ZHk+Ci0gICA8L3Rncm91cD4KLSAgPC90YWJsZT4KLQogICAgPHBhcmE+CiAgICAgIEhlcmUg aXMgYW4gZXhhbXBsZSBvZiBob3cgd2FpdCBldmVudHMgY2FuIGJlIHZpZXdlZDoKIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvTWFrZWZpbGUgYi9zcmMvYmFja2VuZC9NYWtlZmlsZQpp bmRleCBlNGJmMGZlOWMwLi5hODJjOTA4MzE1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9N YWtlZmlsZQorKysgYi9zcmMvYmFja2VuZC9NYWtlZmlsZQpAQCAtMTM0LDYgKzEzNCw5IEBA IHBhcnNlci9ncmFtLmg6IHBhcnNlci9ncmFtLnkKIHN0b3JhZ2UvbG1nci9sd2xvY2tuYW1l cy5oOiBzdG9yYWdlL2xtZ3IvZ2VuZXJhdGUtbHdsb2NrbmFtZXMucGwgc3RvcmFnZS9sbWdy L2x3bG9ja25hbWVzLnR4dAogCSQoTUFLRSkgLUMgc3RvcmFnZS9sbWdyIGx3bG9ja25hbWVz LmggbHdsb2NrbmFtZXMuYwogCit1dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X3R5cGVzLmg6 IHV0aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsIHV0aWxzL2FjdGl2 aXR5L3dhaXRldmVudG5hbWVzLnR4dAorCSQoTUFLRSkgLUMgdXRpbHMvYWN0aXZpdHkgd2Fp dF9ldmVudF90eXBlcy5oIHBnc3RhdF93YWl0X2V2ZW50LmMKKwogIyBydW4gdGhpcyB1bmNv bmRpdGlvbmFsbHkgdG8gYXZvaWQgbmVlZGluZyB0byBrbm93IGl0cyBkZXBlbmRlbmNpZXMg aGVyZToKIHN1Ym1ha2UtY2F0YWxvZy1oZWFkZXJzOgogCSQoTUFLRSkgLUMgY2F0YWxvZyBk aXN0cHJlcCBnZW5lcmF0ZWQtaGVhZGVyLXN5bWxpbmtzCkBAIC0xNjEsMTMgKzE2NCwxOCBA QCBzdWJtYWtlLXV0aWxzLWhlYWRlcnM6CiAKIC5QSE9OWTogZ2VuZXJhdGVkLWhlYWRlcnMK IAotZ2VuZXJhdGVkLWhlYWRlcnM6ICQodG9wX2J1aWxkZGlyKS9zcmMvaW5jbHVkZS9zdG9y YWdlL2x3bG9ja25hbWVzLmggc3VibWFrZS1jYXRhbG9nLWhlYWRlcnMgc3VibWFrZS1ub2Rl cy1oZWFkZXJzIHN1Ym1ha2UtdXRpbHMtaGVhZGVycworZ2VuZXJhdGVkLWhlYWRlcnM6ICQo dG9wX2J1aWxkZGlyKS9zcmMvaW5jbHVkZS9zdG9yYWdlL2x3bG9ja25hbWVzLmggJCh0b3Bf YnVpbGRkaXIpL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnRfdHlwZXMuaCBzdWJtYWtl LWNhdGFsb2ctaGVhZGVycyBzdWJtYWtlLW5vZGVzLWhlYWRlcnMgc3VibWFrZS11dGlscy1o ZWFkZXJzCiAKICQodG9wX2J1aWxkZGlyKS9zcmMvaW5jbHVkZS9zdG9yYWdlL2x3bG9ja25h bWVzLmg6IHN0b3JhZ2UvbG1nci9sd2xvY2tuYW1lcy5oCiAJcHJlcmVxZGlyPWBjZCAnJChk aXIgJDwpJyA+L2Rldi9udWxsICYmIHB3ZGAgJiYgXAogCSAgY2QgJyQoZGlyICRAKScgJiYg cm0gLWYgJChub3RkaXIgJEApICYmIFwKIAkgICQoTE5fUykgIiQkcHJlcmVxZGlyLyQobm90 ZGlyICQ8KSIgLgogCiskKHRvcF9idWlsZGRpcikvc3JjL2luY2x1ZGUvdXRpbHMvd2FpdF9l dmVudF90eXBlcy5oOiB1dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50X3R5cGVzLmgKKwlwcmVy ZXFkaXI9YGNkICckKGRpciAkPCknID4vZGV2L251bGwgJiYgcHdkYCAmJiBcCisJICBjZCAn JChkaXIgJEApJyAmJiBybSAtZiAkKG5vdGRpciAkQCkgJiYgXAorCSAgJChMTl9TKSAiJCRw cmVyZXFkaXIvJChub3RkaXIgJDwpIiAuCisKIHV0aWxzL3Byb2Jlcy5vOiB1dGlscy9wcm9i ZXMuZCAkKFNVQkRJUk9CSlMpCiAJJChEVFJBQ0UpICQoRFRSQUNFRkxBR1MpIC1DIC1HIC1z ICQoY2FsbCBleHBhbmRfc3Vic3lzLCReKSAtbyAkQAogCkBAIC0xODUsNiArMTkzLDcgQEAg ZGlzdHByZXA6CiAJJChNQUtFKSAtQyB1dGlscwlkaXN0cHJlcAogCSQoTUFLRSkgLUMgdXRp bHMvYWR0CWpzb25wYXRoX2dyYW0uYyBqc29ucGF0aF9ncmFtLmgganNvbnBhdGhfc2Nhbi5j CiAJJChNQUtFKSAtQyB1dGlscy9taXNjCWd1Yy1maWxlLmMKKwkkKE1BS0UpIC1DIHV0aWxz L2FjdHZpdHkJd2FpdF9ldmVudF90eXBlcy5oIHBnc3RhdF93YWl0X2V2ZW50LmMKIAogCiAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMzAyLDYgKzMxMSw4IEBAIG1haW50YWluZXItY2xl YW46IGRpc3RjbGVhbgogCSAgICAgIHJlcGxpY2F0aW9uL3N5bmNyZXBfc2Nhbm5lci5jIFwK IAkgICAgICBzdG9yYWdlL2xtZ3IvbHdsb2NrbmFtZXMuYyBcCiAJICAgICAgc3RvcmFnZS9s bWdyL2x3bG9ja25hbWVzLmggXAorCSAgICAgIHV0aWxzL2FjdGl2aXR5L3Bnc3RhdF93YWl0 X2V2ZW50LmMgXAorCSAgICAgIHV0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfdHlwZXMuaCBc CiAJICAgICAgdXRpbHMvYWR0L2pzb25wYXRoX2dyYW0uYyBcCiAJICAgICAgdXRpbHMvYWR0 L2pzb25wYXRoX2dyYW0uaCBcCiAJICAgICAgdXRpbHMvYWR0L2pzb25wYXRoX3NjYW4uYyBc CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9NYWtlZmlsZSBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlCmluZGV4IDdkNzQ4MmRkZTAuLjY1 NDg3ZGE3YWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01ha2Vm aWxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L01ha2VmaWxlCkBAIC0zMywz ICszMywxMyBAQCBPQkpTID0gXAogCXdhaXRfZXZlbnQubwogCiBpbmNsdWRlICQodG9wX3Ny Y2Rpcikvc3JjL2JhY2tlbmQvY29tbW9uLm1rCisKK3dhaXRfZXZlbnQubzogcGdzdGF0X3dh aXRfZXZlbnQuYworcGdzdGF0X3dhaXRfZXZlbnQuYzogd2FpdF9ldmVudF90eXBlcy5oCisJ dG91Y2ggJEAKKword2FpdF9ldmVudF90eXBlcy5oOiAkKHRvcF9zcmNkaXIpL3NyYy9iYWNr ZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRldmVudG5hbWVzLnR4dCBnZW5lcmF0ZS13YWl0ZXZl bnRuYW1lcy5wbAorCSQoUEVSTCkgJChzcmNkaXIpL2dlbmVyYXRlLXdhaXRldmVudG5hbWVz LnBsICQ8CisKK21haW50YWluZXItY2xlYW46IGNsZWFuCisJcm0gLWYgd2FpdF9ldmVudF90 eXBlcy5oIHBnc3RhdF93YWl0X2V2ZW50LmMKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvZ2VuZXJhdGUtd2FpdGV2ZW50bmFtZXMucGwKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYWU0OWUwZDlkOQotLS0gL2Rldi9udWxsCisr KyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L2dlbmVyYXRlLXdhaXRldmVudG5hbWVz LnBsCkBAIC0wLDAgKzEsMTc4IEBACisjIS91c3IvYmluL3BlcmwKKyMtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisjCisjIEdlbmVyYXRlIHdhaXQgZXZlbnRzIHN1cHBvcnQgZmlsZXMgZnJvbSB3YWl0 ZXZlbnRuYW1lcy50eHQ6CisjIC0gd2FpdF9ldmVudF90eXBlcy5oCisjIC0gcGdzdGF0X3dh aXRfZXZlbnQuYworIyAtIHdhaXRldmVudG5hbWVzLnNnbWwKKyMKKyMgUG9ydGlvbnMgQ29w eXJpZ2h0IChjKSAxOTk2LTIwMjMsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdy b3VwCisjIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUgVW5p dmVyc2l0eSBvZiBDYWxpZm9ybmlhCisjCisjIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5 L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsCisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1 c2Ugc3RyaWN0OwordXNlIHdhcm5pbmdzOwordXNlIEdldG9wdDo6TG9uZzsKKworbXkgJG91 dHB1dF9wYXRoID0gJy4nOworCitteSAkY29udGludWUgICAgPSAiXG4iOworbXkgJWhhc2h3 ZTsKK215ICR3YWl0Y2xhc3M7CisKK0dldE9wdGlvbnMoCisJJ291dGRpcjpzJyAgICAgICA9 PiBcJG91dHB1dF9wYXRoKTsKKworb3BlbiBteSAkd2FpdGV2ZW50bmFtZXMsICc8JywgJEFS R1ZbMF0gb3IgZGllOworCisjIEluY2x1ZGUgUElEIGluIHN1ZmZpeCBpbiBjYXNlIHBhcmFs bGVsIG1ha2UgcnVucyB0aGlzIG11bHRpcGxlIHRpbWVzLgorbXkgJGh0bXAgPSAiJG91dHB1 dF9wYXRoL3dhaXRfZXZlbnRfdHlwZXMuaC50bXAkJCI7CitteSAkY3RtcCA9ICIkb3V0cHV0 X3BhdGgvcGdzdGF0X3dhaXRfZXZlbnQuYy50bXAkJCI7CitteSAkc3RtcCA9ICIkb3V0cHV0 X3BhdGgvd2FpdGV2ZW50bmFtZXMucy50bXAkJCI7CitvcGVuIG15ICRoLCAnPicsICRodG1w IG9yIGRpZSAiQ291bGQgbm90IG9wZW4gJGh0bXA6ICQhIjsKK29wZW4gbXkgJGMsICc+Jywg JGN0bXAgb3IgZGllICJDb3VsZCBub3Qgb3BlbiAkY3RtcDogJCEiOworb3BlbiBteSAkcywg Jz4nLCAkc3RtcCBvciBkaWUgIkNvdWxkIG5vdCBvcGVuICRzdG1wOiAkISI7CisKK215ICRo ZWFkZXJfY29tbWVudCA9CisgICcvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiAlcwor ICogICAgR2VuZXJhdGVkIHdhaXQgZXZlbnRzIGluZnJhc3RydWN0dXJlIGNvZGUKKyAqCisg KiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwg RGV2ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5NCwgUmVn ZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgorICogTk9URVMKKyAq ICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAqKiogRE8gTk9UIEVESVQg VEhJUyBGSUxFISAqKioKKyAqICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAq CisgKiAgSXQgaGFzIGJlZW4gR0VORVJBVEVEIGJ5IHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsCisgKgorICotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgKi8KKyc7CisKK3ByaW50ZiAkaCAkaGVhZGVyX2NvbW1lbnQsICd3YWl0X2V2ZW50 X3R5cGVzLmgnOworcHJpbnRmICRoICIjaWZuZGVmIFdBSVRFVkVOVE5BTUVTX0hcbiI7Citw cmludGYgJGggIiNkZWZpbmUgV0FJVEVWRU5UTkFNRVNfSFxuXG4iOworcHJpbnRmICRoICIj aW5jbHVkZSBcInV0aWxzL3dhaXRfZXZlbnQuaFwiXG5cbiI7CisKK3ByaW50ZiAkYyAkaGVh ZGVyX2NvbW1lbnQsICdwZ3N0YXRfd2FpdF9ldmVudC5jJzsKKworbXkgQGxpbmVzOworbXkg JGxpbmU7CitteSAkc2VjdGlvbl9uYW1lOworCisjIFJlbW92ZSBjb21tZW50cyBhbmQgZW1w dHkgbGluZXMgYW5kIGFkZCB3YWl0Y2xhc3NuYW1lIGJhc2VkIG9uIHRoZSBzZWN0aW9uCit3 aGlsZSAoPCR3YWl0ZXZlbnRuYW1lcz4pCit7CisJY2hvbXA7CisKKwkjIFNraXAgY29tbWVu dHMKKwluZXh0IGlmIC9eIy87CisKKwkjIFNraXAgZW1wdHkgbGluZXMKKwluZXh0IGlmIC9e XHMqJC87CisKKwkjIEdldCB3YWl0Y2xhc3NuYW1lIGJhc2VkIG9uIHRoZSBzZWN0aW9uCisJ aWYgKC9eU2VjdGlvbjooLiopLykKKwl7CisJCSRzZWN0aW9uX25hbWUgPSAkXzsKKwkJJHNl Y3Rpb25fbmFtZSA9fiBzL14uKi0gLy87CisJCW5leHQ7CisJfQorCisJcHVzaChAbGluZXMs ICRzZWN0aW9uX25hbWUgLiAiXHQiIC4gJF8pOworfQorCisjIFNvcnQgdGhlIGxpbmVzIGJh c2VkIG9uIHRoZSBzZWNvbmQgY29sdW1uCitteSBAbGluZXNfc29ydGVkID0gc29ydCB7IChz cGxpdCgvXHQvLCAkYSkpWzFdIGNtcCAoc3BsaXQoL1x0LywgJGIpKVsxXSB9IEBsaW5lczsK KworIyBSZWFkIHRoZSBzb3J0ZWQgbGluZXMgYW5kIHBvcHVsYXRlIHRoZSBoYXNoIHRhYmxl Citmb3JlYWNoICRsaW5lIChAbGluZXNfc29ydGVkKQoreworCWRpZSAidW5hYmxlIHRvIHBh cnNlIHdhaXRldmVudG5hbWVzLnR4dCIKKwkgIHVubGVzcyAkbGluZSA9fiAvXihcdyspXHQr KFx3KylcdCsoIlx3KyIpXHQrKCJcdy4qXC4iKSQvOworCisJKG15ICR3YWl0Y2xhc3NuYW1l LCBteSAkd2FpdGV2ZW50ZW51bW5hbWUsIG15ICR3YWl0ZXZlbnRkZXNjcmlwdGlvbiwgbXkg JHdhaXRldmVuZG9jc2VudGVuY2UpID0gc3BsaXQgKC9cdC8sICRsaW5lKTsKKworCW15IEB3 YWl0ZXZlbnRsaXN0ID0gWyR3YWl0ZXZlbnRlbnVtbmFtZSwgJHdhaXRldmVudGRlc2NyaXB0 aW9uLCAkd2FpdGV2ZW5kb2NzZW50ZW5jZV07CisJbXkgJHRyaW1tZWR3YWl0ZXZlbnRuYW1l ID0gJHdhaXRldmVudGVudW1uYW1lOworCSR0cmltbWVkd2FpdGV2ZW50bmFtZSA9fiBzL15X QUlUX0VWRU5UXy8vOworCWRpZSAid2FpdCBldmVudCBuYW1lcyBtdXN0IHN0YXJ0IHdpdGgg J1dBSVRfRVZFTlRfJyIgaWYgJHRyaW1tZWR3YWl0ZXZlbnRuYW1lIGVxICR3YWl0ZXZlbnRl bnVtbmFtZTsKKwkkY29udGludWUgICAgPSAiLFxuIjsKKwlwdXNoKEB7ICRoYXNod2V7JHdh aXRjbGFzc25hbWV9IH0sIEB3YWl0ZXZlbnRsaXN0KTsKK30KKworIyBHZW5lcmF0ZSB0aGUg b3V0cHV0IGZpbGVzCitmb3JlYWNoICR3YWl0Y2xhc3MgKGtleXMgJWhhc2h3ZSkgeworCW15 ICRsYXN0ID0gJHdhaXRjbGFzczsKKwkkbGFzdCA9fiBzL15XYWl0RXZlbnQvLzsKKwlteSAk bGFzdHVjID0gdWMgJGxhc3Q7CisJbXkgJGxhc3RsYyA9IGxjICRsYXN0OworCW15ICRmaXJz dHBhc3MgPSAxOworCW15ICRwZ193YWl0X2NsYXNzOworCisJcHJpbnRmICRoICJ0eXBlZGVm IGVudW1cbntcbiI7CisKKwlwcmludGYgJGMgInN0YXRpYyBjb25zdCBjaGFyICpcbnBnc3Rh dF9nZXRfd2FpdF8kbGFzdGxjKCR3YWl0Y2xhc3MgdylcbntcbiI7CisJcHJpbnRmICRjICJc dGNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSBcInVua25vd24gd2FpdCBldmVudFwiO1xuXG4i OworCXByaW50ZiAkYyAiXHRzd2l0Y2ggKHcpXG5cdHtcbiI7CisKKwlwcmludGYgJHMgIiAg PHRhYmxlIGlkPVwid2FpdC1ldmVudC0lcy10YWJsZVwiPlxuIiwgJGxhc3RsYzsKKwlwcmlu dGYgJHMgIiAgIDx0aXRsZT5XYWl0IEV2ZW50cyBvZiBUeXBlIDxsaXRlcmFsPiVzPC9saXRl cmFsPjwvdGl0bGU+XG4iLCB1Y2ZpcnN0KCRsYXN0bGMpOworCXByaW50ZiAkcyAiICAgPHRn cm91cCBjb2xzPVwiMlwiPlxuIjsKKwlwcmludGYgJHMgIiAgICA8dGhlYWQ+XG4iOworCXBy aW50ZiAkcyAiICAgICA8cm93PlxuIjsKKwlwcmludGYgJHMgIiAgICAgIDxlbnRyeT48bGl0 ZXJhbD5BY3Rpdml0eTwvbGl0ZXJhbD4gV2FpdCBFdmVudDwvZW50cnk+XG4iOworCXByaW50 ZiAkcyAiICAgICAgPGVudHJ5PkRlc2NyaXB0aW9uPC9lbnRyeT5cbiI7CisgICAgcHJpbnRm ICRzICIgICAgIDwvcm93PlxuIjsKKwlwcmludGYgJHMgIiAgICA8L3RoZWFkPlxuXG4iOwor CXByaW50ZiAkcyAiICAgIDx0Ym9keT5cbiI7CisKKwlmb3JlYWNoIG15ICR3ZXYgKEB7JGhh c2h3ZXskd2FpdGNsYXNzfX0pIHsKKwkJaWYgKCRmaXJzdHBhc3MpIHsKKwkJCSRwZ193YWl0 X2NsYXNzID0gIlBHX1dBSVRfIi4kbGFzdHVjOworCQkJcHJpbnRmICRoICJcdCVzID0gJXMi LCAkd2V2LT5bMF0sICRwZ193YWl0X2NsYXNzOworCQkJJGNvbnRpbnVlID0gIixcbiI7CisJ CX0gZWxzZSB7CisJCQlwcmludGYgJGggIiVzXHQlcyIsICRjb250aW51ZSwgJHdldi0+WzBd OworCQkJJGNvbnRpbnVlID0gIixcbiI7CisJCX0KKwkJJGZpcnN0cGFzcyA9IDA7CisKKwkJ cHJpbnRmICRjICJcdFx0IGNhc2UgJXM6XG4iLCAkd2V2LT5bMF07CisJCXByaW50ZiAkYyAi XHRcdFx0IGV2ZW50X25hbWUgPSAlcztcblx0XHRcdCBicmVhaztcbiIsICR3ZXYtPlsxXTsK KworCQlwcmludGYgJHMgIiAgICAgPHJvdz5cbiI7CisJCXByaW50ZiAkcyAiICAgICAgPGVu dHJ5PjxsaXRlcmFsPiVzPC9saXRlcmFsPjwvZW50cnk+XG4iLCBzdWJzdHIgJHdldi0+WzFd LCAxLCAtMTsKKwkJcHJpbnRmICRzICIgICAgICA8ZW50cnk+JXM8L2VudHJ5PlxuIiwgc3Vi c3RyICR3ZXYtPlsyXSwgMSwgLTE7CisJCXByaW50ZiAkcyAiICAgICA8L3Jvdz5cbiI7CisJ fQorCisJcHJpbnRmICRoICJcbn0gJHdhaXRjbGFzcztcblxuIjsKKworCXByaW50ZiAkYyAi XHRcdFx0IC8qIG5vIGRlZmF1bHQgY2FzZSwgc28gdGhhdCBjb21waWxlciB3aWxsIHdhcm4g Ki9cbiI7CisJcHJpbnRmICRjICJcdH1cblxuIjsKKwlwcmludGYgJGMgIlx0cmV0dXJuIGV2 ZW50X25hbWU7XG4iOworCXByaW50ZiAkYyAiXG59XG4iOworCisJcHJpbnRmICRzICIgICAg PC90Ym9keT5cbiI7CisJcHJpbnRmICRzICIgICA8L3Rncm91cD5cbiI7CisJcHJpbnRmICRz ICIgIDwvdGFibGU+XG4iOworfQorCitwcmludGYgJGggIiNlbmRpZiAgICAgICAgICAgICAg ICAgICAgICAgICAgLyogV0FJVEVWRU5UTkFNRVNfSCAqLyI7CitjbG9zZSAkaDsKK2Nsb3Nl ICRjOworY2xvc2UgJHM7CisKK3JlbmFtZSgkaHRtcCwgIiRvdXRwdXRfcGF0aC93YWl0X2V2 ZW50X3R5cGVzLmgiKSB8fCBkaWUgInJlbmFtZTogJGh0bXAgdG8gJG91dHB1dF9wYXRoL3dh aXRfZXZlbnRfdHlwZXMuaDogJCEiOworcmVuYW1lKCRjdG1wLCAiJG91dHB1dF9wYXRoL3Bn c3RhdF93YWl0X2V2ZW50LmMiKSB8fCBkaWUgInJlbmFtZTogJGN0bXA6ICQhIjsKK3JlbmFt ZSgkc3RtcCwgIiRvdXRwdXRfcGF0aC93YWl0ZXZlbnRuYW1lcy5zZ21sIikgfHwgZGllICJy ZW5hbWU6ICRjdG1wOiAkISI7CisKK2Nsb3NlICR3YWl0ZXZlbnRuYW1lczsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L21lc29uLmJ1aWxkIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWN0aXZpdHkvbWVzb24uYnVpbGQKaW5kZXggNTE4ZWUzZjc5OC4uODMwMDRj OTg2YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvbWVzb24uYnVp bGQKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvbWVzb24uYnVpbGQKQEAgLTEs NSArMSwxNyBAQAogIyBDb3B5cmlnaHQgKGMpIDIwMjItMjAyMywgUG9zdGdyZVNRTCBHbG9i YWwgRGV2ZWxvcG1lbnQgR3JvdXAKIAord2FpdGV2ZW50bmFtZXMgPSBjdXN0b21fdGFyZ2V0 KCd3YWl0ZXZlbnRuYW1lcycsCisgIGlucHV0OiBmaWxlcygnLi93YWl0ZXZlbnRuYW1lcy50 eHQnKSwKKyAgb3V0cHV0OiBbJ3Bnc3RhdF93YWl0X2V2ZW50LmMnXSwKKyAgY29tbWFuZDog WworICAgIHBlcmwsIGZpbGVzKCcuL2dlbmVyYXRlLXdhaXRldmVudG5hbWVzLnBsJyksCisg ICAgJy1vJywgJ0BPVVRESVJAJywKKyAgICAnQElOUFVUQCcKKyAgXSwKKyAgaW5zdGFsbDog dHJ1ZSwKKyAgaW5zdGFsbF9kaXI6IFtmYWxzZV0sCispCisKIGJhY2tlbmRfc291cmNlcyAr PSBmaWxlcygKICAgJ2JhY2tlbmRfcHJvZ3Jlc3MuYycsCiAgICdiYWNrZW5kX3N0YXR1cy5j JywKQEAgLTE3LDUgKzI5LDE3IEBAIGJhY2tlbmRfc291cmNlcyArPSBmaWxlcygKICAgJ3Bn c3RhdF9zdWJzY3JpcHRpb24uYycsCiAgICdwZ3N0YXRfd2FsLmMnLAogICAncGdzdGF0X3hh Y3QuYycsCispCisKKyMgdGhlc2UgaW5jbHVkZSAuYyBmaWxlcyBnZW5lcmF0ZWQgaW4gLi4v Li4vLi4vaW5jbHVkZS9hY3Rpdml0eSwgc2VlbXMgbmljZXIgdG8gbm90CisjIGFkZCB0aGF0 IGFzIGFuIGluY2x1ZGUgcGF0aCBmb3IgdGhlIHdob2xlIGJhY2tlbmQKK3dhaXRldmVudF9z b3VyY2VzID0gZmlsZXMoCiAgICd3YWl0X2V2ZW50LmMnLAogKQorCitiYWNrZW5kX2xpbmtf d2l0aCArPSBzdGF0aWNfbGlicmFyeSgnd2FpdGV2ZW50bmFtZXMnLAorICB3YWl0ZXZlbnRf c291cmNlcywKKyAgZGVwZW5kZW5jaWVzOiBbYmFja2VuZF9jb2RlXSwKKyAgaW5jbHVkZV9k aXJlY3RvcmllczogaW5jbHVkZV9kaXJlY3RvcmllcygnLi4vLi4vLi4vaW5jbHVkZS91dGls cycpLAorICBrd2FyZ3M6IGludGVybmFsX2xpYl9hcmdzLAorKQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvd2FpdF9ldmVudC5jCmluZGV4IDc5NDBkNjQ2MzkuLjQ4MzFmOGEyNWUg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMKQEAgLTE5Niw1 NjkgKzE5Niw0IEBAIHBnc3RhdF9nZXRfd2FpdF9ldmVudCh1aW50MzIgd2FpdF9ldmVudF9p bmZvKQogCXJldHVybiBldmVudF9uYW1lOwogfQogCi0vKiAtLS0tLS0tLS0tCi0gKiBwZ3N0 YXRfZ2V0X3dhaXRfYWN0aXZpdHkoKSAtCi0gKgotICogQ29udmVydCBXYWl0RXZlbnRBY3Rp dml0eSB0byBzdHJpbmcuCi0gKiAtLS0tLS0tLS0tCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFy ICoKLXBnc3RhdF9nZXRfd2FpdF9hY3Rpdml0eShXYWl0RXZlbnRBY3Rpdml0eSB3KQotewot CWNvbnN0IGNoYXIgKmV2ZW50X25hbWUgPSAidW5rbm93biB3YWl0IGV2ZW50IjsKLQotCXN3 aXRjaCAodykKLQl7Ci0JCWNhc2UgV0FJVF9FVkVOVF9BUkNISVZFUl9NQUlOOgotCQkJZXZl bnRfbmFtZSA9ICJBcmNoaXZlck1haW4iOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVO VF9BVVRPVkFDVVVNX01BSU46Ci0JCQlldmVudF9uYW1lID0gIkF1dG9WYWN1dW1NYWluIjsK LQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQkdXUklURVJfSElCRVJOQVRFOgotCQkJ ZXZlbnRfbmFtZSA9ICJCZ1dyaXRlckhpYmVybmF0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBX QUlUX0VWRU5UX0JHV1JJVEVSX01BSU46Ci0JCQlldmVudF9uYW1lID0gIkJnV3JpdGVyTWFp biI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0NIRUNLUE9JTlRFUl9NQUlOOgot CQkJZXZlbnRfbmFtZSA9ICJDaGVja3BvaW50ZXJNYWluIjsKLQkJCWJyZWFrOwotCQljYXNl IFdBSVRfRVZFTlRfTE9HSUNBTF9BUFBMWV9NQUlOOgotCQkJZXZlbnRfbmFtZSA9ICJMb2dp Y2FsQXBwbHlNYWluIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfTE9HSUNBTF9M QVVOQ0hFUl9NQUlOOgotCQkJZXZlbnRfbmFtZSA9ICJMb2dpY2FsTGF1bmNoZXJNYWluIjsK LQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfTE9HSUNBTF9QQVJBTExFTF9BUFBMWV9N QUlOOgotCQkJZXZlbnRfbmFtZSA9ICJMb2dpY2FsUGFyYWxsZWxBcHBseU1haW4iOwotCQkJ YnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9SRUNPVkVSWV9XQUxfU1RSRUFNOgotCQkJZXZl bnRfbmFtZSA9ICJSZWNvdmVyeVdhbFN0cmVhbSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlU X0VWRU5UX1NZU0xPR0dFUl9NQUlOOgotCQkJZXZlbnRfbmFtZSA9ICJTeXNMb2dnZXJNYWlu IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfV0FMX1JFQ0VJVkVSX01BSU46Ci0J CQlldmVudF9uYW1lID0gIldhbFJlY2VpdmVyTWFpbiI7Ci0JCQlicmVhazsKLQkJY2FzZSBX QUlUX0VWRU5UX1dBTF9TRU5ERVJfTUFJTjoKLQkJCWV2ZW50X25hbWUgPSAiV2FsU2VuZGVy TWFpbiI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9XUklURVJfTUFJTjoK LQkJCWV2ZW50X25hbWUgPSAiV2FsV3JpdGVyTWFpbiI7Ci0JCQlicmVhazsKLQkJCS8qIG5v IGRlZmF1bHQgY2FzZSwgc28gdGhhdCBjb21waWxlciB3aWxsIHdhcm4gKi8KLQl9Ci0KLQly ZXR1cm4gZXZlbnRfbmFtZTsKLX0KLQotLyogLS0tLS0tLS0tLQotICogcGdzdGF0X2dldF93 YWl0X2NsaWVudCgpIC0KLSAqCi0gKiBDb252ZXJ0IFdhaXRFdmVudENsaWVudCB0byBzdHJp bmcuCi0gKiAtLS0tLS0tLS0tCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoKLXBnc3RhdF9n ZXRfd2FpdF9jbGllbnQoV2FpdEV2ZW50Q2xpZW50IHcpCi17Ci0JY29uc3QgY2hhciAqZXZl bnRfbmFtZSA9ICJ1bmtub3duIHdhaXQgZXZlbnQiOwotCi0Jc3dpdGNoICh3KQotCXsKLQkJ Y2FzZSBXQUlUX0VWRU5UX0NMSUVOVF9SRUFEOgotCQkJZXZlbnRfbmFtZSA9ICJDbGllbnRS ZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQ0xJRU5UX1dSSVRFOgotCQkJ ZXZlbnRfbmFtZSA9ICJDbGllbnRXcml0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VW RU5UX0dTU19PUEVOX1NFUlZFUjoKLQkJCWV2ZW50X25hbWUgPSAiR1NTT3BlblNlcnZlciI7 Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0xJQlBRV0FMUkVDRUlWRVJfQ09OTkVD VDoKLQkJCWV2ZW50X25hbWUgPSAiTGliUFFXYWxSZWNlaXZlckNvbm5lY3QiOwotCQkJYnJl YWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MSUJQUVdBTFJFQ0VJVkVSX1JFQ0VJVkU6Ci0JCQll dmVudF9uYW1lID0gIkxpYlBRV2FsUmVjZWl2ZXJSZWNlaXZlIjsKLQkJCWJyZWFrOwotCQlj YXNlIFdBSVRfRVZFTlRfU1NMX09QRU5fU0VSVkVSOgotCQkJZXZlbnRfbmFtZSA9ICJTU0xP cGVuU2VydmVyIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfV0FMX1NFTkRFUl9X QUlUX1dBTDoKLQkJCWV2ZW50X25hbWUgPSAiV2FsU2VuZGVyV2FpdEZvcldBTCI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9TRU5ERVJfV1JJVEVfREFUQToKLQkJCWV2 ZW50X25hbWUgPSAiV2FsU2VuZGVyV3JpdGVEYXRhIjsKLQkJCWJyZWFrOwotCQkJLyogbm8g ZGVmYXVsdCBjYXNlLCBzbyB0aGF0IGNvbXBpbGVyIHdpbGwgd2FybiAqLwotCX0KLQotCXJl dHVybiBldmVudF9uYW1lOwotfQotCi0vKiAtLS0tLS0tLS0tCi0gKiBwZ3N0YXRfZ2V0X3dh aXRfaXBjKCkgLQotICoKLSAqIENvbnZlcnQgV2FpdEV2ZW50SVBDIHRvIHN0cmluZy4KLSAq IC0tLS0tLS0tLS0KLSAqLwotc3RhdGljIGNvbnN0IGNoYXIgKgotcGdzdGF0X2dldF93YWl0 X2lwYyhXYWl0RXZlbnRJUEMgdykKLXsKLQljb25zdCBjaGFyICpldmVudF9uYW1lID0gInVu a25vd24gd2FpdCBldmVudCI7Ci0KLQlzd2l0Y2ggKHcpCi0JewotCQljYXNlIFdBSVRfRVZF TlRfQVBQRU5EX1JFQURZOgotCQkJZXZlbnRfbmFtZSA9ICJBcHBlbmRSZWFkeSI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0FSQ0hJVkVfQ0xFQU5VUF9DT01NQU5EOgotCQkJ ZXZlbnRfbmFtZSA9ICJBcmNoaXZlQ2xlYW51cENvbW1hbmQiOwotCQkJYnJlYWs7Ci0JCWNh c2UgV0FJVF9FVkVOVF9BUkNISVZFX0NPTU1BTkQ6Ci0JCQlldmVudF9uYW1lID0gIkFyY2hp dmVDb21tYW5kIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQkFDS0VORF9URVJN SU5BVElPTjoKLQkJCWV2ZW50X25hbWUgPSAiQmFja2VuZFRlcm1pbmF0aW9uIjsKLQkJCWJy ZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQkFDS1VQX1dBSVRfV0FMX0FSQ0hJVkU6Ci0JCQll dmVudF9uYW1lID0gIkJhY2t1cFdhaXRXYWxBcmNoaXZlIjsKLQkJCWJyZWFrOwotCQljYXNl IFdBSVRfRVZFTlRfQkdXT1JLRVJfU0hVVERPV046Ci0JCQlldmVudF9uYW1lID0gIkJnV29y a2VyU2h1dGRvd24iOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9CR1dPUktFUl9T VEFSVFVQOgotCQkJZXZlbnRfbmFtZSA9ICJCZ1dvcmtlclN0YXJ0dXAiOwotCQkJYnJlYWs7 Ci0JCWNhc2UgV0FJVF9FVkVOVF9CVFJFRV9QQUdFOgotCQkJZXZlbnRfbmFtZSA9ICJCdHJl ZVBhZ2UiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9CVUZGRVJfSU86Ci0JCQll dmVudF9uYW1lID0gIkJ1ZmZlcklPIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRf Q0hFQ0tQT0lOVF9ET05FOgotCQkJZXZlbnRfbmFtZSA9ICJDaGVja3BvaW50RG9uZSI7Ci0J CQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0NIRUNLUE9JTlRfU1RBUlQ6Ci0JCQlldmVu dF9uYW1lID0gIkNoZWNrcG9pbnRTdGFydCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VW RU5UX0VYRUNVVEVfR0FUSEVSOgotCQkJZXZlbnRfbmFtZSA9ICJFeGVjdXRlR2F0aGVyIjsK LQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFTSF9CQVRDSF9BTExPQ0FURToKLQkJ CWV2ZW50X25hbWUgPSAiSGFzaEJhdGNoQWxsb2NhdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9IQVNIX0JBVENIX0VMRUNUOgotCQkJZXZlbnRfbmFtZSA9ICJIYXNoQmF0 Y2hFbGVjdCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0hBU0hfQkFUQ0hfTE9B RDoKLQkJCWV2ZW50X25hbWUgPSAiSGFzaEJhdGNoTG9hZCI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX0hBU0hfQlVJTERfQUxMT0NBVEU6Ci0JCQlldmVudF9uYW1lID0gIkhh c2hCdWlsZEFsbG9jYXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFTSF9C VUlMRF9FTEVDVDoKLQkJCWV2ZW50X25hbWUgPSAiSGFzaEJ1aWxkRWxlY3QiOwotCQkJYnJl YWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9IQVNIX0JVSUxEX0hBU0hfSU5ORVI6Ci0JCQlldmVu dF9uYW1lID0gIkhhc2hCdWlsZEhhc2hJbm5lciI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlU X0VWRU5UX0hBU0hfQlVJTERfSEFTSF9PVVRFUjoKLQkJCWV2ZW50X25hbWUgPSAiSGFzaEJ1 aWxkSGFzaE91dGVyIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFTSF9HUk9X X0JBVENIRVNfREVDSURFOgotCQkJZXZlbnRfbmFtZSA9ICJIYXNoR3Jvd0JhdGNoZXNEZWNp ZGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9IQVNIX0dST1dfQkFUQ0hFU19F TEVDVDoKLQkJCWV2ZW50X25hbWUgPSAiSGFzaEdyb3dCYXRjaGVzRWxlY3QiOwotCQkJYnJl YWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9IQVNIX0dST1dfQkFUQ0hFU19GSU5JU0g6Ci0JCQll dmVudF9uYW1lID0gIkhhc2hHcm93QmF0Y2hlc0ZpbmlzaCI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX0hBU0hfR1JPV19CQVRDSEVTX1JFQUxMT0NBVEU6Ci0JCQlldmVudF9u YW1lID0gIkhhc2hHcm93QmF0Y2hlc1JlYWxsb2NhdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9IQVNIX0dST1dfQkFUQ0hFU19SRVBBUlRJVElPTjoKLQkJCWV2ZW50X25h bWUgPSAiSGFzaEdyb3dCYXRjaGVzUmVwYXJ0aXRpb24iOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9IQVNIX0dST1dfQlVDS0VUU19FTEVDVDoKLQkJCWV2ZW50X25hbWUgPSAi SGFzaEdyb3dCdWNrZXRzRWxlY3QiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9I QVNIX0dST1dfQlVDS0VUU19SRUFMTE9DQVRFOgotCQkJZXZlbnRfbmFtZSA9ICJIYXNoR3Jv d0J1Y2tldHNSZWFsbG9jYXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfSEFT SF9HUk9XX0JVQ0tFVFNfUkVJTlNFUlQ6Ci0JCQlldmVudF9uYW1lID0gIkhhc2hHcm93QnVj a2V0c1JlaW5zZXJ0IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfTE9HSUNBTF9B UFBMWV9TRU5EX0RBVEE6Ci0JCQlldmVudF9uYW1lID0gIkxvZ2ljYWxBcHBseVNlbmREYXRh IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfTE9HSUNBTF9QQVJBTExFTF9BUFBM WV9TVEFURV9DSEFOR0U6Ci0JCQlldmVudF9uYW1lID0gIkxvZ2ljYWxQYXJhbGxlbEFwcGx5 U3RhdGVDaGFuZ2UiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MT0dJQ0FMX1NZ TkNfREFUQToKLQkJCWV2ZW50X25hbWUgPSAiTG9naWNhbFN5bmNEYXRhIjsKLQkJCWJyZWFr OwotCQljYXNlIFdBSVRfRVZFTlRfTE9HSUNBTF9TWU5DX1NUQVRFX0NIQU5HRToKLQkJCWV2 ZW50X25hbWUgPSAiTG9naWNhbFN5bmNTdGF0ZUNoYW5nZSI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX01RX0lOVEVSTkFMOgotCQkJZXZlbnRfbmFtZSA9ICJNZXNzYWdlUXVl dWVJbnRlcm5hbCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX01RX1BVVF9NRVNT QUdFOgotCQkJZXZlbnRfbmFtZSA9ICJNZXNzYWdlUXVldWVQdXRNZXNzYWdlIjsKLQkJCWJy ZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfTVFfUkVDRUlWRToKLQkJCWV2ZW50X25hbWUgPSAi TWVzc2FnZVF1ZXVlUmVjZWl2ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX01R X1NFTkQ6Ci0JCQlldmVudF9uYW1lID0gIk1lc3NhZ2VRdWV1ZVNlbmQiOwotCQkJYnJlYWs7 Ci0JCWNhc2UgV0FJVF9FVkVOVF9QQVJBTExFTF9CSVRNQVBfU0NBTjoKLQkJCWV2ZW50X25h bWUgPSAiUGFyYWxsZWxCaXRtYXBTY2FuIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfUEFSQUxMRUxfQ1JFQVRFX0lOREVYX1NDQU46Ci0JCQlldmVudF9uYW1lID0gIlBhcmFs bGVsQ3JlYXRlSW5kZXhTY2FuIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfUEFS QUxMRUxfRklOSVNIOgotCQkJZXZlbnRfbmFtZSA9ICJQYXJhbGxlbEZpbmlzaCI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1BST0NBUlJBWV9HUk9VUF9VUERBVEU6Ci0JCQll dmVudF9uYW1lID0gIlByb2NBcnJheUdyb3VwVXBkYXRlIjsKLQkJCWJyZWFrOwotCQljYXNl IFdBSVRfRVZFTlRfUFJPQ19TSUdOQUxfQkFSUklFUjoKLQkJCWV2ZW50X25hbWUgPSAiUHJv Y1NpZ25hbEJhcnJpZXIiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9QUk9NT1RF OgotCQkJZXZlbnRfbmFtZSA9ICJQcm9tb3RlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRf RVZFTlRfUkVDT1ZFUllfQ09ORkxJQ1RfU05BUFNIT1Q6Ci0JCQlldmVudF9uYW1lID0gIlJl Y292ZXJ5Q29uZmxpY3RTbmFwc2hvdCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5U X1JFQ09WRVJZX0NPTkZMSUNUX1RBQkxFU1BBQ0U6Ci0JCQlldmVudF9uYW1lID0gIlJlY292 ZXJ5Q29uZmxpY3RUYWJsZXNwYWNlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRf UkVDT1ZFUllfRU5EX0NPTU1BTkQ6Ci0JCQlldmVudF9uYW1lID0gIlJlY292ZXJ5RW5kQ29t bWFuZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1JFQ09WRVJZX1BBVVNFOgot CQkJZXZlbnRfbmFtZSA9ICJSZWNvdmVyeVBhdXNlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdB SVRfRVZFTlRfUkVQTElDQVRJT05fT1JJR0lOX0RST1A6Ci0JCQlldmVudF9uYW1lID0gIlJl cGxpY2F0aW9uT3JpZ2luRHJvcCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1JF UExJQ0FUSU9OX1NMT1RfRFJPUDoKLQkJCWV2ZW50X25hbWUgPSAiUmVwbGljYXRpb25TbG90 RHJvcCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1JFU1RPUkVfQ09NTUFORDoK LQkJCWV2ZW50X25hbWUgPSAiUmVzdG9yZUNvbW1hbmQiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9TQUZFX1NOQVBTSE9UOgotCQkJZXZlbnRfbmFtZSA9ICJTYWZlU25hcHNo b3QiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9TWU5DX1JFUDoKLQkJCWV2ZW50 X25hbWUgPSAiU3luY1JlcCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9S RUNFSVZFUl9FWElUOgotCQkJZXZlbnRfbmFtZSA9ICJXYWxSZWNlaXZlckV4aXQiOwotCQkJ YnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9XQUxfUkVDRUlWRVJfV0FJVF9TVEFSVDoKLQkJ CWV2ZW50X25hbWUgPSAiV2FsUmVjZWl2ZXJXYWl0U3RhcnQiOwotCQkJYnJlYWs7Ci0JCWNh c2UgV0FJVF9FVkVOVF9YQUNUX0dST1VQX1VQREFURToKLQkJCWV2ZW50X25hbWUgPSAiWGFj dEdyb3VwVXBkYXRlIjsKLQkJCWJyZWFrOwotCQkJLyogbm8gZGVmYXVsdCBjYXNlLCBzbyB0 aGF0IGNvbXBpbGVyIHdpbGwgd2FybiAqLwotCX0KLQotCXJldHVybiBldmVudF9uYW1lOwot fQotCi0vKiAtLS0tLS0tLS0tCi0gKiBwZ3N0YXRfZ2V0X3dhaXRfdGltZW91dCgpIC0KLSAq Ci0gKiBDb252ZXJ0IFdhaXRFdmVudFRpbWVvdXQgdG8gc3RyaW5nLgotICogLS0tLS0tLS0t LQotICovCi1zdGF0aWMgY29uc3QgY2hhciAqCi1wZ3N0YXRfZ2V0X3dhaXRfdGltZW91dChX YWl0RXZlbnRUaW1lb3V0IHcpCi17Ci0JY29uc3QgY2hhciAqZXZlbnRfbmFtZSA9ICJ1bmtu b3duIHdhaXQgZXZlbnQiOwotCi0Jc3dpdGNoICh3KQotCXsKLQkJY2FzZSBXQUlUX0VWRU5U X0JBU0VfQkFDS1VQX1RIUk9UVExFOgotCQkJZXZlbnRfbmFtZSA9ICJCYXNlQmFja3VwVGhy b3R0bGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9DSEVDS1BPSU5UX1dSSVRF X0RFTEFZOgotCQkJZXZlbnRfbmFtZSA9ICJDaGVja3BvaW50V3JpdGVEZWxheSI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1BHX1NMRUVQOgotCQkJZXZlbnRfbmFtZSA9ICJQ Z1NsZWVwIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfUkVDT1ZFUllfQVBQTFlf REVMQVk6Ci0JCQlldmVudF9uYW1lID0gIlJlY292ZXJ5QXBwbHlEZWxheSI7Ci0JCQlicmVh azsKLQkJY2FzZSBXQUlUX0VWRU5UX1JFQ09WRVJZX1JFVFJJRVZFX1JFVFJZX0lOVEVSVkFM OgotCQkJZXZlbnRfbmFtZSA9ICJSZWNvdmVyeVJldHJpZXZlUmV0cnlJbnRlcnZhbCI7Ci0J CQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1JFR0lTVEVSX1NZTkNfUkVRVUVTVDoKLQkJ CWV2ZW50X25hbWUgPSAiUmVnaXN0ZXJTeW5jUmVxdWVzdCI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX1NQSU5fREVMQVk6Ci0JCQlldmVudF9uYW1lID0gIlNwaW5EZWxheSI7 Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1ZBQ1VVTV9ERUxBWToKLQkJCWV2ZW50 X25hbWUgPSAiVmFjdXVtRGVsYXkiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9W QUNVVU1fVFJVTkNBVEU6Ci0JCQlldmVudF9uYW1lID0gIlZhY3V1bVRydW5jYXRlIjsKLQkJ CWJyZWFrOwotCQkJLyogbm8gZGVmYXVsdCBjYXNlLCBzbyB0aGF0IGNvbXBpbGVyIHdpbGwg d2FybiAqLwotCX0KLQotCXJldHVybiBldmVudF9uYW1lOwotfQotCi0vKiAtLS0tLS0tLS0t Ci0gKiBwZ3N0YXRfZ2V0X3dhaXRfaW8oKSAtCi0gKgotICogQ29udmVydCBXYWl0RXZlbnRJ TyB0byBzdHJpbmcuCi0gKiAtLS0tLS0tLS0tCi0gKi8KLXN0YXRpYyBjb25zdCBjaGFyICoK LXBnc3RhdF9nZXRfd2FpdF9pbyhXYWl0RXZlbnRJTyB3KQotewotCWNvbnN0IGNoYXIgKmV2 ZW50X25hbWUgPSAidW5rbm93biB3YWl0IGV2ZW50IjsKLQotCXN3aXRjaCAodykKLQl7Ci0J CWNhc2UgV0FJVF9FVkVOVF9CQVNFQkFDS1VQX1JFQUQ6Ci0JCQlldmVudF9uYW1lID0gIkJh c2VCYWNrdXBSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQkFTRUJBQ0tV UF9TWU5DOgotCQkJZXZlbnRfbmFtZSA9ICJCYXNlQmFja3VwU3luYyI7Ci0JCQlicmVhazsK LQkJY2FzZSBXQUlUX0VWRU5UX0JBU0VCQUNLVVBfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0g IkJhc2VCYWNrdXBXcml0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0JVRkZJ TEVfUkVBRDoKLQkJCWV2ZW50X25hbWUgPSAiQnVmRmlsZVJlYWQiOwotCQkJYnJlYWs7Ci0J CWNhc2UgV0FJVF9FVkVOVF9CVUZGSUxFX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJCdWZG aWxlV3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9CVUZGSUxFX1RSVU5D QVRFOgotCQkJZXZlbnRfbmFtZSA9ICJCdWZGaWxlVHJ1bmNhdGUiOwotCQkJYnJlYWs7Ci0J CWNhc2UgV0FJVF9FVkVOVF9DT05UUk9MX0ZJTEVfUkVBRDoKLQkJCWV2ZW50X25hbWUgPSAi Q29udHJvbEZpbGVSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQ09OVFJP TF9GSUxFX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIkNvbnRyb2xGaWxlU3luYyI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0NPTlRST0xfRklMRV9TWU5DX1VQREFURToKLQkJ CWV2ZW50X25hbWUgPSAiQ29udHJvbEZpbGVTeW5jVXBkYXRlIjsKLQkJCWJyZWFrOwotCQlj YXNlIFdBSVRfRVZFTlRfQ09OVFJPTF9GSUxFX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJD b250cm9sRmlsZVdyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfQ09OVFJP TF9GSUxFX1dSSVRFX1VQREFURToKLQkJCWV2ZW50X25hbWUgPSAiQ29udHJvbEZpbGVXcml0 ZVVwZGF0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0NPUFlfRklMRV9SRUFE OgotCQkJZXZlbnRfbmFtZSA9ICJDb3B5RmlsZVJlYWQiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9DT1BZX0ZJTEVfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIkNvcHlGaWxl V3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9EQVRBX0ZJTEVfRVhURU5E OgotCQkJZXZlbnRfbmFtZSA9ICJEYXRhRmlsZUV4dGVuZCI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX0RBVEFfRklMRV9GTFVTSDoKLQkJCWV2ZW50X25hbWUgPSAiRGF0YUZp bGVGbHVzaCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0RBVEFfRklMRV9JTU1F RElBVEVfU1lOQzoKLQkJCWV2ZW50X25hbWUgPSAiRGF0YUZpbGVJbW1lZGlhdGVTeW5jIjsK LQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfREFUQV9GSUxFX1BSRUZFVENIOgotCQkJ ZXZlbnRfbmFtZSA9ICJEYXRhRmlsZVByZWZldGNoIjsKLQkJCWJyZWFrOwotCQljYXNlIFdB SVRfRVZFTlRfREFUQV9GSUxFX1JFQUQ6Ci0JCQlldmVudF9uYW1lID0gIkRhdGFGaWxlUmVh ZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0RBVEFfRklMRV9TWU5DOgotCQkJ ZXZlbnRfbmFtZSA9ICJEYXRhRmlsZVN5bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9F VkVOVF9EQVRBX0ZJTEVfVFJVTkNBVEU6Ci0JCQlldmVudF9uYW1lID0gIkRhdGFGaWxlVHJ1 bmNhdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9EQVRBX0ZJTEVfV1JJVEU6 Ci0JCQlldmVudF9uYW1lID0gIkRhdGFGaWxlV3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9EU01fQUxMT0NBVEU6Ci0JCQlldmVudF9uYW1lID0gIkRTTUFsbG9jYXRl IjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfRFNNX0ZJTExfWkVST19XUklURToK LQkJCWV2ZW50X25hbWUgPSAiRFNNRmlsbFplcm9Xcml0ZSI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX0xPQ0tfRklMRV9BRERUT0RBVEFESVJfUkVBRDoKLQkJCWV2ZW50X25h bWUgPSAiTG9ja0ZpbGVBZGRUb0RhdGFEaXJSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdB SVRfRVZFTlRfTE9DS19GSUxFX0FERFRPREFUQURJUl9TWU5DOgotCQkJZXZlbnRfbmFtZSA9 ICJMb2NrRmlsZUFkZFRvRGF0YURpclN5bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9F VkVOVF9MT0NLX0ZJTEVfQUREVE9EQVRBRElSX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJM b2NrRmlsZUFkZFRvRGF0YURpcldyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfTE9DS19GSUxFX0NSRUFURV9SRUFEOgotCQkJZXZlbnRfbmFtZSA9ICJMb2NrRmlsZUNy ZWF0ZVJlYWQiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MT0NLX0ZJTEVfQ1JF QVRFX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIkxvY2tGaWxlQ3JlYXRlU3luYyI7Ci0JCQli cmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX0xPQ0tfRklMRV9DUkVBVEVfV1JJVEU6Ci0JCQll dmVudF9uYW1lID0gIkxvY2tGaWxlQ3JlYXRlV3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9MT0NLX0ZJTEVfUkVDSEVDS0RBVEFESVJfUkVBRDoKLQkJCWV2ZW50X25h bWUgPSAiTG9ja0ZpbGVSZUNoZWNrRGF0YURpclJlYWQiOwotCQkJYnJlYWs7Ci0JCWNhc2Ug V0FJVF9FVkVOVF9MT0dJQ0FMX1JFV1JJVEVfQ0hFQ0tQT0lOVF9TWU5DOgotCQkJZXZlbnRf bmFtZSA9ICJMb2dpY2FsUmV3cml0ZUNoZWNrcG9pbnRTeW5jIjsKLQkJCWJyZWFrOwotCQlj YXNlIFdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX01BUFBJTkdfU1lOQzoKLQkJCWV2ZW50 X25hbWUgPSAiTG9naWNhbFJld3JpdGVNYXBwaW5nU3luYyI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX0xPR0lDQUxfUkVXUklURV9NQVBQSU5HX1dSSVRFOgotCQkJZXZlbnRf bmFtZSA9ICJMb2dpY2FsUmV3cml0ZU1hcHBpbmdXcml0ZSI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX0xPR0lDQUxfUkVXUklURV9TWU5DOgotCQkJZXZlbnRfbmFtZSA9ICJM b2dpY2FsUmV3cml0ZVN5bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MT0dJ Q0FMX1JFV1JJVEVfVFJVTkNBVEU6Ci0JCQlldmVudF9uYW1lID0gIkxvZ2ljYWxSZXdyaXRl VHJ1bmNhdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9MT0dJQ0FMX1JFV1JJ VEVfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIkxvZ2ljYWxSZXdyaXRlV3JpdGUiOwotCQkJ YnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9SRUxBVElPTl9NQVBfUkVBRDoKLQkJCWV2ZW50 X25hbWUgPSAiUmVsYXRpb25NYXBSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfUkVMQVRJT05fTUFQX1JFUExBQ0U6Ci0JCQlldmVudF9uYW1lID0gIlJlbGF0aW9uTWFw UmVwbGFjZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1JFTEFUSU9OX01BUF9X UklURToKLQkJCWV2ZW50X25hbWUgPSAiUmVsYXRpb25NYXBXcml0ZSI7Ci0JCQlicmVhazsK LQkJY2FzZSBXQUlUX0VWRU5UX1JFT1JERVJfQlVGRkVSX1JFQUQ6Ci0JCQlldmVudF9uYW1l ID0gIlJlb3JkZXJCdWZmZXJSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRf UkVPUkRFUl9CVUZGRVJfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIlJlb3JkZXJCdWZmZXJX cml0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1JFT1JERVJfTE9HSUNBTF9N QVBQSU5HX1JFQUQ6Ci0JCQlldmVudF9uYW1lID0gIlJlb3JkZXJMb2dpY2FsTWFwcGluZ1Jl YWQiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9SRVBMSUNBVElPTl9TTE9UX1JF QUQ6Ci0JCQlldmVudF9uYW1lID0gIlJlcGxpY2F0aW9uU2xvdFJlYWQiOwotCQkJYnJlYWs7 Ci0JCWNhc2UgV0FJVF9FVkVOVF9SRVBMSUNBVElPTl9TTE9UX1JFU1RPUkVfU1lOQzoKLQkJ CWV2ZW50X25hbWUgPSAiUmVwbGljYXRpb25TbG90UmVzdG9yZVN5bmMiOwotCQkJYnJlYWs7 Ci0JCWNhc2UgV0FJVF9FVkVOVF9SRVBMSUNBVElPTl9TTE9UX1NZTkM6Ci0JCQlldmVudF9u YW1lID0gIlJlcGxpY2F0aW9uU2xvdFN5bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9F VkVOVF9SRVBMSUNBVElPTl9TTE9UX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJSZXBsaWNh dGlvblNsb3RXcml0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1NMUlVfRkxV U0hfU1lOQzoKLQkJCWV2ZW50X25hbWUgPSAiU0xSVUZsdXNoU3luYyI7Ci0JCQlicmVhazsK LQkJY2FzZSBXQUlUX0VWRU5UX1NMUlVfUkVBRDoKLQkJCWV2ZW50X25hbWUgPSAiU0xSVVJl YWQiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9TTFJVX1NZTkM6Ci0JCQlldmVu dF9uYW1lID0gIlNMUlVTeW5jIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfU0xS VV9XUklURToKLQkJCWV2ZW50X25hbWUgPSAiU0xSVVdyaXRlIjsKLQkJCWJyZWFrOwotCQlj YXNlIFdBSVRfRVZFTlRfU05BUEJVSUxEX1JFQUQ6Ci0JCQlldmVudF9uYW1lID0gIlNuYXBi dWlsZFJlYWQiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9TTkFQQlVJTERfU1lO QzoKLQkJCWV2ZW50X25hbWUgPSAiU25hcGJ1aWxkU3luYyI7Ci0JCQlicmVhazsKLQkJY2Fz ZSBXQUlUX0VWRU5UX1NOQVBCVUlMRF9XUklURToKLQkJCWV2ZW50X25hbWUgPSAiU25hcGJ1 aWxkV3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9USU1FTElORV9ISVNU T1JZX0ZJTEVfU1lOQzoKLQkJCWV2ZW50X25hbWUgPSAiVGltZWxpbmVIaXN0b3J5RmlsZVN5 bmMiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9USU1FTElORV9ISVNUT1JZX0ZJ TEVfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIlRpbWVsaW5lSGlzdG9yeUZpbGVXcml0ZSI7 Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1RJTUVMSU5FX0hJU1RPUllfUkVBRDoK LQkJCWV2ZW50X25hbWUgPSAiVGltZWxpbmVIaXN0b3J5UmVhZCI7Ci0JCQlicmVhazsKLQkJ Y2FzZSBXQUlUX0VWRU5UX1RJTUVMSU5FX0hJU1RPUllfU1lOQzoKLQkJCWV2ZW50X25hbWUg PSAiVGltZWxpbmVIaXN0b3J5U3luYyI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5U X1RJTUVMSU5FX0hJU1RPUllfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIlRpbWVsaW5lSGlz dG9yeVdyaXRlIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfVFdPUEhBU0VfRklM RV9SRUFEOgotCQkJZXZlbnRfbmFtZSA9ICJUd29waGFzZUZpbGVSZWFkIjsKLQkJCWJyZWFr OwotCQljYXNlIFdBSVRfRVZFTlRfVFdPUEhBU0VfRklMRV9TWU5DOgotCQkJZXZlbnRfbmFt ZSA9ICJUd29waGFzZUZpbGVTeW5jIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRf VFdPUEhBU0VfRklMRV9XUklURToKLQkJCWV2ZW50X25hbWUgPSAiVHdvcGhhc2VGaWxlV3Jp dGUiOwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9WRVJTSU9OX0ZJTEVfV1JJVEU6 Ci0JCQlldmVudF9uYW1lID0gIlZlcnNpb25GaWxlV3JpdGUiOwotCQkJYnJlYWs7Ci0JCWNh c2UgV0FJVF9FVkVOVF9XQUxTRU5ERVJfVElNRUxJTkVfSElTVE9SWV9SRUFEOgotCQkJZXZl bnRfbmFtZSA9ICJXQUxTZW5kZXJUaW1lbGluZUhpc3RvcnlSZWFkIjsKLQkJCWJyZWFrOwot CQljYXNlIFdBSVRfRVZFTlRfV0FMX0JPT1RTVFJBUF9TWU5DOgotCQkJZXZlbnRfbmFtZSA9 ICJXQUxCb290c3RyYXBTeW5jIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfV0FM X0JPT1RTVFJBUF9XUklURToKLQkJCWV2ZW50X25hbWUgPSAiV0FMQm9vdHN0cmFwV3JpdGUi OwotCQkJYnJlYWs7Ci0JCWNhc2UgV0FJVF9FVkVOVF9XQUxfQ09QWV9SRUFEOgotCQkJZXZl bnRfbmFtZSA9ICJXQUxDb3B5UmVhZCI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5U X1dBTF9DT1BZX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIldBTENvcHlTeW5jIjsKLQkJCWJy ZWFrOwotCQljYXNlIFdBSVRfRVZFTlRfV0FMX0NPUFlfV1JJVEU6Ci0JCQlldmVudF9uYW1l ID0gIldBTENvcHlXcml0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9J TklUX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIldBTEluaXRTeW5jIjsKLQkJCWJyZWFrOwot CQljYXNlIFdBSVRfRVZFTlRfV0FMX0lOSVRfV1JJVEU6Ci0JCQlldmVudF9uYW1lID0gIldB TEluaXRXcml0ZSI7Ci0JCQlicmVhazsKLQkJY2FzZSBXQUlUX0VWRU5UX1dBTF9SRUFEOgot CQkJZXZlbnRfbmFtZSA9ICJXQUxSZWFkIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfV0FMX1NZTkM6Ci0JCQlldmVudF9uYW1lID0gIldBTFN5bmMiOwotCQkJYnJlYWs7Ci0J CWNhc2UgV0FJVF9FVkVOVF9XQUxfU1lOQ19NRVRIT0RfQVNTSUdOOgotCQkJZXZlbnRfbmFt ZSA9ICJXQUxTeW5jTWV0aG9kQXNzaWduIjsKLQkJCWJyZWFrOwotCQljYXNlIFdBSVRfRVZF TlRfV0FMX1dSSVRFOgotCQkJZXZlbnRfbmFtZSA9ICJXQUxXcml0ZSI7Ci0JCQlicmVhazsK LQotCQkJLyogbm8gZGVmYXVsdCBjYXNlLCBzbyB0aGF0IGNvbXBpbGVyIHdpbGwgd2FybiAq LwotCX0KLQotCXJldHVybiBldmVudF9uYW1lOwotfQorI2luY2x1ZGUgInBnc3RhdF93YWl0 X2V2ZW50LmMiCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0 ZXZlbnRuYW1lcy50eHQgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0ZXZlbnRu YW1lcy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMTk5NDgy MzY2NgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dh aXRldmVudG5hbWVzLnR4dApAQCAtMCwwICsxLDIwMiBAQAorIworIyB3YWl0ZXZlbnRuYW1l cy50eHQKKyMgICAgICBQb3N0Z3JlU1FMIHdhaXQgZXZlbnRzCisjCisjIENvcHlyaWdodCAo YykgMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyMKKyMgVGhp cyBsaXN0IHNlcnZlcyBhcyB0aGUgYmFzaXMgZm9yIGdlbmVyYXRpbmcgc291cmNlIGZpbGVz IHJlbGF0ZWQgdG8gd2FpdAorIyBldmVudHMuCisjCisjIFRoZSBmaWxlcyBnZW5lcmF0ZWQg ZnJvbSB0aGlzIG9uZSBhcmU6CisjCisjICAgc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv d2FpdF9ldmVudF90eXBlcy5oCisjICAgICAgdHlwZWRlZiBlbnVtIGRlZmluaXRpb25zIGZv ciB3YWl0IGV2ZW50cworIworIyAgIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3Rh dF93YWl0X2V2ZW50LmMKKyMgICAgICBjIGZ1bmN0aW9ucyB0byBnZXQgdGhlIHdhaXQgZXZl bnQgbmFtZSBiYXNlZCBvbiB0aGUgZW51bQorIworIyAgIHNyYy9iYWNrZW5kL3V0aWxzL2Fj dGl2aXR5L3dhaXRldmVudG5hbWVzLnNnbWwKKyMgICAgICBTR01MIHRhYmxlcyBvZiB3YWl0 IGV2ZW50cyBmb3IgaW5jbHVzaW9uIGluIHRoZSBkb2N1bWVudGF0aW9uCisjCisjIFRoZSBm b3JtYXQgb2YgdGhpcyBmaWxlIGlzIG9uZSB3YWl0IGV2ZW50IHBlciBsaW5lLCB3aXRoIHRo ZSB0aHJlZSBmb2xsb3dpbmcKKyMgdGFiLXNlcGFyYXRlZCBmaWVsZHM6CisjCisjICAgICAg IkMgc3ltYm9sIGluIGVudW1zIiAiZm9ybWF0IGluIHRoZSBzeXN0ZW0gdmlld3MiICJkZXNj cmlwdGlvbiBpbiB0aGUgZG9jcyIKKyMKKyMgV2hlbiBhZGRpbmcgYSBuZXcgd2FpdCBldmVu dCwgbWFrZSBzdXJlIGl0IGlzIHBsYWNlZCBpbiB0aGUgYXBwcm9wcmlhdGUKKyMgc2VjdGlv bi4KKyMKKyMgVGhpcyBmaWxlIGlzIHVzZWQgYXMgaW5wdXQgYnkgc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvZ2VuZXJhdGUtd2FpdGV2ZW50bmFtZXMucGwKKyMKKworU2VjdGlvbjog Q2xhc3NOYW1lIC0gV2FpdEV2ZW50QWN0aXZpdHkKKworV0FJVF9FVkVOVF9BUkNISVZFUl9N QUlOCSJBcmNoaXZlck1haW4iCSJXYWl0aW5nIGluIG1haW4gbG9vcCBvZiBhcmNoaXZlciBw cm9jZXNzLiIKK1dBSVRfRVZFTlRfQVVUT1ZBQ1VVTV9NQUlOCSJBdXRvVmFjdXVtTWFpbiIJ IldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIGF1dG92YWN1dW0gbGF1bmNoZXIgcHJvY2Vzcy4i CitXQUlUX0VWRU5UX0JHV1JJVEVSX0hJQkVSTkFURQkiQmdXcml0ZXJIaWJlcm5hdGUiCSJX YWl0aW5nIGluIGJhY2tncm91bmQgd3JpdGVyIHByb2Nlc3MsIGhpYmVybmF0aW5nLiIKK1dB SVRfRVZFTlRfQkdXUklURVJfTUFJTgkiQmdXcml0ZXJNYWluIgkiV2FpdGluZyBpbiBtYWlu IGxvb3Agb2YgYmFja2dyb3VuZCB3cml0ZXIgcHJvY2Vzcy4iCitXQUlUX0VWRU5UX0NIRUNL UE9JTlRFUl9NQUlOCSJDaGVja3BvaW50ZXJNYWluIgkiV2FpdGluZyBpbiBtYWluIGxvb3Ag b2YgY2hlY2twb2ludGVyIHByb2Nlc3MuIgorV0FJVF9FVkVOVF9MT0dJQ0FMX0FQUExZX01B SU4JIkxvZ2ljYWxBcHBseU1haW4iCSJXYWl0aW5nIGluIG1haW4gbG9vcCBvZiBsb2dpY2Fs IHJlcGxpY2F0aW9uIGFwcGx5IHByb2Nlc3MuIgorV0FJVF9FVkVOVF9MT0dJQ0FMX0xBVU5D SEVSX01BSU4JIkxvZ2ljYWxMYXVuY2hlck1haW4iCSJXYWl0aW5nIGluIG1haW4gbG9vcCBv ZiBsb2dpY2FsIHJlcGxpY2F0aW9uIGxhdW5jaGVyIHByb2Nlc3MuIgorV0FJVF9FVkVOVF9M T0dJQ0FMX1BBUkFMTEVMX0FQUExZX01BSU4JIkxvZ2ljYWxQYXJhbGxlbEFwcGx5TWFpbiIJ IldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIGxvZ2ljYWwgcmVwbGljYXRpb24gcGFyYWxsZWwg YXBwbHkgcHJvY2Vzcy4iCitXQUlUX0VWRU5UX1JFQ09WRVJZX1dBTF9TVFJFQU0JIlJlY292 ZXJ5V2FsU3RyZWFtIgkiV2FpdGluZyBpbiBtYWluIGxvb3Agb2Ygc3RhcnR1cCBwcm9jZXNz IGZvciBXQUwgdG8gYXJyaXZlLCBkdXJpbmcgc3RyZWFtaW5nIHJlY292ZXJ5LiIKK1dBSVRf RVZFTlRfU1lTTE9HR0VSX01BSU4JIlN5c0xvZ2dlck1haW4iCSJXYWl0aW5nIGluIG1haW4g bG9vcCBvZiBzeXNsb2dnZXIgcHJvY2Vzcy4iCitXQUlUX0VWRU5UX1dBTF9SRUNFSVZFUl9N QUlOCSJXYWxSZWNlaXZlck1haW4iCSJXYWl0aW5nIGluIG1haW4gbG9vcCBvZiBXQUwgcmVj ZWl2ZXIgcHJvY2Vzcy4iCitXQUlUX0VWRU5UX1dBTF9TRU5ERVJfTUFJTgkiV2FsU2VuZGVy TWFpbiIJIldhaXRpbmcgaW4gbWFpbiBsb29wIG9mIFdBTCBzZW5kZXIgcHJvY2Vzcy4iCitX QUlUX0VWRU5UX1dBTF9XUklURVJfTUFJTgkiV2FsV3JpdGVyTWFpbiIJIldhaXRpbmcgaW4g bWFpbiBsb29wIG9mIFdBTCB3cml0ZXIgcHJvY2Vzcy4iCisKK1NlY3Rpb246IENsYXNzTmFt ZSAtIFdhaXRFdmVudENsaWVudAorCitXQUlUX0VWRU5UX0NMSUVOVF9SRUFECSJDbGllbnRS ZWFkIgkiV2FpdGluZyB0byByZWFkIGRhdGEgZnJvbSB0aGUgY2xpZW50LiIKK1dBSVRfRVZF TlRfQ0xJRU5UX1dSSVRFCSJDbGllbnRXcml0ZSIJIldhaXRpbmcgdG8gd3JpdGUgZGF0YSB0 byB0aGUgY2xpZW50LiIKK1dBSVRfRVZFTlRfR1NTX09QRU5fU0VSVkVSCSJHU1NPcGVuU2Vy dmVyIgkiV2FpdGluZyB0byByZWFkIGRhdGEgZnJvbSB0aGUgY2xpZW50IHdoaWxlIGVzdGFi bGlzaGluZyBhIEdTU0FQSSBzZXNzaW9uLiIKK1dBSVRfRVZFTlRfTElCUFFXQUxSRUNFSVZF Ul9DT05ORUNUCSJMaWJQUVdhbFJlY2VpdmVyQ29ubmVjdCIJIldhaXRpbmcgaW4gV0FMIHJl Y2VpdmVyIHRvIGVzdGFibGlzaCBjb25uZWN0aW9uIHRvIHJlbW90ZSBzZXJ2ZXIuIgorV0FJ VF9FVkVOVF9MSUJQUVdBTFJFQ0VJVkVSX1JFQ0VJVkUJIkxpYlBRV2FsUmVjZWl2ZXJSZWNl aXZlIgkiV2FpdGluZyBpbiBXQUwgcmVjZWl2ZXIgdG8gcmVjZWl2ZSBkYXRhIGZyb20gcmVt b3RlIHNlcnZlci4iCitXQUlUX0VWRU5UX1NTTF9PUEVOX1NFUlZFUgkiU1NMT3BlblNlcnZl ciIJIldhaXRpbmcgZm9yIFNTTCB3aGlsZSBhdHRlbXB0aW5nIGNvbm5lY3Rpb24uIgorV0FJ VF9FVkVOVF9XQUxfU0VOREVSX1dBSVRfV0FMCSJXYWxTZW5kZXJXYWl0Rm9yV0FMIgkiV2Fp dGluZyBmb3IgV0FMIHRvIGJlIGZsdXNoZWQgaW4gV0FMIHNlbmRlciBwcm9jZXNzLiIKK1dB SVRfRVZFTlRfV0FMX1NFTkRFUl9XUklURV9EQVRBCSJXYWxTZW5kZXJXcml0ZURhdGEiCSJX YWl0aW5nIGZvciBhbnkgYWN0aXZpdHkgd2hlbiBwcm9jZXNzaW5nIHJlcGxpZXMgZnJvbSBX QUwgcmVjZWl2ZXIgaW4gV0FMIHNlbmRlciBwcm9jZXNzLiIKKworU2VjdGlvbjogQ2xhc3NO YW1lIC0gV2FpdEV2ZW50SVBDCisKK1dBSVRfRVZFTlRfQVBQRU5EX1JFQURZCSJBcHBlbmRS ZWFkeSIJIldhaXRpbmcgZm9yIHN1YnBsYW4gbm9kZXMgb2YgYW4gPGxpdGVyYWw+QXBwZW5k PC9saXRlcmFsPiBwbGFuIG5vZGUgdG8gYmUgcmVhZHkuIgorV0FJVF9FVkVOVF9BUkNISVZF X0NMRUFOVVBfQ09NTUFORAkiQXJjaGl2ZUNsZWFudXBDb21tYW5kIgkiV2FpdGluZyBmb3Ig PHhyZWYgbGlua2VuZD0iZ3VjLWFyY2hpdmUtY2xlYW51cC1jb21tYW5kIi8+IHRvIGNvbXBs ZXRlLiIKK1dBSVRfRVZFTlRfQVJDSElWRV9DT01NQU5ECSJBcmNoaXZlQ29tbWFuZCIJIldh aXRpbmcgZm9yIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLWNvbW1hbmQiLz4gdG8gY29t cGxldGUuIgorV0FJVF9FVkVOVF9CQUNLRU5EX1RFUk1JTkFUSU9OCSJCYWNrZW5kVGVybWlu YXRpb24iCSJXYWl0aW5nIGZvciB0aGUgdGVybWluYXRpb24gb2YgYW5vdGhlciBiYWNrZW5k LiIKK1dBSVRfRVZFTlRfQkFDS1VQX1dBSVRfV0FMX0FSQ0hJVkUJIkJhY2t1cFdhaXRXYWxB cmNoaXZlIgkiV2FpdGluZyBmb3IgV0FMIGZpbGVzIHJlcXVpcmVkIGZvciBhIGJhY2t1cCB0 byBiZSBzdWNjZXNzZnVsbHkgYXJjaGl2ZWQuIgorV0FJVF9FVkVOVF9CR1dPUktFUl9TSFVU RE9XTgkiQmdXb3JrZXJTaHV0ZG93biIJIldhaXRpbmcgZm9yIGJhY2tncm91bmQgd29ya2Vy IHRvIHNodXQgZG93bi4iCitXQUlUX0VWRU5UX0JHV09SS0VSX1NUQVJUVVAJIkJnV29ya2Vy U3RhcnR1cCIJIldhaXRpbmcgZm9yIGJhY2tncm91bmQgd29ya2VyIHRvIHN0YXJ0IHVwLiIK K1dBSVRfRVZFTlRfQlRSRUVfUEFHRQkiQnRyZWVQYWdlIgkiV2FpdGluZyBmb3IgdGhlIHBh Z2UgbnVtYmVyIG5lZWRlZCB0byBjb250aW51ZSBhIHBhcmFsbGVsIEItdHJlZSBzY2FuIHRv IGJlY29tZSBhdmFpbGFibGUuIgorV0FJVF9FVkVOVF9CVUZGRVJfSU8JIkJ1ZmZlcklPIgki V2FpdGluZyBmb3IgYnVmZmVyIEkvTyB0byBjb21wbGV0ZS4iCitXQUlUX0VWRU5UX0NIRUNL UE9JTlRfRE9ORQkiQ2hlY2twb2ludERvbmUiCSJXYWl0aW5nIGZvciBhIGNoZWNrcG9pbnQg dG8gY29tcGxldGUuIgorV0FJVF9FVkVOVF9DSEVDS1BPSU5UX1NUQVJUCSJDaGVja3BvaW50 U3RhcnQiCSJXYWl0aW5nIGZvciBhIGNoZWNrcG9pbnQgdG8gc3RhcnQuIgorV0FJVF9FVkVO VF9FWEVDVVRFX0dBVEhFUgkiRXhlY3V0ZUdhdGhlciIJIldhaXRpbmcgZm9yIGFjdGl2aXR5 IGZyb20gYSBjaGlsZCBwcm9jZXNzIHdoaWxlIGV4ZWN1dGluZyBhIDxsaXRlcmFsPkdhdGhl cjwvbGl0ZXJhbD4gcGxhbiBub2RlLiIKK1dBSVRfRVZFTlRfSEFTSF9CQVRDSF9BTExPQ0FU RQkiSGFzaEJhdGNoQWxsb2NhdGUiCSJXYWl0aW5nIGZvciBhbiBlbGVjdGVkIFBhcmFsbGVs IEhhc2ggcGFydGljaXBhbnQgdG8gYWxsb2NhdGUgYSBoYXNoIHRhYmxlLiIKK1dBSVRfRVZF TlRfSEFTSF9CQVRDSF9FTEVDVAkiSGFzaEJhdGNoRWxlY3QiCSJXYWl0aW5nIHRvIGVsZWN0 IGEgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxvY2F0ZSBhIGhhc2ggdGFibGUu IgorV0FJVF9FVkVOVF9IQVNIX0JBVENIX0xPQUQJIkhhc2hCYXRjaExvYWQiCSJXYWl0aW5n IGZvciBvdGhlciBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50cyB0byBmaW5pc2ggbG9hZGlu ZyBhIGhhc2ggdGFibGUuIgorV0FJVF9FVkVOVF9IQVNIX0JVSUxEX0FMTE9DQVRFCSJIYXNo QnVpbGRBbGxvY2F0ZSIJIldhaXRpbmcgZm9yIGFuIGVsZWN0ZWQgUGFyYWxsZWwgSGFzaCBw YXJ0aWNpcGFudCB0byBhbGxvY2F0ZSB0aGUgaW5pdGlhbCBoYXNoIHRhYmxlLiIKK1dBSVRf RVZFTlRfSEFTSF9CVUlMRF9FTEVDVAkiSGFzaEJ1aWxkRWxlY3QiCSJXYWl0aW5nIHRvIGVs ZWN0IGEgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxvY2F0ZSB0aGUgaW5pdGlh bCBoYXNoIHRhYmxlLiIKK1dBSVRfRVZFTlRfSEFTSF9CVUlMRF9IQVNIX0lOTkVSCSJIYXNo QnVpbGRIYXNoSW5uZXIiCSJXYWl0aW5nIGZvciBvdGhlciBQYXJhbGxlbCBIYXNoIHBhcnRp Y2lwYW50cyB0byBmaW5pc2ggaGFzaGluZyB0aGUgaW5uZXIgcmVsYXRpb24uIgorV0FJVF9F VkVOVF9IQVNIX0JVSUxEX0hBU0hfT1VURVIJIkhhc2hCdWlsZEhhc2hPdXRlciIJIldhaXRp bmcgZm9yIG90aGVyIFBhcmFsbGVsIEhhc2ggcGFydGljaXBhbnRzIHRvIGZpbmlzaCBwYXJ0 aXRpb25pbmcgdGhlIG91dGVyIHJlbGF0aW9uLiIKK1dBSVRfRVZFTlRfSEFTSF9HUk9XX0JB VENIRVNfREVDSURFCSJIYXNoR3Jvd0JhdGNoZXNEZWNpZGUiCSJXYWl0aW5nIHRvIGVsZWN0 IGEgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBkZWNpZGUgb24gZnV0dXJlIGJhdGNo IGdyb3d0aC4iCitXQUlUX0VWRU5UX0hBU0hfR1JPV19CQVRDSEVTX0VMRUNUCSJIYXNoR3Jv d0JhdGNoZXNFbGVjdCIJIldhaXRpbmcgdG8gZWxlY3QgYSBQYXJhbGxlbCBIYXNoIHBhcnRp Y2lwYW50IHRvIGFsbG9jYXRlIG1vcmUgYmF0Y2hlcy4iCitXQUlUX0VWRU5UX0hBU0hfR1JP V19CQVRDSEVTX0ZJTklTSAkiSGFzaEdyb3dCYXRjaGVzRmluaXNoIgkiV2FpdGluZyBmb3Ig YW4gZWxlY3RlZCBQYXJhbGxlbCBIYXNoIHBhcnRpY2lwYW50IHRvIGRlY2lkZSBvbiBmdXR1 cmUgYmF0Y2ggZ3Jvd3RoLiIKK1dBSVRfRVZFTlRfSEFTSF9HUk9XX0JBVENIRVNfUkVBTExP Q0FURQkiSGFzaEdyb3dCYXRjaGVzUmVhbGxvY2F0ZSIJIldhaXRpbmcgZm9yIGFuIGVsZWN0 ZWQgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxvY2F0ZSBtb3JlIGJhdGNoZXMu IgorV0FJVF9FVkVOVF9IQVNIX0dST1dfQkFUQ0hFU19SRVBBUlRJVElPTgkiSGFzaEdyb3dC YXRjaGVzUmVwYXJ0aXRpb24iCSJXYWl0aW5nIGZvciBvdGhlciBQYXJhbGxlbCBIYXNoIHBh cnRpY2lwYW50cyB0byBmaW5pc2ggcmVwYXJ0aXRpb25pbmcuIgorV0FJVF9FVkVOVF9IQVNI X0dST1dfQlVDS0VUU19FTEVDVAkiSGFzaEdyb3dCdWNrZXRzRWxlY3QiCSJXYWl0aW5nIHRv IGVsZWN0IGEgUGFyYWxsZWwgSGFzaCBwYXJ0aWNpcGFudCB0byBhbGxvY2F0ZSBtb3JlIGJ1 Y2tldHMuIgorV0FJVF9FVkVOVF9IQVNIX0dST1dfQlVDS0VUU19SRUFMTE9DQVRFCSJIYXNo R3Jvd0J1Y2tldHNSZWFsbG9jYXRlIgkiV2FpdGluZyBmb3IgYW4gZWxlY3RlZCBQYXJhbGxl bCBIYXNoIHBhcnRpY2lwYW50IHRvIGZpbmlzaCBhbGxvY2F0aW5nIG1vcmUgYnVja2V0cy4i CitXQUlUX0VWRU5UX0hBU0hfR1JPV19CVUNLRVRTX1JFSU5TRVJUCSJIYXNoR3Jvd0J1Y2tl dHNSZWluc2VydCIJIldhaXRpbmcgZm9yIG90aGVyIFBhcmFsbGVsIEhhc2ggcGFydGljaXBh bnRzIHRvIGZpbmlzaCBpbnNlcnRpbmcgdHVwbGVzIGludG8gbmV3IGJ1Y2tldHMuIgorV0FJ VF9FVkVOVF9MT0dJQ0FMX0FQUExZX1NFTkRfREFUQQkiTG9naWNhbEFwcGx5U2VuZERhdGEi CSJXYWl0aW5nIGZvciBhIGxvZ2ljYWwgcmVwbGljYXRpb24gbGVhZGVyIGFwcGx5IHByb2Nl c3MgdG8gc2VuZCBkYXRhIHRvIGEgcGFyYWxsZWwgYXBwbHkgcHJvY2Vzcy4iCitXQUlUX0VW RU5UX0xPR0lDQUxfUEFSQUxMRUxfQVBQTFlfU1RBVEVfQ0hBTkdFCSJMb2dpY2FsUGFyYWxs ZWxBcHBseVN0YXRlQ2hhbmdlIgkiV2FpdGluZyBmb3IgYSBsb2dpY2FsIHJlcGxpY2F0aW9u IHBhcmFsbGVsIGFwcGx5IHByb2Nlc3MgdG8gY2hhbmdlIHN0YXRlLiIKK1dBSVRfRVZFTlRf TE9HSUNBTF9TWU5DX0RBVEEJIkxvZ2ljYWxTeW5jRGF0YSIJIldhaXRpbmcgZm9yIGEgbG9n aWNhbCByZXBsaWNhdGlvbiByZW1vdGUgc2VydmVyIHRvIHNlbmQgZGF0YSBmb3IgaW5pdGlh bCB0YWJsZSBzeW5jaHJvbml6YXRpb24uIgorV0FJVF9FVkVOVF9MT0dJQ0FMX1NZTkNfU1RB VEVfQ0hBTkdFCSJMb2dpY2FsU3luY1N0YXRlQ2hhbmdlIgkiV2FpdGluZyBmb3IgYSBsb2dp Y2FsIHJlcGxpY2F0aW9uIHJlbW90ZSBzZXJ2ZXIgdG8gY2hhbmdlIHN0YXRlLiIKK1dBSVRf RVZFTlRfTVFfSU5URVJOQUwJIk1lc3NhZ2VRdWV1ZUludGVybmFsIgkiV2FpdGluZyBmb3Ig YW5vdGhlciBwcm9jZXNzIHRvIGJlIGF0dGFjaGVkIHRvIGEgc2hhcmVkIG1lc3NhZ2UgcXVl dWUuIgorV0FJVF9FVkVOVF9NUV9QVVRfTUVTU0FHRQkiTWVzc2FnZVF1ZXVlUHV0TWVzc2Fn ZSIJIldhaXRpbmcgdG8gd3JpdGUgYSBwcm90b2NvbCBtZXNzYWdlIHRvIGEgc2hhcmVkIG1l c3NhZ2UgcXVldWUuIgorV0FJVF9FVkVOVF9NUV9SRUNFSVZFCSJNZXNzYWdlUXVldWVSZWNl aXZlIgkiV2FpdGluZyB0byByZWNlaXZlIGJ5dGVzIGZyb20gYSBzaGFyZWQgbWVzc2FnZSBx dWV1ZS4iCitXQUlUX0VWRU5UX01RX1NFTkQJIk1lc3NhZ2VRdWV1ZVNlbmQiCSJXYWl0aW5n IHRvIHNlbmQgYnl0ZXMgdG8gYSBzaGFyZWQgbWVzc2FnZSBxdWV1ZS4iCitXQUlUX0VWRU5U X1BBUkFMTEVMX0JJVE1BUF9TQ0FOCSJQYXJhbGxlbEJpdG1hcFNjYW4iCSJXYWl0aW5nIGZv ciBwYXJhbGxlbCBiaXRtYXAgc2NhbiB0byBiZWNvbWUgaW5pdGlhbGl6ZWQuIgorV0FJVF9F VkVOVF9QQVJBTExFTF9DUkVBVEVfSU5ERVhfU0NBTgkiUGFyYWxsZWxDcmVhdGVJbmRleFNj YW4iCSJXYWl0aW5nIGZvciBwYXJhbGxlbCA8Y29tbWFuZD5DUkVBVEUgSU5ERVg8L2NvbW1h bmQ+IHdvcmtlcnMgdG8gZmluaXNoIGhlYXAgc2Nhbi4iCitXQUlUX0VWRU5UX1BBUkFMTEVM X0ZJTklTSAkiUGFyYWxsZWxGaW5pc2giCSJXYWl0aW5nIGZvciBwYXJhbGxlbCB3b3JrZXJz IHRvIGZpbmlzaCBjb21wdXRpbmcuIgorV0FJVF9FVkVOVF9QUk9DQVJSQVlfR1JPVVBfVVBE QVRFCSJQcm9jQXJyYXlHcm91cFVwZGF0ZSIJIldhaXRpbmcgZm9yIHRoZSBncm91cCBsZWFk ZXIgdG8gY2xlYXIgdGhlIHRyYW5zYWN0aW9uIElEIGF0IGVuZCBvZiBhIHBhcmFsbGVsIG9w ZXJhdGlvbi4iCitXQUlUX0VWRU5UX1BST0NfU0lHTkFMX0JBUlJJRVIJIlByb2NTaWduYWxC YXJyaWVyIgkiV2FpdGluZyBmb3IgYSBiYXJyaWVyIGV2ZW50IHRvIGJlIHByb2Nlc3NlZCBi eSBhbGwgYmFja2VuZHMuIgorV0FJVF9FVkVOVF9QUk9NT1RFCSJQcm9tb3RlIgkiV2FpdGlu ZyBmb3Igc3RhbmRieSBwcm9tb3Rpb24uIgorV0FJVF9FVkVOVF9SRUNPVkVSWV9DT05GTElD VF9TTkFQU0hPVAkiUmVjb3ZlcnlDb25mbGljdFNuYXBzaG90IgkiV2FpdGluZyBmb3IgcmVj b3ZlcnkgY29uZmxpY3QgcmVzb2x1dGlvbiBmb3IgYSB2YWN1dW0gY2xlYW51cC4iCitXQUlU X0VWRU5UX1JFQ09WRVJZX0NPTkZMSUNUX1RBQkxFU1BBQ0UJIlJlY292ZXJ5Q29uZmxpY3RU YWJsZXNwYWNlIgkiV2FpdGluZyBmb3IgcmVjb3ZlcnkgY29uZmxpY3QgcmVzb2x1dGlvbiBm b3IgZHJvcHBpbmcgYSB0YWJsZXNwYWNlLiIKK1dBSVRfRVZFTlRfUkVDT1ZFUllfRU5EX0NP TU1BTkQJIlJlY292ZXJ5RW5kQ29tbWFuZCIJIldhaXRpbmcgZm9yIDx4cmVmIGxpbmtlbmQ9 Imd1Yy1yZWNvdmVyeS1lbmQtY29tbWFuZCIvPiB0byBjb21wbGV0ZS4iCitXQUlUX0VWRU5U X1JFQ09WRVJZX1BBVVNFCSJSZWNvdmVyeVBhdXNlIgkiV2FpdGluZyBmb3IgcmVjb3Zlcnkg dG8gYmUgcmVzdW1lZC4iCitXQUlUX0VWRU5UX1JFUExJQ0FUSU9OX09SSUdJTl9EUk9QCSJS ZXBsaWNhdGlvbk9yaWdpbkRyb3AiCSJXYWl0aW5nIGZvciBhIHJlcGxpY2F0aW9uIG9yaWdp biB0byBiZWNvbWUgaW5hY3RpdmUgc28gaXQgY2FuIGJlIGRyb3BwZWQuIgorV0FJVF9FVkVO VF9SRVBMSUNBVElPTl9TTE9UX0RST1AJIlJlcGxpY2F0aW9uU2xvdERyb3AiCSJXYWl0aW5n IGZvciBhIHJlcGxpY2F0aW9uIHNsb3QgdG8gYmVjb21lIGluYWN0aXZlIHNvIGl0IGNhbiBi ZSBkcm9wcGVkLiIKK1dBSVRfRVZFTlRfUkVTVE9SRV9DT01NQU5ECSJSZXN0b3JlQ29tbWFu ZCIJIldhaXRpbmcgZm9yIDx4cmVmIGxpbmtlbmQ9Imd1Yy1yZXN0b3JlLWNvbW1hbmQiLz4g dG8gY29tcGxldGUuIgorV0FJVF9FVkVOVF9TQUZFX1NOQVBTSE9UCSJTYWZlU25hcHNob3Qi CSJXYWl0aW5nIHRvIG9idGFpbiBhIHZhbGlkIHNuYXBzaG90IGZvciBhIDxsaXRlcmFsPlJF QUQgT05MWSBERUZFUlJBQkxFPC9saXRlcmFsPiB0cmFuc2FjdGlvbi4iCitXQUlUX0VWRU5U X1NZTkNfUkVQCSJTeW5jUmVwIgkiV2FpdGluZyBmb3IgY29uZmlybWF0aW9uIGZyb20gYSBy ZW1vdGUgc2VydmVyIGR1cmluZyBzeW5jaHJvbm91cyByZXBsaWNhdGlvbi4gV2FpdGluZyB0 byByZWFkIG9yIHVwZGF0ZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RhdGUgb2Ygc3luY2hy b25vdXMgcmVwbGljYXRpb24uIgorV0FJVF9FVkVOVF9XQUxfUkVDRUlWRVJfRVhJVAkiV2Fs UmVjZWl2ZXJFeGl0IgkiV2FpdGluZyBmb3IgdGhlIFdBTCByZWNlaXZlciB0byBleGl0LiIK K1dBSVRfRVZFTlRfV0FMX1JFQ0VJVkVSX1dBSVRfU1RBUlQJIldhbFJlY2VpdmVyV2FpdFN0 YXJ0IgkiV2FpdGluZyBmb3Igc3RhcnR1cCBwcm9jZXNzIHRvIHNlbmQgaW5pdGlhbCBkYXRh IGZvciBzdHJlYW1pbmcgcmVwbGljYXRpb24uIgorV0FJVF9FVkVOVF9YQUNUX0dST1VQX1VQ REFURQkiWGFjdEdyb3VwVXBkYXRlIgkiV2FpdGluZyBmb3IgdGhlIGdyb3VwIGxlYWRlciB0 byB1cGRhdGUgdHJhbnNhY3Rpb24gc3RhdHVzIGF0IGVuZCBvZiBhIHBhcmFsbGVsIG9wZXJh dGlvbi4iCisKK1NlY3Rpb246IENsYXNzTmFtZSAtIFdhaXRFdmVudFRpbWVvdXQKKworV0FJ VF9FVkVOVF9CQVNFX0JBQ0tVUF9USFJPVFRMRQkiQmFzZUJhY2t1cFRocm90dGxlIgkiV2Fp dGluZyBkdXJpbmcgYmFzZSBiYWNrdXAgd2hlbiB0aHJvdHRsaW5nIGFjdGl2aXR5LiIKK1dB SVRfRVZFTlRfQ0hFQ0tQT0lOVF9XUklURV9ERUxBWQkiQ2hlY2twb2ludFdyaXRlRGVsYXki CSJXYWl0aW5nIGJldHdlZW4gd3JpdGVzIHdoaWxlIHBlcmZvcm1pbmcgYSBjaGVja3BvaW50 LiIKK1dBSVRfRVZFTlRfUEdfU0xFRVAJIlBnU2xlZXAiCSJXYWl0aW5nIGR1ZSB0byBhIGNh bGwgdG8gPGZ1bmN0aW9uPnBnX3NsZWVwPC9mdW5jdGlvbj4gb3IgYSBzaWJsaW5nIGZ1bmN0 aW9uLiIKK1dBSVRfRVZFTlRfUkVDT1ZFUllfQVBQTFlfREVMQVkJIlJlY292ZXJ5QXBwbHlE ZWxheSIJIldhaXRpbmcgdG8gYXBwbHkgV0FMIGR1cmluZyByZWNvdmVyeSBiZWNhdXNlIG9m IGEgZGVsYXkgc2V0dGluZy4iCitXQUlUX0VWRU5UX1JFQ09WRVJZX1JFVFJJRVZFX1JFVFJZ X0lOVEVSVkFMCSJSZWNvdmVyeVJldHJpZXZlUmV0cnlJbnRlcnZhbCIJIldhaXRpbmcgZHVy aW5nIHJlY292ZXJ5IHdoZW4gV0FMIGRhdGEgaXMgbm90IGF2YWlsYWJsZSBmcm9tIGFueSBz b3VyY2UgKDxmaWxlbmFtZT5wZ193YWw8L2ZpbGVuYW1lPiwgYXJjaGl2ZSBvciBzdHJlYW0p LiIKK1dBSVRfRVZFTlRfUkVHSVNURVJfU1lOQ19SRVFVRVNUCSJSZWdpc3RlclN5bmNSZXF1 ZXN0IgkiV2FpdGluZyB3aGlsZSBzZW5kaW5nIHN5bmNocm9uaXphdGlvbiByZXF1ZXN0cyB0 byB0aGUgY2hlY2twb2ludGVyLCBiZWNhdXNlIHRoZSByZXF1ZXN0IHF1ZXVlIGlzIGZ1bGwu IgorV0FJVF9FVkVOVF9TUElOX0RFTEFZCSJTcGluRGVsYXkiCSJXYWl0aW5nIHdoaWxlIGFj cXVpcmluZyBhIGNvbnRlbmRlZCBzcGlubG9jay4iCitXQUlUX0VWRU5UX1ZBQ1VVTV9ERUxB WQkiVmFjdXVtRGVsYXkiCSJXYWl0aW5nIGluIGEgY29zdC1iYXNlZCB2YWN1dW0gZGVsYXkg cG9pbnQuIgorV0FJVF9FVkVOVF9WQUNVVU1fVFJVTkNBVEUJIlZhY3V1bVRydW5jYXRlIgki V2FpdGluZyB0byBhY3F1aXJlIGFuIGV4Y2x1c2l2ZSBsb2NrIHRvIHRydW5jYXRlIG9mZiBh bnkgZW1wdHkgcGFnZXMgYXQgdGhlIGVuZCBvZiBhIHRhYmxlIHZhY3V1bWVkLiIKKworU2Vj dGlvbjogQ2xhc3NOYW1lIC0gV2FpdEV2ZW50SU8KKworV0FJVF9FVkVOVF9CQVNFQkFDS1VQ X1JFQUQJIkJhc2VCYWNrdXBSZWFkIgkiV2FpdGluZyBmb3IgYmFzZSBiYWNrdXAgdG8gcmVh ZCBmcm9tIGEgZmlsZS4iCitXQUlUX0VWRU5UX0JBU0VCQUNLVVBfU1lOQwkiQmFzZUJhY2t1 cFN5bmMiCSJXYWl0aW5nIGZvciBkYXRhIHdyaXR0ZW4gYnkgYSBiYXNlIGJhY2t1cCB0byBy ZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgorV0FJVF9FVkVOVF9CQVNFQkFDS1VQX1dSSVRFCSJC YXNlQmFja3VwV3JpdGUiCSJXYWl0aW5nIGZvciBiYXNlIGJhY2t1cCB0byB3cml0ZSB0byBh IGZpbGUuIgorV0FJVF9FVkVOVF9CVUZGSUxFX1JFQUQJIkJ1ZkZpbGVSZWFkIgkiV2FpdGlu ZyBmb3IgYSByZWFkIGZyb20gYSBidWZmZXJlZCBmaWxlLiIKK1dBSVRfRVZFTlRfQlVGRklM RV9XUklURQkiQnVmRmlsZVdyaXRlIgkiV2FpdGluZyBmb3IgYSB3cml0ZSB0byBhIGJ1ZmZl cmVkIGZpbGUuIgorV0FJVF9FVkVOVF9CVUZGSUxFX1RSVU5DQVRFCSJCdWZGaWxlVHJ1bmNh dGUiCSJXYWl0aW5nIGZvciBhIGJ1ZmZlcmVkIGZpbGUgdG8gYmUgdHJ1bmNhdGVkLiIKK1dB SVRfRVZFTlRfQ09OVFJPTF9GSUxFX1JFQUQJIkNvbnRyb2xGaWxlUmVhZCIJIldhaXRpbmcg Zm9yIGEgcmVhZCBmcm9tIHRoZSA8ZmlsZW5hbWU+cGdfY29udHJvbDwvZmlsZW5hbWU+IGZp bGUuIgorV0FJVF9FVkVOVF9DT05UUk9MX0ZJTEVfU1lOQwkiQ29udHJvbEZpbGVTeW5jIgki V2FpdGluZyBmb3IgdGhlIDxmaWxlbmFtZT5wZ19jb250cm9sPC9maWxlbmFtZT4gZmlsZSB0 byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIFdhaXRpbmcgZm9yIGFuIHVwZGF0ZSB0byB0aGUg PGZpbGVuYW1lPnBnX2NvbnRyb2w8L2ZpbGVuYW1lPiBmaWxlIHRvIHJlYWNoIGR1cmFibGUg c3RvcmFnZS4iCitXQUlUX0VWRU5UX0NPTlRST0xfRklMRV9TWU5DX1VQREFURQkiQ29udHJv bEZpbGVTeW5jVXBkYXRlIgkiV2FpdGluZyBmb3IgYW4gdXBkYXRlIHRvIHRoZSA8ZmlsZW5h bWU+cGdfY29udHJvbDwvZmlsZW5hbWU+IGZpbGUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdl LiIKK1dBSVRfRVZFTlRfQ09OVFJPTF9GSUxFX1dSSVRFCSJDb250cm9sRmlsZVdyaXRlIgki V2FpdGluZyBmb3IgYSB3cml0ZSB0byB0aGUgPGZpbGVuYW1lPnBnX2NvbnRyb2w8L2ZpbGVu YW1lPiBmaWxlLiBXYWl0aW5nIGZvciBhIHdyaXRlIHRvIHVwZGF0ZSB0aGUgPGZpbGVuYW1l PnBnX2NvbnRyb2w8L2ZpbGVuYW1lPiBmaWxlLiIKK1dBSVRfRVZFTlRfQ09OVFJPTF9GSUxF X1dSSVRFX1VQREFURQkiQ29udHJvbEZpbGVXcml0ZVVwZGF0ZSIJIldhaXRpbmcgZm9yIGEg d3JpdGUgdG8gdXBkYXRlIHRoZSA8ZmlsZW5hbWU+cGdfY29udHJvbDwvZmlsZW5hbWU+IGZp bGUuIgorV0FJVF9FVkVOVF9DT1BZX0ZJTEVfUkVBRAkiQ29weUZpbGVSZWFkIgkiV2FpdGlu ZyBmb3IgYSByZWFkIGR1cmluZyBhIGZpbGUgY29weSBvcGVyYXRpb24uIgorV0FJVF9FVkVO VF9DT1BZX0ZJTEVfV1JJVEUJIkNvcHlGaWxlV3JpdGUiCSJXYWl0aW5nIGZvciBhIHdyaXRl IGR1cmluZyBhIGZpbGUgY29weSBvcGVyYXRpb24uIgorV0FJVF9FVkVOVF9EQVRBX0ZJTEVf RVhURU5ECSJEYXRhRmlsZUV4dGVuZCIJIldhaXRpbmcgZm9yIGEgcmVsYXRpb24gZGF0YSBm aWxlIHRvIGJlIGV4dGVuZGVkLiIKK1dBSVRfRVZFTlRfREFUQV9GSUxFX0ZMVVNICSJEYXRh RmlsZUZsdXNoIgkiV2FpdGluZyBmb3IgYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gcmVhY2gg ZHVyYWJsZSBzdG9yYWdlLiIKK1dBSVRfRVZFTlRfREFUQV9GSUxFX0lNTUVESUFURV9TWU5D CSJEYXRhRmlsZUltbWVkaWF0ZVN5bmMiCSJXYWl0aW5nIGZvciBhbiBpbW1lZGlhdGUgc3lu Y2hyb25pemF0aW9uIG9mIGEgcmVsYXRpb24gZGF0YSBmaWxlIHRvIGR1cmFibGUgc3RvcmFn ZS4iCitXQUlUX0VWRU5UX0RBVEFfRklMRV9QUkVGRVRDSAkiRGF0YUZpbGVQcmVmZXRjaCIJ IldhaXRpbmcgZm9yIGFuIGFzeW5jaHJvbm91cyBwcmVmZXRjaCBmcm9tIGEgcmVsYXRpb24g ZGF0YSBmaWxlLiIKK1dBSVRfRVZFTlRfREFUQV9GSUxFX1JFQUQJIkRhdGFGaWxlUmVhZCIJ IldhaXRpbmcgZm9yIGEgcmVhZCBmcm9tIGEgcmVsYXRpb24gZGF0YSBmaWxlLiIKK1dBSVRf RVZFTlRfREFUQV9GSUxFX1NZTkMJIkRhdGFGaWxlU3luYyIJIldhaXRpbmcgZm9yIGNoYW5n ZXMgdG8gYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlLiIK K1dBSVRfRVZFTlRfREFUQV9GSUxFX1RSVU5DQVRFCSJEYXRhRmlsZVRydW5jYXRlIgkiV2Fp dGluZyBmb3IgYSByZWxhdGlvbiBkYXRhIGZpbGUgdG8gYmUgdHJ1bmNhdGVkLiIKK1dBSVRf RVZFTlRfREFUQV9GSUxFX1dSSVRFCSJEYXRhRmlsZVdyaXRlIgkiV2FpdGluZyBmb3IgYSB3 cml0ZSB0byBhIHJlbGF0aW9uIGRhdGEgZmlsZS4iCitXQUlUX0VWRU5UX0RTTV9BTExPQ0FU RQkiRFNNQWxsb2NhdGUiCSJXYWl0aW5nIGZvciBhIGR5bmFtaWMgc2hhcmVkIG1lbW9yeSBz ZWdtZW50IHRvIGJlIGFsbG9jYXRlZC4iCitXQUlUX0VWRU5UX0RTTV9GSUxMX1pFUk9fV1JJ VEUJIkRTTUZpbGxaZXJvV3JpdGUiCSJXYWl0aW5nIHRvIGZpbGwgYSBkeW5hbWljIHNoYXJl ZCBtZW1vcnkgYmFja2luZyBmaWxlIHdpdGggemVyb2VzLiIKK1dBSVRfRVZFTlRfTE9DS19G SUxFX0FERFRPREFUQURJUl9SRUFECSJMb2NrRmlsZUFkZFRvRGF0YURpclJlYWQiCSJXYWl0 aW5nIGZvciBhIHJlYWQgd2hpbGUgYWRkaW5nIGEgbGluZSB0byB0aGUgZGF0YSBkaXJlY3Rv cnkgbG9jayBmaWxlLiIKK1dBSVRfRVZFTlRfTE9DS19GSUxFX0FERFRPREFUQURJUl9TWU5D CSJMb2NrRmlsZUFkZFRvRGF0YURpclN5bmMiCSJXYWl0aW5nIGZvciBkYXRhIHRvIHJlYWNo IGR1cmFibGUgc3RvcmFnZSB3aGlsZSBhZGRpbmcgYSBsaW5lIHRvIHRoZSBkYXRhIGRpcmVj dG9yeSBsb2NrIGZpbGUuIgorV0FJVF9FVkVOVF9MT0NLX0ZJTEVfQUREVE9EQVRBRElSX1dS SVRFCSJMb2NrRmlsZUFkZFRvRGF0YURpcldyaXRlIgkiV2FpdGluZyBmb3IgYSB3cml0ZSB3 aGlsZSBhZGRpbmcgYSBsaW5lIHRvIHRoZSBkYXRhIGRpcmVjdG9yeSBsb2NrIGZpbGUuIgor V0FJVF9FVkVOVF9MT0NLX0ZJTEVfQ1JFQVRFX1JFQUQJIkxvY2tGaWxlQ3JlYXRlUmVhZCIJ IldhaXRpbmcgdG8gcmVhZCB3aGlsZSBjcmVhdGluZyB0aGUgZGF0YSBkaXJlY3RvcnkgbG9j ayBmaWxlLiIKK1dBSVRfRVZFTlRfTE9DS19GSUxFX0NSRUFURV9TWU5DCSJMb2NrRmlsZUNy ZWF0ZVN5bmMiCSJXYWl0aW5nIGZvciBkYXRhIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZSB3 aGlsZSBjcmVhdGluZyB0aGUgZGF0YSBkaXJlY3RvcnkgbG9jayBmaWxlLiIKK1dBSVRfRVZF TlRfTE9DS19GSUxFX0NSRUFURV9XUklURQkiTG9ja0ZpbGVDcmVhdGVXcml0ZSIJIldhaXRp bmcgZm9yIGEgd3JpdGUgd2hpbGUgY3JlYXRpbmcgdGhlIGRhdGEgZGlyZWN0b3J5IGxvY2sg ZmlsZS4iCitXQUlUX0VWRU5UX0xPQ0tfRklMRV9SRUNIRUNLREFUQURJUl9SRUFECSJMb2Nr RmlsZVJlQ2hlY2tEYXRhRGlyUmVhZCIJIldhaXRpbmcgZm9yIGEgcmVhZCBkdXJpbmcgcmVj aGVjayBvZiB0aGUgZGF0YSBkaXJlY3RvcnkgbG9jayBmaWxlLiIKK1dBSVRfRVZFTlRfTE9H SUNBTF9SRVdSSVRFX0NIRUNLUE9JTlRfU1lOQwkiTG9naWNhbFJld3JpdGVDaGVja3BvaW50 U3luYyIJIldhaXRpbmcgZm9yIGxvZ2ljYWwgcmV3cml0ZSBtYXBwaW5ncyB0byByZWFjaCBk dXJhYmxlIHN0b3JhZ2UgZHVyaW5nIGEgY2hlY2twb2ludC4iCitXQUlUX0VWRU5UX0xPR0lD QUxfUkVXUklURV9NQVBQSU5HX1NZTkMJIkxvZ2ljYWxSZXdyaXRlTWFwcGluZ1N5bmMiCSJX YWl0aW5nIGZvciBtYXBwaW5nIGRhdGEgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlIGR1cmlu ZyBhIGxvZ2ljYWwgcmV3cml0ZS4iCitXQUlUX0VWRU5UX0xPR0lDQUxfUkVXUklURV9NQVBQ SU5HX1dSSVRFCSJMb2dpY2FsUmV3cml0ZU1hcHBpbmdXcml0ZSIJIldhaXRpbmcgZm9yIGEg d3JpdGUgb2YgbWFwcGluZyBkYXRhIGR1cmluZyBhIGxvZ2ljYWwgcmV3cml0ZS4iCitXQUlU X0VWRU5UX0xPR0lDQUxfUkVXUklURV9TWU5DCSJMb2dpY2FsUmV3cml0ZVN5bmMiCSJXYWl0 aW5nIGZvciBsb2dpY2FsIHJld3JpdGUgbWFwcGluZ3MgdG8gcmVhY2ggZHVyYWJsZSBzdG9y YWdlLiIKK1dBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX1RSVU5DQVRFCSJMb2dpY2FsUmV3 cml0ZVRydW5jYXRlIgkiV2FpdGluZyBmb3IgdHJ1bmNhdGUgb2YgbWFwcGluZyBkYXRhIGR1 cmluZyBhIGxvZ2ljYWwgcmV3cml0ZS4iCitXQUlUX0VWRU5UX0xPR0lDQUxfUkVXUklURV9X UklURQkiTG9naWNhbFJld3JpdGVXcml0ZSIJIldhaXRpbmcgZm9yIGEgd3JpdGUgb2YgbG9n aWNhbCByZXdyaXRlIG1hcHBpbmdzLiIKK1dBSVRfRVZFTlRfUkVMQVRJT05fTUFQX1JFQUQJ IlJlbGF0aW9uTWFwUmVhZCIJIldhaXRpbmcgZm9yIGEgcmVhZCBvZiB0aGUgcmVsYXRpb24g bWFwIGZpbGUuIgorV0FJVF9FVkVOVF9SRUxBVElPTl9NQVBfUkVQTEFDRQkiUmVsYXRpb25N YXBSZXBsYWNlIgkiV2FpdGluZyBmb3IgZHVyYWJsZSByZXBsYWNlbWVudCBvZiBhIHJlbGF0 aW9uIG1hcCBmaWxlLiIKK1dBSVRfRVZFTlRfUkVMQVRJT05fTUFQX1dSSVRFCSJSZWxhdGlv bk1hcFdyaXRlIgkiV2FpdGluZyBmb3IgYSB3cml0ZSB0byB0aGUgcmVsYXRpb24gbWFwIGZp bGUuIgorV0FJVF9FVkVOVF9SRU9SREVSX0JVRkZFUl9SRUFECSJSZW9yZGVyQnVmZmVyUmVh ZCIJIldhaXRpbmcgZm9yIGEgcmVhZCBkdXJpbmcgcmVvcmRlciBidWZmZXIgbWFuYWdlbWVu dC4iCitXQUlUX0VWRU5UX1JFT1JERVJfQlVGRkVSX1dSSVRFCSJSZW9yZGVyQnVmZmVyV3Jp dGUiCSJXYWl0aW5nIGZvciBhIHdyaXRlIGR1cmluZyByZW9yZGVyIGJ1ZmZlciBtYW5hZ2Vt ZW50LiIKK1dBSVRfRVZFTlRfUkVPUkRFUl9MT0dJQ0FMX01BUFBJTkdfUkVBRAkiUmVvcmRl ckxvZ2ljYWxNYXBwaW5nUmVhZCIJIldhaXRpbmcgZm9yIGEgcmVhZCBvZiBhIGxvZ2ljYWwg bWFwcGluZyBkdXJpbmcgcmVvcmRlciBidWZmZXIgbWFuYWdlbWVudC4iCitXQUlUX0VWRU5U X1JFUExJQ0FUSU9OX1NMT1RfUkVBRAkiUmVwbGljYXRpb25TbG90UmVhZCIJIldhaXRpbmcg Zm9yIGEgcmVhZCBmcm9tIGEgcmVwbGljYXRpb24gc2xvdCBjb250cm9sIGZpbGUuIgorV0FJ VF9FVkVOVF9SRVBMSUNBVElPTl9TTE9UX1JFU1RPUkVfU1lOQwkiUmVwbGljYXRpb25TbG90 UmVzdG9yZVN5bmMiCSJXYWl0aW5nIGZvciBhIHJlcGxpY2F0aW9uIHNsb3QgY29udHJvbCBm aWxlIHRvIHJlYWNoIGR1cmFibGUgc3RvcmFnZSB3aGlsZSByZXN0b3JpbmcgaXQgdG8gbWVt b3J5LiIKK1dBSVRfRVZFTlRfUkVQTElDQVRJT05fU0xPVF9TWU5DCSJSZXBsaWNhdGlvblNs b3RTeW5jIgkiV2FpdGluZyBmb3IgYSByZXBsaWNhdGlvbiBzbG90IGNvbnRyb2wgZmlsZSB0 byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgorV0FJVF9FVkVOVF9SRVBMSUNBVElPTl9TTE9U X1dSSVRFCSJSZXBsaWNhdGlvblNsb3RXcml0ZSIJIldhaXRpbmcgZm9yIGEgd3JpdGUgdG8g YSByZXBsaWNhdGlvbiBzbG90IGNvbnRyb2wgZmlsZS4iCitXQUlUX0VWRU5UX1NMUlVfRkxV U0hfU1lOQwkiU0xSVUZsdXNoU3luYyIJIldhaXRpbmcgZm9yIFNMUlUgZGF0YSB0byByZWFj aCBkdXJhYmxlIHN0b3JhZ2UgZHVyaW5nIGEgY2hlY2twb2ludCBvciBkYXRhYmFzZSBzaHV0 ZG93bi4iCitXQUlUX0VWRU5UX1NMUlVfUkVBRAkiU0xSVVJlYWQiCSJXYWl0aW5nIGZvciBh IHJlYWQgb2YgYW4gU0xSVSBwYWdlLiIKK1dBSVRfRVZFTlRfU0xSVV9TWU5DCSJTTFJVU3lu YyIJIldhaXRpbmcgZm9yIFNMUlUgZGF0YSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UgZm9s bG93aW5nIGEgcGFnZSB3cml0ZS4iCitXQUlUX0VWRU5UX1NMUlVfV1JJVEUJIlNMUlVXcml0 ZSIJIldhaXRpbmcgZm9yIGEgd3JpdGUgb2YgYW4gU0xSVSBwYWdlLiIKK1dBSVRfRVZFTlRf U05BUEJVSUxEX1JFQUQJIlNuYXBidWlsZFJlYWQiCSJXYWl0aW5nIGZvciBhIHJlYWQgb2Yg YSBzZXJpYWxpemVkIGhpc3RvcmljYWwgY2F0YWxvZyBzbmFwc2hvdC4iCitXQUlUX0VWRU5U X1NOQVBCVUlMRF9TWU5DCSJTbmFwYnVpbGRTeW5jIgkiV2FpdGluZyBmb3IgYSBzZXJpYWxp emVkIGhpc3RvcmljYWwgY2F0YWxvZyBzbmFwc2hvdCB0byByZWFjaCBkdXJhYmxlIHN0b3Jh Z2UuIgorV0FJVF9FVkVOVF9TTkFQQlVJTERfV1JJVEUJIlNuYXBidWlsZFdyaXRlIgkiV2Fp dGluZyBmb3IgYSB3cml0ZSBvZiBhIHNlcmlhbGl6ZWQgaGlzdG9yaWNhbCBjYXRhbG9nIHNu YXBzaG90LiIKK1dBSVRfRVZFTlRfVElNRUxJTkVfSElTVE9SWV9GSUxFX1NZTkMJIlRpbWVs aW5lSGlzdG9yeUZpbGVTeW5jIgkiV2FpdGluZyBmb3IgYSB0aW1lbGluZSBoaXN0b3J5IGZp bGUgcmVjZWl2ZWQgdmlhIHN0cmVhbWluZyByZXBsaWNhdGlvbiB0byByZWFjaCBkdXJhYmxl IHN0b3JhZ2UuIgorV0FJVF9FVkVOVF9USU1FTElORV9ISVNUT1JZX0ZJTEVfV1JJVEUJIlRp bWVsaW5lSGlzdG9yeUZpbGVXcml0ZSIJIldhaXRpbmcgZm9yIGEgd3JpdGUgb2YgYSB0aW1l bGluZSBoaXN0b3J5IGZpbGUgcmVjZWl2ZWQgdmlhIHN0cmVhbWluZyByZXBsaWNhdGlvbi4i CitXQUlUX0VWRU5UX1RJTUVMSU5FX0hJU1RPUllfUkVBRAkiVGltZWxpbmVIaXN0b3J5UmVh ZCIJIldhaXRpbmcgZm9yIGEgcmVhZCBvZiBhIHRpbWVsaW5lIGhpc3RvcnkgZmlsZS4iCitX QUlUX0VWRU5UX1RJTUVMSU5FX0hJU1RPUllfU1lOQwkiVGltZWxpbmVIaXN0b3J5U3luYyIJ IldhaXRpbmcgZm9yIGEgbmV3bHkgY3JlYXRlZCB0aW1lbGluZSBoaXN0b3J5IGZpbGUgdG8g cmVhY2ggZHVyYWJsZSBzdG9yYWdlLiIKK1dBSVRfRVZFTlRfVElNRUxJTkVfSElTVE9SWV9X UklURQkiVGltZWxpbmVIaXN0b3J5V3JpdGUiCSJXYWl0aW5nIGZvciBhIHdyaXRlIG9mIGEg bmV3bHkgY3JlYXRlZCB0aW1lbGluZSBoaXN0b3J5IGZpbGUuIgorV0FJVF9FVkVOVF9UV09Q SEFTRV9GSUxFX1JFQUQJIlR3b3BoYXNlRmlsZVJlYWQiCSJXYWl0aW5nIGZvciBhIHJlYWQg b2YgYSB0d28gcGhhc2Ugc3RhdGUgZmlsZS4iCitXQUlUX0VWRU5UX1RXT1BIQVNFX0ZJTEVf U1lOQwkiVHdvcGhhc2VGaWxlU3luYyIJIldhaXRpbmcgZm9yIGEgdHdvIHBoYXNlIHN0YXRl IGZpbGUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlLiIKK1dBSVRfRVZFTlRfVFdPUEhBU0Vf RklMRV9XUklURQkiVHdvcGhhc2VGaWxlV3JpdGUiCSJXYWl0aW5nIGZvciBhIHdyaXRlIG9m IGEgdHdvIHBoYXNlIHN0YXRlIGZpbGUuIgorV0FJVF9FVkVOVF9WRVJTSU9OX0ZJTEVfV1JJ VEUJIlZlcnNpb25GaWxlV3JpdGUiCSJXYWl0aW5nIGZvciB0aGUgdmVyc2lvbiBmaWxlIHRv IGJlIHdyaXR0ZW4gd2hpbGUgY3JlYXRpbmcgYSBkYXRhYmFzZS4iCitXQUlUX0VWRU5UX1dB TFNFTkRFUl9USU1FTElORV9ISVNUT1JZX1JFQUQJIldBTFNlbmRlclRpbWVsaW5lSGlzdG9y eVJlYWQiCSJXYWl0aW5nIGZvciBhIHJlYWQgZnJvbSBhIHRpbWVsaW5lIGhpc3RvcnkgZmls ZSBkdXJpbmcgYSB3YWxzZW5kZXIgdGltZWxpbmUgY29tbWFuZC4iCitXQUlUX0VWRU5UX1dB TF9CT09UU1RSQVBfU1lOQwkiV0FMQm9vdHN0cmFwU3luYyIJIldhaXRpbmcgZm9yIFdBTCB0 byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UgZHVyaW5nIGJvb3RzdHJhcHBpbmcuIgorV0FJVF9F VkVOVF9XQUxfQk9PVFNUUkFQX1dSSVRFCSJXQUxCb290c3RyYXBXcml0ZSIJIldhaXRpbmcg Zm9yIGEgd3JpdGUgb2YgYSBXQUwgcGFnZSBkdXJpbmcgYm9vdHN0cmFwcGluZy4iCitXQUlU X0VWRU5UX1dBTF9DT1BZX1JFQUQJIldBTENvcHlSZWFkIgkiV2FpdGluZyBmb3IgYSByZWFk IHdoZW4gY3JlYXRpbmcgYSBuZXcgV0FMIHNlZ21lbnQgYnkgY29weWluZyBhbiBleGlzdGlu ZyBvbmUuIgorV0FJVF9FVkVOVF9XQUxfQ09QWV9TWU5DCSJXQUxDb3B5U3luYyIJIldhaXRp bmcgZm9yIGEgbmV3IFdBTCBzZWdtZW50IGNyZWF0ZWQgYnkgY29weWluZyBhbiBleGlzdGlu ZyBvbmUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlLiIKK1dBSVRfRVZFTlRfV0FMX0NPUFlf V1JJVEUJIldBTENvcHlXcml0ZSIJIldhaXRpbmcgZm9yIGEgd3JpdGUgd2hlbiBjcmVhdGlu ZyBhIG5ldyBXQUwgc2VnbWVudCBieSBjb3B5aW5nIGFuIGV4aXN0aW5nIG9uZS4iCitXQUlU X0VWRU5UX1dBTF9JTklUX1NZTkMJIldBTEluaXRTeW5jIgkiV2FpdGluZyBmb3IgYSBuZXds eSBpbml0aWFsaXplZCBXQUwgZmlsZSB0byByZWFjaCBkdXJhYmxlIHN0b3JhZ2UuIgorV0FJ VF9FVkVOVF9XQUxfSU5JVF9XUklURQkiV0FMSW5pdFdyaXRlIgkiV2FpdGluZyBmb3IgYSB3 cml0ZSB3aGlsZSBpbml0aWFsaXppbmcgYSBuZXcgV0FMIGZpbGUuIgorV0FJVF9FVkVOVF9X QUxfUkVBRAkiV0FMUmVhZCIJIldhaXRpbmcgZm9yIGEgcmVhZCBmcm9tIGEgV0FMIGZpbGUu IgorV0FJVF9FVkVOVF9XQUxfU1lOQwkiV0FMU3luYyIJIldhaXRpbmcgZm9yIGEgV0FMIGZp bGUgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlLiBXYWl0aW5nIGZvciBkYXRhIHRvIHJlYWNo IGR1cmFibGUgc3RvcmFnZSB3aGlsZSBhc3NpZ25pbmcgYSBuZXcgV0FMIHN5bmMgbWV0aG9k LiIKK1dBSVRfRVZFTlRfV0FMX1NZTkNfTUVUSE9EX0FTU0lHTgkiV0FMU3luY01ldGhvZEFz c2lnbiIJIldhaXRpbmcgZm9yIGRhdGEgdG8gcmVhY2ggZHVyYWJsZSBzdG9yYWdlIHdoaWxl IGFzc2lnbmluZyBhIG5ldyBXQUwgc3luYyBtZXRob2QuIgorV0FJVF9FVkVOVF9XQUxfV1JJ VEUJIldBTFdyaXRlIgkiV2FpdGluZyBmb3IgYSB3cml0ZSB0byBhIFdBTCBmaWxlLiBXYWl0 aW5nIGZvciBXQUwgYnVmZmVycyB0byBiZSB3cml0dGVuIHRvIGRpc2suIgpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvTWFrZWZpbGUgYi9zcmMvaW5jbHVkZS9NYWtlZmlsZQppbmRleCA1 NjU3NmRjZjVjLi41ZDIxMzE4N2UyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9NYWtlZmls ZQorKysgYi9zcmMvaW5jbHVkZS9NYWtlZmlsZQpAQCAtNzIsNyArNzIsNyBAQCB1bmluc3Rh bGw6CiAKIGNsZWFuOgogCXJtIC1mIHV0aWxzL2ZtZ3JvaWRzLmggdXRpbHMvZm1ncnByb3Rv cy5oIHV0aWxzL2VycmNvZGVzLmggdXRpbHMvaGVhZGVyLXN0YW1wCi0Jcm0gLWYgc3RvcmFn ZS9sd2xvY2tuYW1lcy5oIHV0aWxzL3Byb2Jlcy5oCisJcm0gLWYgc3RvcmFnZS9sd2xvY2tu YW1lcy5oIHV0aWxzL3Byb2Jlcy5oIHV0aWxzL3dhaXRfZXZlbnRfdHlwZXMuaAogCXJtIC1m IGNhdGFsb2cvc2NoZW1hcGcuaCBjYXRhbG9nL3N5c3RlbV9ma19pbmZvLmgKIAlybSAtZiBj YXRhbG9nL3BnXypfZC5oIGNhdGFsb2cvaGVhZGVyLXN0YW1wCiAJcm0gLWYgbm9kZXMvbm9k ZXRhZ3MuaCBub2Rlcy9oZWFkZXItc3RhbXAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0 aWxzLy5naXRpZ25vcmUgYi9zcmMvaW5jbHVkZS91dGlscy8uZ2l0aWdub3JlCmluZGV4IDA1 Y2ZhN2E4ZDYuLmMxYjRjNjYyMTMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzLy5n aXRpZ25vcmUKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvLmdpdGlnbm9yZQpAQCAtMywzICsz LDQgQEAKIC9wcm9iZXMuaAogL2VycmNvZGVzLmgKIC9oZWFkZXItc3RhbXAKKy93YWl0X2V2 ZW50X3R5cGVzLmgKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL21lc29uLmJ1aWxk IGIvc3JjL2luY2x1ZGUvdXRpbHMvbWVzb24uYnVpbGQKaW5kZXggMmZlZDFlM2Y4ZS4uYTFk MmQ4MTQwNCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvbWVzb24uYnVpbGQKKysr IGIvc3JjL2luY2x1ZGUvdXRpbHMvbWVzb24uYnVpbGQKQEAgLTEsNSArMSwyMSBAQAogIyBD b3B5cmlnaHQgKGMpIDIwMjItMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQg R3JvdXAKIAord2FpdGV2ZW50bmFtZXMgPSBjdXN0b21fdGFyZ2V0KCd3YWl0ZXZlbnRuYW1l cycsCisgIGlucHV0OiBmaWxlcygnLi4vLi4vYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0 ZXZlbnRuYW1lcy50eHQnKSwKKyAgb3V0cHV0OiBbJ3dhaXRfZXZlbnRfdHlwZXMuaCddLAor ICBjb21tYW5kOiBbCisgICAgcGVybCwgZmlsZXMoJy4uLy4uL2JhY2tlbmQvdXRpbHMvYWN0 aXZpdHkvZ2VuZXJhdGUtd2FpdGV2ZW50bmFtZXMucGwnKSwKKyAgICAnLW8nLCAnQE9VVERJ UkAnLAorICAgICdASU5QVVRAJworICBdLAorICBidWlsZF9ieV9kZWZhdWx0OiB0cnVlLAor ICBpbnN0YWxsOiB0cnVlLAorICBpbnN0YWxsX2RpcjogW2Rpcl9pbmNsdWRlX3NlcnZlciAv ICd1dGlscyddLAorKQorCit3YWl0X2V2ZW50X3R5cGVzX2ggPSB3YWl0ZXZlbnRuYW1lc1sw XQorZ2VuZXJhdGVkX2JhY2tlbmRfaGVhZGVycyArPSB3YWl0X2V2ZW50X3R5cGVzX2gKKwog ZXJyY29kZXMgPSBjdXN0b21fdGFyZ2V0KCdlcnJjb2RlcycsCiAgIGlucHV0OiBmaWxlcygn Li4vLi4vYmFja2VuZC91dGlscy9lcnJjb2Rlcy50eHQnKSwKICAgb3V0cHV0OiBbJ2VycmNv ZGVzLmgnXSwKQEAgLTU3LDMgKzczLDUgQEAgZ2VuZXJhdGVkX3NvdXJjZXNfYWMgKz0gewog ICAnc3JjL2JhY2tlbmQvdXRpbHMnOiBmbWdydGFiX291dHB1dCArIFsnZXJyY29kZXMuaCcs ICdwcm9iZXMuaCcsICdmbWdyLXN0YW1wJ10sCiAgICdzcmMvaW5jbHVkZS91dGlscyc6IFsn aGVhZGVyLXN0YW1wJ10sCiB9CisKK2dlbmVyYXRlZF9zb3VyY2VzX2FjICs9IHsnc3JjL2Jh Y2tlbmQvdXRpbHMvYWN0aXZpdHknOiBbJ3dhaXRfZXZlbnRfdHlwZXMuaCddfQpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvd2FpdF9ldmVudC5oIGIvc3JjL2luY2x1ZGUvdXRp bHMvd2FpdF9ldmVudC5oCmluZGV4IDUxOGQzYjBhMWYuLjE2MDIyNzk3MmUgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaAorKysgYi9zcmMvaW5jbHVkZS91 dGlscy93YWl0X2V2ZW50LmgKQEAgLTI1LDIxOCArMjUsOCBAQAogI2RlZmluZSBQR19XQUlU X1RJTUVPVVQJCQkJMHgwOTAwMDAwMFUKICNkZWZpbmUgUEdfV0FJVF9JTwkJCQkJMHgwQTAw MDAwMFUKIAotLyogLS0tLS0tLS0tLQotICogV2FpdCBFdmVudHMgLSBBY3Rpdml0eQotICoK LSAqIFVzZSB0aGlzIGNhdGVnb3J5IHdoZW4gYSBwcm9jZXNzIGlzIHdhaXRpbmcgYmVjYXVz ZSBpdCBoYXMgbm8gd29yayB0byBkbywKLSAqIHVubGVzcyB0aGUgIkNsaWVudCIgb3IgIlRp bWVvdXQiIGNhdGVnb3J5IGRlc2NyaWJlcyB0aGUgc2l0dWF0aW9uIGJldHRlci4KLSAqIFR5 cGljYWxseSwgdGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGZvciBiYWNrZ3JvdW5kIHByb2Nl c3Nlcy4KLSAqIC0tLS0tLS0tLS0KLSAqLwotdHlwZWRlZiBlbnVtCi17Ci0JV0FJVF9FVkVO VF9BUkNISVZFUl9NQUlOID0gUEdfV0FJVF9BQ1RJVklUWSwKLQlXQUlUX0VWRU5UX0FVVE9W QUNVVU1fTUFJTiwKLQlXQUlUX0VWRU5UX0JHV1JJVEVSX0hJQkVSTkFURSwKLQlXQUlUX0VW RU5UX0JHV1JJVEVSX01BSU4sCi0JV0FJVF9FVkVOVF9DSEVDS1BPSU5URVJfTUFJTiwKLQlX QUlUX0VWRU5UX0xPR0lDQUxfQVBQTFlfTUFJTiwKLQlXQUlUX0VWRU5UX0xPR0lDQUxfTEFV TkNIRVJfTUFJTiwKLQlXQUlUX0VWRU5UX0xPR0lDQUxfUEFSQUxMRUxfQVBQTFlfTUFJTiwK LQlXQUlUX0VWRU5UX1JFQ09WRVJZX1dBTF9TVFJFQU0sCi0JV0FJVF9FVkVOVF9TWVNMT0dH RVJfTUFJTiwKLQlXQUlUX0VWRU5UX1dBTF9SRUNFSVZFUl9NQUlOLAotCVdBSVRfRVZFTlRf V0FMX1NFTkRFUl9NQUlOLAotCVdBSVRfRVZFTlRfV0FMX1dSSVRFUl9NQUlOCi19IFdhaXRF dmVudEFjdGl2aXR5OwotCi0vKiAtLS0tLS0tLS0tCi0gKiBXYWl0IEV2ZW50cyAtIENsaWVu dAotICoKLSAqIFVzZSB0aGlzIGNhdGVnb3J5IHdoZW4gYSBwcm9jZXNzIGlzIHdhaXRpbmcg dG8gc2VuZCBkYXRhIHRvIG9yIHJlY2VpdmUgZGF0YQotICogZnJvbSB0aGUgZnJvbnRlbmQg cHJvY2VzcyB0byB3aGljaCBpdCBpcyBjb25uZWN0ZWQuICBUaGlzIGlzIG5ldmVyIHVzZWQg Zm9yCi0gKiBhIGJhY2tncm91bmQgcHJvY2Vzcywgd2hpY2ggaGFzIG5vIGNsaWVudCBjb25u ZWN0aW9uLgotICogLS0tLS0tLS0tLQotICovCi10eXBlZGVmIGVudW0KLXsKLQlXQUlUX0VW RU5UX0NMSUVOVF9SRUFEID0gUEdfV0FJVF9DTElFTlQsCi0JV0FJVF9FVkVOVF9DTElFTlRf V1JJVEUsCi0JV0FJVF9FVkVOVF9HU1NfT1BFTl9TRVJWRVIsCi0JV0FJVF9FVkVOVF9MSUJQ UVdBTFJFQ0VJVkVSX0NPTk5FQ1QsCi0JV0FJVF9FVkVOVF9MSUJQUVdBTFJFQ0VJVkVSX1JF Q0VJVkUsCi0JV0FJVF9FVkVOVF9TU0xfT1BFTl9TRVJWRVIsCi0JV0FJVF9FVkVOVF9XQUxf U0VOREVSX1dBSVRfV0FMLAotCVdBSVRfRVZFTlRfV0FMX1NFTkRFUl9XUklURV9EQVRBLAot fSBXYWl0RXZlbnRDbGllbnQ7Ci0KLS8qIC0tLS0tLS0tLS0KLSAqIFdhaXQgRXZlbnRzIC0g SVBDCi0gKgotICogVXNlIHRoaXMgY2F0ZWdvcnkgd2hlbiBhIHByb2Nlc3MgY2Fubm90IGNv bXBsZXRlIHRoZSB3b3JrIGl0IGlzIGRvaW5nIGJlY2F1c2UKLSAqIGl0IGlzIHdhaXRpbmcg Zm9yIGEgbm90aWZpY2F0aW9uIGZyb20gYW5vdGhlciBwcm9jZXNzLgotICogLS0tLS0tLS0t LQotICovCi10eXBlZGVmIGVudW0KLXsKLQlXQUlUX0VWRU5UX0FQUEVORF9SRUFEWSA9IFBH X1dBSVRfSVBDLAotCVdBSVRfRVZFTlRfQVJDSElWRV9DTEVBTlVQX0NPTU1BTkQsCi0JV0FJ VF9FVkVOVF9BUkNISVZFX0NPTU1BTkQsCi0JV0FJVF9FVkVOVF9CQUNLRU5EX1RFUk1JTkFU SU9OLAotCVdBSVRfRVZFTlRfQkFDS1VQX1dBSVRfV0FMX0FSQ0hJVkUsCi0JV0FJVF9FVkVO VF9CR1dPUktFUl9TSFVURE9XTiwKLQlXQUlUX0VWRU5UX0JHV09SS0VSX1NUQVJUVVAsCi0J V0FJVF9FVkVOVF9CVFJFRV9QQUdFLAotCVdBSVRfRVZFTlRfQlVGRkVSX0lPLAotCVdBSVRf RVZFTlRfQ0hFQ0tQT0lOVF9ET05FLAotCVdBSVRfRVZFTlRfQ0hFQ0tQT0lOVF9TVEFSVCwK LQlXQUlUX0VWRU5UX0VYRUNVVEVfR0FUSEVSLAotCVdBSVRfRVZFTlRfSEFTSF9CQVRDSF9B TExPQ0FURSwKLQlXQUlUX0VWRU5UX0hBU0hfQkFUQ0hfRUxFQ1QsCi0JV0FJVF9FVkVOVF9I QVNIX0JBVENIX0xPQUQsCi0JV0FJVF9FVkVOVF9IQVNIX0JVSUxEX0FMTE9DQVRFLAotCVdB SVRfRVZFTlRfSEFTSF9CVUlMRF9FTEVDVCwKLQlXQUlUX0VWRU5UX0hBU0hfQlVJTERfSEFT SF9JTk5FUiwKLQlXQUlUX0VWRU5UX0hBU0hfQlVJTERfSEFTSF9PVVRFUiwKLQlXQUlUX0VW RU5UX0hBU0hfR1JPV19CQVRDSEVTX0RFQ0lERSwKLQlXQUlUX0VWRU5UX0hBU0hfR1JPV19C QVRDSEVTX0VMRUNULAotCVdBSVRfRVZFTlRfSEFTSF9HUk9XX0JBVENIRVNfRklOSVNILAot CVdBSVRfRVZFTlRfSEFTSF9HUk9XX0JBVENIRVNfUkVBTExPQ0FURSwKLQlXQUlUX0VWRU5U X0hBU0hfR1JPV19CQVRDSEVTX1JFUEFSVElUSU9OLAotCVdBSVRfRVZFTlRfSEFTSF9HUk9X X0JVQ0tFVFNfRUxFQ1QsCi0JV0FJVF9FVkVOVF9IQVNIX0dST1dfQlVDS0VUU19SRUFMTE9D QVRFLAotCVdBSVRfRVZFTlRfSEFTSF9HUk9XX0JVQ0tFVFNfUkVJTlNFUlQsCi0JV0FJVF9F VkVOVF9MT0dJQ0FMX0FQUExZX1NFTkRfREFUQSwKLQlXQUlUX0VWRU5UX0xPR0lDQUxfUEFS QUxMRUxfQVBQTFlfU1RBVEVfQ0hBTkdFLAotCVdBSVRfRVZFTlRfTE9HSUNBTF9TWU5DX0RB VEEsCi0JV0FJVF9FVkVOVF9MT0dJQ0FMX1NZTkNfU1RBVEVfQ0hBTkdFLAotCVdBSVRfRVZF TlRfTVFfSU5URVJOQUwsCi0JV0FJVF9FVkVOVF9NUV9QVVRfTUVTU0FHRSwKLQlXQUlUX0VW RU5UX01RX1JFQ0VJVkUsCi0JV0FJVF9FVkVOVF9NUV9TRU5ELAotCVdBSVRfRVZFTlRfUEFS QUxMRUxfQklUTUFQX1NDQU4sCi0JV0FJVF9FVkVOVF9QQVJBTExFTF9DUkVBVEVfSU5ERVhf U0NBTiwKLQlXQUlUX0VWRU5UX1BBUkFMTEVMX0ZJTklTSCwKLQlXQUlUX0VWRU5UX1BST0NB UlJBWV9HUk9VUF9VUERBVEUsCi0JV0FJVF9FVkVOVF9QUk9DX1NJR05BTF9CQVJSSUVSLAot CVdBSVRfRVZFTlRfUFJPTU9URSwKLQlXQUlUX0VWRU5UX1JFQ09WRVJZX0NPTkZMSUNUX1NO QVBTSE9ULAotCVdBSVRfRVZFTlRfUkVDT1ZFUllfQ09ORkxJQ1RfVEFCTEVTUEFDRSwKLQlX QUlUX0VWRU5UX1JFQ09WRVJZX0VORF9DT01NQU5ELAotCVdBSVRfRVZFTlRfUkVDT1ZFUllf UEFVU0UsCi0JV0FJVF9FVkVOVF9SRVBMSUNBVElPTl9PUklHSU5fRFJPUCwKLQlXQUlUX0VW RU5UX1JFUExJQ0FUSU9OX1NMT1RfRFJPUCwKLQlXQUlUX0VWRU5UX1JFU1RPUkVfQ09NTUFO RCwKLQlXQUlUX0VWRU5UX1NBRkVfU05BUFNIT1QsCi0JV0FJVF9FVkVOVF9TWU5DX1JFUCwK LQlXQUlUX0VWRU5UX1dBTF9SRUNFSVZFUl9FWElULAotCVdBSVRfRVZFTlRfV0FMX1JFQ0VJ VkVSX1dBSVRfU1RBUlQsCi0JV0FJVF9FVkVOVF9YQUNUX0dST1VQX1VQREFURQotfSBXYWl0 RXZlbnRJUEM7Ci0KLS8qIC0tLS0tLS0tLS0KLSAqIFdhaXQgRXZlbnRzIC0gVGltZW91dAot ICoKLSAqIFVzZSB0aGlzIGNhdGVnb3J5IHdoZW4gYSBwcm9jZXNzIGlzIHdhaXRpbmcgZm9y IGEgdGltZW91dCB0byBleHBpcmUuCi0gKiAtLS0tLS0tLS0tCi0gKi8KLXR5cGVkZWYgZW51 bQotewotCVdBSVRfRVZFTlRfQkFTRV9CQUNLVVBfVEhST1RUTEUgPSBQR19XQUlUX1RJTUVP VVQsCi0JV0FJVF9FVkVOVF9DSEVDS1BPSU5UX1dSSVRFX0RFTEFZLAotCVdBSVRfRVZFTlRf UEdfU0xFRVAsCi0JV0FJVF9FVkVOVF9SRUNPVkVSWV9BUFBMWV9ERUxBWSwKLQlXQUlUX0VW RU5UX1JFQ09WRVJZX1JFVFJJRVZFX1JFVFJZX0lOVEVSVkFMLAotCVdBSVRfRVZFTlRfUkVH SVNURVJfU1lOQ19SRVFVRVNULAotCVdBSVRfRVZFTlRfU1BJTl9ERUxBWSwKLQlXQUlUX0VW RU5UX1ZBQ1VVTV9ERUxBWSwKLQlXQUlUX0VWRU5UX1ZBQ1VVTV9UUlVOQ0FURQotfSBXYWl0 RXZlbnRUaW1lb3V0OwotCi0vKiAtLS0tLS0tLS0tCi0gKiBXYWl0IEV2ZW50cyAtIElPCi0g KgotICogVXNlIHRoaXMgY2F0ZWdvcnkgd2hlbiBhIHByb2Nlc3MgaXMgd2FpdGluZyBmb3Ig YSBJTy4KLSAqIC0tLS0tLS0tLS0KLSAqLwotdHlwZWRlZiBlbnVtCi17Ci0JV0FJVF9FVkVO VF9CQVNFQkFDS1VQX1JFQUQgPSBQR19XQUlUX0lPLAotCVdBSVRfRVZFTlRfQkFTRUJBQ0tV UF9TWU5DLAotCVdBSVRfRVZFTlRfQkFTRUJBQ0tVUF9XUklURSwKLQlXQUlUX0VWRU5UX0JV RkZJTEVfUkVBRCwKLQlXQUlUX0VWRU5UX0JVRkZJTEVfV1JJVEUsCi0JV0FJVF9FVkVOVF9C VUZGSUxFX1RSVU5DQVRFLAotCVdBSVRfRVZFTlRfQ09OVFJPTF9GSUxFX1JFQUQsCi0JV0FJ VF9FVkVOVF9DT05UUk9MX0ZJTEVfU1lOQywKLQlXQUlUX0VWRU5UX0NPTlRST0xfRklMRV9T WU5DX1VQREFURSwKLQlXQUlUX0VWRU5UX0NPTlRST0xfRklMRV9XUklURSwKLQlXQUlUX0VW RU5UX0NPTlRST0xfRklMRV9XUklURV9VUERBVEUsCi0JV0FJVF9FVkVOVF9DT1BZX0ZJTEVf UkVBRCwKLQlXQUlUX0VWRU5UX0NPUFlfRklMRV9XUklURSwKLQlXQUlUX0VWRU5UX0RBVEFf RklMRV9FWFRFTkQsCi0JV0FJVF9FVkVOVF9EQVRBX0ZJTEVfRkxVU0gsCi0JV0FJVF9FVkVO VF9EQVRBX0ZJTEVfSU1NRURJQVRFX1NZTkMsCi0JV0FJVF9FVkVOVF9EQVRBX0ZJTEVfUFJF RkVUQ0gsCi0JV0FJVF9FVkVOVF9EQVRBX0ZJTEVfUkVBRCwKLQlXQUlUX0VWRU5UX0RBVEFf RklMRV9TWU5DLAotCVdBSVRfRVZFTlRfREFUQV9GSUxFX1RSVU5DQVRFLAotCVdBSVRfRVZF TlRfREFUQV9GSUxFX1dSSVRFLAotCVdBSVRfRVZFTlRfRFNNX0FMTE9DQVRFLAotCVdBSVRf RVZFTlRfRFNNX0ZJTExfWkVST19XUklURSwKLQlXQUlUX0VWRU5UX0xPQ0tfRklMRV9BRERU T0RBVEFESVJfUkVBRCwKLQlXQUlUX0VWRU5UX0xPQ0tfRklMRV9BRERUT0RBVEFESVJfU1lO QywKLQlXQUlUX0VWRU5UX0xPQ0tfRklMRV9BRERUT0RBVEFESVJfV1JJVEUsCi0JV0FJVF9F VkVOVF9MT0NLX0ZJTEVfQ1JFQVRFX1JFQUQsCi0JV0FJVF9FVkVOVF9MT0NLX0ZJTEVfQ1JF QVRFX1NZTkMsCi0JV0FJVF9FVkVOVF9MT0NLX0ZJTEVfQ1JFQVRFX1dSSVRFLAotCVdBSVRf RVZFTlRfTE9DS19GSUxFX1JFQ0hFQ0tEQVRBRElSX1JFQUQsCi0JV0FJVF9FVkVOVF9MT0dJ Q0FMX1JFV1JJVEVfQ0hFQ0tQT0lOVF9TWU5DLAotCVdBSVRfRVZFTlRfTE9HSUNBTF9SRVdS SVRFX01BUFBJTkdfU1lOQywKLQlXQUlUX0VWRU5UX0xPR0lDQUxfUkVXUklURV9NQVBQSU5H X1dSSVRFLAotCVdBSVRfRVZFTlRfTE9HSUNBTF9SRVdSSVRFX1NZTkMsCi0JV0FJVF9FVkVO VF9MT0dJQ0FMX1JFV1JJVEVfVFJVTkNBVEUsCi0JV0FJVF9FVkVOVF9MT0dJQ0FMX1JFV1JJ VEVfV1JJVEUsCi0JV0FJVF9FVkVOVF9SRUxBVElPTl9NQVBfUkVBRCwKLQlXQUlUX0VWRU5U X1JFTEFUSU9OX01BUF9SRVBMQUNFLAotCVdBSVRfRVZFTlRfUkVMQVRJT05fTUFQX1dSSVRF LAotCVdBSVRfRVZFTlRfUkVPUkRFUl9CVUZGRVJfUkVBRCwKLQlXQUlUX0VWRU5UX1JFT1JE RVJfQlVGRkVSX1dSSVRFLAotCVdBSVRfRVZFTlRfUkVPUkRFUl9MT0dJQ0FMX01BUFBJTkdf UkVBRCwKLQlXQUlUX0VWRU5UX1JFUExJQ0FUSU9OX1NMT1RfUkVBRCwKLQlXQUlUX0VWRU5U X1JFUExJQ0FUSU9OX1NMT1RfUkVTVE9SRV9TWU5DLAotCVdBSVRfRVZFTlRfUkVQTElDQVRJ T05fU0xPVF9TWU5DLAotCVdBSVRfRVZFTlRfUkVQTElDQVRJT05fU0xPVF9XUklURSwKLQlX QUlUX0VWRU5UX1NMUlVfRkxVU0hfU1lOQywKLQlXQUlUX0VWRU5UX1NMUlVfUkVBRCwKLQlX QUlUX0VWRU5UX1NMUlVfU1lOQywKLQlXQUlUX0VWRU5UX1NMUlVfV1JJVEUsCi0JV0FJVF9F VkVOVF9TTkFQQlVJTERfUkVBRCwKLQlXQUlUX0VWRU5UX1NOQVBCVUlMRF9TWU5DLAotCVdB SVRfRVZFTlRfU05BUEJVSUxEX1dSSVRFLAotCVdBSVRfRVZFTlRfVElNRUxJTkVfSElTVE9S WV9GSUxFX1NZTkMsCi0JV0FJVF9FVkVOVF9USU1FTElORV9ISVNUT1JZX0ZJTEVfV1JJVEUs Ci0JV0FJVF9FVkVOVF9USU1FTElORV9ISVNUT1JZX1JFQUQsCi0JV0FJVF9FVkVOVF9USU1F TElORV9ISVNUT1JZX1NZTkMsCi0JV0FJVF9FVkVOVF9USU1FTElORV9ISVNUT1JZX1dSSVRF LAotCVdBSVRfRVZFTlRfVFdPUEhBU0VfRklMRV9SRUFELAotCVdBSVRfRVZFTlRfVFdPUEhB U0VfRklMRV9TWU5DLAotCVdBSVRfRVZFTlRfVFdPUEhBU0VfRklMRV9XUklURSwKLQlXQUlU X0VWRU5UX1ZFUlNJT05fRklMRV9XUklURSwKLQlXQUlUX0VWRU5UX1dBTFNFTkRFUl9USU1F TElORV9ISVNUT1JZX1JFQUQsCi0JV0FJVF9FVkVOVF9XQUxfQk9PVFNUUkFQX1NZTkMsCi0J V0FJVF9FVkVOVF9XQUxfQk9PVFNUUkFQX1dSSVRFLAotCVdBSVRfRVZFTlRfV0FMX0NPUFlf UkVBRCwKLQlXQUlUX0VWRU5UX1dBTF9DT1BZX1NZTkMsCi0JV0FJVF9FVkVOVF9XQUxfQ09Q WV9XUklURSwKLQlXQUlUX0VWRU5UX1dBTF9JTklUX1NZTkMsCi0JV0FJVF9FVkVOVF9XQUxf SU5JVF9XUklURSwKLQlXQUlUX0VWRU5UX1dBTF9SRUFELAotCVdBSVRfRVZFTlRfV0FMX1NZ TkMsCi0JV0FJVF9FVkVOVF9XQUxfU1lOQ19NRVRIT0RfQVNTSUdOLAotCVdBSVRfRVZFTlRf V0FMX1dSSVRFCi19IFdhaXRFdmVudElPOwotCisvKiBlbnVtcyBmb3Igd2FpdCBldmVudHMg Ki8KKyNpbmNsdWRlICJ1dGlscy93YWl0X2V2ZW50X3R5cGVzLmgiCiAKIGV4dGVybiBjb25z dCBjaGFyICpwZ3N0YXRfZ2V0X3dhaXRfZXZlbnQodWludDMyIHdhaXRfZXZlbnRfaW5mbyk7 CiBleHRlcm4gY29uc3QgY2hhciAqcGdzdGF0X2dldF93YWl0X2V2ZW50X3R5cGUodWludDMy IHdhaXRfZXZlbnRfaW5mbyk7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvbXN2Yy9Tb2x1dGlv bi5wbSBiL3NyYy90b29scy9tc3ZjL1NvbHV0aW9uLnBtCmluZGV4IGVmMTBjZGE1NzYuLjc4 NGQyZjUxOGQgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9tc3ZjL1NvbHV0aW9uLnBtCisrKyBi L3NyYy90b29scy9tc3ZjL1NvbHV0aW9uLnBtCkBAIC01ODIsNiArNTgyLDcgQEAgc3ViIEdl bmVyYXRlRmlsZXMKIAkJbXkgJGxtZ3IgPSAnc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyJzsK IAkJc3lzdGVtKCJwZXJsICRsbWdyL2dlbmVyYXRlLWx3bG9ja25hbWVzLnBsIC0tb3V0ZGly ICRsbWdyICRsbWdyL2x3bG9ja25hbWVzLnR4dCIpOwogCX0KKwogCWlmIChJc05ld2VyKAog CQkJJ3NyYy9pbmNsdWRlL3N0b3JhZ2UvbHdsb2NrbmFtZXMuaCcsCiAJCQknc3JjL2JhY2tl bmQvc3RvcmFnZS9sbWdyL2x3bG9ja25hbWVzLmgnKSkKQEAgLTU5MSw2ICs1OTIsMjQgQEAg c3ViIEdlbmVyYXRlRmlsZXMKIAkJCSdzcmMvaW5jbHVkZS9zdG9yYWdlL2x3bG9ja25hbWVz LmgnKTsKIAl9CiAKKwlpZiAoSXNOZXdlcigKKwkJCSdzcmMvaW5jbHVkZS91dGlscy93YWl0 X2V2ZW50X3R5cGVzLmgnLAorCQkJJ3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRl dmVudG5hbWVzLnR4dCcpKQorCXsKKwkJcHJpbnQgIkdlbmVyYXRpbmcgcGdzdGF0X3dhaXRf ZXZlbnQuYyBhbmQgd2FpdF9ldmVudF90eXBlcy5oLi4uXG4iOworCQlteSAkYWN0aXYgPSAn c3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHknOworCQlzeXN0ZW0oInBlcmwgJGFjdGl2L2dl bmVyYXRlLXdhaXRldmVudG5hbWVzLnBsIC0tb3V0ZGlyICRhY3RpdiAkYWN0aXYvd2FpdGV2 ZW50bmFtZXMudHh0Iik7CisJfQorCisJaWYgKElzTmV3ZXIoCisJCQknc3JjL2luY2x1ZGUv dXRpbHMvd2FpdF9ldmVudF90eXBlcy5oJywKKwkJCSdzcmMvYmFja2VuZC91dGlscy9hY3Rp dml0eS93YWl0X2V2ZW50X3R5cGVzLmgnKSkKKwl7CisJCWNvcHlGaWxlKAorCQkJJ3NyYy9i YWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnRfdHlwZXMuaCcsCisJCQknc3JjL2lu Y2x1ZGUvdXRpbHMvd2FpdF9ldmVudF90eXBlcy5oJyk7CisJfQorCiAJaWYgKElzTmV3ZXIo J3NyYy9pbmNsdWRlL3V0aWxzL3Byb2Jlcy5oJywgJ3NyYy9iYWNrZW5kL3V0aWxzL3Byb2Jl cy5kJykpCiAJewogCQlwcmludCAiR2VuZXJhdGluZyBwcm9iZXMuaC4uLlxuIjsKZGlmZiAt LWdpdCBhL3NyYy90b29scy9tc3ZjL2NsZWFuLmJhdCBiL3NyYy90b29scy9tc3ZjL2NsZWFu LmJhdAppbmRleCBkMGU4YmZiZjg2Li4yMmQ2ZjUyZTcyIDEwMDc1NQotLS0gYS9zcmMvdG9v bHMvbXN2Yy9jbGVhbi5iYXQKKysrIGIvc3JjL3Rvb2xzL21zdmMvY2xlYW4uYmF0CkBAIC00 Nyw2ICs0Nyw3IEBAIGlmIGV4aXN0IHNyY1xpbmNsdWRlXHV0aWxzXGVycmNvZGVzLmggZGVs IC9xIHNyY1xpbmNsdWRlXHV0aWxzXGVycmNvZGVzLmgKIGlmIGV4aXN0IHNyY1xpbmNsdWRl XHV0aWxzXGZtZ3JvaWRzLmggZGVsIC9xIHNyY1xpbmNsdWRlXHV0aWxzXGZtZ3JvaWRzLmgK IGlmIGV4aXN0IHNyY1xpbmNsdWRlXHV0aWxzXGZtZ3Jwcm90b3MuaCBkZWwgL3Egc3JjXGlu Y2x1ZGVcdXRpbHNcZm1ncnByb3Rvcy5oCiBpZiBleGlzdCBzcmNcaW5jbHVkZVxzdG9yYWdl XGx3bG9ja25hbWVzLmggZGVsIC9xIHNyY1xpbmNsdWRlXHN0b3JhZ2VcbHdsb2NrbmFtZXMu aAoraWYgZXhpc3Qgc3JjXGluY2x1ZGVcdXRpbHNcd2FpdF9ldmVudF90eXBlcy5oIGRlbCAv cSBzcmNcaW5jbHVkZVx1dGlsc1x3YWl0X2V2ZW50X3R5cGVzLmgKIGlmIGV4aXN0IHNyY1xp bmNsdWRlXHV0aWxzXHByb2Jlcy5oIGRlbCAvcSBzcmNcaW5jbHVkZVx1dGlsc1xwcm9iZXMu aAogaWYgZXhpc3Qgc3JjXGluY2x1ZGVcY2F0YWxvZ1xzY2hlbWFwZy5oIGRlbCAvcSBzcmNc aW5jbHVkZVxjYXRhbG9nXHNjaGVtYXBnLmgKIGlmIGV4aXN0IHNyY1xpbmNsdWRlXGNhdGFs b2dcc3lzdGVtX2ZrX2luZm8uaCBkZWwgL3Egc3JjXGluY2x1ZGVcY2F0YWxvZ1xzeXN0ZW1f ZmtfaW5mby5oCkBAIC02MSw3ICs2Miw5IEBAIGlmICVESVNUJT09MSBpZiBleGlzdCBzcmNc YmFja2VuZFx1dGlsc1xmbWdyLXN0YW1wIGRlbCAvcSBzcmNcYmFja2VuZFx1dGlsc1xmbWdy CiBpZiAlRElTVCU9PTEgaWYgZXhpc3Qgc3JjXGJhY2tlbmRcdXRpbHNcZXJyY29kZXMuaCBk ZWwgL3Egc3JjXGJhY2tlbmRcdXRpbHNcZXJyY29kZXMuaAogaWYgJURJU1QlPT0xIGlmIGV4 aXN0IHNyY1xiYWNrZW5kXG5vZGVzXG5vZGV0YWdzLmggZGVsIC9xIHNyY1xiYWNrZW5kXG5v ZGVzXG5vZGV0YWdzLmgKIGlmICVESVNUJT09MSBpZiBleGlzdCBzcmNcYmFja2VuZFxzdG9y YWdlXGxtZ3JcbHdsb2NrbmFtZXMuYyBkZWwgL3Egc3JjXGJhY2tlbmRcc3RvcmFnZVxsbWdy XGx3bG9ja25hbWVzLmMKK2lmICVESVNUJT09MSBpZiBleGlzdCBzcmNcYmFja2VuZFx1dGls c1xhY3Rpdml0eVxwZ3N0YXRfd2FpdF9ldmVudC5jIGRlbCAvcSBzcmNcYmFja2VuZFx1dGls c1xhY3Rpdml0eVxwZ3N0YXRfd2FpdF9ldmVudC5jCiBpZiAlRElTVCU9PTEgaWYgZXhpc3Qg c3JjXGJhY2tlbmRcc3RvcmFnZVxsbWdyXGx3bG9ja25hbWVzLmggZGVsIC9xIHNyY1xiYWNr ZW5kXHN0b3JhZ2VcbG1nclxsd2xvY2tuYW1lcy5oCitpZiAlRElTVCU9PTEgaWYgZXhpc3Qg c3JjXGJhY2tlbmRcdXRpbHNcYWN0aXZpdHlcd2FpdF9ldmVudF90eXBlcy5oIGRlbCAvcSBz cmNcYmFja2VuZFx1dGlsc1xhY3Rpdml0eVx3YWl0X2V2ZW50X3R5cGVzLmgKIGlmICVESVNU JT09MSBpZiBleGlzdCBzcmNccGxccGxweXRob25cc3BpZXhjZXB0aW9ucy5oIGRlbCAvcSBz cmNccGxccGxweXRob25cc3BpZXhjZXB0aW9ucy5oCiBpZiAlRElTVCU9PTEgaWYgZXhpc3Qg c3JjXHBsXHBscGdzcWxcc3JjXHBsZXJyY29kZXMuaCBkZWwgL3Egc3JjXHBsXHBscGdzcWxc c3JjXHBsZXJyY29kZXMuaAogaWYgJURJU1QlPT0xIGlmIGV4aXN0IHNyY1xwbFx0Y2xccGx0 Y2xlcnJjb2Rlcy5oIGRlbCAvcSBzcmNccGxcdGNsXHBsdGNsZXJyY29kZXMuaAotLSAKMi4z NC4xCgo= --------------DCGaeteYW7BQ8bE3i9tDlbYN--