From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id +C1OJ24jZWeoWQEAe85BDQ:P1 (envelope-from ) for ; Fri, 20 Dec 2024 07:57:34 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id +C1OJ24jZWeoWQEAe85BDQ (envelope-from ) for ; Fri, 20 Dec 2024 08:57:34 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=l4AJ2+xZ; dkim=fail ("headers rsa verify failed") header.d=proton.me header.s=qsx45qqp4nblrfbshgwlk6lsoy.protonmail header.b="IEi6/UJ5"; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1734681454; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=p0EERgoZvihfU+43ktPHBOioGhmGOfniqgNNzku7r78=; b=j2wW9oQxU6AQKYdnpu9zqfQ0lxZIEBq1mtqb9GrfinYv8aZTbUa6qwfl6PwYR/wxzJurtJ i27ldCqsPM54Ms+xzD23yOP9P19rKPS/h8upWQBWvH5yZPJ/m0NDRd4kpuHDzL8mZtNZRz o88GFVRSKEyCFhRKV2Z9BPcXbeOOCaSKJiecNYE9Afoe19uEAjmdVAdl/X+uOXXW+a2dAd PdYusD1y5+CFrbxwHP9Lu+KF3u3HU/uwSZWiezA2MaMdT+5ykG/C0tWuTYmUn+zTRjbZU6 6hkqqIjjcRHdDFRDCaLq5kXKn0fwxfoeHOgpFJJP2CWJ5Yim10qRQ41dyYe29g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=l4AJ2+xZ; dkim=fail ("headers rsa verify failed") header.d=proton.me header.s=qsx45qqp4nblrfbshgwlk6lsoy.protonmail header.b="IEi6/UJ5"; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1734681454; a=rsa-sha256; cv=none; b=Fe1aTzeBZZKOYuCWRLVNGTnsEOIxGovYx+mm+ExDJWZRArrv/l/ezPgi8P6X6Mq4nruJnc X96RxMcuSAK6rqhIYs+BGfgPAqgdm5tHg+Ul+riYeGr8FjHptCJHt2IL8IcdoH4vaK99ns y34cnAZcD1k2qRVIOnIZBmta/ftqO+Ez47aMx9B1d0vQF3VBGDW1jjdejS4Gu1dU8+53X2 +oAMauQtcjyLN+R7i6dXKbPj+YuGaSgj3a89mih9ASvDEjf0snoNc7CWcZgZMTheWN3M8d UzyDe93Jjjm0avUgpxW1TPggu0jUq1g5AXSpH/XForv5R5qmJ2tNC+LRPfjNXw== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id DA6F62511 for ; Fri, 20 Dec 2024 08:57:33 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tOXsg-0006TZ-8Z; Fri, 20 Dec 2024 02:57:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tOXsc-0006T9-9l for guix-patches@gnu.org; Fri, 20 Dec 2024 02:57:04 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tOXsc-0002oc-0x for guix-patches@gnu.org; Fri, 20 Dec 2024 02:57:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:From:Date:To:In-Reply-To:References:Subject; bh=p0EERgoZvihfU+43ktPHBOioGhmGOfniqgNNzku7r78=; b=l4AJ2+xZ7zCLJcV4hnPmcrMNxEDwqCEsOuZ6oB0qRdy68KznDT1dLABJ3h0vzeFB9DCbizClWAI0gZrVo9jUwB/1gzv568ZmP9Mcn4qOVhNa7kVv8pNeHcHZVNU5cmcJi9YJucETKEAtEqmC1O9b05W7PBfV3ieC27t/AdLB0w0pZ4UrxlnNHzUzdOsHp4BzTaf/BJIr2CPYj21RH7+/QCeHGB0oDSeEbI4Jiw1U2QkUEfuj71rWe1vXfPSTh5+Vq/YKpi/idHien+NbH4madweJRznqmRyt/aTYg5c6rHvqC9OkpDOEw105rhx+CQm/9KvstJ9HX1umMV8uoxeA6g==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tOXsb-0001YY-Od for guix-patches@gnu.org; Fri, 20 Dec 2024 02:57:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#74609] V2 series References: In-Reply-To: Resent-From: unmush Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 20 Dec 2024 07:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74609 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "74609@debbugs.gnu.org" <74609@debbugs.gnu.org> Received: via spool by 74609-submit@debbugs.gnu.org id=B74609.17346813625878 (code B ref 74609); Fri, 20 Dec 2024 07:57:01 +0000 Received: (at 74609) by debbugs.gnu.org; 20 Dec 2024 07:56:02 +0000 Received: from localhost ([127.0.0.1]:41508 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tOXre-0001Wj-8n for submit@debbugs.gnu.org; Fri, 20 Dec 2024 02:56:02 -0500 Received: from mail-43166.protonmail.ch ([185.70.43.166]:51901) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tOVJb-00023d-43 for 74609@debbugs.gnu.org; Fri, 20 Dec 2024 00:12:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=qsx45qqp4nblrfbshgwlk6lsoy.protonmail; t=1734671553; x=1734930753; bh=p0EERgoZvihfU+43ktPHBOioGhmGOfniqgNNzku7r78=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector: List-Unsubscribe:List-Unsubscribe-Post; b=IEi6/UJ5D89rBdCS7TV04fT6wfGSMfJ6/eOxPCLI8xpO6yuvK1tQaGYW1s0SZCakq mvUxcOGR4tCfBVqGLFg+LX/zCu6RMskSjCPtO1bUVUWjpNyJkNvTHKnB1BVlTIgpPv XxZS4smQHEirHCqwfneLJ0LVcnieXmglRUAUannjfNb5glQ8HiKxPqG54jOa8lqANc Q5gWHlINHtJIlY2SaXGp4PoyQv8W5oBvWLEuKb6sLyBPWz31HaHz+sCZZmhwydveBJ Kk1LymQBKtbA9U4oHoNVQtHqPAErnlH29CRCn64eGkMpXbhPeFdkzSs2XeE+jxraKg pxCw1P6FdgEbQ== Date: Fri, 20 Dec 2024 05:12:29 +0000 Message-ID: <2Zx39DgdkCBWdzQR1QSV4eAxPs98sBBj43GTHCUKL3lvKNunS5hQwqkEpvrKSg1W-hlzxdx5RNwlrn5_ILHPHYidzwx_8oCkmzzXxyk6y8M=@proton.me> Feedback-ID: 126986417:user:proton X-Pm-Message-ID: e1ff180d8310700c169dcbfe21e7967019bbe4b9 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww" X-Mailman-Approved-At: Fri, 20 Dec 2024 02:56:01 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: unmush X-ACL-Warn: , unmush via Guix-patches From: unmush via Guix-patches via Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -5.42 X-Spam-Score: -5.42 X-Migadu-Queue-Id: DA6F62511 X-TUID: Gg8vs1ofnMOV --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Efraim writes: > It turns out the first 2 patches didn't apply cleanly, so I fixed that > up and I'm sending them back to the list. It turns out that git wants to do a full 3-way merge when applying patches,= and I formatted the patches from my local repository which has a bunch of extra commits in it that touch gnu/local.mk, so the generated patch referenced a = file hash that didn't exist upstream. > A couple of things that I noticed: >=20 > * mono-5.something doesn't have its patches apply cleanly mono-5.10's patches didn't apply cleanly because some of the mono sources b= eing patched used CRLF line endings, and git normalized those in the patch-containing-the-patch. This time around I've tried first running "git config core.autocrlf false", hopefully that fixes it. Note that you'll nee= d to pass '--keep-cr' to 'git am'. > * I was only able to build to mono-3.12 before I got a build failure on > x86_64 After some discussion in #guix we discovered that the cause for this was th= at parallel builds weren't properly supported. I didn't encounter these failu= res very much on my own system because I used --keep-failed, which disabled offloading so that they were built on my rather weak 4-core system. I have since tested without --keep-failed and found consistent built failures= with '#:parallel-build? #t' all the way up to and including mono-5.10.0, so I've passed '#:parallel-build? #f' to all of those. I have, however, added `"-j" (number->string (parallel-job-count))' to the build-reference-assemblies phase, since that phase takes quite a long time = and doesn't seem to have any trouble with parallel builds. > * mono-1.2.6 doesn't have support for aarch64 or riscv64, and will > probably need some patches (later) to add support. Old versions of mono do technically have an interpreter, but by mono-1.2.6 = it's already bitrotted to the point of not working (it's not only missing severa= l includes, it also refers to nonexistent fields and procedures that seem to = have been since renamed). They eventually fully deleted the interpreter in 2014= in commit 6bee6a7b18978aa6ce977b8b0f9ce19cf962f36b, only to later revive it in= 2017 (https://www.mono-project.com/news/2017/11/13/mono-interpreter/). So even = if we fixed up mono 1.2.6's interpreter, we'd need to also get it working for eac= h version up to 2017 in order to achieve a fully portable bootstrap path. One alternative option could be some variety of frankenmono: either trying = to backport 2017's interpreter to older versions of mono, or trying to run an = old mono compiler / class library with a newer mono runtime. Mono's class libr= ary depends on runtime-specific icalls, which may have changed over time in a non-backwards-compatible way, which could hinder the latter attempt. The implementation of those icalls, additionally, is probably going to depend o= n code that is also depended on by the interpreter, so replacing runtime inte= rnals to more easily suit the backported interpreter may also require updating th= ose, which could hinder the former attempt. Another possibility would be trying to use pnet's ilrun for mono versions u= p to 2017, but this would run in to the same issues with runtime-specific icalls= , so either mono's class library would need to be adjusted to be able to use pne= t's icalls, or mono's icalls would have to be ported to pnet's ilrun, or mcs wo= uld have to be adjusted to not depend on anything mono-specific (if it doesn't already). That last possibility may be one of the most interesting, as compilers usua= lly don't need many fancy runtime features (they are after all a very basic bat= ch input-output process that usually solely touches files), and this would effectively strip every intermediate mono build down to just building mcs. Additionally, if the build could be stripped down to just building mcs= , we wouldn't need to support the new features used by the class library, which = would allow us to make much bigger jumps between versions. The sheer amount of w= ork saved may end up more than making up for ilrun's lower performance. > * libjit FTBFS on powerpc64le. I tried working around it but wasn't > successful in when it came to using libjit. > * The assembly included in libjit targets a too-early version of arm, so > it is just broken completely on armhf and would probably do best with it > being ripped out. libjit is the one component of Portable.NET that outlived its parent projec= t, and it's been updated as recently as 2020. It's supposed to fall back to interpreting on architectures it doesn't support, so it could be that the o= nly changes that need to be made are to refine its detection process. In the meantime, I've adjusted pnet-git to not use libjit on all non-x86 platforms= , instead using pnet's own Converted Virtual Machine (CVM) interpreter. This= was buggy when using its "unroller" functionality, which requires a small amoun= t of platform-specific code anyway, so I disabled that. This also caused a subt= le change in pnetlib-git's test suite, so that a test that previously failed i= s now properly reported as failing, so I disabled that (it failed due to requirin= g libx11 and an X server, and due to no provision being made for it to find a= .so produced by pnetlib that interfaces with libx11). A V2 series is attached. Note: the full series in one message was rejected= by debbugs moderators, but presumably made it through to the other CC'ed r= ecipients. I'm splitting it across some more messages in the hope that it = will go through that way. There should be 21 patches in total. --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0001-gnu-add-treecc.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0001-gnu-add-treecc.patch RnJvbSBmOGIwNTYwNjUxM2YyZGYxYTNkMDg1ZjkwYmRkOTUzYzhlMjAyYWU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMjoxMzozMgpTdWJqZWN0OiBbUEFUQ0ggdjIgMDEvMjFdIGdudTogYWRk IHRyZWVjYy4KCiogZ251L3BhY2thZ2VzL2RvdG5ldC5zY206IG5ldyBtb2R1bGUuCiAgKHRyZWVj Yyk6IG5ldyBwYWNrYWdlLgoqIGdudS9sb2NhbC5tayAoR05VX1NZU1RFTV9NT0RVTEVTKTogYWRk IG5ldyBtb2R1bGUuCi0tLQogZ251L2xvY2FsLm1rICAgICAgICAgICAgfCAgMSArCiBnbnUvcGFj a2FnZXMvZG90bmV0LnNjbSB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEw MDY0NCBnbnUvcGFja2FnZXMvZG90bmV0LnNjbQoKZGlmZiAtLWdpdCBhL2dudS9sb2NhbC5tayBi L2dudS9sb2NhbC5tawppbmRleCBmYmU5ZGZiYjBlZi4uOWViZTQ5Y2E4NjQgMTAwNjQ0Ci0tLSBh L2dudS9sb2NhbC5taworKysgYi9nbnUvbG9jYWwubWsKQEAgLTI0Myw2ICsyNDMsNyBAQCBHTlVf U1lTVEVNX01PRFVMRVMgPQkJCQlcCiAgICVEJS9wYWNrYWdlcy9kaGFsbC5zY20JCQlcCiAgICVE JS9wYWNrYWdlcy9kaWNvLnNjbQkJCQlcCiAgICVEJS9wYWNrYWdlcy9kaWN0ZC5zY20JCQlcCisg ICVEJS9wYWNrYWdlcy9kb3RuZXQuc2NtCQkJXAogICAlRCUvcGFja2FnZXMvZGljdGlvbmFyaWVz LnNjbQkJCVwKICAgJUQlL3BhY2thZ2VzL2RpZmZvc2NvcGUuc2NtCQkJXAogICAlRCUvcGFja2Fn ZXMvZGlnZXN0LnNjbQkJCVwKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9kb3RuZXQuc2NtIGIv Z251L3BhY2thZ2VzL2RvdG5ldC5zY20KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjMwODRlMWNmM2E1Ci0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL2RvdG5l dC5zY20KQEAgLTAsMCArMSw2MiBAQAorKGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBkb3Ru ZXQpCisgICM6dXNlLW1vZHVsZSAoKGd1aXggbGljZW5zZXMpICM6cHJlZml4IGxpY2Vuc2U6KQor ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBhc3NlbWJseSkKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgYmlzb24pCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNoZWNrKQor ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjbWFrZSkKKyAgIzp1c2UtbW9kdWxlIChnbnUg cGFja2FnZXMgY29tcHJlc3Npb24pCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGN1cmwp CisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGZsZXgpCisgICM6dXNlLW1vZHVsZSAoZ251 IHBhY2thZ2VzIGdldHRleHQpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHBrZy1jb25m aWcpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGJhc2UpCisgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGF1dG90b29scykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgYmR3 LWdjKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBmb250dXRpbHMpCisgICM6dXNlLW1v ZHVsZSAoZ251IHBhY2thZ2VzIGdsaWIpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGlj dTRjKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBpbnN0cnVtZW50YXRpb24pCisgICM6 dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGtlcmJlcm9zKQorICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcyBsaWJmZmkpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpbnV4KQorICAj OnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBsbHZtKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBwZXJsKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwaG90bykKKyAgIzp1c2Ut bW9kdWxlIChnbnUgcGFja2FnZXMgdGV4aW5mbykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2Fn ZXMgdGxzKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBpbWFnZSkKKyAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMgZ3RrKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBweXRo b24pCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHhtbCkKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgeG9yZykKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgdmVyc2lvbi1j b250cm9sKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcykKKyAgIzp1c2UtbW9kdWxlIChn dWl4IG1vZHVsZXMpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykKKyAgIzp1c2UtbW9k dWxlIChndWl4IGRvd25sb2FkKQorICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25sb2FkKQor ICAjOnVzZS1tb2R1bGUgKGd1aXggZ2V4cCkKKyAgIzp1c2UtbW9kdWxlIChndWl4IHV0aWxzKQor ICAjOnVzZS1tb2R1bGUgKGd1aXggYnVpbGQtc3lzdGVtIGdudSkKKyAgIzp1c2UtbW9kdWxlIChn dWl4IGJ1aWxkLXN5c3RlbSBweXRob24pCisgICM6dXNlLW1vZHVsZSAoaWNlLTkgbWF0Y2gpKQor CisoZGVmaW5lLXB1YmxpYyB0cmVlY2MKKyAgKHBhY2thZ2UKKyAgICAobmFtZSAidHJlZWNjIikK KyAgICAodmVyc2lvbiAiMC4zLjEwIikKKyAgICAoc291cmNlIChvcmlnaW4KKyAgICAgICAgICAg ICAgKG1ldGhvZCB1cmwtZmV0Y2gpCisgICAgICAgICAgICAgICh1cmkgKHN0cmluZy1hcHBlbmQK KyAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vZG93bmxvYWQuc2F2YW5uYWguZ251Lm9yZy9y ZWxlYXNlcy9kb3RnbnUtcG5ldC90cmVlY2MtIgorICAgICAgICAgICAgICAgICAgICB2ZXJzaW9u ICIudGFyLmd6IikpCisgICAgICAgICAgICAgIChzaGEyNTYKKyAgICAgICAgICAgICAgIChiYXNl MzIKKyAgICAgICAgICAgICAgICAiMXJ6Z25zcGcyeGNjZHEzcXN4MHZpM2oyOGg0cWtyemJyam5o enZubnkzNGZqZmsyMTdheSIpKSkpCisgICAgKGJ1aWxkLXN5c3RlbSBnbnUtYnVpbGQtc3lzdGVt KQorICAgIChob21lLXBhZ2UgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZG90Z251IikK KyAgICAoc3lub3BzaXMgIlRyZWUgQ29tcGlsZXItQ29tcGlsZXIuIikKKyAgICAoZGVzY3JpcHRp b24gIlRoZSB0cmVlY2MgcHJvZ3JhbSBpcyBkZXNpZ25lZCB0byBhc3Npc3QgaW4gdGhlIGRldmVs b3BtZW50CitvZiBjb21waWxlcnMgYW5kIG90aGVyIGxhbmd1YWdlLWJhc2VkIHRvb2xzLiAgSXQg bWFuYWdlcyB0aGUgZ2VuZXJhdGlvbiBvZgorY29kZSB0byBoYW5kbGUgYWJzdHJhY3Qgc3ludGF4 IHRyZWVzIGFuZCBvcGVyYXRpb25zIHVwb24gdGhlIHRyZWVzLiIpCisgICAgKGxpY2Vuc2UgbGlj ZW5zZTpncGwyKykpKQotLSAKMi40NS4yCgo= --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0003-gnu-Add-pnetlib-git.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0003-gnu-Add-pnetlib-git.patch RnJvbSA3ZmQzZWIxOTEzMGQ2MDA3NWUyNGMxYzJiMGJkMDM2NzM4NmQ1MGJhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMjo1MzoyMwpTdWJqZWN0OiBbUEFUQ0ggdjIgMDMvMjFdIGdudTogQWRk IHBuZXRsaWItZ2l0LgoKKiBnbnUvcGFja2FnZXMvZG90bmV0LnNjbSAocG5ldGxpYi1naXQpOiBO ZXcgdmFyaWFibGUuCgotLS0KIGdudS9wYWNrYWdlcy9kb3RuZXQuc2NtIHwgODEgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA4MSBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2RvdG5ldC5zY20gYi9nbnUvcGFj a2FnZXMvZG90bmV0LnNjbQppbmRleCBmZDBkNzFiZmU2OS4uOWQ5Y2M1NDIxYjAgMTAwNjQ0Ci0t LSBhL2dudS9wYWNrYWdlcy9kb3RuZXQuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9kb3RuZXQuc2Nt CkBAIC0xODQsMyArMTg0LDg0IEBAIChkZWZpbmUtcHVibGljIHBuZXQtZ2l0CiB0byBidWlsZCBh bmQgZXhlY3V0ZSAuTkVUIGFwcGxpY2F0aW9ucywgaW5jbHVkaW5nIGEgQyMgY29tcGlsZXIsCiBh c3NlbWJsZXIsIGRpc2Fzc2VtYmxlciwgYW5kIHJ1bnRpbWUgZW5naW5lLiIpCiAgICAgICAobGlj ZW5zZSBsaWNlbnNlOmdwbDIrKSkpKQorCisoZGVmaW5lLXB1YmxpYyBwbmV0bGliLWdpdAorICAo bGV0ICgodmVyc2lvbiAiMC44LjAiKQorICAgICAgICAoY29tbWl0ICJjM2MxMmI4YjBjNjVmNTQ4 MmQwM2Q2YTQ4NjVmNzY3MGU5OGJhZjRjIikKKyAgICAgICAgKHJldmlzaW9uICIwIikpCisgICAg KHBhY2thZ2UKKyAgICAgIChuYW1lICJwbmV0bGliLWdpdCIpCisgICAgICAodmVyc2lvbiAoZ2l0 LXZlcnNpb24gdmVyc2lvbiByZXZpc2lvbiBjb21taXQpKQorICAgICAgKHNvdXJjZSAob3JpZ2lu CisgICAgICAgICAgICAgICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgICAgICAgICAgKHVy aSAoZ2l0LXJlZmVyZW5jZQorICAgICAgICAgICAgICAgICAgICAgICh1cmwKKyAgICAgICAgICAg ICAgICAgICAgICAgImh0dHBzOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0L2RvdGdudS1wbmV0 L3BuZXRsaWIuZ2l0IikKKyAgICAgICAgICAgICAgICAgICAgICAoY29tbWl0IGNvbW1pdCkpKQor ICAgICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkK KyAgICAgICAgICAgICAgICAoc2hhMjU2CisgICAgICAgICAgICAgICAgIChiYXNlMzIKKyAgICAg ICAgICAgICAgICAgICIwNGRpa2tpM2xyM20xY2FjaXJsZDkwcnBpOTU2NTZiMnkybWM1cmt5Y2I3 czB5ZmR6MW5rIikpCisgICAgICAgICAgICAgICAgKG1vZHVsZXMgJygoZ3VpeCBidWlsZCB1dGls cykpKQorICAgICAgICAgICAgICAgIChzbmlwcGV0CisgICAgICAgICAgICAgICAgICN+KGJlZ2lu CisgICAgICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbHRlciBmaWxl LWV4aXN0cz8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICcoImNvbmZpZ3VyZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImNvbmZpZy5ndWVzcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmZpZy5zdWIiCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnN0YWxsLXNoIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibHRtYWluLnNo IikpKQorICAgICAgICAgICAgICAgICAgICAgKGZvci1lYWNoIGRlbGV0ZS1maWxlIChmaW5kLWZp bGVzICIuIiAiTWFrZWZpbGUoXFwuaW4pPyQiKSkKKyAgICAgICAgICAgICAgICAgICAgIChzdWJz dGl0dXRlKiAoZmluZC1maWxlcyAidGVzdHMiICJeTWFrZWZpbGVcXC5hbSQiKQorICAgICAgICAg ICAgICAgICAgICAgICAoKCJURVNUU19FTlZJUk9OTUVOVC4qIikKKyAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgIkxPR19DT01Q SUxFUiA9ICQoU0hFTEwpXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIkFNX0xPR19GTEFH UyA9ICQodG9wX2J1aWxkZGlyKS90b29scy9ydW5fdGVzdC5zaCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAiICQodG9wX2J1aWxkZGlyKSIpKSkKKyAgICAgICAgICAgICAgICAgICAgIChzdWJz dGl0dXRlKiAidG9vbHMvcnVuX3Rlc3Quc2guaW4iCisgICAgICAgICAgICAgICAgICAgICAgICgo ImVuX1VTIikgImVuX1VTLnV0ZjgiKSkKKyAgICAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRl KiAidG9vbHMvd3JhcHBlci5zaC5pbiIKKyAgICAgICAgICAgICAgICAgICAgICAgKCgiZXhlYyAu TE5fUyBjbHJ3cmFwIC4uMS4iIGFsbCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmct YXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgImVjaG8gJyMhQFNIRUxMQCcgPj4gJDFc biIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZWNobyBleGVjICRDTFJXUkFQIgorICAgICAg ICAgICAgICAgICAgICAgICAgICIgJChkaXJuYW1lICQoZGlybmFtZSAkMSkpIgorICAgICAgICAg ICAgICAgICAgICAgICAgICIvbGliL2NzY2MvbGliLyQoYmFzZW5hbWUgJDEpLmV4ZSA+PiAkMVxu IgorICAgICAgICAgICAgICAgICAgICAgICAgICJjaG1vZCAreCAkMSIpKSkpKSkpCisgICAgICAo YnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCisgICAgICAoYXJndW1lbnRzCisgICAgICAg KGxpc3QKKyAgICAgICAgIzptYWtlLWZsYWdzICN+KGxpc3QgIkNGTEFHUys9LVduby1wb2ludGVy LXRvLWludC1jYXN0IikKKyAgICAgICAgIzpwaGFzZXMKKyAgICAgICAgI34obW9kaWZ5LXBoYXNl cyAlc3RhbmRhcmQtcGhhc2VzCisgICAgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sgJ2Rpc2Fi bGUteDExLXRlc3RzCisgICAgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgICAgIChz dWJzdGl0dXRlKiAidGVzdHMvTWFrZWZpbGUuYW0iCisgICAgICAgICAgICAgICAgICA7OyBUaGlz IGFjdHVhbGx5IGFsd2F5cyBmYWlscywgZm9yIGEgbnVtYmVyIG9mCisgICAgICAgICAgICAgICAg ICA7OyByZWFzb25zOgorICAgICAgICAgICAgICAgICAgOzsgMS4gV2UgaGF2ZSBubyBsaWJ4MTEg cHJlc2VudCwgbm9yIGRvIHdlIGhhdmUgYW4gWCBkaXNwbGF5CisgICAgICAgICAgICAgICAgICA7 OyAgICBwcmVzZW50LiAgVGhpcyB3aWxsIGNhdXNlIGxpYlhzaGFycFN1cHBvcnQuc28gdG8gYmUK KyAgICAgICAgICAgICAgICAgIDs7ICAgIGJ1aWx0IHdpdGggb25seSBzaGltcyB0aGF0IGZhaWwg YXQgcnVudGltZS4KKyAgICAgICAgICAgICAgICAgIDs7IDIuIE5vIG1lY2hhbmlzbSBpcyBwcm92 aWRlZCBmb3IKKyAgICAgICAgICAgICAgICAgIDs7ICAgIHRlc3RzL1N5c3RlbS5XaW5kb3dzLkZv cm1zL1Rlc3RGb3Jtcy5kbGwgdG8gZmluZAorICAgICAgICAgICAgICAgICAgOzsgICAgbGliWHNo YXJwU3VwcG9ydC5zbywgd2hpY2ggc2VlbXMgdG8gc2l0IGF0CisgICAgICAgICAgICAgICAgICA7 OyAgICBYc2hhcnAvLmxpYnMvbGliWHNoYXJwU3VwcG9ydC5zby4KKyAgICAgICAgICAgICAgICAg IDs7IFdpdGggYSBsaWJqaXQgcG5ldCwKKyAgICAgICAgICAgICAgICAgIDs7IFN5c3RlbS5EcmF3 aW5nLlRvb2xraXQuVG9vbGtpdEhhbmRsZXIuQ3JlYXRlRGVmYXVsdFRvb2xraXQKKyAgICAgICAg ICAgICAgICAgIDs7IHRocm93cyBBcmd1bWVudE51bGxFeGNlcHRpb24gd2hlbiBpbnZva2luZyBB c3NlbWJseS5Mb2FkLAorICAgICAgICAgICAgICAgICAgOzsgd2hpbGUgYSBjdm0gcG5ldCBpbnN0 ZWFkIHN1Y2NlZWRzIHRlbXBvcmFyaWx5LCBidXQgdGhlbgorICAgICAgICAgICAgICAgICAgOzsg ZmFpbHMgd2hlbiBpbnZva2luZworICAgICAgICAgICAgICAgICAgOzsgU3lzdGVtLkRyYXdpbmcu VG9vbGtpdC5EcmF3aW5nVG9vbGtpdC4uY3Rvci4gIEZvciBzb21lCisgICAgICAgICAgICAgICAg ICA7OyByZWFzb24gdGhpcyByZXN1bHRzIGluIGNzdW5pdCBwYXNzaW5nIHRoZSBmb3JtZXIgYW5k CisgICAgICAgICAgICAgICAgICA7OyBmYWlsaW5nIHRoZSBsYXR0ZXIuCisgICAgICAgICAgICAg ICAgICAoKCJTeXN0ZW1cXC5XaW5kb3dzXFwuRm9ybXMiKSAiIikpKSkpKSkKKyAgICAgIChuYXRp dmUtaW5wdXRzCisgICAgICAgKGxpc3QgYXV0b2NvbmYgYXV0b21ha2UgbGlidG9vbCB0cmVlY2Mp KQorICAgICAgKGlucHV0cworICAgICAgIChsaXN0IHBuZXQtZ2l0KSkKKyAgICAgIChob21lLXBh Z2UgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9kb3RnbnUvaHRtbDIuMC9wbmV0Lmh0bWwi KQorICAgICAgKHN5bm9wc2lzICJMaWJyYXJpZXMgZm9yIHRoZSBDIyBwcm9ncmFtbWluZyBsYW5n dWFnZSIpCisgICAgICAoZGVzY3JpcHRpb24KKyAgICAgICAiRG90R05VIFBvcnRhYmxlLk5FVCBM aWJyYXJ5IGNvbnRhaW5zIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBDIyBsaWJyYXJ5LAorZm9y IHVzZSB3aXRoIC5ORVQtY2FwYWJsZSBydW50aW1lIGVuZ2luZXMgYW5kIGFwcGxpY2F0aW9ucy4i KQorICAgICAgKGxpY2Vuc2UgbGljZW5zZTpncGwyKykpKSkKLS0gCjIuNDUuMgoK --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0002-gnu-Add-pnet-git.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0002-gnu-Add-pnet-git.patch RnJvbSAyOTU0MzYwYTlhMWQ3OTdhNzIxNjgxODFhYzM3MmQwYzNkNWMzODlmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMjo0NDo1NgpTdWJqZWN0OiBbUEFUQ0ggdjIgMDIvMjFdIGdudTogQWRk IHBuZXQtZ2l0LgoKKiBnbnUvcGFja2FnZXMvZG90bmV0LnNjbSAocG5ldC1naXQpOiBOZXcgdmFy aWFibGUuCiogZ251L3BhY2thZ2VzL3BhdGNoZXMvcG5ldC1maXgtbGluZS1udW1iZXItaW5mby5w YXRjaDogbmV3IHBhdGNoLgoqIGdudS9wYWNrYWdlcy9wYXRjaGVzL3BuZXQtZml4LW9mZi1ieS1v bmUucGF0Y2g6IG5ldyBwYXRjaC4KKiBnbnUvcGFja2FnZXMvcGF0Y2hlcy9wbmV0LW5ld2VyLWxp YmdjLWZpeC5wYXRjaDogbmV3IHBhdGNoLgoqIGdudS9wYWNrYWdlcy9wYXRjaGVzL3BuZXQtbmV3 ZXItdGV4aW5mby1maXgucGF0Y2g6IG5ldyBwYXRjaC4KKiBnbnUvbG9jYWwubWsgKGRpc3RfcGF0 Y2hfREFUQSk6IHJlZ2lzdGVyIG5ldyBwYXRjaGVzLgoKLS0tCiBnbnUvbG9jYWwubWsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwogZ251L3BhY2thZ2VzL2RvdG5ldC5z Y20gICAgICAgICAgICAgICAgICAgICAgIHwgMTI0ICsrKysrKysrKysrKysrKysrKwogLi4uL3Bh dGNoZXMvcG5ldC1maXgtbGluZS1udW1iZXItaW5mby5wYXRjaCAgIHwgIDEzICsrCiAuLi4vcGF0 Y2hlcy9wbmV0LWZpeC1vZmYtYnktb25lLnBhdGNoICAgICAgICAgfCAgMTMgKysKIC4uLi9wYXRj aGVzL3BuZXQtbmV3ZXItbGliZ2MtZml4LnBhdGNoICAgICAgICB8ICA0NSArKysrKysrCiAuLi4v cGF0Y2hlcy9wbmV0LW5ld2VyLXRleGluZm8tZml4LnBhdGNoICAgICAgfCAgMTMgKysKIDYgZmls ZXMgY2hhbmdlZCwgMjEyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFj a2FnZXMvcGF0Y2hlcy9wbmV0LWZpeC1saW5lLW51bWJlci1pbmZvLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvcG5ldC1maXgtb2ZmLWJ5LW9uZS5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9wYXRjaGVzL3BuZXQtbmV3ZXItbGliZ2Mt Zml4LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvcG5ldC1u ZXdlci10ZXhpbmZvLWZpeC5wYXRjaAoKZGlmZiAtLWdpdCBhL2dudS9sb2NhbC5tayBiL2dudS9s b2NhbC5tawppbmRleCA5ZWJlNDljYTg2NC4uMGUyZDdiZmExMzcgMTAwNjQ0Ci0tLSBhL2dudS9s b2NhbC5taworKysgYi9nbnUvbG9jYWwubWsKQEAgLTE5MjMsNiArMTkyMywxMCBAQCBkaXN0X3Bh dGNoX0RBVEEgPQkJCQkJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvb3duY2xvdWQtZGlzYWJs ZS11cGRhdGVjaGVjay5wYXRjaAlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL3A3emlwLUNWRS0y MDE2LTkyOTYucGF0Y2gJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvcDd6aXAtQ1ZFLTIwMTct MTc5NjkucGF0Y2gJCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvcG5ldC1maXgtbGluZS1udW1i ZXItaW5mby5wYXRjaAkJXAorICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9wbmV0LWZpeC1vZmYtYnkt b25lLnBhdGNoCQlcCisgICVEJS9wYWNrYWdlcy9wYXRjaGVzL3BuZXQtbmV3ZXItbGliZ2MtZml4 LnBhdGNoCQlcCisgICVEJS9wYWNrYWdlcy9wYXRjaGVzL3BuZXQtbmV3ZXItdGV4aW5mby1maXgu cGF0Y2gJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvcDd6aXAtZml4LWJ1aWxkLXdpdGgtZ2Nj LTExLnBhdGNoCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvcDd6aXAtcmVtb3ZlLXVudXNlZC1j b2RlLnBhdGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL3BhbS1rcmI1LUNWRS0yMDIwLTEw NTk1LnBhdGNoCQlcCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvZG90bmV0LnNjbSBiL2dudS9w YWNrYWdlcy9kb3RuZXQuc2NtCmluZGV4IDMwODRlMWNmM2E1Li5mZDBkNzFiZmU2OSAxMDA2NDQK LS0tIGEvZ251L3BhY2thZ2VzL2RvdG5ldC5zY20KKysrIGIvZ251L3BhY2thZ2VzL2RvdG5ldC5z Y20KQEAgLTYwLDMgKzYwLDEyNyBAQCAoZGVmaW5lLXB1YmxpYyB0cmVlY2MKIG9mIGNvbXBpbGVy cyBhbmQgb3RoZXIgbGFuZ3VhZ2UtYmFzZWQgdG9vbHMuICBJdCBtYW5hZ2VzIHRoZSBnZW5lcmF0 aW9uIG9mCiBjb2RlIHRvIGhhbmRsZSBhYnN0cmFjdCBzeW50YXggdHJlZXMgYW5kIG9wZXJhdGlv bnMgdXBvbiB0aGUgdHJlZXMuIikKICAgICAobGljZW5zZSBsaWNlbnNlOmdwbDIrKSkpCisKKzs7 IHNldmVyYWwgaW1wcm92ZW1lbnRzIG9jY3VycmVkIHBhc3QgdGhlIDAuOC4wIHJlbGVhc2UgdGhh dCBtYWtlIGl0IGVhc2llciB0bworOzsgYm9vdHN0cmFwIG1vbm8KKyhkZWZpbmUtcHVibGljIHBu ZXQtZ2l0CisgIChsZXQgKChjb21taXQgIjNiYWY5NDczNGQ4ZGMzZmRhYmJhNjhhODg5MWU2N2E0 M2VkNmM0YmQiKQorICAgICAgICAodmVyc2lvbiAiMC44LjAiKQorICAgICAgICAocmV2aXNpb24g IjAiKQorICAgICAgICAobGliaml0LXN1cHBvcnRlZD8KKyAgICAgICAgIChsYW1iZGEgKCkKKyAg ICAgICAgICAgOzsgVE9ETzogYWNjdXJhdGVseSBkZXRlcm1pbmUgd2hpY2ggcGxhdGZvcm1zIGFy ZQorICAgICAgICAgICA7OyBhbmQgYXJlbid0IHN1cHBvcnRlZCBieSBsaWJqaXQsIHRoZW4gdXNl OgorICAgICAgICAgICA7OworICAgICAgICAgICA7OyAoc3VwcG9ydGVkLXBhY2thZ2U/IGxpYmpp dAorICAgICAgICAgICA7OyAgICAgICAgICAgICAgICAgICAgIChvciAoJWN1cnJlbnQtdGFyZ2V0 LXN5c3RlbSkKKyAgICAgICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgICAgKCVjdXJyZW50 LXN5c3RlbSkpKQorICAgICAgICAgICAodGFyZ2V0LXg4Nj8pKSkpCisgICAgKHBhY2thZ2UKKyAg ICAgIChuYW1lICJwbmV0LWdpdCIpCisgICAgICAodmVyc2lvbiAoZ2l0LXZlcnNpb24gdmVyc2lv biByZXZpc2lvbiBjb21taXQpKQorICAgICAgKHNvdXJjZSAob3JpZ2luCisgICAgICAgICAgICAg ICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgICAgICAgICAgKHVyaSAoZ2l0LXJlZmVyZW5j ZQorICAgICAgICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0LnNhdmFubmFoLmdudS5v cmcvZ2l0L2RvdGdudS1wbmV0L3BuZXQuZ2l0IikKKyAgICAgICAgICAgICAgICAgICAgICAoY29t bWl0IGNvbW1pdCkpKQorICAgICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUg bmFtZSB2ZXJzaW9uKSkKKyAgICAgICAgICAgICAgICAoc2hhMjU2CisgICAgICAgICAgICAgICAg IChiYXNlMzIKKyAgICAgICAgICAgICAgICAgICIwdnpudnJnejhsMG1waWIxcno1djNjbHI3Y241 NzB2eXA4MGY3ZjFqdnppdm5jMWltem42IikpCisgICAgICAgICAgICAgICAgKG1vZHVsZXMgJygo Z3VpeCBidWlsZCB1dGlscykpKQorICAgICAgICAgICAgICAgIChzbmlwcGV0CisgICAgICAgICAg ICAgICAgICN+KGJlZ2luCisgICAgICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggZGVsZXRlLWZp bGUtcmVjdXJzaXZlbHkgJygibGliZmZpIiAibGliZ2MiKSkKKyAgICAgICAgICAgICAgICAgICAg IChmb3ItZWFjaCBkZWxldGUtZmlsZSAoZmlsdGVyIGZpbGUtZXhpc3RzPworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygiY29tcGlsZSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmZpZ3Vy ZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ImNvbmZpZy5ndWVzcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImNvbmZpZy5zdWIiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJkZXBjb21wIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5zdGFsbC1zaCIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImx0Y29uZmlnIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibHRjZi1jLnNo IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi bHRtYWluLnNoIikpKQorICAgICAgICAgICAgICAgICAgICAgKGZvci1lYWNoIGRlbGV0ZS1maWxl IChmaW5kLWZpbGVzICIuIiAiTWFrZWZpbGUoXFwuaW4pPyQiKSkKKyAgICAgICAgICAgICAgICAg ICAgIChmb3ItZWFjaCBkZWxldGUtZmlsZSAoZmluZC1maWxlcyAiLiIgIl9ncmFtbWFyXFwuKGN8 aCkkIikpCisgICAgICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggZGVsZXRlLWZpbGUgKGZpbmQt ZmlsZXMgIi4iICJfc2Nhbm5lclxcLihjfGgpJCIpKQorICAgICAgICAgICAgICAgICAgICAgOzsg Rml4IHRvIG5vdCByZXF1aXJlIGJ1bmRsZWQgZGVwZW5kZW5jaWVzCisgICAgICAgICAgICAgICAg ICAgICAoc3Vic3RpdHV0ZSogImNvbmZpZ3VyZS5pbiIKKyAgICAgICAgICAgICAgICAgICAgICAg KCgiR0NMSUJTPScuKmxpYmdjLmEnIikgIkdDTElCUz0nLWxnYyciKQorICAgICAgICAgICAgICAg ICAgICAgICA7OyBBQ19TRUFSQ0hfTElCSklUIGNoZWNrcyBoYXJkY29kZWQgaGVhZGVyIGxvY2F0 aW9ucworICAgICAgICAgICAgICAgICAgICAgICAoKCJzZWFyY2hfbGliaml0PXRydWUiKQorICAg ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgInNlYXJjaF9saWJqaXQ9ZmFsc2Vc biIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJKSVRfTElCUz0tbGpp dCIpKSkKKyAgICAgICAgICAgICAgICAgICAgIChzdWJzdGl0dXRlKiAiTWFrZWZpbGUuYW0iCisg ICAgICAgICAgICAgICAgICAgICAgICgoIk9QVF9TVUJESVJTIFxcKz0gbGliLioiKSAiIikpCisg ICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogInN1cHBvcnQvaGJfZ2MuYyIKKyAgICAg ICAgICAgICAgICAgICAgICAgKCgiI2luY2x1ZGUgLiovbGliZ2MvaW5jbHVkZS9nYy5oLiIpCisg ICAgICAgICAgICAgICAgICAgICAgICAiI2luY2x1ZGUgPGdjLmg+IikKKyAgICAgICAgICAgICAg ICAgICAgICAgKCgiI2luY2x1ZGUgLiovbGliZ2MvaW5jbHVkZS9nY190eXBlZC5oLiIpCisgICAg ICAgICAgICAgICAgICAgICAgICAiI2luY2x1ZGUgPGdjL2djX3R5cGVkLmg+IikpCisgICAgICAg ICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogKGxpc3QgImNvZGVnZW4vTWFrZWZpbGUuYW0iCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNzY2MvYmYvTWFrZWZpbGUu YW0iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNzY2MvY3NoYXJw L01ha2VmaWxlLmFtIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJj c2NjL2MvTWFrZWZpbGUuYW0iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImNzY2MvamF2YS9NYWtlZmlsZS5hbSIpCisgICAgICAgICAgICAgICAgICAgICAgIDs7IEdl bmVyYXRlZCBmaWxlcyBhcmVuJ3QgcHJlcmVxdWlzaXRlcworICAgICAgICAgICAgICAgICAgICAg ICAoKCJUUkVFQ0NfT1VUUFVUID0uKiIpICIiKSkKKyAgICAgICAgICAgICAgICAgICAgIChzdWJz dGl0dXRlKiAiY3NjYy9jc2hhcnAvY3NfZ3JhbW1hci55IgorICAgICAgICAgICAgICAgICAgICAg ICAoKCJZWUxFWCIpICJ5eWxleCgpIikpCisgICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0 ZSogImNzY2MvY29tbW9uL2NjX21haW4uaCIKKyAgICAgICAgICAgICAgICAgICAgICAgKCgiQ0NQ cmVQcm9jIENDUHJlUHJvY2Vzc29yU3RyZWFtOyIgYWxsKQorICAgICAgICAgICAgICAgICAgICAg ICAgKHN0cmluZy1hcHBlbmQgImV4dGVybiAiIGFsbCkpKQorICAgICAgICAgICAgICAgICAgICAg KHN1YnN0aXR1dGUqICJjc2RvYy9zY2FubmVyLmMiCisgICAgICAgICAgICAgICAgICAgICAgICgo ImludFx0dG9rZW47IiBhbGwpCisgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZCAiZXh0ZXJuICIgYWxsKSkpCisgICAgICAgICAgICAgICAgICAgICAoc3Vic3RpdHV0ZSogImRv Yy9jdm1kb2MucHkiCisgICAgICAgICAgICAgICAgICAgICAgICgoInB5dGhvbjEuNSIpCisgICAg ICAgICAgICAgICAgICAgICAgICAicHl0aG9uMyIpKQorICAgICAgICAgICAgICAgICAgICAgKHN1 YnN0aXR1dGUqICJwcm9maWxlcy9mdWxsIgorICAgICAgICAgICAgICAgICAgICAgICA7OyBJZiB0 aGlzIGlzIGxlZnQgdW5tb2RpZmllZCwgaXQgY2F1c2VzIGEgc2VnZmF1bHQgaW4KKyAgICAgICAg ICAgICAgICAgICAgICAgOzsgcG5ldGxpYidzIHRlc3RzLiAgVW5yb2xsZXJzIGFyZSBzb21ld2hh dAorICAgICAgICAgICAgICAgICAgICAgICA7OyBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgYW55d2F5 LCBhbmQgaXQgd2lsbCBmYWxsIGJhY2sKKyAgICAgICAgICAgICAgICAgICAgICAgOzsgdG8gdXNp bmcgR05VIEMncyBsYWJlbHMtYXMtdmFsdWVzIGZlYXR1cmUgKGl0IGNhbiBiZQorICAgICAgICAg ICAgICAgICAgICAgICA7OyBtYWRlIHRvIGZ1cnRoZXIgZmFsbCBiYWNrIHRvIGZ1bGx5CisgICAg ICAgICAgICAgICAgICAgICAgIDs7IHN0YW5kYXJkcy1wb3J0YWJsZSBpbnRlcnByZXRlciBpbXBs ZW1lbnRhdGlvbnMpLgorICAgICAgICAgICAgICAgICAgICAgICAoKCJJTF9DT05GSUdfVU5ST0xM PXkiKQorICAgICAgICAgICAgICAgICAgICAgICAgIklMX0NPTkZJR19VTlJPTEw9biIpKSkpCisg ICAgICAgICAgICAgICAgKHBhdGNoZXMKKyAgICAgICAgICAgICAgICAgKHNlYXJjaC1wYXRjaGVz ICJwbmV0LW5ld2VyLWxpYmdjLWZpeC5wYXRjaCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJwbmV0LW5ld2VyLXRleGluZm8tZml4LnBhdGNoIgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgInBuZXQtZml4LWxpbmUtbnVtYmVyLWluZm8ucGF0Y2giCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAicG5ldC1maXgtb2ZmLWJ5LW9uZS5wYXRjaCIpKSkp CisgICAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCisgICAgICAobmF0aXZlLWlu cHV0cworICAgICAgIChsaXN0IGF1dG9jb25mCisgICAgICAgICAgICAgYXV0b21ha2UKKyAgICAg ICAgICAgICBiaXNvbgorICAgICAgICAgICAgIGZsZXgKKyAgICAgICAgICAgICBsaWJ0b29sCisg ICAgICAgICAgICAgbGliYXRvbWljLW9wcworICAgICAgICAgICAgIChkZWZhdWx0LXB5dGhvbikg OzsgZm9yIGN2bWRvYy5weQorICAgICAgICAgICAgIHRleGluZm8KKyAgICAgICAgICAgICB0cmVl Y2MpKQorICAgICAgKGlucHV0cworICAgICAgIChjb25zKiBsaWJnYworICAgICAgICAgICAgICBs aWJmZmkKKyAgICAgICAgICAgICAgKGlmIChsaWJqaXQtc3VwcG9ydGVkPykKKyAgICAgICAgICAg ICAgICAgIChsaXN0IGxpYmppdCkKKyAgICAgICAgICAgICAgICAgICcoKSkpKQorICAgICAgKGFy Z3VtZW50cworICAgICAgIChhcHBlbmQgKGlmIChsaWJqaXQtc3VwcG9ydGVkPykKKyAgICAgICAg ICAgICAgICAgICAobGlzdCAjOmNvbmZpZ3VyZS1mbGFncyAjfihsaXN0ICItLXdpdGgtaml0Iikp CisgICAgICAgICAgICAgICAgICAgJygpKQorICAgICAgICAgICAgICAgKGxpc3QgIzptYWtlLWZs YWdzICN+KGxpc3QgIkNGTEFHUys9LVduby1wb2ludGVyLXRvLWludC1jYXN0IikpKSkKKyAgICAg IChuYXRpdmUtc2VhcmNoLXBhdGhzCisgICAgICAgKGxpc3QgKHNlYXJjaC1wYXRoLXNwZWNpZmlj YXRpb24KKyAgICAgICAgICAgICAgKHZhcmlhYmxlICJDU0NDX0xJQl9QQVRIIikKKyAgICAgICAg ICAgICAgKGZpbGVzIChsaXN0ICJsaWIvY3NjYy9saWIiKSkpKSkKKyAgICAgIChob21lLXBhZ2Ug Imh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9kb3RnbnUvaHRtbDIuMC9wbmV0Lmh0bWwiKQor ICAgICAgKHN5bm9wc2lzICJDb21waWxlciBmb3IgdGhlIEMjIHByb2dyYW1taW5nIGxhbmd1YWdl IikKKyAgICAgIChkZXNjcmlwdGlvbgorICAgICAgICJUaGUgZ29hbCBvZiB0aGlzIHByb2plY3Qg aXMgdG8gYnVpbGQgYSBzdWl0ZSBvZiBmcmVlIHNvZnR3YXJlIHRvb2xzCit0byBidWlsZCBhbmQg ZXhlY3V0ZSAuTkVUIGFwcGxpY2F0aW9ucywgaW5jbHVkaW5nIGEgQyMgY29tcGlsZXIsCithc3Nl bWJsZXIsIGRpc2Fzc2VtYmxlciwgYW5kIHJ1bnRpbWUgZW5naW5lLiIpCisgICAgICAobGljZW5z ZSBsaWNlbnNlOmdwbDIrKSkpKQpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvcG5l dC1maXgtbGluZS1udW1iZXItaW5mby5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL3BuZXQt Zml4LWxpbmUtbnVtYmVyLWluZm8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjllNWFmODQ5NDEzCi0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3Bh dGNoZXMvcG5ldC1maXgtbGluZS1udW1iZXItaW5mby5wYXRjaApAQCAtMCwwICsxLDEzIEBACitk aWZmIC0tZ2l0IGEvY29kZWdlbi9jZ19jb2VyY2UuYyBiL2NvZGVnZW4vY2dfY29lcmNlLmMKK2lu ZGV4IDkyZDJmNTlhLi5jOTBhZDVlMiAxMDA2NDQKKy0tLSBhL2NvZGVnZW4vY2dfY29lcmNlLmMK KysrKyBiL2NvZGVnZW4vY2dfY29lcmNlLmMKK0BAIC0xMjAzLDYgKzEyMDMsOCBAQCBpbnQgSUxD b2VyY2UoSUxHZW5JbmZvICppbmZvLCBJTE5vZGUgKm5vZGUsIElMTm9kZSAqKnBhcmVudCwKKyAJ CQkJCSE9IElMTWFjaGluZVR5cGVfVm9pZCkKKyAJeworIAkJKnBhcmVudCA9IElMTm9kZV9DYXN0 U2ltcGxlX2NyZWF0ZShub2RlLCBjb25zdFR5cGUpOworKyAgICAgICAgICAgICAgICB5eXNldGZp bGVuYW1lKCpwYXJlbnQsIHl5Z2V0ZmlsZW5hbWUobm9kZSkpOworKwkJeXlzZXRsaW5lbnVtKCpw YXJlbnQsIHl5Z2V0bGluZW51bShub2RlKSk7CisgCQlyZXR1cm4gMTsKKyAJfQorIAllbHNlIGlm KGluZGlyZWN0ICYmIEdldEluZGlyZWN0Q29udmVydFJ1bGVzKGluZm8sZnJvbVR5cGUsdG9UeXBl LDAsIApkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvcG5ldC1maXgtb2ZmLWJ5LW9u ZS5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL3BuZXQtZml4LW9mZi1ieS1vbmUucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjg1OGQyMjY2OTc2Ci0tLSAv ZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvcG5ldC1maXgtb2ZmLWJ5LW9uZS5w YXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0tZ2l0IGEvY29kZWdlbi9jZ19nZW5hdHRyLmMg Yi9jb2RlZ2VuL2NnX2dlbmF0dHIuYworaW5kZXggNTM1ODUyZGEuLmMzYWNjMGRjIDEwMDY0NAor LS0tIGEvY29kZWdlbi9jZ19nZW5hdHRyLmMKKysrKyBiL2NvZGVnZW4vY2dfZ2VuYXR0ci5jCitA QCAtMTUzMiw3ICsxNTMyLDcgQEAgc3RhdGljIGludCBNYXJzaGFsQXNBdHRyaWJ1dGUoSUxHZW5J bmZvICppbmZvLAorIAkJCWVsc2UKKyAJCQl7CisgCQkJCXNpemVQYXJhbUluZGV4ID0gYXR0cmli dXRlSW5mby0+bmFtZWRBcmdzW2N1cnJlbnROYW1lZEFyZ10uZXZhbFZhbHVlLnVuLmk0VmFsdWU7 CistCQkJCWlmKHNpemVQYXJhbUluZGV4IDw9IDApCisrCQkJCWlmKHNpemVQYXJhbUluZGV4IDwg MCkKKyAJCQkJeworIAkJCQkJQ0dFcnJvckZvck5vZGUoaW5mbywgYXR0cmlidXRlSW5mby0+bmFt ZWRBcmdzW2N1cnJlbnROYW1lZEFyZ10ubm9kZSwKKyAJCQkJCQlfKCJUaGUgc2l6ZSBwYXJhbWV0 ZXIgaW5kZXggbXVzdCBiZSA+PSAwIikpOwpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNo ZXMvcG5ldC1uZXdlci1saWJnYy1maXgucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9wbmV0 LW5ld2VyLWxpYmdjLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uMTA4NGI1YTViZWMKLS0tIC9kZXYvbnVsbAorKysgYi9nbnUvcGFja2FnZXMvcGF0Y2hl cy9wbmV0LW5ld2VyLWxpYmdjLWZpeC5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitkaWZmIC0tZ2l0 IGEvc3VwcG9ydC9oYl9nYy5jIGIvc3VwcG9ydC9oYl9nYy5jCitpbmRleCBhNWFkZGIyZC4uNDEx MjY5NjMgMTAwNjQ0CistLS0gYS9zdXBwb3J0L2hiX2djLmMKKysrKyBiL3N1cHBvcnQvaGJfZ2Mu YworQEAgLTEwNCwxMiArMTA0LDYgQEAgc3RhdGljIHZvbGF0aWxlIGludCBfRmluYWxpemVyc1J1 bm5pbmdTeW5jaHJvbm91c2x5ID0gMDsKKyAJI2RlZmluZSBHQ19UUkFDRShhLCBiKQorICNlbmRp ZgorIAorLS8qCistICogVGhpcyBpcyBhIGludGVybmFsIGdsb2JhbCB2YXJpYWJsZSB3aXRoIHRo ZSBudW1iZXIgb2YgcmVjbGFpbWVkIGJ5dGVzCistICogYWZ0ZXIgYSBnYXJiYWdlIGNvbGxlY3Rp b24uCistICovCistZXh0ZXJuIEdDX3NpZ25lZF93b3JkIEdDX2J5dGVzX2ZvdW5kOworLQorIC8q CisgICoJTWFpbiBlbnRyeSBwb2ludCBmb3IgdGhlIGZpbmFsaXplciB0aHJlYWQuCisgICovCitA QCAtNDMyLDYgKzQyNiw3IEBAIGludCBJTEdDRnVsbENvbGxlY3Rpb24oaW50IHRpbWVvdXQpCisg eworIAlpbnQgbGFzdEZpbmFsaXppbmdDb3VudDsKKyAJaW50IGhhc1RocmVhZHM7CisrICAgICAg IHN0cnVjdCBHQ19wcm9mX3N0YXRzX3Mgc3RhdHM7CisgCisgCWhhc1RocmVhZHMgPSBfSUxIYXNU aHJlYWRzKCk7CisgCitAQCAtNDYyLDcgKzQ1Nyw4IEBAIGludCBJTEdDRnVsbENvbGxlY3Rpb24o aW50IHRpbWVvdXQpCisgCQkJR0NfVFJBQ0UoIkxhc3QgZmluYWxpemluZ0NvdW50ID0gJWlcbiIs IGxhc3RGaW5hbGl6aW5nQ291bnQpOworIAorIAkJCUdDX2djb2xsZWN0KCk7CistCQkJYnl0ZXND b2xsZWN0ZWQgPSBHQ19ieXRlc19mb3VuZDsKKysgICAgICAgICAgICAgICAgICAgICAgIEdDX2dl dF9wcm9mX3N0YXRzKCZzdGF0cywgc2l6ZW9mKHN0YXRzKSk7CisrCQkJYnl0ZXNDb2xsZWN0ZWQg PSBzdGF0cy5ieXRlc19yZWNsYWltZWRfc2luY2VfZ2M7CisgCisgCQkJR0NfVFJBQ0UoIkdDOiBi eXRlcyBjb2xsZWN0ZWQgPSAgJWlcbiIsIGJ5dGVzQ29sbGVjdGVkKTsKKyAKK0BAIC01MTYsNyAr NTEyLDggQEAgaW50IElMR0NGdWxsQ29sbGVjdGlvbihpbnQgdGltZW91dCkKKyAJCQlHQ19UUkFD RSgiTGFzdCBmaW5hbGl6aW5nQ291bnQgPSAlaVxuIiwgbGFzdEZpbmFsaXppbmdDb3VudCk7Cisg CisgCQkJR0NfZ2NvbGxlY3QoKTsKKy0JCQlieXRlc0NvbGxlY3RlZCA9IEdDX2J5dGVzX2ZvdW5k OworKyAgICAgICAgICAgICAgICAgICAgICAgR0NfZ2V0X3Byb2Zfc3RhdHMoJnN0YXRzLCBzaXpl b2Yoc3RhdHMpKTsKKysJCQlieXRlc0NvbGxlY3RlZCA9IHN0YXRzLmJ5dGVzX3JlY2xhaW1lZF9z aW5jZV9nYzsKKyAKKyAJCQlHQ19UUkFDRSgiR0M6IGJ5dGVzIGNvbGxlY3RlZCA9ICAlaVxuIiwg Ynl0ZXNDb2xsZWN0ZWQpOworIApkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvcG5l dC1uZXdlci10ZXhpbmZvLWZpeC5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL3BuZXQtbmV3 ZXItdGV4aW5mby1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLmI1NzA1MmVlZWFhCi0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMv cG5ldC1uZXdlci10ZXhpbmZvLWZpeC5wYXRjaApAQCAtMCwwICsxLDEzIEBACitkaWZmIC0tZ2l0 IGEvZG9jL3BuZXR0b29scy50ZXhpIGIvZG9jL3BuZXR0b29scy50ZXhpCitpbmRleCA5MTZkOTBi Yi4uY2RiZTA1Y2YgMTAwNjQ0CistLS0gYS9kb2MvcG5ldHRvb2xzLnRleGkKKysrKyBiL2RvYy9w bmV0dG9vbHMudGV4aQorQEAgLTU5LDcgKzU5LDcgQEAgQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAy MDAxLCAyMDAyLCAyMDAzIFNvdXRoZXJuIFN0b3JtIFNvZnR3YXJlLCBQdHkgTHRkCisgQGNlbnRl ciBAdGl0bGVmb250e1BvcnRhYmxlLk5FVCBEZXZlbG9wbWVudCBUb29sc30KKyAKKyBAdnNraXAg MHB0IHBsdXMgMWZpbGwKKy1AY2VudGVye0NvcHlyaWdodCBAY29weXJpZ2h0e30gMjAwMSwgMjAw MiwgMjAwMyBTb3V0aGVybiBTdG9ybSBTb2Z0d2FyZSwgUHR5IEx0ZH0KKytAY2VudGVyIENvcHly aWdodCBAY29weXJpZ2h0e30gMjAwMSwgMjAwMiwgMjAwMyBTb3V0aGVybiBTdG9ybSBTb2Z0d2Fy ZSwgUHR5IEx0ZAorIEBlbmQgdGl0bGVwYWdlCisgCisgQGMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gCjIu NDUuMgoK --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0007-gnu-Add-mono-2.6.4.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0007-gnu-Add-mono-2.6.4.patch RnJvbSBmMTNmZjUwMmY4ODdkMzE2N2MyZjQ4MmMyYjg1MTg4MWMxNzU0N2U0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMzowNDoxMwpTdWJqZWN0OiBbUEFUQ0ggdjIgMDcvMjFdIGdudTogQWRk IG1vbm8tMi42LjQuCgoqIGdudS9kb3RuZXQuc2NtIChtb25vLTIuNi40KTogTmV3IHZhcmlhYmxl LgoqIGdudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi42LjQtZml4ZXMucGF0Y2g6IE5ldyBwYXRj aC4KKiBnbnUvbG9jYWwubWsgKGRpc3RfcGF0Y2hfREFUQSk6IFJlZ2lzdGVyIGl0LgoKLS0tCiBn bnUvbG9jYWwubWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwogZ251L3Bh Y2thZ2VzL2RvdG5ldC5zY20gICAgICAgICAgICAgICAgICAgICB8IDIzICsrKysrKysrKysKIGdu dS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi42LjQtZml4ZXMucGF0Y2ggfCA0OSArKysrKysrKysr KysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi42LjQtZml4ZXMucGF0Y2gKCmRp ZmYgLS1naXQgYS9nbnUvbG9jYWwubWsgYi9nbnUvbG9jYWwubWsKaW5kZXggZmE5OTY5NmUzMzgu Ljk5ZTEwNmRmOGZjIDEwMDY0NAotLS0gYS9nbnUvbG9jYWwubWsKKysrIGIvZ251L2xvY2FsLm1r CkBAIC0xODI3LDYgKzE4MjcsNyBAQCBkaXN0X3BhdGNoX0RBVEEgPQkJCQkJCVwKICAgJUQlL3Bh Y2thZ2VzL3BhdGNoZXMvbW9uby0xLjkuMS1hZGQtTU9OT19DUkVBVEVfSU1BR0VfVkVSU0lPTi5w YXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tb25vLTEuOS4xLWZpeGVzLnBhdGNoCQkJ XAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tb25vLTIuNC4yLjMtZml4ZXMucGF0Y2gJCQlcCisg ICVEJS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi42LjQtZml4ZXMucGF0Y2gJCQlcCiAgICVEJS9w YWNrYWdlcy9wYXRjaGVzL21vc2FpY2F0Y2hlci11bmJ1bmRsZS1odHNsaWIucGF0Y2gJXAogICAl RCUvcGFja2FnZXMvcGF0Y2hlcy9tcnJlc2N1ZS1zdXBwb3J0LWxvdmUtMTEucGF0Y2gJCVwKICAg JUQlL3BhY2thZ2VzL3BhdGNoZXMvbXRvb2xzLW1mb3JtYXQtdW5pbml0aWFsaXplZC5wYXRjaAlc CmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvZG90bmV0LnNjbSBiL2dudS9wYWNrYWdlcy9kb3Ru ZXQuc2NtCmluZGV4IGFjNGRmYjY3YzRjLi44MmJlZTU1YWE5MCAxMDA2NDQKLS0tIGEvZ251L3Bh Y2thZ2VzL2RvdG5ldC5zY20KKysrIGIvZ251L3BhY2thZ2VzL2RvdG5ldC5zY20KQEAgLTUyMiwz ICs1MjIsMjYgQEAgKGRlZmluZS1wdWJsaWMgbW9uby0yLjQuMgogICAgICAgICAgICAgICBsaWNl bnNlOmxncGwyLjArIDs7IG5vdGU6IC4vbWNzL0xJQ0VOU0UuTEdQTCBzcGVjaWZpZXMgbm8gdmVy c2lvbgogICAgICAgICAgICAgICA7OyBtY3MvamF5CiAgICAgICAgICAgICAgIGxpY2Vuc2U6YnNk LTQpKSkpCisKKyhkZWZpbmUtcHVibGljIG1vbm8tMi42LjQKKyAgKHBhY2thZ2UKKyAgICAoaW5o ZXJpdCBtb25vLTIuNC4yKQorICAgICh2ZXJzaW9uICIyLjYuNCIpCisgICAgKG5hbWUgIm1vbm8i KQorICAgIChzb3VyY2UgKG9yaWdpbgorICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkK KyAgICAgICAgICAgICAgKHVyaQorICAgICAgICAgICAgICAgKGdpdC1yZWZlcmVuY2UKKyAgICAg ICAgICAgICAgICAodXJsICJodHRwczovL2dpdGxhYi53aW5laHEub3JnL21vbm8vbW9uby5naXQi KQorICAgICAgICAgICAgICAgIChjb21taXQgKHN0cmluZy1hcHBlbmQgIm1vbm8tIiAiMi42LjQi KSkpKQorICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lv bikpCisgICAgICAgICAgICAgIChzaGEyNTYKKyAgICAgICAgICAgICAgIChiYXNlMzIKKyAgICAg ICAgICAgICAgICAiMTc5Nzd3NDVxaDhqbWZzbDRiaGk4M3NpNGZ4ZDhzM3g4YjBweG53ZHpqdjNi cXI1NGM4NSIpKQorICAgICAgICAgICAgICAobW9kdWxlcyAnKChndWl4IGJ1aWxkIHV0aWxzKQor ICAgICAgICAgICAgICAgICAgICAgICAgIChpY2UtOSBzdHJpbmctZnVuKSkpCisgICAgICAgICAg ICAgIChzbmlwcGV0IHByZXBhcmUtbW9uby1zb3VyY2UpCisgICAgICAgICAgICAgIChwYXRjaGVz CisgICAgICAgICAgICAgICAoc2VhcmNoLXBhdGNoZXMgIm1vbm8tMi42LjQtZml4ZXMucGF0Y2gi KSkpKQorICAgIChuYXRpdmUtaW5wdXRzIChtb2RpZnktaW5wdXRzIChwYWNrYWdlLW5hdGl2ZS1p bnB1dHMgbW9uby0yLjQuMikKKyAgICAgICAgICAgICAgICAgICAgIChyZXBsYWNlICJtb25vIiBt b25vLTIuNC4yKSkpKSkKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi42 LjQtZml4ZXMucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9tb25vLTIuNi40LWZpeGVzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lODAyYzhiYjdlNAot LS0gL2Rldi9udWxsCisrKyBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi42LjQtZml4ZXMu cGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorZGlmZiAtLWdpdCBhL2RhdGEvbW9uby5wYy5pbiBiL2Rh dGEvbW9uby5wYy5pbgoraW5kZXggMDFlMGE5ZTVkNDEuLmQ0M2JiMTg3MjE4IDEwMDY0NAorLS0t IGEvZGF0YS9tb25vLnBjLmluCisrKysgYi9kYXRhL21vbm8ucGMuaW4KK0BAIC03LDggKzcsNiBA QCBzeXNjb25mZGlyPUBzeXNjb25mZGlyQAorIE5hbWU6IE1vbm8KKyBEZXNjcmlwdGlvbjogTW9u byBSdW50aW1lCisgVmVyc2lvbjogQFZFUlNJT05ACistIyMgQ29tbWVudGVkIG91dCBiZWNhdXNl IFNMRSBoaWRlcyBkZXZlbCBmaWxlcyBpbiB0aGUgU0xFIFNESywKKy0jIyB3aGljaCBub3QgYWxs IGN1c3RvbWVycyB3aWxsIGhhdmUuCistI1JlcXVpcmVzOiBnbGliLTIuMCBndGhyZWFkLTIuMAor K1JlcXVpcmVzOiBnbGliLTIuMCBndGhyZWFkLTIuMCBiZHctZ2MKKyBMaWJzOiAtTCR7bGliZGly fSBAZXhwb3J0X2xkZmxhZ3NAIC1sbW9ubyBAbGlibW9ub19sZGZsYWdzQAorIENmbGFnczogLUkk e2luY2x1ZGVkaXJ9IEBsaWJtb25vX2NmbGFnc0AKK2RpZmYgLS1naXQgYS9tb25vLXVuaW5zdGFs bGVkLnBjLmluIGIvbW9uby11bmluc3RhbGxlZC5wYy5pbgoraW5kZXggN2ZhM2YxMmRjOTEuLjJh MDczNDM2MmZkIDEwMDY0NAorLS0tIGEvbW9uby11bmluc3RhbGxlZC5wYy5pbgorKysrIGIvbW9u by11bmluc3RhbGxlZC5wYy5pbgorQEAgLTEsNiArMSw2IEBACisgTmFtZTogTW9ubworIERlc2Ny aXB0aW9uOiBNb25vIFJ1bnRpbWUKKyBWZXJzaW9uOiBAVkVSU0lPTkAKKy1SZXF1aXJlczogZ2xp Yi0yLjAgZ3RocmVhZC0yLjAKKytSZXF1aXJlczogZ2xpYi0yLjAgZ3RocmVhZC0yLjAgYmR3LWdj CisgTGliczogLUxAbW9ub19idWlsZF9yb290QC9tb25vL21pbmkvLmxpYnMgQGV4cG9ydF9sZGZs YWdzQCAtbG1vbm8gQGxpYm1vbm9fbGRmbGFnc0AKKyBDZmxhZ3M6IC1JQGFic190b3Bfc3JjZGly QCAtSUBhYnNfdG9wX3NyY2RpckAvbW9ubyBAbGlibW9ub19jZmxhZ3NACitkaWZmIC0tZ2l0IGEv bW9uby9taW5pL2RyaXZlci5jIGIvbW9uby9taW5pL2RyaXZlci5jCitpbmRleCBjNGU3ZjRjY2Ri My4uYmI3MDVjMGQxZmMgMTAwNjQ0CistLS0gYS9tb25vL21pbmkvZHJpdmVyLmMKKysrKyBiL21v bm8vbWluaS9kcml2ZXIuYworQEAgLTEzMDIsNiArMTMwMiw3IEBAIG1vbm9fbWFpbiAoaW50IGFy Z2MsIGNoYXIqIGFyZ3ZbXSkKKyAjZW5kaWYKKyAJaWYgKCFnX3RocmVhZF9zdXBwb3J0ZWQgKCkp CisgCQlnX3RocmVhZF9pbml0IChOVUxMKTsKKysgICAgICAgIEdDX2FsbG93X3JlZ2lzdGVyX3Ro cmVhZHMoKTsKKyAKKyAJaWYgKG1vbm9fcnVubmluZ19vbl92YWxncmluZCAoKSAmJiBnZXRlbnYg KCJNT05PX1ZBTEdSSU5EX0xFQUtfQ0hFQ0siKSkgeworIAkJR01lbVZUYWJsZSBtZW1fdnRhYmxl OworZGlmZiAtLWdpdCBhL3J1bnRpbWUvTWFrZWZpbGUuYW0gYi9ydW50aW1lL01ha2VmaWxlLmFt CitpbmRleCBkYTBjMGU4NjcxZC4uOWQwZGVhZjE4MmYgMTAwNjQ0CistLS0gYS9ydW50aW1lL01h a2VmaWxlLmFtCisrKysgYi9ydW50aW1lL01ha2VmaWxlLmFtCitAQCAtMSw2ICsxLDMgQEAKKy0j IGhhY2sgdG8gcHJldmVudCAnY2hlY2snIGZyb20gZGVwZW5kaW5nIG9uICdhbGwnCistQVVUT01B S0VfT1BUSU9OUyA9IGN5Z251cworLQorIHRtcGluc3QgPSBfdG1waW5zdAorIAorIG5vaW5zdF9T Q1JJUFRTID0gbW9uby13cmFwcGVyIG1vbm9kaXMtd3JhcHBlcgotLSAKMi40NS4yCgo= --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0004-gnu-Add-mono-1.2.6.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0004-gnu-Add-mono-1.2.6.patch RnJvbSBmYTFmZWI1MTQ3Yjg1YzE3YmUwZjZiMzY1MmVlYzNmNDY2NzQyNWU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMjo1NTo1NwpTdWJqZWN0OiBbUEFUQ0ggdjIgMDQvMjFdIGdudTogQWRk IG1vbm8tMS4yLjYuCgoqIGdudS9wYWNrYWdlcy9kb3RuZXQuc2NtIChtb25vLTEuMi42KTogTmV3 IHZhcmlhYmxlLgoqIGdudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMS4yLjYtYm9vdHN0cmFwLnBh dGNoOiBOZXcgcGF0Y2guCiogZ251L2xvY2FsLm1rIChkaXN0X3BhdGNoX0RBVEEpOiByZWdpc3Rl ciBpdC4KCi0tLQogZ251L2xvY2FsLm1rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAxICsKIGdudS9wYWNrYWdlcy9kb3RuZXQuc2NtICAgICAgICAgICAgICAgICAgICAgICB8 IDE0NSArKysrKwogLi4uL3BhdGNoZXMvbW9uby0xLjIuNi1ib290c3RyYXAucGF0Y2ggICAgICAg IHwgNTg1ICsrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA3MzEgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMS4yLjYt Ym9vdHN0cmFwLnBhdGNoCgpkaWZmIC0tZ2l0IGEvZ251L2xvY2FsLm1rIGIvZ251L2xvY2FsLm1r CmluZGV4IDBlMmQ3YmZhMTM3Li41NGYwMWJhMDVhOSAxMDA2NDQKLS0tIGEvZ251L2xvY2FsLm1r CisrKyBiL2dudS9sb2NhbC5tawpAQCAtMTgyMyw2ICsxODIzLDcgQEAgZGlzdF9wYXRjaF9EQVRB ID0JCQkJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL21wZzMyMS1nY2MtMTAucGF0Y2gJCQlc CiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL21vZHVsZS1pbml0LXRvb2xzLW1vZHVsZWRpci5wYXRj aAlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL21vbmVyby11c2Utc3lzdGVtLW1pbml1cG5wYy5w YXRjaAkJCVwKKyAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjIuNi1ib290c3RyYXAucGF0 Y2gJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvbW9zYWljYXRjaGVyLXVuYnVuZGxlLWh0c2xp Yi5wYXRjaAlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL21ycmVzY3VlLXN1cHBvcnQtbG92ZS0x MS5wYXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tdG9vbHMtbWZvcm1hdC11bmluaXRp YWxpemVkLnBhdGNoCVwKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9kb3RuZXQuc2NtIGIvZ251 L3BhY2thZ2VzL2RvdG5ldC5zY20KaW5kZXggOWQ5Y2M1NDIxYjAuLjA5Mzg2NTA4MGJiIDEwMDY0 NAotLS0gYS9nbnUvcGFja2FnZXMvZG90bmV0LnNjbQorKysgYi9nbnUvcGFja2FnZXMvZG90bmV0 LnNjbQpAQCAtMjY1LDMgKzI2NSwxNDggQEAgKGRlZmluZS1wdWJsaWMgcG5ldGxpYi1naXQKICAg ICAgICAiRG90R05VIFBvcnRhYmxlLk5FVCBMaWJyYXJ5IGNvbnRhaW5zIGFuIGltcGxlbWVudGF0 aW9uIG9mIHRoZSBDIyBsaWJyYXJ5LAogZm9yIHVzZSB3aXRoIC5ORVQtY2FwYWJsZSBydW50aW1l IGVuZ2luZXMgYW5kIGFwcGxpY2F0aW9ucy4iKQogICAgICAgKGxpY2Vuc2UgbGljZW5zZTpncGwy KykpKSkKKworKGRlZmluZSBwcmVwYXJlLW1vbm8tc291cmNlLTAKKyAgI34oKGZhbHNlLWlmLWV4 Y2VwdGlvbgorICAgICAgKGRlbGV0ZS1maWxlICIuL2NvbmZpZ3VyZSIpKQorICAgICAoZmFsc2Ut aWYtZXhjZXB0aW9uCisgICAgICAoZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgIi4vbGliZ2MiKSkK KyAgICAgOzsganVzdCB0byBiZSBzdXJlCisgICAgIChmb3ItZWFjaCBkZWxldGUtZmlsZQorICAg ICAgICAgICAgICAgKGZpbmQtZmlsZXMgIi4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAi XFwuKGRsbHxleGV8RExMfEVYRXxzbykkIikpCisgICAgIDs7IFdlIGRlbGV0ZWQgZG9jcy9BZ2ls aXR5UGFjay5kbGwgZWFybGllciAoaWYgaXQgZXhpc3RlZCksIGFuZCBpdCdzCisgICAgIDs7IHJl cXVpcmVkIGZvciBidWlsZGluZyB0aGUgZG9jdW1lbnRhdGlvbiwgc28gc2tpcCBidWlsZGluZyB0 aGUKKyAgICAgOzsgZG9jdW1lbnRhdGlvbi4gIEFjY29yZGluZyB0byBkb2NzL1JFQURNRSwgInRo ZSBzb3VyY2VzIHRvIHRoaXMgRExMCisgICAgIDs7IGxpdmUgaW4gR05PTUUgQ1ZTIG1vZHVsZSBi ZWFnbGUvRmlsdGVycy9BZ2lsaXR5UGFjayIuCisgICAgIChzdWJzdGl0dXRlKiAiLi9NYWtlZmls ZS5hbSIKKyAgICAgICAoKCJeKHxESVNUX3xNT09OTElHSFRffE1PTk9UT1VDSF8pU1VCRElSUyA9 LioiIGFsbCkKKyAgICAgICAgKHN0cmluZy1yZXBsYWNlLXN1YnN0cmluZworICAgICAgICAgKHN0 cmluZy1yZXBsYWNlLXN1YnN0cmluZworICAgICAgICAgIChzdHJpbmctcmVwbGFjZS1zdWJzdHJp bmcgYWxsICIgZG9jcyIgIiIpCisgICAgICAgICAgIiAkKGxpYmdjX2RpcikiICIiKQorICAgICAg ICAgIiBsaWJnYyIgIiIpKSkpKQorCis7OyBBIGxvdCBvZiB0aGUgZml4ZXMgYXJlIHNoYXJlZCBi ZXR3ZWVuIG1hbnkgdmVyc2lvbnMsIGFuZCBpdCBkb2Vzbid0IGh1cnQgdG8KKzs7IGFwcGx5IHRo ZW0gdG8gdmVyc2lvbnMgYmVmb3JlIG9yIGFmdGVyIHRoZXkgYXJlIG5lY2Vzc2FyeSwgc28ganVz dCBpbmNsdWRlCis7OyB0aGVtIGFsbC4KKyhkZWZpbmUgcHJlcGFyZS1tb25vLXNvdXJjZQorICAj fihiZWdpbgorICAgICAgIyRAcHJlcGFyZS1tb25vLXNvdXJjZS0wCisgICAgICAoc3Vic3RpdHV0 ZSogKGZpbHRlciBmaWxlLWV4aXN0cz8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICcoIi4v Y29uZmlndXJlLmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLi9jb25maWd1cmUu YWMiKSkKKyAgICAgICAgKCgiaW50IGYgPSBpc2luZiBcXCgxXFwpOyIpCisgICAgICAgICAiaW50 IGYgPSBpc2luZiAoMS4wKTsiKSkKKyAgICAgIDs7IG1ha2VkZXYgaXMgaW4gPHN5cy9zeXNtYWNy b3MuaD4gbm93LiAgSW5jbHVkZQorICAgICAgOzsgaXQuCisgICAgICAoc3Vic3RpdHV0ZSogIm1v bm8vaW8tbGF5ZXIvcHJvY2Vzc2VzLmMiCisgICAgICAgICgoIiNpZmRlZiBIQVZFX1NZU19NS0RF Vl9IIikgIiNpZiAxIikKKyAgICAgICAgKCgic3lzL21rZGV2LmgiKSAic3lzL3N5c21hY3Jvcy5o IikpCisgICAgICAoc3Vic3RpdHV0ZSogKGZpbHRlciBmaWxlLWV4aXN0cz8gJygiLi9tb25vL21l dGFkYXRhL2JvZWhtLWdjLmMiKSkKKyAgICAgICAgKCgiR0Nfc2V0X2ZpbmFsaXplcl9ub3RpZnlf cHJvYyIpCisgICAgICAgICAiR0Nfc2V0X2F3YWl0X2ZpbmFsaXplX3Byb2MiKQorICAgICAgICAo KCJHQ190b2dnbGVyZWZfcmVnaXN0ZXJfY2FsbGJhY2siKQorICAgICAgICAgIkdDX3NldF90b2dn bGVyZWZfZnVuYyIpKQorICAgICAgKHN1YnN0aXR1dGUqIChmaWx0ZXIgZmlsZS1leGlzdHM/ICco Ii4vbW9uby91dGlscy9tb25vLWNvbXBpbGVyLmgiKSkKKyAgICAgICAgKCgic3RhdGljIF9fdGhy ZWFkIGdwb2ludGVyIHggTU9OT19UTFNfRkFTVCIpCisgICAgICAgICAoc3RyaW5nLWFwcGVuZAor ICAgICAgICAgICJzdGF0aWMgX190aHJlYWQgZ3BvaW50ZXIgeCIKKyAgICAgICAgICAiIF9fYXR0 cmlidXRlX18oKHVzZWQpKSIpKSkKKyAgICAgIDs7IFNpbmNlIHRoZSB0aW1lIHRoZSBvbGQgbW9u byB2ZXJzaW9ucyB3ZXJlIHdyaXR0ZW4gYXQsIGdjYyBoYXMgc3RhcnRlZAorICAgICAgOzsgcmVt b3ZpbmcgbW9yZSB0aGluZ3MgaXQgdGhpbmtzIGFyZSB1bnVzZWQgKGZvciBleGFtcGxlIGJlY2F1 c2UgdGhleQorICAgICAgOzsgYXJlIG9ubHkgcmVmZXJlbmNlZCBpbiBpbmxpbmUgYXNzZW1ibHkg b2Ygc29tZSBzb3J0KS4KKyAgICAgIChzdWJzdGl0dXRlKiAoZmlsdGVyIGZpbGUtZXhpc3RzPyAn KCIuL21vbm8vbWV0YWRhdGEvc2dlbi1hbGxvYy5jIikpCisgICAgICAgICgoInN0YXRpYyBfX3Ro cmVhZCBjaGFyIFxcKlxcKnRsYWJfbmV4dF9hZGRyIikKKyAgICAgICAgIChzdHJpbmctYXBwZW5k CisgICAgICAgICAgInN0YXRpYyBfX3RocmVhZCBjaGFyICoqdGxhYl9uZXh0X2FkZHIiCisgICAg ICAgICAgIiBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkiKSkpCisgICAgICAoc3Vic3RpdHV0ZSogKGZp bHRlciBmaWxlLWV4aXN0cz8gJygibW9uby91dGlscy9tb25vLWNvbXBpbGVyLmgiKSkKKyAgICAg ICAgKCgiI2RlZmluZSBNT05PX1RMU19GQVNUICIpCisgICAgICAgICAiI2RlZmluZSBNT05PX1RM U19GQVNUIF9fYXR0cmlidXRlX18oKHVzZWQpKSAiKSkpKQorCisoZGVmaW5lLXB1YmxpYyBtb25v LTEuMi42CisgIChwYWNrYWdlCisgICAgKHZlcnNpb24gIjEuMi42IikKKyAgICAobmFtZSAibW9u byIpCisgICAgKHNvdXJjZSAob3JpZ2luCisgICAgICAgICAgICAgIChtZXRob2QgdXJsLWZldGNo KQorICAgICAgICAgICAgICAodXJpIChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAg ICJodHRwOi8vZG93bmxvYWQubW9uby1wcm9qZWN0LmNvbS9zb3VyY2VzL21vbm8vIgorICAgICAg ICAgICAgICAgICAgICAibW9ubyIgIi0iIHZlcnNpb24gIi50YXIuYnoyIikpCisgICAgICAgICAg ICAgIChzaGEyNTYKKyAgICAgICAgICAgICAgIChiYXNlMzIgIjAzc243d3l2cmpra2ticnFhanBt cWlmeGZuODNwMzBxcHJpenBiM202YzVjZGh3bHprMTQiKSkKKyAgICAgICAgICAgICAgKG1vZHVs ZXMgJygoZ3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAgICAgICAgICAgICAoaWNlLTkg c3RyaW5nLWZ1bikpKQorICAgICAgICAgICAgICAoc25pcHBldCAjfihiZWdpbgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyRwcmVwYXJlLW1vbm8tc291cmNlCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZGVsZXRlLWZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLi9t Y3MvY2xhc3MvU3lzdGVtL1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy9CYXNlTWFjaGlu ZS5jcyIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBDYW4ndCBwYXRjaCBhIGZpbGUg d2l0aCBkaWZmZXJlbnQgbGluZSBlbmRpbmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg Ozsgc28gdGhlIHBhdGNoIGNyZWF0ZXMgYSBuZXcgb25lLCBhbmQgd2Ugb3ZlcndyaXRlCisgICAg ICAgICAgICAgICAgICAgICAgICAgICA7OyB0aGUgb2xkIG9uZSBoZXJlLgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHJlbmFtZS1maWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ii4vbWNzL2NsYXNzL1N5c3RlbS9TeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMvQmFzZU1h Y2hpbmUuY3MtMiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLi9tY3MvY2xhc3MvU3lz dGVtL1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy9CYXNlTWFjaGluZS5jcyIpKSkKKyAg ICAgICAgICAgICAgKHBhdGNoZXMKKyAgICAgICAgICAgICAgIChzZWFyY2gtcGF0Y2hlcyAibW9u by0xLjIuNi1ib290c3RyYXAucGF0Y2giKSkpKQorICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxk LXN5c3RlbSkKKyAgICAobmF0aXZlLWlucHV0cworICAgICAobGlzdCBhdXRvY29uZgorICAgICAg ICAgICBhdXRvbWFrZQorICAgICAgICAgICBiaXNvbgorICAgICAgICAgICBsaWJ0b29sCisgICAg ICAgICAgIHBuZXQtZ2l0CisgICAgICAgICAgIHBuZXRsaWItZ2l0CisgICAgICAgICAgIHBrZy1j b25maWcpKQorICAgIChpbnB1dHMKKyAgICAgKGxpc3QgZ2xpYgorICAgICAgICAgICBsaWJnYwor ICAgICAgICAgICBsaWJ4MTEKKyAgICAgICAgICAgemxpYikpCisgICAgKGFyZ3VtZW50cworICAg ICAobGlzdAorICAgICAgIzpjb25maWd1cmUtZmxhZ3MgI34obGlzdCAiLS13aXRoLWdjPWJvZWht IikKKyAgICAgICM6bWFrZS1mbGFncyAjfihsaXN0IChzdHJpbmctYXBwZW5kICJFWFRFUk5BTF9N Q1M9IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIysodGhpcy1w YWNrYWdlLW5hdGl2ZS1pbnB1dCAicG5ldC1naXQiKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIi9iaW4vY3NjYyIpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAoc3RyaW5nLWFwcGVuZCAiRVhURVJOQUxfUlVOVElNRT0iCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjKyh0aGlzLXBhY2thZ2UtbmF0aXZlLWlucHV0ICJwbmV0 LWdpdCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2Jpbi9p bHJ1biIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ0ZMQUdTKz0tREFSR19NQVg9NTAw IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNDPWdjYyIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICJWPTEiKQorICAgICAgOzsgYnVpbGQgZmFpbHMgbm9uZGV0ZXJtaW5pc3RpY2Fs bHkgd2l0aG91dCB0aGlzCisgICAgICAjOnBhcmFsbGVsLWJ1aWxkPyAjZgorICAgICAgIzpwaGFz ZXMKKyAgICAgICN+KG1vZGlmeS1waGFzZXMgJXN0YW5kYXJkLXBoYXNlcworICAgICAgICAgIChh ZGQtYWZ0ZXIgJ3VucGFjayAnc2V0LWVudgorICAgICAgICAgICAgKGxhbWJkYSBfIDs7KiAoIzpr ZXkgaW5wdXRzICM6YWxsb3ctb3RoZXIta2V5cykKKyAgICAgICAgICAgICAgOzsgYWxsIHRlc3Rz IHVuZGVyIG1jcy9jbGFzcyBmYWlsIHRyeWluZyB0byBhY2Nlc3MgJEhPTUUKKyAgICAgICAgICAg ICAgKHNldGVudiAiSE9NRSIgIi90bXAiKQorICAgICAgICAgICAgICA7OyBaSVAgZmlsZXMgaGF2 ZSAiRE9TIHRpbWUiIHdoaWNoIHN0YXJ0cyBpbiBKYW4gMTk4MC4KKyAgICAgICAgICAgICAgKHNl dGVudiAiU09VUkNFX0RBVEVfRVBPQ0giICIzMTU1MzI4MDAiKSkpKQorICAgICAgOzsgU3lzdGVt Lk9iamVjdCBpc24ndCBtYXJrZWQgYXMgc2VyaWFsaXphYmxlIGJlY2F1c2UgaXQgY2F1c2VzIGlz c3VlcworICAgICAgOzsgd2l0aCBjb21waWxpbmcgd2l0aCBwbmV0IChjaXJjdWxhciBjbGFzcyBy ZWZlcmVuY2UgYmV0d2VlbiBPYmplY3QgYW5kCisgICAgICA7OyBTZXJpYWxpemFibGVBdHRyaWJ1 dGUpLCBhbmQgdGhpcyBjYXVzZXMgdGVzdHMgdG8gZmFpbAorICAgICAgIzp0ZXN0cz8gI2YpKQor ICAgIChuYXRpdmUtc2VhcmNoLXBhdGhzCisgICAgIChsaXN0IChzZWFyY2gtcGF0aC1zcGVjaWZp Y2F0aW9uCisgICAgICAgICAgICAodmFyaWFibGUgIk1PTk9fUEFUSCIpCisgICAgICAgICAgICAo ZmlsZXMgKGxpc3QgImxpYi9tb25vIikpKSkpCisgICAgKHN5bm9wc2lzICJDb21waWxlciBhbmQg bGlicmFyaWVzIGZvciB0aGUgQyMgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UiKQorICAgIChkZXNjcmlw dGlvbiAiTW9ubyBpcyBhIGNvbXBpbGVyLCB2bSwgZGVidWdnZXIgYW5kIHNldCBvZiBsaWJyYXJp ZXMgZm9yCitDIywgYSBDLXN0eWxlIHByb2dyYW1taW5nIGxhbmd1YWdlIGZyb20gTWljcm9zb2Z0 IHRoYXQgaXMgdmVyeSBzaW1pbGFyIHRvCitKYXZhLiIpCisgICAgKGhvbWUtcGFnZSAiaHR0cHM6 Ly93d3cubW9uby1wcm9qZWN0LmNvbS8iKQorICAgIDs7IFNlZSAuL0xJQ0VOU0UKKyAgICAobGlj ZW5zZSAobGlzdAorICAgICAgICAgICAgICA7OyBtb3N0IG9mIG1jcy90b29scywgbW9uby9tYW4s IG1vc3Qgb2YgbWNzL2NsYXNzLCB0ZXN0cyBieQorICAgICAgICAgICAgICA7OyBkZWZhdWx0LCBt b25vL2VnbGliCisgICAgICAgICAgICAgIGxpY2Vuc2U6eDExCisgICAgICAgICAgICAgIDs7IG1j cy9tY3MsIG1jcy9nbWNzLCBzb21lIG9mIG1jcy90b29scworICAgICAgICAgICAgICBsaWNlbnNl OmdwbDErIDs7IG5vdGU6IC4vbWNzL0xJQ0VOU0UuR1BMIHNwZWNpZmllcyBubyB2ZXJzaW9uCisg ICAgICAgICAgICAgIDs7IG1vbm8vbW9ubyAodGhlIG1vbm8gVk0sIEkgdGhpbmsgdGhleSBtZWFu dCBtb25vL21pbmkpCisgICAgICAgICAgICAgIGxpY2Vuc2U6bGdwbDIuMCsgOzsgbm90ZTogLi9t Y3MvTElDRU5TRS5MR1BMIHNwZWNpZmllcyBubyB2ZXJzaW9uCisgICAgICAgICAgICAgIDs7IG1j cy9qYXkKKyAgICAgICAgICAgICAgbGljZW5zZTpic2QtNCkpKSkKZGlmZiAtLWdpdCBhL2dudS9w YWNrYWdlcy9wYXRjaGVzL21vbm8tMS4yLjYtYm9vdHN0cmFwLnBhdGNoIGIvZ251L3BhY2thZ2Vz L3BhdGNoZXMvbW9uby0xLjIuNi1ib290c3RyYXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLjBmNmVmZDRhMDM0Ci0tLSAvZGV2L251bGwKKysrIGIvZ251L3Bh Y2thZ2VzL3BhdGNoZXMvbW9uby0xLjIuNi1ib290c3RyYXAucGF0Y2gKQEAgLTAsMCArMSw1ODUg QEAKK2RpZmYgLS1naXQgYS9tY3MvY2xhc3MvU3lzdGVtL1N5c3RlbS5EaWFnbm9zdGljcy9JQ29s bGVjdERhdGEuY3MgYi9tY3MvY2xhc3MvU3lzdGVtL1N5c3RlbS5EaWFnbm9zdGljcy9JQ29sbGVj dERhdGEuY3MKK2luZGV4IGM1MmY5ODcxNTg5Li5jNjZjMTkzNmQzZCAxMDA2NDQKKy0tLSBhL21j cy9jbGFzcy9TeXN0ZW0vU3lzdGVtLkRpYWdub3N0aWNzL0lDb2xsZWN0RGF0YS5jcworKysrIGIv bWNzL2NsYXNzL1N5c3RlbS9TeXN0ZW0uRGlhZ25vc3RpY3MvSUNvbGxlY3REYXRhLmNzCitAQCAt NDEsNyArNDEsNyBAQCBuYW1lc3BhY2UgU3lzdGVtLkRpYWdub3N0aWNzCisgI2VuZGlmCisgCXB1 YmxpYyBpbnRlcmZhY2UgSUNvbGxlY3REYXRhIHsKKyAJCXZvaWQgQ2xvc2VEYXRhICgpOworLQkJ W3JldHVybjogTWFyc2hhbEFzKFVubWFuYWdlZFR5cGUuSTQpXQorKwkJLy9bcmV0dXJuOiBNYXJz aGFsQXMoVW5tYW5hZ2VkVHlwZS5JNCldCisgCQl2b2lkIENvbGxlY3REYXRhICgKKyAJCQlbSW5d IFtNYXJzaGFsQXMoVW5tYW5hZ2VkVHlwZS5JNCldIGludCBpZCwgCisgCQkJW0luXSBbTWFyc2hh bEFzKFVubWFuYWdlZFR5cGUuU3lzSW50KV0gSW50UHRyIHZhbHVlTmFtZSwgCitkaWZmIC0tZ2l0 IGEvbWNzL2NsYXNzL1N5c3RlbS9TeXN0ZW0uRGlhZ25vc3RpY3MvTG9jYWxGaWxlRXZlbnRMb2cu Y3MgYi9tY3MvY2xhc3MvU3lzdGVtL1N5c3RlbS5EaWFnbm9zdGljcy9Mb2NhbEZpbGVFdmVudExv Zy5jcworaW5kZXggMjgwZTZhOTcyMjcuLmM0MTgxNmRjYTI0IDEwMDY0NAorLS0tIGEvbWNzL2Ns YXNzL1N5c3RlbS9TeXN0ZW0uRGlhZ25vc3RpY3MvTG9jYWxGaWxlRXZlbnRMb2cuY3MKKysrKyBi L21jcy9jbGFzcy9TeXN0ZW0vU3lzdGVtLkRpYWdub3N0aWNzL0xvY2FsRmlsZUV2ZW50TG9nLmNz CitAQCAtMTQwLDYgKzE0MCwzMCBAQCBuYW1lc3BhY2UgU3lzdGVtLkRpYWdub3N0aWNzCisgCQkJ ZmlsZV93YXRjaGVyLkVuYWJsZVJhaXNpbmdFdmVudHMgPSBmYWxzZTsKKyAJCX0KKyAKKysgICAg ICAgIHZvaWQgRmlsZUNyZWF0aW9uV2F0Y2hlcihvYmplY3QgbywgRmlsZVN5c3RlbUV2ZW50QXJn cyBlKQorKyAgICAgICAgeworKyAgICAgICAgICAgIGxvY2sgKHRoaXMpIHsKKysgICAgICAgICAg ICAgICAgaWYgKF9ub3RpZnlpbmcpCisrICAgICAgICAgICAgICAgICAgICByZXR1cm47CisrICAg ICAgICAgICAgICAgIF9ub3RpZnlpbmcgPSB0cnVlOworKyAgICAgICAgICAgIH0KKysKKysgICAg ICAgICAgICAvLyBQcm9jZXNzIGV2ZXJ5IG5ldyBlbnRyeSBpbiBvbmUgbm90aWZpY2F0aW9uIGV2 ZW50LgorKyAgICAgICAgICAgIHRyeSB7CisrICAgICAgICAgICAgICAgIHdoaWxlIChHZXRMYXRl c3RJbmRleCAoKSA+IGxhc3Rfbm90aWZpY2F0aW9uX2luZGV4KSB7CisrICAgICAgICAgICAgICAg ICAgICB0cnkgeworKyAgICAgICAgICAgICAgICAgICAgICAgIENvcmVFdmVudExvZy5PbkVudHJ5 V3JpdHRlbiAoR2V0RW50cnkgKGxhc3Rfbm90aWZpY2F0aW9uX2luZGV4KyspKTsKKysgICAgICAg ICAgICAgICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBleCkgeworKyAgICAgICAgICAgICAgICAg ICAgICAgIC8vIEZJWE1FOiBmaW5kIHNvbWUgcHJvcGVyIHdheSB0byBvdXRwdXQgdGhpcyBlcnJv cgorKyAgICAgICAgICAgICAgICAgICAgICAgIERlYnVnLldyaXRlTGluZSAoZXgpOworKyAgICAg ICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIH0g ZmluYWxseSB7CisrICAgICAgICAgICAgICAgIGxvY2sgKHRoaXMpCisrICAgICAgICAgICAgICAg ICAgICBfbm90aWZ5aW5nID0gZmFsc2U7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKwor IAkJcHVibGljIG92ZXJyaWRlIHZvaWQgRW5hYmxlTm90aWZpY2F0aW9uICgpCisgCQl7CisgCQkJ aWYgKGZpbGVfd2F0Y2hlciA9PSBudWxsKSB7CitAQCAtMTQ5LDI4ICsxNzMsNyBAQCBuYW1lc3Bh Y2UgU3lzdGVtLkRpYWdub3N0aWNzCisgCisgCQkJCWZpbGVfd2F0Y2hlciA9IG5ldyBGaWxlU3lz dGVtV2F0Y2hlciAoKTsKKyAJCQkJZmlsZV93YXRjaGVyLlBhdGggPSBsb2dEaXI7CistCQkJCWZp bGVfd2F0Y2hlci5DcmVhdGVkICs9IGRlbGVnYXRlIChvYmplY3QgbywgRmlsZVN5c3RlbUV2ZW50 QXJncyBlKSB7CistCQkJCQlsb2NrICh0aGlzKSB7CistCQkJCQkJaWYgKF9ub3RpZnlpbmcpCist CQkJCQkJCXJldHVybjsKKy0JCQkJCQlfbm90aWZ5aW5nID0gdHJ1ZTsKKy0JCQkJCX0KKy0KKy0J CQkJCS8vIFByb2Nlc3MgZXZlcnkgbmV3IGVudHJ5IGluIG9uZSBub3RpZmljYXRpb24gZXZlbnQu CistCQkJCQl0cnkgeworLQkJCQkJCXdoaWxlIChHZXRMYXRlc3RJbmRleCAoKSA+IGxhc3Rfbm90 aWZpY2F0aW9uX2luZGV4KSB7CistCQkJCQkJCXRyeSB7CistCQkJCQkJCQlDb3JlRXZlbnRMb2cu T25FbnRyeVdyaXR0ZW4gKEdldEVudHJ5IChsYXN0X25vdGlmaWNhdGlvbl9pbmRleCsrKSk7Cist CQkJCQkJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBleCkgeworLQkJCQkJCQkJLy8gRklYTUU6IGZpbmQg c29tZSBwcm9wZXIgd2F5IHRvIG91dHB1dCB0aGlzIGVycm9yCistCQkJCQkJCQlEZWJ1Zy5Xcml0 ZUxpbmUgKGV4KTsKKy0JCQkJCQkJfQorLQkJCQkJCX0KKy0JCQkJCX0gZmluYWxseSB7CistCQkJ CQkJbG9jayAodGhpcykKKy0JCQkJCQkJX25vdGlmeWluZyA9IGZhbHNlOworLQkJCQkJfQorLQkJ CQl9OworKwkJCQlmaWxlX3dhdGNoZXIuQ3JlYXRlZCArPSBuZXcgRmlsZVN5c3RlbUV2ZW50SGFu ZGxlcihGaWxlQ3JlYXRpb25XYXRjaGVyKTsKKyAJCQl9CisgCQkJbGFzdF9ub3RpZmljYXRpb25f aW5kZXggPSBHZXRMYXRlc3RJbmRleCAoKTsKKyAJCQlmaWxlX3dhdGNoZXIuRW5hYmxlUmFpc2lu Z0V2ZW50cyA9IHRydWU7CitkaWZmIC0tZ2l0IGEvbWNzL2NsYXNzL1N5c3RlbS9TeXN0ZW0uSU8v SW5vdGlmeVdhdGNoZXIuY3MgYi9tY3MvY2xhc3MvU3lzdGVtL1N5c3RlbS5JTy9Jbm90aWZ5V2F0 Y2hlci5jcworaW5kZXggZDhlN2FjY2UzYTcuLjdiMDkwN2VlYmMxIDEwMDY0NAorLS0tIGEvbWNz L2NsYXNzL1N5c3RlbS9TeXN0ZW0uSU8vSW5vdGlmeVdhdGNoZXIuY3MKKysrKyBiL21jcy9jbGFz cy9TeXN0ZW0vU3lzdGVtLklPL0lub3RpZnlXYXRjaGVyLmNzCitAQCAtNDIzLDE5ICs0MjMsMzYg QEAgbmFtZXNwYWNlIFN5c3RlbS5JTyB7CisgCQkJcmV0dXJuIDE2ICsgbGVuOworIAkJfQorIAor KyAgICAgICAgY2xhc3MgVGhpbmdFbnVtZXJhdG9yIDogSUVudW1lcmF0b3IsIElFbnVtZXJhYmxl CisrICAgICAgICB7CisrICAgICAgICAgICAgb2JqZWN0IHRoaW5nOworKyAgICAgICAgICAgIGlu dCBqOworKyAgICAgICAgICAgIHB1YmxpYyBUaGluZ0VudW1lcmF0b3Iob2JqZWN0IHRoaW5nKQor KyAgICAgICAgICAgIHsgdGhpcy50aGluZyA9IHRoaW5nOyBqID0gLTE7IH0KKysKKysgICAgICAg ICAgICBwdWJsaWMgSUVudW1lcmF0b3IgR2V0RW51bWVyYXRvcigpIHsgcmV0dXJuIHRoaXM7IH0K KysgICAgICAgICAgICBwdWJsaWMgYm9vbCBNb3ZlTmV4dCgpCisrICAgICAgICAgICAgeworKyAg ICAgICAgICAgICAgICBpZih0aGluZyA9PSBudWxsKSB7IHJldHVybiBmYWxzZTsgfQorKyAgICAg ICAgICAgICAgICBpZih0aGluZyBpcyBBcnJheUxpc3QpCisrICAgICAgICAgICAgICAgIHsKKysg ICAgICAgICAgICAgICAgICAgIEFycmF5TGlzdCBsaXN0ID0gKEFycmF5TGlzdCkgdGhpbmc7Cisr ICAgICAgICAgICAgICAgICAgICBpZihqKzEgPj0gbGlzdC5Db3VudCkgeyByZXR1cm4gZmFsc2U7 IH0KKysgICAgICAgICAgICAgICAgICAgIGorKzsKKysgICAgICAgICAgICAgICAgICAgIHJldHVy biB0cnVlOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIGlmKGogPT0gLTEp IHsgaiA9IDA7IHJldHVybiB0cnVlOyB9CisrICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK KysgICAgICAgICAgICB9CisrICAgICAgICAgICAgcHVibGljIHZvaWQgUmVzZXQoKSB7IGogPSAt MTsgfQorKyAgICAgICAgICAgIHB1YmxpYyBvYmplY3QgQ3VycmVudAorKyAgICAgICAgICAgIHsg Z2V0IHsgaWYodGhpbmcgaXMgQXJyYXlMaXN0KSByZXR1cm4gKChBcnJheUxpc3QpdGhpbmcpW2pd OworKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaW5nOyB9fQorKyAgICAgICAgfQorKwor IAkJc3RhdGljIElFbnVtZXJhYmxlIEdldEVudW1lcmF0b3IgKG9iamVjdCBzb3VyY2UpCisgCQl7 CistCQkJaWYgKHNvdXJjZSA9PSBudWxsKQorLQkJCQl5aWVsZCBicmVhazsKKy0KKy0JCQlpZiAo c291cmNlIGlzIElub3RpZnlEYXRhKQorLQkJCQl5aWVsZCByZXR1cm4gc291cmNlOworLQorLQkJ CWlmIChzb3VyY2UgaXMgQXJyYXlMaXN0KSB7CistCQkJCUFycmF5TGlzdCBsaXN0ID0gKEFycmF5 TGlzdCkgc291cmNlOworLQkJCQlmb3IgKGludCBpID0gMDsgaSA8IGxpc3QuQ291bnQ7IGkrKykK Ky0JCQkJCXlpZWxkIHJldHVybiBsaXN0IFtpXTsKKy0JCQl9CisrCQkJcmV0dXJuIG5ldyBUaGlu Z0VudW1lcmF0b3Ioc291cmNlKTsKKyAJCX0KKyAKKyAJCS8qIEludGVyZXN0aW5nIGV2ZW50czoK K2RpZmYgLS1naXQgYS9tY3MvY2xhc3MvU3lzdGVtL1N5c3RlbS5OZXQvU2VydmljZVBvaW50LmNz IGIvbWNzL2NsYXNzL1N5c3RlbS9TeXN0ZW0uTmV0L1NlcnZpY2VQb2ludC5jcworaW5kZXggYTg4 NGQ5MGY1MDcuLmUxYzczYjA5OGMyIDEwMDY0NAorLS0tIGEvbWNzL2NsYXNzL1N5c3RlbS9TeXN0 ZW0uTmV0L1NlcnZpY2VQb2ludC5jcworKysrIGIvbWNzL2NsYXNzL1N5c3RlbS9TeXN0ZW0uTmV0 L1NlcnZpY2VQb2ludC5jcworQEAgLTEzNyw3ICsxMzcsNyBAQCBuYW1lc3BhY2UgU3lzdGVtLk5l dAorIAkJCWdldCB7CisgCQkJCXJldHVybiBpZGxlU2luY2U7CisgCQkJfQorLQkJCWludGVybmFs IHNldCB7CisrCQkJc2V0IHsKKyAJCQkJbG9jayAobG9ja2VyKQorIAkJCQkJaWRsZVNpbmNlID0g dmFsdWU7CisgCQkJfQorZGlmZiAtLWdpdCBhL21jcy9jbGFzcy9TeXN0ZW0vU3lzdGVtLlRleHQu UmVndWxhckV4cHJlc3Npb25zL0Jhc2VNYWNoaW5lLmNzLTIgYi9tY3MvY2xhc3MvU3lzdGVtL1N5 c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy9CYXNlTWFjaGluZS5jcy0yCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLmE2ODVlMjY3OWI3CistLS0gL2Rldi9udWxs CisrKysgYi9tY3MvY2xhc3MvU3lzdGVtL1N5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucy9C YXNlTWFjaGluZS5jcy0yCitAQCAtMCwwICsxLDE2OCBAQAorKy8vCisrLy8gQmFzZU1hY2hpbmUu anZtLmNzCisrLy8KKysvLyBBdXRob3I6CisrLy8gYXV0aG9yOglEYW4gTGV3aXMgKGRsZXdpc0Bn bXguY28udWspCisrLy8JCShjKSAyMDAyCisrLy8gQ29weXJpZ2h0IChDKSAyMDA1IE5vdmVsbCwg SW5jIChodHRwOi8vd3d3Lm5vdmVsbC5jb20pCisrLy8KKysKKysvLworKy8vIFBlcm1pc3Npb24g aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu ZworKy8vIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRp b24gZmlsZXMgKHRoZQorKy8vICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3 aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKysvLyB3aXRob3V0IGxpbWl0YXRpb24gdGhl IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisrLy8gZGlzdHJp YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5k IHRvCisrLy8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVk IHRvIGRvIHNvLCBzdWJqZWN0IHRvCisrLy8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKy8v CisrLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp Y2Ugc2hhbGwgYmUKKysvLyBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv cnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKysvLworKy8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURF RCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKy8vIEVYUFJFU1MgT1Ig SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor Ky8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E CisrLy8gTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBD T1BZUklHSFQgSE9MREVSUyBCRQorKy8vIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9S IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04KKysvLyBPRiBDT05UUkFDVCwg VE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04K KysvLyBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRI RSBTT0ZUV0FSRS4KKysvLworKworK3VzaW5nIFN5c3RlbTsKKyt1c2luZyBTeXN0ZW0uQ29sbGVj dGlvbnM7CisrdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLlNwZWNpYWxpemVkOworKworK25hbWVz cGFjZSBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnMKKyt7CisrCWFic3RyYWN0IGNsYXNz IEJhc2VNYWNoaW5lIDogSU1hY2hpbmUKKysJeworKwkJaW50ZXJuYWwgZGVsZWdhdGUgdm9pZCBN YXRjaEFwcGVuZEV2YWx1YXRvciAoTWF0Y2ggbWF0Y2gsIFN0cmluZ0J1aWxkZXIgc2IpOworKwor KwkJcHVibGljIHZpcnR1YWwgc3RyaW5nIFJlcGxhY2UgKFJlZ2V4IHJlZ2V4LCBzdHJpbmcgaW5w dXQsIHN0cmluZyByZXBsYWNlbWVudCwgaW50IGNvdW50LCBpbnQgc3RhcnRhdCkKKysJCXsKKysJ CQlSZXBsYWNlbWVudEV2YWx1YXRvciBldiA9IG5ldyBSZXBsYWNlbWVudEV2YWx1YXRvciAocmVn ZXgsIHJlcGxhY2VtZW50KTsKKysJCQlpZiAocmVnZXguUmlnaHRUb0xlZnQpCisrCQkJCXJldHVy biBSVExSZXBsYWNlIChyZWdleCwgaW5wdXQsIG5ldyBNYXRjaEV2YWx1YXRvciAoZXYuRXZhbHVh dGUpLCBjb3VudCwgc3RhcnRhdCk7CisrCQkJZWxzZQorKwkJCQlyZXR1cm4gTFRSUmVwbGFjZSAo cmVnZXgsIGlucHV0LCBuZXcgTWF0Y2hBcHBlbmRFdmFsdWF0b3IgKGV2LkV2YWx1YXRlQXBwZW5k KSwgY291bnQsIHN0YXJ0YXQpOworKwkJfQorKworKwkJdmlydHVhbCBwdWJsaWMgc3RyaW5nIFtd IFNwbGl0IChSZWdleCByZWdleCwgc3RyaW5nIGlucHV0LCBpbnQgY291bnQsIGludCBzdGFydGF0 KQorKwkJeworKwkJCUFycmF5TGlzdCBzcGxpdHMgPSBuZXcgQXJyYXlMaXN0ICgpOworKwkJCWlm IChjb3VudCA9PSAwKQorKwkJCQljb3VudCA9IEludDMyLk1heFZhbHVlOworKworKwkJCWludCBw dHIgPSBzdGFydGF0OworKwkJCU1hdGNoIG0gPSBudWxsOworKwkJCXdoaWxlICgtLWNvdW50ID4g MCkgeworKwkJCQlpZiAobSAhPSBudWxsKQorKwkJCQkJbSA9IG0uTmV4dE1hdGNoICgpOworKwkJ CQllbHNlCisrCQkJCQltID0gcmVnZXguTWF0Y2ggKGlucHV0LCBwdHIpOworKworKwkJCQlpZiAo IW0uU3VjY2VzcykKKysJCQkJCWJyZWFrOworKworKwkJCQlpZiAocmVnZXguUmlnaHRUb0xlZnQp CisrCQkJCQlzcGxpdHMuQWRkIChpbnB1dC5TdWJzdHJpbmcgKG0uSW5kZXggKyBtLkxlbmd0aCwg cHRyIC0gbS5JbmRleCAtIG0uTGVuZ3RoKSk7CisrCQkJCWVsc2UKKysJCQkJCXNwbGl0cy5BZGQg KGlucHV0LlN1YnN0cmluZyAocHRyLCBtLkluZGV4IC0gcHRyKSk7CisrCisrCQkJCWludCBnY291 bnQgPSBtLkdyb3Vwcy5Db3VudDsKKysJCQkJZm9yIChpbnQgZ2luZGV4ID0gMTsgZ2luZGV4IDwg Z2NvdW50OyBnaW5kZXgrKykgeworKwkJCQkJR3JvdXAgZ3JwID0gbS5Hcm91cHMgW2dpbmRleF07 CisrCQkJCQlzcGxpdHMuQWRkIChpbnB1dC5TdWJzdHJpbmcgKGdycC5JbmRleCwgZ3JwLkxlbmd0 aCkpOworKwkJCQl9CisrCisrCQkJCWlmIChyZWdleC5SaWdodFRvTGVmdCkKKysJCQkJCXB0ciA9 IG0uSW5kZXg7CisrCQkJCWVsc2UKKysJCQkJCXB0ciA9IG0uSW5kZXggKyBtLkxlbmd0aDsKKysK KysJCQl9CisrCisrCQkJaWYgKHJlZ2V4LlJpZ2h0VG9MZWZ0ICYmIHB0ciA+PSAwKQorKwkJCQlz cGxpdHMuQWRkIChpbnB1dC5TdWJzdHJpbmcgKDAsIHB0cikpOworKwkJCWlmICghcmVnZXguUmln aHRUb0xlZnQgJiYgcHRyIDw9IGlucHV0Lkxlbmd0aCkKKysJCQkJc3BsaXRzLkFkZCAoaW5wdXQu U3Vic3RyaW5nIChwdHIpKTsKKysKKysJCQlyZXR1cm4gKHN0cmluZyBbXSkgc3BsaXRzLlRvQXJy YXkgKHR5cGVvZiAoc3RyaW5nKSk7CisrCQl9CisrCisrCQl2aXJ0dWFsIHB1YmxpYyBNYXRjaCBT Y2FuIChSZWdleCByZWdleCwgc3RyaW5nIHRleHQsIGludCBzdGFydCwgaW50IGVuZCkKKysJCXsK KysJCQl0aHJvdyBuZXcgTm90SW1wbGVtZW50ZWRFeGNlcHRpb24gKCJTY2FuIG1ldGhvZCBtdXN0 IGJlIGltcGxlbWVudGVkIGluIGRlcml2ZWQgY2xhc3NlcyIpOworKwkJfQorKworKwkJdmlydHVh bCBwdWJsaWMgc3RyaW5nIFJlc3VsdCAoc3RyaW5nIHJlcGxhY2VtZW50LCBNYXRjaCBtYXRjaCkK KysJCXsKKysJCQlyZXR1cm4gUmVwbGFjZW1lbnRFdmFsdWF0b3IuRXZhbHVhdGUgKHJlcGxhY2Vt ZW50LCBtYXRjaCk7CisrCQl9CisrCisrCQlpbnRlcm5hbCBzdGF0aWMgc3RyaW5nIExUUlJlcGxh Y2UgKFJlZ2V4IHJlZ2V4LCBzdHJpbmcgaW5wdXQsIE1hdGNoQXBwZW5kRXZhbHVhdG9yIGV2YWx1 YXRvciwgaW50IGNvdW50LCBpbnQgc3RhcnRhdCkKKysJCXsKKysJCQlNYXRjaCBtID0gcmVnZXgu TWF0Y2ggKGlucHV0LCBzdGFydGF0KTsKKysJCQlpZiAoIW0uU3VjY2VzcykKKysJCQkJcmV0dXJu IGlucHV0OworKworKwkJCVN0cmluZ0J1aWxkZXIgcmVzdWx0ID0gbmV3IFN0cmluZ0J1aWxkZXIg KCk7CisrCQkJaW50IHB0ciA9IHN0YXJ0YXQ7CisrCQkJaW50IGNvdW50ZXIgPSBjb3VudDsKKysK KysJCQlyZXN1bHQuQXBwZW5kIChpbnB1dCwgMCwgcHRyKTsKKysKKysJCQlkbyB7CisrCQkJCWlm IChjb3VudCAhPSAtMSkKKysJCQkJCWlmIChjb3VudGVyLS0gPD0gMCkKKysJCQkJCQlicmVhazsK KysJCQkJaWYgKG0uSW5kZXggPCBwdHIpCisrCQkJCQl0aHJvdyBuZXcgU3lzdGVtRXhjZXB0aW9u ICgiaG93Iik7CisrCQkJCXJlc3VsdC5BcHBlbmQgKGlucHV0LCBwdHIsIG0uSW5kZXggLSBwdHIp OworKwkJCQlldmFsdWF0b3IgKG0sIHJlc3VsdCk7CisrCisrCQkJCXB0ciA9IG0uSW5kZXggKyBt Lkxlbmd0aDsKKysJCQkJbSA9IG0uTmV4dE1hdGNoICgpOworKwkJCX0gd2hpbGUgKG0uU3VjY2Vz cyk7CisrCisrCQkJcmVzdWx0LkFwcGVuZCAoaW5wdXQsIHB0ciwgaW5wdXQuTGVuZ3RoIC0gcHRy KTsKKysKKysJCQlyZXR1cm4gcmVzdWx0LlRvU3RyaW5nICgpOworKwkJfQorKworKwkJaW50ZXJu YWwgc3RhdGljIHN0cmluZyBSVExSZXBsYWNlIChSZWdleCByZWdleCwgc3RyaW5nIGlucHV0LCBN YXRjaEV2YWx1YXRvciBldmFsdWF0b3IsIGludCBjb3VudCwgaW50IHN0YXJ0YXQpCisrCQl7Cisr CQkJTWF0Y2ggbSA9IHJlZ2V4Lk1hdGNoIChpbnB1dCwgc3RhcnRhdCk7CisrCQkJaWYgKCFtLlN1 Y2Nlc3MpCisrCQkJCXJldHVybiBpbnB1dDsKKysKKysJCQlpbnQgcHRyID0gc3RhcnRhdDsKKysJ CQlpbnQgY291bnRlciA9IGNvdW50OworKwkJCVN0cmluZ0NvbGxlY3Rpb24gcGllY2VzID0gbmV3 IFN0cmluZ0NvbGxlY3Rpb24gKCk7CisrCQkJcGllY2VzLkFkZCAoaW5wdXQuU3Vic3RyaW5nIChw dHIpKTsKKysKKysJCQlkbyB7CisrCQkJCWlmIChjb3VudCAhPSAtMSkKKysJCQkJCWlmIChjb3Vu dGVyLS0gPD0gMCkKKysJCQkJCQlicmVhazsKKysJCQkJaWYgKG0uSW5kZXggKyBtLkxlbmd0aCA+ IHB0cikKKysJCQkJCXRocm93IG5ldyBTeXN0ZW1FeGNlcHRpb24gKCJob3ciKTsKKysJCQkJcGll Y2VzLkFkZCAoaW5wdXQuU3Vic3RyaW5nIChtLkluZGV4ICsgbS5MZW5ndGgsIHB0ciAtIG0uSW5k ZXggLSBtLkxlbmd0aCkpOworKwkJCQlwaWVjZXMuQWRkIChldmFsdWF0b3IgKG0pKTsKKysKKysJ CQkJcHRyID0gbS5JbmRleDsKKysJCQkJbSA9IG0uTmV4dE1hdGNoICgpOworKwkJCX0gd2hpbGUg KG0uU3VjY2Vzcyk7CisrCisrCQkJU3RyaW5nQnVpbGRlciByZXN1bHQgPSBuZXcgU3RyaW5nQnVp bGRlciAoKTsKKysKKysJCQlyZXN1bHQuQXBwZW5kIChpbnB1dCwgMCwgcHRyKTsKKysJCQlmb3Ig KGludCBpID0gcGllY2VzLkNvdW50OyBpID4gMDsgKQorKwkJCQlyZXN1bHQuQXBwZW5kIChwaWVj ZXMgWy0taV0pOworKworKwkJCXBpZWNlcy5DbGVhciAoKTsKKysKKysJCQlyZXR1cm4gcmVzdWx0 LlRvU3RyaW5nICgpOworKwkJfQorKwl9CisrfQorZGlmZiAtLWdpdCBhL21jcy9jbGFzcy9jb3Js aWIvU3lzdGVtLlJ1bnRpbWUuUmVtb3RpbmcuTWVzc2FnaW5nL01ldGhvZENhbGwuY3MgYi9tY3Mv Y2xhc3MvY29ybGliL1N5c3RlbS5SdW50aW1lLlJlbW90aW5nLk1lc3NhZ2luZy9NZXRob2RDYWxs LmNzCitpbmRleCA5NDA2OWQxNzI3ZS4uMDQyNTc0MTc4ZmEgMTAwNjQ0CistLS0gYS9tY3MvY2xh c3MvY29ybGliL1N5c3RlbS5SdW50aW1lLlJlbW90aW5nLk1lc3NhZ2luZy9NZXRob2RDYWxsLmNz CisrKysgYi9tY3MvY2xhc3MvY29ybGliL1N5c3RlbS5SdW50aW1lLlJlbW90aW5nLk1lc3NhZ2lu Zy9NZXRob2RDYWxsLmNzCitAQCAtMjcyLDYgKzI3MiwxMCBAQCBuYW1lc3BhY2UgU3lzdGVtLlJ1 bnRpbWUuUmVtb3RpbmcuTWVzc2FnaW5nIHsKKyAJCQlzZXQgeyBfdXJpID0gdmFsdWU7IH0KKyAJ CX0KKyAKKysgICAgICAgIHN0cmluZyBJTWV0aG9kTWVzc2FnZS5VcmkgeworKwkJCWdldCB7IHJl dHVybiBVcmk7IH0KKysJCX0KKysKKyAJCXN0cmluZyBJSW50ZXJuYWxNZXNzYWdlLlVyaSB7Cisg CQkJZ2V0IHsgcmV0dXJuIFVyaTsgfQorIAkJCXNldCB7IFVyaSA9IHZhbHVlOyB9CitkaWZmIC0t Z2l0IGEvbWNzL2NsYXNzL2NvcmxpYi9TeXN0ZW0uUnVudGltZS5SZW1vdGluZy5NZXNzYWdpbmcv TWV0aG9kUmVzcG9uc2UuY3MgYi9tY3MvY2xhc3MvY29ybGliL1N5c3RlbS5SdW50aW1lLlJlbW90 aW5nLk1lc3NhZ2luZy9NZXRob2RSZXNwb25zZS5jcworaW5kZXggMWIxZWFiMDE0YjMuLjU3NWU3 ZTM3ZGVlIDEwMDY0NAorLS0tIGEvbWNzL2NsYXNzL2NvcmxpYi9TeXN0ZW0uUnVudGltZS5SZW1v dGluZy5NZXNzYWdpbmcvTWV0aG9kUmVzcG9uc2UuY3MKKysrKyBiL21jcy9jbGFzcy9jb3JsaWIv U3lzdGVtLlJ1bnRpbWUuUmVtb3RpbmcuTWVzc2FnaW5nL01ldGhvZFJlc3BvbnNlLmNzCitAQCAt MjcyLDYgKzI3MiwxMCBAQCBuYW1lc3BhY2UgU3lzdGVtLlJ1bnRpbWUuUmVtb3RpbmcuTWVzc2Fn aW5nIHsKKyAJCQl9CisgCQl9CisgCisrICAgICAgICBzdHJpbmcgSU1ldGhvZE1lc3NhZ2UuVXJp IHsKKysJCQlnZXQgeyByZXR1cm4gVXJpOyB9CisrCQl9CisrCisgCQlzdHJpbmcgSUludGVybmFs TWVzc2FnZS5VcmkgeworIAkJCWdldCB7IHJldHVybiBVcmk7IH0KKyAJCQlzZXQgeyBVcmkgPSB2 YWx1ZTsgfQorZGlmZiAtLWdpdCBhL21jcy9jbGFzcy9jb3JsaWIvU3lzdGVtLlJ1bnRpbWUuUmVt b3RpbmcuTWVzc2FnaW5nL1JldHVybk1lc3NhZ2UuY3MgYi9tY3MvY2xhc3MvY29ybGliL1N5c3Rl bS5SdW50aW1lLlJlbW90aW5nLk1lc3NhZ2luZy9SZXR1cm5NZXNzYWdlLmNzCitpbmRleCBhZWUz OWY1YmI4MS4uZWMwOWI3M2MxNWQgMTAwNjQ0CistLS0gYS9tY3MvY2xhc3MvY29ybGliL1N5c3Rl bS5SdW50aW1lLlJlbW90aW5nLk1lc3NhZ2luZy9SZXR1cm5NZXNzYWdlLmNzCisrKysgYi9tY3Mv Y2xhc3MvY29ybGliL1N5c3RlbS5SdW50aW1lLlJlbW90aW5nLk1lc3NhZ2luZy9SZXR1cm5NZXNz YWdlLmNzCitAQCAtMTY2LDYgKzE2NiwxMCBAQCBuYW1lc3BhY2UgU3lzdGVtLlJ1bnRpbWUuUmVt b3RpbmcuTWVzc2FnaW5nCisgCQkJfQorIAkJfQorIAorKyAgICAgICAgc3RyaW5nIElNZXRob2RN ZXNzYWdlLlVyaSB7CisrCQkJZ2V0IHsgcmV0dXJuIFVyaTsgfQorKwkJfQorKworIAkJc3RyaW5n IElJbnRlcm5hbE1lc3NhZ2UuVXJpIHsKKyAJCQlnZXQgeyByZXR1cm4gVXJpOyB9CisgCQkJc2V0 IHsgVXJpID0gdmFsdWU7IH0KK2RpZmYgLS1naXQgYS9tY3MvY2xhc3MvY29ybGliL1N5c3RlbS9N dWx0aWNhc3REZWxlZ2F0ZS5jcyBiL21jcy9jbGFzcy9jb3JsaWIvU3lzdGVtL011bHRpY2FzdERl bGVnYXRlLmNzCitpbmRleCBiMzZhZmYzMzQ5Mi4uY2Y5MTM0YTMzYjMgMTAwNjQ0CistLS0gYS9t Y3MvY2xhc3MvY29ybGliL1N5c3RlbS9NdWx0aWNhc3REZWxlZ2F0ZS5jcworKysrIGIvbWNzL2Ns YXNzL2NvcmxpYi9TeXN0ZW0vTXVsdGljYXN0RGVsZWdhdGUuY3MKK0BAIC0yNjIsMTYgKzI2Miwx NiBAQCBuYW1lc3BhY2UgU3lzdGVtCisgCisgCQlwdWJsaWMgc3RhdGljIGJvb2wgb3BlcmF0b3Ig PT0gKE11bHRpY2FzdERlbGVnYXRlIGEsIE11bHRpY2FzdERlbGVnYXRlIGIpCisgCQl7CistCQkJ aWYgKGEgPT0gbnVsbCkKKy0JCSAgICAJCXJldHVybiBiID09IG51bGw7CisrCQkJaWYgKChvYmpl Y3QpYSA9PSBudWxsKQorKyAgICAgICAgICAgICAgICByZXR1cm4gKG9iamVjdCliID09IG51bGw7 CisgCQkgICAgCQkKKyAJCQlyZXR1cm4gYS5FcXVhbHMgKGIpOworIAkJfQorIAkJCisgCQlwdWJs aWMgc3RhdGljIGJvb2wgb3BlcmF0b3IgIT0gKE11bHRpY2FzdERlbGVnYXRlIGEsIE11bHRpY2Fz dERlbGVnYXRlIGIpCisgCQl7CistCQkJaWYgKGEgPT0gbnVsbCkKKy0JCQkJcmV0dXJuIGIgIT0g bnVsbDsKKysJCQlpZiAoKG9iamVjdClhID09IG51bGwpCisrCQkJCXJldHVybiAob2JqZWN0KWIg IT0gbnVsbDsKKyAJCSAgICAJCisgCQkJcmV0dXJuICFhLkVxdWFscyAoYik7CisgCQl9CitkaWZm IC0tZ2l0IGEvbWNzL2NsYXNzL2NvcmxpYi9TeXN0ZW0vT2JqZWN0LmNzIGIvbWNzL2NsYXNzL2Nv cmxpYi9TeXN0ZW0vT2JqZWN0LmNzCitpbmRleCA2YjBhMDNkMmEzMS4uNjk0Y2JkNDU0ZTEgMTAw NjQ0CistLS0gYS9tY3MvY2xhc3MvY29ybGliL1N5c3RlbS9PYmplY3QuY3MKKysrKyBiL21jcy9j bGFzcy9jb3JsaWIvU3lzdGVtL09iamVjdC5jcworQEAgLTQwLDcgKzQwLDcgQEAgdXNpbmcgU3lz dGVtLlJ1bnRpbWUuQ29uc3RyYWluZWRFeGVjdXRpb247CisgCisgbmFtZXNwYWNlIFN5c3RlbSB7 CisgCistCVtTZXJpYWxpemFibGVdCisrCS8vW1NlcmlhbGl6YWJsZV0KKyAJW0NsYXNzSW50ZXJm YWNlIChDbGFzc0ludGVyZmFjZVR5cGUuQXV0b0R1YWwpXQorICNpZiBORVRfMl8wCisgCVtDb21W aXNpYmxlICh0cnVlKV0KK0BAIC00Nyw2ICs0NywxMiBAQAorICNlbmRpZgorIAlwdWJsaWMgY2xh c3MgT2JqZWN0IHsKKyAKKysgICAgICAgIC8vIERlZmF1bHQgZGVmaW5pdGlvbiBvZiB0aGUgb2Jq ZWN0IGZpbmFsaXplci4KKysgICAgICAgICNpZiBORVRfMl8wCisrCQlbUmVsaWFiaWxpdHlDb250 cmFjdEF0dHJpYnV0ZSAoQ29uc2lzdGVuY3kuV2lsbE5vdENvcnJ1cHRTdGF0ZSwgQ2VyLlN1Y2Nl c3MpXQorKyAgICAgICAgI2VuZGlmCisrICAgICAgICBwcm90ZWN0ZWQgdmlydHVhbCB2b2lkIEZp bmFsaXplKCkge30KKysKKyAJCS8vIDxzdW1tYXJ5PgorIAkJLy8gICBDb21wYXJlcyB0aGlzIG9i amVjdCB0byB0aGUgc3BlY2lmaWVkIG9iamVjdC4KKyAJCS8vICAgUmV0dXJucyB0cnVlIGlmIHRo ZXkgYXJlIGVxdWFsLCBmYWxzZSBvdGhlcndpc2UuCitAQCAtODAsMTYgKzg2LDYgQEAgbmFtZXNw YWNlIFN5c3RlbSB7CisgCQl7CisgCQl9CisgCistCQkvLyA8c3VtbWFyeT4KKy0JCS8vICAgT2Jq ZWN0IGRlc3RydWN0b3IuIAorLQkJLy8gPC9zdW1tYXJ5PgorLSNpZiBORVRfMl8wCistCQlbUmVs aWFiaWxpdHlDb250cmFjdEF0dHJpYnV0ZSAoQ29uc2lzdGVuY3kuV2lsbE5vdENvcnJ1cHRTdGF0 ZSwgQ2VyLlN1Y2Nlc3MpXQorLSNlbmRpZgorLQkJfk9iamVjdCAoKQorLQkJeworLQkJfQorLQor IAkJLy8gPHN1bW1hcnk+CisgCQkvLyAgIFJldHVybnMgYSBoYXNoY29kZSBmb3IgdGhpcyBvYmpl Y3QuICBFYWNoIGRlcml2ZWQKKyAJCS8vICAgY2xhc3Mgc2hvdWxkIHJldHVybiBhIGhhc2ggY29k ZSB0aGF0IG1ha2VzIHNlbnNlCitkaWZmIC0tZ2l0IGEvbWNzL21jcy9jb2RlZ2VuLmNzIGIvbWNz L21jcy9jb2RlZ2VuLmNzCitpbmRleCBjOTRhNjE3NzJmNC4uODU0NmQ2NzFlYzYgMTAwNjQ0Cist LS0gYS9tY3MvbWNzL2NvZGVnZW4uY3MKKysrKyBiL21jcy9tY3MvY29kZWdlbi5jcworQEAgLTQ5 OCw3ICs0OTgsNyBAQCBuYW1lc3BhY2UgTW9uby5DU2hhcnAgeworIAorIAkJLy8gdXRpbGl0eSBo ZWxwZXIgZm9yIENoZWNrRXhwciwgVW5DaGVja0V4cHIsIENoZWNrZWQgYW5kIFVuY2hlY2tlZCBz dGF0ZW1lbnRzCisgCQkvLyBpdCdzIHB1YmxpYyBzbyB0aGF0IHdlIGNhbiB1c2UgYSBzdHJ1Y3Qg YXQgdGhlIGNhbGxzaXRlCistCQlwdWJsaWMgc3RydWN0IEZsYWdzSGFuZGxlIDogSURpc3Bvc2Fi bGUKKysJCXB1YmxpYyBjbGFzcyBGbGFnc0hhbmRsZSA6IElEaXNwb3NhYmxlCisgCQl7CisgCQkJ RW1pdENvbnRleHQgZWM7CisgCQkJcmVhZG9ubHkgRmxhZ3MgaW52bWFzaywgb2xkdmFsOworZGlm ZiAtLWdpdCBhL21jcy9tY3MvdHlwZW1hbmFnZXIuY3MgYi9tY3MvbWNzL3R5cGVtYW5hZ2VyLmNz CitpbmRleCAxZTE3M2RlODlkMi4uNTg0NzdhZjQxYTMgMTAwNjQ0CistLS0gYS9tY3MvbWNzL3R5 cGVtYW5hZ2VyLmNzCisrKysgYi9tY3MvbWNzL3R5cGVtYW5hZ2VyLmNzCitAQCAtNjI5LDE4ICs2 MjksNDIgQEAgbmFtZXNwYWNlIE1vbm8uQ1NoYXJwIHsKKyAJCXJldHVybiBDU2hhcnBOYW1lIChH ZXRGdWxsTmFtZSAodCkpOworICAgICB9CisgCisrICAgIHN0YXRpYyBib29sIFN0YXJ0c1dpdGhX b3JkKHN0cmluZyBoYXlzdGFjaywgc3RyaW5nIGNoZWNrKQorKyAgICB7CisrICAgICAgICBpZihT dHJpbmcuQ29tcGFyZShoYXlzdGFjaywgMCwgY2hlY2ssIDAsIGNoZWNrLkxlbmd0aCwgZmFsc2Up ICE9IDApCisrICAgICAgICB7IHJldHVybiBmYWxzZTsgfQorKyAgICAgICAgaWYoY2hlY2suTGVu Z3RoID09IGhheXN0YWNrLkxlbmd0aCkgeyByZXR1cm4gdHJ1ZTsgfQorKyAgICAgICAgY2hhciBj ID0gaGF5c3RhY2tbY2hlY2suTGVuZ3RoXTsKKysgICAgICAgIHJldHVybiAhKENoYXIuSXNMZXR0 ZXIoYykgfHwgQ2hhci5Jc0RpZ2l0KGMpKTsKKysgICAgfQorKyAgICAgICAgCisgCXB1YmxpYyBz dGF0aWMgc3RyaW5nIENTaGFycE5hbWUgKHN0cmluZyBuYW1lKQorIAl7CisgCQlpZiAobmFtZS5T dGFydHNXaXRoIChBbm9ueW1vdXNUeXBlQ2xhc3MuQ2xhc3NOYW1lUHJlZml4KSkKKyAJCQkJcmV0 dXJuIEFub255bW91c1R5cGVDbGFzcy5TaWduYXR1cmVGb3JFcnJvcjsKKy0JCQkKKy0JCXJldHVy biBSZWdleC5SZXBsYWNlIChuYW1lLAorLQkJCUAiXlN5c3RlbVwuIiArCistCQkJQCIoSW50MzJ8 VUludDMyfEludDE2fFVJbnQxNnxJbnQ2NHxVSW50NjR8IiArCistCQkJQCJTaW5nbGV8RG91Ymxl fENoYXJ8RGVjaW1hbHxCeXRlfFNCeXRlfE9iamVjdHwiICsKKy0JCQlAIkJvb2xlYW58U3RyaW5n fFZvaWR8TnVsbCkiICsKKy0JCQlAIihcVyt8XGIpIiwKKy0JCQluZXcgTWF0Y2hFdmFsdWF0b3Ig KENTaGFycE5hbWVNYXRjaCkpLlJlcGxhY2UgKCcrJywgJy4nKTsKKysKKysgICAgICAgIGludCBs ID0gIlN5c3RlbS4iLkxlbmd0aDsKKysgICAgICAgIGlmKG5hbWUuU3RhcnRzV2l0aCgiU3lzdGVt LiIpICYmIG5hbWUuTGVuZ3RoID4gbCkKKysgICAgICAgIHsKKysgICAgICAgICAgICBzdHJpbmcg czIgPSBuYW1lLlN1YnN0cmluZyhsKS5Ub0xvd2VyKCk7CisrICAgICAgICAgICAgaWYoU3RhcnRz V2l0aFdvcmQoczIsICJpbnQzMiIpKQorKyAgICAgICAgICAgICAgICByZXR1cm4gImludCI7Cisr ICAgICAgICAgICAgaWYoU3RhcnRzV2l0aFdvcmQoczIsICJ1aW50MzIiKSkKKysgICAgICAgICAg ICAgICAgcmV0dXJuICJ1aW50IjsKKysgICAgICAgICAgICBpZihTdGFydHNXaXRoV29yZChzMiwg ImludDE2IikpCisrICAgICAgICAgICAgICAgIHJldHVybiAic2hvcnQiOworKyAgICAgICAgICAg IGlmKFN0YXJ0c1dpdGhXb3JkKHMyLCAidWludDE2IikpCisrICAgICAgICAgICAgICAgIHJldHVy biAidXNob3J0IjsKKysgICAgICAgICAgICBpZihTdGFydHNXaXRoV29yZChzMiwgImludDY0Iikp CisrICAgICAgICAgICAgICAgIHJldHVybiAibG9uZyI7CisrICAgICAgICAgICAgaWYoU3RhcnRz V2l0aFdvcmQoczIsICJ1aW50NjQiKSkKKysgICAgICAgICAgICAgICAgcmV0dXJuICJ1bG9uZyI7 CisrICAgICAgICAgICAgaWYoU3RhcnRzV2l0aFdvcmQoczIsICJzaW5nbGUiKSkKKysgICAgICAg ICAgICAgICAgcmV0dXJuICJmbG9hdCI7CisrICAgICAgICAgICAgaWYoU3RhcnRzV2l0aFdvcmQo czIsICJib29sZWFuIikpCisrICAgICAgICAgICAgICAgIHJldHVybiAiYm9vbCI7CisrICAgICAg ICB9CisrICAgICAgICByZXR1cm4gbmFtZTsKKyAJfQorIAorIAlzdGF0aWMgcHVibGljIHN0cmlu ZyBDU2hhcnBOYW1lIChUeXBlW10gdHlwZXMpCitAQCAtNjU0LDIxICs2NzgsNiBAQCBuYW1lc3Bh Y2UgTW9uby5DU2hhcnAgeworIAkJcmV0dXJuIHNiLlRvU3RyaW5nICgpOworIAl9CisgCQorLQlz dGF0aWMgU3RyaW5nIENTaGFycE5hbWVNYXRjaCAoTWF0Y2ggbWF0Y2gpIAorLQl7CistCQlzdHJp bmcgcyA9IG1hdGNoLkdyb3VwcyBbMV0uQ2FwdHVyZXMgWzBdLlZhbHVlOworLQkJcmV0dXJuIHMu VG9Mb3dlciAoKS4KKy0JCVJlcGxhY2UgKCJpbnQzMiIsICJpbnQiKS4KKy0JCVJlcGxhY2UgKCJ1 aW50MzIiLCAidWludCIpLgorLQkJUmVwbGFjZSAoImludDE2IiwgInNob3J0IikuCistCQlSZXBs YWNlICgidWludDE2IiwgInVzaG9ydCIpLgorLQkJUmVwbGFjZSAoImludDY0IiwgImxvbmciKS4K Ky0JCVJlcGxhY2UgKCJ1aW50NjQiLCAidWxvbmciKS4KKy0JCVJlcGxhY2UgKCJzaW5nbGUiLCAi ZmxvYXQiKS4KKy0JCVJlcGxhY2UgKCJib29sZWFuIiwgImJvb2wiKQorLQkJKyBtYXRjaC5Hcm91 cHMgWzJdLkNhcHR1cmVzIFswXS5WYWx1ZTsKKy0JfQorLQorIAkvLyBVc2VkIGZvciBlcnJvciBy ZXBvcnRpbmcgdG8gc2hvdyBzeW1ib2xpYyBuYW1lIGluc3RlYWQgb2YgdW5kZXJseWluZyB2YWx1 ZQorIAlwdWJsaWMgc3RhdGljIHN0cmluZyBDU2hhcnBFbnVtVmFsdWUgKFR5cGUgdCwgb2JqZWN0 IHZhbHVlKQorIAl7CitkaWZmIC0tZ2l0IGEvbW9uby9pby1sYXllci9wcm9jZXNzZXMuYyBiL21v bm8vaW8tbGF5ZXIvcHJvY2Vzc2VzLmMKK2luZGV4IGNkNjE3NmNkZGEyLi40ODYwODdkM2ExYiAx MDA2NDQKKy0tLSBhL21vbm8vaW8tbGF5ZXIvcHJvY2Vzc2VzLmMKKysrKyBiL21vbm8vaW8tbGF5 ZXIvcHJvY2Vzc2VzLmMKK0BAIC0xNSw2ICsxNSw3IEBACisgI2luY2x1ZGUgPHN5cy90aW1lLmg+ CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKyNpbmNsdWRl IDxzeXMvc3lzbWFjcm9zLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzaWdu YWwuaD4KKyAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KK2RpZmYgLS1naXQgYS9tb25vL21ldGFkYXRh L01ha2VmaWxlLmFtIGIvbW9uby9tZXRhZGF0YS9NYWtlZmlsZS5hbQoraW5kZXggNmZmMjM2ODg5 NWIuLmI4YmE2NmU4NzU2IDEwMDY0NAorLS0tIGEvbW9uby9tZXRhZGF0YS9NYWtlZmlsZS5hbQor KysrIGIvbW9uby9tZXRhZGF0YS9NYWtlZmlsZS5hbQorQEAgLTE1NCw3ICsxNTQsNiBAQCBsaWJt b25vcnVudGltZWluY2x1ZGVfSEVBREVSUyA9IFwKKyAJb2JqZWN0LmgJXAorIAlleGNlcHRpb24u aAlcCisgCXByb2ZpbGVyLmgJXAorLQlhcHBkb21haW4uaAlcCisgCW1vbm8tY29uZmlnLmgJXAor IAlkZWJ1Zy1oZWxwZXJzLmgJXAorIAltZW1wb29sLmgKK2RpZmYgLS1naXQgYS9tb25vL21ldGFk YXRhL2NsYXNzLmMgYi9tb25vL21ldGFkYXRhL2NsYXNzLmMKK2luZGV4IGYxM2YzNzYzMmZlLi4x Mjg3MTAzMzdmNCAxMDA2NDQKKy0tLSBhL21vbm8vbWV0YWRhdGEvY2xhc3MuYworKysrIGIvbW9u by9tZXRhZGF0YS9jbGFzcy5jCitAQCAtMjY5NSwxMCArMjY5NSwxMCBAQCBpbml0aWFsaXplX29i amVjdF9zbG90cyAoTW9ub0NsYXNzICpjbGFzcykKKyAJCQkJZmluYWxpemVfc2xvdCA9IGk7Cisg CQl9CisgCistCQlnX2Fzc2VydCAoZ2hjX3Nsb3QgPiAwKTsKKysJCWdfYXNzZXJ0IChnaGNfc2xv dCA+PSAwKTsKKyAJCWRlZmF1bHRfZ2hjID0gY2xhc3MtPnZ0YWJsZSBbZ2hjX3Nsb3RdOworIAor LQkJZ19hc3NlcnQgKGZpbmFsaXplX3Nsb3QgPiAwKTsKKysJCWdfYXNzZXJ0IChmaW5hbGl6ZV9z bG90ID49IDApOworIAkJZGVmYXVsdF9maW5hbGl6ZSA9IGNsYXNzLT52dGFibGUgW2ZpbmFsaXpl X3Nsb3RdOworIAl9CisgfQorZGlmZiAtLWdpdCBhL21vbm8vbWV0YWRhdGEvb2JqZWN0LmMgYi9t b25vL21ldGFkYXRhL29iamVjdC5jCitpbmRleCAyYjZmNDkwOWIzNC4uZWY0YzhmZDhiNDQgMTAw NjQ0CistLS0gYS9tb25vL21ldGFkYXRhL29iamVjdC5jCisrKysgYi9tb25vL21ldGFkYXRhL29i amVjdC5jCitAQCAtODYxLDcgKzg2MSw3IEBAIG1vbm9fY2xhc3NfY29tcHV0ZV9nY19kZXNjcmlw dG9yIChNb25vQ2xhc3MgKmNsYXNzKQorIAkJbW9ub19yZWdpc3Rlcl9qaXRfaWNhbGwgKEdDX2xv Y2FsX2djal9mYXN0X21hbGxvYywgIkdDX2xvY2FsX2djal9mYXN0X21hbGxvYyIsIG1vbm9fY3Jl YXRlX2ljYWxsX3NpZ25hdHVyZSAoIm9iamVjdCBpbnQgcHRyIiksIEZBTFNFKTsKKyAjZW5kaWYK KyAJCW1vbm9fcmVnaXN0ZXJfaml0X2ljYWxsIChHQ19nY2pfbWFsbG9jLCAiR0NfZ2NqX21hbGxv YyIsIG1vbm9fY3JlYXRlX2ljYWxsX3NpZ25hdHVyZSAoIm9iamVjdCBpbnQgcHRyIiksIEZBTFNF KTsKKy0JCW1vbm9fcmVnaXN0ZXJfaml0X2ljYWxsIChHQ19nY2pfZmFzdF9tYWxsb2MsICJHQ19n Y2pfZmFzdF9tYWxsb2MiLCBtb25vX2NyZWF0ZV9pY2FsbF9zaWduYXR1cmUgKCJvYmplY3QgaW50 IHB0ciIpLCBGQUxTRSk7CisrCQltb25vX3JlZ2lzdGVyX2ppdF9pY2FsbCAoR0NfZ2NqX21hbGxv YywgIkdDX2djal9mYXN0X21hbGxvYyIsIG1vbm9fY3JlYXRlX2ljYWxsX3NpZ25hdHVyZSAoIm9i amVjdCBpbnQgcHRyIiksIEZBTFNFKTsKKyAjZW5kaWYKKyAJCWdjal9pbml0ZWQgPSBUUlVFOwor IAkJbW9ub19sb2FkZXJfdW5sb2NrICgpOworZGlmZiAtLWdpdCBhL3J1bnRpbWUvTWFrZWZpbGUu YW0gYi9ydW50aW1lL01ha2VmaWxlLmFtCitpbmRleCA3Nzk3ODdiM2NlMy4uYjY3OTU3ZGNmMTYg MTAwNjQ0CistLS0gYS9ydW50aW1lL01ha2VmaWxlLmFtCisrKysgYi9ydW50aW1lL01ha2VmaWxl LmFtCitAQCAtMSw2ICsxLDMgQEAKKy0jIGhhY2sgdG8gcHJldmVudCAnY2hlY2snIGZyb20gZGVw ZW5kaW5nIG9uICdhbGwnCistQVVUT01BS0VfT1BUSU9OUyA9IGN5Z251cworLQorIHRtcGluc3Qg PSBfdG1waW5zdAorIAorIG5vaW5zdF9TQ1JJUFRTID0gbW9uby13cmFwcGVyIG1vbm9kaXMtd3Jh cHBlciBzZW1kZWwtd3JhcHBlcgotLSAKMi40NS4yCgo= --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0006-gnu-Add-mono-2.4.2.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0006-gnu-Add-mono-2.4.2.patch RnJvbSA0ODQ4MDEwMDBiYmViNzk4MTE2ZDg3OTIzZGJhNTQzYTI0YmY0YjA2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMzowMjozMQpTdWJqZWN0OiBbUEFUQ0ggdjIgMDYvMjFdIGdudTogQWRk IG1vbm8tMi40LjIuCgoqIGdudS9wYWNrYWdlcy9kb3RuZXQuc2NtIChtb25vLTIuNC4yKTogTmV3 IHZhcmlhYmxlLgoqIGdudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi40LjIuMy1maXhlcy5wYXRj aDogTmV3IHBhdGNoLgoqIGdudS9sb2NhbC5tayAoZGlzdF9wYXRjaF9EQVRBKTogUmVnaXN0ZXIg aXQuCgotLS0KIGdudS9sb2NhbC5tayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAxICsKIGdudS9wYWNrYWdlcy9kb3RuZXQuc2NtICAgICAgICAgICAgICAgICAgICAgICB8IDUy ICsrKysrKysrKysrKysrKysKIGdudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi40LjIuMy1maXhl cy5wYXRjaCB8IDU5ICsrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTEyIGlu c2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFja2FnZXMvcGF0Y2hlcy9tb25v LTIuNC4yLjMtZml4ZXMucGF0Y2gKCmRpZmYgLS1naXQgYS9nbnUvbG9jYWwubWsgYi9nbnUvbG9j YWwubWsKaW5kZXggYjdmYTY4YmQ2NzcuLmZhOTk2OTZlMzM4IDEwMDY0NAotLS0gYS9nbnUvbG9j YWwubWsKKysrIGIvZ251L2xvY2FsLm1rCkBAIC0xODI2LDYgKzE4MjYsNyBAQCBkaXN0X3BhdGNo X0RBVEEgPQkJCQkJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjIuNi1ib290c3Ry YXAucGF0Y2gJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjkuMS1hZGQtTU9OT19D UkVBVEVfSU1BR0VfVkVSU0lPTi5wYXRjaAkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tb25v LTEuOS4xLWZpeGVzLnBhdGNoCQkJXAorICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tb25vLTIuNC4y LjMtZml4ZXMucGF0Y2gJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL21vc2FpY2F0Y2hlci11 bmJ1bmRsZS1odHNsaWIucGF0Y2gJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tcnJlc2N1ZS1z dXBwb3J0LWxvdmUtMTEucGF0Y2gJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvbXRvb2xzLW1m b3JtYXQtdW5pbml0aWFsaXplZC5wYXRjaAlcCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvZG90 bmV0LnNjbSBiL2dudS9wYWNrYWdlcy9kb3RuZXQuc2NtCmluZGV4IDk5NTExYTA3YTk5Li5hYzRk ZmI2N2M0YyAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2RvdG5ldC5zY20KKysrIGIvZ251L3Bh Y2thZ2VzL2RvdG5ldC5zY20KQEAgLTQ3MCwzICs0NzAsNTUgQEAgKGRlZmluZS1wdWJsaWMgbW9u by0xLjkuMQogICAgICAgICAgICAgICAgIChwYXRjaC1zaGViYW5nICJtb25vL3Rlc3RzL3Rlc3Qt ZHJpdmVyIikpKSkpCiAgICAgICAgKCgjOnRlc3RzPyBfICNmKSAjZikKICAgICAgICAoKCM6cGFy YWxsZWwtdGVzdHM/IF8gI2YpICNmKSkpKSkKKworKGRlZmluZS1wdWJsaWMgbW9uby0yLjQuMgor ICAocGFja2FnZQorICAgIChpbmhlcml0IG1vbm8tMS45LjEpCisgICAgKHZlcnNpb24gIjIuNC4y LjMiKQorICAgIChuYW1lICJtb25vIikKKyAgICAoc291cmNlIChvcmlnaW4KKyAgICAgICAgICAg ICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgICAgICAgICh1cmkKKyAgICAgICAgICAgICAg IChnaXQtcmVmZXJlbmNlCisgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRsYWIud2lu ZWhxLm9yZy9tb25vL21vbm8uZ2l0IikKKyAgICAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmct YXBwZW5kICJtb25vLSIgIjItNC0yLTMiKSkpKQorICAgICAgICAgICAgICAoZmlsZS1uYW1lIChn aXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpCisgICAgICAgICAgICAgIChzaGEyNTYKKyAgICAg ICAgICAgICAgIChiYXNlMzIKKyAgICAgICAgICAgICAgICAiMG1ucmsxN3JkOWM1cmgzMGRoODJh MzljOWFrMW5zOTk4YjQxaXZwcnZ5N20wNjhza3BkYSIpKQorICAgICAgICAgICAgICAobW9kdWxl cyAnKChndWl4IGJ1aWxkIHV0aWxzKQorICAgICAgICAgICAgICAgICAgICAgICAgIChpY2UtOSBz dHJpbmctZnVuKSkpCisgICAgICAgICAgICAgIChzbmlwcGV0IHByZXBhcmUtbW9uby1zb3VyY2Up CisgICAgICAgICAgICAgIChwYXRjaGVzCisgICAgICAgICAgICAgICAoc2VhcmNoLXBhdGNoZXMg Im1vbm8tMi40LjIuMy1maXhlcy5wYXRjaCIpKSkpCisgICAgKG5hdGl2ZS1pbnB1dHMgKG1vZGlm eS1pbnB1dHMgKHBhY2thZ2UtbmF0aXZlLWlucHV0cyBtb25vLTEuOS4xKQorICAgICAgICAgICAg ICAgICAgICAgKHJlcGxhY2UgIm1vbm8iIG1vbm8tMS45LjEpKSkKKyAgICAoaW5wdXRzIChtb2Rp ZnktaW5wdXRzIChwYWNrYWdlLWlucHV0cyBtb25vLTEuOS4xKQorICAgICAgICAgICAgICAoYXBw ZW5kIGdldHRleHQtbWluaW1hbCkpKQorICAgIChhcmd1bWVudHMKKyAgICAgKHN1YnN0aXR1dGUt a2V5d29yZC1hcmd1bWVudHMgKHBhY2thZ2UtYXJndW1lbnRzIG1vbm8tMS45LjEpCisgICAgICAg KCgjOnRlc3RzPyBfICNmKQorICAgICAgICA7OyBXaGVuIGl0IHRyaWVzIGJ1aWxkaW5nIGlsdGVz dHMuaWwgaW4gbW9uby9taW5pLCBpdCBnZXRzOiBlcnJvcgorICAgICAgICA7OyBDUzAwMDY6IGNh bm5vdCBmaW5kIG1ldGFkYXRhIGZpbGUgYFRlc3REcml2ZXIuZGxsJy4gIEl0IGJ1aWxkcyBmaW5l CisgICAgICAgIDs7IG91dHNpZGUgb2YgdGhlIGJ1aWxkIGVudmlyb25tZW50LCBidXQgbGF0ZXIg dGVzdHMgZmFpbCwgYW5kIEkgY2FuJ3QKKyAgICAgICAgOzsgYmUgYm90aGVyZWQgdG8gZmlndXJl IG91dCB3aGF0J3MgY2F1c2luZyBpbGFzbSB0byBub3QgZmluZAorICAgICAgICA7OyBUZXN0RHJp dmVyLmRsbC4KKyAgICAgICAgI2YpCisgICAgICAgKCgjOnBoYXNlcyBwaGFzZXMgI34lc3RhbmRh cmQtcGhhc2VzKQorICAgICAgICAjfihtb2RpZnktcGhhc2VzICMkcGhhc2VzCisgICAgICAgICAg ICAoYWRkLWJlZm9yZSAnYm9vdHN0cmFwICdwYXRjaC1zdWItYXV0b2dlbi5zaC1zaGViYW5nCisg ICAgICAgICAgICAgIChsYW1iZGEgXworICAgICAgICAgICAgICAgIChwYXRjaC1zaGViYW5nICIu L2VnbGliL2F1dG9nZW4uc2giKSkpKSkpKQorICAgIChsaWNlbnNlIChsaXN0CisgICAgICAgICAg ICAgIDs7IG1vc3Qgb2YgbWNzL3Rvb2xzLCBtb25vL21hbiwgbW9zdCBvZiBtY3MvY2xhc3MsIHRl c3RzIGJ5CisgICAgICAgICAgICAgIDs7IGRlZmF1bHQsIG1vbm8vZWdsaWIKKyAgICAgICAgICAg ICAgOzsgbWNzL21jcywgbWNzL2dtY3MgKGR1YWwtbGljZW5zZWQgR1BMKQorICAgICAgICAgICAg ICA7OyBzYW1wbGVzCisgICAgICAgICAgICAgIGxpY2Vuc2U6eDExCisgICAgICAgICAgICAgIDs7 IG1jcy9tY3MsIG1jcy9nbWNzIChkdWFsLWxpY2Vuc2VkIFgxMSkKKyAgICAgICAgICAgICAgOzsg c29tZSBvZiBtY3MvdG9vbHMKKyAgICAgICAgICAgICAgbGljZW5zZTpncGwxKyA7OyBub3RlOiAu L21jcy9MSUNFTlNFLkdQTCBzcGVjaWZpZXMgbm8gdmVyc2lvbgorICAgICAgICAgICAgICA7OyBt b25vL21vbm8gKHRoZSBtb25vIFZNLCBJIHRoaW5rIHRoZXkgbWVhbnQgbW9uby9taW5pKQorICAg ICAgICAgICAgICBsaWNlbnNlOmxncGwyLjArIDs7IG5vdGU6IC4vbWNzL0xJQ0VOU0UuTEdQTCBz cGVjaWZpZXMgbm8gdmVyc2lvbgorICAgICAgICAgICAgICA7OyBtY3MvamF5CisgICAgICAgICAg ICAgIGxpY2Vuc2U6YnNkLTQpKSkpCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9t b25vLTIuNC4yLjMtZml4ZXMucGF0Y2ggYi9nbnUvcGFja2FnZXMvcGF0Y2hlcy9tb25vLTIuNC4y LjMtZml4ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjEz Y2ZmNzc0NTA2Ci0tLSAvZGV2L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvbW9uby0y LjQuMi4zLWZpeGVzLnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK2RpZmYgLS1naXQgYS9kYXRhL21v bm8ucGMuaW4gYi9kYXRhL21vbm8ucGMuaW4KK2luZGV4IDZkYTA5NjBkYjJkLi5kNDNiYjE4NzIx OCAxMDA2NDQKKy0tLSBhL2RhdGEvbW9uby5wYy5pbgorKysrIGIvZGF0YS9tb25vLnBjLmluCitA QCAtNyw2ICs3LDYgQEAgc3lzY29uZmRpcj1Ac3lzY29uZmRpckAKKyBOYW1lOiBNb25vCisgRGVz Y3JpcHRpb246IE1vbm8gUnVudGltZQorIFZlcnNpb246IEBWRVJTSU9OQAorLVJlcXVpcmVzOiBn bGliLTIuMCBndGhyZWFkLTIuMAorK1JlcXVpcmVzOiBnbGliLTIuMCBndGhyZWFkLTIuMCBiZHct Z2MKKyBMaWJzOiAtTCR7bGliZGlyfSBAZXhwb3J0X2xkZmxhZ3NAIC1sbW9ubyBAbGlibW9ub19s ZGZsYWdzQAorIENmbGFnczogLUkke2luY2x1ZGVkaXJ9IEBsaWJtb25vX2NmbGFnc0AKK2RpZmYg LS1naXQgYS9tb25vLXVuaW5zdGFsbGVkLnBjLmluIGIvbW9uby11bmluc3RhbGxlZC5wYy5pbgor aW5kZXggN2ZhM2YxMmRjOTEuLjJhMDczNDM2MmZkIDEwMDY0NAorLS0tIGEvbW9uby11bmluc3Rh bGxlZC5wYy5pbgorKysrIGIvbW9uby11bmluc3RhbGxlZC5wYy5pbgorQEAgLTEsNiArMSw2IEBA CisgTmFtZTogTW9ubworIERlc2NyaXB0aW9uOiBNb25vIFJ1bnRpbWUKKyBWZXJzaW9uOiBAVkVS U0lPTkAKKy1SZXF1aXJlczogZ2xpYi0yLjAgZ3RocmVhZC0yLjAKKytSZXF1aXJlczogZ2xpYi0y LjAgZ3RocmVhZC0yLjAgYmR3LWdjCisgTGliczogLUxAbW9ub19idWlsZF9yb290QC9tb25vL21p bmkvLmxpYnMgQGV4cG9ydF9sZGZsYWdzQCAtbG1vbm8gQGxpYm1vbm9fbGRmbGFnc0AKKyBDZmxh Z3M6IC1JQGFic190b3Bfc3JjZGlyQCAtSUBhYnNfdG9wX3NyY2RpckAvbW9ubyBAbGlibW9ub19j ZmxhZ3NACitkaWZmIC0tZ2l0IGEvbW9uby9tZXRhZGF0YS9NYWtlZmlsZS5hbSBiL21vbm8vbWV0 YWRhdGEvTWFrZWZpbGUuYW0KK2luZGV4IDgzZjg1MzIzNjliLi4zZmNhN2ZjMTNiOSAxMDA2NDQK Ky0tLSBhL21vbm8vbWV0YWRhdGEvTWFrZWZpbGUuYW0KKysrKyBiL21vbm8vbWV0YWRhdGEvTWFr ZWZpbGUuYW0KK0BAIC0xNzEsNyArMTcxLDYgQEAgbGlibW9ub3J1bnRpbWVpbmNsdWRlX0hFQURF UlMgPSBcCisgCW9iamVjdC5oCVwKKyAJZXhjZXB0aW9uLmgJXAorIAlwcm9maWxlci5oCVwKKy0J YXBwZG9tYWluLmgJXAorIAltb25vLWNvbmZpZy5oCVwKKyAJZGVidWctaGVscGVycy5oCVwKKyAJ bWVtcG9vbC5oCitkaWZmIC0tZ2l0IGEvbW9uby9taW5pL2RyaXZlci5jIGIvbW9uby9taW5pL2Ry aXZlci5jCitpbmRleCA0OGNhMmQ5Njg5OS4uOWZiMzUxMjIwMGIgMTAwNjQ0CistLS0gYS9tb25v L21pbmkvZHJpdmVyLmMKKysrKyBiL21vbm8vbWluaS9kcml2ZXIuYworQEAgLTEyMzYsNiArMTIz Niw3IEBAIG1vbm9fbWFpbiAoaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKKyAjZW5kaWYKKyAJaWYg KCFnX3RocmVhZF9zdXBwb3J0ZWQgKCkpCisgCQlnX3RocmVhZF9pbml0IChOVUxMKTsKKysgICAg ICAgIEdDX2FsbG93X3JlZ2lzdGVyX3RocmVhZHMoKTsKKyAKKyAJaWYgKG1vbm9fcnVubmluZ19v bl92YWxncmluZCAoKSAmJiBnZXRlbnYgKCJNT05PX1ZBTEdSSU5EX0xFQUtfQ0hFQ0siKSkgewor IAkJR01lbVZUYWJsZSBtZW1fdnRhYmxlOworZGlmZiAtLWdpdCBhL3J1bnRpbWUvTWFrZWZpbGUu YW0gYi9ydW50aW1lL01ha2VmaWxlLmFtCitpbmRleCAwZTg3NmUyYTQ5MS4uYjljZDBhOTlkOWUg MTAwNjQ0CistLS0gYS9ydW50aW1lL01ha2VmaWxlLmFtCisrKysgYi9ydW50aW1lL01ha2VmaWxl LmFtCitAQCAtMSw2ICsxLDMgQEAKKy0jIGhhY2sgdG8gcHJldmVudCAnY2hlY2snIGZyb20gZGVw ZW5kaW5nIG9uICdhbGwnCistQVVUT01BS0VfT1BUSU9OUyA9IGN5Z251cworLQorIHRtcGluc3Qg PSBfdG1waW5zdAorIAorIG5vaW5zdF9TQ1JJUFRTID0gbW9uby13cmFwcGVyIG1vbm9kaXMtd3Jh cHBlcgotLSAKMi40NS4yCgo= --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0005-gnu-Add-mono-1.9.1.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0005-gnu-Add-mono-1.9.1.patch RnJvbSAyNDQxY2UyYzM4ODljMDMxZGE5Njk5YWYxOGRlZTY2NDhhMDYzYWZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMjo1OTo0OQpTdWJqZWN0OiBbUEFUQ0ggdjIgMDUvMjFdIGdudTogQWRk IG1vbm8tMS45LjEuCgoqIGdudS9wYWNrYWdlcy9kb3RuZXQuc2NtIChtb25vLTEuOS4xKTogTmV3 IHZhcmlhYmxlLgoqIGdudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMS45LjEtYWRkLU1PTk9fQ1JF QVRFX0lNQUdFX1ZFUlNJT04ucGF0Y2g6CiAgTmV3IHBhdGNoLgoqIGdudS9wYWNrYWdlcy9wYXRj aGVzL21vbm8tMS45LjEtZml4ZXMucGF0Y2g6IE5ldyBwYXRjaC4KKiBnbnUvbG9jYWwubWsgKGRp c3RfcGF0Y2hfREFUQSk6IHJlZ2lzdGVyIG5ldyBwYXRjaGVzLgoKLS0tCiBnbnUvbG9jYWwubWsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArCiBnbnUvcGFja2FnZXMvZG90 bmV0LnNjbSAgICAgICAgICAgICAgICAgICAgICAgfCA2MCArKysrKysrKysrKysrKysrKysrCiAu Li4tMS45LjEtYWRkLU1PTk9fQ1JFQVRFX0lNQUdFX1ZFUlNJT04ucGF0Y2ggfCAxNCArKysrKwog Z251L3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjkuMS1maXhlcy5wYXRjaCAgIHwgNTkgKysrKysr KysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ251L3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjkuMS1hZGQtTU9OT19DUkVB VEVfSU1BR0VfVkVSU0lPTi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdudS9wYWNrYWdlcy9w YXRjaGVzL21vbm8tMS45LjEtZml4ZXMucGF0Y2gKCmRpZmYgLS1naXQgYS9nbnUvbG9jYWwubWsg Yi9nbnUvbG9jYWwubWsKaW5kZXggNTRmMDFiYTA1YTkuLmI3ZmE2OGJkNjc3IDEwMDY0NAotLS0g YS9nbnUvbG9jYWwubWsKKysrIGIvZ251L2xvY2FsLm1rCkBAIC0xODI0LDYgKzE4MjQsOCBAQCBk aXN0X3BhdGNoX0RBVEEgPQkJCQkJCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvbW9kdWxlLWlu aXQtdG9vbHMtbW9kdWxlZGlyLnBhdGNoCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvbW9uZXJv LXVzZS1zeXN0ZW0tbWluaXVwbnBjLnBhdGNoCQkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9t b25vLTEuMi42LWJvb3RzdHJhcC5wYXRjaAkJXAorICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tb25v LTEuOS4xLWFkZC1NT05PX0NSRUFURV9JTUFHRV9WRVJTSU9OLnBhdGNoCQlcCisgICVEJS9wYWNr YWdlcy9wYXRjaGVzL21vbm8tMS45LjEtZml4ZXMucGF0Y2gJCQlcCiAgICVEJS9wYWNrYWdlcy9w YXRjaGVzL21vc2FpY2F0Y2hlci11bmJ1bmRsZS1odHNsaWIucGF0Y2gJXAogICAlRCUvcGFja2Fn ZXMvcGF0Y2hlcy9tcnJlc2N1ZS1zdXBwb3J0LWxvdmUtMTEucGF0Y2gJCVwKICAgJUQlL3BhY2th Z2VzL3BhdGNoZXMvbXRvb2xzLW1mb3JtYXQtdW5pbml0aWFsaXplZC5wYXRjaAlcCmRpZmYgLS1n aXQgYS9nbnUvcGFja2FnZXMvZG90bmV0LnNjbSBiL2dudS9wYWNrYWdlcy9kb3RuZXQuc2NtCmlu ZGV4IDA5Mzg2NTA4MGJiLi45OTUxMWEwN2E5OSAxMDA2NDQKLS0tIGEvZ251L3BhY2thZ2VzL2Rv dG5ldC5zY20KKysrIGIvZ251L3BhY2thZ2VzL2RvdG5ldC5zY20KQEAgLTQxMCwzICs0MTAsNjMg QEAgKGRlZmluZS1wdWJsaWMgbW9uby0xLjIuNgogICAgICAgICAgICAgICBsaWNlbnNlOmxncGwy LjArIDs7IG5vdGU6IC4vbWNzL0xJQ0VOU0UuTEdQTCBzcGVjaWZpZXMgbm8gdmVyc2lvbgogICAg ICAgICAgICAgICA7OyBtY3MvamF5CiAgICAgICAgICAgICAgIGxpY2Vuc2U6YnNkLTQpKSkpCisK KyhkZWZpbmUtcHVibGljIG1vbm8tMS45LjEKKyAgKHBhY2thZ2UKKyAgICAoaW5oZXJpdCBtb25v LTEuMi42KQorICAgICh2ZXJzaW9uICIxLjkuMSIpCisgICAgKG5hbWUgIm1vbm8iKQorICAgIChz b3VyY2UgKG9yaWdpbgorICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAg ICAgICAgKHVyaQorICAgICAgICAgICAgICAgKGdpdC1yZWZlcmVuY2UKKyAgICAgICAgICAgICAg ICAodXJsICJodHRwczovL2dpdGxhYi53aW5laHEub3JnL21vbm8vbW9uby5naXQiKQorICAgICAg ICAgICAgICAgIChjb21taXQgKHN0cmluZy1hcHBlbmQgIm1vbm8tIiAiMS45LjEuMSIpKSkpCisg ICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdpdC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAg ICAgICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAgICAgKGJhc2UzMgorICAgICAgICAgICAg ICAgICIwczFuM3pkaGMyYWxrOXNteGZkbDFrano3bHoycDE5Z3Mwa3M0aGdyODY0amxtZjEzYndz IikpCisgICAgICAgICAgICAgIChtb2R1bGVzICcoKGd1aXggYnVpbGQgdXRpbHMpCisgICAgICAg ICAgICAgICAgICAgICAgICAgKGljZS05IHN0cmluZy1mdW4pKSkKKyAgICAgICAgICAgICAgKHNu aXBwZXQgcHJlcGFyZS1tb25vLXNvdXJjZSkKKyAgICAgICAgICAgICAgKHBhdGNoZXMKKyAgICAg ICAgICAgICAgIChzZWFyY2gtcGF0Y2hlcworICAgICAgICAgICAgICAgICJtb25vLTEuOS4xLWZp eGVzLnBhdGNoIgorICAgICAgICAgICAgICAgICJtb25vLTEuOS4xLWFkZC1NT05PX0NSRUFURV9J TUFHRV9WRVJTSU9OLnBhdGNoIikpKSkKKyAgICAobmF0aXZlLWlucHV0cworICAgICAobW9kaWZ5 LWlucHV0cyAocGFja2FnZS1uYXRpdmUtaW5wdXRzIG1vbm8tMS4yLjYpCisgICAgICAgKGRlbGV0 ZSAicG5ldC1naXQiKQorICAgICAgIChkZWxldGUgInBuZXRsaWItZ2l0IikKKyAgICAgICAocHJl cGVuZCBtb25vLTEuMi42KQorICAgICAgIChhcHBlbmQgd2hpY2gpCisgICAgICAgOzsgbmVlZGVk IGZvciB0ZXN0cworICAgICAgIChhcHBlbmQgcGVybCkpKQorICAgIChhcmd1bWVudHMKKyAgICAg KHN1YnN0aXR1dGUta2V5d29yZC1hcmd1bWVudHMgKHBhY2thZ2UtYXJndW1lbnRzIG1vbm8tMS4y LjYpCisgICAgICAgKCgjOm1ha2UtZmxhZ3MgXyAjZikKKyAgICAgICAgI34obGlzdCAiQ0M9Z2Nj IiAiVj0xIikpCisgICAgICAgKCgjOnBoYXNlcyBwaGFzZXMgI34lc3RhbmRhcmQtcGhhc2VzKQor ICAgICAgICAjfihtb2RpZnktcGhhc2VzICMkcGhhc2VzCisgICAgICAgICAgICAoYWRkLWJlZm9y ZSAnY29uZmlndXJlICdzZXQtY2ZsYWdzCisgICAgICAgICAgICAgIChsYW1iZGEgXworICAgICAg ICAgICAgICAgIDs7IGFwcGFyZW50bHkgY2FuJ3QgYmUgc2V0IHZpYSBtYWtlIGZsYWdzIGluIHRo aXMgdmVyc2lvbgorICAgICAgICAgICAgICAgIChsZXQgKChvcmlnaW5hbCAoZ2V0ZW52ICJDRkxB R1MiKSkpCisgICAgICAgICAgICAgICAgICAoc2V0ZW52ICJDRkxBR1MiIChzdHJpbmctYXBwZW5k IChvciBvcmlnaW5hbCAiIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGlmIG9yaWdpbmFsICIgIiAiIikKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1EQVJHX01BWD01MDAiKSkpKSkKKyAgICAgICAg ICAgIChhZGQtYmVmb3JlICdjb25maWd1cmUgJ3NldC1jcmVhdGUtaW1hZ2UtdmVyc2lvbgorICAg ICAgICAgICAgICAobGFtYmRhIF8KKyAgICAgICAgICAgICAgICA7OyBwbmV0IHByb2R1Y2VzIHYy LnggYXNzZW1ibGllcy4gIE1vbm8gZG9lcyB0aGlzIHdlaXJkIHRoaW5nCisgICAgICAgICAgICAg ICAgOzsgd2hlcmUgaXQgYWx3YXlzIHByb2R1Y2VzIGFzc2VtYmxpZXMgb2YgdGhlIHNhbWUgdmVy c2lvbiBhcworICAgICAgICAgICAgICAgIDs7IHRoZSBydW50aW1lIHRoYXQgaXMgcnVubmluZyBp dCwgd2hpY2ggaXMgYmFzZWQgb24gdGhlCisgICAgICAgICAgICAgICAgOzsgdmVyc2lvbiBvZiB0 aGUgYXNzZW1ibHkgdGhhdCBpdCBsb2FkZWQsIHdoaWNoIGlzIGJhc2VkIG9uCisgICAgICAgICAg ICAgICAgOzsgd2hhdCBpdCBkZWNpZGVkIGZvciB0aGUgcHJldmlvdXMgY29tcGlsZXIuLi4gb24g YW5kIG9uIGFsbAorICAgICAgICAgICAgICAgIDs7IHRoZSB3YXkgYmFjayB0byBwbmV0LiAgVGhp cyBicmVha3MgdGhhdCBjaGFpbiwgYmVjYXVzZQorICAgICAgICAgICAgICAgIDs7IG90aGVyd2lz ZSBpdCBlbmRzIHVwIGNvbXBpbGluZyB0aGUgaW5pdGlhbCBtY3MgYWdhaW5zdCAuTkVUCisgICAg ICAgICAgICAgICAgOzsgMi4wIGxpYnJhcmllcyBhbmQgdGhlbiBydW5uaW5nIHdpdGggLk5FVCAx LjAgbGlicmFyaWVzLgorICAgICAgICAgICAgICAgIChzZXRlbnYgIk1PTk9fQ1JFQVRFX0lNQUdF X1ZFUlNJT04iICJ2MS4xLjQzMjIiKSkpCisgICAgICAgICAgICAoYWRkLWFmdGVyICd1bnBhY2sg J3BhdGNoLXRlc3QtZHJpdmVyLXNoZWJhbmcKKyAgICAgICAgICAgICAgKGxhbWJkYSBfCisgICAg ICAgICAgICAgICAgKHBhdGNoLXNoZWJhbmcgIm1vbm8vdGVzdHMvdGVzdC1kcml2ZXIiKSkpKSkK KyAgICAgICAoKCM6dGVzdHM/IF8gI2YpICNmKQorICAgICAgICgoIzpwYXJhbGxlbC10ZXN0cz8g XyAjZikgI2YpKSkpKQpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjku MS1hZGQtTU9OT19DUkVBVEVfSU1BR0VfVkVSU0lPTi5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRj aGVzL21vbm8tMS45LjEtYWRkLU1PTk9fQ1JFQVRFX0lNQUdFX1ZFUlNJT04ucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjFlZWYwNTQ4Y2ExCi0tLSAvZGV2L251 bGwKKysrIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjkuMS1hZGQtTU9OT19DUkVBVEVf SU1BR0VfVkVSU0lPTi5wYXRjaApAQCAtMCwwICsxLDE0IEBACitkaWZmIC0tZ2l0IGEvbW9uby9t ZXRhZGF0YS9yZWZsZWN0aW9uLmMgYi9tb25vL21ldGFkYXRhL3JlZmxlY3Rpb24uYworaW5kZXgg Y2UwNTNiMGVmNDkuLjdjNTFmMjBjNGNmIDEwMDY0NAorLS0tIGEvbW9uby9tZXRhZGF0YS9yZWZs ZWN0aW9uLmMKKysrKyBiL21vbm8vbWV0YWRhdGEvcmVmbGVjdGlvbi5jCitAQCAtNDMzNiw2ICs0 MzM2LDkgQEAgY3JlYXRlX2R5bmFtaWNfbW9ub19pbWFnZSAoTW9ub0R5bmFtaWNBc3NlbWJseSAq YXNzZW1ibHksIGNoYXIgKmFzc2VtYmx5X25hbWUsIGMKKyAKKyAJY29uc3QgY2hhciAqdmVyc2lv biA9IG1vbm9fZ2V0X3J1bnRpbWVfaW5mbyAoKS0+cnVudGltZV92ZXJzaW9uOworIAorKyAgICAg ICAgY2hhciAqZW52X3ZlciA9IGdldGVudigiTU9OT19DUkVBVEVfSU1BR0VfVkVSU0lPTiIpOwor KyAgICAgICAgaWYgKGVudl92ZXIpIHZlcnNpb24gPSBlbnZfdmVyOworKworICNpZiBIQVZFX0JP RUhNX0dDCisgCWltYWdlID0gR0NfTUFMTE9DIChzaXplb2YgKE1vbm9EeW5hbWljSW1hZ2UpKTsK KyAjZWxzZQpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjkuMS1maXhl cy5wYXRjaCBiL2dudS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMS45LjEtZml4ZXMucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjE2MzUzZWE3NDFlCi0tLSAvZGV2 L251bGwKKysrIGIvZ251L3BhY2thZ2VzL3BhdGNoZXMvbW9uby0xLjkuMS1maXhlcy5wYXRjaApA QCAtMCwwICsxLDU5IEBACitkaWZmIC0tZ2l0IGEvZGF0YS9tb25vLnBjLmluIGIvZGF0YS9tb25v LnBjLmluCitpbmRleCA2ZGEwOTYwZGIyZC4uZDQzYmIxODcyMTggMTAwNjQ0CistLS0gYS9kYXRh L21vbm8ucGMuaW4KKysrKyBiL2RhdGEvbW9uby5wYy5pbgorQEAgLTcsNiArNyw2IEBAIHN5c2Nv bmZkaXI9QHN5c2NvbmZkaXJACisgTmFtZTogTW9ubworIERlc2NyaXB0aW9uOiBNb25vIFJ1bnRp bWUKKyBWZXJzaW9uOiBAVkVSU0lPTkAKKy1SZXF1aXJlczogZ2xpYi0yLjAgZ3RocmVhZC0yLjAK KytSZXF1aXJlczogZ2xpYi0yLjAgZ3RocmVhZC0yLjAgYmR3LWdjCisgTGliczogLUwke2xpYmRp cn0gQGV4cG9ydF9sZGZsYWdzQCAtbG1vbm8gQGxpYm1vbm9fbGRmbGFnc0AKKyBDZmxhZ3M6IC1J JHtpbmNsdWRlZGlyfSBAbGlibW9ub19jZmxhZ3NACitkaWZmIC0tZ2l0IGEvbW9uby11bmluc3Rh bGxlZC5wYy5pbiBiL21vbm8tdW5pbnN0YWxsZWQucGMuaW4KK2luZGV4IDdmYTNmMTJkYzkxLi4y YTA3MzQzNjJmZCAxMDA2NDQKKy0tLSBhL21vbm8tdW5pbnN0YWxsZWQucGMuaW4KKysrKyBiL21v bm8tdW5pbnN0YWxsZWQucGMuaW4KK0BAIC0xLDYgKzEsNiBAQAorIE5hbWU6IE1vbm8KKyBEZXNj cmlwdGlvbjogTW9ubyBSdW50aW1lCisgVmVyc2lvbjogQFZFUlNJT05ACistUmVxdWlyZXM6IGds aWItMi4wIGd0aHJlYWQtMi4wCisrUmVxdWlyZXM6IGdsaWItMi4wIGd0aHJlYWQtMi4wIGJkdy1n YworIExpYnM6IC1MQG1vbm9fYnVpbGRfcm9vdEAvbW9uby9taW5pLy5saWJzIEBleHBvcnRfbGRm bGFnc0AgLWxtb25vIEBsaWJtb25vX2xkZmxhZ3NACisgQ2ZsYWdzOiAtSUBhYnNfdG9wX3NyY2Rp ckAgLUlAYWJzX3RvcF9zcmNkaXJAL21vbm8gQGxpYm1vbm9fY2ZsYWdzQAorZGlmZiAtLWdpdCBh L21vbm8vbWV0YWRhdGEvTWFrZWZpbGUuYW0gYi9tb25vL21ldGFkYXRhL01ha2VmaWxlLmFtCitp bmRleCAyZTQ4MDE5MGM4Yy4uOTBkMGY2MTk5NTkgMTAwNjQ0CistLS0gYS9tb25vL21ldGFkYXRh L01ha2VmaWxlLmFtCisrKysgYi9tb25vL21ldGFkYXRhL01ha2VmaWxlLmFtCitAQCAtMTU3LDcg KzE1Nyw2IEBAIGxpYm1vbm9ydW50aW1laW5jbHVkZV9IRUFERVJTID0gXAorIAlvYmplY3QuaAlc CisgCWV4Y2VwdGlvbi5oCVwKKyAJcHJvZmlsZXIuaAlcCistCWFwcGRvbWFpbi5oCVwKKyAJbW9u by1jb25maWcuaAlcCisgCWRlYnVnLWhlbHBlcnMuaAlcCisgCW1lbXBvb2wuaAorZGlmZiAtLWdp dCBhL21vbm8vbWluaS9kcml2ZXIuYyBiL21vbm8vbWluaS9kcml2ZXIuYworaW5kZXggZmZhNGI1 ZTVlNjkuLjg1YTk1NDk2MGViIDEwMDY0NAorLS0tIGEvbW9uby9taW5pL2RyaXZlci5jCisrKysg Yi9tb25vL21pbmkvZHJpdmVyLmMKK0BAIC0xMDMzLDYgKzEwMzMsNyBAQCBtb25vX21haW4gKGlu dCBhcmdjLCBjaGFyKiBhcmd2W10pCisgI2VuZGlmCisgCWlmICghZ190aHJlYWRfc3VwcG9ydGVk ICgpKQorIAkJZ190aHJlYWRfaW5pdCAoTlVMTCk7CisrICAgICAgICBHQ19hbGxvd19yZWdpc3Rl cl90aHJlYWRzKCk7CisgCisgCWlmIChtb25vX3J1bm5pbmdfb25fdmFsZ3JpbmQgKCkgJiYgZ2V0 ZW52ICgiTU9OT19WQUxHUklORF9MRUFLX0NIRUNLIikpIHsKKyAJCUdNZW1WVGFibGUgbWVtX3Z0 YWJsZTsKK2RpZmYgLS1naXQgYS9ydW50aW1lL01ha2VmaWxlLmFtIGIvcnVudGltZS9NYWtlZmls ZS5hbQoraW5kZXggZTNhOGEyMWU5ZTIuLjU4N2I5ZjRhYTc5IDEwMDY0NAorLS0tIGEvcnVudGlt ZS9NYWtlZmlsZS5hbQorKysrIGIvcnVudGltZS9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSwzIEBA CistIyBoYWNrIHRvIHByZXZlbnQgJ2NoZWNrJyBmcm9tIGRlcGVuZGluZyBvbiAnYWxsJworLUFV VE9NQUtFX09QVElPTlMgPSBjeWdudXMKKy0KKyB0bXBpbnN0ID0gX3RtcGluc3QKKyAKKyBub2lu c3RfU0NSSVBUUyA9IG1vbm8td3JhcHBlciBtb25vZGlzLXdyYXBwZXIgc2VtZGVsLXdyYXBwZXIK LS0gCjIuNDUuMgoK --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0009-gnu-Add-mono-3.0.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0009-gnu-Add-mono-3.0.patch RnJvbSA0MDE3MTI1YWU0NWFlYWY0Mzg4OTQ0YzQxMTkyZDE5ODllN2QyNWFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMzoxMzo0MApTdWJqZWN0OiBbUEFUQ0ggdjIgMDkvMjFdIGdudTogQWRk IG1vbm8tMy4wLgoKKiBnbnUvcGFja2FnZXMvZG90bmV0LnNjbQogIChtb25vLTMuMC4xMi1leHRl cm5hbC1yZXBvLXNwZWNzLCBtb25vLTMuMCk6IE5ldyB2YXJpYWJsZXMuCgotLS0KIGdudS9wYWNr YWdlcy9kb3RuZXQuc2NtIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251 L3BhY2thZ2VzL2RvdG5ldC5zY20gYi9nbnUvcGFja2FnZXMvZG90bmV0LnNjbQppbmRleCBmOTc1 NjdkYzI5Zi4uMWRkODI3MDNiOTEgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9kb3RuZXQuc2Nt CisrKyBiL2dudS9wYWNrYWdlcy9kb3RuZXQuc2NtCkBAIC02NDAsMyArNjQwLDY2IEBAIChkZWZp bmUtcHVibGljIG1vbm8tMi4xMS40CiAgICAgICAgICAgICAgIGxpY2Vuc2U6YnNkLTQKICAgICAg ICAgICAgICAgOzsgbWNzL2NsYXNzL1N5c3RlbS5Db3JlL1N5c3RlbS9UaW1lWm9uZUluZm8uQW5k cm9pZC5jcwogICAgICAgICAgICAgICBsaWNlbnNlOmFzbDIuMCkpKSkKKworKGRlZmluZSBtb25v LTMuMC4xMi1leHRlcm5hbC1yZXBvLXNwZWNzCisgIDs7IGZvcm1hdDogKHtyZXBvbmFtZSBPUiAo cmVwb25hbWUgZGlyLW5hbWUpfSBjb21taXQgc2hhMjU2KSAuLi4KKyAgOzsgaWYgcmVwb25hbWUg c3RhcnRzIHdpdGggaHR0cHM6Ly8gaXQgaXMgdHJlYXRlZCBhcyB0aGUgcmVwb3NpdG9yeSB1cmws CisgIDs7IG90aGVyd2lzZSB0aGUgbmFtZSBvZiBhIHJlcG9zaXRvcnkgdW5kZXIgaHR0cHM6Ly9n aXRodWIuY29tL21vbm8vCisgICcoKCJhc3BuZXR3ZWJzdGFjayIgICAgICAgICAgICAgICAiZTc3 YjEyZTZjYzVlZDI2MGE5ODQ0N2Y2MDllODg3MzM3ZTQ0ZTI5OSIKKyAgICAgIjBya3MzNDRxcjRm bXAzZnMxMjY0ZDJxa21tMzQ4bThkMWtqZDd6NGw5NGlpaXJ3bjFmcTEiKQorICAgICgiY2VjaWwi ICAgICAgICAgICAgICAgICAgICAgICAgIjU0ZTBhNTA0NjRlZGJjMjU0YjM5ZWEzYzg4NWVlOTFh ZGE3MzA3MDUiCisgICAgICIwMDdzemJmNWExNHE4Mzg2OTVsd2RwN2FwNnJ3enoza3psbGdqZm5p YnpscWlwdzN4MnlrIikKKyAgICAoImVudGl0eWZyYW1ld29yayIgICAgICAgICAgICAgICJhNWZh ZGRlY2EyYmVlMDg2MzZmMWI3YjNhZjgzODliZDQxMTlmNGNkIgorICAgICAiMGIwNXB6ZjZxd2Rk OTJwYnp5bTMybmZtdzhycTM2ODIwdmR6YWtxMWt5a2ZtZGRqcjlhNyIpCisgICAgKCgiaWt2bS1m b3JrIiAiaWt2bSIpICAgICAgICAgICAiMTBiODMxMmM4MDI0MTExNzgwZWUzODI2ODhjZDRjODc1 NGIxZjFhYyIKKyAgICAgIjAyNXdmOWdqZ2Z2cnE0MnZndzkxYWh5M2NtemN3MDk0dng3ODNkc3A3 Z2pkeWQ4cTA5bm0iKQorICAgICgiTHVjZW5lLk5ldCIgICAgICAgICAgICAgICAgICAgIjg4ZmI2 N2IwNzYyMWRmZWQwNTRkOGQ3NWZkNTA2NzJmYjI2MzQ5ZGYiCisgICAgICIxcmZ4cWZ6N2hrcDly ZzVhbnZ4bHY2Zm5hMHhpMGJudjF5OHFiaGY4eDQ4bDA4eWpiMzhrIikKKyAgICAoIk5ld3RvbnNv ZnQuSnNvbiIgICAgICAgICAgICAgICI0NzFjM2UwODAzYTlmNDBhMGFjYzhhZWNlYjMxZGU2ZmY5 M2E1MmM0IgorICAgICAiMGRnbmdkNWhxazZ5aGxnNDBrYWJuNnFkbmtubTMyemN4OXE2Ym0ydzMx Y3Nuc2s1OTc4cyIpCisgICAgKCJyeCIgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTdlODQ3 N2IyY2I4ZGQwMThkNDlhNTY3NTI2ZmU5OWZkMjg5Nzg1NyIKKyAgICAgIjBmeXl5NGpmMG1tYTZr ZmY2ZnZidmRjczVyYTFiejRzMDYzbnZqanZhOXhsbnY3c2p2aDQiKSkpCisKKyhkZWZpbmUtcHVi bGljIG1vbm8tMy4wCisgIChwYWNrYWdlCisgICAgKGluaGVyaXQgbW9uby0yLjExLjQpCisgICAg KHZlcnNpb24gIjMuMC4xMiIpCisgICAgKG5hbWUgIm1vbm8iKQorICAgIChzb3VyY2UgKG9yaWdp bgorICAgICAgICAgICAgICAobWV0aG9kIGdpdC1mZXRjaCkKKyAgICAgICAgICAgICAgKHVyaQor ICAgICAgICAgICAgICAgKGdpdC1yZWZlcmVuY2UKKyAgICAgICAgICAgICAgICAodXJsICJodHRw czovL2dpdGxhYi53aW5laHEub3JnL21vbm8vbW9uby5naXQiKQorICAgICAgICAgICAgICAgIChj b21taXQgKHN0cmluZy1hcHBlbmQgIm1vbm8tIiAiMy4wLjEyIikpKSkKKyAgICAgICAgICAgICAg KGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZlcnNpb24pKQorICAgICAgICAgICAgICAo c2hhMjU2CisgICAgICAgICAgICAgICAoYmFzZTMyCisgICAgICAgICAgICAgICAgIjExMGYzaGNm aWtrNmJ4YnJnamFzNWRxbGRjaTlmMjRndm0zdmRnbjRqOWo3eGhsY3gxbGoiKSkKKyAgICAgICAg ICAgICAgKG1vZHVsZXMgJygoZ3VpeCBidWlsZCB1dGlscykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAoaWNlLTkgc3RyaW5nLWZ1bikpKQorICAgICAgICAgICAgICAoc25pcHBldCAjfihiZWdp bgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyQoYWRkLWV4dGVybmFsLXJlcG9zCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtb25vLTMuMC4xMi1leHRlcm5hbC1yZXBvLXNwZWNz KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIyRwcmVwYXJlLW1vbm8tc291cmNlKSkpKQor ICAgIChuYXRpdmUtaW5wdXRzIChtb2RpZnktaW5wdXRzIChwYWNrYWdlLW5hdGl2ZS1pbnB1dHMg bW9uby0yLjExLjQpCisgICAgICAgICAgICAgICAgICAgICAocmVwbGFjZSAibW9ubyIgbW9uby0y LjExLjQpKSkKKyAgICAobGljZW5zZSAobGlzdAorICAgICAgICAgICAgICA7OyBtb3N0IG9mIG1j cy90b29scywgbW9uby9tYW4sIG1vc3Qgb2YgbWNzL2NsYXNzLCB0ZXN0cyBieQorICAgICAgICAg ICAgICA7OyBkZWZhdWx0LCBtb25vL2VnbGliLCBtb25vL21ldGFkYXRhL3NnZW4qLAorICAgICAg ICAgICAgICA7OyBtb25vL2FyY2gvKi9YWFgtY29kZWdlbi5oCisgICAgICAgICAgICAgIDs7IG1j cy9tY3MsIG1jcy9nbWNzIChkdWFsLWxpY2Vuc2VkIEdQTCkKKyAgICAgICAgICAgICAgOzsgc2Ft cGxlcworICAgICAgICAgICAgICBsaWNlbnNlOngxMQorICAgICAgICAgICAgICA7OyBtY3MvbWNz LCBtY3MvZ21jcyAoZHVhbC1saWNlbnNlZCBYMTEpCisgICAgICAgICAgICAgIDs7IHNvbWUgb2Yg bWNzL3Rvb2xzCisgICAgICAgICAgICAgIGxpY2Vuc2U6Z3BsMSsgOzsgbm90ZTogLi9tY3MvTElD RU5TRS5HUEwgc3BlY2lmaWVzIG5vIHZlcnNpb24KKyAgICAgICAgICAgICAgOzsgbW9uby9tb25v ICh0aGUgbW9ubyBWTSwgSSB0aGluayB0aGV5IG1lYW50IG1vbm8vbWluaSkKKyAgICAgICAgICAg ICAgOzsgbW9uby9zdXBwb3J0IChub3RlOiBkaXJlY3RvcnkgZG9lc24ndCBleGlzdCwgcHJvYmFi bHkgbWVhbnQKKyAgICAgICAgICAgICAgOzsgLi9zdXBwb3J0LCBidXQgdGhhdCBjb250YWlucyBh IGNvcHkgb2YgemxpYj8pCisgICAgICAgICAgICAgIGxpY2Vuc2U6bGdwbDIuMCsgOzsgbm90ZTog Li9tY3MvTElDRU5TRS5MR1BMIHNwZWNpZmllcyBubyB2ZXJzaW9uCisgICAgICAgICAgICAgIDs7 IG1jcy9qYXkKKyAgICAgICAgICAgICAgbGljZW5zZTpic2QtNAorICAgICAgICAgICAgICA7OyBt Y3MvY2xhc3MvU3lzdGVtLkNvcmUvU3lzdGVtL1RpbWVab25lSW5mby5BbmRyb2lkLmNzCisgICAg ICAgICAgICAgIGxpY2Vuc2U6YXNsMi4wCisgICAgICAgICAgICAgIDs7IC4vc3VwcG9ydCwgY29u dGFpbnMgYSBjb3B5IG9mIHpsaWIKKyAgICAgICAgICAgICAgbGljZW5zZTp6bGliKSkpKQotLSAK Mi40NS4yCgo= --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0010-gnu-Add-mono-3.12.1.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0010-gnu-Add-mono-3.12.1.patch RnJvbSBlNmYyNTVjOWUxMTk5YTY5ZWM3ODBlZjI4ZTk4N2RiODhkMTE3MzIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMzoxNDozNQpTdWJqZWN0OiBbUEFUQ0ggdjIgMTAvMjFdIGdudTogQWRk IG1vbm8tMy4xMi4xLgoKKiBnbnUvcGFja2FnZXMvZG90bmV0LnNjbQogIChtb25vLTMuMTIuMS1l eHRlcm5hbC1yZXBvLXNwZWNzLCBtb25vLTMuMTIuMSk6IE5ldyB2YXJpYWJsZXMuCgotLS0KIGdu dS9wYWNrYWdlcy9kb3RuZXQuc2NtIHwgNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZ251L3BhY2thZ2VzL2RvdG5ldC5zY20gYi9nbnUvcGFja2FnZXMvZG90bmV0LnNjbQppbmRl eCAxZGQ4MjcwM2I5MS4uNTM3NWVjNDEyZTMgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9kb3Ru ZXQuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9kb3RuZXQuc2NtCkBAIC03MDMsMyArNzAzLDU1IEBA IChkZWZpbmUtcHVibGljIG1vbm8tMy4wCiAgICAgICAgICAgICAgIGxpY2Vuc2U6YXNsMi4wCiAg ICAgICAgICAgICAgIDs7IC4vc3VwcG9ydCwgY29udGFpbnMgYSBjb3B5IG9mIHpsaWIKICAgICAg ICAgICAgICAgbGljZW5zZTp6bGliKSkpKQorCisoZGVmaW5lIG1vbm8tMy4xMi4xLWV4dGVybmFs LXJlcG8tc3BlY3MKKyAgOzsgZm9ybWF0OiAoe3JlcG9uYW1lIE9SIChyZXBvbmFtZSBkaXItbmFt ZSl9IGNvbW1pdCBzaGEyNTYpIC4uLgorICAnKCgiYXNwbmV0d2Vic3RhY2siICAgICAgICAgICAg ICAgImU3N2IxMmU2Y2M1ZWQyNjBhOTg0NDdmNjA5ZTg4NzMzN2U0NGUyOTkiCisgICAgICIwcmtz MzQ0cXI0Zm1wM2ZzMTI2NGQycWttbTM0OG04ZDFramQ3ejRsOTRpaWlyd24xZnExIikKKyAgICAo ImNlY2lsIiAgICAgICAgICAgICAgICAgICAgICAgICIzM2Q1MGI4NzRmZDUyNzExOGJjMzYxZDgz ZGUzZDQ5NGU4YmI1NWUxIgorICAgICAiMXA0aGwxNzk2aWIyNnlreWY1c25sNmNqMGx4MHY3bWpo MHhxaGp3NnFkaDc1M25zanloYiIpCisgICAgKCJlbnRpdHlmcmFtZXdvcmsiICAgICAgICAgICAg ICAiYTVmYWRkZWNhMmJlZTA4NjM2ZjFiN2IzYWY4Mzg5YmQ0MTE5ZjRjZCIKKyAgICAgIjBiMDVw emY2cXdkZDkycGJ6eW0zMm5mbXc4cnEzNjgyMHZkemFrcTFreWtmbWRkanI5YTciKQorICAgICgi aWtkYXNtIiAgICAgICAgICAgICAgICAgICAgICAgIjdkZWQ0ZGVjYjljMzk0NDZiZTYzNGQ0MmE1 NzVmZGE5YmMzZDk0NWMiCisgICAgICIwZjNtYmZpenhtdnI1bmpqMTIzdzB3bjdzejg1djVxMm16 d2lqanFsOHcxMDk1aTA5MTZsIikKKyAgICAoKCJpa3ZtLWZvcmsiICJpa3ZtIikgICAgICAgICAg ICIyMjUzNGRlMjA5OGFjYmNmMjA4ZjZiMDY4MzZkMTIyZGFiNzk5ZTRiIgorICAgICAiMWl2eXd5 NXNjNTk0c2wzYnM5eHJrbmExZGJoa3A3djFtdjc5bjk2eWRncTZ6Y3MwNjk4bCIpCisgICAgKCJM dWNlbmUuTmV0IiAgICAgICAgICAgICAgICAgICAiODhmYjY3YjA3NjIxZGZlZDA1NGQ4ZDc1ZmQ1 MDY3MmZiMjYzNDlkZiIKKyAgICAgIjFyZnhxZno3aGtwOXJnNWFudnhsdjZmbmEweGkwYm52MXk4 cWJoZjh4NDhsMDh5amIzOGsiKQorICAgICgiTmV3dG9uc29mdC5Kc29uIiAgICAgICAgICAgICAg IjQ3MWMzZTA4MDNhOWY0MGEwYWNjOGFlY2ViMzFkZTZmZjkzYTUyYzQiCisgICAgICIwZGduZ2Q1 aHFrNnlobGc0MGthYm42cWRua25tMzJ6Y3g5cTZibTJ3MzFjc25zazU5NzhzIikKKyAgICAoInJ4 IiAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMGMxYWFkZjE0OTMzNGM2OTRkMmE1MDk2OTgz YTg0Y2Y0NjIyMWI4IgorICAgICAiMG5kYW0wcXJua2I0Z2oyMWxhcHFnY3kwbXF3N3MxOHZpc3dz anlqeWFhYTRmZ3F3OGttcSIpKSkKKworKGRlZmluZS1wdWJsaWMgbW9uby0zLjEyLjEKKyAgKHBh Y2thZ2UKKyAgICAoaW5oZXJpdCBtb25vLTMuMCkKKyAgICAodmVyc2lvbiAiMy4xMi4xIikKKyAg ICAobmFtZSAibW9ubyIpCisgICAgKHNvdXJjZSAob3JpZ2luCisgICAgICAgICAgICAgIChtZXRo b2QgZ2l0LWZldGNoKQorICAgICAgICAgICAgICAodXJpCisgICAgICAgICAgICAgICAoZ2l0LXJl ZmVyZW5jZQorICAgICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0bGFiLndpbmVocS5vcmcv bW9uby9tb25vLmdpdCIpCisgICAgICAgICAgICAgICAgKGNvbW1pdCAoc3RyaW5nLWFwcGVuZCAi bW9uby0iICIzLjEyLjEiKSkpKQorICAgICAgICAgICAgICAoZmlsZS1uYW1lIChnaXQtZmlsZS1u YW1lIG5hbWUgdmVyc2lvbikpCisgICAgICAgICAgICAgIChzaGEyNTYKKyAgICAgICAgICAgICAg IChiYXNlMzIKKyAgICAgICAgICAgICAgICAiMDFzeHJuZmNoNjFrOHY3YXY3Y2NibXkzdjM3a3k4 eXA4NDYwajZ5Y25ieWZhMzMwNXkwZiIpKQorICAgICAgICAgICAgICAobW9kdWxlcyAnKChndWl4 IGJ1aWxkIHV0aWxzKQorICAgICAgICAgICAgICAgICAgICAgICAgIChpY2UtOSBzdHJpbmctZnVu KSkpCisgICAgICAgICAgICAgIChzbmlwcGV0ICN+KGJlZ2luCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAjJChhZGQtZXh0ZXJuYWwtcmVwb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1vbm8tMy4xMi4xLWV4dGVybmFsLXJlcG8tc3BlY3MpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAjJHByZXBhcmUtbW9uby1zb3VyY2UpKSkpCisgICAgKG5hdGl2ZS1pbnB1dHMgKG1v ZGlmeS1pbnB1dHMgKHBhY2thZ2UtbmF0aXZlLWlucHV0cyBtb25vLTMuMCkKKyAgICAgICAgICAg ICAgICAgICAgIChyZXBsYWNlICJtb25vIiBtb25vLTMuMCkpKQorICAgIChhcmd1bWVudHMKKyAg ICAgKHN1YnN0aXR1dGUta2V5d29yZC1hcmd1bWVudHMgKHBhY2thZ2UtYXJndW1lbnRzIG1vbm8t My4wKQorICAgICAgICgoIzpwaGFzZXMgcGhhc2VzICN+JXN0YW5kYXJkLXBoYXNlcykKKyAgICAg ICAgI34obW9kaWZ5LXBoYXNlcyAjJHBoYXNlcworICAgICAgICAgICAgKGFkZC1hZnRlciAndW5w YWNrICdzZXQtVFoKKyAgICAgICAgICAgICAgKGxhbWJkYSBfCisgICAgICAgICAgICAgICAgOzsg Zm9yIHNvbWUgcmVhc29uIGEgZGVmYXVsdCBpcyBvbmx5IHVzZWQgaWYgdGhpcyBpcyBlbXB0eSwg bm90CisgICAgICAgICAgICAgICAgOzsgaWYgaXQgaXMgdW5zZXQuCisgICAgICAgICAgICAgICAg KHNldGVudiAiVFoiICIiKSkpKSkpKSkpCi0tIAoyLjQ1LjIKCg== --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww Content-Type: text/x-patch; name=v2-0008-gnu-Add-mono-2.11.4.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0008-gnu-Add-mono-2.11.4.patch RnJvbSA0Nzk2NGY3ZDZkMWFjNDVmYzMwMWIxNWI3ZWViZmQzMzgxOTZhM2ZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB1bm11c2ggPHVubXVzaEBoYXNoYmFuZy5zaD4KRGF0ZTogVHVl LCAyNiBOb3YgMjAyNCAxMzoxMjoxMQpTdWJqZWN0OiBbUEFUQ0ggdjIgMDgvMjFdIGdudTogQWRk IG1vbm8tMi4xMS40LgoKKiBnbnUvcGFja2FnZXMvZG90bmV0LnNjbQogIChtb25vLTIuMTEuNC1l eHRlcm5hbC1yZXBvLXNwZWNzLCBtb25vLTIuMTEuNCk6IE5ldyB2YXJpYWJsZXMuCiAgKGFkZC1l eHRlcm5hbC1yZXBvcyk6IE5ldyBwcm9jZWR1cmUuCiogZ251L3BhY2thZ2VzL3BhdGNoZXMvbW9u by0yLjExLjQtZml4ZXMucGF0Y2g6IE5ldyBwYXRjaC4KKiBnbnUvbG9jYWwubWsgKGRpc3RfcGF0 Y2hfREFUQSk6IFJlZ2lzdGVyIGl0LgoKLS0tCiBnbnUvbG9jYWwubWsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAxICsKIGdudS9wYWNrYWdlcy9kb3RuZXQuc2NtICAgICAgICAg ICAgICAgICAgICAgIHwgOTUgKysrKysrKysrKysrKysrKysrKysKIGdudS9wYWNrYWdlcy9wYXRj aGVzL21vbm8tMi4xMS40LWZpeGVzLnBhdGNoIHwgMzYgKysrKysrKysKIDMgZmlsZXMgY2hhbmdl ZCwgMTMyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbnUvcGFja2FnZXMvcGF0 Y2hlcy9tb25vLTIuMTEuNC1maXhlcy5wYXRjaAoKZGlmZiAtLWdpdCBhL2dudS9sb2NhbC5tayBi L2dudS9sb2NhbC5tawppbmRleCA5OWUxMDZkZjhmYy4uOGFlYjQ1MzZmNTEgMTAwNjQ0Ci0tLSBh L2dudS9sb2NhbC5taworKysgYi9nbnUvbG9jYWwubWsKQEAgLTE4MjgsNiArMTgyOCw3IEBAIGRp c3RfcGF0Y2hfREFUQSA9CQkJCQkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tb25vLTEuOS4x LWZpeGVzLnBhdGNoCQkJXAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tb25vLTIuNC4yLjMtZml4 ZXMucGF0Y2gJCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi42LjQtZml4ZXMucGF0 Y2gJCQlcCisgICVEJS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi4xMS40LWZpeGVzLnBhdGNoCQkJ XAogICAlRCUvcGFja2FnZXMvcGF0Y2hlcy9tb3NhaWNhdGNoZXItdW5idW5kbGUtaHRzbGliLnBh dGNoCVwKICAgJUQlL3BhY2thZ2VzL3BhdGNoZXMvbXJyZXNjdWUtc3VwcG9ydC1sb3ZlLTExLnBh dGNoCQlcCiAgICVEJS9wYWNrYWdlcy9wYXRjaGVzL210b29scy1tZm9ybWF0LXVuaW5pdGlhbGl6 ZWQucGF0Y2gJXApkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2RvdG5ldC5zY20gYi9nbnUvcGFj a2FnZXMvZG90bmV0LnNjbQppbmRleCA4MmJlZTU1YWE5MC4uZjk3NTY3ZGMyOWYgMTAwNjQ0Ci0t LSBhL2dudS9wYWNrYWdlcy9kb3RuZXQuc2NtCisrKyBiL2dudS9wYWNrYWdlcy9kb3RuZXQuc2Nt CkBAIC01NDUsMyArNTQ1LDk4IEBAIChkZWZpbmUtcHVibGljIG1vbm8tMi42LjQKICAgICAgICAg ICAgICAgIChzZWFyY2gtcGF0Y2hlcyAibW9uby0yLjYuNC1maXhlcy5wYXRjaCIpKSkpCiAgICAg KG5hdGl2ZS1pbnB1dHMgKG1vZGlmeS1pbnB1dHMgKHBhY2thZ2UtbmF0aXZlLWlucHV0cyBtb25v LTIuNC4yKQogICAgICAgICAgICAgICAgICAgICAgKHJlcGxhY2UgIm1vbm8iIG1vbm8tMi40LjIp KSkpKQorCis7OyBzdWJtb2R1bGUgY2hlY2tvdXRzIHVzZSBnaXQ6Ly8sIHdoaWNoIGlzbid0IHN1 cHBvcnRlZCBieSBnaXRodWIgYW55bW9yZSwgc28KKzs7IHdlIG5lZWQgdG8gbWFudWFsbHkgcHJv dmlkZSB0aGVtIGluc3RlYWQgb2YgYmVpbmcgYWJsZSB0byB1c2UgKHJlY3Vyc2l2ZT8KKzs7ICN0 KS4gIEFsc28gdHJ5IG5vdCB0byB0aGluayB0b28gaGFyZCBhYm91dCB0aGUgZmFjdCB0aGF0IHNv bWUgb2YgdGhlc2UKKzs7IHN1Ym1vZHVsZXMgaW4gbGF0ZXIgdmVyc2lvbnMgY29udGFpbiBiaW5h cnkgY29tcGlsZXIgYmxvYnMgd2hpY2ggbW9ubworOzsgbWFpbnRhaW5lcnMgcHJlc3VtYWJseSB1 c2VkIHdoZW4gY3JlYXRpbmcgdGhlIGJvb3RzdHJhcCBiaW5hcmllcyB0aGV5Cis7OyBwdWJsaXNo ZWQuICBBbGwgZmV0Y2hlZCBhbmQgdXBkYXRlZCBvdmVyIHVuYXV0aGVudGljYXRlZCBnaXQ6Ly8u CisKKyhkZWZpbmUgbW9uby0yLjExLjQtZXh0ZXJuYWwtcmVwby1zcGVjcworICA7OyBmb3JtYXQ6 ICh7cmVwb25hbWUgT1IgKHJlcG9uYW1lIGRpci1uYW1lKX0gY29tbWl0LWhhc2ggb3JpZ2luLXNo YTI1NikgLi4uCisgIDs7IGlmIHJlcG9uYW1lIHN0YXJ0cyB3aXRoIGh0dHBzOi8vIGl0IGlzIHRy ZWF0ZWQgYXMgdGhlIHJlcG9zaXRvcnkgdXJsLAorICA7OyBvdGhlcndpc2UgdGhlIG5hbWUgb2Yg YSByZXBvc2l0b3J5IHVuZGVyIGh0dHBzOi8vZ2l0aHViLmNvbS9tb25vLworICAnKCgiYXNwbmV0 d2Vic3RhY2siICAgICAgICAgICAgICAgIjE4MzZkZWZmNmEyNjgzYjhhNWI3ZGQ3OGYyYjU5MWEx MGI0NzU3M2UiCisgICAgICIwdnFxNDVpOGs2anlsbGphcnIwOWhxcWl3anM4d24wbGdqcmw2Yno3 MnZ4cXBwMGozNDRrIikKKyAgICAoImNlY2lsIiAgICAgICAgICAgICAgICAgICAgICAgICI1NGUw YTUwNDY0ZWRiYzI1NGIzOWVhM2M4ODVlZTkxYWRhNzMwNzA1IgorICAgICAiMDA3c3piZjVhMTRx ODM4Njk1bHdkcDdhcDZyd3p6M2t6bGxnamZuaWJ6bHFpcHczeDJ5ayIpCisgICAgKCJlbnRpdHlm cmFtZXdvcmsiICAgICAgICAgICAgICAiOWJhY2E1NjJlZTNhNzQ3YTQxODcwZjQ1ZTc0OWU0NDM2 YjZhY2EyNiIKKyAgICAgIjBsOGswNGJ5a2JyYms1cTJwejhoemg4eHk4eTRheXo3ajk3Zncwa3lr M2xyYWk4OXY1ZGEiKQorICAgICgiTmV3dG9uc29mdC5Kc29uIiAgICAgICAgICAgICAgIjQ3MWMz ZTA4MDNhOWY0MGEwYWNjOGFlY2ViMzFkZTZmZjkzYTUyYzQiCisgICAgICIwZGduZ2Q1aHFrNnlo bGc0MGthYm42cWRua25tMzJ6Y3g5cTZibTJ3MzFjc25zazU5NzhzIikpKQorCisoZGVmaW5lIChh ZGQtZXh0ZXJuYWwtcmVwb3Mgc3BlY3MpCisgIChkZWZpbmUgKHJlcG9uYW1lLT51cmwgcmVwb25h bWUpCisgICAgKGlmIChzdHJpbmctcHJlZml4PyAiaHR0cHM6Ly8iIHJlcG9uYW1lKQorICAgICAg ICByZXBvbmFtZQorICAgICAgICAoc3RyaW5nLWFwcGVuZCAiaHR0cHM6Ly9naXRodWIuY29tL21v bm8vIiByZXBvbmFtZSkpKQorCisgIChkZWZpbmUqIChleHRlcm5hbC1yZXBvLWdleHAgcmVwb25h bWUgY29tbWl0IGhhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmtleSByZWN1 cnNpdmU/IChwYXRjaGVzICcoKSkpCisgICAgKGxldCAoKHNob3J0LWNvbW1pdCAoc3RyaW5nLXRh a2UgY29tbWl0IDYpKQorICAgICAgICAgIChyZXBvbmFtZSAoaWYgKHBhaXI/IHJlcG9uYW1lKSAo Y2FyIHJlcG9uYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgcmVwb25hbWUpKQorICAgICAg ICAgIChkaXItbmFtZSAoaWYgKHBhaXI/IHJlcG9uYW1lKSAoY2FkciByZXBvbmFtZSkKKyAgICAg ICAgICAgICAgICAgICAgICAgIHJlcG9uYW1lKSkpCisgICAgICAjfihjb3B5LXJlY3Vyc2l2ZWx5 ICMrKG9yaWdpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1ldGhvZCBnaXQtZmV0 Y2gpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodXJpIChnaXQtcmVmZXJlbmNlCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodXJsIChyZXBvbmFtZS0+dXJsIHJl cG9uYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21taXQgY29t bWl0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlY3Vyc2l2ZT8gcmVj dXJzaXZlPykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmFtZQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnaXQtZmlsZS1uYW1lIGRpci1uYW1lCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvcnQtY29tbWl0KSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaGEyNTYgKGJhc2UzMiBoYXNoKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXRjaGVzIChtYXAgc2VhcmNoLXBhdGNoIHBh dGNoZXMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIyQoc3RyaW5nLWFwcGVuZCAiLi9l eHRlcm5hbC8iIGRpci1uYW1lKSkpKQorCisgIChkZWZpbmUgKHNwZWMtPmdleHAgc3BlYykKKyAg ICAoYXBwbHkgZXh0ZXJuYWwtcmVwby1nZXhwIHNwZWMpKQorCisgICN+KGJlZ2luCisgICAgICAj K0AobWFwIHNwZWMtPmdleHAgc3BlY3MpKSkKKworKGRlZmluZS1wdWJsaWMgbW9uby0yLjExLjQK KyAgKHBhY2thZ2UKKyAgICAoaW5oZXJpdCBtb25vLTIuNi40KQorICAgICh2ZXJzaW9uICIyLjEx LjQiKQorICAgIChuYW1lICJtb25vIikKKyAgICAoc291cmNlIChvcmlnaW4KKyAgICAgICAgICAg ICAgKG1ldGhvZCBnaXQtZmV0Y2gpCisgICAgICAgICAgICAgICh1cmkKKyAgICAgICAgICAgICAg IChnaXQtcmVmZXJlbmNlCisgICAgICAgICAgICAgICAgKHVybCAiaHR0cHM6Ly9naXRsYWIud2lu ZWhxLm9yZy9tb25vL21vbm8uZ2l0IikKKyAgICAgICAgICAgICAgICAoY29tbWl0IChzdHJpbmct YXBwZW5kICJtb25vLSIgIjIuMTEuNCIpKSkpCisgICAgICAgICAgICAgIChmaWxlLW5hbWUgKGdp dC1maWxlLW5hbWUgbmFtZSB2ZXJzaW9uKSkKKyAgICAgICAgICAgICAgKHNoYTI1NgorICAgICAg ICAgICAgICAgKGJhc2UzMgorICAgICAgICAgICAgICAgICIweTJiaWZpMmF2YmptZnA4MGhqZ2Ey ZHlxaXA0YjQ2emt2eDZ5ZnI5cGEyaGhtOTQwcnB4IikpCisgICAgICAgICAgICAgIChtb2R1bGVz ICcoKGd1aXggYnVpbGQgdXRpbHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGljZS05IHN0 cmluZy1mdW4pKSkKKyAgICAgICAgICAgICAgKHNuaXBwZXQgI34oYmVnaW4KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICMkKGFkZC1leHRlcm5hbC1yZXBvcworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbW9uby0yLjExLjQtZXh0ZXJuYWwtcmVwby1zcGVjcykKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICMkcHJlcGFyZS1tb25vLXNvdXJjZSkpCisgICAgICAgICAgICAgIChw YXRjaGVzCisgICAgICAgICAgICAgICAoc2VhcmNoLXBhdGNoZXMgIm1vbm8tMi4xMS40LWZpeGVz LnBhdGNoIikpKSkKKyAgICAoYnVpbGQtc3lzdGVtIGdudS1idWlsZC1zeXN0ZW0pCisgICAgKG5h dGl2ZS1pbnB1dHMgKG1vZGlmeS1pbnB1dHMgKHBhY2thZ2UtbmF0aXZlLWlucHV0cyBtb25vLTIu Ni40KQorICAgICAgICAgICAgICAgICAgICAgKHJlcGxhY2UgIm1vbm8iIG1vbm8tMi42LjQpKSkK KyAgICAobGljZW5zZSAobGlzdAorICAgICAgICAgICAgICA7OyBtb3N0IG9mIG1jcy90b29scywg bW9uby9tYW4sIG1vc3Qgb2YgbWNzL2NsYXNzLCB0ZXN0cyBieQorICAgICAgICAgICAgICA7OyBk ZWZhdWx0LCBtb25vL2VnbGliLCBtb25vL21ldGFkYXRhL3NnZW4qLAorICAgICAgICAgICAgICA7 OyBtb25vL2FyY2gvKi9YWFgtY29kZWdlbi5oCisgICAgICAgICAgICAgIDs7IG1jcy9tY3MsIG1j cy9nbWNzIChkdWFsLWxpY2Vuc2VkIEdQTCkKKyAgICAgICAgICAgICAgOzsgc2FtcGxlcworICAg ICAgICAgICAgICBsaWNlbnNlOngxMQorICAgICAgICAgICAgICA7OyBtY3MvbWNzLCBtY3MvZ21j cyAoZHVhbC1saWNlbnNlZCBYMTEpCisgICAgICAgICAgICAgIDs7IHNvbWUgb2YgbWNzL3Rvb2xz CisgICAgICAgICAgICAgIGxpY2Vuc2U6Z3BsMSsgOzsgbm90ZTogLi9tY3MvTElDRU5TRS5HUEwg c3BlY2lmaWVzIG5vIHZlcnNpb24KKyAgICAgICAgICAgICAgOzsgbW9uby9tb25vICh0aGUgbW9u byBWTSwgSSB0aGluayB0aGV5IG1lYW50IG1vbm8vbWluaSkKKyAgICAgICAgICAgICAgbGljZW5z ZTpsZ3BsMi4wKyA7OyBub3RlOiAuL21jcy9MSUNFTlNFLkxHUEwgc3BlY2lmaWVzIG5vIHZlcnNp b24KKyAgICAgICAgICAgICAgOzsgbWNzL2pheQorICAgICAgICAgICAgICBsaWNlbnNlOmJzZC00 CisgICAgICAgICAgICAgIDs7IG1jcy9jbGFzcy9TeXN0ZW0uQ29yZS9TeXN0ZW0vVGltZVpvbmVJ bmZvLkFuZHJvaWQuY3MKKyAgICAgICAgICAgICAgbGljZW5zZTphc2wyLjApKSkpCmRpZmYgLS1n aXQgYS9nbnUvcGFja2FnZXMvcGF0Y2hlcy9tb25vLTIuMTEuNC1maXhlcy5wYXRjaCBiL2dudS9w YWNrYWdlcy9wYXRjaGVzL21vbm8tMi4xMS40LWZpeGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wMmEwNWY3OTc3YQotLS0gL2Rldi9udWxsCisrKyBiL2du dS9wYWNrYWdlcy9wYXRjaGVzL21vbm8tMi4xMS40LWZpeGVzLnBhdGNoCkBAIC0wLDAgKzEsMzYg QEAKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KK2luZGV4IDM4Y2M2 ZGMyOTI1Li40YzYwOGViMTUwZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29u ZmlndXJlLmluCitAQCAtNDcwLDcgKzQ3MCw3IEBAIEFDX0NIRUNLX0hFQURFUlMod2NoYXIuaCkK KyBBQ19DSEVDS19IRUFERVJTKGllZWVmcC5oKQorIEFDX01TR19DSEVDS0lORyhmb3IgaXNpbmYp CisgQUNfVFJZX0xJTksoWyNpbmNsdWRlIDxtYXRoLmg+XSwgWworLQlpbnQgZiA9IGlzaW5mICgx KTsKKysJaW50IGYgPSBpc2luZiAoMS4wKTsKKyBdLCBbCisgCUFDX01TR19SRVNVTFQoeWVzKQor IAlBQ19ERUZJTkUoSEFWRV9JU0lORiwgMSwgW2lzaW5mIGF2YWlsYWJsZV0pCitkaWZmIC0tZ2l0 IGEvbW9uby9pby1sYXllci9wcm9jZXNzZXMuYyBiL21vbm8vaW8tbGF5ZXIvcHJvY2Vzc2VzLmMK K2luZGV4IDU4NmI1NDcxNWRiLi5kMjc4NTdhYTA5MiAxMDA2NDQKKy0tLSBhL21vbm8vaW8tbGF5 ZXIvcHJvY2Vzc2VzLmMKKysrKyBiL21vbm8vaW8tbGF5ZXIvcHJvY2Vzc2VzLmMKK0BAIC0xOCw2 ICsxOCw3IEBACisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgor ICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorKyNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+CisgI2lu Y2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzaWduYWwuaD4KKyAjaW5jbHVkZSA8c3lzL3dh aXQuaD4KK2RpZmYgLS1naXQgYS9ydW50aW1lL01ha2VmaWxlLmFtIGIvcnVudGltZS9NYWtlZmls ZS5hbQoraW5kZXggNjk1N2EyODdkMzguLjJkMDcxMjMwYTg0IDEwMDY0NAorLS0tIGEvcnVudGlt ZS9NYWtlZmlsZS5hbQorKysrIGIvcnVudGltZS9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSwzIEBA CistIyBoYWNrIHRvIHByZXZlbnQgJ2NoZWNrJyBmcm9tIGRlcGVuZGluZyBvbiAnYWxsJworLUFV VE9NQUtFX09QVElPTlMgPSBjeWdudXMKKy0KKyB0bXBpbnN0ID0gX3RtcGluc3QKKyAKKyBub2lu c3RfU0NSSVBUUyA9IG1vbm8td3JhcHBlciBtb25vZGlzLXdyYXBwZXIKLS0gCjIuNDUuMgoK --b1=_sUWWoGLuiCwxqVBZd1XkAit8Hrc2P4iMkhdKhObgTww--