Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wTEoQ-000P0B-2w for pgsql-hackers@arkaria.postgresql.org; Sat, 30 May 2026 08:12:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wTEoP-005iw7-1A for pgsql-hackers@arkaria.postgresql.org; Sat, 30 May 2026 08:12:53 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wTEoO-005ivt-0S for pgsql-hackers@lists.postgresql.org; Sat, 30 May 2026 08:12:53 +0000 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wTEoK-00000000FGR-2tbM for pgsql-hackers@lists.postgresql.org; Sat, 30 May 2026 08:12:51 +0000 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-5aa653221d1so114553e87.0 for ; Sat, 30 May 2026 01:12:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780128766; cv=none; d=google.com; s=arc-20240605; b=QIsE5t8yMz1eJMoW+iV1E1giN2mNuxA1yjYet3T7+bDvz1QB7sC0nyXY6XO9Pkjn7g 9AbZV0pMgMpgN3g7VzwHaXTVhMi6bD4NwhYwrn7uCIpU6gkqbX8Pe3LQ0Ja99P9pEOA+ +ENJVZrlIXB7qU1euM1lVzYB3KBLtCXBZPV13iTCBd4YZUHILRV6VVUlwnBY0Kq7uj4T iupsycOSg8w6cMIOhsagoAuRj8dYBnaGz6AOaqXexnetSG0sdEBLcykVXzFTZjh/Lqe2 Wa0ChVhzVK4qcX81JZobbRiU3ZxkDKVgTIAvHCzt4VO9grDG5fVT64IzR3FBeiWAOen7 W5ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=4R/82+xeuYzqCA/jixibsORQcXaTmBbsNZPehVhmqXU=; fh=fKXHHsYyA3kHSA9yDhjgow/vdJ8hYu4K7nGdent69p8=; b=GuIw9GPS52DfFN6uJTLKB59TpW7TPbNNi5ayRnmYZhxls8/O8HsACrKe7OxYJDVTPu A87xbWz6gOCTyw7Rm5Mk1hA7220V6sIZN7WZiUKuL30+UN8C6eC0KEjwsAz/6978h9Dh zwBXRK/R4eqZRyNzjTYMeGQRxFTfi1gv4uyQ+LqwPF3FxPT818x1olt4a9IiB77yRbGZ +74H9CGlpVzmbKjqrdQeLLmNdK+bhV/jk2vg97pPKRkPxCi+FIQvTObby6Jbpr6WsbXE r6HJuExC5w9iyUbxUmFlecLknaiFUZKYjHNHFBjC92DU+Grz8cYACa+shz7mvxQlpmc+ zcOg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780128766; x=1780733566; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4R/82+xeuYzqCA/jixibsORQcXaTmBbsNZPehVhmqXU=; b=fthLHCLToUe957WI+9Y5Wq9HStMQq0f9HD+esZHxQeWxG1Ce+Iro0651QOd31lVh/F TaG2DniYjQtq8gBD9OuEcnS40PgXTNFiYhronCpI2gLc0/FTBhqWAmBS63udyKHDoo/4 jcnqNYf+G+AfcWEp9B9T/uHelxrfAPFDKqXDxq3Atnrp2PcU1jxTzgXGWL4Qn563/5Nf ScbKDRUz87ZxmAELu12A0jZh/xyrmt4ELqJ8SK3P08eHwzw1GZtSy1MOwxYb0s4dbPKe Cm5sFAVxeWM5kh8+0f8MMCuLfk/ndILgrMtKI7ftVUvFWNKVGN/Z/GT1JhBG6wRudy/2 uyCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780128766; x=1780733566; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4R/82+xeuYzqCA/jixibsORQcXaTmBbsNZPehVhmqXU=; b=lsYonijuJ+5sprSmk24+1VSwDfwYn6ijA6d9xlp5Cmik3QcNGZgZgYPeAjdAy8oNj3 pE8Q3xCFqWVobc8cE5ivmiQko9TjSXtbKbEivhP8C4RkKxsEdMQQwdeemCi5DcHgoC6e rlUjxy1opDjAqVYftTmN82iRONb19gAzx5qgM/cNF5A+szhkARazD79Sg1f2HKz2XwFv eSw7XUFtKGY+bjvlhlXI5Hr9/Sa4CzOhLTedT/4LmhY/Sv37VTDvSi4Ur/Uz9oHa5Cca bir0dObLdxd2MXJpad8AU0gv++RUUknMmUqEn9T9hG6AvRYTuvOgeg4SJiIC4KFUjjAL Mm5g== X-Forwarded-Encrypted: i=1; AFNElJ+4VM9+QgdvbPla7CRj+fGmQys9njT7MIiRTCy8CPBJH0eX3l/olD8aFskCm76CF6UUJInvucK7gHVOKTnT@lists.postgresql.org X-Gm-Message-State: AOJu0Ywrie2hyOCbVwyv5H6g7mWPEJ+xxJzLAp16JBLECPCLNSkQTlOZ 7mbRrfbJXNHT4wh/rLziB4N5yhcx/7d24VWiuGamrUja2yid20A8psm+BpAvHWw5aBR5wrdPS9Y CQSq4kRp2Rz1ApQ3slqxjLA811iJoVJU= X-Gm-Gg: Acq92OFHbvDpJzCTzHxJLeYiT7TykztvMj0jVDPChqhACRtw0tUq7WPKn7uLlsed0+d ezopjnDjW5UUyUsIFmkrWIinR5M4ZLzLh5pSdPRB6oYMKcaNLWe5bro8Sjd/iRQTNV6VwVS5S9j qn05pcR2TlXEaO5ONW2sPdqnVrFbCmxoH/EoFH0V4BJ030ebyBEZRk0bXOhyf5Or0ri23FhHVxB QNlJWf+be81ngobJOKK8cbow+Y1ShTOTl7Kr+9T3FZ31YOhHQp3CvFPdXa6yeQ10nAO9baenPcz a0Ucn4fYwEa5CT6vBBEwOQNgkAPVYPn0P3Oq0uDAyXT3cAyBK44= X-Received: by 2002:a05:6512:4054:10b0:5aa:628b:5892 with SMTP id 2adb3069b0e04-5aa628b59b9mr290637e87.5.1780128766064; Sat, 30 May 2026 01:12:46 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dilip Kumar Date: Sat, 30 May 2026 13:42:27 +0530 X-Gm-Features: AVHnY4Kkad9UHHxJ3w5JgMZH-SrsQAyXksbgxcx-McNZI4BB__oBzTBQik_c4rk Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: Amit Kapila Cc: Nisha Moond , vignesh C , Peter Smith , shveta malik , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers , shveta malik Content-Type: multipart/mixed; boundary="000000000000c198600653048635" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c198600653048635 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, May 30, 2026 at 6:01=E2=80=AFAM Dilip Kumar = wrote: > > On Sat, May 30, 2026 at 3:36=E2=80=AFAM Dilip Kumar wrote: > > > > On Sat, May 30, 2026 at 3:24=E2=80=AFAM Dilip Kumar wrote: > > > > > > On Fri, May 29, 2026 at 5:11=E2=80=AFAM Amit Kapila wrote: > > > > > > > > On Thu, May 21, 2026 at 9:51=E2=80=AFPM Nisha Moond wrote: > > > > > > > > > > On Wed, May 20, 2026 at 3:05=E2=80=AFPM vignesh C wrote: > > > > > > > > > > > > Rest of the comments were fixed. > > > > > > The attached v37 version patch has the changes for the same. Al= so > > > > > > Peter's comments on the documentation patch from [1] and Shveta= 's > > > > > > comments from [2] are addressed in the attached patch. > > > > > > > > > > > > > > > > Here are few comments based on v37 testing: > > > > > > > > > > 1) Should we consider using TOAST tables for tuple-data columns l= ike > > > > > remote_tuple and local_conflicts (the JSON columns)? > > > > > This may be a corner case, but if the tuple data becomes too larg= e to > > > > > fit into an 8KB heap tuple, then the apply worker keeps failing w= hile > > > > > inserting into the CLT with errors like: > > > > > > > > > > ERROR: row is too big: size 19496, maximum size 8160 > > > > > LOG: background worker "logical replication apply worker" (PID > > > > > 41226) exited with exit code 1 > > > > > > > > > > > > > In the docs, it is mentioned: "column_value is the column value. Th= e > > > > large column values are truncated to 64 bytes." [1], so I wonder, i= f > > > > we follow this why we need toast entries? Did you tried any case wh= ere > > > > you are getting above ERROR? > > > > > > But in this case we are talking about the JSON column of the CLT whic= h > > > might contain a full local tuple or even multiple local tuples if a > > > remote tuple conflicts with multiple local rows. So, IMHO, we need a > > > toast table. Nisha, have you already tested the scenario? If yes, can > > > you share your test case? > > > > After putting more thought, I think instead of executing a three-step > > process i.e. inserting the pg_subscription tuple, creating the table > > with its dependency, and then going back to update the tuple with the > > new relation ID, it is much cleaner to do it linearly, i.e. we should > > create the conflict log table first to get its OID, insert the > > subscription tuple pre-populated with that ID, and then record the > > dependency. This achieves the exact same state in a single direct > > sequence without the redundant catalog update within the same command. > > I agree with that code we would have to keep the record dependency > > code in CreateSubscription and AlterSubscription functions, but after > > putting more thought I think in thoese function we are already > > recording subscription dependencies with other object so wouldn't it > > be more natural to add this depednecy as well at the same place? > > > > Anyway I am ready to change that if we have strong opinion against > > this approach. > > > > Here is the updated patch and changes are > > 1. 0003 and 0004 are merged on 0001 > > 2. Merged Amit's v41_amit_1.patch.txt to 0002 > > 3. Fix the dependency order issue (i.e. create dependency after > > inserting subscription tuple) and merged in 0002 > > > > Open Items: > > 1. Need to create toast table for CLT after testing with larger JSON ro= w > > 2. Fixed review comments of Shveta on 0004 and 0005 > > 3. Rebase Vignesh's patch of > > "v41-0007-Preserve-conflict-log-destination-and-subscripti" I think we > > can do that once we have concensus on whether to create conflict log > > table first or insert the subscription row first as based on this > > change we would have to rebase this patch again. > > 4. Once we rebase > > "v41-0007-Preserve-conflict-log-destination-and-subscripti" after > > dependency order consensus I would rebase doc patch and \dRs+ change > > patch of Vignesh. > > Here is a topup patch so create conflict log table after inserting > subscription tuple and then update the tuple with clt relid.. > > Main changes will look like this[1] > > [1] > /* > * If logging to a table is required, physically create it now. We create > * the conflict log table here. Also update the pg_subscription row > * after creating the conflict log table with its reloid. > */ > if (CONFLICTS_LOGGED_TO_TABLE(opts.conflictlogdest)) > { > bool replaces[Natts_pg_subscription]; > Oid logrelid =3D > create_conflict_log_table(subid, stmt->subname, owner); > > /* Form a new tuple. */ > memset(values, 0, sizeof(values)); > memset(nulls, false, sizeof(nulls)); > memset(replaces, false, sizeof(replaces)); > > values[Anum_pg_subscription_subconflictlogrelid - 1] =3D > ObjectIdGetDatum(logrelid); > replaces[Anum_pg_subscription_subconflictlogrelid - 1] =3D > true; > > /* Make subscription tuple visible before updating it. */ > CommandCounterIncrement(); > > tup =3D heap_modify_tuple(tup, RelationGetDescr(rel), values, nulls, > replaces); > > CatalogTupleUpdate(rel, &tup->t_self, tup); > } > In latest patch set I have fixed Nisha's comments by creating a toast table, a separate patch (v43-0005-Create-conflict-log-table-after-inserting-subscr.patch) attached for creating conflict log table after inserting subscription row. --=20 Regards, Dilip Kumar Google --000000000000c198600653048635 Content-Type: application/octet-stream; name="v43-0001-Add-configurable-conflict-log-table-for-Logical-.patch" Content-Disposition: attachment; filename="v43-0001-Add-configurable-conflict-log-table-for-Logical-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mps2ouuv0 RnJvbSAxOTg0MWE1NjE4ODBhOGFkMGQ1MDEwZDhmMDM2NzFmNGUxNGYxMjNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogRnJpLCAyOSBNYXkgMjAyNiAxNTowNToxNSArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjQz IDEvNV0gQWRkIGNvbmZpZ3VyYWJsZSBjb25mbGljdCBsb2cgdGFibGUgZm9yIExvZ2ljYWwKIFJl cGxpY2F0aW9uCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpUaGlzIHBhdGNoIGFk ZHMgYSBmZWF0dXJlIHRvIHByb3ZpZGUgYSBzdHJ1Y3R1cmVkLCBxdWVyeWFibGUgcmVjb3JkIG9m IGFsbApsb2dpY2FsIHJlcGxpY2F0aW9uIGNvbmZsaWN0cy4gVGhlIGN1cnJlbnQgYXBwcm9hY2gg b2YgbG9nZ2luZyBjb25mbGljdHMgYXMKcGxhaW4gdGV4dCBpbiB0aGUgc2VydmVyIGxvZ3MgbWFr ZXMgaXQgZGlmZmljdWx0IHRvIHF1ZXJ5LCBhbmFseXplLCBhbmQKdXNlIGZvciBleHRlcm5hbCBt b25pdG9yaW5nIGFuZCBhdXRvbWF0aW9uLgoKVGhpcyBwYXRjaCBhZGRyZXNzZXMgdGhlc2UgbGlt aXRhdGlvbnMgYnkgaW50cm9kdWNpbmcgYSBjb25maWd1cmFibGUKY29uZmxpY3RfbG9nX2Rlc3Rp bmF0aW9uPSgnbG9nJy8ndGFibGUnLydhbGwnKSBvcHRpb24gaW4gdGhlIENSRUFURSBTVUJTQ1JJ UFRJT04KY29tbWFuZC4KCklmIHRoZSB1c2VyIGNob29zZXMgdG8gZW5hYmxlIGxvZ2dpbmcgdG8g YSB0YWJsZSAoYnkgc2VsZWN0aW5nICd0YWJsZScgb3IgJ2FsbCcpLAphbiBpbnRlcm5hbCBsb2dn aW5nIHRhYmxlIG5hbWVkIHBnX2NvbmZsaWN0X2xvZ188c3ViaWQ+IGlzIGF1dG9tYXRpY2FsbHkK Y3JlYXRlZCB3aXRoaW4gYSBkZWRpY2F0ZWQsIHN5c3RlbS1tYW5hZ2VkICdwZ19jb25mbGljdCcg bmFtZXNwYWNlIHRvIHByZXZlbnQKdXNlcnMgZnJvbSBtYW51YWxseSBkcm9wcGluZyBvciBhbHRl cmluZyBpdC4gVGhpcyBhbHNvIHByZXZlbnRzIGFjY2lkZW50YWwKbmFtZSBjb2xsaXNpb25zIHdp dGggdXNlci1jcmVhdGVkIHRhYmxlcy4gVGhpcyB0YWJsZSBpcyBsaW5rZWQgdG8gdGhlCnN1YnNj cmlwdGlvbiB2aWEgYW4gaW50ZXJuYWwgZGVwZW5kZW5jeSwgZW5zdXJpbmcgaXQgaXMgYXV0b21h dGljYWxseSBkcm9wcGVkCndoZW4gdGhlIHN1YnNjcmlwdGlvbiBpcyByZW1vdmVkCgpUaGUgcGVy LXN1YnNjcmlwdGlvbiB0YWJsZSBtb2RlbCB3YXMgY2hvc2VuIG92ZXIgYSBzaW5nbGUgZ2xvYmFs IGxvZyB0byBlbnN1cmUKc3VwZXJpb3IgaXNvbGF0aW9uIGFuZCBhZG1pbmlzdHJhdGl2ZSBmbGV4 aWJpbGl0eSBieSBkaXJlY3RseSBhbGlnbmluZyB0YWJsZSBvd25lcnNoaXAKd2l0aCB0aGUgc3Vi c2NyaXB0aW9u4oCZcyBsaWZlY3ljbGUuIFRoaXMgYXBwcm9hY2ggYWxsb3dzIGZvciBncmFudWxh ciBwZXJtaXNzaW9uCm1hbmFnZW1lbnQsIGVuYWJsaW5nIHRoZSBzdWJzY3JpcHRpb24gb3duZXIg dG8gcGVyZm9ybSBuZWNlc3NhcnkgbWFpbnRlbmFuY2UKdGFza3MgbGlrZSBTRUxFQ1QsIERFTEVU RSwgYW5kIFRSVU5DQVRFIHdpdGhvdXQgdGhlIHNlY3VyaXR5IHJpc2tzIG9yIGNvbXBsZXgKUm93 LUxldmVsIFNlY3VyaXR5IHJlcXVpcmVkIGJ5IGEgc2hhcmVkIGdsb2JhbCB0YWJsZS4KClRoZSBj b25mbGljdCBkZXRhaWxzLCBpbmNsdWRpbmcgdGhlIG9yaWdpbmFsIGFuZCByZW1vdGUgdHVwbGVz LCBhcmUgc3RvcmVkIGluIEpTT04KY29sdW1ucywgcHJvdmlkaW5nIGEgZmxleGlibGUgZm9ybWF0 IHRvIGFjY29tbW9kYXRlIGRpZmZlcmVudCB0YWJsZSBzY2hlbWFzLgoKVGhlIGxvZyB0YWJsZSBj YXB0dXJlcyBlc3NlbnRpYWwgYXR0cmlidXRlcyBzdWNoIGFzIGxvY2FsIGFuZCByZW1vdGUgdHJh bnNhY3Rpb24gSURzLApMU05zLCBjb21taXQgdGltZXN0YW1wcywgYW5kIGNvbmZsaWN0IHR5cGUs IHByb3ZpZGluZyBhIGNvbXBsZXRlIHJlY29yZCBmb3IgcG9zdC1tb3J0ZW0KYW5hbHlzaXMuCgpU aGlzIGZlYXR1cmUgd2lsbCBtYWtlIGxvZ2ljYWwgcmVwbGljYXRpb24gY29uZmxpY3RzIGVhc2ll ciB0byBtb25pdG9yIGFuZCBtYW5hZ2UsCnNpZ25pZmljYW50bHkgaW1wcm92aW5nIHRoZSBvdmVy YWxsIHJlc2lsaWVuY2UgYW5kIG9wZXJhYmlsaXR5IG9mIHJlcGxpY2F0aW9uIHNldHVwcy4KClRo ZSBjb25mbGljdCBsb2cgdGFibGVzIHdpbGwgbm90IGJlIGluY2x1ZGVkIGluIGEgcHVibGljYXRp b24sIGV2ZW4gaWYgdGhlIHB1YmxpY2F0aW9uCmlzIGNvbmZpZ3VyZWQgdG8gaW5jbHVkZSBBTEwg VEFCTEVTIG9yIEFMTCBUQUJMRVMgSU4gU0NIRU1BLgotLS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cv YWNsY2hrLmMgICAgICAgICAgICAgICB8ICAxNCArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9jYXRh bG9nLmMgICAgICAgICAgICAgIHwgIDI4ICstCiBzcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyAg ICAgICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMg ICAgICAgICAgICB8ICAxMSArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5j ICAgICAgIHwgIDExICstCiBzcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jICAg ICAgfCAgIDcgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jICAgIHwg MjYyICsrKysrKysrKystCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgICAg ICAgfCAgIDYgKy0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgICAgICAgICAgICB8 ICAyOSArKwogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jIHwgIDI1 ICsrCiBzcmMvYmluL2luaXRkYi9pbml0ZGIuYyAgICAgICAgICAgICAgICAgICAgfCAgIDYgKwog c3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5pbi5jICAgICAgICAgICAgIHwgICA4ICstCiBzcmMv aW5jbHVkZS9jYXRhbG9nL2NhdGFsb2cuaCAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19uYW1lc3BhY2UuZGF0ICAgICAgIHwgICAzICsKIHNyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfc3Vic2NyaXB0aW9uLmggICAgICB8ICAxMSArCiBzcmMvaW5jbHVkZS9jb21tYW5k cy9zdWJzY3JpcHRpb25jbWRzLmggICAgfCAgIDMgKwogc3JjL2luY2x1ZGUvcmVwbGljYXRpb24v Y29uZmxpY3QuaCAgICAgICAgIHwgIDMyICsrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1 YnNjcmlwdGlvbi5vdXQgfCA0ODMgKysrKysrKysrKysrKysrKystLS0tCiBzcmMvdGVzdC9yZWdy ZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsICAgICAgfCAyNTQgKysrKysrKysrKysKIHNyYy90b29s cy9wZ2luZGVudC90eXBlZGVmcy5saXN0ICAgICAgICAgICB8ICAgMiArCiAyMCBmaWxlcyBjaGFu Z2VkLCAxMDk0IGluc2VydGlvbnMoKyksIDEwNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsu YwppbmRleCAwMDdlZGU5OTdjNS4uODRlZjUzMDRlMjIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvYWNsY2hrLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsuYwpAQCAt MzM0NCwxMiArMzM0NCwyMCBAQCBwZ19jbGFzc19hY2xtYXNrX2V4dChPaWQgdGFibGVfb2lkLCBP aWQgcm9sZWlkLCBBY2xNb2RlIG1hc2ssCiAJICogQXMgb2YgNy40IHdlIGhhdmUgc29tZSB1cGRh dGFibGUgc3lzdGVtIHZpZXdzOyB0aG9zZSBzaG91bGRuJ3QgYmUKIAkgKiBwcm90ZWN0ZWQgaW4g dGhpcyB3YXkuICBBc3N1bWUgdGhlIHZpZXcgcnVsZXMgY2FuIHRha2UgY2FyZSBvZgogCSAqIHRo ZW1zZWx2ZXMuICBBQ0xfVVNBR0UgaXMgaWYgd2UgZXZlciBoYXZlIHN5c3RlbSBzZXF1ZW5jZXMu CisJICoKKwkgKiBGb3IgY29uZmxpY3QgbG9nIHRhYmxlcywgd2UgYWxsb3cgbm9uLXN1cGVydXNl cnMgdG8gcGVyZm9ybSBERUxFVEUKKwkgKiBhbmQgVFJVTkNBVEUgZm9yIG1haW50ZW5hbmNlLCB3 aGlsZSBzdGlsbCByZXN0cmljdGluZyBJTlNFUlQsCisJICogVVBEQVRFLCBhbmQgVVNBR0UuCiAJ ICovCiAJaWYgKChtYXNrICYgKEFDTF9JTlNFUlQgfCBBQ0xfVVBEQVRFIHwgQUNMX0RFTEVURSB8 IEFDTF9UUlVOQ0FURSB8IEFDTF9VU0FHRSkpICYmCi0JCUlzU3lzdGVtQ2xhc3ModGFibGVfb2lk LCBjbGFzc0Zvcm0pICYmCi0JCWNsYXNzRm9ybS0+cmVsa2luZCAhPSBSRUxLSU5EX1ZJRVcgJiYK KwkJSXNDb25mbGljdENsYXNzKGNsYXNzRm9ybSkgJiYKIAkJIXN1cGVydXNlcl9hcmcocm9sZWlk KSkKLQkJbWFzayAmPSB+KEFDTF9JTlNFUlQgfCBBQ0xfVVBEQVRFIHwgQUNMX0RFTEVURSB8IEFD TF9UUlVOQ0FURSB8IEFDTF9VU0FHRSk7CisJCW1hc2sgJj0gfihBQ0xfSU5TRVJUIHwgQUNMX1VQ REFURSB8IEFDTF9VU0FHRSk7CisJZWxzZSBpZiAoKG1hc2sgJiAoQUNMX0lOU0VSVCB8IEFDTF9V UERBVEUgfCBBQ0xfREVMRVRFIHwgQUNMX1RSVU5DQVRFIHwgQUNMX1VTQUdFKSkgJiYKKwkJCUlz U3lzdGVtQ2xhc3ModGFibGVfb2lkLCBjbGFzc0Zvcm0pICYmCisJCQljbGFzc0Zvcm0tPnJlbGtp bmQgIT0gUkVMS0lORF9WSUVXICYmCisJCQkhc3VwZXJ1c2VyX2FyZyhyb2xlaWQpKQorCQkJbWFz ayAmPSB+KEFDTF9JTlNFUlQgfCBBQ0xfVVBEQVRFIHwgQUNMX0RFTEVURSB8IEFDTF9UUlVOQ0FU RSB8IEFDTF9VU0FHRSk7CiAKIAkvKgogCSAqIE90aGVyd2lzZSwgc3VwZXJ1c2VycyBieXBhc3Mg YWxsIHBlcm1pc3Npb24tY2hlY2tpbmcuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L2NhdGFsb2cuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvY2F0YWxvZy5jCmluZGV4IDdiZTQ5MDMy OTM0Li40NTc4Y2QwNzE0MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9jYXRhbG9n LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9jYXRhbG9nLmMKQEAgLTg2LDcgKzg2LDkgQEAg Ym9vbAogSXNTeXN0ZW1DbGFzcyhPaWQgcmVsaWQsIEZvcm1fcGdfY2xhc3MgcmVsdHVwbGUpCiB7 CiAJLyogSXNDYXRhbG9nUmVsYXRpb25PaWQgaXMgYSBiaXQgZmFzdGVyLCBzbyB0ZXN0IHRoYXQg Zmlyc3QgKi8KLQlyZXR1cm4gKElzQ2F0YWxvZ1JlbGF0aW9uT2lkKHJlbGlkKSB8fCBJc1RvYXN0 Q2xhc3MocmVsdHVwbGUpKTsKKwlyZXR1cm4gKElzQ2F0YWxvZ1JlbGF0aW9uT2lkKHJlbGlkKSB8 fAorCQkJSXNUb2FzdENsYXNzKHJlbHR1cGxlKSB8fAorCQkJSXNDb25mbGljdENsYXNzKHJlbHR1 cGxlKSk7CiB9CiAKIC8qCkBAIC0yMzAsNiArMjMyLDE4IEBAIElzVG9hc3RDbGFzcyhGb3JtX3Bn X2NsYXNzIHJlbHR1cGxlKQogCXJldHVybiBJc1RvYXN0TmFtZXNwYWNlKHJlbG5hbWVzcGFjZSk7 CiB9CiAKKy8qCisgKiBJc0NvbmZsaWN0Q2xhc3MgLSBDaGVjayBpZiB0aGUgZ2l2ZW4gcGdfY2xh c3MgdHVwbGUgYmVsb25ncyB0byB0aGUgY29uZmxpY3QKKyAqCQkJCQkgbmFtZXNwYWNlLgorICov Citib29sCitJc0NvbmZsaWN0Q2xhc3MoRm9ybV9wZ19jbGFzcyByZWx0dXBsZSkKK3sKKwlPaWQJ CQlyZWxuYW1lc3BhY2UgPSByZWx0dXBsZS0+cmVsbmFtZXNwYWNlOworCisJcmV0dXJuIElzQ29u ZmxpY3ROYW1lc3BhY2UocmVsbmFtZXNwYWNlKTsKK30KKwogLyoKICAqIElzQ2F0YWxvZ05hbWVz cGFjZQogICoJCVRydWUgaWZmIG5hbWVzcGFjZSBpcyBwZ19jYXRhbG9nLgpAQCAtMjY0LDYgKzI3 OCwxOCBAQCBJc1RvYXN0TmFtZXNwYWNlKE9pZCBuYW1lc3BhY2VJZCkKIAkJaXNUZW1wVG9hc3RO YW1lc3BhY2UobmFtZXNwYWNlSWQpOwogfQogCisvKgorICogSXNDb25mbGljdE5hbWVzcGFjZQor ICoJCVRydWUgaWZmIG5hbWVzcGFjZSBpcyBwZ19jb25mbGljdC4KKyAqCisgKgkJRG9lcyBub3Qg cGVyZm9ybSBhbnkgY2F0YWxvZyBhY2Nlc3Nlcy4KKyAqLworYm9vbAorSXNDb25mbGljdE5hbWVz cGFjZShPaWQgbmFtZXNwYWNlSWQpCit7CisJcmV0dXJuIG5hbWVzcGFjZUlkID09IFBHX0NPTkZM SUNUX05BTUVTUEFDRTsKK30KKwogCiAvKgogICogSXNSZXNlcnZlZE5hbWUKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMK aW5kZXggODgwODc2NTRkZTkuLjcyYmQ3ZmFhZjJkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j YXRhbG9nL2hlYXAuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwpAQCAtMzE1LDcg KzMxNSw4IEBAIGhlYXBfY3JlYXRlKGNvbnN0IGNoYXIgKnJlbG5hbWUsCiAJICovCiAJaWYgKCFh bGxvd19zeXN0ZW1fdGFibGVfbW9kcyAmJgogCQkoKElzQ2F0YWxvZ05hbWVzcGFjZShyZWxuYW1l c3BhY2UpICYmIHJlbGtpbmQgIT0gUkVMS0lORF9JTkRFWCkgfHwKLQkJIElzVG9hc3ROYW1lc3Bh Y2UocmVsbmFtZXNwYWNlKSkgJiYKKwkJIElzVG9hc3ROYW1lc3BhY2UocmVsbmFtZXNwYWNlKSB8 fAorCQkgSXNDb25mbGljdE5hbWVzcGFjZShyZWxuYW1lc3BhY2UpKSAmJgogCQlJc05vcm1hbFBy b2Nlc3NpbmdNb2RlKCkpCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9J TlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cv bmFtZXNwYWNlLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL25hbWVzcGFjZS5jCmluZGV4IDU2Yjg3 ZDg3OGU4Li5jMzVmY2Y1N2ZkNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9uYW1l c3BhY2UuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL25hbWVzcGFjZS5jCkBAIC0zNTIzLDkg KzM1MjMsOCBAQCBMb29rdXBDcmVhdGlvbk5hbWVzcGFjZShjb25zdCBjaGFyICpuc3BuYW1lKQog LyoKICAqIENvbW1vbiBjaGVja3Mgb24gc3dpdGNoaW5nIG5hbWVzcGFjZXMuCiAgKgotICogV2Ug Y29tcGxhaW4gaWYgZWl0aGVyIHRoZSBvbGQgb3IgbmV3IG5hbWVzcGFjZXMgaXMgYSB0ZW1wb3Jh cnkgc2NoZW1hCi0gKiAob3IgdGVtcG9yYXJ5IHRvYXN0IHNjaGVtYSksIG9yIGlmIGVpdGhlciB0 aGUgb2xkIG9yIG5ldyBuYW1lc3BhY2VzIGlzIHRoZQotICogVE9BU1Qgc2NoZW1hLgorICogV2Ug Y29tcGxhaW4gaWYgZWl0aGVyIHRoZSBvbGQgb3IgbmV3IG5hbWVzcGFjZXMgaXMgYSB0ZW1wb3Jh cnkgc2NoZW1hLAorICogdGVtcG9yYXJ5IHRvYXN0IHNjaGVtYSwgdGhlIFRPQVNUIHNjaGVtYSwg b3IgdGhlIENPTkZMSUNUIHNjaGVtYS4KICAqLwogdm9pZAogQ2hlY2tTZXROYW1lc3BhY2UoT2lk IG9sZE5zcE9pZCwgT2lkIG5zcE9pZCkKQEAgLTM1NDEsNiArMzU0MCwxMiBAQCBDaGVja1NldE5h bWVzcGFjZShPaWQgb2xkTnNwT2lkLCBPaWQgbnNwT2lkKQogCQllcmVwb3J0KEVSUk9SLAogCQkJ CShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKIAkJCQkgZXJybXNnKCJj YW5ub3QgbW92ZSBvYmplY3RzIGludG8gb3Igb3V0IG9mIFRPQVNUIHNjaGVtYSIpKSk7CisKKwkv KiBzaW1pbGFybHkgZm9yIENPTkZMSUNUIHNjaGVtYSAqLworCWlmIChuc3BPaWQgPT0gUEdfQ09O RkxJQ1RfTkFNRVNQQUNFIHx8IG9sZE5zcE9pZCA9PSBQR19DT05GTElDVF9OQU1FU1BBQ0UpCisJ CWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JU RUQpLAorCQkJCSBlcnJtc2coImNhbm5vdCBtb3ZlIG9iamVjdHMgaW50byBvciBvdXQgb2YgQ09O RkxJQ1Qgc2NoZW1hIikpKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFs b2cvcGdfcHVibGljYXRpb24uYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVibGljYXRpb24u YwppbmRleCA1YzQ1N2Q5YWNhOC4uYzY4MDM1NmExMGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvcGdfcHVibGljYXRpb24uYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1 YmxpY2F0aW9uLmMKQEAgLTEwMyw2ICsxMDMsMTMgQEAgY2hlY2tfcHVibGljYXRpb25fYWRkX3Jl bGF0aW9uKFB1YmxpY2F0aW9uUmVsSW5mbyAqcHJpKQogCQkJCShlcnJjb2RlKEVSUkNPREVfSU5W QUxJRF9QQVJBTUVURVJfVkFMVUUpLAogCQkJCSBlcnJtc2coZXJyb3Jtc2csIHJlbG5hbWUpLAog CQkJCSBlcnJkZXRhaWwoIlRoaXMgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHVubG9n Z2VkIHRhYmxlcy4iKSkpOworCisJLyogQ2FuJ3QgYmUgY29uZmxpY3QgbG9nIHRhYmxlICovCisJ aWYgKElzQ29uZmxpY3ROYW1lc3BhY2UoUmVsYXRpb25HZXROYW1lc3BhY2UodGFyZ2V0cmVsKSkp CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFNRVRF Ul9WQUxVRSksCisJCQkJIGVycm1zZyhlcnJvcm1zZywgcmVsbmFtZSksCisJCQkJIGVycmRldGFp bCgiVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgY29uZmxpY3QgbG9nIHRhYmxl cy4iKSkpOwogfQogCiAvKgpAQCAtMTEzLDcgKzEyMCw4IEBAIHN0YXRpYyB2b2lkCiBjaGVja19w dWJsaWNhdGlvbl9hZGRfc2NoZW1hKE9pZCBzY2hlbWFpZCkKIHsKIAkvKiBDYW4ndCBiZSBzeXN0 ZW0gbmFtZXNwYWNlICovCi0JaWYgKElzQ2F0YWxvZ05hbWVzcGFjZShzY2hlbWFpZCkgfHwgSXNU b2FzdE5hbWVzcGFjZShzY2hlbWFpZCkpCisJaWYgKElzQ2F0YWxvZ05hbWVzcGFjZShzY2hlbWFp ZCkgfHwgSXNUb2FzdE5hbWVzcGFjZShzY2hlbWFpZCkgfHwKKwkJSXNDb25mbGljdE5hbWVzcGFj ZShzY2hlbWFpZCkpCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZB TElEX1BBUkFNRVRFUl9WQUxVRSksCiAJCQkJIGVycm1zZygiY2Fubm90IGFkZCBzY2hlbWEgXCIl c1wiIHRvIHB1YmxpY2F0aW9uIiwKQEAgLTE1Nyw2ICsxNjUsNyBAQCBpc19wdWJsaXNoYWJsZV9j bGFzcyhPaWQgcmVsaWQsIEZvcm1fcGdfY2xhc3MgcmVsdHVwbGUpCiAJCQlyZWx0dXBsZS0+cmVs a2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxFIHx8CiAJCQlyZWx0dXBsZS0+cmVsa2lu ZCA9PSBSRUxLSU5EX1NFUVVFTkNFKSAmJgogCQkhSXNDYXRhbG9nUmVsYXRpb25PaWQocmVsaWQp ICYmCisJCSFJc0NvbmZsaWN0Q2xhc3MocmVsdHVwbGUpICYmCiAJCXJlbHR1cGxlLT5yZWxwZXJz aXN0ZW5jZSA9PSBSRUxQRVJTSVNURU5DRV9QRVJNQU5FTlQgJiYKIAkJcmVsaWQgPj0gRmlyc3RO b3JtYWxPYmplY3RJZDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vi c2NyaXB0aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5jCmluZGV4 IDFmMWZkYzc1YWY2Li44MDk4MThhZjllYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb24uYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3N1YnNjcmlw dGlvbi5jCkBAIC0xMTgsNiArMTE4LDcgQEAgR2V0U3Vic2NyaXB0aW9uKE9pZCBzdWJpZCwgYm9v bCBtaXNzaW5nX29rLCBib29sIGFjbGNoZWNrKQogCXN1Yi0+cmV0YWluZGVhZHR1cGxlcyA9IHN1 YmZvcm0tPnN1YnJldGFpbmRlYWR0dXBsZXM7CiAJc3ViLT5tYXhyZXRlbnRpb24gPSBzdWJmb3Jt LT5zdWJtYXhyZXRlbnRpb247CiAJc3ViLT5yZXRlbnRpb25hY3RpdmUgPSBzdWJmb3JtLT5zdWJy ZXRlbnRpb25hY3RpdmU7CisJc3ViLT5jb25mbGljdGxvZ3JlbGlkID0gc3ViZm9ybS0+c3ViY29u ZmxpY3Rsb2dyZWxpZDsKIAogCS8qIEdldCBjb25uaW5mbyAqLwogCWlmIChPaWRJc1ZhbGlkKHN1 YmZvcm0tPnN1YnNlcnZlcikpCkBAIC0xODcsNiArMTg4LDEyIEBAIEdldFN1YnNjcmlwdGlvbihP aWQgc3ViaWQsIGJvb2wgbWlzc2luZ19vaywgYm9vbCBhY2xjaGVjaykKIAkJCQkJCQkJICAgQW51 bV9wZ19zdWJzY3JpcHRpb25fc3Vib3JpZ2luKTsKIAlzdWItPm9yaWdpbiA9IFRleHREYXR1bUdl dENTdHJpbmcoZGF0dW0pOwogCisJLyogR2V0IGNvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiAqLwor CWRhdHVtID0gU3lzQ2FjaGVHZXRBdHRyTm90TnVsbChTVUJTQ1JJUFRJT05PSUQsCisJCQkJCQkJ CSAgIHR1cCwKKwkJCQkJCQkJICAgQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dk ZXN0KTsKKwlzdWItPmNvbmZsaWN0bG9nZGVzdCA9IFRleHREYXR1bUdldENTdHJpbmcoZGF0dW0p OworCiAJLyogSXMgdGhlIHN1YnNjcmlwdGlvbiBvd25lciBhIHN1cGVydXNlcj8gKi8KIAlzdWIt Pm93bmVyc3VwZXJ1c2VyID0gc3VwZXJ1c2VyX2FyZyhzdWItPm93bmVyKTsKIApkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jIGIvc3JjL2JhY2tlbmQv Y29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCmluZGV4IDUyMzk1OWJhMGNlLi5hZmExNDAxZjUy MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCisr KyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwpAQCAtMjEsMTMgKzIx LDE2IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hhY3QuaCIKICNpbmNsdWRlICJjYXRhbG9nL2NhdGFs b2cuaCIKICNpbmNsdWRlICJjYXRhbG9nL2RlcGVuZGVuY3kuaCIKKyNpbmNsdWRlICJjYXRhbG9n L2hlYXAuaCIKICNpbmNsdWRlICJjYXRhbG9nL2luZGV4aW5nLmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL29iamVjdGFjY2Vzcy5oIgogI2luY2x1 ZGUgImNhdGFsb2cvb2JqZWN0YWRkcmVzcy5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfYW1fZC5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGdfYXV0aGlkX2QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X2RhdGFiYXNlX2QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2ZvcmVpZ25fc2VydmVyLmgiCisj aW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3N1 YnNjcmlwdGlvbi5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3Vic2NyaXB0aW9uX3JlbC5oIgog I2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgpAQCAtMzUsNiArMzgsNyBAQAogI2luY2x1ZGUg ImNvbW1hbmRzL2RlZnJlbS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2V2ZW50X3RyaWdnZXIuaCIK ICNpbmNsdWRlICJjb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmgiCisjaW5jbHVkZSAiY29tbWFu ZHMvdGFibGVjbWRzLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKICNpbmNsdWRl ICJmb3JlaWduL2ZvcmVpZ24uaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKQEAgLTc5LDYgKzgz LDcgQEAKICNkZWZpbmUgU1VCT1BUX1dBTF9SRUNFSVZFUl9USU1FT1VUCQkJMHgwMDAxMDAwMAog I2RlZmluZSBTVUJPUFRfTFNOCQkJCQkweDAwMDIwMDAwCiAjZGVmaW5lIFNVQk9QVF9PUklHSU4J CQkJMHgwMDA0MDAwMAorI2RlZmluZSBTVUJPUFRfQ09ORkxJQ1RfTE9HX0RFU1QJMHgwMDA4MDAw MAogCiAvKiBjaGVjayBpZiB0aGUgJ3ZhbCcgaGFzICdiaXRzJyBzZXQgKi8KICNkZWZpbmUgSXNT ZXQodmFsLCBiaXRzKSAgKCgodmFsKSAmIChiaXRzKSkgPT0gKGJpdHMpKQpAQCAtMTA3LDYgKzEx Miw3IEBAIHR5cGVkZWYgc3RydWN0IFN1Yk9wdHMKIAlib29sCQlyZXRhaW5kZWFkdHVwbGVzOwog CWludDMyCQltYXhyZXRlbnRpb247CiAJY2hhcgkgICAqb3JpZ2luOworCUNvbmZsaWN0TG9nRGVz dCBjb25mbGljdGxvZ2Rlc3Q7CiAJWExvZ1JlY1B0cglsc247CiAJY2hhcgkgICAqd2FsX3JlY2Vp dmVyX3RpbWVvdXQ7CiB9IFN1Yk9wdHM7CkBAIC0xNDAsNyArMTQ2LDcgQEAgc3RhdGljIExpc3Qg Km1lcmdlX3B1YmxpY2F0aW9ucyhMaXN0ICpvbGRwdWJsaXN0LCBMaXN0ICpuZXdwdWJsaXN0LCBi b29sIGFkZHB1YiwKIHN0YXRpYyB2b2lkIFJlcG9ydFNsb3RDb25uZWN0aW9uRXJyb3IoTGlzdCAq cnN0YXRlcywgT2lkIHN1YmlkLCBjaGFyICpzbG90bmFtZSwgY2hhciAqZXJyKTsKIHN0YXRpYyB2 b2lkIENoZWNrQWx0ZXJTdWJPcHRpb24oU3Vic2NyaXB0aW9uICpzdWIsIGNvbnN0IGNoYXIgKm9w dGlvbiwKIAkJCQkJCQkJYm9vbCBzbG90X25lZWRzX3VwZGF0ZSwgYm9vbCBpc1RvcExldmVsKTsK LQorc3RhdGljIE9pZCBjcmVhdGVfY29uZmxpY3RfbG9nX3RhYmxlKE9pZCBzdWJpZCwgY2hhciAq c3VibmFtZSwgT2lkIHN1Ym93bmVyKTsKIAogLyoKICAqIENvbW1vbiBvcHRpb24gcGFyc2luZyBm dW5jdGlvbiBmb3IgQ1JFQVRFIGFuZCBBTFRFUiBTVUJTQ1JJUFRJT04gY29tbWFuZHMuCkBAIC0x OTYsNiArMjAyLDggQEAgcGFyc2Vfc3Vic2NyaXB0aW9uX29wdGlvbnMoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBMaXN0ICpzdG10X29wdGlvbnMsCiAJCW9wdHMtPm1heHJldGVudGlvbiA9IDA7CiAJaWYg KElzU2V0KHN1cHBvcnRlZF9vcHRzLCBTVUJPUFRfT1JJR0lOKSkKIAkJb3B0cy0+b3JpZ2luID0g cHN0cmR1cChMT0dJQ0FMUkVQX09SSUdJTl9BTlkpOworCWlmIChJc1NldChzdXBwb3J0ZWRfb3B0 cywgU1VCT1BUX0NPTkZMSUNUX0xPR19ERVNUKSkKKwkJb3B0cy0+Y29uZmxpY3Rsb2dkZXN0ID0g Q09ORkxJQ1RfTE9HX0RFU1RfTE9HOwogCiAJLyogUGFyc2Ugb3B0aW9ucyAqLwogCWZvcmVhY2go bGMsIHN0bXRfb3B0aW9ucykKQEAgLTQzMSw2ICs0MzksMTggQEAgcGFyc2Vfc3Vic2NyaXB0aW9u X29wdGlvbnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0ICpzdG10X29wdGlvbnMsCiAJCQkJCQkJ CQkJIFBHQ19CQUNLRU5ELCBQR0NfU19URVNULCBHVUNfQUNUSU9OX1NFVCwKIAkJCQkJCQkJCQkg ZmFsc2UsIDAsIGZhbHNlKTsKIAkJfQorCQllbHNlIGlmIChJc1NldChzdXBwb3J0ZWRfb3B0cywg U1VCT1BUX0NPTkZMSUNUX0xPR19ERVNUKSAmJgorCQkJCSBzdHJjbXAoZGVmZWwtPmRlZm5hbWUs ICJjb25mbGljdF9sb2dfZGVzdGluYXRpb24iKSA9PSAwKQorCQl7CisJCQljaGFyICp2YWw7CisK KwkJCWlmIChJc1NldChvcHRzLT5zcGVjaWZpZWRfb3B0cywgU1VCT1BUX0NPTkZMSUNUX0xPR19E RVNUKSkKKwkJCQllcnJvckNvbmZsaWN0aW5nRGVmRWxlbShkZWZlbCwgcHN0YXRlKTsKKworCQkJ dmFsID0gZGVmR2V0U3RyaW5nKGRlZmVsKTsKKwkJCW9wdHMtPmNvbmZsaWN0bG9nZGVzdCA9IEdl dExvZ0Rlc3RpbmF0aW9uKHZhbCk7CisJCQlvcHRzLT5zcGVjaWZpZWRfb3B0cyB8PSBTVUJPUFRf Q09ORkxJQ1RfTE9HX0RFU1Q7CisJCX0KIAkJZWxzZQogCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJ KGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLApAQCAtNjI5LDYgKzY0OSw3IEBAIENyZWF0 ZVN1YnNjcmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQg KnN0bXQsCiAJdWludDMyCQlzdXBwb3J0ZWRfb3B0czsKIAlTdWJPcHRzCQlvcHRzID0gezB9Owog CUFjbFJlc3VsdAlhY2xyZXN1bHQ7CisJT2lkCQkJbG9ncmVsaWQgPSBJbnZhbGlkT2lkOwogCiAJ LyoKIAkgKiBQYXJzZSBhbmQgY2hlY2sgb3B0aW9ucy4KQEAgLTY0Myw3ICs2NjQsOCBAQCBDcmVh dGVTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10 ICpzdG10LAogCQkJCQkgIFNVQk9QVF9SVU5fQVNfT1dORVIgfCBTVUJPUFRfRkFJTE9WRVIgfAog CQkJCQkgIFNVQk9QVF9SRVRBSU5fREVBRF9UVVBMRVMgfAogCQkJCQkgIFNVQk9QVF9NQVhfUkVU RU5USU9OX0RVUkFUSU9OIHwKLQkJCQkJICBTVUJPUFRfV0FMX1JFQ0VJVkVSX1RJTUVPVVQgfCBT VUJPUFRfT1JJR0lOKTsKKwkJCQkJICBTVUJPUFRfV0FMX1JFQ0VJVkVSX1RJTUVPVVQgfCBTVUJP UFRfT1JJR0lOIHwKKwkJCQkJICBTVUJPUFRfQ09ORkxJQ1RfTE9HX0RFU1QpOwogCXBhcnNlX3N1 YnNjcmlwdGlvbl9vcHRpb25zKHBzdGF0ZSwgc3RtdC0+b3B0aW9ucywgc3VwcG9ydGVkX29wdHMs ICZvcHRzKTsKIAogCS8qCkBAIC04MTcsNiArODM5LDE5IEBAIENyZWF0ZVN1YnNjcmlwdGlvbihQ YXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJdmFsdWVz W0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1Ym9yaWdpbiAtIDFdID0KIAkJQ1N0cmluZ0dldFRleHRE YXR1bShvcHRzLm9yaWdpbik7CiAKKwkvKiBBbHdheXMgc2V0IHRoZSBkZXN0aW5hdGlvbiwgZGVm YXVsdCB3aWxsIGJlICdsb2cnLiAqLworCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJj b25mbGljdGxvZ2Rlc3QgLSAxXSA9CisJCUNTdHJpbmdHZXRUZXh0RGF0dW0oQ29uZmxpY3RMb2dE ZXN0TmFtZXNbb3B0cy5jb25mbGljdGxvZ2Rlc3RdKTsKKworCS8qIElmIGxvZ2dpbmcgdG8gYSB0 YWJsZSBpcyByZXF1aXJlZCwgcGh5c2ljYWxseSBjcmVhdGUgdGhlIHRhYmxlLiAqLworCWlmIChv cHRzLmNvbmZsaWN0bG9nZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9UQUJMRSB8fAorCQlvcHRz LmNvbmZsaWN0bG9nZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpCisJCWxvZ3JlbGlkID0g Y3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZShzdWJpZCwgc3RtdC0+c3VibmFtZSwgb3duZXIpOwor CisJLyogU3RvcmUgdGFibGUgT0lEIGluIHRoZSBjYXRhbG9nLiAqLworCXZhbHVlc1tBbnVtX3Bn X3N1YnNjcmlwdGlvbl9zdWJjb25mbGljdGxvZ3JlbGlkIC0gMV0gPQorCQkJCQkJT2JqZWN0SWRH ZXREYXR1bShsb2dyZWxpZCk7CisKIAl0dXAgPSBoZWFwX2Zvcm1fdHVwbGUoUmVsYXRpb25HZXRE ZXNjcihyZWwpLCB2YWx1ZXMsIG51bGxzKTsKIAogCS8qIEluc2VydCB0dXBsZSBpbnRvIGNhdGFs b2cuICovCkBAIC0xNTAxLDcgKzE1MzYsOCBAQCBBbHRlclN1YnNjcmlwdGlvbihQYXJzZVN0YXRl ICpwc3RhdGUsIEFsdGVyU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAkJCQkJCQkJICBTVUJPUFRf UkVUQUlOX0RFQURfVFVQTEVTIHwKIAkJCQkJCQkJICBTVUJPUFRfTUFYX1JFVEVOVElPTl9EVVJB VElPTiB8CiAJCQkJCQkJCSAgU1VCT1BUX1dBTF9SRUNFSVZFUl9USU1FT1VUIHwKLQkJCQkJCQkJ ICBTVUJPUFRfT1JJR0lOKTsKKwkJCQkJCQkJICBTVUJPUFRfT1JJR0lOIHwKKwkJCQkJCQkJICBT VUJPUFRfQ09ORkxJQ1RfTE9HX0RFU1QpOwogCiAJCQkJcGFyc2Vfc3Vic2NyaXB0aW9uX29wdGlv bnMocHN0YXRlLCBzdG10LT5vcHRpb25zLAogCQkJCQkJCQkJCSAgIHN1cHBvcnRlZF9vcHRzLCAm b3B0cyk7CkBAIC0xNzYzLDYgKzE3OTksNjQgQEAgQWx0ZXJTdWJzY3JpcHRpb24oUGFyc2VTdGF0 ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJCQkJCXJlcGxhY2VzW0Fu dW1fcGdfc3Vic2NyaXB0aW9uX3N1YndhbHJjdnRpbWVvdXQgLSAxXSA9IHRydWU7CiAJCQkJfQog CisJCQkJaWYgKElzU2V0KG9wdHMuc3BlY2lmaWVkX29wdHMsIFNVQk9QVF9DT05GTElDVF9MT0df REVTVCkpCisJCQkJeworCQkJCQlDb25mbGljdExvZ0Rlc3Qgb2xkX2Rlc3QgPQorCQkJCQkJCUdl dExvZ0Rlc3RpbmF0aW9uKHN1Yi0+Y29uZmxpY3Rsb2dkZXN0KTsKKworCQkJCQlpZiAob3B0cy5j b25mbGljdGxvZ2Rlc3QgIT0gb2xkX2Rlc3QpCisJCQkJCXsKKwkJCQkJCWJvb2wgd2FudF90YWJs ZSA9IChvcHRzLmNvbmZsaWN0bG9nZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9UQUJMRSB8fAor CQkJCQkJCQkJCSAgIG9wdHMuY29uZmxpY3Rsb2dkZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX0FM TCk7CisJCQkJCQlib29sIGhhc19vbGR0YWJsZSA9IChvbGRfZGVzdCA9PSBDT05GTElDVF9MT0df REVTVF9UQUJMRSB8fAorCQkJCQkJCQkJCQkgb2xkX2Rlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1Rf QUxMKTsKKworCQkJCQkJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9n ZGVzdCAtIDFdID0KKwkJCQkJCQlDU3RyaW5nR2V0VGV4dERhdHVtKENvbmZsaWN0TG9nRGVzdE5h bWVzW29wdHMuY29uZmxpY3Rsb2dkZXN0XSk7CisJCQkJCQlyZXBsYWNlc1tBbnVtX3BnX3N1YnNj cmlwdGlvbl9zdWJjb25mbGljdGxvZ2Rlc3QgLSAxXSA9IHRydWU7CisKKwkJCQkJCWlmICh3YW50 X3RhYmxlICYmICFoYXNfb2xkdGFibGUpCisJCQkJCQl7CisJCQkJCQkJT2lkCQlyZWxpZDsKKwor CQkJCQkJCXJlbGlkID0gY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZShzdWJpZCwgc3ViLT5uYW1l LAorCQkJCQkJCQkJCQkJCQkJICBzdWItPm93bmVyKTsKKworCQkJCQkJCXZhbHVlc1tBbnVtX3Bn X3N1YnNjcmlwdGlvbl9zdWJjb25mbGljdGxvZ3JlbGlkIC0gMV0gPQorCQkJCQkJCQkJCQkJCQlP YmplY3RJZEdldERhdHVtKHJlbGlkKTsKKwkJCQkJCQlyZXBsYWNlc1tBbnVtX3BnX3N1YnNjcmlw dGlvbl9zdWJjb25mbGljdGxvZ3JlbGlkIC0gMV0gPQorCQkJCQkJCQkJCQkJCQl0cnVlOworCQkJ CQkJfQorCQkJCQkJZWxzZSBpZiAoIXdhbnRfdGFibGUgJiYgaGFzX29sZHRhYmxlKQorCQkJCQkJ eworCQkJCQkJCU9iamVjdEFkZHJlc3Mgb2JqZWN0OworCisJCQkJCQkJLyoKKwkJCQkJCQkgKiBD b25mbGljdCBsb2cgdGFibGVzIGFyZSByZWNvcmRlZCBhcyBpbnRlcm5hbAorCQkJCQkJCSAqIGRl cGVuZGVuY2llcyBvZiB0aGUgc3Vic2NyaXB0aW9uLiAgRHJvcCB0aGUKKwkJCQkJCQkgKiB0YWJs ZSBpZiBpdCBpcyBub3QgcmVxdWlyZWQgYW55bW9yZSB0byBhdm9pZAorCQkJCQkJCSAqIHN0YWxl IG9yIG9ycGhhbmVkIHJlbGF0aW9ucy4KKwkJCQkJCQkgKgorCQkJCQkJCSAqIFhYWDogQXQgcHJl c2VudCwgb25seSBjb25mbGljdCBsb2cgdGFibGVzIGFyZQorCQkJCQkJCSAqIG1hbmFnZWQgdGhp cyB3YXkuICBJbiBmdXR1cmUgaWYgd2UgaW50cm9kdWNlCisJCQkJCQkJICogYWRkaXRpb25hbCBp bnRlcm5hbCBkZXBlbmRlbmNpZXMsIHdlIG1heSBuZWVkCisJCQkJCQkJICogYSB0YXJnZXRlZCBk ZWxldGlvbiB0byBhdm9pZCBkZWxldGlvbiBvZiBhbnkKKwkJCQkJCQkgKiBvdGhlciBvYmplY3Rz LgorCQkJCQkJCSAqLworCQkJCQkJCU9iamVjdEFkZHJlc3NTZXQob2JqZWN0LCBTdWJzY3JpcHRp b25SZWxhdGlvbklkLAorCQkJCQkJCQkJCQkgc3ViaWQpOworCQkJCQkJCXBlcmZvcm1EZWxldGlv bigmb2JqZWN0LCBEUk9QX0NBU0NBREUsCisJCQkJCQkJCQkJCVBFUkZPUk1fREVMRVRJT05fSU5U RVJOQUwgfAorCQkJCQkJCQkJCQlQRVJGT1JNX0RFTEVUSU9OX1NLSVBfT1JJR0lOQUwpOworCisJ CQkJCQkJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9ncmVsaWQgLSAx XSA9CisJCQkJCQkJCQkJCQlPYmplY3RJZEdldERhdHVtKEludmFsaWRPaWQpOworCQkJCQkJCXJl cGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9ncmVsaWQgLSAxXSA9CisJ CQkJCQkJCQkJCQl0cnVlOworCQkJCQkJfQorCQkJCQl9CisJCQkJfQorCiAJCQkJdXBkYXRlX3R1 cGxlID0gdHJ1ZTsKIAkJCQlicmVhazsKIAkJCX0KQEAgLTIyMDIsNiArMjI5Niw3IEBAIERyb3BT dWJzY3JpcHRpb24oRHJvcFN1YnNjcmlwdGlvblN0bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCkK IAlGb3JtX3BnX3N1YnNjcmlwdGlvbiBmb3JtOwogCUxpc3QJICAgKnJzdGF0ZXM7CiAJYm9vbAkJ bXVzdF91c2VfcGFzc3dvcmQ7CisJT2JqZWN0QWRkcmVzcwlvYmplY3Q7CiAKIAkvKgogCSAqIFRo ZSBsYXVuY2hlciBtYXkgY29uY3VycmVudGx5IHN0YXJ0IGEgbmV3IHdvcmtlciBmb3IgdGhpcyBz dWJzY3JpcHRpb24uCkBAIC0yMzg4LDYgKzI0ODMsMTkgQEAgRHJvcFN1YnNjcmlwdGlvbihEcm9w U3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKQogCWRlbGV0ZURlcGVuZGVu Y3lSZWNvcmRzRm9yKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1YmlkLCBmYWxzZSk7CiAJZGVs ZXRlU2hhcmVkRGVwZW5kZW5jeVJlY29yZHNGb3IoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3Vi aWQsIDApOwogCisJLyoKKwkgKiBDb25mbGljdCBsb2cgdGFibGVzIGFyZSByZWNvcmRlZCBhcyBp bnRlcm5hbCBkZXBlbmRlbmNpZXMgb2YgdGhlCisJICogc3Vic2NyaXB0aW9uLiAgV2UgbXVzdCBk cm9wIHRoZSBkZXBlbmRlbnQgb2JqZWN0cyBiZWZvcmUgdGhlCisJICogc3Vic2NyaXB0aW9uIGl0 c2VsZiBpcyByZW1vdmVkLiAgQnkgdXNpbmcKKwkgKiBQRVJGT1JNX0RFTEVUSU9OX1NLSVBfT1JJ R0lOQUwsIHdlIGVuc3VyZSB0aGF0IG9ubHkgdGhlIGNvbmZsaWN0IGxvZworCSAqIHRhYmxlIGlz IHJlYXBlZCB3aGlsZSB0aGUgc3Vic2NyaXB0aW9uIHJlbWFpbnMgZm9yIHRoZSBmaW5hbCBkZWxl dGlvbgorCSAqIHN0ZXAuCisJICovCisJT2JqZWN0QWRkcmVzc1NldChvYmplY3QsIFN1YnNjcmlw dGlvblJlbGF0aW9uSWQsIHN1YmlkKTsKKwlwZXJmb3JtRGVsZXRpb24oJm9iamVjdCwgRFJPUF9D QVNDQURFLAorCQkJCQlQRVJGT1JNX0RFTEVUSU9OX0lOVEVSTkFMIHwKKwkJCQkJUEVSRk9STV9E RUxFVElPTl9TS0lQX09SSUdJTkFMKTsKKwogCS8qIFJlbW92ZSBhbnkgYXNzb2NpYXRlZCByZWxh dGlvbiBzeW5jaHJvbml6YXRpb24gc3RhdGVzLiAqLwogCVJlbW92ZVN1YnNjcmlwdGlvblJlbChz dWJpZCwgSW52YWxpZE9pZCk7CiAKQEAgLTI2MjEsNiArMjcyOSwxMSBAQCBBbHRlclN1YnNjcmlw dGlvbk93bmVyX2ludGVybmFsKFJlbGF0aW9uIHJlbCwgSGVhcFR1cGxlIHR1cCwgT2lkIG5ld093 bmVySWQpCiAJZm9ybS0+c3Vib3duZXIgPSBuZXdPd25lcklkOwogCUNhdGFsb2dUdXBsZVVwZGF0 ZShyZWwsICZ0dXAtPnRfc2VsZiwgdHVwKTsKIAorCS8qIFVwZGF0ZSBvd25lciBvZiB0aGUgY29u ZmxpY3QgbG9nIHRhYmxlIGlmIGl0IGV4aXN0cy4gKi8KKwlpZiAoT2lkSXNWYWxpZChmb3JtLT5z dWJjb25mbGljdGxvZ3JlbGlkKSkKKwkJQVRFeGVjQ2hhbmdlT3duZXIoZm9ybS0+c3ViY29uZmxp Y3Rsb2dyZWxpZCwgbmV3T3duZXJJZCwgdHJ1ZSwKKwkJCQkJCSAgQWNjZXNzRXhjbHVzaXZlTG9j ayk7CisKIAkvKiBVcGRhdGUgb3duZXIgZGVwZW5kZW5jeSByZWZlcmVuY2UgKi8KIAljaGFuZ2VE ZXBlbmRlbmN5T25Pd25lcihTdWJzY3JpcHRpb25SZWxhdGlvbklkLAogCQkJCQkJCWZvcm0tPm9p ZCwKQEAgLTM0MjcsMyArMzU0MCwxNDYgQEAgZGVmR2V0U3RyZWFtaW5nTW9kZShEZWZFbGVtICpk ZWYpCiAJCQkJCWRlZi0+ZGVmbmFtZSkpKTsKIAlyZXR1cm4gTE9HSUNBTFJFUF9TVFJFQU1fT0ZG OwkvKiBrZWVwIGNvbXBpbGVyIHF1aWV0ICovCiB9CisKKy8qCisgKiBCdWlsZHMgdGhlIFR1cGxl RGVzYyBmb3IgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZS4KKyAqLworc3RhdGljIFR1cGxlRGVzYwor Y3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZV90dXBkZXNjKHZvaWQpCit7CisJVHVwbGVEZXNjCXR1 cGRlc2M7CisKKwl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2MoTUFYX0NPTkZMSUNU X0FUVFJfTlVNKTsKKworCWZvciAoaW50IGkgPSAwOyBpIDwgTUFYX0NPTkZMSUNUX0FUVFJfTlVN OyBpKyspCisJeworCQlPaWQgdHlwZV9vaWQgPSBDb25mbGljdExvZ1NjaGVtYVtpXS5hdHR0eXBp ZDsKKworCQkvKgorCQkgKiBTcGVjaWFsIGhhbmRsaW5nIGZvciB0aGUgSlNPTiBhcnJheSB0eXBl IGZvciBwcm9wZXIKKwkJICogVHVwbGVEZXNjSW5pdEVudHJ5IGNhbGwuCisJCSAqLworCQlpZiAo dHlwZV9vaWQgPT0gSlNPTkFSUkFZT0lEKQorCQkJdHlwZV9vaWQgPSBnZXRfYXJyYXlfdHlwZShK U09OT0lEKTsKKworCQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgaSArIDEsCisJCQkJCQkg ICBDb25mbGljdExvZ1NjaGVtYVtpXS5hdHRuYW1lLAorCQkJCQkJICAgdHlwZV9vaWQsCisJCQkJ CQkgICAtMSwgMCk7CisJfQorCisJVHVwbGVEZXNjRmluYWxpemUodHVwZGVzYyk7CisKKwlyZXR1 cm4gdHVwZGVzYzsKK30KKworLyoKKyAqIENyZWF0ZSBhIHN0cnVjdHVyZWQgY29uZmxpY3QgbG9n IHRhYmxlIGZvciBhIHN1YnNjcmlwdGlvbi4KKyAqCisgKiBUaGUgdGFibGUgaXMgY3JlYXRlZCB3 aXRoaW4gdGhlIHN5c3RlbS1tYW5hZ2VkICdwZ19jb25mbGljdCcgbmFtZXNwYWNlIHRvCisgKiBw cmV2ZW50IHVzZXJzIGZyb20gbWFudWFsbHkgZHJvcHBpbmcgb3IgYWx0ZXJpbmcgaXQuICBUaGlz IGFsc28gcHJldmVudHMKKyAqIGFjY2lkZW50YWwgbmFtZSBjb2xsaXNpb25zIHdpdGggdXNlci1j cmVhdGVkIHRhYmxlcyB3aXRoIHRoZSBzYW1lIG5hbWUuCisgKgorICogVGhlIHRhYmxlIG5hbWUg aXMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgdXNpbmcgdGhlIHN1YnNjcmlwdGlvbidzIE9JRAor ICogKGUuZy4sICJwZ19jb25mbGljdF9sb2dfPHN1YmlkPiIpIHRvIGVuc3VyZSB1bmlxdWVuZXNz IHdpdGhpbiB0aGUgY2x1c3RlcgorICogYW5kIHRvIGF2b2lkIGNvbGxpc2lvbnMgZHVyaW5nIHN1 YnNjcmlwdGlvbiByZW5hbWVzLgorICovCitzdGF0aWMgT2lkCitjcmVhdGVfY29uZmxpY3RfbG9n X3RhYmxlKE9pZCBzdWJpZCwgY2hhciAqc3VibmFtZSwgT2lkIHN1Ym93bmVyKQoreworCVR1cGxl RGVzYwl0dXBkZXNjOworCU9pZAkJCXJlbGlkOworCU9iamVjdEFkZHJlc3MJbXlzZWxmOworCU9i amVjdEFkZHJlc3MJc3ViYWRkcjsKKwljaGFyICAgIAlyZWxuYW1lW05BTUVEQVRBTEVOXTsKKwor CXNucHJpbnRmKHJlbG5hbWUsIE5BTUVEQVRBTEVOLCAicGdfY29uZmxpY3RfbG9nXyV1Iiwgc3Vi aWQpOworCisJLyoKKwkgKiBDaGVjayBmb3IgYW4gZXhpc3RpbmcgdGFibGUgd2l0aCB0aGUgc25h bWUgbmFtZSBpbiB0aGUgcGdfY29uZmxpY3QgbmFtZXNwYWNlLgorCSAqIEEgY29sbGlzaW9uIHNo b3VsZCBub3Qgb2NjdXIgdW5kZXIgbm9ybWFsIG9wZXJhdGlvbiwgYnV0IHdlIG11c3QgaGFuZGxl IGNhc2VzCisJICogd2hlcmUgYSB0YWJsZSBoYXMgYmVlbiBjcmVhdGVkIG1hbnVhbGx5LgorCSAq LworCWlmIChPaWRJc1ZhbGlkKGdldF9yZWxuYW1lX3JlbGlkKHJlbG5hbWUsIFBHX0NPTkZMSUNU X05BTUVTUEFDRSkpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQ TElDQVRFX1RBQkxFKSwKKwkJCQkgZXJybXNnKCJjb25mbGljdCBsb2cgdGFibGUgcGdfY29uZmxp Y3QuXCIlc1wiIGFscmVhZHkgZXhpc3RzIiwgcmVsbmFtZSksCisJCQkJIGVycmhpbnQoIkEgdGFi bGUgd2l0aCB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzLiAiCisJCQkJCQkgIlRvIHByb2Nl ZWQsIGRyb3AgdGhlIGV4aXN0aW5nIHRhYmxlIGFuZCByZXRyeS4iKSkpOworCisJLyogQnVpbGQg dGhlIHR1cGxlIGRlc2NyaXB0b3IgZm9yIHRoZSBuZXcgdGFibGUuICovCisJdHVwZGVzYyA9IGNy ZWF0ZV9jb25mbGljdF9sb2dfdGFibGVfdHVwZGVzYygpOworCisJLyogQ3JlYXRlIGNvbmZsaWN0 IGxvZyB0YWJsZS4gKi8KKwlyZWxpZCA9IGhlYXBfY3JlYXRlX3dpdGhfY2F0YWxvZyhyZWxuYW1l LAorCQkJCQkJCQkJIFBHX0NPTkZMSUNUX05BTUVTUEFDRSwKKwkJCQkJCQkJCSAwLAkvKiB0YWJs ZXNwYWNlICovCisJCQkJCQkJCQkgSW52YWxpZE9pZCwgLyogcmVsaWQgKi8KKwkJCQkJCQkJCSBJ bnZhbGlkT2lkLCAvKiByZWx0eXBlaWQgKi8KKwkJCQkJCQkJCSBJbnZhbGlkT2lkLCAvKiByZWxv ZnR5cGVpZCAqLworCQkJCQkJCQkJIHN1Ym93bmVyLAorCQkJCQkJCQkJIEhFQVBfVEFCTEVfQU1f T0lELAorCQkJCQkJCQkJIHR1cGRlc2MsCisJCQkJCQkJCQkgTklMLAorCQkJCQkJCQkJIFJFTEtJ TkRfUkVMQVRJT04sCisJCQkJCQkJCQkgUkVMUEVSU0lTVEVOQ0VfUEVSTUFORU5ULAorCQkJCQkJ CQkJIGZhbHNlLCAvKiBzaGFyZWRfcmVsYXRpb24gKi8KKwkJCQkJCQkJCSBmYWxzZSwgLyogbWFw cGVkX3JlbGF0aW9uICovCisJCQkJCQkJCQkgT05DT01NSVRfTk9PUCwKKwkJCQkJCQkJCSAoRGF0 dW0pIDAsIC8qIHJlbG9wdGlvbnMgKi8KKwkJCQkJCQkJCSBmYWxzZSwgLyogdXNlX3VzZXJfYWNs ICovCisJCQkJCQkJCQkgdHJ1ZSwgLyogYWxsb3dfc3lzdGVtX3RhYmxlX21vZHMgKi8KKwkJCQkJ CQkJCSB0cnVlLCAvKiBpc19pbnRlcm5hbCAqLworCQkJCQkJCQkJIEludmFsaWRPaWQsIC8qIHJl bHJld3JpdGUgKi8KKwkJCQkJCQkJCSBOVUxMKTsgLyogdHlwYWRkcmVzcyAqLworCisJLyoKKwkg KiBFc3RhYmxpc2ggYW4gaW50ZXJuYWwgZGVwZW5kZW5jeSBiZXR3ZWVuIHRoZSBjb25mbGljdCBs b2cgdGFibGUgYW5kCisJICogdGhlIHN1YnNjcmlwdGlvbi4KKwkgKgorCSAqIFdlIHVzZSBERVBF TkRFTkNZX0lOVEVSTkFMIHRvIHNpZ25pZnkgdGhhdCB0aGUgdGFibGUncyBsaWZlY3ljbGUgaXMK KwkgKiBzdHJpY3RseSB0aWVkIHRvIHRoZSBzdWJzY3JpcHRpb24sIHNpbWlsYXIgdG8gaG93IGEg VE9BU1QgdGFibGUgcmVsYXRlcworCSAqIHRvIGl0cyBtYWluIHRhYmxlIG9yIGEgc2VxdWVuY2Ug cmVsYXRlcyB0byBhbiBpZGVudGl0eSBjb2x1bW4uCisJICoKKwkgKiBUaGlzIGVuc3VyZXMgdGhl IGNvbmZsaWN0IGxvZyB0YWJsZSBpcyBhdXRvbWF0aWNhbGx5IHJlYXBlZCBkdXJpbmcgYQorCSAq IERST1AgU1VCU0NSSVBUSU9OIHZpYSBwZXJmb3JtRGVsZXRpb24oKS4KKwkgKi8KKwlPYmplY3RB ZGRyZXNzU2V0KG15c2VsZiwgUmVsYXRpb25SZWxhdGlvbklkLCByZWxpZCk7CisJT2JqZWN0QWRk cmVzc1NldChzdWJhZGRyLCBTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJpZCk7CisJcmVjb3Jk RGVwZW5kZW5jeU9uKCZteXNlbGYsICZzdWJhZGRyLCBERVBFTkRFTkNZX0lOVEVSTkFMKTsKKwor CS8qIFJlbGVhc2UgdHVwbGUgZGVzY3JpcHRvciBtZW1vcnkuICovCisJRnJlZVR1cGxlRGVzYyh0 dXBkZXNjKTsKKworCWVyZXBvcnQoTk9USUNFLAorCQkJKGVycm1zZygiY3JlYXRlZCBjb25mbGlj dCBsb2cgdGFibGUgXCIlc1wiIGZvciBzdWJzY3JpcHRpb24gXCIlc1wiIiwKKwkJCQkJZ2V0X3F1 YWxpZmllZF9vYmpuYW1lKFBHX0NPTkZMSUNUX05BTUVTUEFDRSwgcmVsbmFtZSksCisJCQkJCXN1 Ym5hbWUpKSk7CisKKwlyZXR1cm4gcmVsaWQ7Cit9CisKKy8qCisgKiBHZXRMb2dEZXN0aW5hdGlv bgorICoKKyAqIENvbnZlcnQgc3RyaW5nIHRvIGVudW0gYnkgY29tcGFyaW5nIGFnYWluc3Qgc3Rh bmRhcmRpemVkIGxhYmVscy4KKyAqLworQ29uZmxpY3RMb2dEZXN0CitHZXRMb2dEZXN0aW5hdGlv bihjb25zdCBjaGFyICpkZXN0KQoreworCS8qIEVtcHR5IHN0cmluZyBvciBOVUxMIGRlZmF1bHRz IHRvIExPRy4gKi8KKwlpZiAoZGVzdCA9PSBOVUxMIHx8IGRlc3RbMF0gPT0gJ1wwJyB8fCBwZ19z dHJjYXNlY21wKGRlc3QsICJsb2ciKSA9PSAwKQorCQlyZXR1cm4gQ09ORkxJQ1RfTE9HX0RFU1Rf TE9HOworCisJaWYgKHBnX3N0cmNhc2VjbXAoZGVzdCwgInRhYmxlIikgPT0gMCkKKwkJcmV0dXJu IENPTkZMSUNUX0xPR19ERVNUX1RBQkxFOworCisJaWYgKHBnX3N0cmNhc2VjbXAoZGVzdCwgImFs bCIpID09IDApCisJCXJldHVybiBDT05GTElDVF9MT0dfREVTVF9BTEw7CisKKwkvKiBVbnJlY29n bml6ZWQgc3RyaW5nLiAqLworCWVyZXBvcnQoRVJST1IsCisJCQkoZXJyY29kZShFUlJDT0RFX0lO VkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKKwkJCSBlcnJtc2coInVucmVjb2duaXplZCBjb25mbGlj dF9sb2dfZGVzdGluYXRpb24gdmFsdWU6IFwiJXNcIiIsIGRlc3QpLAorCQkJIGVycmhpbnQoIlZh bGlkIHZhbHVlcyBhcmUgXCJsb2dcIiwgXCJ0YWJsZVwiLCBhbmQgXCJhbGxcIi4iKSkpOworfQpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCBhMTg0NTI0MGE5OC4uYWI1NjhmOWQxZDMgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0yNDU3LDkgKzI0NTcsMTEgQEAgdHJ1bmNhdGVf Y2hlY2tfcmVsKE9pZCByZWxpZCwgRm9ybV9wZ19jbGFzcyByZWx0dXBsZSkKIAkgKiBwZ19sYXJn ZW9iamVjdCBhbmQgcGdfbGFyZ2VvYmplY3RfbWV0YWRhdGEgdG8gYmUgdHJ1bmNhdGVkIGFzIHBh cnQgb2YKIAkgKiBwZ191cGdyYWRlLCBiZWNhdXNlIHdlIG5lZWQgdG8gY2hhbmdlIGl0cyByZWxm aWxlbm9kZSB0byBtYXRjaCB0aGUgb2xkCiAJICogY2x1c3RlciwgYW5kIGFsbG93aW5nIGEgVFJV TkNBVEUgY29tbWFuZCB0byBiZSBleGVjdXRlZCBpcyB0aGUgZWFzaWVzdAotCSAqIHdheSBvZiBk b2luZyB0aGF0LgorCSAqIHdheSBvZiBkb2luZyB0aGF0LiAgV2UgYWxzbyBhbGxvdyBUUlVOQ0FU RSBvbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlcywKKwkgKiB0byBwZXJtaXQgdXNlcnMgdG8gbWFu dWFsbHkgcHJ1bmUgdGhlc2UgbG9ncyB0byBtYW5hZ2UgZGlzayBzcGFjZS4KIAkgKi8KLQlpZiAo IWFsbG93U3lzdGVtVGFibGVNb2RzICYmIElzU3lzdGVtQ2xhc3MocmVsaWQsIHJlbHR1cGxlKQor CWlmICghYWxsb3dTeXN0ZW1UYWJsZU1vZHMgJiYgSXNTeXN0ZW1DbGFzcyhyZWxpZCwgcmVsdHVw bGUpICYmCisJCSFJc0NvbmZsaWN0Q2xhc3MocmVsdHVwbGUpCiAJCSYmICghSXNCaW5hcnlVcGdy YWRlIHx8CiAJCQkocmVsaWQgIT0gTGFyZ2VPYmplY3RSZWxhdGlvbklkICYmCiAJCQkgcmVsaWQg IT0gTGFyZ2VPYmplY3RNZXRhZGF0YVJlbGF0aW9uSWQpKSkKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5j CmluZGV4IDRiMzBmNzY4NjgwLi4zNDU2NDBmZTQxZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv ZXhlY3V0b3IvZXhlY01haW4uYworKysgYi9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5j CkBAIC0xMTg3LDYgKzExODcsMjQgQEAgQ2hlY2tWYWxpZFJlc3VsdFJlbChSZXN1bHRSZWxJbmZv ICpyZXN1bHRSZWxJbmZvLCBDbWRUeXBlIG9wZXJhdGlvbiwKIAkJCQkJCQlSZWxhdGlvbkdldFJl bGF0aW9uTmFtZShyZXN1bHRSZWwpKSkpOwogCQkJYnJlYWs7CiAJfQorCisJLyoKKwkgKiBDb25m bGljdCBsb2cgdGFibGVzIGFyZSBtYW5hZ2VkIGJ5IHRoZSBzeXN0ZW0gdG8gcmVjb3JkIGxvZ2lj YWwKKwkgKiByZXBsaWNhdGlvbiBjb25mbGljdHMuICBXZSBhbGxvdyBERUxFVEUgYW5kIFRSVU5D QVRFIHRvIHBlcm1pdCB1c2VycyB0bworCSAqIG1hbnVhbGx5IHBydW5lIHRoZXNlIGxvZ3MsIGJ1 dCBtYW51YWwgZGF0YSBpbnNlcnRpb24gb3IgbW9kaWZpY2F0aW9uCisJICogKElOU0VSVCwgVVBE QVRFLCBNRVJHRSkgaXMgcHJvaGliaXRlZCB0byBtYWludGFpbiB0aGUgaW50ZWdyaXR5IG9mIHRo ZQorCSAqIHN5c3RlbS1nZW5lcmF0ZWQgbG9ncy4KKwkgKgorCSAqIFNpbmNlIFRSVU5DQVRFIGlz IGhhbmRsZWQgYXMgYSBzZXBhcmF0ZSB1dGlsaXR5IGNvbW1hbmQsIHdlIG9ubHkgbmVlZAorCSAq IHRvIGV4cGxpY2l0bHkgcGVybWl0IENNRF9ERUxFVEUgaGVyZS4KKwkgKi8KKwlpZiAoSXNDb25m bGljdE5hbWVzcGFjZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZXN1bHRSZWwpKSAmJgorCQlvcGVy YXRpb24gIT0gQ01EX0RFTEVURSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJD T0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAorCQkJCSBlcnJtc2coImNhbm5vdCBtb2RpZnkg b3IgaW5zZXJ0IGRhdGEgaW50byBjb25mbGljdCBsb2cgdGFibGUgXCIlc1wiIiwKKwkJCQkJCVJl bGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlc3VsdFJlbCkpLAorCQkJCSBlcnJkZXRhaWwoIkNvbmZs aWN0IGxvZyB0YWJsZXMgYXJlIHN5c3RlbS1tYW5hZ2VkIGFuZCBvbmx5IHN1cHBvcnQgY2xlYW51 cCB2aWEgREVMRVRFIG9yIFRSVU5DQVRFLiIpKSk7CiB9CiAKIC8qCkBAIC0xMjU4LDYgKzEyNzYs MTcgQEAgQ2hlY2tWYWxpZFJvd01hcmtSZWwoUmVsYXRpb24gcmVsLCBSb3dNYXJrVHlwZSBtYXJr VHlwZSkKIAkJCQkJCQlSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkpOwogCQkJYnJlYWs7 CiAJfQorCisJLyoKKwkgKiBDb25mbGljdCBsb2cgdGFibGVzIGFyZSBtYW5hZ2VkIGJ5IHRoZSBz eXN0ZW0gdG8gcmVjb3JkIGxvZ2ljYWwKKwkgKiByZXBsaWNhdGlvbiBjb25mbGljdHMuICBXZSBk byBub3QgYWxsb3cgbG9ja2luZyByb3dzIGluIENPTkZMSUNUCisJICogcmVsYXRpb25zLgorCSAq LworCWlmIChJc0NvbmZsaWN0TmFtZXNwYWNlKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbCkpKQor CQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfV1JPTkdfT0JKRUNUX1RZUEUp LAorCQkJCSBlcnJtc2coImNhbm5vdCBsb2NrIHJvd3MgaW4gY29uZmxpY3QgbG9nIHRhYmxlIFwi JXNcIiIsCisJCQkJCQlSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkpOwogfQogCiAvKgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCmluZGV4IDFmOGQ2N2Zk ZDkwLi5kMDM4ZTI2NWNhOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9jb25mbGljdC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29u ZmxpY3QuYwpAQCAtMjQsNiArMjQsMzEgQEAKICNpbmNsdWRlICJzdG9yYWdlL2xtZ3IuaCIKICNp bmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKIAorY29uc3QgY2hhciAqY29uc3QgQ29uZmxpY3RM b2dEZXN0TmFtZXNbXSA9IHsKKwlbQ09ORkxJQ1RfTE9HX0RFU1RfTE9HXSA9ICJsb2ciLAorCVtD T05GTElDVF9MT0dfREVTVF9UQUJMRV0gPSAidGFibGUiLAorCVtDT05GTElDVF9MT0dfREVTVF9B TExdID0gImFsbCIKK307CisKK2NvbnN0IENvbmZsaWN0TG9nQ29sdW1uRGVmIENvbmZsaWN0TG9n U2NoZW1hW10gPSB7CisJeyAuYXR0bmFtZSA9ICJyZWxpZCIsICAgICAgICAgICAgLmF0dHR5cGlk ID0gT0lET0lEIH0sCisJeyAuYXR0bmFtZSA9ICJzY2hlbWFuYW1lIiwgICAgICAgLmF0dHR5cGlk ID0gVEVYVE9JRCB9LAorCXsgLmF0dG5hbWUgPSAicmVsbmFtZSIsICAgICAgICAgIC5hdHR0eXBp ZCA9IFRFWFRPSUQgfSwKKwl7IC5hdHRuYW1lID0gImNvbmZsaWN0X3R5cGUiLCAgICAuYXR0dHlw aWQgPSBURVhUT0lEIH0sCisJeyAuYXR0bmFtZSA9ICJyZW1vdGVfeGlkIiwgICAgICAgLmF0dHR5 cGlkID0gWElET0lEIH0sCisJeyAuYXR0bmFtZSA9ICJyZW1vdGVfY29tbWl0X2xzbiIsLmF0dHR5 cGlkID0gTFNOT0lEIH0sCisJeyAuYXR0bmFtZSA9ICJyZW1vdGVfY29tbWl0X3RzIiwgLmF0dHR5 cGlkID0gVElNRVNUQU1QVFpPSUQgfSwKKwl7IC5hdHRuYW1lID0gInJlbW90ZV9vcmlnaW4iLCAg ICAuYXR0dHlwaWQgPSBURVhUT0lEIH0sCisJeyAuYXR0bmFtZSA9ICJyZXBsaWNhX2lkZW50aXR5 IiwgLmF0dHR5cGlkID0gSlNPTk9JRCB9LAorCXsgLmF0dG5hbWUgPSAicmVtb3RlX3R1cGxlIiwg ICAgIC5hdHR0eXBpZCA9IEpTT05PSUQgfSwKKwl7IC5hdHRuYW1lID0gImxvY2FsX2NvbmZsaWN0 cyIsICAuYXR0dHlwaWQgPSBKU09OQVJSQVlPSUQgfQorfTsKKworU3RhdGljQXNzZXJ0RGVjbChs ZW5ndGhvZihDb25mbGljdExvZ1NjaGVtYSkgPT0gTUFYX0NPTkZMSUNUX0FUVFJfTlVNLAorCQkJ CSAiQ29uZmxpY3RMb2dTY2hlbWEgbGVuZ3RoIG1pc21hdGNoIik7CitTdGF0aWNBc3NlcnREZWNs KGxlbmd0aG9mKENvbmZsaWN0TG9nRGVzdE5hbWVzKSA9PSAzLAorCQkJCSAiQ29uZmxpY3RMb2dE ZXN0TmFtZXMgbGVuZ3RoIG1pc21hdGNoIik7CisKIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBD b25mbGljdFR5cGVOYW1lc1tdID0gewogCVtDVF9JTlNFUlRfRVhJU1RTXSA9ICJpbnNlcnRfZXhp c3RzIiwKIAlbQ1RfVVBEQVRFX09SSUdJTl9ESUZGRVJTXSA9ICJ1cGRhdGVfb3JpZ2luX2RpZmZl cnMiLApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMgYi9zcmMvYmluL2luaXRk Yi9pbml0ZGIuYwppbmRleCAxNGNiNzljMjZiZS4uODAzY2E0MTEyZDQgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vaW5pdGRiL2luaXRkYi5jCisrKyBiL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jCkBAIC0x ODM5LDYgKzE4MzksMTIgQEAgc2V0dXBfcHJpdmlsZWdlcyhGSUxFICpjbWRmZCkKIAkJCQkgICIg IEFORCByZWxhY2wgSVMgTlVMTDtcblxuIiwKIAkJCQkgIGVzY2FwZV9xdW90ZXModXNlcm5hbWUp KTsKIAlQR19DTURfUFVUUygiR1JBTlQgVVNBR0UgT04gU0NIRU1BIHBnX2NhdGFsb2csIHB1Ymxp YyBUTyBQVUJMSUM7XG5cbiIpOworCisJLyoKKwkgKiBBbGxvdyBub24tc3VwZXJ1c2VyIHN1YnNj cmlwdGlvbiBvd25lcnMgdG8gYWNjZXNzIHRoZWlyIGFzc29jaWF0ZWQKKwkgKiBjb25mbGljdCBs b2cgdGFibGVzIGluIHRoZSBwZ19jb25mbGljdCBzY2hlbWEuCisJICovCisJUEdfQ01EX1BVVFMo IkdSQU5UIFVTQUdFIE9OIFNDSEVNQSBwZ19jb25mbGljdCBUTyBQVUJMSUM7XG5cbiIpOwogCVBH X0NNRF9QVVRTKCJSRVZPS0UgQUxMIE9OIHBnX2xhcmdlb2JqZWN0IEZST00gUFVCTElDO1xuXG4i KTsKIAlQR19DTURfUFVUUygiSU5TRVJUIElOVE8gcGdfaW5pdF9wcml2cyAiCiAJCQkJIiAgKG9i am9pZCwgY2xhc3NvaWQsIG9ianN1YmlkLCBpbml0cHJpdnMsIHByaXZ0eXBlKSIKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYyBiL3NyYy9iaW4vcHNxbC90YWItY29t cGxldGUuaW4uYwppbmRleCBkZTU0N2E4Y2IzNy4uNjZlZTFiNmMyYTQgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcHNxbC90YWItY29tcGxldGUuaW4uYworKysgYi9zcmMvYmluL3BzcWwvdGFiLWNvbXBs ZXRlLmluLmMKQEAgLTIzNzYsOCArMjM3Niw4IEBAIG1hdGNoX3ByZXZpb3VzX3dvcmRzKGludCBw YXR0ZXJuX2lkLAogCQlDT01QTEVURV9XSVRIKCIoIiwgIlBVQkxJQ0FUSU9OIik7CiAJLyogQUxU RVIgU1VCU0NSSVBUSU9OIDxuYW1lPiBTRVQgKCAqLwogCWVsc2UgaWYgKE1hdGNoZXMoIkFMVEVS IiwgIlNVQlNDUklQVElPTiIsIE1hdGNoQW55LCBNYXRjaEFueU4sICJTRVQiLCAiKCIpKQotCQlD T01QTEVURV9XSVRIKCJiaW5hcnkiLCAiZGlzYWJsZV9vbl9lcnJvciIsICJmYWlsb3ZlciIsCi0J CQkJCSAgIm1heF9yZXRlbnRpb25fZHVyYXRpb24iLCAib3JpZ2luIiwKKwkJQ09NUExFVEVfV0lU SCgiYmluYXJ5IiwgImNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiIsICJkaXNhYmxlX29uX2Vycm9y IiwKKwkJCQkJICAiZmFpbG92ZXIiLCAibWF4X3JldGVudGlvbl9kdXJhdGlvbiIsICJvcmlnaW4i LAogCQkJCQkgICJwYXNzd29yZF9yZXF1aXJlZCIsICJyZXRhaW5fZGVhZF90dXBsZXMiLAogCQkJ CQkgICJydW5fYXNfb3duZXIiLCAic2xvdF9uYW1lIiwgInN0cmVhbWluZyIsCiAJCQkJCSAgInN5 bmNocm9ub3VzX2NvbW1pdCIsICJ0d29fcGhhc2UiKTsKQEAgLTM5NjAsOCArMzk2MCw4IEBAIG1h dGNoX3ByZXZpb3VzX3dvcmRzKGludCBwYXR0ZXJuX2lkLAogCQlDT01QTEVURV9XSVRIKCJXSVRI ICgiKTsKIAkvKiBDb21wbGV0ZSAiQ1JFQVRFIFNVQlNDUklQVElPTiA8bmFtZT4gLi4uICBXSVRI ICggPG9wdD4iICovCiAJZWxzZSBpZiAoTWF0Y2hlcygiQ1JFQVRFIiwgIlNVQlNDUklQVElPTiIs IE1hdGNoQW55TiwgIldJVEgiLCAiKCIpKQotCQlDT01QTEVURV9XSVRIKCJiaW5hcnkiLCAiY29u bmVjdCIsICJjb3B5X2RhdGEiLCAiY3JlYXRlX3Nsb3QiLAotCQkJCQkgICJkaXNhYmxlX29uX2Vy cm9yIiwgImVuYWJsZWQiLCAiZmFpbG92ZXIiLAorCQlDT01QTEVURV9XSVRIKCJiaW5hcnkiLCAi Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIiwgImNvbm5lY3QiLCAiY29weV9kYXRhIiwKKwkJCQkJ ICAiY3JlYXRlX3Nsb3QiLCAiZGlzYWJsZV9vbl9lcnJvciIsICJlbmFibGVkIiwgImZhaWxvdmVy IiwKIAkJCQkJICAibWF4X3JldGVudGlvbl9kdXJhdGlvbiIsICJvcmlnaW4iLAogCQkJCQkgICJw YXNzd29yZF9yZXF1aXJlZCIsICJyZXRhaW5fZGVhZF90dXBsZXMiLAogCQkJCQkgICJydW5fYXNf b3duZXIiLCAic2xvdF9uYW1lIiwgInN0cmVhbWluZyIsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jYXRhbG9nL2NhdGFsb2cuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0YWxvZy5oCmluZGV4 IGE5ZDZlOGVhOTg2Li44MTkzMjI5ZjJlMiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxv Zy9jYXRhbG9nLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXRhbG9nLmgKQEAgLTI1LDYg KzI1LDcgQEAgZXh0ZXJuIGJvb2wgSXNJbnBsYWNlVXBkYXRlUmVsYXRpb24oUmVsYXRpb24gcmVs YXRpb24pOwogCiBleHRlcm4gYm9vbCBJc1N5c3RlbUNsYXNzKE9pZCByZWxpZCwgRm9ybV9wZ19j bGFzcyByZWx0dXBsZSk7CiBleHRlcm4gYm9vbCBJc1RvYXN0Q2xhc3MoRm9ybV9wZ19jbGFzcyBy ZWx0dXBsZSk7CitleHRlcm4gYm9vbCBJc0NvbmZsaWN0Q2xhc3MoRm9ybV9wZ19jbGFzcyByZWx0 dXBsZSk7CiAKIGV4dGVybiBib29sIElzQ2F0YWxvZ1JlbGF0aW9uT2lkKE9pZCByZWxpZCk7CiBl eHRlcm4gYm9vbCBJc0NhdGFsb2dUZXh0VW5pcXVlSW5kZXhPaWQoT2lkIHJlbGlkKTsKQEAgLTMy LDYgKzMzLDcgQEAgZXh0ZXJuIGJvb2wgSXNJbnBsYWNlVXBkYXRlT2lkKE9pZCByZWxpZCk7CiAK IGV4dGVybiBib29sIElzQ2F0YWxvZ05hbWVzcGFjZShPaWQgbmFtZXNwYWNlSWQpOwogZXh0ZXJu IGJvb2wgSXNUb2FzdE5hbWVzcGFjZShPaWQgbmFtZXNwYWNlSWQpOworZXh0ZXJuIGJvb2wgSXND b25mbGljdE5hbWVzcGFjZShPaWQgbmFtZXNwYWNlSWQpOwogCiBleHRlcm4gYm9vbCBJc1Jlc2Vy dmVkTmFtZShjb25zdCBjaGFyICpuYW1lKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0 YWxvZy9wZ19uYW1lc3BhY2UuZGF0IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19uYW1lc3BhY2Uu ZGF0CmluZGV4IDMwNzVlMTQyYzczLi5iNDVjYjkzODNhOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9wZ19uYW1lc3BhY2UuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf bmFtZXNwYWNlLmRhdApAQCAtMTgsNiArMTgsOSBAQAogeyBvaWQgPT4gJzk5Jywgb2lkX3N5bWJv bCA9PiAnUEdfVE9BU1RfTkFNRVNQQUNFJywKICAgZGVzY3IgPT4gJ3Jlc2VydmVkIHNjaGVtYSBm b3IgVE9BU1QgdGFibGVzJywKICAgbnNwbmFtZSA9PiAncGdfdG9hc3QnLCBuc3BhY2wgPT4gJ19u dWxsXycgfSwKK3sgb2lkID0+ICcxMzgyJywgb2lkX3N5bWJvbCA9PiAnUEdfQ09ORkxJQ1RfTkFN RVNQQUNFJywKKyAgZGVzY3IgPT4gJ3Jlc2VydmVkIHNjaGVtYSBmb3Igc3Vic2NyaXB0aW9uLXNw ZWNpZmljIGNvbmZsaWN0IGxvZyB0YWJsZXMnLAorICBuc3BuYW1lID0+ICdwZ19jb25mbGljdCcs IG5zcGFjbCA9PiAnX251bGxfJyB9LAogIyB1cGRhdGUgZHVtcE5hbWVzcGFjZSgpIGlmIGNoYW5n aW5nIHRoaXMgZGVzY3IKIHsgb2lkID0+ICcyMjAwJywgb2lkX3N5bWJvbCA9PiAnUEdfUFVCTElD X05BTUVTUEFDRScsCiAgIGRlc2NyID0+ICdzdGFuZGFyZCBwdWJsaWMgc2NoZW1hJywKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmggYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCmluZGV4IGE2YTJhZDFlNDljLi41ZjIxNGQzNTg2 YiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaAorKysg Yi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oCkBAIC05NSw2ICs5NSw3IEBA IENBVEFMT0cocGdfc3Vic2NyaXB0aW9uLDYxMDAsU3Vic2NyaXB0aW9uUmVsYXRpb25JZCkgQktJ X1NIQVJFRF9SRUxBVElPTiBCS0lfUk9XCiAJT2lkCQkJc3Vic2VydmVyIEJLSV9MT09LVVBfT1BU KHBnX2ZvcmVpZ25fc2VydmVyKTsJLyogSWYgY29ubmVjdGlvbiB1c2VzCiAJCQkJCQkJCQkJCQkJ CQkJICogc2VydmVyICovCiAKKwlPaWQgICAgICAgICBzdWJjb25mbGljdGxvZ3JlbGlkOyAvKiBS ZWxpZCBvZiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlLiAqLwogI2lmZGVmIENBVEFMT0dfVkFSTEVO CQkJLyogdmFyaWFibGUtbGVuZ3RoIGZpZWxkcyBzdGFydCBoZXJlICovCiAJLyogQ29ubmVjdGlv biBzdHJpbmcgdG8gdGhlIHB1Ymxpc2hlciAqLwogCXRleHQJCXN1YmNvbm5pbmZvOwkvKiBTZXQg aWYgY29ubmVjdGluZyB3aXRoIGNvbm5lY3Rpb24gc3RyaW5nICovCkBAIC0xMTEsNiArMTEyLDE0 IEBAIENBVEFMT0cocGdfc3Vic2NyaXB0aW9uLDYxMDAsU3Vic2NyaXB0aW9uUmVsYXRpb25JZCkg QktJX1NIQVJFRF9SRUxBVElPTiBCS0lfUk9XCiAJLyogTGlzdCBvZiBwdWJsaWNhdGlvbnMgc3Vi c2NyaWJlZCB0byAqLwogCXRleHQJCXN1YnB1YmxpY2F0aW9uc1sxXSBCS0lfRk9SQ0VfTk9UX05V TEw7CiAKKwkvKgorCSAqIFN0cmF0ZWd5IGZvciBsb2dnaW5nIHJlcGxpY2F0aW9uIGNvbmZsaWN0 czoKKwkgKiAnbG9nJyAtIHNlcnZlciBsb2cgb25seSwKKwkgKiAndGFibGUnIC0gY29uZmxpY3Qg bG9nIHRhYmxlIG9ubHksCisJICogJ2FsbCcgLSBib3RoIGxvZyBhbmQgdGFibGUuCisJICovCisJ dGV4dAkJc3ViY29uZmxpY3Rsb2dkZXN0IEJLSV9GT1JDRV9OT1RfTlVMTDsKKwogCS8qIE9ubHkg cHVibGlzaCBkYXRhIG9yaWdpbmF0aW5nIGZyb20gdGhlIHNwZWNpZmllZCBvcmlnaW4gKi8KIAl0 ZXh0CQlzdWJvcmlnaW4gQktJX0RFRkFVTFQoTE9HSUNBTFJFUF9PUklHSU5fQU5ZKTsKICNlbmRp ZgpAQCAtMTY0LDYgKzE3Myw3IEBAIHR5cGVkZWYgc3RydWN0IFN1YnNjcmlwdGlvbgogCQkJCQkJ CQkJICogYW5kIHRoZSByZXRlbnRpb24gZHVyYXRpb24gaGFzIG5vdAogCQkJCQkJCQkJICogZXhj ZWVkZWQgbWF4X3JldGVudGlvbl9kdXJhdGlvbiwgd2hlbgogCQkJCQkJCQkJICogZGVmaW5lZCAq LworCU9pZAkJCWNvbmZsaWN0bG9ncmVsaWQ7CS8qIGNvbmZsaWN0IGxvZyB0YWJsZSBPaWQgKi8K IAljaGFyCSAgICpjb25uaW5mbzsJCS8qIENvbm5lY3Rpb24gc3RyaW5nIHRvIHRoZSBwdWJsaXNo ZXIgKi8KIAljaGFyCSAgICpzbG90bmFtZTsJCS8qIE5hbWUgb2YgdGhlIHJlcGxpY2F0aW9uIHNs b3QgKi8KIAljaGFyCSAgICpzeW5jY29tbWl0OwkJLyogU3luY2hyb25vdXMgY29tbWl0IHNldHRp bmcgZm9yIHdvcmtlciAqLwpAQCAtMTcxLDYgKzE4MSw3IEBAIHR5cGVkZWYgc3RydWN0IFN1YnNj cmlwdGlvbgogCUxpc3QJICAgKnB1YmxpY2F0aW9uczsJLyogTGlzdCBvZiBwdWJsaWNhdGlvbiBu YW1lcyB0byBzdWJzY3JpYmUgdG8gKi8KIAljaGFyCSAgICpvcmlnaW47CQkJLyogT25seSBwdWJs aXNoIGRhdGEgb3JpZ2luYXRpbmcgZnJvbSB0aGUKIAkJCQkJCQkJICogc3BlY2lmaWVkIG9yaWdp biAqLworCWNoYXIJICAgKmNvbmZsaWN0bG9nZGVzdDsJLyogQ29uZmxpY3QgbG9nIGRlc3RpbmF0 aW9uICovCiB9IFN1YnNjcmlwdGlvbjsKIAogI2lmZGVmIEVYUE9TRV9UT19DTElFTlRfQ09ERQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5oIGIvc3Jj L2luY2x1ZGUvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5oCmluZGV4IDYzNTA0MjMyYTE0Li5h ODk1MTI3ZjhmZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2NyaXB0aW9u Y21kcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaApAQCAt MTcsNiArMTcsNyBAQAogCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3RhZGRyZXNzLmgiCiAjaW5j bHVkZSAicGFyc2VyL3BhcnNlX25vZGUuaCIKKyNpbmNsdWRlICJyZXBsaWNhdGlvbi9jb25mbGlj dC5oIgogCiBleHRlcm4gT2JqZWN0QWRkcmVzcyBDcmVhdGVTdWJzY3JpcHRpb24oUGFyc2VTdGF0 ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCQkJCQkJCQkJCWJvb2wg aXNUb3BMZXZlbCk7CkBAIC0zNiw0ICszNyw2IEBAIGV4dGVybiB2b2lkIENoZWNrU3ViRGVhZFR1 cGxlUmV0ZW50aW9uKGJvb2wgY2hlY2tfZ3VjLCBib29sIHN1Yl9kaXNhYmxlZCwKIAkJCQkJCQkJ CSAgIGJvb2wgcmV0ZW50aW9uX2FjdGl2ZSwKIAkJCQkJCQkJCSAgIGJvb2wgbWF4X3JldGVudGlv bl9zZXQpOwogCitleHRlcm4gQ29uZmxpY3RMb2dEZXN0IEdldExvZ0Rlc3RpbmF0aW9uKGNvbnN0 IGNoYXIgKmRlc3QpOworCiAjZW5kaWYJCQkJCQkJLyogU1VCU0NSSVBUSU9OQ01EU19IICovCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oIGIvc3JjL2luY2x1 ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaAppbmRleCAyZDlkYmNmNGQwZC4uMDBhOWNiZWMyNjQg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmgKKysrIGIvc3Jj L2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaApAQCAtMTAsNiArMTAsNyBAQAogI2RlZmlu ZSBDT05GTElDVF9ICiAKICNpbmNsdWRlICJhY2Nlc3MveGxvZ2RlZnMuaCIKKyNpbmNsdWRlICJj YXRhbG9nL3BnX3R5cGUuaCIKICNpbmNsdWRlICJkYXRhdHlwZS90aW1lc3RhbXAuaCIKICNpbmNs dWRlICJub2Rlcy9wZ19saXN0LmgiCiAKQEAgLTc5LDYgKzgwLDM3IEBAIHR5cGVkZWYgc3RydWN0 IENvbmZsaWN0VHVwbGVJbmZvCiAJCQkJCQkJCSAqIGNvbmZsaWN0aW5nIGxvY2FsIHJvdyBvY2N1 cnJlZCAqLwogfSBDb25mbGljdFR1cGxlSW5mbzsKIAorLyoKKyAqIERlZmluZXMgd2hlcmUgbG9n aWNhbCByZXBsaWNhdGlvbiBjb25mbGljdCBkZXRhaWxzIGFyZSByZWNvcmRlZC4KKyAqCisgKiBX aGlsZSBzdG9yZWQgYXMgYSB0ZXh0LWJhc2VkIGFycmF5L3N0cmluZyBpbgorICogcGdfc3Vic2Ny aXB0aW9uLnN1YmNvbmZsaWN0bG9nZGVzdCBmb3IgdXNlciByZWFkYWJpbGl0eSBhbmQgZXh0ZW5z aWJpbGl0eSwKKyAqIHdlIG1hcCB0aGVzZSB0byBhbiBpbnRlcm5hbCBlbnVtIHRvIGFsbG93IGZv ciBlZmZpY2llbnQgY2hlY2tzLgorICovCit0eXBlZGVmIGVudW0gQ29uZmxpY3RMb2dEZXN0Cit7 CisJQ09ORkxJQ1RfTE9HX0RFU1RfTE9HID0gMCwJLyogRW1pdCB0byBzZXJ2ZXIgbG9ncyAqLwor CUNPTkZMSUNUX0xPR19ERVNUX1RBQkxFLAkvKiBJbnNlcnQgaW50byB0aGUgY29uZmxpY3QgbG9n IHRhYmxlICovCisJQ09ORkxJQ1RfTE9HX0RFU1RfQUxMCQkvKiBCb3RoIGxvZyBhbmQgdGFibGUg Ki8KK30gQ29uZmxpY3RMb2dEZXN0OworCisvKgorICogQXJyYXkgbWFwcGluZyBmb3IgY29udmVy dGluZyBpbnRlcm5hbCBlbnVtIHRvIHN0cmluZy4KKyAqLworZXh0ZXJuIFBHRExMSU1QT1JUIGNv bnN0IGNoYXIgKmNvbnN0IENvbmZsaWN0TG9nRGVzdE5hbWVzW107CisKKy8qIFN0cnVjdHVyZSB0 byBob2xkIG1ldGFkYXRhIGZvciBvbmUgY29sdW1uIG9mIHRoZSBjb25mbGljdCBsb2cgdGFibGUg Ki8KK3R5cGVkZWYgc3RydWN0IENvbmZsaWN0TG9nQ29sdW1uRGVmCit7CisJY29uc3QgY2hhciAq YXR0bmFtZTsgICAgLyogQ29sdW1uIG5hbWUgKi8KKwlPaWQgICAgICAgICBhdHR0eXBpZDsgICAv KiBEYXRhIHR5cGUgT0lEICovCit9IENvbmZsaWN0TG9nQ29sdW1uRGVmOworCisvKiBUaGUgc2lu Z2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBzY2hlbWEgKi8K K2V4dGVybiBQR0RMTElNUE9SVCBjb25zdCBDb25mbGljdExvZ0NvbHVtbkRlZiBDb25mbGljdExv Z1NjaGVtYVtdOworCisjZGVmaW5lIE1BWF9DT05GTElDVF9BVFRSX05VTSAxMQorCiBleHRlcm4g Ym9vbCBHZXRUdXBsZVRyYW5zYWN0aW9uSW5mbyhUdXBsZVRhYmxlU2xvdCAqbG9jYWxzbG90LAog CQkJCQkJCQkJVHJhbnNhY3Rpb25JZCAqeG1pbiwKIAkJCQkJCQkJCVJlcGxPcmlnaW5JZCAqbG9j YWxvcmlnaW4sCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlw dGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKaW5k ZXggN2UzY2FiZGI5M2YuLjA4Y2JjOTc0M2Q4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9zdWJzY3JpcHRpb24ub3V0CkBAIC0xMjQsMTggKzEyNCwxOCBAQCBDUkVBVEUgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YjQgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0JyBQVQogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBj b25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFs bHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwg YW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJz KyByZWdyZXNzX3Rlc3RzdWI0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBP cmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNl cnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAg ICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IG5vbmUgICB8IHQgICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAg ICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAg IHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKKyAgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0 ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBM U04gIHwgRGVzY3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBs b2cgdGFibGUgCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YjQgfCByZWdyZXNzX3N1YnNjcmlwdGlv bl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBub25lICAgfCB0ICAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAg ICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAg ICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAg ICB8IC0KICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjQgU0VU IChvcmlnaW4gPSBhbnkpOwogXGRScysgcmVncmVzc190ZXN0c3ViNAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKLSAgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0 ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBM U04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YjQgfCBy ZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAg IHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkg ICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAg ICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAg ICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBP d25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1p bmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3 b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWlu IGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUg fCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNl aXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRl c3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAorLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWI0 IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYg ICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwg YW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAgfCBs b2cgICAgICAgICAgICAgICAgICAgICAgfCAtCiAoMSByb3cpCiAKIERST1AgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfdGVzdHN1YjM7CkBAIC0yMDAsMTAgKzIwMCwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2Zvb2Jhcic7CiBFUlJPUjogIGludmFsaWQg Y29ubmVjdGlvbiBzdHJpbmcgc3ludGF4OiBtaXNzaW5nICI9IiBhZnRlciAiZm9vYmFyIiBpbiBj b25uZWN0aW9uIGluZm8gc3RyaW5nCiAKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAg ICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVi bGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJs ZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8 IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBk dXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAg ICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8ICAg IERlc2NyaXB0aW9uICAgIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAg ICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFu eSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAg ICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAg ICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9u CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBl cnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxv dmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlv biB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8ICAgIERlc2Ny aXB0aW9uICAgIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxl IAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAg ICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAg IHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9uIHwgbG9nICAgICAgICAgICAgICAgICAg ICAgIHwgLQogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNF VCBQVUJMSUNBVElPTiB0ZXN0cHViMiwgdGVzdHB1YjMgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsK QEAgLTIxMiwxMCArMjEyLDEwIEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIg U0VUIChzbG90X25hbWUgPSAnbmV3bmFtZScpOwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBTRVQgKHBhc3N3b3JkX3JlcXVpcmVkID0gZmFsc2UpOwogQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHJ1bl9hc19vd25lciA9IHRydWUpOwogXGRScysKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0 cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwg UGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBS ZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFj dGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8ICAgIERlc2NyaXB0aW9uICAgIAotLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8 IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAg IHwgZiAgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAg fCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dDIgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9uCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJs aWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVy PyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAg fCAgICBEZXNjcmlwdGlvbiAgICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0 IGxvZyB0YWJsZSAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBm ICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IGFueSAgICB8IGYgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICB8IGYgICAgICAgIHwg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYg ICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlw dGlvbiB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KICgxIHJvdykKIAogQUxURVIgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHBhc3N3b3JkX3JlcXVpcmVkID0gdHJ1ZSk7 CkBAIC0yMzEsMTAgKzIzMSwxMCBAQCBFUlJPUjogIHVucmVjb2duaXplZCBzdWJzY3JpcHRpb24g cGFyYW1ldGVyOiAiY3JlYXRlX3Nsb3QiCiAtLSBvawogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jl c3NfdGVzdHN1YiBTS0lQIChsc24gPSAnMC8xMjM0NScpOwogXGRScysKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVx dWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0 dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNo cm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0 aW1lb3V0IHwgIFNraXAgTFNOICB8ICAgIERlc2NyaXB0aW9uICAgIAotLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3Vz ZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8 IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9m ZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAtMSAgICAg ICAgICAgICAgIHwgMC8wMDAxMjM0NSB8IHRlc3Qgc3Vic2NyaXB0aW9uCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAg fCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJv ciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVy IHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlw dGlvbiAgICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAK Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJh bGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwg LTEgICAgICAgICAgICAgICB8IDAvMDAwMTIzNDUgfCB0ZXN0IHN1YnNjcmlwdGlvbiB8IGxvZyAg ICAgICAgICAgICAgICAgICAgICB8IC0KICgxIHJvdykKIAogLS0gb2sgLSB3aXRoIGxzbiA9IE5P TkUKQEAgLTI0MywxMCArMjQzLDEwIEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIgU0tJUCAobHNuID0gTk9ORSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IFNLSVAgKGxzbiA9ICcwLzAnKTsKIEVSUk9SOiAgaW52YWxpZCBXQUwgbG9jYXRpb24gKExTTik6 IDAvMAogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8 ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAg ICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVy cm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92 ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9u IHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8ICAgIERlc2Ny aXB0aW9uICAgIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3Rw dWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAg ICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdy ZXNzX2RvZXNub3RleGlzdDIgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qg c3Vic2NyaXB0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVz IHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91 dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICB8IENvbmZsaWN0IGxvZyBkZXN0aW5h dGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVi Mix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCB0ZXN0IHN1YnNjcmlwdGlvbiB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KICgxIHJv dykKIAogQkVHSU47CkBAIC0yODIsMTAgKzI4MiwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVn cmVzc190ZXN0c3ViX2ZvbyBTRVQgKHdhbF9yZWNlaXZlcl90aW1lb3V0ID0gJzgwcycpOwogQUxU RVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1Yl9mb28gU0VUICh3YWxfcmVjZWl2ZXJfdGlt ZW91dCA9ICdmb29iYXInKTsKIEVSUk9SOiAgaW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICJ3 YWxfcmVjZWl2ZXJfdGltZW91dCI6ICJmb29iYXIiCiBcZFJzKwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKLSAgICAgICAgTmFtZSAgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVy IHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgICAgRGVzY3JpcHRpb24gICAgCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1Yl9mb28gfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBw YXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwg ZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAg ICAgICAgfCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3Qy IHwgODBzICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlwdGlvbgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgICAg TmFtZSAgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAg UHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8 IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBv d25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRl bnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwg ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBM U04gIHwgICAgRGVzY3JpcHRpb24gICAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25m bGljdCBsb2cgdGFibGUgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1 Yl9mb28gfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0 ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgODBzICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0 ZXN0IHN1YnNjcmlwdGlvbiB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KICgxIHJvdykK IAogLS0gcmVuYW1lIGJhY2sgdG8ga2VlcCB0aGUgcmVzdCBzaW1wbGUKQEAgLTMxNCwxOSArMzE0 LDE5IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2Ri bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdh cyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxp Y2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVu YWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZy ZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAg ICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24g fCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJv ciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVy IHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9u IAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCB0ICAgICAgfCBwYXJhbGxlbCAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAg ICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1p dCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBh cyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCBy ZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0 IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lw IExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0 IGxvZyB0YWJsZSAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlv bl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgdCAgICAgIHwgcGFyYWxsZWwgIHwgZCAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAg ICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAg ICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAg ICB8IC0KICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQg KGJpbmFyeSA9IGZhbHNlKTsKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IChzbG90X25hbWUgPSBOT05FKTsKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBl cnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxv dmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlv biB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0 aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0 aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBk ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYg ICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAg ICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNv bW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1 biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1h eCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29t bWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBT a2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZs aWN0IGxvZyB0YWJsZSAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwg ZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2Zm ICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAg ICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAg ICAgICB8IC0KICgxIHJvdykKIAogRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViOwpA QCAtMzM4LDI3ICszMzgsMjcgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIg Q09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUIKIFdBUk5JTkc6ICBz dWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8g aW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGlj YXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2Ny aXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRScysKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25z Ci0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQg fCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBE aXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3du ZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50 aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04g IHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9u ICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwg dCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBm ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAg ICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8 IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBU d28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJl cXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQg dHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5j aHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0 aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0 aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBv biAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwg ZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAg ICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3Qg fCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAgICAg ICAgICAgICAgICAgICAgIHwgLQogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gcGFyYWxsZWwpOwogXGRScysKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3Jp cHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVu YWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21t aXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4g YXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXgg cmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tp cCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwg cmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAg ICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55 ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAg ICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBP d25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1p bmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3 b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWlu IGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUg fCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNl aXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRl c3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAg ICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFu eSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAg ICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAg ICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9n ICAgICAgICAgICAgICAgICAgICAgIHwgLQogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gZmFsc2UpOwogQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwogXGRScysKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBz dWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFz ZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQg fCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMg fCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3Vz IGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQg fCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg IHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAg fCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwg ZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBT dHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8 IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3Qg bG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAorLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAg IHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgLQogKDEgcm93KQogCiAtLSBmYWlsIC0gcHVi bGljYXRpb24gYWxyZWFkeSBleGlzdHMKQEAgLTM3MywxMCArMzczLDEwIEBAIEFMVEVSIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQUREIFBVQkxJQ0FUSU9OIHRlc3RwdWIxLCB0ZXN0cHVi MiBXSVRIIChyZWZyCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIEFERCBQVUJM SUNBVElPTiB0ZXN0cHViMSwgdGVzdHB1YjIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKIEVSUk9S OiAgcHVibGljYXRpb24gInRlc3RwdWIxIiBpcyBhbHJlYWR5IGluIHN1YnNjcmlwdGlvbiAicmVn cmVzc190ZXN0c3ViIgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICAgICAg UHVibGljYXRpb24gICAgICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21t aXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4g YXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXgg cmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tp cCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJl Z3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWIsdGVzdHB1YjEsdGVzdHB1YjJ9IHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAg ICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8 IDAvMDAwMDAwMDAgfCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8ICAgICAgICAgUHVibGljYXRpb24gICAgICAgICB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dv cmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4g ZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8 IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2Vp dmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVz dGluYXRpb24gfCBDb25mbGljdCBsb2cgdGFibGUgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJl Z3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWIsdGVzdHB1YjEsdGVzdHB1YjJ9IHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAg ICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8 IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0K ICgxIHJvdykKIAogLS0gZmFpbCAtIHB1YmxpY2F0aW9uIHVzZWQgbW9yZSB0aGFuIG9uY2UKQEAg LTM5MSwxMCArMzkxLDEwIEBAIEVSUk9SOiAgcHVibGljYXRpb24gInRlc3RwdWIzIiBpcyBub3Qg aW4gc3Vic2NyaXB0aW9uICJyZWdyZXNzX3Rlc3RzdWIiCiAtLSBvayAtIGRlbGV0ZSBwdWJsaWNh dGlvbnMKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgRFJPUCBQVUJMSUNBVElP TiB0ZXN0cHViMSwgdGVzdHB1YjIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVz IHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0 IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4g fCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8 IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24g YWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAg IHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0 IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rl c3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAg IHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg ICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAg ICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAg fCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3Nf ZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAg ICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KICgxIHJvdykKIAogRFJPUCBTVUJTQ1JJ UFRJT04gcmVncmVzc190ZXN0c3ViOwpAQCAtNDMwLDE5ICs0MzAsMTkgQEAgQ1JFQVRFIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0JyBQVUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBu b3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1h bnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRp b24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgog XGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93 bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWlu ZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dv cmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4g ZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8 IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2Vp dmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7 dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IHAgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg IHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwg CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAg ICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24g fCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJv ciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVy IHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9u IHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAorLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQor IHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwg e3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBwICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8 ICAgICAgICAgICAgIHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgLQogKDEgcm93KQogCiAt LSB3ZSBjYW4gYWx0ZXIgc3RyZWFtaW5nIHdoZW4gdHdvX3BoYXNlIGVuYWJsZWQKIEFMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzdHJlYW1pbmcgPSB0cnVlKTsKIFxkUnMr Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBU d28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJl cXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQg dHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5j aHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0 aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jl c3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWJ9ICAgfCBmICAgICAgfCBvbiAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYg ICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBP cmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNl cnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAg ICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENv bmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgb24gICAgICAgIHwgcCAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBm ICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAg ICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KICgxIHJvdykKIAogQUxURVIg U1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpAQCAt NDUyLDEwICs0NTIsMTAgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09O TkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUIKIFdBUk5JTkc6ICBzdWJz Y3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5p dGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRp b24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0 aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRScysKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0g ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQ dWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNh YmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/ IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9u IGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAg ICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwg RGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAg ICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAg ICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0x ICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVp cmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVw bGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1l b3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9u IHwgQ29uZmxpY3QgbG9nIHRhYmxlIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvbiAg ICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAt MSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAgICAgICAg ICAgICAgICAgICAgIHwgLQogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190 ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CkBAIC00NjgsMTggKzQ2OCwxOCBAQCBDUkVB VEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVz c19kb2Vzbm90ZXhpc3QnIFBVQgogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwg YnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91 IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1 YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNh dGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwg U3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4g fCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8 IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24g YWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAg IHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAg ICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAg IHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAw MDAwMDAgfCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAg ICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJs aWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxl IG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwg RmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1 cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVz Y3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBsb2cgdGFibGUg CistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYg ICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAg ICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAw MDAwMDAwIHwgICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCiAoMSBy b3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChkaXNhYmxlX29u X2Vycm9yID0gdHJ1ZSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwg QmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3Ig fCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8 IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBS ZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8g ICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAK LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91 c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAg ICAgICAgICAgICB8IHQgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAg ICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAg ICB8IDAvMDAwMDAwMDAgfCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0 ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBM U04gIHwgRGVzY3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBs b2cgdGFibGUgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25f dXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAg ICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAg ICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAg ICAgfCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAg fCAtCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChz bG90X25hbWUgPSBOT05FKTsKQEAgLTQ5MiwxMCArNDkyLDEwIEBAIENSRUFURSBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCcgUFVCCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNv bm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxs eSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBh bmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMr Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBU d28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJl cXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQg dHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5j aHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0 aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jl c3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYg ICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBP cmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNl cnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAg ICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENv bmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBm ICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAg ICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KICgxIHJvdykKIAogQUxURVIg U1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpAQCAt NTA5LDE5ICs1MDksMTkgQEAgTk9USUNFOiAgbWF4X3JldGVudGlvbl9kdXJhdGlvbiBpcyBpbmVm ZmVjdGl2ZSB3aGVuIHJldGFpbl9kZWFkX3R1cGxlcyBpcyBkaXNhYmwKIFdBUk5JTkc6ICBzdWJz Y3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5p dGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRp b24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0 aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRScysKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0g ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQ dWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNh YmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/ IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9u IGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAg ICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwg RGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFs bGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAxMDAwIHwgZiAgICAgICAgICAgICAg ICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0x ICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVp cmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVw bGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1l b3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9u IHwgQ29uZmxpY3QgbG9nIHRhYmxlIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJh bGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgMTAwMCB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAt MSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAgICAgICAg ICAgICAgICAgICAgIHwgLQogKDEgcm93KQogCiAtLSBvawogQUxURVIgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfdGVzdHN1YiBTRVQgKG1heF9yZXRlbnRpb25fZHVyYXRpb24gPSAwKTsKIFxkUnMrCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qg b2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAg ICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVp cmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVw bGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1l b3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3Nf dGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9 ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAg ICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg MCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVz c19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZl ciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRp b24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZs aWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVi fSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAg ICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg IDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jl c3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAg ICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KICgxIHJvdykKIAogQUxURVIgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpAQCAtNTc2 LDYgKzU3NiwzMTMgQEAgQ09NTUlUOwogLS0gb2ssIG93bmluZyBpdCBpcyBlbm91Z2ggZm9yIHRo aXMgc3R1ZmYKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25h bWUgPSBOT05FKTsKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsKKy0tCistLSBD T05GTElDVCBMT0cgREVTVElOQVRJT04gVEVTVFMKKy0tCitTRVQgU0VTU0lPTiBBVVRIT1JJWkFU SU9OICdyZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyJzsKK1NFVCBjbGllbnRfbWluX21lc3NhZ2Vz ID0gV0FSTklORzsKKy0tIGZhaWwgLSB1bnJlY29nbml6ZWQgcGFyYW1ldGVyIHZhbHVlCitDUkVB VEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfZmFpbCBDT05ORUNUSU9OICdkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9 IGZhbHNlLCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnaW52YWxpZCcpOworRVJST1I6ICB1 bnJlY29nbml6ZWQgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIHZhbHVlOiAiaW52YWxpZCIKK0hJ TlQ6ICBWYWxpZCB2YWx1ZXMgYXJlICJsb2ciLCAidGFibGUiLCBhbmQgImFsbCIuCistLSB2ZXJp Znkgc3ViY29uZmxpY3Rsb2dkZXN0IGlzICdsb2cnIGFuZCByZWxpZCBpcyAwIChJbnZhbGlkT2lk KSBmb3IgZGVmYXVsdCBjYXNlCitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3Rf bG9nX2RlZmF1bHQgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJM SUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSk7CitXQVJOSU5HOiAgc3Vic2Ny aXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAorSElOVDogIFRvIGluaXRp YXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9u IHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlv biB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KK1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxv Z2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQKK0ZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1 Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCc7CisgICAgICAgICAgIHN1Ym5h bWUgICAgICAgICAgICB8IHN1YmNvbmZsaWN0bG9nZGVzdCB8IHN1YmNvbmZsaWN0bG9ncmVsaWQg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCB8IGxvZyAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIDAKKygxIHJvdykKKworLS0gdmVyaWZ5 IGVtcHR5IHN0cmluZyBkZWZhdWx0cyB0byAnbG9nJworQ1JFQVRFIFNVQlNDUklQVElPTiByZWdy ZXNzX2NvbmZsaWN0X2VtcHR5X3N0ciBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBjb25mbGlj dF9sb2dfZGVzdGluYXRpb24gPSAnJyk7CitXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVh dGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAorSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9u LCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0 aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1 YmxpY2F0aW9ucy4KK1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZs aWN0bG9ncmVsaWQKK0ZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVz c19jb25mbGljdF9lbXB0eV9zdHInOworICAgICAgICAgIHN1Ym5hbWUgICAgICAgICAgIHwgc3Vi Y29uZmxpY3Rsb2dkZXN0IHwgc3ViY29uZmxpY3Rsb2dyZWxpZCAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg cmVncmVzc19jb25mbGljdF9lbXB0eV9zdHIgfCBsb2cgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAwCisoMSByb3cpCisKKy0tIHRoaXMgc2hvdWxkIGdlbmVyYXRlIGFuIGludGVy bmFsIGNvbmZsaWN0IGxvZyB0YWJsZSBuYW1lZCBwZ19jb25mbGljdF9sb2dfJHN1YmlkJAorQ1JF QVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIENPTk5FQ1RJT04gJ2RibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0 ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICd0YWJsZScpOworV0FSTklORzog IHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKK0hJTlQ6ICBU byBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBs aWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJz Y3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCistLSBjaGVjayBtZXRhZGF0YSBpbiBw Z19zdWJzY3JpcHRpb246IGRlc3RpbmF0aW9uIHNob3VsZCBiZSAndGFibGUnIGFuZCByZWxpZCB2 YWxpZAorU0VMRUNUIHN1Ym5hbWUsIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dy ZWxpZCA+IDAgQVMgaGFzX3JlbGlkCitGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1l ID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnOworICAgICAgICBzdWJuYW1lICAgICAgICAgfCBz dWJjb25mbGljdGxvZ2Rlc3QgfCBoYXNfcmVsaWQgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyByZWdyZXNzX2NvbmZsaWN0X3Rlc3Qx IHwgdGFibGUgICAgICAgICAgICAgIHwgdAorKDEgcm93KQorCistLSB2ZXJpZnkgdGhlIHBoeXNp Y2FsIHRhYmxlIGV4aXN0cywgaXRzIE9JRCBtYXRjaGVzIHN1YmNvbmZsaWN0bG9ncmVsaWQsCist LSBhbmQgaXQgaXMgbG9jYXRlZCBpbiB0aGUgJ3BnX2NvbmZsaWN0JyBuYW1lc3BhY2UKK1NFTEVD VCBuLm5zcG5hbWUsIChjLm9pZCA9IHMuc3ViY29uZmxpY3Rsb2dyZWxpZCkgQVMgIm9pZF9tYXRj aGVzIgorRlJPTSBwZ19jbGFzcyBjCitKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFt ZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorSk9JTiBwZ19uYW1lc3BhY2UgbiBPTiBj LnJlbG5hbWVzcGFjZSA9IG4ub2lkCitXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGlj dF90ZXN0MSc7CisgICBuc3BuYW1lICAgfCBvaWRfbWF0Y2hlcyAKKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLQorIHBnX2NvbmZsaWN0IHwgdAorKDEgcm93KQorCistLSBjaGVjayBpZiB0aGUg Y29uZmxpY3QgbG9nIHRhYmxlIGhhcyB0aGUgY29ycmVjdCBzY2hlbWEKK1NFTEVDVCBhLmF0dG51 bSwgYS5hdHRuYW1lCitGUk9NIHBnX2F0dHJpYnV0ZSBhCitKT0lOIHBnX2NsYXNzIGMgT04gYS5h dHRyZWxpZCA9IGMub2lkCitKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdw Z19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29u ZmxpY3RfdGVzdDEnIEFORCBhLmF0dG51bSA+IDAKKyAgICBPUkRFUiBCWSBhLmF0dG51bTsKKyBh dHRudW0gfCAgICAgIGF0dG5hbWUgICAgICAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0K KyAgICAgIDEgfCByZWxpZAorICAgICAgMiB8IHNjaGVtYW5hbWUKKyAgICAgIDMgfCByZWxuYW1l CisgICAgICA0IHwgY29uZmxpY3RfdHlwZQorICAgICAgNSB8IHJlbW90ZV94aWQKKyAgICAgIDYg fCByZW1vdGVfY29tbWl0X2xzbgorICAgICAgNyB8IHJlbW90ZV9jb21taXRfdHMKKyAgICAgIDgg fCByZW1vdGVfb3JpZ2luCisgICAgICA5IHwgcmVwbGljYV9pZGVudGl0eQorICAgICAxMCB8IHJl bW90ZV90dXBsZQorICAgICAxMSB8IGxvY2FsX2NvbmZsaWN0cworKDExIHJvd3MpCisKKy0tIENo YW5naW5nIHRoZSBzdWJzY3JpcHRpb24gb3duZXIgc2hvdWxkIGFsc28gdXBkYXRlIHRoZSBvd25l cgorLS0gb2YgdGhlIGFzc29jaWF0ZWQgY29uZmxpY3QgbG9nIHRhYmxlLgorQUxURVIgU1VCU0NS SVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEgT1dORVIgVE8gcmVncmVzc19zdWJzY3JpcHRp b25fdXNlcjI7CitTRUxFQ1QgcGdfY2F0YWxvZy5wZ19nZXRfdXNlcmJ5aWQoYy5yZWxvd25lcikg QVMgb3duZXIKK0ZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjCitKT0lOIHBnX2NhdGFsb2cucGdf c3Vic2NyaXB0aW9uIHMKKyAgICAgICAgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ19m b3Jfc3ViaWRfJyB8fCBzLm9pZAorV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3Rf dGVzdDEnOworICAgICAgICAgICBvd25lciAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIyCisoMSByb3cpCisKKy0tIFZl cmlmeSB0aGF0IGEgbm9uLXN1cGVydXNlciBzdWJzY3JpcHRpb24gb3duZXIgY2FuIHRydW5jYXRl LAorLS0gZGVsZXRlIGZyb20sIGFuZCBzZWxlY3QgZnJvbSB0aGUgYXNzb2NpYXRlZCBjb25mbGlj dCBsb2cgdGFibGUuCitTRVQgUk9MRSAncmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjInOworU0VM RUNUIGZvcm1hdCgnJUkuJUknLCBuLm5zcG5hbWUsIGMucmVsbmFtZSkgQVMgY29uZmxpY3RfbG9n X3RhYmxlCitGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYworSk9JTiBwZ19jYXRhbG9nLnBnX25h bWVzcGFjZSBuCisJT04gbi5vaWQgPSBjLnJlbG5hbWVzcGFjZQorSk9JTiBwZ19jYXRhbG9nLnBn X3N1YnNjcmlwdGlvbiBzCisJT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ19mb3Jfc3Vi aWRfJyB8fCBzLm9pZAorV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEn CitcZ3NldAorVFJVTkNBVEUgVEFCTEUgOmNvbmZsaWN0X2xvZ190YWJsZTsKK0RFTEVURSBGUk9N IDpjb25mbGljdF9sb2dfdGFibGU7CitTRUxFQ1QgQ09VTlQoKikgRlJPTSA6Y29uZmxpY3RfbG9n X3RhYmxlOworIGNvdW50IAorLS0tLS0tLQorICAgICAwCisoMSByb3cpCisKK1JFU0VUIFJPTEU7 CistLSBSZXN0b3JlIHRoZSBvcmlnaW5hbCBzdWJzY3JpcHRpb24gb3duZXIuCitBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBPV05FUiBUTyByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyOworLS0KKy0tIEFMVEVSIFNVQlNDUklQVElPTiAtIGNvbmZsaWN0X2xvZ19kZXN0 aW5hdGlvbiBzdGF0ZSB0cmFuc2l0aW9ucworLS0KKy0tIFRoZXNlIHRlc3RzIHZlcmlmeSB0aGUg dHJhbnNpdGlvbiBsb2dpYyBiZXR3ZWVuIGRpZmZlcmVudCBsb2dnaW5nCistLSBkZXN0aW5hdGlv bnMsIGVuc3VyaW5nIGNvbmZsaWN0IGxvZyB0YWJsZXMgYXJlIGNyZWF0ZWQgb3IgZHJvcHBlZCBh cworLS0gZXhwZWN0ZWQKKy0tCistLSB0cmFuc2l0aW9uIGZyb20gJ2xvZycgdG8gJ2FsbCcKKy0t IGEgbmV3IGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJsZSBzaG91bGQgYmUgY3JlYXRlZAorQ1JF QVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIENPTk5FQ1RJT04gJ2RibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0 ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICdsb2cnKTsKK1dBUk5JTkc6ICBz dWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCitISU5UOiAgVG8g aW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGlj YXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2Ny aXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgorQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jl c3NfY29uZmxpY3RfdGVzdDIgU0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnYWxsJyk7 CistLSB2ZXJpZnkgbWV0YWRhdGEgYWZ0ZXIgQUxURVIgKGRlc3RpbmF0aW9uIHNob3VsZCBiZSAn YWxsJykKK1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9n cmVsaWQgPiAwIEFTIGhhc19yZWxpZAorRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFt ZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QyJzsKKyAgICAgICAgc3VibmFtZSAgICAgICAgIHwg c3ViY29uZmxpY3Rsb2dkZXN0IHwgaGFzX3JlbGlkIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgcmVncmVzc19jb25mbGljdF90ZXN0 MiB8IGFsbCAgICAgICAgICAgICAgICB8IHQKKygxIHJvdykKKworLS0gdHJhbnNpdGlvbiBmcm9t ICdhbGwnIHRvICd0YWJsZScKKy0tIHNob3VsZCBOT1QgZHJvcCB0aGUgdGFibGUsIG9ubHkgY2hh bmdlIGRlc3RpbmF0aW9uIHN0cmluZworU0VMRUNUIHN1YmNvbmZsaWN0bG9ncmVsaWQgQVMgb2xk X3JlbGlkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25m bGljdF90ZXN0MicgXGdzZXQKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rl c3QyIFNFVCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlJyk7CitTRUxFQ1Qgc3Vi Y29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3JlbGlkID0gOm9sZF9yZWxpZCBBUyByZWxp ZF91bmNoYW5nZWQKK0ZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVz c19jb25mbGljdF90ZXN0Mic7Cisgc3ViY29uZmxpY3Rsb2dkZXN0IHwgcmVsaWRfdW5jaGFuZ2Vk IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0KKyB0YWJsZSAgICAgICAg ICAgICAgfCB0CisoMSByb3cpCisKKy0tIHRyYW5zaXRpb24gZnJvbSAndGFibGUnIHRvICdsb2cn CistLSBzaG91bGQgZHJvcCB0aGUgdGFibGUgYW5kIGNsZWFyIHJlbGlkCitBTFRFUiBTVUJTQ1JJ UFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MiBTRVQgKGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlv biA9ICdsb2cnKTsKK1NFTEVDVCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVs aWQKK0ZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGlj dF90ZXN0Mic7Cisgc3ViY29uZmxpY3Rsb2dkZXN0IHwgc3ViY29uZmxpY3Rsb2dyZWxpZCAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxvZyAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgIDAKKygxIHJvdykKKworLS0gdmVyaWZ5IHRoZSBwaHlz aWNhbCB0YWJsZSBpcyBnb25lCitTRUxFQ1QgY291bnQoKikKK0ZST00gcGdfY2xhc3MgYworSk9J TiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nXycgfHwg cy5vaWQKK1dIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QyJzsKKyBjb3Vu dCAKKy0tLS0tLS0KKyAgICAgMAorKDEgcm93KQorCistLQorLS0gUFVCTElDQVRJT046IFZlcmlm eSBjb25mbGljdCBsb2cgdGFibGVzIGFyZSBub3QgcHVibGlzaGFibGUKKy0tCistLSBwZ19yZWxh dGlvbl9pc19wdWJsaXNoYWJsZSBzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBpbnRlcm5hbCBjb25m bGljdCBsb2cKKy0tIHRhYmxlcyB0byBwcmV2ZW50IHRoZW0gZnJvbSBiZWluZyBhY2NpZGVudGFs bHkgaW5jbHVkZWQgaW4gcHVibGljYXRpb25zCistLQorU0VMRUNUIG4ubnNwbmFtZSwgcGdfcmVs YXRpb25faXNfcHVibGlzaGFibGUoYy5vaWQpCitGUk9NIHBnX2NsYXNzIGMKK0pPSU4gcGdfbmFt ZXNwYWNlIG4gT04gYy5yZWxuYW1lc3BhY2UgPSBuLm9pZAorSk9JTiBwZ19zdWJzY3JpcHRpb24g cyBPTiBzLnN1YmNvbmZsaWN0bG9ncmVsaWQgPSBjLm9pZAorV0hFUkUgcy5zdWJuYW1lID0gJ3Jl Z3Jlc3NfY29uZmxpY3RfdGVzdDEnOworICAgbnNwbmFtZSAgIHwgcGdfcmVsYXRpb25faXNfcHVi bGlzaGFibGUgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBw Z19jb25mbGljdCB8IGYKKygxIHJvdykKKworLS0KKy0tIFRhYmxlIFByb3RlY3Rpb24gYW5kIExp ZmVjeWNsZSBNYW5hZ2VtZW50CistLQorLS0gVGhlc2UgdGVzdHMgdmVyaWZ5IHRoYXQ6CistLSBN YW51YWwgRFJPUCBUQUJMRSBpcyBkaXNhbGxvd2VkCistLSBEUk9QIFNVQlNDUklQVElPTiBhdXRv bWF0aWNhbGx5IHJlYXBzIHRoZSB0YWJsZQorLS0KKy0tIHJlLWVuYWJsZSB0YWJsZSBsb2dnaW5n IGZvciB2ZXJpZmljYXRpb24KK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rl c3QxIFNFVCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlJyk7CistLSBXZSB1c2Ug YSBETyBibG9jayB3aXRoIGR5bmFtaWMgU1FMIGJlY2F1c2UgdGhlIGludGVybmFsIGNvbmZsaWN0 IGxvZyB0YWJsZQorLS0gbmFtZSBjb250YWlucyB0aGUgc3Vic2NyaXB0aW9uIE9JRCwgd2hpY2gg aXMgbm9uLWRldGVybWluaXN0aWMuIFRoaXMKKy0tIGFwcHJvYWNoIGFsbG93cyB1cyB0byBhdHRl bXB0IHRoZSBEUk9QIGFuZCBjYXB0dXJlIHRoZSBleHBlY3RlZCBlcnJvcgorLS0gd2l0aG91dCBo YXJkLWNvZGluZyBhIHNwZWNpZmljIE9JRCBpbiB0aGUgZXhwZWN0ZWQgb3V0cHV0CistLSBmYWls IC0gZHJvcCB0YWJsZSBub3QgYWxsb3dlZCBkdWUgdG8gaW50ZXJuYWwgZGVwZW5kZW5jeQorU0VU IGNsaWVudF9taW5fbWVzc2FnZXMgPSBOT1RJQ0U7CitETyAkJAorQkVHSU4KKyAgICBFWEVDVVRF ICdEUk9QIFRBQkxFICcgfHwgKFNFTEVDVCAncGdfY29uZmxpY3QucGdfY29uZmxpY3RfbG9nXycg fHwgb2lkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25m bGljdF90ZXN0MScpOworRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVO CisgICAgUkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50 X3ByaXZpbGVnZSc7CitFTkQgJCQ7CitOT1RJQ0U6ICBjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjog aW5zdWZmaWNpZW50X3ByaXZpbGVnZQorLS0gQ0xFQU5VUDogRFJPUCBTVUJTQ1JJUFRJT04gcmVh cHMgdGhlIHRhYmxlCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBE SVNBQkxFOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEgU0VUIChz bG90X25hbWUgPSBOT05FKTsKKy0tIFZlcmlmeSB0aGUgdGFibGUgT0lEIGZvciByZWFwIGNoZWNr CitTRUxFQ1QgJ3BnX2NvbmZsaWN0X2xvZ18nIHx8IG9pZCBBUyBpbnRlcm5hbF90YWJsZW5hbWUg RlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rl c3QxJyBcZ3NldAorRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MTsKKy0t IHNob3VsZCByZXR1cm4gTlVMTCwgbWVhbmluZyB0aGUgY29uZmxpY3QgbG9nIHRhYmxlIHdhcyBy ZWFwZWQgdmlhIGRlcGVuZGVuY3kKK1NFTEVDVCB0b19yZWdjbGFzcyg6J2ludGVybmFsX3RhYmxl bmFtZScpOworIHRvX3JlZ2NsYXNzIAorLS0tLS0tLS0tLS0tLQorIAorKDEgcm93KQorCistLQor LS0gQWRkaXRpb25hbCBOYW1lc3BhY2UgYW5kIFRhYmxlIFByb3RlY3Rpb24gVGVzdHMKKy0tCitT RVQgY2xpZW50X21pbl9tZXNzYWdlcyA9IFdBUk5JTkc7CistLSBTZXR1cDogRW5zdXJlIHdlIGhh dmUgYSBzdWJzY3JpcHRpb24gd2l0aCBhIGNvbmZsaWN0IGxvZyB0YWJsZQorQ1JFQVRFIFNVQlND UklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdCBDT05ORUNUSU9OICdkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnCisgICAgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChj b25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICd0YWJsZScpOworV0FS TklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKK0hJ TlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRo ZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRo ZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCistLSBUcnlpbmcgdG8gQUxU RVIgdGhlIGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJsZQorLS0gVGhpcyBzaG91bGQgZmFpbCBi ZWNhdXNlIHRoZSB0YWJsZSBpcyBzeXN0ZW0tbWFuYWdlZAorLS0gQXMgbWVudGlvbmVkIGluIHBy ZXZpb3VzIHRlc3QgY2FzZXMsIHdlIHVzZSBhIERPIGJsb2NrIHRvIGhpZGUgZHluYW1pYyBPSURz CitTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9IE5PVElDRTsKK0RPICQkCitERUNMQVJFCisgICAg dGFiX25hbWUgdGV4dDsKK0JFR0lOCisgICAgU0VMRUNUICdwZ19jb25mbGljdC4nIHx8IHJlbG5h bWUgSU5UTyB0YWJfbmFtZQorICAgIEZST00gcGdfY2xhc3MgYyBKT0lOIHBnX3N1YnNjcmlwdGlv biBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorICAgIFdIRVJF IHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdCc7CisKKyAgICBS QUlTRSBOT1RJQ0UgJ0F0dGVtcHRpbmcgQUxURVIgVEFCTEUgb24gaW50ZXJuYWwgY29uZmxpY3Qg bG9nIHRhYmxlJzsKKyAgICBFWEVDVVRFICdBTFRFUiBUQUJMRSAnIHx8IHRhYl9uYW1lIHx8ICcg QUREIENPTFVNTiBleHRyYV9pbmZvIHRleHQnOworRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50 X3ByaXZpbGVnZSBUSEVOCisgICAgUkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJv cjogaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBkdXJpbmcgQUxURVInOworRU5EICQkOworTk9USUNF OiAgQXR0ZW1wdGluZyBBTFRFUiBUQUJMRSBvbiBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUK K05PVElDRTogIGNhcHR1cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdl IGR1cmluZyBBTFRFUgorLS0gVGVzdCBNYW51YWwgSU5TRVJUIG9uIGNvbmZsaWN0IGxvZyB0YWJs ZQorLS0gVGhpcyBzaG91bGQgZmFpbCBiZWNhdXNlIHRoZSB0YWJsZSBpcyBzeXN0ZW0tbWFuYWdl ZAorLS0gSGlkaW5nIHRoZSBPSUQgaW4gdGhlIGVycm9yIG1lc3NhZ2UgYnkgY2F0Y2hpbmcgdGhl IGV4Y2VwdGlvbgorRE8gJCQKK0RFQ0xBUkUKKyAgICB0YWJfbmFtZSB0ZXh0OworQkVHSU4KKyAg ICBTRUxFQ1QgJ3BnX2NvbmZsaWN0LicgfHwgcmVsbmFtZSBJTlRPIHRhYl9uYW1lCisgICAgRlJP TSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2Nv bmZsaWN0X2xvZ18nIHx8IHMub2lkCisgICAgV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29u ZmxpY3RfcHJvdGVjdGlvbl90ZXN0JzsKKworICAgIEVYRUNVVEUgJ0lOU0VSVCBJTlRPICcgfHwg dGFiX25hbWUgfHwgJyAocmVsbmFtZSkgVkFMVUVTICgnJ215dGVzdCcnKSc7CitFWENFUFRJT04g V0hFTiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1 cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIGR1cmluZyBJTlNFUlQn OworRU5EICQkOworTk9USUNFOiAgY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IGluc3VmZmljaWVu dF9wcml2aWxlZ2UgZHVyaW5nIElOU0VSVAorLS0gVGVzdCBNYW51YWwgVVBEQVRFIG9uIGNvbmZs aWN0IGxvZyB0YWJsZQorLS0gVGhpcyBzaG91bGQgZmFpbCBiZWNhdXNlIHRoZSB0YWJsZSBpcyBz eXN0ZW0tbWFuYWdlZAorLS0gSGlkaW5nIHRoZSBPSUQgaW4gdGhlIGVycm9yIG1lc3NhZ2UgYnkg Y2F0Y2hpbmcgdGhlIGV4Y2VwdGlvbgorRE8gJCQKK0RFQ0xBUkUKKyAgICB0YWJfbmFtZSB0ZXh0 OworQkVHSU4KKyAgICBTRUxFQ1QgJ3BnX2NvbmZsaWN0LicgfHwgcmVsbmFtZSBJTlRPIHRhYl9u YW1lCisgICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxu YW1lID0gJ3BnX2NvbmZsaWN0X2xvZ18nIHx8IHMub2lkCisgICAgV0hFUkUgcy5zdWJuYW1lID0g J3JlZ3Jlc3NfY29uZmxpY3RfcHJvdGVjdGlvbl90ZXN0JzsKKworICAgIEVYRUNVVEUgJ1VQREFU RSAnIHx8IHRhYl9uYW1lIHx8ICcgU0VUIHJlbG5hbWUgPSAnJ215dGVzdCcnICc7CitFWENFUFRJ T04gV0hFTiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJ2Nh cHR1cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIGR1cmluZyBVUERB VEUnOworRU5EICQkOworTk9USUNFOiAgY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IGluc3VmZmlj aWVudF9wcml2aWxlZ2UgZHVyaW5nIFVQREFURQorLS0gVHJ5aW5nIHRvIHBlcmZvcm0gVFJVTkNB VEUvREVMRVRFIG9uIHRoZSBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUKKy0tIFRoaXMgc2hv dWxkIGJlIGFsbG93ZWQgc28gdGhhdCB1c2VyIGNhbiBwZXJmb3JtIGNsZWFudXAKK1NFTEVDVCAn cGdfY29uZmxpY3QuJyB8fCByZWxuYW1lIEFTIGNvbmZsaWN0X3RhYgorRlJPTSBwZ19jbGFzcyBj CitKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2df JyB8fCBzLm9pZAorV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfcHJvdGVjdGlv bl90ZXN0JyBcZ3NldAorVFJVTkNBVEUgOmNvbmZsaWN0X3RhYjsKK0RFTEVURSBGUk9NIDpjb25m bGljdF90YWI7CistLSBUcnlpbmcgdG8gY3JlYXRlIGEgbmV3IHRhYmxlIG1hbnVhbGx5IGluIHRo ZSBwZ19jb25mbGljdCBuYW1lc3BhY2UKKy0tIFRoaXMgc2hvdWxkIGZhaWwgYXMgdGhlIG5hbWVz cGFjZSBpcyByZXNlcnZlZCBmb3IgY29uZmxpY3QgbG9ncyB0YWJsZXMKK0NSRUFURSBUQUJMRSBw Z19jb25mbGljdC5tYW51YWxfdGFibGUgKGlkIGludCk7CitFUlJPUjogIHBlcm1pc3Npb24gZGVu aWVkIHRvIGNyZWF0ZSAicGdfY29uZmxpY3QubWFudWFsX3RhYmxlIgorREVUQUlMOiAgU3lzdGVt IGNhdGFsb2cgbW9kaWZpY2F0aW9ucyBhcmUgY3VycmVudGx5IGRpc2FsbG93ZWQuCistLSBNb3Zp bmcgYW4gZXhpc3RpbmcgdGFibGUgaW50byB0aGUgcGdfY29uZmxpY3QgbmFtZXNwYWNlCistLSBV c2VycyBzaG91bGQgbm90IGJlIGFibGUgdG8gbW92ZSB0aGVpciBvd24gdGFibGVzIHdpdGhpbiB0 aGlzIG5hbWVzcGFjZQorQ1JFQVRFIFRBQkxFIHB1YmxpYy50ZXN0X21vdmUgKGlkIGludCk7CitB TFRFUiBUQUJMRSBwdWJsaWMudGVzdF9tb3ZlIFNFVCBTQ0hFTUEgcGdfY29uZmxpY3Q7CitFUlJP UjogIGNhbm5vdCBtb3ZlIG9iamVjdHMgaW50byBvciBvdXQgb2YgQ09ORkxJQ1Qgc2NoZW1hCitE Uk9QIFRBQkxFIHB1YmxpYy50ZXN0X21vdmU7CistLSBDbGVhbiB1cCByZW1haW5pbmcgdGVzdCBz dWJzY3JpcHRpb24KK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2xvZ19kZWZh dWx0IERJU0FCTEU7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVm YXVsdCBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc19j b25mbGljdF9sb2dfZGVmYXVsdDsKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0 X2VtcHR5X3N0ciBESVNBQkxFOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3Rf ZW1wdHlfc3RyIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CitEUk9QIFNVQlNDUklQVElPTiByZWdy ZXNzX2NvbmZsaWN0X2VtcHR5X3N0cjsKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZs aWN0X3Rlc3QyIERJU0FCTEU7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90 ZXN0MiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc19j b25mbGljdF90ZXN0MjsKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Byb3Rl Y3Rpb25fdGVzdCBESVNBQkxFOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3Rf cHJvdGVjdGlvbl90ZXN0IFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CitEUk9QIFNVQlNDUklQVElP TiByZWdyZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdDsKIFJFU0VUIFNFU1NJT04gQVVUSE9S SVpBVElPTjsKIERST1AgUk9MRSByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyOwogRFJPUCBST0xF IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvc3Vic2NyaXB0aW9uLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlv bi5zcWwKaW5kZXggNmMzZDk2MzJlOGEuLjdjYmUzZTFmNzA2IDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3Fs L3N1YnNjcmlwdGlvbi5zcWwKQEAgLTQzMSw2ICs0MzEsMjYwIEBAIENPTU1JVDsKIEFMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKIERST1Ag U1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsKIAorLS0KKy0tIENPTkZMSUNUIExPRyBERVNU SU5BVElPTiBURVNUUworLS0KKworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiAncmVncmVzc19z dWJzY3JpcHRpb25fdXNlcic7CisKK1NFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gV0FSTklORzsK KworLS0gZmFpbCAtIHVucmVjb2duaXplZCBwYXJhbWV0ZXIgdmFsdWUKK0NSRUFURSBTVUJTQ1JJ UFRJT04gcmVncmVzc19jb25mbGljdF9mYWlsIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGNv bmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICdpbnZhbGlkJyk7CisKKy0tIHZlcmlmeSBzdWJjb25m bGljdGxvZ2Rlc3QgaXMgJ2xvZycgYW5kIHJlbGlkIGlzIDAgKEludmFsaWRPaWQpIGZvciBkZWZh dWx0IGNhc2UKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVs dCBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRl c3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNlKTsKK1NFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGlj dGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQKK0ZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJF IHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCc7CisKKy0tIHZlcmlmeSBl bXB0eSBzdHJpbmcgZGVmYXVsdHMgdG8gJ2xvZycKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVz c19jb25mbGljdF9lbXB0eV9zdHIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxpY3Rf bG9nX2Rlc3RpbmF0aW9uID0gJycpOworU0VMRUNUIHN1Ym5hbWUsIHN1YmNvbmZsaWN0bG9nZGVz dCwgc3ViY29uZmxpY3Rsb2dyZWxpZAorRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFt ZSA9ICdyZWdyZXNzX2NvbmZsaWN0X2VtcHR5X3N0cic7CisKKy0tIHRoaXMgc2hvdWxkIGdlbmVy YXRlIGFuIGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJsZSBuYW1lZCBwZ19jb25mbGljdF9sb2df JHN1YmlkJAorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIENPTk5F Q1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBX SVRIIChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICd0YWJsZScp OworCistLSBjaGVjayBtZXRhZGF0YSBpbiBwZ19zdWJzY3JpcHRpb246IGRlc3RpbmF0aW9uIHNo b3VsZCBiZSAndGFibGUnIGFuZCByZWxpZCB2YWxpZAorU0VMRUNUIHN1Ym5hbWUsIHN1YmNvbmZs aWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dyZWxpZCA+IDAgQVMgaGFzX3JlbGlkCitGUk9NIHBn X3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnOwor CistLSB2ZXJpZnkgdGhlIHBoeXNpY2FsIHRhYmxlIGV4aXN0cywgaXRzIE9JRCBtYXRjaGVzIHN1 YmNvbmZsaWN0bG9ncmVsaWQsCistLSBhbmQgaXQgaXMgbG9jYXRlZCBpbiB0aGUgJ3BnX2NvbmZs aWN0JyBuYW1lc3BhY2UKK1NFTEVDVCBuLm5zcG5hbWUsIChjLm9pZCA9IHMuc3ViY29uZmxpY3Rs b2dyZWxpZCkgQVMgIm9pZF9tYXRjaGVzIgorRlJPTSBwZ19jbGFzcyBjCitKT0lOIHBnX3N1YnNj cmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorSk9J TiBwZ19uYW1lc3BhY2UgbiBPTiBjLnJlbG5hbWVzcGFjZSA9IG4ub2lkCitXSEVSRSBzLnN1Ym5h bWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MSc7CisKKy0tIGNoZWNrIGlmIHRoZSBjb25mbGlj dCBsb2cgdGFibGUgaGFzIHRoZSBjb3JyZWN0IHNjaGVtYQorU0VMRUNUIGEuYXR0bnVtLCBhLmF0 dG5hbWUKK0ZST00gcGdfYXR0cmlidXRlIGEKK0pPSU4gcGdfY2xhc3MgYyBPTiBhLmF0dHJlbGlk ID0gYy5vaWQKK0pPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZs aWN0X2xvZ18nIHx8IHMub2lkCitXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90 ZXN0MScgQU5EIGEuYXR0bnVtID4gMAorICAgIE9SREVSIEJZIGEuYXR0bnVtOworCistLSBDaGFu Z2luZyB0aGUgc3Vic2NyaXB0aW9uIG93bmVyIHNob3VsZCBhbHNvIHVwZGF0ZSB0aGUgb3duZXIK Ky0tIG9mIHRoZSBhc3NvY2lhdGVkIGNvbmZsaWN0IGxvZyB0YWJsZS4KK0FMVEVSIFNVQlNDUklQ VElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIE9XTkVSIFRPIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIyOworU0VMRUNUIHBnX2NhdGFsb2cucGdfZ2V0X3VzZXJieWlkKGMucmVsb3duZXIpIEFT IG93bmVyCitGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYworSk9JTiBwZ19jYXRhbG9nLnBnX3N1 YnNjcmlwdGlvbiBzCisgICAgICAgIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfZm9y X3N1YmlkXycgfHwgcy5vaWQKK1dIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rl c3QxJzsKKworLS0gVmVyaWZ5IHRoYXQgYSBub24tc3VwZXJ1c2VyIHN1YnNjcmlwdGlvbiBvd25l ciBjYW4gdHJ1bmNhdGUsCistLSBkZWxldGUgZnJvbSwgYW5kIHNlbGVjdCBmcm9tIHRoZSBhc3Nv Y2lhdGVkIGNvbmZsaWN0IGxvZyB0YWJsZS4KK1NFVCBST0xFICdyZWdyZXNzX3N1YnNjcmlwdGlv bl91c2VyMic7CisKK1NFTEVDVCBmb3JtYXQoJyVJLiVJJywgbi5uc3BuYW1lLCBjLnJlbG5hbWUp IEFTIGNvbmZsaWN0X2xvZ190YWJsZQorRlJPTSBwZ19jYXRhbG9nLnBnX2NsYXNzIGMKK0pPSU4g cGdfY2F0YWxvZy5wZ19uYW1lc3BhY2UgbgorCU9OIG4ub2lkID0gYy5yZWxuYW1lc3BhY2UKK0pP SU4gcGdfY2F0YWxvZy5wZ19zdWJzY3JpcHRpb24gcworCU9OIGMucmVsbmFtZSA9ICdwZ19jb25m bGljdF9sb2dfZm9yX3N1YmlkXycgfHwgcy5vaWQKK1dIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNz X2NvbmZsaWN0X3Rlc3QxJworXGdzZXQKKworVFJVTkNBVEUgVEFCTEUgOmNvbmZsaWN0X2xvZ190 YWJsZTsKK0RFTEVURSBGUk9NIDpjb25mbGljdF9sb2dfdGFibGU7CitTRUxFQ1QgQ09VTlQoKikg RlJPTSA6Y29uZmxpY3RfbG9nX3RhYmxlOworCitSRVNFVCBST0xFOworCistLSBSZXN0b3JlIHRo ZSBvcmlnaW5hbCBzdWJzY3JpcHRpb24gb3duZXIuCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c19jb25mbGljdF90ZXN0MSBPV05FUiBUTyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyOworCist LQorLS0gQUxURVIgU1VCU0NSSVBUSU9OIC0gY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIHN0YXRl IHRyYW5zaXRpb25zCistLQorLS0gVGhlc2UgdGVzdHMgdmVyaWZ5IHRoZSB0cmFuc2l0aW9uIGxv Z2ljIGJldHdlZW4gZGlmZmVyZW50IGxvZ2dpbmcKKy0tIGRlc3RpbmF0aW9ucywgZW5zdXJpbmcg Y29uZmxpY3QgbG9nIHRhYmxlcyBhcmUgY3JlYXRlZCBvciBkcm9wcGVkIGFzCistLSBleHBlY3Rl ZAorLS0KKy0tIHRyYW5zaXRpb24gZnJvbSAnbG9nJyB0byAnYWxsJworLS0gYSBuZXcgaW50ZXJu YWwgY29uZmxpY3QgbG9nIHRhYmxlIHNob3VsZCBiZSBjcmVhdGVkCitDUkVBVEUgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29u ZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ2xvZycpOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jl c3NfY29uZmxpY3RfdGVzdDIgU0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnYWxsJyk7 CisKKy0tIHZlcmlmeSBtZXRhZGF0YSBhZnRlciBBTFRFUiAoZGVzdGluYXRpb24gc2hvdWxkIGJl ICdhbGwnKQorU0VMRUNUIHN1Ym5hbWUsIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rs b2dyZWxpZCA+IDAgQVMgaGFzX3JlbGlkCitGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJu YW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDInOworCistLSB0cmFuc2l0aW9uIGZyb20gJ2Fs bCcgdG8gJ3RhYmxlJworLS0gc2hvdWxkIE5PVCBkcm9wIHRoZSB0YWJsZSwgb25seSBjaGFuZ2Ug ZGVzdGluYXRpb24gc3RyaW5nCitTRUxFQ1Qgc3ViY29uZmxpY3Rsb2dyZWxpZCBBUyBvbGRfcmVs aWQgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0 X3Rlc3QyJyBcZ3NldAorQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDIg U0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKK1NFTEVDVCBzdWJjb25m bGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQgPSA6b2xkX3JlbGlkIEFTIHJlbGlkX3Vu Y2hhbmdlZAorRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2Nv bmZsaWN0X3Rlc3QyJzsKKworLS0gdHJhbnNpdGlvbiBmcm9tICd0YWJsZScgdG8gJ2xvZycKKy0t IHNob3VsZCBkcm9wIHRoZSB0YWJsZSBhbmQgY2xlYXIgcmVsaWQKK0FMVEVSIFNVQlNDUklQVElP TiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIFNFVCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0g J2xvZycpOworU0VMRUNUIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dyZWxpZAor RlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rl c3QyJzsKKworLS0gdmVyaWZ5IHRoZSBwaHlzaWNhbCB0YWJsZSBpcyBnb25lCitTRUxFQ1QgY291 bnQoKikKK0ZST00gcGdfY2xhc3MgYworSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5h bWUgPSAncGdfY29uZmxpY3RfbG9nXycgfHwgcy5vaWQKK1dIRVJFIHMuc3VibmFtZSA9ICdyZWdy ZXNzX2NvbmZsaWN0X3Rlc3QyJzsKKworLS0KKy0tIFBVQkxJQ0FUSU9OOiBWZXJpZnkgY29uZmxp Y3QgbG9nIHRhYmxlcyBhcmUgbm90IHB1Ymxpc2hhYmxlCistLQorLS0gcGdfcmVsYXRpb25faXNf cHVibGlzaGFibGUgc2hvdWxkIHJldHVybiBmYWxzZSBmb3IgaW50ZXJuYWwgY29uZmxpY3QgbG9n CistLSB0YWJsZXMgdG8gcHJldmVudCB0aGVtIGZyb20gYmVpbmcgYWNjaWRlbnRhbGx5IGluY2x1 ZGVkIGluIHB1YmxpY2F0aW9ucworLS0KK1NFTEVDVCBuLm5zcG5hbWUsIHBnX3JlbGF0aW9uX2lz X3B1Ymxpc2hhYmxlKGMub2lkKQorRlJPTSBwZ19jbGFzcyBjCitKT0lOIHBnX25hbWVzcGFjZSBu IE9OIGMucmVsbmFtZXNwYWNlID0gbi5vaWQKK0pPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gcy5z dWJjb25mbGljdGxvZ3JlbGlkID0gYy5vaWQKK1dIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2Nv bmZsaWN0X3Rlc3QxJzsKKworLS0KKy0tIFRhYmxlIFByb3RlY3Rpb24gYW5kIExpZmVjeWNsZSBN YW5hZ2VtZW50CistLQorLS0gVGhlc2UgdGVzdHMgdmVyaWZ5IHRoYXQ6CistLSBNYW51YWwgRFJP UCBUQUJMRSBpcyBkaXNhbGxvd2VkCistLSBEUk9QIFNVQlNDUklQVElPTiBhdXRvbWF0aWNhbGx5 IHJlYXBzIHRoZSB0YWJsZQorLS0KKy0tIHJlLWVuYWJsZSB0YWJsZSBsb2dnaW5nIGZvciB2ZXJp ZmljYXRpb24KK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIFNFVCAo Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlJyk7CisKKy0tIFdlIHVzZSBhIERPIGJs b2NrIHdpdGggZHluYW1pYyBTUUwgYmVjYXVzZSB0aGUgaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRh YmxlCistLSBuYW1lIGNvbnRhaW5zIHRoZSBzdWJzY3JpcHRpb24gT0lELCB3aGljaCBpcyBub24t ZGV0ZXJtaW5pc3RpYy4gVGhpcworLS0gYXBwcm9hY2ggYWxsb3dzIHVzIHRvIGF0dGVtcHQgdGhl IERST1AgYW5kIGNhcHR1cmUgdGhlIGV4cGVjdGVkIGVycm9yCistLSB3aXRob3V0IGhhcmQtY29k aW5nIGEgc3BlY2lmaWMgT0lEIGluIHRoZSBleHBlY3RlZCBvdXRwdXQKKworLS0gZmFpbCAtIGRy b3AgdGFibGUgbm90IGFsbG93ZWQgZHVlIHRvIGludGVybmFsIGRlcGVuZGVuY3kKK1NFVCBjbGll bnRfbWluX21lc3NhZ2VzID0gTk9USUNFOworRE8gJCQKK0JFR0lOCisgICAgRVhFQ1VURSAnRFJP UCBUQUJMRSAnIHx8IChTRUxFQ1QgJ3BnX2NvbmZsaWN0LnBnX2NvbmZsaWN0X2xvZ18nIHx8IG9p ZCBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3Rf dGVzdDEnKTsKK0VYQ0VQVElPTiBXSEVOIGluc3VmZmljaWVudF9wcml2aWxlZ2UgVEhFTgorICAg IFJBSVNFIE5PVElDRSAnY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IGluc3VmZmljaWVudF9wcml2 aWxlZ2UnOworRU5EICQkOworCistLSBDTEVBTlVQOiBEUk9QIFNVQlNDUklQVElPTiByZWFwcyB0 aGUgdGFibGUKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIERJU0FC TEU7CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBTRVQgKHNsb3Rf bmFtZSA9IE5PTkUpOworCistLSBWZXJpZnkgdGhlIHRhYmxlIE9JRCBmb3IgcmVhcCBjaGVjawor U0VMRUNUICdwZ19jb25mbGljdF9sb2dfJyB8fCBvaWQgQVMgaW50ZXJuYWxfdGFibGVuYW1lIEZS T00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0 MScgXGdzZXQKKworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MTsKKwor LS0gc2hvdWxkIHJldHVybiBOVUxMLCBtZWFuaW5nIHRoZSBjb25mbGljdCBsb2cgdGFibGUgd2Fz IHJlYXBlZCB2aWEgZGVwZW5kZW5jeQorU0VMRUNUIHRvX3JlZ2NsYXNzKDonaW50ZXJuYWxfdGFi bGVuYW1lJyk7CisKKy0tCistLSBBZGRpdGlvbmFsIE5hbWVzcGFjZSBhbmQgVGFibGUgUHJvdGVj dGlvbiBUZXN0cworLS0KKworU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSBXQVJOSU5HOworLS0g U2V0dXA6IEVuc3VyZSB3ZSBoYXZlIGEgc3Vic2NyaXB0aW9uIHdpdGggYSBjb25mbGljdCBsb2cg dGFibGUKK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9wcm90ZWN0aW9uX3Rl c3QgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JworICAgIFBVQkxJQ0FU SU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBjb25mbGljdF9sb2dfZGVzdGluYXRp b24gPSAndGFibGUnKTsKKworLS0gVHJ5aW5nIHRvIEFMVEVSIHRoZSBpbnRlcm5hbCBjb25mbGlj dCBsb2cgdGFibGUKKy0tIFRoaXMgc2hvdWxkIGZhaWwgYmVjYXVzZSB0aGUgdGFibGUgaXMgc3lz dGVtLW1hbmFnZWQKKy0tIEFzIG1lbnRpb25lZCBpbiBwcmV2aW91cyB0ZXN0IGNhc2VzLCB3ZSB1 c2UgYSBETyBibG9jayB0byBoaWRlIGR5bmFtaWMgT0lEcworCitTRVQgY2xpZW50X21pbl9tZXNz YWdlcyA9IE5PVElDRTsKK0RPICQkCitERUNMQVJFCisgICAgdGFiX25hbWUgdGV4dDsKK0JFR0lO CisgICAgU0VMRUNUICdwZ19jb25mbGljdC4nIHx8IHJlbG5hbWUgSU5UTyB0YWJfbmFtZQorICAg IEZST00gcGdfY2xhc3MgYyBKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdw Z19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorICAgIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNz X2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdCc7CisKKyAgICBSQUlTRSBOT1RJQ0UgJ0F0dGVtcHRp bmcgQUxURVIgVEFCTEUgb24gaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRhYmxlJzsKKyAgICBFWEVD VVRFICdBTFRFUiBUQUJMRSAnIHx8IHRhYl9uYW1lIHx8ICcgQUREIENPTFVNTiBleHRyYV9pbmZv IHRleHQnOworRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVOCisgICAg UkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50X3ByaXZp bGVnZSBkdXJpbmcgQUxURVInOworRU5EICQkOworCistLSBUZXN0IE1hbnVhbCBJTlNFUlQgb24g Y29uZmxpY3QgbG9nIHRhYmxlCistLSBUaGlzIHNob3VsZCBmYWlsIGJlY2F1c2UgdGhlIHRhYmxl IGlzIHN5c3RlbS1tYW5hZ2VkCistLSBIaWRpbmcgdGhlIE9JRCBpbiB0aGUgZXJyb3IgbWVzc2Fn ZSBieSBjYXRjaGluZyB0aGUgZXhjZXB0aW9uCitETyAkJAorREVDTEFSRQorICAgIHRhYl9uYW1l IHRleHQ7CitCRUdJTgorICAgIFNFTEVDVCAncGdfY29uZmxpY3QuJyB8fCByZWxuYW1lIElOVE8g dGFiX25hbWUKKyAgICBGUk9NIHBnX2NsYXNzIGMgSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBj LnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nXycgfHwgcy5vaWQKKyAgICBXSEVSRSBzLnN1Ym5h bWUgPSAncmVncmVzc19jb25mbGljdF9wcm90ZWN0aW9uX3Rlc3QnOworCisgICAgRVhFQ1VURSAn SU5TRVJUIElOVE8gJyB8fCB0YWJfbmFtZSB8fCAnIChyZWxuYW1lKSBWQUxVRVMgKCcnbXl0ZXN0 JycpJzsKK0VYQ0VQVElPTiBXSEVOIGluc3VmZmljaWVudF9wcml2aWxlZ2UgVEhFTgorICAgIFJB SVNFIE5PVElDRSAnY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IGluc3VmZmljaWVudF9wcml2aWxl Z2UgZHVyaW5nIElOU0VSVCc7CitFTkQgJCQ7CisKKy0tIFRlc3QgTWFudWFsIFVQREFURSBvbiBj b25mbGljdCBsb2cgdGFibGUKKy0tIFRoaXMgc2hvdWxkIGZhaWwgYmVjYXVzZSB0aGUgdGFibGUg aXMgc3lzdGVtLW1hbmFnZWQKKy0tIEhpZGluZyB0aGUgT0lEIGluIHRoZSBlcnJvciBtZXNzYWdl IGJ5IGNhdGNoaW5nIHRoZSBleGNlcHRpb24KK0RPICQkCitERUNMQVJFCisgICAgdGFiX25hbWUg dGV4dDsKK0JFR0lOCisgICAgU0VMRUNUICdwZ19jb25mbGljdC4nIHx8IHJlbG5hbWUgSU5UTyB0 YWJfbmFtZQorICAgIEZST00gcGdfY2xhc3MgYyBKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMu cmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorICAgIFdIRVJFIHMuc3VibmFt ZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdCc7CisKKyAgICBFWEVDVVRFICdV UERBVEUgJyB8fCB0YWJfbmFtZSB8fCAnIFNFVCByZWxuYW1lID0gJydteXRlc3QnJyAnOworRVhD RVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVOCisgICAgUkFJU0UgTk9USUNF ICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBkdXJpbmcg VVBEQVRFJzsKK0VORCAkJDsKKworLS0gVHJ5aW5nIHRvIHBlcmZvcm0gVFJVTkNBVEUvREVMRVRF IG9uIHRoZSBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUKKy0tIFRoaXMgc2hvdWxkIGJlIGFs bG93ZWQgc28gdGhhdCB1c2VyIGNhbiBwZXJmb3JtIGNsZWFudXAKK1NFTEVDVCAncGdfY29uZmxp Y3QuJyB8fCByZWxuYW1lIEFTIGNvbmZsaWN0X3RhYgorRlJPTSBwZ19jbGFzcyBjCitKT0lOIHBn X3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9p ZAorV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfcHJvdGVjdGlvbl90ZXN0JyBc Z3NldAorVFJVTkNBVEUgOmNvbmZsaWN0X3RhYjsKK0RFTEVURSBGUk9NIDpjb25mbGljdF90YWI7 CisKKy0tIFRyeWluZyB0byBjcmVhdGUgYSBuZXcgdGFibGUgbWFudWFsbHkgaW4gdGhlIHBnX2Nv bmZsaWN0IG5hbWVzcGFjZQorLS0gVGhpcyBzaG91bGQgZmFpbCBhcyB0aGUgbmFtZXNwYWNlIGlz IHJlc2VydmVkIGZvciBjb25mbGljdCBsb2dzIHRhYmxlcworQ1JFQVRFIFRBQkxFIHBnX2NvbmZs aWN0Lm1hbnVhbF90YWJsZSAoaWQgaW50KTsKKworLS0gTW92aW5nIGFuIGV4aXN0aW5nIHRhYmxl IGludG8gdGhlIHBnX2NvbmZsaWN0IG5hbWVzcGFjZQorLS0gVXNlcnMgc2hvdWxkIG5vdCBiZSBh YmxlIHRvIG1vdmUgdGhlaXIgb3duIHRhYmxlcyB3aXRoaW4gdGhpcyBuYW1lc3BhY2UKK0NSRUFU RSBUQUJMRSBwdWJsaWMudGVzdF9tb3ZlIChpZCBpbnQpOworQUxURVIgVEFCTEUgcHVibGljLnRl c3RfbW92ZSBTRVQgU0NIRU1BIHBnX2NvbmZsaWN0OworRFJPUCBUQUJMRSBwdWJsaWMudGVzdF9t b3ZlOworCistLSBDbGVhbiB1cCByZW1haW5pbmcgdGVzdCBzdWJzY3JpcHRpb24KK0FMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2xvZ19kZWZhdWx0IERJU0FCTEU7CitBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCBTRVQgKHNsb3RfbmFtZSA9 IE5PTkUpOworRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdDsK KworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfZW1wdHlfc3RyIERJU0FCTEU7 CitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9lbXB0eV9zdHIgU0VUIChzbG90 X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfZW1wdHlf c3RyOworCitBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MiBESVNBQkxF OworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDIgU0VUIChzbG90X25h bWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDI7CisK K0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdCBESVNB QkxFOworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfcHJvdGVjdGlvbl90ZXN0 IFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CitEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZs aWN0X3Byb3RlY3Rpb25fdGVzdDsKKwogUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOwogRFJP UCBST0xFIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXI7CiBEUk9QIFJPTEUgcmVncmVzc19zdWJz Y3JpcHRpb25fdXNlcjI7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMu bGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDhjZjQwYzg3MDQz Li4yMDM5NTllNTAxOCAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxp c3QKKysrIGIvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTUxNSw2ICs1MTUs OCBAQCBDb25kaXRpb25hbFN0YWNrCiBDb25kaXRpb25hbFN0YWNrRGF0YQogQ29uZmlnRGF0YQog Q29uZmlnVmFyaWFibGUKK0NvbmZsaWN0TG9nQ29sdW1uRGVmCitDb25mbGljdExvZ0Rlc3QKIENv bmZsaWN0VHVwbGVJbmZvCiBDb25mbGljdFR5cGUKIENvbm5DYWNoZUVudHJ5Ci0tIAoyLjQ5LjAK Cg== --000000000000c198600653048635 Content-Type: application/octet-stream; name="v43-0002-Review-comment-fixes-for-Add-configurable-confli.patch" Content-Disposition: attachment; filename="v43-0002-Review-comment-fixes-for-Add-configurable-confli.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mps2ouv41 RnJvbSBhNDdjMjdhYWMwOTJmODc1MzY5M2FjMTVhNDUyY2MwNzE0MzYzNzEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgMTggTWF5IDIwMjYgMTA6MzQ6NDMgKzAwMDAKU3ViamVjdDogW1BBVENIIHY0MyAyLzVd IFJldmlldyBjb21tZW50IGZpeGVzIGZvciAiQWRkIGNvbmZpZ3VyYWJsZSBjb25mbGljdAogbG9n IHRhYmxlIGZvciBMb2dpY2FsIFJlcGxpY2F0aW9uIgoKUmV2aWV3IGNvbW1lbnQgZml4ZXMgZm9y ICJBZGQgY29uZmlndXJhYmxlIGNvbmZsaWN0IGxvZyB0YWJsZSBmb3IKTG9naWNhbCBSZXBsaWNh dGlvbiIKLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jICAgICAgICAgICAgICAgfCAg NjEgKystLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9jYXRhbG9nLmMgICAgICAgICAgICAgIHwgIDEx ICstCiBzcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyAgICAgICAgICAgICAgICAgfCAgMzMgKy0K IHNyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMgICAgICAgICAgICB8ICAgNiArLQogc3Jj L2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jICAgICAgIHwgIDE2ICstCiBzcmMvYmFj a2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMgICAgfCAzNDYgKysrKysrKysrLS0tLS0t LS0tLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgICAgICAgfCAgIDIg Ky0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgICAgICAgICAgICB8ICAgNyArLQog c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jIHwgMTY1ICsrKysrKysr Ky0KIHNyYy9pbmNsdWRlL2NhdGFsb2cvY2F0YWxvZy5oICAgICAgICAgICAgICB8ICAgMiArLQog c3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaCAgICAgIHwgIDE2ICstCiBzcmMv aW5jbHVkZS9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmggICAgfCAgIDMgLQogc3JjL2luY2x1 ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaCAgICAgICAgIHwgIDE5ICstCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQgfCAyNDEgKysrKysrKy0tLS0tLS0KIHNyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwgICAgICB8ICA1MiArKy0tCiAxNSBmaWxl cyBjaGFuZ2VkLCA1NDYgaW5zZXJ0aW9ucygrKSwgNDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvYWNsY2hrLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2Fj bGNoay5jCmluZGV4IDg0ZWY1MzA0ZTIyLi4xOWM1NjhmNDcwNSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9hY2xjaGsuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5j CkBAIC0zMzM3LDMzICszMzM3LDQyIEBAIHBnX2NsYXNzX2FjbG1hc2tfZXh0KE9pZCB0YWJsZV9v aWQsIE9pZCByb2xlaWQsIEFjbE1vZGUgbWFzaywKIAogCWNsYXNzRm9ybSA9IChGb3JtX3BnX2Ns YXNzKSBHRVRTVFJVQ1QodHVwbGUpOwogCi0JLyoKLQkgKiBEZW55IGFueW9uZSBwZXJtaXNzaW9u IHRvIHVwZGF0ZSBhIHN5c3RlbSBjYXRhbG9nIHVubGVzcwotCSAqIHBnX2F1dGhpZC5yb2xzdXBl ciBpcyBzZXQuCi0JICoKLQkgKiBBcyBvZiA3LjQgd2UgaGF2ZSBzb21lIHVwZGF0YWJsZSBzeXN0 ZW0gdmlld3M7IHRob3NlIHNob3VsZG4ndCBiZQotCSAqIHByb3RlY3RlZCBpbiB0aGlzIHdheS4g IEFzc3VtZSB0aGUgdmlldyBydWxlcyBjYW4gdGFrZSBjYXJlIG9mCi0JICogdGhlbXNlbHZlcy4g IEFDTF9VU0FHRSBpcyBpZiB3ZSBldmVyIGhhdmUgc3lzdGVtIHNlcXVlbmNlcy4KLQkgKgotCSAq IEZvciBjb25mbGljdCBsb2cgdGFibGVzLCB3ZSBhbGxvdyBub24tc3VwZXJ1c2VycyB0byBwZXJm b3JtIERFTEVURQotCSAqIGFuZCBUUlVOQ0FURSBmb3IgbWFpbnRlbmFuY2UsIHdoaWxlIHN0aWxs IHJlc3RyaWN0aW5nIElOU0VSVCwKLQkgKiBVUERBVEUsIGFuZCBVU0FHRS4KLQkgKi8KLQlpZiAo KG1hc2sgJiAoQUNMX0lOU0VSVCB8IEFDTF9VUERBVEUgfCBBQ0xfREVMRVRFIHwgQUNMX1RSVU5D QVRFIHwgQUNMX1VTQUdFKSkgJiYKLQkJSXNDb25mbGljdENsYXNzKGNsYXNzRm9ybSkgJiYKLQkJ IXN1cGVydXNlcl9hcmcocm9sZWlkKSkKLQkJbWFzayAmPSB+KEFDTF9JTlNFUlQgfCBBQ0xfVVBE QVRFIHwgQUNMX1VTQUdFKTsKLQllbHNlIGlmICgobWFzayAmIChBQ0xfSU5TRVJUIHwgQUNMX1VQ REFURSB8IEFDTF9ERUxFVEUgfCBBQ0xfVFJVTkNBVEUgfCBBQ0xfVVNBR0UpKSAmJgotCQkJSXNT eXN0ZW1DbGFzcyh0YWJsZV9vaWQsIGNsYXNzRm9ybSkgJiYKLQkJCWNsYXNzRm9ybS0+cmVsa2lu ZCAhPSBSRUxLSU5EX1ZJRVcgJiYKLQkJCSFzdXBlcnVzZXJfYXJnKHJvbGVpZCkpCi0JCQltYXNr ICY9IH4oQUNMX0lOU0VSVCB8IEFDTF9VUERBVEUgfCBBQ0xfREVMRVRFIHwgQUNMX1RSVU5DQVRF IHwgQUNMX1VTQUdFKTsKLQotCS8qCi0JICogT3RoZXJ3aXNlLCBzdXBlcnVzZXJzIGJ5cGFzcyBh bGwgcGVybWlzc2lvbi1jaGVja2luZy4KLQkgKi8KLQlpZiAoc3VwZXJ1c2VyX2FyZyhyb2xlaWQp KQorCWlmICghc3VwZXJ1c2VyX2FyZyhyb2xlaWQpKQorCXsKKwkJaWYgKG1hc2sgJiAoQUNMX0lO U0VSVCB8IEFDTF9VUERBVEUgfCBBQ0xfREVMRVRFIHwgQUNMX1RSVU5DQVRFIHwgQUNMX1VTQUdF KSkKKwkJeworCQkJaWYgKElzQ29uZmxpY3RMb2dUYWJsZUNsYXNzKGNsYXNzRm9ybSkpCisJCQl7 CisJCQkJLyoKKwkJCQkgKiBGb3IgY29uZmxpY3QgbG9nIHRhYmxlcywgYWxsb3cgbm9uLXN1cGVy dXNlcnMgdG8gcGVyZm9ybQorCQkJCSAqIERFTEVURSBhbmQgVFJVTkNBVEUgZm9yIGNsZWFudXAg YW5kIG1haW50ZW5hbmNlLiBBbHNvIGFsbG93CisJCQkJICogSU5TRVJUIGFuZCBVUERBVEUgdG8g cGFzcyBBQ0wgY2hlY2tzIHNvIHRoYXQgbGF0ZXIgY2hlY2tzCisJCQkJICogaW4gQ2hlY2tWYWxp ZFJlc3VsdFJlbCgpIGNhbiByYWlzZSB0aGUgc3BlY2lmaWMgZXJyb3IgaW5zdGVhZAorCQkJCSAq IG9mIGEgZ2VuZXJpYyBwZXJtaXNzaW9uIGRlbmllZCBlcnJvci4gU3RpbGwgcmVzdHJpY3QgVVNB R0UgZm9yCisJCQkJICogbm9uLXN1cGVydXNlcnMuCisJCQkJICovCisJCQkJbWFzayAmPSB+KEFD TF9VU0FHRSk7CisJCQl9CisJCQllbHNlIGlmIChJc1N5c3RlbUNsYXNzKHRhYmxlX29pZCwgY2xh c3NGb3JtKSAmJgorCQkJCWNsYXNzRm9ybS0+cmVsa2luZCAhPSBSRUxLSU5EX1ZJRVcpCisJCQl7 CisJCQkJLyoKKwkJCQkqIERlbnkgYW55b25lIHBlcm1pc3Npb24gdG8gdXBkYXRlIGEgc3lzdGVt IGNhdGFsb2cgdW5sZXNzCisJCQkJKiBwZ19hdXRoaWQucm9sc3VwZXIgaXMgc2V0LgorCQkJCSoK KwkJCQkqIEFzIG9mIDcuNCB3ZSBoYXZlIHNvbWUgdXBkYXRhYmxlIHN5c3RlbSB2aWV3czsgdGhv c2UKKwkJCQkqIHNob3VsZG4ndCBiZSBwcm90ZWN0ZWQgaW4gdGhpcyB3YXkuICBBc3N1bWUgdGhl IHZpZXcgcnVsZXMKKwkJCQkqIGNhbiB0YWtlIGNhcmUgb2YgdGhlbXNlbHZlcy4gIEFDTF9VU0FH RSBpcyBpZiB3ZSBldmVyIGhhdmUKKwkJCQkqIHN5c3RlbSBzZXF1ZW5jZXMuCisJCQkJKi8KKwkJ CQltYXNrICY9IH4oQUNMX0lOU0VSVCB8IEFDTF9VUERBVEUgfCBBQ0xfREVMRVRFIHwgQUNMX1RS VU5DQVRFIHwKKwkJCQkJCSAgQUNMX1VTQUdFKTsKKwkJCX0KKwkJfQorCX0KKwllbHNlCiAJewor CQkvKiBTdXBlcnVzZXJzIGJ5cGFzcyBhbGwgcGVybWlzc2lvbi1jaGVja2luZy4gKi8KIAkJUmVs ZWFzZVN5c0NhY2hlKHR1cGxlKTsKIAkJcmV0dXJuIG1hc2s7CiAJfQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvY2F0YWxvZy9jYXRhbG9nLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2NhdGFsb2cu YwppbmRleCA0NTc4Y2QwNzE0MC4uNDZkMjdlZDAyYTkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvY2F0YWxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvY2F0YWxvZy5jCkBA IC04OCw3ICs4OCw3IEBAIElzU3lzdGVtQ2xhc3MoT2lkIHJlbGlkLCBGb3JtX3BnX2NsYXNzIHJl bHR1cGxlKQogCS8qIElzQ2F0YWxvZ1JlbGF0aW9uT2lkIGlzIGEgYml0IGZhc3Rlciwgc28gdGVz dCB0aGF0IGZpcnN0ICovCiAJcmV0dXJuIChJc0NhdGFsb2dSZWxhdGlvbk9pZChyZWxpZCkgfHwK IAkJCUlzVG9hc3RDbGFzcyhyZWx0dXBsZSkgfHwKLQkJCUlzQ29uZmxpY3RDbGFzcyhyZWx0dXBs ZSkpOworCQkJSXNDb25mbGljdExvZ1RhYmxlQ2xhc3MocmVsdHVwbGUpKTsKIH0KIAogLyoKQEAg LTIzMywxMSArMjMzLDE0IEBAIElzVG9hc3RDbGFzcyhGb3JtX3BnX2NsYXNzIHJlbHR1cGxlKQog fQogCiAvKgotICogSXNDb25mbGljdENsYXNzIC0gQ2hlY2sgaWYgdGhlIGdpdmVuIHBnX2NsYXNz IHR1cGxlIGJlbG9uZ3MgdG8gdGhlIGNvbmZsaWN0Ci0gKgkJCQkJIG5hbWVzcGFjZS4KKyAqIElz Q29uZmxpY3RMb2dUYWJsZUNsYXNzCisgKgkJVHJ1ZSBpZmYgRm9ybV9wZ19jbGFzcyB0dXBsZSBy ZXByZXNlbnRzIGEgc3Vic2NyaXB0aW9uLXNwZWNpZmljCisgKiAgICAgIENvbmZsaWN0IExvZyBU YWJsZS4KKyAqCisgKgkJRG9lcyBub3QgcGVyZm9ybSBhbnkgY2F0YWxvZyBhY2Nlc3Nlcy4KICAq LwogYm9vbAotSXNDb25mbGljdENsYXNzKEZvcm1fcGdfY2xhc3MgcmVsdHVwbGUpCitJc0NvbmZs aWN0TG9nVGFibGVDbGFzcyhGb3JtX3BnX2NsYXNzIHJlbHR1cGxlKQogewogCU9pZAkJCXJlbG5h bWVzcGFjZSA9IHJlbHR1cGxlLT5yZWxuYW1lc3BhY2U7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvaGVhcC5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKaW5kZXggNzJi ZDdmYWFmMmQuLjNiNmExNjNjMTg0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hl YXAuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwpAQCAtMzA1LDI0ICszMDUsMzEg QEAgaGVhcF9jcmVhdGUoY29uc3QgY2hhciAqcmVsbmFtZSwKIAlBc3NlcnQoT2lkSXNWYWxpZChy ZWxpZCkpOwogCiAJLyoKLQkgKiBEb24ndCBhbGxvdyBjcmVhdGluZyByZWxhdGlvbnMgaW4gcGdf Y2F0YWxvZyBkaXJlY3RseSwgZXZlbiB0aG91Z2ggaXQKLQkgKiBpcyBhbGxvd2VkIHRvIG1vdmUg dXNlciBkZWZpbmVkIHJlbGF0aW9ucyB0aGVyZS4gU2VtYW50aWNzIHdpdGggc2VhcmNoCi0JICog cGF0aHMgaW5jbHVkaW5nIHBnX2NhdGFsb2cgYXJlIHRvbyBjb25mdXNpbmcgZm9yIG5vdy4KKwkg KiBEb24ndCBhbGxvdyBjcmVhdGluZyByZWxhdGlvbnMgaW4gcGdfY2F0YWxvZyBvciBwZ19jb25m bGljdCBkaXJlY3RseSwKKwkgKiBldmVuIHRob3VnaCBpdCBpcyBhbGxvd2VkIHRvIG1vdmUgdXNl ciBkZWZpbmVkIHJlbGF0aW9ucyB0aGVyZS4gU2VtYW50aWNzCisJICogd2l0aCBzZWFyY2ggcGF0 aHMgaW5jbHVkaW5nIHBnX2NhdGFsb2cgYXJlIHRvbyBjb25mdXNpbmcgZm9yIG5vdy4KIAkgKgog CSAqIEJ1dCBhbGxvdyBjcmVhdGluZyBpbmRleGVzIG9uIHJlbGF0aW9ucyBpbiBwZ19jYXRhbG9n IGV2ZW4gaWYKIAkgKiBhbGxvd19zeXN0ZW1fdGFibGVfbW9kcyA9IG9mZiwgdXBwZXIgbGF5ZXJz IGFscmVhZHkgZ3VhcmFudGVlIGl0J3Mgb24gYQogCSAqIHVzZXIgZGVmaW5lZCByZWxhdGlvbiwg bm90IGEgc3lzdGVtIG9uZS4KIAkgKi8KLQlpZiAoIWFsbG93X3N5c3RlbV90YWJsZV9tb2RzICYm Ci0JCSgoSXNDYXRhbG9nTmFtZXNwYWNlKHJlbG5hbWVzcGFjZSkgJiYgcmVsa2luZCAhPSBSRUxL SU5EX0lOREVYKSB8fAotCQkgSXNUb2FzdE5hbWVzcGFjZShyZWxuYW1lc3BhY2UpIHx8Ci0JCSBJ c0NvbmZsaWN0TmFtZXNwYWNlKHJlbG5hbWVzcGFjZSkpICYmCi0JCUlzTm9ybWFsUHJvY2Vzc2lu Z01vZGUoKSkKLQkJZXJlcG9ydChFUlJPUiwKLQkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklD SUVOVF9QUklWSUxFR0UpLAotCQkJCSBlcnJtc2coInBlcm1pc3Npb24gZGVuaWVkIHRvIGNyZWF0 ZSBcIiVzLiVzXCIiLAotCQkJCQkJZ2V0X25hbWVzcGFjZV9uYW1lKHJlbG5hbWVzcGFjZSksIHJl bG5hbWUpLAotCQkJCSBlcnJkZXRhaWwoIlN5c3RlbSBjYXRhbG9nIG1vZGlmaWNhdGlvbnMgYXJl IGN1cnJlbnRseSBkaXNhbGxvd2VkLiIpKSk7CisJaWYgKCFhbGxvd19zeXN0ZW1fdGFibGVfbW9k cyAmJiBJc05vcm1hbFByb2Nlc3NpbmdNb2RlKCkpCisJeworCQlpZiAoKElzQ2F0YWxvZ05hbWVz cGFjZShyZWxuYW1lc3BhY2UpICYmIHJlbGtpbmQgIT0gUkVMS0lORF9JTkRFWCkgfHwKKwkJCUlz VG9hc3ROYW1lc3BhY2UocmVsbmFtZXNwYWNlKSkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShl cnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJCQkJCSBlcnJtc2coInBl cm1pc3Npb24gZGVuaWVkIHRvIGNyZWF0ZSBcIiVzLiVzXCIiLAorCQkJCQkJCWdldF9uYW1lc3Bh Y2VfbmFtZShyZWxuYW1lc3BhY2UpLCByZWxuYW1lKSwKKwkJCQkJIGVycmRldGFpbCgiU3lzdGVt IGNhdGFsb2cgbW9kaWZpY2F0aW9ucyBhcmUgY3VycmVudGx5IGRpc2FsbG93ZWQuIikpKTsKKwor CQlpZiAoSXNDb25mbGljdE5hbWVzcGFjZShyZWxuYW1lc3BhY2UpKQorCQkJZXJlcG9ydChFUlJP UiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwKKwkJCQkJ IGVycm1zZygicGVybWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRlIFwiJXMuJXNcIiIsCisJCQkJCSBn ZXRfbmFtZXNwYWNlX25hbWUocmVsbmFtZXNwYWNlKSwgcmVsbmFtZSksCisJCQkJCSBlcnJkZXRh aWwoIkNvbmZsaWN0IHNjaGVtYSBtb2RpZmljYXRpb25zIGFyZSBjdXJyZW50bHkgZGlzYWxsb3dl ZC4iKSkpOworCX0KIAogCSpyZWxmcm96ZW54aWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKIAkq cmVsbWlubXhpZCA9IEludmFsaWRNdWx0aVhhY3RJZDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2NhdGFsb2cvbmFtZXNwYWNlLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL25hbWVzcGFjZS5jCmlu ZGV4IGMzNWZjZjU3ZmQ0Li41YmQ5YmUzOTgzZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9uYW1lc3BhY2UuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL25hbWVzcGFjZS5jCkBA IC0zNTI0LDcgKzM1MjQsNyBAQCBMb29rdXBDcmVhdGlvbk5hbWVzcGFjZShjb25zdCBjaGFyICpu c3BuYW1lKQogICogQ29tbW9uIGNoZWNrcyBvbiBzd2l0Y2hpbmcgbmFtZXNwYWNlcy4KICAqCiAg KiBXZSBjb21wbGFpbiBpZiBlaXRoZXIgdGhlIG9sZCBvciBuZXcgbmFtZXNwYWNlcyBpcyBhIHRl bXBvcmFyeSBzY2hlbWEsCi0gKiB0ZW1wb3JhcnkgdG9hc3Qgc2NoZW1hLCB0aGUgVE9BU1Qgc2No ZW1hLCBvciB0aGUgQ09ORkxJQ1Qgc2NoZW1hLgorICogdGVtcG9yYXJ5IHRvYXN0IHNjaGVtYSwg dGhlIFRPQVNUIHNjaGVtYSwgb3IgdGhlIGNvbmZsaWN0IHNjaGVtYS4KICAqLwogdm9pZAogQ2hl Y2tTZXROYW1lc3BhY2UoT2lkIG9sZE5zcE9pZCwgT2lkIG5zcE9pZCkKQEAgLTM1NDEsMTEgKzM1 NDEsMTEgQEAgQ2hlY2tTZXROYW1lc3BhY2UoT2lkIG9sZE5zcE9pZCwgT2lkIG5zcE9pZCkKIAkJ CQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCiAJCQkJIGVycm1zZygi Y2Fubm90IG1vdmUgb2JqZWN0cyBpbnRvIG9yIG91dCBvZiBUT0FTVCBzY2hlbWEiKSkpOwogCi0J Lyogc2ltaWxhcmx5IGZvciBDT05GTElDVCBzY2hlbWEgKi8KKwkvKiBzaW1pbGFybHkgZm9yIGNv bmZsaWN0IHNjaGVtYSAqLwogCWlmIChuc3BPaWQgPT0gUEdfQ09ORkxJQ1RfTkFNRVNQQUNFIHx8 IG9sZE5zcE9pZCA9PSBQR19DT05GTElDVF9OQU1FU1BBQ0UpCiAJCWVyZXBvcnQoRVJST1IsCiAJ CQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAotCQkJCSBlcnJtc2co ImNhbm5vdCBtb3ZlIG9iamVjdHMgaW50byBvciBvdXQgb2YgQ09ORkxJQ1Qgc2NoZW1hIikpKTsK KwkJCQkgZXJybXNnKCJjYW5ub3QgbW92ZSBvYmplY3RzIGludG8gb3Igb3V0IG9mIHRoZSBjb25m bGljdCBzY2hlbWEiKSkpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxv Zy9wZ19wdWJsaWNhdGlvbi5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5j CmluZGV4IGM2ODAzNTZhMTBiLi45Mzc5MTIxMGUzNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcHVi bGljYXRpb24uYwpAQCAtOTIsNiArOTIsMTMgQEAgY2hlY2tfcHVibGljYXRpb25fYWRkX3JlbGF0 aW9uKFB1YmxpY2F0aW9uUmVsSW5mbyAqcHJpKQogCQkJCSBlcnJtc2coZXJyb3Jtc2csIHJlbG5h bWUpLAogCQkJCSBlcnJkZXRhaWwoIlRoaXMgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9y IHN5c3RlbSB0YWJsZXMuIikpKTsKIAorCS8qIENhbid0IGJlIGNvbmZsaWN0IGxvZyB0YWJsZSAq LworCWlmIChJc0NvbmZsaWN0TmFtZXNwYWNlKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHRhcmdldHJl bCkpKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJB TUVURVJfVkFMVUUpLAorCQkJCSBlcnJtc2coZXJyb3Jtc2csIHJlbG5hbWUpLAorCQkJCSBlcnJk ZXRhaWwoIlRoaXMgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGNvbmZsaWN0IGxvZyB0 YWJsZXMuIikpKTsKKwogCS8qIFVOTE9HR0VEIGFuZCBURU1QIHJlbGF0aW9ucyBjYW5ub3QgYmUg cGFydCBvZiBwdWJsaWNhdGlvbi4gKi8KIAlpZiAodGFyZ2V0cmVsLT5yZF9yZWwtPnJlbHBlcnNp c3RlbmNlID09IFJFTFBFUlNJU1RFTkNFX1RFTVApCiAJCWVyZXBvcnQoRVJST1IsCkBAIC0xMDMs MTMgKzExMCw2IEBAIGNoZWNrX3B1YmxpY2F0aW9uX2FkZF9yZWxhdGlvbihQdWJsaWNhdGlvblJl bEluZm8gKnByaSkKIAkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVF KSwKIAkJCQkgZXJybXNnKGVycm9ybXNnLCByZWxuYW1lKSwKIAkJCQkgZXJyZGV0YWlsKCJUaGlz IG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGZvciB1bmxvZ2dlZCB0YWJsZXMuIikpKTsKLQot CS8qIENhbid0IGJlIGNvbmZsaWN0IGxvZyB0YWJsZSAqLwotCWlmIChJc0NvbmZsaWN0TmFtZXNw YWNlKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHRhcmdldHJlbCkpKQotCQllcmVwb3J0KEVSUk9SLAot CQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLAotCQkJCSBlcnJt c2coZXJyb3Jtc2csIHJlbG5hbWUpLAotCQkJCSBlcnJkZXRhaWwoIlRoaXMgb3BlcmF0aW9uIGlz IG5vdCBzdXBwb3J0ZWQgZm9yIGNvbmZsaWN0IGxvZyB0YWJsZXMuIikpKTsKIH0KIAogLyoKQEAg LTE2NSw3ICsxNjUsNyBAQCBpc19wdWJsaXNoYWJsZV9jbGFzcyhPaWQgcmVsaWQsIEZvcm1fcGdf Y2xhc3MgcmVsdHVwbGUpCiAJCQlyZWx0dXBsZS0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElP TkVEX1RBQkxFIHx8CiAJCQlyZWx0dXBsZS0+cmVsa2luZCA9PSBSRUxLSU5EX1NFUVVFTkNFKSAm JgogCQkhSXNDYXRhbG9nUmVsYXRpb25PaWQocmVsaWQpICYmCi0JCSFJc0NvbmZsaWN0Q2xhc3Mo cmVsdHVwbGUpICYmCisJCSFJc0NvbmZsaWN0TG9nVGFibGVDbGFzcyhyZWx0dXBsZSkgJiYKIAkJ cmVsdHVwbGUtPnJlbHBlcnNpc3RlbmNlID09IFJFTFBFUlNJU1RFTkNFX1BFUk1BTkVOVCAmJgog CQlyZWxpZCA+PSBGaXJzdE5vcm1hbE9iamVjdElkOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vi c2NyaXB0aW9uY21kcy5jCmluZGV4IGFmYTE0MDFmNTIxLi44OGYyMmJiYjI4NiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwpAQCAtMjEsMTIgKzIxLDEwIEBACiAjaW5j bHVkZSAiYWNjZXNzL3hhY3QuaCIKICNpbmNsdWRlICJjYXRhbG9nL2NhdGFsb2cuaCIKICNpbmNs dWRlICJjYXRhbG9nL2RlcGVuZGVuY3kuaCIKLSNpbmNsdWRlICJjYXRhbG9nL2hlYXAuaCIKICNp bmNsdWRlICJjYXRhbG9nL2luZGV4aW5nLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9uYW1lc3BhY2Uu aCIKICNpbmNsdWRlICJjYXRhbG9nL29iamVjdGFjY2Vzcy5oIgogI2luY2x1ZGUgImNhdGFsb2cv b2JqZWN0YWRkcmVzcy5oIgotI2luY2x1ZGUgImNhdGFsb2cvcGdfYW1fZC5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfYXV0aGlkX2QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2RhdGFiYXNlX2Qu aCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2ZvcmVpZ25fc2VydmVyLmgiCkBAIC0xNDYsNyArMTQ0 LDExIEBAIHN0YXRpYyBMaXN0ICptZXJnZV9wdWJsaWNhdGlvbnMoTGlzdCAqb2xkcHVibGlzdCwg TGlzdCAqbmV3cHVibGlzdCwgYm9vbCBhZGRwdWIsCiBzdGF0aWMgdm9pZCBSZXBvcnRTbG90Q29u bmVjdGlvbkVycm9yKExpc3QgKnJzdGF0ZXMsIE9pZCBzdWJpZCwgY2hhciAqc2xvdG5hbWUsIGNo YXIgKmVycik7CiBzdGF0aWMgdm9pZCBDaGVja0FsdGVyU3ViT3B0aW9uKFN1YnNjcmlwdGlvbiAq c3ViLCBjb25zdCBjaGFyICpvcHRpb24sCiAJCQkJCQkJCWJvb2wgc2xvdF9uZWVkc191cGRhdGUs IGJvb2wgaXNUb3BMZXZlbCk7Ci1zdGF0aWMgT2lkIGNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUo T2lkIHN1YmlkLCBjaGFyICpzdWJuYW1lLCBPaWQgc3Vib3duZXIpOworc3RhdGljIGJvb2wgYWx0 ZXJfc3ViX2NvbmZsaWN0bG9nZGVzdGluYXRpb24oU3Vic2NyaXB0aW9uICpzdWIsCisJCQkJCQkJ CQkJCSBDb25mbGljdExvZ0Rlc3QgbG9nZGVzdCwKKwkJCQkJCQkJCQkJIE9pZCAqY29uZmxpY3R0 YWJsZXJlbGlkKTsKK3N0YXRpYyB2b2lkIGRyb3Bfc3ViX2RlcGVuZGVuY2llcyhPaWQgc3ViaWQs IGNoYXIgKnN1Ym5hbWUsCisJCQkJCQkJCSAgT2lkIHN1YmNvbmZsaWN0bG9ncmVsaWQpOwogCiAv KgogICogQ29tbW9uIG9wdGlvbiBwYXJzaW5nIGZ1bmN0aW9uIGZvciBDUkVBVEUgYW5kIEFMVEVS IFNVQlNDUklQVElPTiBjb21tYW5kcy4KQEAgLTgzOSwxMyArODQxLDE1IEBAIENyZWF0ZVN1YnNj cmlwdGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQs CiAJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1Ym9yaWdpbiAtIDFdID0KIAkJQ1N0cmlu Z0dldFRleHREYXR1bShvcHRzLm9yaWdpbik7CiAKLQkvKiBBbHdheXMgc2V0IHRoZSBkZXN0aW5h dGlvbiwgZGVmYXVsdCB3aWxsIGJlICdsb2cnLiAqLwogCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlw dGlvbl9zdWJjb25mbGljdGxvZ2Rlc3QgLSAxXSA9CiAJCUNTdHJpbmdHZXRUZXh0RGF0dW0oQ29u ZmxpY3RMb2dEZXN0TmFtZXNbb3B0cy5jb25mbGljdGxvZ2Rlc3RdKTsKIAotCS8qIElmIGxvZ2dp bmcgdG8gYSB0YWJsZSBpcyByZXF1aXJlZCwgcGh5c2ljYWxseSBjcmVhdGUgdGhlIHRhYmxlLiAq LwotCWlmIChvcHRzLmNvbmZsaWN0bG9nZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9UQUJMRSB8 fAotCQlvcHRzLmNvbmZsaWN0bG9nZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpCisJLyoK KwkgKiBJZiBsb2dnaW5nIHRvIGEgdGFibGUgaXMgcmVxdWlyZWQsIHBoeXNpY2FsbHkgY3JlYXRl IGl0IG5vdy4gV2UgY3JlYXRlCisJICogdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBoZXJlIHNvIGl0 cyByZWxhdGlvbiBPSUQgY2FuIGJlIHN0b3JlZCB3aGVuCisJICogaW5zZXJ0aW5nIHRoZSBwZ19z dWJzY3JpcHRpb24gdHVwbGUgYmVsb3cuCisJICovCisJaWYgKENPTkZMSUNUU19MT0dHRURfVE9f VEFCTEUob3B0cy5jb25mbGljdGxvZ2Rlc3QpKQogCQlsb2dyZWxpZCA9IGNyZWF0ZV9jb25mbGlj dF9sb2dfdGFibGUoc3ViaWQsIHN0bXQtPnN1Ym5hbWUsIG93bmVyKTsKIAogCS8qIFN0b3JlIHRh YmxlIE9JRCBpbiB0aGUgY2F0YWxvZy4gKi8KQEAgLTg3Miw2ICs4NzYsMjUgQEAgQ3JlYXRlU3Vi c2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3Rt dCwKIAkJcmVjb3JkRGVwZW5kZW5jeU9uKCZteXNlbGYsICZyZWZlcmVuY2VkLCBERVBFTkRFTkNZ X05PUk1BTCk7CiAJfQogCisJLyoKKwkgKiBJZiBjb25mbGljdHMgYXJlIGxvZ3MgdG8gdGFibGUg ZXN0YWJsaXNoIGFuIGludGVybmFsIGRlcGVuZGVuY3kKKwkgKiBiZXR3ZWVuIHRoZSBjb25mbGlj dCBsb2cgdGFibGUgYW5kIHRoZSBzdWJzY3JpcHRpb24uCisJICoKKwkgKiBXZSB1c2UgREVQRU5E RU5DWV9JTlRFUk5BTCB0byBzaWduaWZ5IHRoYXQgdGhlIHRhYmxlJ3MgbGlmZWN5Y2xlIGlzCisJ ICogc3RyaWN0bHkgdGllZCB0byB0aGUgc3Vic2NyaXB0aW9uLCBzaW1pbGFyIHRvIGhvdyBhIFRP QVNUIHRhYmxlIHJlbGF0ZXMKKwkgKiB0byBpdHMgbWFpbiB0YWJsZSBvciBhIHNlcXVlbmNlIHJl bGF0ZXMgdG8gYW4gaWRlbnRpdHkgY29sdW1uLgorCSAqCisJICogVGhpcyBlbnN1cmVzIHRoZSBj b25mbGljdCBsb2cgdGFibGUgaXMgYXV0b21hdGljYWxseSByZWFwZWQgZHVyaW5nIGEKKwkgKiBE Uk9QIFNVQlNDUklQVElPTiB2aWEgcGVyZm9ybURlbGV0aW9uKCkuCisJICovCisJaWYgKENPTkZM SUNUU19MT0dHRURfVE9fVEFCTEUob3B0cy5jb25mbGljdGxvZ2Rlc3QpKQorCXsKKwkJT2JqZWN0 QWRkcmVzcyBjbHQ7CisKKwkJT2JqZWN0QWRkcmVzc1NldChjbHQsIFJlbGF0aW9uUmVsYXRpb25J ZCwgbG9ncmVsaWQpOworCQlyZWNvcmREZXBlbmRlbmN5T24oJmNsdCwgJm15c2VsZiwgREVQRU5E RU5DWV9JTlRFUk5BTCk7CisJfQorCiAJLyoKIAkgKiBBIHJlcGxpY2F0aW9uIG9yaWdpbiBpcyBj dXJyZW50bHkgY3JlYXRlZCBmb3IgYWxsIHN1YnNjcmlwdGlvbnMsCiAJICogaW5jbHVkaW5nIHRo b3NlIHRoYXQgb25seSBjb250YWluIHNlcXVlbmNlcyBvciBhcmUgb3RoZXJ3aXNlIGVtcHR5LgpA QCAtMTQ0MSw2ICsxNDY0LDcwIEBAIENoZWNrQWx0ZXJTdWJPcHRpb24oU3Vic2NyaXB0aW9uICpz dWIsIGNvbnN0IGNoYXIgKm9wdGlvbiwKIAl9CiB9CiAKKy8qCisgKiBhbHRlcl9zdWJfY29uZmxp Y3Rsb2dkZXN0aW5hdGlvbgorICoKKyAqIFdoZW4gdGhlIHN1YnNjcmlwdGlvbidzICdjb25mbGlj dF9sb2dfZGVzdGluYXRpb24nIGlzIGNoYW5nZWQsIHVwZGF0ZSB0aGUKKyAqIGNvbmZsaWN0IGxv ZyB0YWJsZSBpZiByZXF1aXJlZC4KKyAqCisgKiBJZiB0aGUgbmV3IGRlc3RpbmF0aW9uIG5vIGxv bmdlciByZXF1aXJlcyBhIGNvbmZsaWN0IGxvZyB0YWJsZSwgdGhlIGV4aXN0aW5nCisgKiBjb25m bGljdCBsb2cgdGFibGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdWJzY3JpcHRpb24gaXMgcmVtb3Zl ZCB2aWEgaW50ZXJuYWwKKyAqIGRlcGVuZGVuY3kgY2xlYW51cCB0byBwcmV2ZW50IG9ycGhhbmVk IHJlbGF0aW9ucy4KKyAqCisgKiBPbiBzdWNjZXNzLCAqY29uZmxpY3R0YWJsZXJlbGlkIGlzIHNl dCB0byB0aGUgT0lEIG9mIHRoZSBjb25mbGljdCBsb2cgdGFibGUKKyAqIHRoYXQgd2FzIGNyZWF0 ZWQgb3IgdmFsaWRhdGVkLCBvciB0byBJbnZhbGlkT2lkIGlmIG5vIHRhYmxlIGlzIHJlcXVpcmVk LgorICoKKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgc3Vic2NyaXB0aW9uJ3MgY29uZmxpY3QgbG9n IHRhYmxlIHJlZmVyZW5jZSBtdXN0IGJlCisgKiB1cGRhdGVkIGFzIGEgcmVzdWx0IG9mIHRoZSBk ZXN0aW5hdGlvbiBjaGFuZ2U7IGZhbHNlIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGJvb2wKK2Fs dGVyX3N1Yl9jb25mbGljdGxvZ2Rlc3RpbmF0aW9uKFN1YnNjcmlwdGlvbiAqc3ViLCBDb25mbGlj dExvZ0Rlc3QgbG9nZGVzdCwKKwkJCQkJCQkJIE9pZCAqY29uZmxpY3R0YWJsZXJlbGlkKQorewor CUNvbmZsaWN0TG9nRGVzdCBvbGRfZGVzdCA9IEdldExvZ0Rlc3RpbmF0aW9uKHN1Yi0+Y29uZmxp Y3Rsb2dkZXN0KTsKKwlib29sCQl3YW50X3RhYmxlOworCWJvb2wJCWhhc19vbGR0YWJsZTsKKwli b29sCQl1cGRhdGVfcmVsaWQgPSBmYWxzZTsKKwlPaWQJCQlyZWxpZCA9IEludmFsaWRPaWQ7CisK Kwl3YW50X3RhYmxlID0gQ09ORkxJQ1RTX0xPR0dFRF9UT19UQUJMRShsb2dkZXN0KTsKKwloYXNf b2xkdGFibGUgPSBDT05GTElDVFNfTE9HR0VEX1RPX1RBQkxFKG9sZF9kZXN0KTsKKworCWlmICho YXNfb2xkdGFibGUpCisJeworCQkvKiBUaGVyZSBpcyBhIGNvbmZsaWN0IGxvZyB0YWJsZSBhbHJl YWR5LiAqLworCQlpZiAoIXdhbnRfdGFibGUpCisJCXsKKwkJCWRyb3Bfc3ViX2RlcGVuZGVuY2ll cyhzdWItPm9pZCwgc3ViLT5uYW1lLCBzdWItPmNvbmZsaWN0bG9ncmVsaWQpOworCQkJdXBkYXRl X3JlbGlkID0gdHJ1ZTsKKwkJfQorCX0KKwllbHNlCisJeworCQkvKiBUaGVyZSB3YXMgbm8gcHJl dmlvdXMgY29uZmxpY3QgbG9nIHRhYmxlLiAqLworCQlpZiAod2FudF90YWJsZSkKKwkJeworCQkJ T2JqZWN0QWRkcmVzcyBjbHQ7CisJCQlPYmplY3RBZGRyZXNzIHN1Ym9iajsKKworCQkJcmVsaWQg PSBjcmVhdGVfY29uZmxpY3RfbG9nX3RhYmxlKHN1Yi0+b2lkLCBzdWItPm5hbWUsIHN1Yi0+b3du ZXIpOworCQkJdXBkYXRlX3JlbGlkID0gdHJ1ZTsKKworCQkJLyoKKwkJCSAqIEVzdGFibGlzaCBh biBpbnRlcm5hbCBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIGNvbmZsaWN0IGxvZyB0YWJsZQorCQkJ ICogYW5kIHRoZSBzdWJzY3JpcHRpb24uICBGb3IgZGV0YWlscyByZWZlciBjb21tZW50cyBpbgor CQkJICogQ3JlYXRlU3Vic2NyaXB0aW9uIGZ1bmN0aW9uLgorCQkJICovCisJCQlPYmplY3RBZGRy ZXNzU2V0KGNsdCwgUmVsYXRpb25SZWxhdGlvbklkLCByZWxpZCk7CisJCQlPYmplY3RBZGRyZXNz U2V0KHN1Ym9iaiwgU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViLT5vaWQpOworCQkJcmVjb3Jk RGVwZW5kZW5jeU9uKCZjbHQsICZzdWJvYmosIERFUEVOREVOQ1lfSU5URVJOQUwpOworCQl9CisJ fQorCisJKmNvbmZsaWN0dGFibGVyZWxpZCA9IHJlbGlkOworCXJldHVybiB1cGRhdGVfcmVsaWQ7 Cit9CisKIC8qCiAgKiBBbHRlciB0aGUgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uLgogICovCkBAIC0x ODA2LDU0ICsxODkzLDIzIEBAIEFsdGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwg QWx0ZXJTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCiAJCQkJCWlmIChvcHRzLmNvbmZsaWN0bG9n ZGVzdCAhPSBvbGRfZGVzdCkKIAkJCQkJewotCQkJCQkJYm9vbCB3YW50X3RhYmxlID0gKG9wdHMu Y29uZmxpY3Rsb2dkZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX1RBQkxFIHx8Ci0JCQkJCQkJCQkJ ICAgb3B0cy5jb25mbGljdGxvZ2Rlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfQUxMKTsKLQkJCQkJ CWJvb2wgaGFzX29sZHRhYmxlID0gKG9sZF9kZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX1RBQkxF IHx8Ci0JCQkJCQkJCQkJCSBvbGRfZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpOworCQkJ CQkJYm9vbAkJdXBkYXRlX3JlbGlkOworCQkJCQkJT2lkCQkJcmVsaWQgPSBJbnZhbGlkT2lkOwog CiAJCQkJCQl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dkZXN0IC0g MV0gPQogCQkJCQkJCUNTdHJpbmdHZXRUZXh0RGF0dW0oQ29uZmxpY3RMb2dEZXN0TmFtZXNbb3B0 cy5jb25mbGljdGxvZ2Rlc3RdKTsKIAkJCQkJCXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0aW9u X3N1YmNvbmZsaWN0bG9nZGVzdCAtIDFdID0gdHJ1ZTsKIAotCQkJCQkJaWYgKHdhbnRfdGFibGUg JiYgIWhhc19vbGR0YWJsZSkKKwkJCQkJCXVwZGF0ZV9yZWxpZCA9IGFsdGVyX3N1Yl9jb25mbGlj dGxvZ2Rlc3RpbmF0aW9uKHN1YiwKKwkJCQkJCQkJCQkJCQkJCQkJCW9wdHMuY29uZmxpY3Rsb2dk ZXN0LAorCQkJCQkJCQkJCQkJCQkJCQkJJnJlbGlkKTsKKwkJCQkJCWlmICh1cGRhdGVfcmVsaWQp CiAJCQkJCQl7Ci0JCQkJCQkJT2lkCQlyZWxpZDsKLQotCQkJCQkJCXJlbGlkID0gY3JlYXRlX2Nv bmZsaWN0X2xvZ190YWJsZShzdWJpZCwgc3ViLT5uYW1lLAotCQkJCQkJCQkJCQkJCQkJICBzdWIt Pm93bmVyKTsKLQogCQkJCQkJCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25mbGlj dGxvZ3JlbGlkIC0gMV0gPQogCQkJCQkJCQkJCQkJCQlPYmplY3RJZEdldERhdHVtKHJlbGlkKTsK IAkJCQkJCQlyZXBsYWNlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25mbGljdGxvZ3JlbGlk IC0gMV0gPQogCQkJCQkJCQkJCQkJCQl0cnVlOwogCQkJCQkJfQotCQkJCQkJZWxzZSBpZiAoIXdh bnRfdGFibGUgJiYgaGFzX29sZHRhYmxlKQotCQkJCQkJewotCQkJCQkJCU9iamVjdEFkZHJlc3Mg b2JqZWN0OwotCi0JCQkJCQkJLyoKLQkJCQkJCQkgKiBDb25mbGljdCBsb2cgdGFibGVzIGFyZSBy ZWNvcmRlZCBhcyBpbnRlcm5hbAotCQkJCQkJCSAqIGRlcGVuZGVuY2llcyBvZiB0aGUgc3Vic2Ny aXB0aW9uLiAgRHJvcCB0aGUKLQkJCQkJCQkgKiB0YWJsZSBpZiBpdCBpcyBub3QgcmVxdWlyZWQg YW55bW9yZSB0byBhdm9pZAotCQkJCQkJCSAqIHN0YWxlIG9yIG9ycGhhbmVkIHJlbGF0aW9ucy4K LQkJCQkJCQkgKgotCQkJCQkJCSAqIFhYWDogQXQgcHJlc2VudCwgb25seSBjb25mbGljdCBsb2cg dGFibGVzIGFyZQotCQkJCQkJCSAqIG1hbmFnZWQgdGhpcyB3YXkuICBJbiBmdXR1cmUgaWYgd2Ug aW50cm9kdWNlCi0JCQkJCQkJICogYWRkaXRpb25hbCBpbnRlcm5hbCBkZXBlbmRlbmNpZXMsIHdl IG1heSBuZWVkCi0JCQkJCQkJICogYSB0YXJnZXRlZCBkZWxldGlvbiB0byBhdm9pZCBkZWxldGlv biBvZiBhbnkKLQkJCQkJCQkgKiBvdGhlciBvYmplY3RzLgotCQkJCQkJCSAqLwotCQkJCQkJCU9i amVjdEFkZHJlc3NTZXQob2JqZWN0LCBTdWJzY3JpcHRpb25SZWxhdGlvbklkLAotCQkJCQkJCQkJ CQkgc3ViaWQpOwotCQkJCQkJCXBlcmZvcm1EZWxldGlvbigmb2JqZWN0LCBEUk9QX0NBU0NBREUs Ci0JCQkJCQkJCQkJCVBFUkZPUk1fREVMRVRJT05fSU5URVJOQUwgfAotCQkJCQkJCQkJCQlQRVJG T1JNX0RFTEVUSU9OX1NLSVBfT1JJR0lOQUwpOwotCi0JCQkJCQkJdmFsdWVzW0FudW1fcGdfc3Vi c2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9ncmVsaWQgLSAxXSA9Ci0JCQkJCQkJCQkJCQlPYmplY3RJ ZEdldERhdHVtKEludmFsaWRPaWQpOwotCQkJCQkJCXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0 aW9uX3N1YmNvbmZsaWN0bG9ncmVsaWQgLSAxXSA9Ci0JCQkJCQkJCQkJCQl0cnVlOwotCQkJCQkJ fQogCQkJCQl9CiAJCQkJfQogCkBAIC0yMjcyLDYgKzIzMjgsNDkgQEAgQWx0ZXJTdWJzY3JpcHRp b24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJcmV0 dXJuIG15c2VsZjsKIH0KIAorLyoKKyAqIGRyb3Bfc3ViX2RlcGVuZGVuY2llcworICoKKyAqIFRo ZSBjb25mbGljdCBsb2cgdGFibGUgaXMgcmVnaXN0ZXJlZCBhcyBhbiBpbnRlcm5hbCBkZXBlbmRl bmN5IG9mIHRoZQorICogc3Vic2NyaXB0aW9uLiBUaGlzIGZ1bmN0aW9uIHJlbW92ZXMgdGhlIGRl cGVuZGVuY3kgYnkgcGVyZm9ybWluZyBhCisgKiBjYXNjYWRpbmcgZGVsZXRpb24gb24gdGhlIHN1 YnNjcmlwdGlvbiBvYmplY3QsIHdoaWNoIGluIHR1cm4gZHJvcHMgdGhlCisgKiBhc3NvY2lhdGVk IGNvbmZsaWN0IGxvZyB0YWJsZS4KKyAqCisgKiBUaGlzIGlzIHVzZWQgdG8gY2xlYW4gdXAgY29u ZmxpY3QgbG9nIHRhYmxlcyB0aGF0IGFyZSBubyBsb25nZXIgcmVxdWlyZWQsCisgKiBwcmV2ZW50 aW5nIGFjY3VtdWxhdGlvbiBvZiBzdGFsZSBvciBvcnBoYW5lZCByZWxhdGlvbnMuCisgKgorICog Tk9URToKKyAqIE9ubHkgY29uZmxpY3QgbG9nIHRhYmxlcyBhcmUgY3VycmVudGx5IG1hbmFnZWQg dmlhIHRoaXMgaW50ZXJuYWwgZGVwZW5kZW5jeQorICogbWVjaGFuaXNtLgorICovCitzdGF0aWMg dm9pZAorZHJvcF9zdWJfZGVwZW5kZW5jaWVzKE9pZCBzdWJpZCwgY2hhciAqc3VibmFtZSwgT2lk IHN1YmNvbmZsaWN0bG9ncmVsaWQpCit7CisJLyogRHJvcCBhbnkgZGVwZW5kZW50IGNvbmZsaWN0 IGxvZyB0YWJsZSAqLworCWlmIChPaWRJc1ZhbGlkKHN1YmNvbmZsaWN0bG9ncmVsaWQpKQorCXsK KwkJT2JqZWN0QWRkcmVzcyBvYmplY3Q7CisJCWNoYXIgCQkgKmNvbmZsaWN0cmVsbmFtZTsKKwor CQljb25mbGljdHJlbG5hbWUgPSBnZXRfcmVsX25hbWUoc3ViY29uZmxpY3Rsb2dyZWxpZCk7CisJ CUFzc2VydChjb25mbGljdHJlbG5hbWUpOworCisJCS8qCisJCSAqIEJ5IHVzaW5nIFBFUkZPUk1f REVMRVRJT05fU0tJUF9PUklHSU5BTCwgd2UgZW5zdXJlIHRoYXQgb25seSB0aGUKKwkJICogY29u ZmxpY3QgbG9nIHRhYmxlIGlzIGRlbGV0ZWQgd2hpbGUgdGhlIHN1YnNjcmlwdGlvbiByZW1haW5z LgorCQkgKi8KKwkJT2JqZWN0QWRkcmVzc1NldChvYmplY3QsIFN1YnNjcmlwdGlvblJlbGF0aW9u SWQsIHN1YmlkKTsKKwkJcGVyZm9ybURlbGV0aW9uKCZvYmplY3QsIERST1BfQ0FTQ0FERSwKKwkJ CQkJCVBFUkZPUk1fREVMRVRJT05fSU5URVJOQUwgfAorCQkJCQkJUEVSRk9STV9ERUxFVElPTl9T S0lQX09SSUdJTkFMKTsKKworCQllcmVwb3J0KE5PVElDRSwKKwkJCQllcnJtc2coImRyb3BwZWQg Y29uZmxpY3QgbG9nIHRhYmxlIFwiJXNcIiBmb3Igc3Vic2NyaXB0aW9uIFwiJXNcIiIsCisJCQkJ CQlnZXRfcXVhbGlmaWVkX29iam5hbWUoUEdfQ09ORkxJQ1RfTkFNRVNQQUNFLCBjb25mbGljdHJl bG5hbWUpLAorCQkJCQkJc3VibmFtZSkpOworCX0KK30KKwogLyoKICAqIERyb3AgYSBzdWJzY3Jp cHRpb24KICAqLwpAQCAtMjI4Myw2ICsyMzgyLDcgQEAgRHJvcFN1YnNjcmlwdGlvbihEcm9wU3Vi c2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBpc1RvcExldmVsKQogCUhlYXBUdXBsZQl0dXA7CiAJ T2lkCQkJc3ViaWQ7CiAJT2lkCQkJc3Vib3duZXI7CisJT2lkCQkJc3ViY29uZmxpY3Rsb2dyZWxp ZDsKIAlEYXR1bQkJZGF0dW07CiAJYm9vbAkJaXNudWxsOwogCWNoYXIJICAgKnN1Ym5hbWU7CkBA IC0yMjk2LDcgKzIzOTYsNiBAQCBEcm9wU3Vic2NyaXB0aW9uKERyb3BTdWJzY3JpcHRpb25TdG10 ICpzdG10LCBib29sIGlzVG9wTGV2ZWwpCiAJRm9ybV9wZ19zdWJzY3JpcHRpb24gZm9ybTsKIAlM aXN0CSAgICpyc3RhdGVzOwogCWJvb2wJCW11c3RfdXNlX3Bhc3N3b3JkOwotCU9iamVjdEFkZHJl c3MJb2JqZWN0OwogCiAJLyoKIAkgKiBUaGUgbGF1bmNoZXIgbWF5IGNvbmN1cnJlbnRseSBzdGFy dCBhIG5ldyB3b3JrZXIgZm9yIHRoaXMgc3Vic2NyaXB0aW9uLgpAQCAtMjMyOSw2ICsyNDI4LDcg QEAgRHJvcFN1YnNjcmlwdGlvbihEcm9wU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwgYm9vbCBpc1Rv cExldmVsKQogCWZvcm0gPSAoRm9ybV9wZ19zdWJzY3JpcHRpb24pIEdFVFNUUlVDVCh0dXApOwog CXN1YmlkID0gZm9ybS0+b2lkOwogCXN1Ym93bmVyID0gZm9ybS0+c3Vib3duZXI7CisJc3ViY29u ZmxpY3Rsb2dyZWxpZCA9IGZvcm0tPnN1YmNvbmZsaWN0bG9ncmVsaWQ7CiAJbXVzdF91c2VfcGFz c3dvcmQgPSAhc3VwZXJ1c2VyX2FyZyhzdWJvd25lcikgJiYgZm9ybS0+c3VicGFzc3dvcmRyZXF1 aXJlZDsKIAogCS8qIG11c3QgYmUgb3duZXIgKi8KQEAgLTI0ODMsMTggKzI1ODMsNyBAQCBEcm9w U3Vic2NyaXB0aW9uKERyb3BTdWJzY3JpcHRpb25TdG10ICpzdG10LCBib29sIGlzVG9wTGV2ZWwp CiAJZGVsZXRlRGVwZW5kZW5jeVJlY29yZHNGb3IoU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3Vi aWQsIGZhbHNlKTsKIAlkZWxldGVTaGFyZWREZXBlbmRlbmN5UmVjb3Jkc0ZvcihTdWJzY3JpcHRp b25SZWxhdGlvbklkLCBzdWJpZCwgMCk7CiAKLQkvKgotCSAqIENvbmZsaWN0IGxvZyB0YWJsZXMg YXJlIHJlY29yZGVkIGFzIGludGVybmFsIGRlcGVuZGVuY2llcyBvZiB0aGUKLQkgKiBzdWJzY3Jp cHRpb24uICBXZSBtdXN0IGRyb3AgdGhlIGRlcGVuZGVudCBvYmplY3RzIGJlZm9yZSB0aGUKLQkg KiBzdWJzY3JpcHRpb24gaXRzZWxmIGlzIHJlbW92ZWQuICBCeSB1c2luZwotCSAqIFBFUkZPUk1f REVMRVRJT05fU0tJUF9PUklHSU5BTCwgd2UgZW5zdXJlIHRoYXQgb25seSB0aGUgY29uZmxpY3Qg bG9nCi0JICogdGFibGUgaXMgcmVhcGVkIHdoaWxlIHRoZSBzdWJzY3JpcHRpb24gcmVtYWlucyBm b3IgdGhlIGZpbmFsIGRlbGV0aW9uCi0JICogc3RlcC4KLQkgKi8KLQlPYmplY3RBZGRyZXNzU2V0 KG9iamVjdCwgU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViaWQpOwotCXBlcmZvcm1EZWxldGlv bigmb2JqZWN0LCBEUk9QX0NBU0NBREUsCi0JCQkJCVBFUkZPUk1fREVMRVRJT05fSU5URVJOQUwg fAotCQkJCQlQRVJGT1JNX0RFTEVUSU9OX1NLSVBfT1JJR0lOQUwpOworCWRyb3Bfc3ViX2RlcGVu ZGVuY2llcyhzdWJpZCwgc3VibmFtZSwgc3ViY29uZmxpY3Rsb2dyZWxpZCk7CiAKIAkvKiBSZW1v dmUgYW55IGFzc29jaWF0ZWQgcmVsYXRpb24gc3luY2hyb25pemF0aW9uIHN0YXRlcy4gKi8KIAlS ZW1vdmVTdWJzY3JpcHRpb25SZWwoc3ViaWQsIEludmFsaWRPaWQpOwpAQCAtMzU0MCwxNDYgKzM2 MjksMyBAQCBkZWZHZXRTdHJlYW1pbmdNb2RlKERlZkVsZW0gKmRlZikKIAkJCQkJZGVmLT5kZWZu YW1lKSkpOwogCXJldHVybiBMT0dJQ0FMUkVQX1NUUkVBTV9PRkY7CS8qIGtlZXAgY29tcGlsZXIg cXVpZXQgKi8KIH0KLQotLyoKLSAqIEJ1aWxkcyB0aGUgVHVwbGVEZXNjIGZvciB0aGUgY29uZmxp Y3QgbG9nIHRhYmxlLgotICovCi1zdGF0aWMgVHVwbGVEZXNjCi1jcmVhdGVfY29uZmxpY3RfbG9n X3RhYmxlX3R1cGRlc2Modm9pZCkKLXsKLQlUdXBsZURlc2MJdHVwZGVzYzsKLQotCXR1cGRlc2Mg PSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhNQVhfQ09ORkxJQ1RfQVRUUl9OVU0pOwotCi0JZm9y IChpbnQgaSA9IDA7IGkgPCBNQVhfQ09ORkxJQ1RfQVRUUl9OVU07IGkrKykKLQl7Ci0JCU9pZCB0 eXBlX29pZCA9IENvbmZsaWN0TG9nU2NoZW1hW2ldLmF0dHR5cGlkOwotCi0JCS8qCi0JCSAqIFNw ZWNpYWwgaGFuZGxpbmcgZm9yIHRoZSBKU09OIGFycmF5IHR5cGUgZm9yIHByb3BlcgotCQkgKiBU dXBsZURlc2NJbml0RW50cnkgY2FsbC4KLQkJICovCi0JCWlmICh0eXBlX29pZCA9PSBKU09OQVJS QVlPSUQpCi0JCQl0eXBlX29pZCA9IGdldF9hcnJheV90eXBlKEpTT05PSUQpOwotCi0JCVR1cGxl RGVzY0luaXRFbnRyeSh0dXBkZXNjLCBpICsgMSwKLQkJCQkJCSAgIENvbmZsaWN0TG9nU2NoZW1h W2ldLmF0dG5hbWUsCi0JCQkJCQkgICB0eXBlX29pZCwKLQkJCQkJCSAgIC0xLCAwKTsKLQl9Ci0K LQlUdXBsZURlc2NGaW5hbGl6ZSh0dXBkZXNjKTsKLQotCXJldHVybiB0dXBkZXNjOwotfQotCi0v KgotICogQ3JlYXRlIGEgc3RydWN0dXJlZCBjb25mbGljdCBsb2cgdGFibGUgZm9yIGEgc3Vic2Ny aXB0aW9uLgotICoKLSAqIFRoZSB0YWJsZSBpcyBjcmVhdGVkIHdpdGhpbiB0aGUgc3lzdGVtLW1h bmFnZWQgJ3BnX2NvbmZsaWN0JyBuYW1lc3BhY2UgdG8KLSAqIHByZXZlbnQgdXNlcnMgZnJvbSBt YW51YWxseSBkcm9wcGluZyBvciBhbHRlcmluZyBpdC4gIFRoaXMgYWxzbyBwcmV2ZW50cwotICog YWNjaWRlbnRhbCBuYW1lIGNvbGxpc2lvbnMgd2l0aCB1c2VyLWNyZWF0ZWQgdGFibGVzIHdpdGgg dGhlIHNhbWUgbmFtZS4KLSAqCi0gKiBUaGUgdGFibGUgbmFtZSBpcyBnZW5lcmF0ZWQgYXV0b21h dGljYWxseSB1c2luZyB0aGUgc3Vic2NyaXB0aW9uJ3MgT0lECi0gKiAoZS5nLiwgInBnX2NvbmZs aWN0X2xvZ188c3ViaWQ+IikgdG8gZW5zdXJlIHVuaXF1ZW5lc3Mgd2l0aGluIHRoZSBjbHVzdGVy Ci0gKiBhbmQgdG8gYXZvaWQgY29sbGlzaW9ucyBkdXJpbmcgc3Vic2NyaXB0aW9uIHJlbmFtZXMu Ci0gKi8KLXN0YXRpYyBPaWQKLWNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoT2lkIHN1YmlkLCBj aGFyICpzdWJuYW1lLCBPaWQgc3Vib3duZXIpCi17Ci0JVHVwbGVEZXNjCXR1cGRlc2M7Ci0JT2lk CQkJcmVsaWQ7Ci0JT2JqZWN0QWRkcmVzcwlteXNlbGY7Ci0JT2JqZWN0QWRkcmVzcwlzdWJhZGRy OwotCWNoYXIgICAgCXJlbG5hbWVbTkFNRURBVEFMRU5dOwotCi0Jc25wcmludGYocmVsbmFtZSwg TkFNRURBVEFMRU4sICJwZ19jb25mbGljdF9sb2dfJXUiLCBzdWJpZCk7Ci0KLQkvKgotCSAqIENo ZWNrIGZvciBhbiBleGlzdGluZyB0YWJsZSB3aXRoIHRoZSBzbmFtZSBuYW1lIGluIHRoZSBwZ19j b25mbGljdCBuYW1lc3BhY2UuCi0JICogQSBjb2xsaXNpb24gc2hvdWxkIG5vdCBvY2N1ciB1bmRl ciBub3JtYWwgb3BlcmF0aW9uLCBidXQgd2UgbXVzdCBoYW5kbGUgY2FzZXMKLQkgKiB3aGVyZSBh IHRhYmxlIGhhcyBiZWVuIGNyZWF0ZWQgbWFudWFsbHkuCi0JICovCi0JaWYgKE9pZElzVmFsaWQo Z2V0X3JlbG5hbWVfcmVsaWQocmVsbmFtZSwgUEdfQ09ORkxJQ1RfTkFNRVNQQUNFKSkpCi0JCWVy ZXBvcnQoRVJST1IsCi0JCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfVEFCTEUpLAotCQkJ CSBlcnJtc2coImNvbmZsaWN0IGxvZyB0YWJsZSBwZ19jb25mbGljdC5cIiVzXCIgYWxyZWFkeSBl eGlzdHMiLCByZWxuYW1lKSwKLQkJCQkgZXJyaGludCgiQSB0YWJsZSB3aXRoIHRoZSBzYW1lIG5h bWUgYWxyZWFkeSBleGlzdHMuICIKLQkJCQkJCSAiVG8gcHJvY2VlZCwgZHJvcCB0aGUgZXhpc3Rp bmcgdGFibGUgYW5kIHJldHJ5LiIpKSk7Ci0KLQkvKiBCdWlsZCB0aGUgdHVwbGUgZGVzY3JpcHRv ciBmb3IgdGhlIG5ldyB0YWJsZS4gKi8KLQl0dXBkZXNjID0gY3JlYXRlX2NvbmZsaWN0X2xvZ190 YWJsZV90dXBkZXNjKCk7Ci0KLQkvKiBDcmVhdGUgY29uZmxpY3QgbG9nIHRhYmxlLiAqLwotCXJl bGlkID0gaGVhcF9jcmVhdGVfd2l0aF9jYXRhbG9nKHJlbG5hbWUsCi0JCQkJCQkJCQkgUEdfQ09O RkxJQ1RfTkFNRVNQQUNFLAotCQkJCQkJCQkJIDAsCS8qIHRhYmxlc3BhY2UgKi8KLQkJCQkJCQkJ CSBJbnZhbGlkT2lkLCAvKiByZWxpZCAqLwotCQkJCQkJCQkJIEludmFsaWRPaWQsIC8qIHJlbHR5 cGVpZCAqLwotCQkJCQkJCQkJIEludmFsaWRPaWQsIC8qIHJlbG9mdHlwZWlkICovCi0JCQkJCQkJ CQkgc3Vib3duZXIsCi0JCQkJCQkJCQkgSEVBUF9UQUJMRV9BTV9PSUQsCi0JCQkJCQkJCQkgdHVw ZGVzYywKLQkJCQkJCQkJCSBOSUwsCi0JCQkJCQkJCQkgUkVMS0lORF9SRUxBVElPTiwKLQkJCQkJ CQkJCSBSRUxQRVJTSVNURU5DRV9QRVJNQU5FTlQsCi0JCQkJCQkJCQkgZmFsc2UsIC8qIHNoYXJl ZF9yZWxhdGlvbiAqLwotCQkJCQkJCQkJIGZhbHNlLCAvKiBtYXBwZWRfcmVsYXRpb24gKi8KLQkJ CQkJCQkJCSBPTkNPTU1JVF9OT09QLAotCQkJCQkJCQkJIChEYXR1bSkgMCwgLyogcmVsb3B0aW9u cyAqLwotCQkJCQkJCQkJIGZhbHNlLCAvKiB1c2VfdXNlcl9hY2wgKi8KLQkJCQkJCQkJCSB0cnVl LCAvKiBhbGxvd19zeXN0ZW1fdGFibGVfbW9kcyAqLwotCQkJCQkJCQkJIHRydWUsIC8qIGlzX2lu dGVybmFsICovCi0JCQkJCQkJCQkgSW52YWxpZE9pZCwgLyogcmVscmV3cml0ZSAqLwotCQkJCQkJ CQkJIE5VTEwpOyAvKiB0eXBhZGRyZXNzICovCi0KLQkvKgotCSAqIEVzdGFibGlzaCBhbiBpbnRl cm5hbCBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBhbmQKLQkgKiB0 aGUgc3Vic2NyaXB0aW9uLgotCSAqCi0JICogV2UgdXNlIERFUEVOREVOQ1lfSU5URVJOQUwgdG8g c2lnbmlmeSB0aGF0IHRoZSB0YWJsZSdzIGxpZmVjeWNsZSBpcwotCSAqIHN0cmljdGx5IHRpZWQg dG8gdGhlIHN1YnNjcmlwdGlvbiwgc2ltaWxhciB0byBob3cgYSBUT0FTVCB0YWJsZSByZWxhdGVz Ci0JICogdG8gaXRzIG1haW4gdGFibGUgb3IgYSBzZXF1ZW5jZSByZWxhdGVzIHRvIGFuIGlkZW50 aXR5IGNvbHVtbi4KLQkgKgotCSAqIFRoaXMgZW5zdXJlcyB0aGUgY29uZmxpY3QgbG9nIHRhYmxl IGlzIGF1dG9tYXRpY2FsbHkgcmVhcGVkIGR1cmluZyBhCi0JICogRFJPUCBTVUJTQ1JJUFRJT04g dmlhIHBlcmZvcm1EZWxldGlvbigpLgotCSAqLwotCU9iamVjdEFkZHJlc3NTZXQobXlzZWxmLCBS ZWxhdGlvblJlbGF0aW9uSWQsIHJlbGlkKTsKLQlPYmplY3RBZGRyZXNzU2V0KHN1YmFkZHIsIFN1 YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1YmlkKTsKLQlyZWNvcmREZXBlbmRlbmN5T24oJm15c2Vs ZiwgJnN1YmFkZHIsIERFUEVOREVOQ1lfSU5URVJOQUwpOwotCi0JLyogUmVsZWFzZSB0dXBsZSBk ZXNjcmlwdG9yIG1lbW9yeS4gKi8KLQlGcmVlVHVwbGVEZXNjKHR1cGRlc2MpOwotCi0JZXJlcG9y dChOT1RJQ0UsCi0JCQkoZXJybXNnKCJjcmVhdGVkIGNvbmZsaWN0IGxvZyB0YWJsZSBcIiVzXCIg Zm9yIHN1YnNjcmlwdGlvbiBcIiVzXCIiLAotCQkJCQlnZXRfcXVhbGlmaWVkX29iam5hbWUoUEdf Q09ORkxJQ1RfTkFNRVNQQUNFLCByZWxuYW1lKSwKLQkJCQkJc3VibmFtZSkpKTsKLQotCXJldHVy biByZWxpZDsKLX0KLQotLyoKLSAqIEdldExvZ0Rlc3RpbmF0aW9uCi0gKgotICogQ29udmVydCBz dHJpbmcgdG8gZW51bSBieSBjb21wYXJpbmcgYWdhaW5zdCBzdGFuZGFyZGl6ZWQgbGFiZWxzLgot ICovCi1Db25mbGljdExvZ0Rlc3QKLUdldExvZ0Rlc3RpbmF0aW9uKGNvbnN0IGNoYXIgKmRlc3Qp Ci17Ci0JLyogRW1wdHkgc3RyaW5nIG9yIE5VTEwgZGVmYXVsdHMgdG8gTE9HLiAqLwotCWlmIChk ZXN0ID09IE5VTEwgfHwgZGVzdFswXSA9PSAnXDAnIHx8IHBnX3N0cmNhc2VjbXAoZGVzdCwgImxv ZyIpID09IDApCi0JCXJldHVybiBDT05GTElDVF9MT0dfREVTVF9MT0c7Ci0KLQlpZiAocGdfc3Ry Y2FzZWNtcChkZXN0LCAidGFibGUiKSA9PSAwKQotCQlyZXR1cm4gQ09ORkxJQ1RfTE9HX0RFU1Rf VEFCTEU7Ci0KLQlpZiAocGdfc3RyY2FzZWNtcChkZXN0LCAiYWxsIikgPT0gMCkKLQkJcmV0dXJu IENPTkZMSUNUX0xPR19ERVNUX0FMTDsKLQotCS8qIFVucmVjb2duaXplZCBzdHJpbmcuICovCi0J ZXJlcG9ydChFUlJPUiwKLQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFM VUUpLAotCQkJIGVycm1zZygidW5yZWNvZ25pemVkIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiB2 YWx1ZTogXCIlc1wiIiwgZGVzdCksCi0JCQkgZXJyaGludCgiVmFsaWQgdmFsdWVzIGFyZSBcImxv Z1wiLCBcInRhYmxlXCIsIGFuZCBcImFsbFwiLiIpKSk7Ci19CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21k cy5jCmluZGV4IGFiNTY4ZjlkMWQzLi4yZGNmNjRmYTUzYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVj bWRzLmMKQEAgLTI0NjEsNyArMjQ2MSw3IEBAIHRydW5jYXRlX2NoZWNrX3JlbChPaWQgcmVsaWQs IEZvcm1fcGdfY2xhc3MgcmVsdHVwbGUpCiAJICogdG8gcGVybWl0IHVzZXJzIHRvIG1hbnVhbGx5 IHBydW5lIHRoZXNlIGxvZ3MgdG8gbWFuYWdlIGRpc2sgc3BhY2UuCiAJICovCiAJaWYgKCFhbGxv d1N5c3RlbVRhYmxlTW9kcyAmJiBJc1N5c3RlbUNsYXNzKHJlbGlkLCByZWx0dXBsZSkgJiYKLQkJ IUlzQ29uZmxpY3RDbGFzcyhyZWx0dXBsZSkKKwkJIUlzQ29uZmxpY3RMb2dUYWJsZUNsYXNzKHJl bHR1cGxlKQogCQkmJiAoIUlzQmluYXJ5VXBncmFkZSB8fAogCQkJKHJlbGlkICE9IExhcmdlT2Jq ZWN0UmVsYXRpb25JZCAmJgogCQkJIHJlbGlkICE9IExhcmdlT2JqZWN0TWV0YWRhdGFSZWxhdGlv bklkKSkpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jIGIvc3Jj L2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYwppbmRleCAzNDU2NDBmZTQxZC4uMmMxYTRkOGFi NzEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMKKysrIGIvc3Jj L2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYwpAQCAtMTIwMSw3ICsxMjAxLDcgQEAgQ2hlY2tW YWxpZFJlc3VsdFJlbChSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLCBDbWRUeXBlIG9wZXJh dGlvbiwKIAlpZiAoSXNDb25mbGljdE5hbWVzcGFjZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZXN1 bHRSZWwpKSAmJgogCQlvcGVyYXRpb24gIT0gQ01EX0RFTEVURSkKIAkJZXJlcG9ydChFUlJPUiwK LQkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAorCQkJCShlcnJj b2RlKEVSUkNPREVfV1JPTkdfT0JKRUNUX1RZUEUpLAogCQkJCSBlcnJtc2coImNhbm5vdCBtb2Rp Znkgb3IgaW5zZXJ0IGRhdGEgaW50byBjb25mbGljdCBsb2cgdGFibGUgXCIlc1wiIiwKIAkJCQkJ CVJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlc3VsdFJlbCkpLAogCQkJCSBlcnJkZXRhaWwoIkNv bmZsaWN0IGxvZyB0YWJsZXMgYXJlIHN5c3RlbS1tYW5hZ2VkIGFuZCBvbmx5IHN1cHBvcnQgY2xl YW51cCB2aWEgREVMRVRFIG9yIFRSVU5DQVRFLiIpKSk7CkBAIC0xMjc5LDEzICsxMjc5LDEyIEBA IENoZWNrVmFsaWRSb3dNYXJrUmVsKFJlbGF0aW9uIHJlbCwgUm93TWFya1R5cGUgbWFya1R5cGUp CiAKIAkvKgogCSAqIENvbmZsaWN0IGxvZyB0YWJsZXMgYXJlIG1hbmFnZWQgYnkgdGhlIHN5c3Rl bSB0byByZWNvcmQgbG9naWNhbAotCSAqIHJlcGxpY2F0aW9uIGNvbmZsaWN0cy4gIFdlIGRvIG5v dCBhbGxvdyBsb2NraW5nIHJvd3MgaW4gQ09ORkxJQ1QKLQkgKiByZWxhdGlvbnMuCisJICogcmVw bGljYXRpb24gY29uZmxpY3RzLgogCSAqLwogCWlmIChJc0NvbmZsaWN0TmFtZXNwYWNlKFJlbGF0 aW9uR2V0TmFtZXNwYWNlKHJlbCkpKQogCQllcmVwb3J0KEVSUk9SLAogCQkJCShlcnJjb2RlKEVS UkNPREVfV1JPTkdfT0JKRUNUX1RZUEUpLAotCQkJCSBlcnJtc2coImNhbm5vdCBsb2NrIHJvd3Mg aW4gY29uZmxpY3QgbG9nIHRhYmxlIFwiJXNcIiIsCisJCQkJIGVycm1zZygiY2Fubm90IGxvY2sg cm93cyBpbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlIFwiJXNcIiIsCiAJCQkJCQlSZWxhdGlvbkdl dFJlbGF0aW9uTmFtZShyZWwpKSkpOwogfQogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL2NvbmZsaWN0LmMKaW5kZXggZDAzOGUyNjVjYTkuLmQ4MWRkMmMwYjRhIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKKysrIGIvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCkBAIC0xNyw2ICsxNywxMiBAQAog I2luY2x1ZGUgImFjY2Vzcy9jb21taXRfdHMuaCIKICNpbmNsdWRlICJhY2Nlc3MvZ2VuYW0uaCIK ICNpbmNsdWRlICJhY2Nlc3MvdGFibGVhbS5oIgorI2luY2x1ZGUgImNhdGFsb2cvZGVwZW5kZW5j eS5oIgorI2luY2x1ZGUgImNhdGFsb2cvaGVhcC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfYW0u aCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX25hbWVzcGFjZS5oIgorI2luY2x1ZGUgImNhdGFsb2cv dG9hc3RpbmcuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmgiCiAjaW5j bHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRl ICJyZXBsaWNhdGlvbi9jb25mbGljdC5oIgpAQCAtMjQsMTMgKzMwLDM1IEBACiAjaW5jbHVkZSAi c3RvcmFnZS9sbWdyLmgiCiAjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiCiAKKy8qCisgKiBT dHJpbmcgcmVwcmVzZW50YXRpb25zIGZvciB0aGUgc3VwcG9ydGVkIGNvbmZsaWN0IGxvZ2dpbmcg ZGVzdGluYXRpb25zLgorICovCiBjb25zdCBjaGFyICpjb25zdCBDb25mbGljdExvZ0Rlc3ROYW1l c1tdID0gewogCVtDT05GTElDVF9MT0dfREVTVF9MT0ddID0gImxvZyIsCiAJW0NPTkZMSUNUX0xP R19ERVNUX1RBQkxFXSA9ICJ0YWJsZSIsCiAJW0NPTkZMSUNUX0xPR19ERVNUX0FMTF0gPSAiYWxs IgogfTsKIAotY29uc3QgQ29uZmxpY3RMb2dDb2x1bW5EZWYgQ29uZmxpY3RMb2dTY2hlbWFbXSA9 IHsKK1N0YXRpY0Fzc2VydERlY2wobGVuZ3Rob2YoQ29uZmxpY3RMb2dEZXN0TmFtZXMpID09IDMs CisJCQkJICJDb25mbGljdExvZ0Rlc3ROYW1lcyBsZW5ndGggbWlzbWF0Y2giKTsKKworCisvKiBT dHJ1Y3R1cmUgdG8gaG9sZCBtZXRhZGF0YSBmb3Igb25lIGNvbHVtbiBvZiB0aGUgY29uZmxpY3Qg bG9nIHRhYmxlICovCit0eXBlZGVmIHN0cnVjdCBDb25mbGljdExvZ0NvbHVtbkRlZgoreworCWNv bnN0IGNoYXIgKmF0dG5hbWU7ICAgIC8qIENvbHVtbiBuYW1lICovCisJT2lkICAgICAgICAgYXR0 dHlwaWQ7ICAgLyogRGF0YSB0eXBlIE9JRCAqLworfSBDb25mbGljdExvZ0NvbHVtbkRlZjsKKwor LyoKKyAqIFNjaGVtYSBkZWZpbml0aW9uIGZvciBjb25mbGljdCBsb2cgdGFibGVzLgorICoKKyAq IERlZmluZXMgdGhlIGZpeGVkIHNjaGVtYSBvZiB0aGUgcGVyLXN1YnNjcmlwdGlvbiBjb25mbGlj dCBsb2cgdGFibGUgY3JlYXRlZAorICogaW4gdGhlIHBnX2NvbmZsaWN0IG5hbWVzcGFjZS4gRWFj aCBlbnRyeSBzcGVjaWZpZXMgdGhlIGNvbHVtbiBuYW1lIGFuZCBpdHMKKyAqIHR5cGUgT0lEOyB0 aGUgdGFibGUgaXMgY3JlYXRlZCBpbiB0aGlzIGNvbHVtbiBvcmRlciBieQorICogY3JlYXRlX2Nv bmZsaWN0X2xvZ190YWJsZSgpLgorICovCitzdGF0aWMgY29uc3QgQ29uZmxpY3RMb2dDb2x1bW5E ZWYgQ29uZmxpY3RMb2dTY2hlbWFbXSA9IHsKIAl7IC5hdHRuYW1lID0gInJlbGlkIiwgICAgICAg ICAgICAuYXR0dHlwaWQgPSBPSURPSUQgfSwKIAl7IC5hdHRuYW1lID0gInNjaGVtYW5hbWUiLCAg ICAgICAuYXR0dHlwaWQgPSBURVhUT0lEIH0sCiAJeyAuYXR0bmFtZSA9ICJyZWxuYW1lIiwgICAg ICAgICAgLmF0dHR5cGlkID0gVEVYVE9JRCB9LApAQCAtMzksMTUgKzY3LDEyIEBAIGNvbnN0IENv bmZsaWN0TG9nQ29sdW1uRGVmIENvbmZsaWN0TG9nU2NoZW1hW10gPSB7CiAJeyAuYXR0bmFtZSA9 ICJyZW1vdGVfY29tbWl0X2xzbiIsLmF0dHR5cGlkID0gTFNOT0lEIH0sCiAJeyAuYXR0bmFtZSA9 ICJyZW1vdGVfY29tbWl0X3RzIiwgLmF0dHR5cGlkID0gVElNRVNUQU1QVFpPSUQgfSwKIAl7IC5h dHRuYW1lID0gInJlbW90ZV9vcmlnaW4iLCAgICAuYXR0dHlwaWQgPSBURVhUT0lEIH0sCi0JeyAu YXR0bmFtZSA9ICJyZXBsaWNhX2lkZW50aXR5IiwgLmF0dHR5cGlkID0gSlNPTk9JRCB9LAogCXsg LmF0dG5hbWUgPSAicmVtb3RlX3R1cGxlIiwgICAgIC5hdHR0eXBpZCA9IEpTT05PSUQgfSwKKwl7 IC5hdHRuYW1lID0gInJlcGxpY2FfaWRlbnRpdHkiLCAuYXR0dHlwaWQgPSBKU09OT0lEIH0sCiAJ eyAuYXR0bmFtZSA9ICJsb2NhbF9jb25mbGljdHMiLCAgLmF0dHR5cGlkID0gSlNPTkFSUkFZT0lE IH0KIH07CiAKLVN0YXRpY0Fzc2VydERlY2wobGVuZ3Rob2YoQ29uZmxpY3RMb2dTY2hlbWEpID09 IE1BWF9DT05GTElDVF9BVFRSX05VTSwKLQkJCQkgIkNvbmZsaWN0TG9nU2NoZW1hIGxlbmd0aCBt aXNtYXRjaCIpOwotU3RhdGljQXNzZXJ0RGVjbChsZW5ndGhvZihDb25mbGljdExvZ0Rlc3ROYW1l cykgPT0gMywKLQkJCQkgIkNvbmZsaWN0TG9nRGVzdE5hbWVzIGxlbmd0aCBtaXNtYXRjaCIpOwor I2RlZmluZSBOVU1fQ09ORkxJQ1RfQVRUUlMgbGVuZ3Rob2YoQ29uZmxpY3RMb2dTY2hlbWEpCiAK IHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBDb25mbGljdFR5cGVOYW1lc1tdID0gewogCVtDVF9J TlNFUlRfRVhJU1RTXSA9ICJpbnNlcnRfZXhpc3RzIiwKQEAgLTc5LDYgKzEwNCwxMzQgQEAgc3Rh dGljIHZvaWQgZ2V0X3R1cGxlX2Rlc2MoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJl bGluZm8sCiBzdGF0aWMgY2hhciAqYnVpbGRfaW5kZXhfdmFsdWVfZGVzYyhFU3RhdGUgKmVzdGF0 ZSwgUmVsYXRpb24gbG9jYWxyZWwsCiAJCQkJCQkJCQlUdXBsZVRhYmxlU2xvdCAqc2xvdCwgT2lk IGluZGV4b2lkKTsKIAorLyoKKyAqIEJ1aWxkcyB0aGUgVHVwbGVEZXNjIGZvciB0aGUgY29uZmxp Y3QgbG9nIHRhYmxlLgorICovCitzdGF0aWMgVHVwbGVEZXNjCitjcmVhdGVfY29uZmxpY3RfbG9n X3RhYmxlX3R1cGRlc2Modm9pZCkKK3sKKwlUdXBsZURlc2MJdHVwZGVzYzsKKworCXR1cGRlc2Mg PSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhOVU1fQ09ORkxJQ1RfQVRUUlMpOworCisJZm9yIChp bnQgaSA9IDA7IGkgPCBOVU1fQ09ORkxJQ1RfQVRUUlM7IGkrKykKKwkJVHVwbGVEZXNjSW5pdEVu dHJ5KHR1cGRlc2MsIGkgKyAxLAorCQkJCQkJICAgQ29uZmxpY3RMb2dTY2hlbWFbaV0uYXR0bmFt ZSwKKwkJCQkJCSAgIENvbmZsaWN0TG9nU2NoZW1hW2ldLmF0dHR5cGlkLAorCQkJCQkJICAgLTEs IDApOworCisJVHVwbGVEZXNjRmluYWxpemUodHVwZGVzYyk7CisKKwlyZXR1cm4gdHVwZGVzYzsK K30KKworLyoKKyAqIENyZWF0ZSBhIHN0cnVjdHVyZWQgY29uZmxpY3QgbG9nIHRhYmxlIGZvciBh IHN1YnNjcmlwdGlvbi4KKyAqCisgKiBUaGUgdGFibGUgaXMgY3JlYXRlZCB3aXRoaW4gdGhlIHN5 c3RlbS1tYW5hZ2VkICdwZ19jb25mbGljdCcgbmFtZXNwYWNlIHRvCisgKiBwcmV2ZW50IHVzZXJz IGZyb20gbWFudWFsbHkgZHJvcHBpbmcgb3IgYWx0ZXJpbmcgaXQuICBUaGlzIGFsc28gcHJldmVu dHMKKyAqIGFjY2lkZW50YWwgbmFtZSBjb2xsaXNpb25zIHdpdGggdXNlci1jcmVhdGVkIHRhYmxl cyB3aXRoIHRoZSBzYW1lIG5hbWUuCisgKgorICogVGhlIHRhYmxlIG5hbWUgaXMgZ2VuZXJhdGVk IGF1dG9tYXRpY2FsbHkgdXNpbmcgdGhlIHN1YnNjcmlwdGlvbidzIE9JRAorICogKGUuZy4sICJw Z19jb25mbGljdF9sb2dfZm9yX3N1YmlkXzxzdWJpZD4iKSB0byBlbnN1cmUgdW5pcXVlbmVzcyB3 aXRoaW4gdGhlCisgKiBjbHVzdGVyIGFuZCB0byBhdm9pZCBjb2xsaXNpb25zIGR1cmluZyBzdWJz Y3JpcHRpb24gcmVuYW1lcy4KKyAqLworT2lkCitjcmVhdGVfY29uZmxpY3RfbG9nX3RhYmxlKE9p ZCBzdWJpZCwgY2hhciAqc3VibmFtZSwgT2lkIHN1Ym93bmVyKQoreworCVR1cGxlRGVzYwl0dXBk ZXNjOworCU9pZAkJCXJlbGlkOworCWNoYXIgICAgCXJlbG5hbWVbTkFNRURBVEFMRU5dOworCisJ c25wcmludGYocmVsbmFtZSwgTkFNRURBVEFMRU4sICJwZ19jb25mbGljdF9sb2dfZm9yX3N1Ymlk XyV1Iiwgc3ViaWQpOworCisJLyoKKwkgKiBDaGVjayBmb3IgYW4gZXhpc3RpbmcgdGFibGUgd2l0 aCB0aGUgc2FtZSBuYW1lIGluIHRoZSBwZ19jb25mbGljdCBuYW1lc3BhY2UuCisJICogQSBjb2xs aXNpb24gc2hvdWxkIG5vdCBvY2N1ciB1bmRlciBub3JtYWwgb3BlcmF0aW9uLCBidXQgd2UgbXVz dCBoYW5kbGUgY2FzZXMKKwkgKiB3aGVyZSBhIHRhYmxlIGhhcyBiZWVuIGNyZWF0ZWQgbWFudWFs bHkgd2hlbiBhbGxvd19zeXN0ZW1fdGFibGVzX21vZHMgaXMKKwkgKiBPTi4KKwkgKi8KKwlpZiAo T2lkSXNWYWxpZChnZXRfcmVsbmFtZV9yZWxpZChyZWxuYW1lLCBQR19DT05GTElDVF9OQU1FU1BB Q0UpKSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9U QUJMRSksCisJCQkJIGVycm1zZygiY29uZmxpY3QgbG9nIHRhYmxlIHBnX2NvbmZsaWN0LlwiJXNc IiBhbHJlYWR5IGV4aXN0cyIsIHJlbG5hbWUpLAorCQkJCSBlcnJoaW50KCJUbyBwcm9jZWVkLCBk cm9wIHRoZSBleGlzdGluZyB0YWJsZSBhbmQgcmV0cnkuIikpKTsKKworCS8qIEJ1aWxkIHRoZSB0 dXBsZSBkZXNjcmlwdG9yIGZvciB0aGUgbmV3IHRhYmxlLiAqLworCXR1cGRlc2MgPSBjcmVhdGVf Y29uZmxpY3RfbG9nX3RhYmxlX3R1cGRlc2MoKTsKKworCS8qIENyZWF0ZSBjb25mbGljdCBsb2cg dGFibGUuICovCisJcmVsaWQgPSBoZWFwX2NyZWF0ZV93aXRoX2NhdGFsb2cocmVsbmFtZSwKKwkJ CQkJCQkJCSBQR19DT05GTElDVF9OQU1FU1BBQ0UsCisJCQkJCQkJCQkgMCwJLyogdGFibGVzcGFj ZSAqLworCQkJCQkJCQkJIEludmFsaWRPaWQsIC8qIHJlbGlkICovCisJCQkJCQkJCQkgSW52YWxp ZE9pZCwgLyogcmVsdHlwZWlkICovCisJCQkJCQkJCQkgSW52YWxpZE9pZCwgLyogcmVsb2Z0eXBl aWQgKi8KKwkJCQkJCQkJCSBzdWJvd25lciwKKwkJCQkJCQkJCSBIRUFQX1RBQkxFX0FNX09JRCwK KwkJCQkJCQkJCSB0dXBkZXNjLAorCQkJCQkJCQkJIE5JTCwKKwkJCQkJCQkJCSBSRUxLSU5EX1JF TEFUSU9OLAorCQkJCQkJCQkJIFJFTFBFUlNJU1RFTkNFX1BFUk1BTkVOVCwKKwkJCQkJCQkJCSBm YWxzZSwgLyogc2hhcmVkX3JlbGF0aW9uICovCisJCQkJCQkJCQkgZmFsc2UsIC8qIG1hcHBlZF9y ZWxhdGlvbiAqLworCQkJCQkJCQkJIE9OQ09NTUlUX05PT1AsCisJCQkJCQkJCQkgKERhdHVtKSAw LCAvKiByZWxvcHRpb25zICovCisJCQkJCQkJCQkgZmFsc2UsIC8qIHVzZV91c2VyX2FjbCAqLwor CQkJCQkJCQkJIHRydWUsIC8qIGFsbG93X3N5c3RlbV90YWJsZV9tb2RzICovCisJCQkJCQkJCQkg dHJ1ZSwgLyogaXNfaW50ZXJuYWwgKi8KKwkJCQkJCQkJCSBJbnZhbGlkT2lkLCAvKiByZWxyZXdy aXRlICovCisJCQkJCQkJCQkgTlVMTCk7IC8qIHR5cGFkZHJlc3MgKi8KKwlBc3NlcnQoT2lkSXNW YWxpZChyZWxpZCkpOworCisJLyogUmVsZWFzZSB0dXBsZSBkZXNjcmlwdG9yIG1lbW9yeS4gKi8K KwlGcmVlVHVwbGVEZXNjKHR1cGRlc2MpOworCisJLyoKKwkgKiBXZSBtdXN0IGJ1bXAgdGhlIGNv bW1hbmQgY291bnRlciB0byBtYWtlIHRoZSBuZXdseS1jcmVhdGVkIHJlbGF0aW9uCisJICogdHVw bGUgdmlzaWJsZSBmb3Igb3BlbmluZy4KKwkgKi8KKwlDb21tYW5kQ291bnRlckluY3JlbWVudCgp OworCisJLyoKKwkgKiBDcmVhdGUgYSBUT0FTVCB0YWJsZSBmb3IgdGhlIGNvbmZsaWN0IGxvZyB0 byBzdXBwb3J0IG91dC1vZi1saW5lIHN0b3JhZ2UKKwkgKiBvZiBsYXJnZSBKU09OIGRhdGEuCisJ ICovCisJTmV3UmVsYXRpb25DcmVhdGVUb2FzdFRhYmxlKHJlbGlkLCAoRGF0dW0pIDApOworCisJ ZXJlcG9ydChOT1RJQ0UsCisJCQkoZXJybXNnKCJjcmVhdGVkIGNvbmZsaWN0IGxvZyB0YWJsZSBc IiVzXCIgZm9yIHN1YnNjcmlwdGlvbiBcIiVzXCIiLAorCQkJCQlnZXRfcXVhbGlmaWVkX29iam5h bWUoUEdfQ09ORkxJQ1RfTkFNRVNQQUNFLCByZWxuYW1lKSwKKwkJCQkJc3VibmFtZSkpKTsKKwor CXJldHVybiByZWxpZDsKK30KKworLyoKKyAqIEdldExvZ0Rlc3RpbmF0aW9uCisgKgorICogQ29u dmVydCBzdHJpbmcgdG8gZW51bSBieSBjb21wYXJpbmcgYWdhaW5zdCBzdGFuZGFyZGl6ZWQgbGFi ZWxzLgorICovCitDb25mbGljdExvZ0Rlc3QKK0dldExvZ0Rlc3RpbmF0aW9uKGNvbnN0IGNoYXIg KmRlc3QpCit7CisJLyogRW1wdHkgc3RyaW5nIG9yIE5VTEwgZGVmYXVsdHMgdG8gTE9HLiAqLwor CWlmIChkZXN0ID09IE5VTEwgfHwgZGVzdFswXSA9PSAnXDAnIHx8IHBnX3N0cmNhc2VjbXAoZGVz dCwgImxvZyIpID09IDApCisJCXJldHVybiBDT05GTElDVF9MT0dfREVTVF9MT0c7CisKKwlpZiAo cGdfc3RyY2FzZWNtcChkZXN0LCAidGFibGUiKSA9PSAwKQorCQlyZXR1cm4gQ09ORkxJQ1RfTE9H X0RFU1RfVEFCTEU7CisKKwlpZiAocGdfc3RyY2FzZWNtcChkZXN0LCAiYWxsIikgPT0gMCkKKwkJ cmV0dXJuIENPTkZMSUNUX0xPR19ERVNUX0FMTDsKKworCS8qIFVucmVjb2duaXplZCBzdHJpbmcu ICovCisJZXJlcG9ydChFUlJPUiwKKwkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVU RVJfVkFMVUUpLAorCQkJIGVycm1zZygidW5yZWNvZ25pemVkIGNvbmZsaWN0X2xvZ19kZXN0aW5h dGlvbiB2YWx1ZTogXCIlc1wiIiwgZGVzdCksCisJCQkgZXJyaGludCgiVmFsaWQgdmFsdWVzIGFy ZSBcImxvZ1wiLCBcInRhYmxlXCIsIGFuZCBcImFsbFwiLiIpKSk7Cit9CisKIC8qCiAgKiBHZXQg dGhlIHhtaW4gYW5kIGNvbW1pdCB0aW1lc3RhbXAgZGF0YSAob3JpZ2luIGFuZCB0aW1lc3RhbXAp IGFzc29jaWF0ZWQKICAqIHdpdGggdGhlIHByb3ZpZGVkIGxvY2FsIHJvdy4KZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0YWxvZy5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXRh bG9nLmgKaW5kZXggODE5MzIyOWYyZTIuLmNkMDU5NzRiODZjIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9jYXRhbG9nL2NhdGFsb2cuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL2NhdGFsb2cu aApAQCAtMjUsNyArMjUsNyBAQCBleHRlcm4gYm9vbCBJc0lucGxhY2VVcGRhdGVSZWxhdGlvbihS ZWxhdGlvbiByZWxhdGlvbik7CiAKIGV4dGVybiBib29sIElzU3lzdGVtQ2xhc3MoT2lkIHJlbGlk LCBGb3JtX3BnX2NsYXNzIHJlbHR1cGxlKTsKIGV4dGVybiBib29sIElzVG9hc3RDbGFzcyhGb3Jt X3BnX2NsYXNzIHJlbHR1cGxlKTsKLWV4dGVybiBib29sIElzQ29uZmxpY3RDbGFzcyhGb3JtX3Bn X2NsYXNzIHJlbHR1cGxlKTsKK2V4dGVybiBib29sIElzQ29uZmxpY3RMb2dUYWJsZUNsYXNzKEZv cm1fcGdfY2xhc3MgcmVsdHVwbGUpOwogCiBleHRlcm4gYm9vbCBJc0NhdGFsb2dSZWxhdGlvbk9p ZChPaWQgcmVsaWQpOwogZXh0ZXJuIGJvb2wgSXNDYXRhbG9nVGV4dFVuaXF1ZUluZGV4T2lkKE9p ZCByZWxpZCk7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlv bi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaAppbmRleCA1ZjIxNGQz NTg2Yi4uY2MzMWI0ZDAwYmMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vi c2NyaXB0aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaApA QCAtOTcsNiArOTcsMTQgQEAgQ0FUQUxPRyhwZ19zdWJzY3JpcHRpb24sNjEwMCxTdWJzY3JpcHRp b25SZWxhdGlvbklkKSBCS0lfU0hBUkVEX1JFTEFUSU9OIEJLSV9ST1cKIAogCU9pZCAgICAgICAg IHN1YmNvbmZsaWN0bG9ncmVsaWQ7IC8qIFJlbGlkIG9mIHRoZSBjb25mbGljdCBsb2cgdGFibGUu ICovCiAjaWZkZWYgQ0FUQUxPR19WQVJMRU4JCQkvKiB2YXJpYWJsZS1sZW5ndGggZmllbGRzIHN0 YXJ0IGhlcmUgKi8KKwkvKgorCSAqIFN0cmF0ZWd5IGZvciBsb2dnaW5nIHJlcGxpY2F0aW9uIGNv bmZsaWN0czoKKwkgKiAnbG9nJyAtIHNlcnZlciBsb2cgb25seSwKKwkgKiAndGFibGUnIC0gY29u ZmxpY3QgbG9nIHRhYmxlIG9ubHksCisJICogJ2FsbCcgLSBib3RoIGxvZyBhbmQgdGFibGUuCisJ ICovCisJdGV4dAkJc3ViY29uZmxpY3Rsb2dkZXN0IEJLSV9GT1JDRV9OT1RfTlVMTDsKKwogCS8q IENvbm5lY3Rpb24gc3RyaW5nIHRvIHRoZSBwdWJsaXNoZXIgKi8KIAl0ZXh0CQlzdWJjb25uaW5m bzsJLyogU2V0IGlmIGNvbm5lY3Rpbmcgd2l0aCBjb25uZWN0aW9uIHN0cmluZyAqLwogCkBAIC0x MTIsMTQgKzEyMCw2IEBAIENBVEFMT0cocGdfc3Vic2NyaXB0aW9uLDYxMDAsU3Vic2NyaXB0aW9u UmVsYXRpb25JZCkgQktJX1NIQVJFRF9SRUxBVElPTiBCS0lfUk9XCiAJLyogTGlzdCBvZiBwdWJs aWNhdGlvbnMgc3Vic2NyaWJlZCB0byAqLwogCXRleHQJCXN1YnB1YmxpY2F0aW9uc1sxXSBCS0lf Rk9SQ0VfTk9UX05VTEw7CiAKLQkvKgotCSAqIFN0cmF0ZWd5IGZvciBsb2dnaW5nIHJlcGxpY2F0 aW9uIGNvbmZsaWN0czoKLQkgKiAnbG9nJyAtIHNlcnZlciBsb2cgb25seSwKLQkgKiAndGFibGUn IC0gY29uZmxpY3QgbG9nIHRhYmxlIG9ubHksCi0JICogJ2FsbCcgLSBib3RoIGxvZyBhbmQgdGFi bGUuCi0JICovCi0JdGV4dAkJc3ViY29uZmxpY3Rsb2dkZXN0IEJLSV9GT1JDRV9OT1RfTlVMTDsK LQogCS8qIE9ubHkgcHVibGlzaCBkYXRhIG9yaWdpbmF0aW5nIGZyb20gdGhlIHNwZWNpZmllZCBv cmlnaW4gKi8KIAl0ZXh0CQlzdWJvcmlnaW4gQktJX0RFRkFVTFQoTE9HSUNBTFJFUF9PUklHSU5f QU5ZKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2NyaXB0 aW9uY21kcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5oCmluZGV4 IGE4OTUxMjdmOGZlLi42MzUwNDIzMmExNCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFu ZHMvc3Vic2NyaXB0aW9uY21kcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlw dGlvbmNtZHMuaApAQCAtMTcsNyArMTcsNiBAQAogCiAjaW5jbHVkZSAiY2F0YWxvZy9vYmplY3Rh ZGRyZXNzLmgiCiAjaW5jbHVkZSAicGFyc2VyL3BhcnNlX25vZGUuaCIKLSNpbmNsdWRlICJyZXBs aWNhdGlvbi9jb25mbGljdC5oIgogCiBleHRlcm4gT2JqZWN0QWRkcmVzcyBDcmVhdGVTdWJzY3Jp cHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10LAog CQkJCQkJCQkJCWJvb2wgaXNUb3BMZXZlbCk7CkBAIC0zNyw2ICszNiw0IEBAIGV4dGVybiB2b2lk IENoZWNrU3ViRGVhZFR1cGxlUmV0ZW50aW9uKGJvb2wgY2hlY2tfZ3VjLCBib29sIHN1Yl9kaXNh YmxlZCwKIAkJCQkJCQkJCSAgIGJvb2wgcmV0ZW50aW9uX2FjdGl2ZSwKIAkJCQkJCQkJCSAgIGJv b2wgbWF4X3JldGVudGlvbl9zZXQpOwogCi1leHRlcm4gQ29uZmxpY3RMb2dEZXN0IEdldExvZ0Rl c3RpbmF0aW9uKGNvbnN0IGNoYXIgKmRlc3QpOwotCiAjZW5kaWYJCQkJCQkJLyogU1VCU0NSSVBU SU9OQ01EU19IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGlj dC5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaAppbmRleCAwMGE5Y2JlYzI2 NC4uYzkyMjE2ZTJkZDUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZs aWN0LmgKKysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaApAQCAtOTQsMjMg Kzk0LDE4IEBAIHR5cGVkZWYgZW51bSBDb25mbGljdExvZ0Rlc3QKIAlDT05GTElDVF9MT0dfREVT VF9BTEwJCS8qIEJvdGggbG9nIGFuZCB0YWJsZSAqLwogfSBDb25mbGljdExvZ0Rlc3Q7CiAKKyNk ZWZpbmUgQ09ORkxJQ1RTX0xPR0dFRF9UT19UQUJMRShkZXN0KSBcCisJKChkZXN0ID09IENPTkZM SUNUX0xPR19ERVNUX1RBQkxFKSB8fCAoZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpKQor I2RlZmluZSBDT05GTElDVFNfTE9HR0VEX1RPX0ZJTEUoZGVzdCkgXAorCSgoZGVzdCA9PSBDT05G TElDVF9MT0dfREVTVF9MT0cpIHx8IChkZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX0FMTCkpCisK IC8qCiAgKiBBcnJheSBtYXBwaW5nIGZvciBjb252ZXJ0aW5nIGludGVybmFsIGVudW0gdG8gc3Ry aW5nLgogICovCiBleHRlcm4gUEdETExJTVBPUlQgY29uc3QgY2hhciAqY29uc3QgQ29uZmxpY3RM b2dEZXN0TmFtZXNbXTsKIAotLyogU3RydWN0dXJlIHRvIGhvbGQgbWV0YWRhdGEgZm9yIG9uZSBj b2x1bW4gb2YgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSAqLwotdHlwZWRlZiBzdHJ1Y3QgQ29uZmxp Y3RMb2dDb2x1bW5EZWYKLXsKLQljb25zdCBjaGFyICphdHRuYW1lOyAgICAvKiBDb2x1bW4gbmFt ZSAqLwotCU9pZCAgICAgICAgIGF0dHR5cGlkOyAgIC8qIERhdGEgdHlwZSBPSUQgKi8KLX0gQ29u ZmxpY3RMb2dDb2x1bW5EZWY7Ci0KLS8qIFRoZSBzaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0 aGUgY29uZmxpY3QgbG9nIHRhYmxlIHNjaGVtYSAqLwotZXh0ZXJuIFBHRExMSU1QT1JUIGNvbnN0 IENvbmZsaWN0TG9nQ29sdW1uRGVmIENvbmZsaWN0TG9nU2NoZW1hW107Ci0KLSNkZWZpbmUgTUFY X0NPTkZMSUNUX0FUVFJfTlVNIDExCi0KK2V4dGVybiBPaWQgY3JlYXRlX2NvbmZsaWN0X2xvZ190 YWJsZShPaWQgc3ViaWQsIGNoYXIgKnN1Ym5hbWUsIE9pZCBzdWJvd25lcik7CitleHRlcm4gQ29u ZmxpY3RMb2dEZXN0IEdldExvZ0Rlc3RpbmF0aW9uKGNvbnN0IGNoYXIgKmRlc3QpOwogZXh0ZXJu IGJvb2wgR2V0VHVwbGVUcmFuc2FjdGlvbkluZm8oVHVwbGVUYWJsZVNsb3QgKmxvY2Fsc2xvdCwK IAkJCQkJCQkJCVRyYW5zYWN0aW9uSWQgKnhtaW4sCiAJCQkJCQkJCQlSZXBsT3JpZ2luSWQgKmxv Y2Fsb3JpZ2luLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3Jp cHRpb24ub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0Cmlu ZGV4IDA4Y2JjOTc0M2Q4Li43YjY4YjUzYzkwMyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0 ZWQvc3Vic2NyaXB0aW9uLm91dApAQCAtMTI0LDE4ICsxMjQsMTggQEAgQ1JFQVRFIFNVQlNDUklQ VElPTiByZWdyZXNzX3Rlc3RzdWI0IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCcgUFUKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3Qg Y29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVh bGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24s IGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRS cysgcmVncmVzc190ZXN0c3ViNAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKLSAgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVu YWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21t aXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4g YXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXgg cmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tp cCBMU04gIHwgRGVzY3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGlj dCBsb2cgdGFibGUgCi0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YjQgfCByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwg ZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBub25lICAgfCB0ICAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2Zm ICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAg ICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAg ICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICAgTmFtZSAgICAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJl YW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBh c3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0 YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3Rp dmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBS ZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KKyByZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAg ICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgbm9uZSAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8 IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAw MDAwIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI0IFNF VCAob3JpZ2luID0gYW55KTsKIFxkUnMrIHJlZ3Jlc3NfdGVzdHN1YjQKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICAgTmFtZSAgICAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJl YW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBh c3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0 YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3Rp dmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBS ZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9n IGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAotLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3Rz dWI0IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg IHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAg fCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwg ZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAg fCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAg IE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1Ymxp Y2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUg b24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBG YWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVy YXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAg Q29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNj cmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxl bCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAg fCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAg ICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIzOwpAQCAtMjAwLDEwICsyMDAsMTAgQEAgQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdmb29iYXInOwogRVJST1I6ICBpbnZhbGlk IGNvbm5lY3Rpb24gc3RyaW5nIHN5bnRheDogbWlzc2luZyAiPSIgYWZ0ZXIgImZvb2JhciIgaW4g Y29ubmVjdGlvbiBpbmZvIHN0cmluZwogCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIg dGltZW91dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICB8IENvbmZsaWN0IGxvZyBk ZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rl c3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAg IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg ICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAg ICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAg fCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3Nf ZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNj cmlwdGlvbiB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0 ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBM U04gIHwgICAgRGVzY3JpcHRpb24gICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190 ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0g ICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg ICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAg ICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAw IHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgdGVzdCBzdWJz Y3JpcHRpb24KICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBT RVQgUFVCTElDQVRJT04gdGVzdHB1YjIsIHRlc3RwdWIzIFdJVEggKHJlZnJlc2ggPSBmYWxzZSk7 CkBAIC0yMTIsMTAgKzIxMiwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IFNFVCAoc2xvdF9uYW1lID0gJ25ld25hbWUnKTsKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWIgU0VUIChwYXNzd29yZF9yZXF1aXJlZCA9IGZhbHNlKTsKIEFMVEVSIFNVQlNDUklQ VElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChydW5fYXNfb3duZXIgPSB0cnVlKTsKIFxkUnMrCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJs aWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVy PyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAg fCAgICBEZXNjcmlwdGlvbiAgICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0 IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBm ICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IGFueSAgICB8IGYgICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICB8IGYgICAgICAgIHwg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYg ICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlw dGlvbiB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0 aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFi bGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFz ZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQg fCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMg fCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3Vz IGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0 IHwgIFNraXAgTFNOICB8ICAgIERlc2NyaXB0aW9uICAgIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBm ICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAg ICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgZiAgICAgICAgICAgICAg ICAgfCB0ICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAg ICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAtMSAgICAgICAgICAg ICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9uCiAoMSByb3cpCiAKIEFMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChwYXNzd29yZF9yZXF1aXJlZCA9IHRydWUp OwpAQCAtMjMxLDEwICsyMzEsMTAgQEAgRVJST1I6ICB1bnJlY29nbml6ZWQgc3Vic2NyaXB0aW9u IHBhcmFtZXRlcjogImNyZWF0ZV9zbG90IgogLS0gb2sKIEFMVEVSIFNVQlNDUklQVElPTiByZWdy ZXNzX3Rlc3RzdWIgU0tJUCAobHNuID0gJzAvMTIzNDUnKTsKIFxkUnMrCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAg fCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJv ciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVy IHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlw dGlvbiAgICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAK LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJh bGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwg LTEgICAgICAgICAgICAgICB8IDAvMDAwMTIzNDUgfCB0ZXN0IHN1YnNjcmlwdGlvbiB8IGxvZyAg ICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAg TmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1 YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBE aXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3du ZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50 aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNO ICB8ICAgIERlc2NyaXB0aW9uICAgIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJl Z3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8 IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAx MjM0NSB8IHRlc3Qgc3Vic2NyaXB0aW9uCiAoMSByb3cpCiAKIC0tIG9rIC0gd2l0aCBsc24gPSBO T05FCkBAIC0yNDMsMTAgKzI0MywxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViIFNLSVAgKGxzbiA9IE5PTkUpOwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YiBTS0lQIChsc24gPSAnMC8wJyk7CiBFUlJPUjogIGludmFsaWQgV0FMIGxvY2F0aW9uIChMU04p OiAwLzAKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVz IHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91 dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICB8IENvbmZsaWN0IGxvZyBkZXN0aW5h dGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVi Mix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCB0ZXN0IHN1YnNjcmlwdGlvbiB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVh bWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFz c3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRh aW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2 ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBS ZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8ICAgIERlc2NyaXB0aW9uICAgIAorLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBh cmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwg dCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBm ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAg ICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIg fCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9uCiAoMSBy b3cpCiAKIEJFR0lOOwpAQCAtMjgyLDEwICsyODIsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJl Z3Jlc3NfdGVzdHN1Yl9mb28gU0VUICh3YWxfcmVjZWl2ZXJfdGltZW91dCA9ICc4MHMnKTsKIEFM VEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWJfZm9vIFNFVCAod2FsX3JlY2VpdmVyX3Rp bWVvdXQgPSAnZm9vYmFyJyk7CiBFUlJPUjogIGludmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciAi d2FsX3JlY2VpdmVyX3RpbWVvdXQiOiAiZm9vYmFyIgogXGRScysKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICAgIE5hbWUgICAgICAgICB8 ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAg ICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVy cm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92 ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9u IHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25u aW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8ICAgIERlc2Ny aXB0aW9uICAgIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxl IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWJfZm9vIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAg ICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBh bnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAg ICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAg ICAgICAgICAgICAgIHwgbG9jYWwgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0MiB8IDgwcyAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgdGVzdCBzdWJzY3JpcHRp b24gfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0 aW9ucworICAgICAgICBOYW1lICAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28t cGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVp cmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVw bGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGlt ZW91dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICAKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViX2ZvbyB8IHJlZ3Jlc3Nfc3Vic2NyaXB0 aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFs bGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAg ICB8IGxvY2FsICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCA4 MHMgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9uCiAoMSByb3cp CiAKIC0tIHJlbmFtZSBiYWNrIHRvIGtlZXAgdGhlIHJlc3Qgc2ltcGxlCkBAIC0zMTQsMTkgKzMx NCwxOSBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQgogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3 YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBs aWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBl bmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVm cmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1 YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNl IGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8 IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8 IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMg Y29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8 ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENv bmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgdCAgICAgIHwgcGFyYWxsZWwg IHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwg b2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAg ICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAg ICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0 cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwg UGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBS ZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFj dGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8 IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAg ICAgfCB7dGVzdHB1Yn0gICB8IHQgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8 IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAw MDAwIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IChiaW5hcnkgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNF VCAoc2xvdF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9m IHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBo YXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJl ZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxl cyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25v dXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91 dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8 IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxs ZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAg IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEg ICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAg ICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2lu IHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIg fCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9u IGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAg ICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCistLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYg ICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAg ICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAw MDAwMDAwIHwgCiAoMSByb3cpCiAKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsK QEAgLTMzOCwyNyArMzM4LDI3IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5HOiAg c3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRv IGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxp Y2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNj cmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBP d25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1p bmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3 b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWlu IGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUg fCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNl aXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRl c3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8 IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAg ICAgfCBvbiAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFu eSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAg ICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAg ICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9n ICAgICAgICAgICAgICAgICAgICAgIHwgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUg ICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9u IHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJy b3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3Zl ciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24g fCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlv biAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlv bl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb24gICAgICAgIHwgZCAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAg ICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAg ICAgICB8IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jl c3NfdGVzdHN1YiBTRVQgKHN0cmVhbWluZyA9IHBhcmFsbGVsKTsKIFxkUnMrCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBT dHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8 IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3Qg bG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAotLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAg IHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgLQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAg IE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1Ymxp Y2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUg b24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBG YWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVy YXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAg Q29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNj cmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwg IHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwg b2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAg ICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9O IHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHN0cmVhbWluZyA9IGZhbHNlKTsKIEFMVEVSIFNVQlNDUklQ VElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8 ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5h cnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9y aWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2Vy dmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVu dGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAg ICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29u ZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAotLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jl c3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYg ICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAg ICAgICAgIHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgLQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMK KyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8 IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERp c2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25l cj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRp b24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAg ICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAg fCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNz X3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2Zm ICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0 ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAg ICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwg LTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAogLS0gZmFpbCAtIHB1 YmxpY2F0aW9uIGFscmVhZHkgZXhpc3RzCkBAIC0zNzMsMTAgKzM3MywxMCBAQCBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIEFERCBQVUJMSUNBVElPTiB0ZXN0cHViMSwgdGVzdHB1 YjIgV0lUSCAocmVmcgogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBBREQgUFVC TElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJVEggKHJlZnJlc2ggPSBmYWxzZSk7CiBFUlJP UjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViMSIgaXMgYWxyZWFkeSBpbiBzdWJzY3JpcHRpb24gInJl Z3Jlc3NfdGVzdHN1YiIKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBv ZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEVuYWJsZWQgfCAgICAgICAgIFB1YmxpY2F0aW9uICAgICAgICAgfCBCaW5hcnkgfCBT dHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8 IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3Qg bG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAotLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAg ICB8IHt0ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYgICAgICB8IG9mZiAgICAgICB8IGQg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAg ICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAg ICAgICAgfCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAg ICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgICAgIFB1YmxpY2F0aW9uICAg ICAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBv biBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZh aWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJh dGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2Ny aXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIg fCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViLHRlc3RwdWIx LHRlc3RwdWIyfSB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg IHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwg CiAoMSByb3cpCiAKIC0tIGZhaWwgLSBwdWJsaWNhdGlvbiB1c2VkIG1vcmUgdGhhbiBvbmNlCkBA IC0zOTEsMTAgKzM5MSwxMCBAQCBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViMyIgaXMgbm90 IGluIHN1YnNjcmlwdGlvbiAicmVncmVzc190ZXN0c3ViIgogLS0gb2sgLSBkZWxldGUgcHVibGlj YXRpb25zCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIERST1AgUFVCTElDQVRJ T04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJVEggKHJlZnJlc2ggPSBmYWxzZSk7CiBcZFJzKwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBP cmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNl cnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAg ICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENv bmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdy ZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHVifSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBm ICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAg ICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25z CisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQg fCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBE aXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3du ZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50 aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04g IHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9m ZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwg dCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBm ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAg ICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8 IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIERST1AgU1VCU0NS SVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsKQEAgLTQzMCwxOSArNDMwLDE5IEBAIENSRUFURSBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCcgUFVCCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMg bm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBt YW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0 aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4K IFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAg TmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGlj YXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBv biBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZh aWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJh dGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2Ny aXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAot LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAg ICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBwICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAw MDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgLQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1 YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNl IGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8 IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8 IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMg Y29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8 ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3Rz dWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwg ZiAgICAgIHwgcGFyYWxsZWwgIHwgcCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAg fCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8 ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBm ICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAog LS0gd2UgY2FuIGFsdGVyIHN0cmVhbWluZyB3aGVuIHR3b19waGFzZSBlbmFibGVkCiBBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gdHJ1ZSk7CiBcZFJz KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUg ICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9u IHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJy b3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3Zl ciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24g fCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlv biB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0K LSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb24gICAgICAgIHwgcCAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3Jp cHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVu YWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21t aXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4g YXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXgg cmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tp cCBMU04gIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwg cmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAg ICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55 ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAg ICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAg LTQ1MiwxMCArNDUyLDEwIEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENP Tk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5HOiAgc3Vi c2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGlu aXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0 aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlw dGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcg fCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3Jk IHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRl YWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBT eW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZl ciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3Rp bmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJl Z3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAg fCBvbiAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAg ICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAg IHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAg ICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAg ICAgICAgICAgICAgICAgICAgIHwgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwg QmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3Ig fCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8 IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBS ZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8g ICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAK Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91 c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb24gICAgICAgIHwgcCAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAg ICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAg ICB8IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpAQCAtNDY4LDE4ICs0NjgsMTggQEAgQ1JF QVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jl c3NfZG9lc25vdGV4aXN0JyBQVUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQs IGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlv dSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBz dWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGlj YXRpb25zLgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25z Ci0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQg fCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBE aXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3du ZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50 aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAg ICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04g IHwgRGVzY3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBsb2cg dGFibGUgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNl ciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAg fCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAt CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAg ICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBU d28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJl cXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQg dHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5j aHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0 aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jl c3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYg ICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAogKDEg cm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoZGlzYWJsZV9v bl9lcnJvciA9IHRydWUpOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJz Y3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8 IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBj b21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBS dW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBN YXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNv bW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAg U2tpcCBMU04gIHwgRGVzY3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25m bGljdCBsb2cgdGFibGUgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8 IGQgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9m ZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAg ICAgICAgICAgfCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAg ICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJl YW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBh c3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0 YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3Rp dmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBS ZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwg dCAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAw MCB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAo c2xvdF9uYW1lID0gTk9ORSk7CkBAIC00OTIsMTAgKzQ5MiwxMCBAQCBDUkVBVEUgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QnIFBVQgogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBj b25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFs bHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwg YW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJz KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUg ICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9u IHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJy b3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3Zl ciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24g fCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlv biB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0K LSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3Jp cHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVu YWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21t aXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4g YXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXgg cmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tp cCBMU04gIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwg cmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAg ICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55 ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAg ICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAg LTUwOSwxOSArNTA5LDE5IEBAIE5PVElDRTogIG1heF9yZXRlbnRpb25fZHVyYXRpb24gaXMgaW5l ZmZlY3RpdmUgd2hlbiByZXRhaW5fZGVhZF90dXBsZXMgaXMgZGlzYWJsCiBXQVJOSU5HOiAgc3Vi c2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGlu aXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0 aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlw dGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcg fCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3Jk IHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRl YWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBT eW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZl ciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3Rp bmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRhYmxlIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJl Z3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAg fCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAg ICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAg IHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgMTAwMCB8IGYgICAgICAg ICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAg ICAgICAgICAgICAgICAgICAgIHwgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwg QmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3Ig fCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8 IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBS ZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8g ICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAK Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91 c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgIDEwMDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAg ICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAg ICB8IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAogLS0gb2sKIEFMVEVSIFNVQlNDUklQVElPTiBy ZWdyZXNzX3Rlc3RzdWIgU0VUIChtYXhfcmV0ZW50aW9uX2R1cmF0aW9uID0gMCk7CiBcZFJzKwot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwg QmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3Ig fCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8 IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBS ZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8g ICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8 IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0 ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg fCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1l PXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAg ICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0 ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBM U04gIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAg IHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAg fCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAgLTU4 NSw3ICs1ODUsNyBAQCBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9IFdBUk5JTkc7CiBDUkVBVEUg U1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfZmFpbCBDT05ORUNUSU9OICdkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZh bHNlLCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnaW52YWxpZCcpOwogRVJST1I6ICB1bnJl Y29nbml6ZWQgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIHZhbHVlOiAiaW52YWxpZCIKIEhJTlQ6 ICBWYWxpZCB2YWx1ZXMgYXJlICJsb2ciLCAidGFibGUiLCBhbmQgImFsbCIuCi0tLSB2ZXJpZnkg c3ViY29uZmxpY3Rsb2dkZXN0IGlzICdsb2cnIGFuZCByZWxpZCBpcyAwIChJbnZhbGlkT2lkKSBm b3IgZGVmYXVsdCBjYXNlCistLSB2ZXJpZnkgc3ViY29uZmxpY3Rsb2dkZXN0IGlzICdsb2cnIGFu ZCBzdWJjb25mbGljdGxvZ3JlbGlkIGlzIDAgKEludmFsaWRPaWQpIGZvciBkZWZhdWx0IGNhc2UK IENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCBDT05ORUNU SU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lU SCAoY29ubmVjdCA9IGZhbHNlKTsKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQs IGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlv dSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBz dWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGlj YXRpb25zLgpAQCAtNjA3LDExICs2MDcsMTEgQEAgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUg c3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X2VtcHR5X3N0cic7CiAgcmVncmVzc19jb25mbGlj dF9lbXB0eV9zdHIgfCBsb2cgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAwCiAo MSByb3cpCiAKLS0tIHRoaXMgc2hvdWxkIGdlbmVyYXRlIGFuIGludGVybmFsIGNvbmZsaWN0IGxv ZyB0YWJsZSBuYW1lZCBwZ19jb25mbGljdF9sb2dfJHN1YmlkJAorLS0gdGhpcyBzaG91bGQgZ2Vu ZXJhdGUgYW4gY29uZmxpY3QgbG9nIHRhYmxlIG5hbWVkIHBnX2NvbmZsaWN0X2xvZ19mb3Jfc3Vi aWRfJHN1YmlkJAogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIENP Tk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1 YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICd0YWJs ZScpOwogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25u ZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkg Y3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5k IGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCi0tLSBjaGVj ayBtZXRhZGF0YSBpbiBwZ19zdWJzY3JpcHRpb246IGRlc3RpbmF0aW9uIHNob3VsZCBiZSAndGFi bGUnIGFuZCByZWxpZCB2YWxpZAorLS0gY2hlY2sgbWV0YWRhdGEgaW4gcGdfc3Vic2NyaXB0aW9u OiBkZXN0aW5hdGlvbiBzaG91bGQgYmUgJ3RhYmxlJyBhbmQgc3ViY29uZmxpY3Rsb2dyZWxpZCB2 YWxpZAogU0VMRUNUIHN1Ym5hbWUsIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dy ZWxpZCA+IDAgQVMgaGFzX3JlbGlkCiBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1l ID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnOwogICAgICAgICBzdWJuYW1lICAgICAgICAgfCBz dWJjb25mbGljdGxvZ2Rlc3QgfCBoYXNfcmVsaWQgCkBAIC02MjMsNyArNjIzLDcgQEAgRlJPTSBw Z19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJzsK IC0tIGFuZCBpdCBpcyBsb2NhdGVkIGluIHRoZSAncGdfY29uZmxpY3QnIG5hbWVzcGFjZQogU0VM RUNUIG4ubnNwbmFtZSwgKGMub2lkID0gcy5zdWJjb25mbGljdGxvZ3JlbGlkKSBBUyAib2lkX21h dGNoZXMiCiBGUk9NIHBnX2NsYXNzIGMKLUpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxu YW1lID0gJ3BnX2NvbmZsaWN0X2xvZ18nIHx8IHMub2lkCitKT0lOIHBnX3N1YnNjcmlwdGlvbiBz IE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfZm9yX3N1YmlkXycgfHwgcy5vaWQKIEpP SU4gcGdfbmFtZXNwYWNlIG4gT04gYy5yZWxuYW1lc3BhY2UgPSBuLm9pZAogV0hFUkUgcy5zdWJu YW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnOwogICAgbnNwbmFtZSAgIHwgb2lkX21hdGNo ZXMgCkBAIC02MzUsNyArNjM1LDcgQEAgV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxp Y3RfdGVzdDEnOwogU0VMRUNUIGEuYXR0bnVtLCBhLmF0dG5hbWUKIEZST00gcGdfYXR0cmlidXRl IGEKIEpPSU4gcGdfY2xhc3MgYyBPTiBhLmF0dHJlbGlkID0gYy5vaWQKLUpPSU4gcGdfc3Vic2Ny aXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ18nIHx8IHMub2lkCitKT0lO IHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfZm9yX3N1 YmlkXycgfHwgcy5vaWQKIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3Qx JyBBTkQgYS5hdHRudW0gPiAwCiAgICAgT1JERVIgQlkgYS5hdHRudW07CiAgYXR0bnVtIHwgICAg ICBhdHRuYW1lICAgICAgCkBAIC02NDgsOCArNjQ4LDggQEAgV0hFUkUgcy5zdWJuYW1lID0gJ3Jl Z3Jlc3NfY29uZmxpY3RfdGVzdDEnIEFORCBhLmF0dG51bSA+IDAKICAgICAgIDYgfCByZW1vdGVf Y29tbWl0X2xzbgogICAgICAgNyB8IHJlbW90ZV9jb21taXRfdHMKICAgICAgIDggfCByZW1vdGVf b3JpZ2luCi0gICAgICA5IHwgcmVwbGljYV9pZGVudGl0eQotICAgICAxMCB8IHJlbW90ZV90dXBs ZQorICAgICAgOSB8IHJlbW90ZV90dXBsZQorICAgICAxMCB8IHJlcGxpY2FfaWRlbnRpdHkKICAg ICAgMTEgfCBsb2NhbF9jb25mbGljdHMKICgxMSByb3dzKQogCkBAIC02OTYsNyArNjk2LDcgQEAg QUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEgT1dORVIgVE8gcmVncmVz c19zdWJzY3JpcHRpb25fdXNlcjsKIC0tIGV4cGVjdGVkCiAtLQogLS0gdHJhbnNpdGlvbiBmcm9t ICdsb2cnIHRvICdhbGwnCi0tLSBhIG5ldyBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUgc2hv dWxkIGJlIGNyZWF0ZWQKKy0tIGEgbmV3IGNvbmZsaWN0IGxvZyB0YWJsZSBzaG91bGQgYmUgY3Jl YXRlZAogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIENPTk5FQ1RJ T04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRI IChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICdsb2cnKTsKIFdB Uk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBI SU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0 aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0 aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgpAQCAtNzIxLDcgKzcyMSw3 IEBAIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGlj dF90ZXN0Mic7CiAoMSByb3cpCiAKIC0tIHRyYW5zaXRpb24gZnJvbSAndGFibGUnIHRvICdsb2cn Ci0tLSBzaG91bGQgZHJvcCB0aGUgdGFibGUgYW5kIGNsZWFyIHJlbGlkCistLSBzaG91bGQgZHJv cCB0aGUgdGFibGUgYW5kIGNsZWFyIHN1YmNvbmZsaWN0bG9ncmVsaWQKIEFMVEVSIFNVQlNDUklQ VElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIFNFVCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9u ID0gJ2xvZycpOwogU0VMRUNUIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dyZWxp ZAogRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0 X3Rlc3QyJzsKQEAgLTczMyw3ICs3MzMsNyBAQCBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBz dWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDInOwogLS0gdmVyaWZ5IHRoZSBwaHlzaWNh bCB0YWJsZSBpcyBnb25lCiBTRUxFQ1QgY291bnQoKikKIEZST00gcGdfY2xhc3MgYwotSk9JTiBw Z19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nXycgfHwgcy5v aWQKK0pPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xv Z19mb3Jfc3ViaWRfJyB8fCBzLm9pZAogV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxp Y3RfdGVzdDInOwogIGNvdW50IAogLS0tLS0tLQpAQCAtNzQzLDggKzc0Myw4IEBAIFdIRVJFIHMu c3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QyJzsKIC0tCiAtLSBQVUJMSUNBVElPTjog VmVyaWZ5IGNvbmZsaWN0IGxvZyB0YWJsZXMgYXJlIG5vdCBwdWJsaXNoYWJsZQogLS0KLS0tIHBn X3JlbGF0aW9uX2lzX3B1Ymxpc2hhYmxlIHNob3VsZCByZXR1cm4gZmFsc2UgZm9yIGludGVybmFs IGNvbmZsaWN0IGxvZwotLS0gdGFibGVzIHRvIHByZXZlbnQgdGhlbSBmcm9tIGJlaW5nIGFjY2lk ZW50YWxseSBpbmNsdWRlZCBpbiBwdWJsaWNhdGlvbnMKKy0tIHBnX3JlbGF0aW9uX2lzX3B1Ymxp c2hhYmxlIHNob3VsZCByZXR1cm4gZmFsc2UgZm9yIGNvbmZsaWN0IGxvZyB0YWJsZXMgdG8KKy0t IHByZXZlbnQgdGhlbSBmcm9tIGJlaW5nIGFjY2lkZW50YWxseSBpbmNsdWRlZCBpbiBwdWJsaWNh dGlvbnMKIC0tCiBTRUxFQ1Qgbi5uc3BuYW1lLCBwZ19yZWxhdGlvbl9pc19wdWJsaXNoYWJsZShj Lm9pZCkKIEZST00gcGdfY2xhc3MgYwpAQCAtNzY1LDcgKzc2NSw3IEBAIFdIRVJFIHMuc3VibmFt ZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJzsKIC0tCiAtLSByZS1lbmFibGUgdGFibGUgbG9n Z2luZyBmb3IgdmVyaWZpY2F0aW9uCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGlj dF90ZXN0MSBTRVQgKGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICd0YWJsZScpOwotLS0gV2Ug dXNlIGEgRE8gYmxvY2sgd2l0aCBkeW5hbWljIFNRTCBiZWNhdXNlIHRoZSBpbnRlcm5hbCBjb25m bGljdCBsb2cgdGFibGUKKy0tIFdlIHVzZSBhIERPIGJsb2NrIHdpdGggZHluYW1pYyBTUUwgYmVj YXVzZSB0aGUgY29uZmxpY3QgbG9nIHRhYmxlCiAtLSBuYW1lIGNvbnRhaW5zIHRoZSBzdWJzY3Jp cHRpb24gT0lELCB3aGljaCBpcyBub24tZGV0ZXJtaW5pc3RpYy4gVGhpcwogLS0gYXBwcm9hY2gg YWxsb3dzIHVzIHRvIGF0dGVtcHQgdGhlIERST1AgYW5kIGNhcHR1cmUgdGhlIGV4cGVjdGVkIGVy cm9yCiAtLSB3aXRob3V0IGhhcmQtY29kaW5nIGEgc3BlY2lmaWMgT0lEIGluIHRoZSBleHBlY3Rl ZCBvdXRwdXQKQEAgLTc3Myw3ICs3NzMsNyBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19j b25mbGljdF90ZXN0MSBTRVQgKGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICd0YWJsZQogU0VU IGNsaWVudF9taW5fbWVzc2FnZXMgPSBOT1RJQ0U7CiBETyAkJAogQkVHSU4KLSAgICBFWEVDVVRF ICdEUk9QIFRBQkxFICcgfHwgKFNFTEVDVCAncGdfY29uZmxpY3QucGdfY29uZmxpY3RfbG9nXycg fHwgb2lkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25m bGljdF90ZXN0MScpOworICAgIEVYRUNVVEUgJ0RST1AgVEFCTEUgJyB8fCAoU0VMRUNUICdwZ19j b25mbGljdC5wZ19jb25mbGljdF9sb2dfZm9yX3N1YmlkXycgfHwgb2lkIEZST00gcGdfc3Vic2Ny aXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MScpOwogRVhDRVBU SU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVOCiAgICAgUkFJU0UgTk9USUNFICdj YXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50X3ByaXZpbGVnZSc7CiBFTkQgJCQ7 CkBAIC03ODIsNyArNzgyLDggQEAgTk9USUNFOiAgY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IGlu c3VmZmljaWVudF9wcml2aWxlZ2UKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0 X3Rlc3QxIERJU0FCTEU7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0 MSBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwogLS0gVmVyaWZ5IHRoZSB0YWJsZSBPSUQgZm9yIHJl YXAgY2hlY2sKLVNFTEVDVCAncGdfY29uZmxpY3RfbG9nXycgfHwgb2lkIEFTIGludGVybmFsX3Rh YmxlbmFtZSBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29u ZmxpY3RfdGVzdDEnIFxnc2V0CitTRUxFQ1QgJ3BnX2NvbmZsaWN0LnBnX2NvbmZsaWN0X2xvZ19m b3Jfc3ViaWRfJyB8fCBvaWQgQVMgaW50ZXJuYWxfdGFibGVuYW1lIEZST00gcGdfc3Vic2NyaXB0 aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MScgXGdzZXQKK1NFVCBj bGllbnRfbWluX21lc3NhZ2VzID0gV0FSTklORzsKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf Y29uZmxpY3RfdGVzdDE7CiAtLSBzaG91bGQgcmV0dXJuIE5VTEwsIG1lYW5pbmcgdGhlIGNvbmZs aWN0IGxvZyB0YWJsZSB3YXMgcmVhcGVkIHZpYSBkZXBlbmRlbmN5CiBTRUxFQ1QgdG9fcmVnY2xh c3MoOidpbnRlcm5hbF90YWJsZW5hbWUnKTsKQEAgLTc5NCwxMyArNzk1LDEyIEBAIFNFTEVDVCB0 b19yZWdjbGFzcyg6J2ludGVybmFsX3RhYmxlbmFtZScpOwogLS0KIC0tIEFkZGl0aW9uYWwgTmFt ZXNwYWNlIGFuZCBUYWJsZSBQcm90ZWN0aW9uIFRlc3RzCiAtLQotU0VUIGNsaWVudF9taW5fbWVz c2FnZXMgPSBXQVJOSU5HOwogLS0gU2V0dXA6IEVuc3VyZSB3ZSBoYXZlIGEgc3Vic2NyaXB0aW9u IHdpdGggYSBjb25mbGljdCBsb2cgdGFibGUKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19j b25mbGljdF9wcm90ZWN0aW9uX3Rlc3QgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0JwogICAgIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBj b25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKIFdBUk5JTkc6ICBzdWJzY3JpcHRp b24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUg cmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xv dCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRv IHJlZnJlc2ggcHVibGljYXRpb25zLgotLS0gVHJ5aW5nIHRvIEFMVEVSIHRoZSBpbnRlcm5hbCBj b25mbGljdCBsb2cgdGFibGUKKy0tIFRyeWluZyB0byBBTFRFUiB0aGUgY29uZmxpY3QgbG9nIHRh YmxlCiAtLSBUaGlzIHNob3VsZCBmYWlsIGJlY2F1c2UgdGhlIHRhYmxlIGlzIHN5c3RlbS1tYW5h Z2VkCiAtLSBBcyBtZW50aW9uZWQgaW4gcHJldmlvdXMgdGVzdCBjYXNlcywgd2UgdXNlIGEgRE8g YmxvY2sgdG8gaGlkZSBkeW5hbWljIE9JRHMKIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gTk9U SUNFOwpAQCAtODA5LDE1ICs4MDksMTUgQEAgREVDTEFSRQogICAgIHRhYl9uYW1lIHRleHQ7CiBC RUdJTgogICAgIFNFTEVDVCAncGdfY29uZmxpY3QuJyB8fCByZWxuYW1lIElOVE8gdGFiX25hbWUK LSAgICBGUk9NIHBnX2NsYXNzIGMgSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUg PSAncGdfY29uZmxpY3RfbG9nXycgfHwgcy5vaWQKKyAgICBGUk9NIHBnX2NsYXNzIGMgSk9JTiBw Z19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJp ZF8nIHx8IHMub2lkCiAgICAgV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfcHJv dGVjdGlvbl90ZXN0JzsKIAotICAgIFJBSVNFIE5PVElDRSAnQXR0ZW1wdGluZyBBTFRFUiBUQUJM RSBvbiBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUnOworICAgIFJBSVNFIE5PVElDRSAnQXR0 ZW1wdGluZyBBTFRFUiBUQUJMRSBvbiBjb25mbGljdCBsb2cgdGFibGUnOwogICAgIEVYRUNVVEUg J0FMVEVSIFRBQkxFICcgfHwgdGFiX25hbWUgfHwgJyBBREQgQ09MVU1OIGV4dHJhX2luZm8gdGV4 dCc7CiBFWENFUFRJT04gV0hFTiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIFRIRU4KICAgICBSQUlT RSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdl IGR1cmluZyBBTFRFUic7CiBFTkQgJCQ7Ci1OT1RJQ0U6ICBBdHRlbXB0aW5nIEFMVEVSIFRBQkxF IG9uIGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJsZQorTk9USUNFOiAgQXR0ZW1wdGluZyBBTFRF UiBUQUJMRSBvbiBjb25mbGljdCBsb2cgdGFibGUKIE5PVElDRTogIGNhcHR1cmVkIGV4cGVjdGVk IGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIGR1cmluZyBBTFRFUgogLS0gVGVzdCBNYW51 YWwgSU5TRVJUIG9uIGNvbmZsaWN0IGxvZyB0YWJsZQogLS0gVGhpcyBzaG91bGQgZmFpbCBiZWNh dXNlIHRoZSB0YWJsZSBpcyBzeXN0ZW0tbWFuYWdlZApAQCAtODI3LDE0ICs4MjcsMTQgQEAgREVD TEFSRQogICAgIHRhYl9uYW1lIHRleHQ7CiBCRUdJTgogICAgIFNFTEVDVCAncGdfY29uZmxpY3Qu JyB8fCByZWxuYW1lIElOVE8gdGFiX25hbWUKLSAgICBGUk9NIHBnX2NsYXNzIGMgSk9JTiBwZ19z dWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nXycgfHwgcy5vaWQK KyAgICBGUk9NIHBnX2NsYXNzIGMgSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUg PSAncGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8nIHx8IHMub2lkCiAgICAgV0hFUkUgcy5zdWJu YW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfcHJvdGVjdGlvbl90ZXN0JzsKIAogICAgIEVYRUNVVEUg J0lOU0VSVCBJTlRPICcgfHwgdGFiX25hbWUgfHwgJyAocmVsbmFtZSkgVkFMVUVTICgnJ215dGVz dCcnKSc7Ci1FWENFUFRJT04gV0hFTiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIFRIRU4KLSAgICBS QUlTRSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmls ZWdlIGR1cmluZyBJTlNFUlQnOworRVhDRVBUSU9OIFdIRU4gd3Jvbmdfb2JqZWN0X3R5cGUgVEhF TgorICAgIFJBSVNFIE5PVElDRSAnY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IHdyb25nX29iamVj dF90eXBlIGR1cmluZyBJTlNFUlQnOwogRU5EICQkOwotTk9USUNFOiAgY2FwdHVyZWQgZXhwZWN0 ZWQgZXJyb3I6IGluc3VmZmljaWVudF9wcml2aWxlZ2UgZHVyaW5nIElOU0VSVAorTk9USUNFOiAg Y2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IHdyb25nX29iamVjdF90eXBlIGR1cmluZyBJTlNFUlQK IC0tIFRlc3QgTWFudWFsIFVQREFURSBvbiBjb25mbGljdCBsb2cgdGFibGUKIC0tIFRoaXMgc2hv dWxkIGZhaWwgYmVjYXVzZSB0aGUgdGFibGUgaXMgc3lzdGVtLW1hbmFnZWQKIC0tIEhpZGluZyB0 aGUgT0lEIGluIHRoZSBlcnJvciBtZXNzYWdlIGJ5IGNhdGNoaW5nIHRoZSBleGNlcHRpb24KQEAg LTg0MywxOSArODQzLDE5IEBAIERFQ0xBUkUKICAgICB0YWJfbmFtZSB0ZXh0OwogQkVHSU4KICAg ICBTRUxFQ1QgJ3BnX2NvbmZsaWN0LicgfHwgcmVsbmFtZSBJTlRPIHRhYl9uYW1lCi0gICAgRlJP TSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2Nv bmZsaWN0X2xvZ18nIHx8IHMub2lkCisgICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vic2Ny aXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ19mb3Jfc3ViaWRfJyB8fCBz Lm9pZAogICAgIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25f dGVzdCc7CiAKICAgICBFWEVDVVRFICdVUERBVEUgJyB8fCB0YWJfbmFtZSB8fCAnIFNFVCByZWxu YW1lID0gJydteXRlc3QnJyAnOwotRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVn ZSBUSEVOCi0gICAgUkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZm aWNpZW50X3ByaXZpbGVnZSBkdXJpbmcgVVBEQVRFJzsKK0VYQ0VQVElPTiBXSEVOIHdyb25nX29i amVjdF90eXBlIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVjdGVkIGVycm9y OiB3cm9uZ19vYmplY3RfdHlwZSBkdXJpbmcgVVBEQVRFJzsKIEVORCAkJDsKLU5PVElDRTogIGNh cHR1cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIGR1cmluZyBVUERB VEUKLS0tIFRyeWluZyB0byBwZXJmb3JtIFRSVU5DQVRFL0RFTEVURSBvbiB0aGUgaW50ZXJuYWwg Y29uZmxpY3QgbG9nIHRhYmxlCitOT1RJQ0U6ICBjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogd3Jv bmdfb2JqZWN0X3R5cGUgZHVyaW5nIFVQREFURQorLS0gVHJ5aW5nIHRvIHBlcmZvcm0gVFJVTkNB VEUvREVMRVRFIG9uIHRoZSBjb25mbGljdCBsb2cgdGFibGUKIC0tIFRoaXMgc2hvdWxkIGJlIGFs bG93ZWQgc28gdGhhdCB1c2VyIGNhbiBwZXJmb3JtIGNsZWFudXAKIFNFTEVDVCAncGdfY29uZmxp Y3QuJyB8fCByZWxuYW1lIEFTIGNvbmZsaWN0X3RhYgogRlJPTSBwZ19jbGFzcyBjCi1KT0lOIHBn X3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9p ZAorSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9n X2Zvcl9zdWJpZF8nIHx8IHMub2lkCiBXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGlj dF9wcm90ZWN0aW9uX3Rlc3QnIFxnc2V0CiBUUlVOQ0FURSA6Y29uZmxpY3RfdGFiOwogREVMRVRF IEZST00gOmNvbmZsaWN0X3RhYjsKQEAgLTg2MywxMyArODYzLDE0IEBAIERFTEVURSBGUk9NIDpj b25mbGljdF90YWI7CiAtLSBUaGlzIHNob3VsZCBmYWlsIGFzIHRoZSBuYW1lc3BhY2UgaXMgcmVz ZXJ2ZWQgZm9yIGNvbmZsaWN0IGxvZ3MgdGFibGVzCiBDUkVBVEUgVEFCTEUgcGdfY29uZmxpY3Qu bWFudWFsX3RhYmxlIChpZCBpbnQpOwogRVJST1I6ICBwZXJtaXNzaW9uIGRlbmllZCB0byBjcmVh dGUgInBnX2NvbmZsaWN0Lm1hbnVhbF90YWJsZSIKLURFVEFJTDogIFN5c3RlbSBjYXRhbG9nIG1v ZGlmaWNhdGlvbnMgYXJlIGN1cnJlbnRseSBkaXNhbGxvd2VkLgorREVUQUlMOiAgQ29uZmxpY3Qg c2NoZW1hIG1vZGlmaWNhdGlvbnMgYXJlIGN1cnJlbnRseSBkaXNhbGxvd2VkLgogLS0gTW92aW5n IGFuIGV4aXN0aW5nIHRhYmxlIGludG8gdGhlIHBnX2NvbmZsaWN0IG5hbWVzcGFjZQogLS0gVXNl cnMgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIG1vdmUgdGhlaXIgb3duIHRhYmxlcyB3aXRoaW4gdGhp cyBuYW1lc3BhY2UKIENSRUFURSBUQUJMRSBwdWJsaWMudGVzdF9tb3ZlIChpZCBpbnQpOwogQUxU RVIgVEFCTEUgcHVibGljLnRlc3RfbW92ZSBTRVQgU0NIRU1BIHBnX2NvbmZsaWN0OwotRVJST1I6 ICBjYW5ub3QgbW92ZSBvYmplY3RzIGludG8gb3Igb3V0IG9mIENPTkZMSUNUIHNjaGVtYQorRVJS T1I6ICBjYW5ub3QgbW92ZSBvYmplY3RzIGludG8gb3Igb3V0IG9mIHRoZSBjb25mbGljdCBzY2hl bWEKIERST1AgVEFCTEUgcHVibGljLnRlc3RfbW92ZTsKK1NFVCBjbGllbnRfbWluX21lc3NhZ2Vz ID0gV0FSTklORzsKIC0tIENsZWFuIHVwIHJlbWFpbmluZyB0ZXN0IHN1YnNjcmlwdGlvbgogQUxU RVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfbG9nX2RlZmF1bHQgRElTQUJMRTsKIEFM VEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2xvZ19kZWZhdWx0IFNFVCAoc2xvdF9u YW1lID0gTk9ORSk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRp b24uc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbAppbmRleCA3Y2Jl M2UxZjcwNi4uMmEyMTM1NzY3ZjggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1 YnNjcmlwdGlvbi5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNx bApAQCAtNDQyLDcgKzQ0Miw3IEBAIFNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gV0FSTklORzsK IC0tIGZhaWwgLSB1bnJlY29nbml6ZWQgcGFyYW1ldGVyIHZhbHVlCiBDUkVBVEUgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfY29uZmxpY3RfZmFpbCBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBjb25m bGljdF9sb2dfZGVzdGluYXRpb24gPSAnaW52YWxpZCcpOwogCi0tLSB2ZXJpZnkgc3ViY29uZmxp Y3Rsb2dkZXN0IGlzICdsb2cnIGFuZCByZWxpZCBpcyAwIChJbnZhbGlkT2lkKSBmb3IgZGVmYXVs dCBjYXNlCistLSB2ZXJpZnkgc3ViY29uZmxpY3Rsb2dkZXN0IGlzICdsb2cnIGFuZCBzdWJjb25m bGljdGxvZ3JlbGlkIGlzIDAgKEludmFsaWRPaWQpIGZvciBkZWZhdWx0IGNhc2UKIENSRUFURSBT VUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCBDT05ORUNUSU9OICdkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVj dCA9IGZhbHNlKTsKIFNFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZs aWN0bG9ncmVsaWQKIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVz c19jb25mbGljdF9sb2dfZGVmYXVsdCc7CkBAIC00NTIsMTAgKzQ1MiwxMCBAQCBDUkVBVEUgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfZW1wdHlfc3RyIENPTk5FQ1RJT04gJ2RibmFtZT1y ZWdyZXNzX2RvZXNubwogU0VMRUNUIHN1Ym5hbWUsIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29u ZmxpY3Rsb2dyZWxpZAogRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdy ZXNzX2NvbmZsaWN0X2VtcHR5X3N0cic7CiAKLS0tIHRoaXMgc2hvdWxkIGdlbmVyYXRlIGFuIGlu dGVybmFsIGNvbmZsaWN0IGxvZyB0YWJsZSBuYW1lZCBwZ19jb25mbGljdF9sb2dfJHN1YmlkJAor LS0gdGhpcyBzaG91bGQgZ2VuZXJhdGUgYW4gY29uZmxpY3QgbG9nIHRhYmxlIG5hbWVkIHBnX2Nv bmZsaWN0X2xvZ19mb3Jfc3ViaWRfJHN1YmlkJAogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNz X2NvbmZsaWN0X3Rlc3QxIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcg UFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19k ZXN0aW5hdGlvbiA9ICd0YWJsZScpOwogCi0tLSBjaGVjayBtZXRhZGF0YSBpbiBwZ19zdWJzY3Jp cHRpb246IGRlc3RpbmF0aW9uIHNob3VsZCBiZSAndGFibGUnIGFuZCByZWxpZCB2YWxpZAorLS0g Y2hlY2sgbWV0YWRhdGEgaW4gcGdfc3Vic2NyaXB0aW9uOiBkZXN0aW5hdGlvbiBzaG91bGQgYmUg J3RhYmxlJyBhbmQgc3ViY29uZmxpY3Rsb2dyZWxpZCB2YWxpZAogU0VMRUNUIHN1Ym5hbWUsIHN1 YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dyZWxpZCA+IDAgQVMgaGFzX3JlbGlkCiBG Uk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVz dDEnOwogCkBAIC00NjMsNyArNDYzLDcgQEAgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3Vi bmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJzsKIC0tIGFuZCBpdCBpcyBsb2NhdGVkIGlu IHRoZSAncGdfY29uZmxpY3QnIG5hbWVzcGFjZQogU0VMRUNUIG4ubnNwbmFtZSwgKGMub2lkID0g cy5zdWJjb25mbGljdGxvZ3JlbGlkKSBBUyAib2lkX21hdGNoZXMiCiBGUk9NIHBnX2NsYXNzIGMK LUpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ18n IHx8IHMub2lkCitKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25m bGljdF9sb2dfZm9yX3N1YmlkXycgfHwgcy5vaWQKIEpPSU4gcGdfbmFtZXNwYWNlIG4gT04gYy5y ZWxuYW1lc3BhY2UgPSBuLm9pZAogV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3Rf dGVzdDEnOwogCkBAIC00NzEsNyArNDcxLDcgQEAgV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3Nf Y29uZmxpY3RfdGVzdDEnOwogU0VMRUNUIGEuYXR0bnVtLCBhLmF0dG5hbWUKIEZST00gcGdfYXR0 cmlidXRlIGEKIEpPSU4gcGdfY2xhc3MgYyBPTiBhLmF0dHJlbGlkID0gYy5vaWQKLUpPSU4gcGdf c3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ18nIHx8IHMub2lk CitKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2df Zm9yX3N1YmlkXycgfHwgcy5vaWQKIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0 X3Rlc3QxJyBBTkQgYS5hdHRudW0gPiAwCiAgICAgT1JERVIgQlkgYS5hdHRudW07CiAKQEAgLTUx NCw3ICs1MTQsNyBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBP V05FUiBUTyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyOwogLS0gZXhwZWN0ZWQKIC0tCiAtLSB0 cmFuc2l0aW9uIGZyb20gJ2xvZycgdG8gJ2FsbCcKLS0tIGEgbmV3IGludGVybmFsIGNvbmZsaWN0 IGxvZyB0YWJsZSBzaG91bGQgYmUgY3JlYXRlZAorLS0gYSBuZXcgY29uZmxpY3QgbG9nIHRhYmxl IHNob3VsZCBiZSBjcmVhdGVkCiBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3Rf dGVzdDIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElP TiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9u ID0gJ2xvZycpOwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDIgU0VU IChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnYWxsJyk7CiAKQEAgLTUzMCw3ICs1MzAsNyBA QCBTRUxFQ1Qgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGljdGxvZ3JlbGlkID0gOm9sZF9y ZWxpZCBBUyByZWxpZF91bmNoYW5nZWQKIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5h bWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7CiAKIC0tIHRyYW5zaXRpb24gZnJvbSAndGFi bGUnIHRvICdsb2cnCi0tLSBzaG91bGQgZHJvcCB0aGUgdGFibGUgYW5kIGNsZWFyIHJlbGlkCist LSBzaG91bGQgZHJvcCB0aGUgdGFibGUgYW5kIGNsZWFyIHN1YmNvbmZsaWN0bG9ncmVsaWQKIEFM VEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIFNFVCAoY29uZmxpY3RfbG9n X2Rlc3RpbmF0aW9uID0gJ2xvZycpOwogU0VMRUNUIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29u ZmxpY3Rsb2dyZWxpZAogRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdy ZXNzX2NvbmZsaWN0X3Rlc3QyJzsKQEAgLTUzOCwxNCArNTM4LDE0IEBAIEZST00gcGdfc3Vic2Ny aXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7CiAtLSB2ZXJp ZnkgdGhlIHBoeXNpY2FsIHRhYmxlIGlzIGdvbmUKIFNFTEVDVCBjb3VudCgqKQogRlJPTSBwZ19j bGFzcyBjCi1KT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGlj dF9sb2dfJyB8fCBzLm9pZAorSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAn cGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8nIHx8IHMub2lkCiBXSEVSRSBzLnN1Ym5hbWUgPSAn cmVncmVzc19jb25mbGljdF90ZXN0Mic7CiAKIC0tCiAtLSBQVUJMSUNBVElPTjogVmVyaWZ5IGNv bmZsaWN0IGxvZyB0YWJsZXMgYXJlIG5vdCBwdWJsaXNoYWJsZQogLS0KLS0tIHBnX3JlbGF0aW9u X2lzX3B1Ymxpc2hhYmxlIHNob3VsZCByZXR1cm4gZmFsc2UgZm9yIGludGVybmFsIGNvbmZsaWN0 IGxvZwotLS0gdGFibGVzIHRvIHByZXZlbnQgdGhlbSBmcm9tIGJlaW5nIGFjY2lkZW50YWxseSBp bmNsdWRlZCBpbiBwdWJsaWNhdGlvbnMKKy0tIHBnX3JlbGF0aW9uX2lzX3B1Ymxpc2hhYmxlIHNo b3VsZCByZXR1cm4gZmFsc2UgZm9yIGNvbmZsaWN0IGxvZyB0YWJsZXMgdG8KKy0tIHByZXZlbnQg dGhlbSBmcm9tIGJlaW5nIGFjY2lkZW50YWxseSBpbmNsdWRlZCBpbiBwdWJsaWNhdGlvbnMKIC0t CiBTRUxFQ1Qgbi5uc3BuYW1lLCBwZ19yZWxhdGlvbl9pc19wdWJsaXNoYWJsZShjLm9pZCkKIEZS T00gcGdfY2xhc3MgYwpAQCAtNTYzLDcgKzU2Myw3IEBAIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdy ZXNzX2NvbmZsaWN0X3Rlc3QxJzsKIC0tIHJlLWVuYWJsZSB0YWJsZSBsb2dnaW5nIGZvciB2ZXJp ZmljYXRpb24KIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIFNFVCAo Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlJyk7CiAKLS0tIFdlIHVzZSBhIERPIGJs b2NrIHdpdGggZHluYW1pYyBTUUwgYmVjYXVzZSB0aGUgaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRh YmxlCistLSBXZSB1c2UgYSBETyBibG9jayB3aXRoIGR5bmFtaWMgU1FMIGJlY2F1c2UgdGhlIGNv bmZsaWN0IGxvZyB0YWJsZQogLS0gbmFtZSBjb250YWlucyB0aGUgc3Vic2NyaXB0aW9uIE9JRCwg d2hpY2ggaXMgbm9uLWRldGVybWluaXN0aWMuIFRoaXMKIC0tIGFwcHJvYWNoIGFsbG93cyB1cyB0 byBhdHRlbXB0IHRoZSBEUk9QIGFuZCBjYXB0dXJlIHRoZSBleHBlY3RlZCBlcnJvcgogLS0gd2l0 aG91dCBoYXJkLWNvZGluZyBhIHNwZWNpZmljIE9JRCBpbiB0aGUgZXhwZWN0ZWQgb3V0cHV0CkBA IC01NzIsNyArNTcyLDcgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVz dDEgU0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUKIFNFVCBjbGllbnRfbWlu X21lc3NhZ2VzID0gTk9USUNFOwogRE8gJCQKIEJFR0lOCi0gICAgRVhFQ1VURSAnRFJPUCBUQUJM RSAnIHx8IChTRUxFQ1QgJ3BnX2NvbmZsaWN0LnBnX2NvbmZsaWN0X2xvZ18nIHx8IG9pZCBGUk9N IHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEn KTsKKyAgICBFWEVDVVRFICdEUk9QIFRBQkxFICcgfHwgKFNFTEVDVCAncGdfY29uZmxpY3QucGdf Y29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8nIHx8IG9pZCBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVS RSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnKTsKIEVYQ0VQVElPTiBXSEVOIGlu c3VmZmljaWVudF9wcml2aWxlZ2UgVEhFTgogICAgIFJBSVNFIE5PVElDRSAnY2FwdHVyZWQgZXhw ZWN0ZWQgZXJyb3I6IGluc3VmZmljaWVudF9wcml2aWxlZ2UnOwogRU5EICQkOwpAQCAtNTgyLDgg KzU4Miw5IEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIERJU0FC TEU7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBTRVQgKHNsb3Rf bmFtZSA9IE5PTkUpOwogCiAtLSBWZXJpZnkgdGhlIHRhYmxlIE9JRCBmb3IgcmVhcCBjaGVjawot U0VMRUNUICdwZ19jb25mbGljdF9sb2dfJyB8fCBvaWQgQVMgaW50ZXJuYWxfdGFibGVuYW1lIEZS T00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0 MScgXGdzZXQKK1NFTEVDVCAncGdfY29uZmxpY3QucGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8n IHx8IG9pZCBBUyBpbnRlcm5hbF90YWJsZW5hbWUgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUg c3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJyBcZ3NldAogCitTRVQgY2xpZW50X21p bl9tZXNzYWdlcyA9IFdBUk5JTkc7CiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0 X3Rlc3QxOwogCiAtLSBzaG91bGQgcmV0dXJuIE5VTEwsIG1lYW5pbmcgdGhlIGNvbmZsaWN0IGxv ZyB0YWJsZSB3YXMgcmVhcGVkIHZpYSBkZXBlbmRlbmN5CkBAIC01OTMsMTIgKzU5NCwxMSBAQCBT RUxFQ1QgdG9fcmVnY2xhc3MoOidpbnRlcm5hbF90YWJsZW5hbWUnKTsKIC0tIEFkZGl0aW9uYWwg TmFtZXNwYWNlIGFuZCBUYWJsZSBQcm90ZWN0aW9uIFRlc3RzCiAtLQogCi1TRVQgY2xpZW50X21p bl9tZXNzYWdlcyA9IFdBUk5JTkc7CiAtLSBTZXR1cDogRW5zdXJlIHdlIGhhdmUgYSBzdWJzY3Jp cHRpb24gd2l0aCBhIGNvbmZsaWN0IGxvZyB0YWJsZQogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdy ZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdCBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QnCiAgICAgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFs c2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICd0YWJsZScpOwogCi0tLSBUcnlpbmcgdG8g QUxURVIgdGhlIGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJsZQorLS0gVHJ5aW5nIHRvIEFMVEVS IHRoZSBjb25mbGljdCBsb2cgdGFibGUKIC0tIFRoaXMgc2hvdWxkIGZhaWwgYmVjYXVzZSB0aGUg dGFibGUgaXMgc3lzdGVtLW1hbmFnZWQKIC0tIEFzIG1lbnRpb25lZCBpbiBwcmV2aW91cyB0ZXN0 IGNhc2VzLCB3ZSB1c2UgYSBETyBibG9jayB0byBoaWRlIGR5bmFtaWMgT0lEcwogCkBAIC02MDgs MTAgKzYwOCwxMCBAQCBERUNMQVJFCiAgICAgdGFiX25hbWUgdGV4dDsKIEJFR0lOCiAgICAgU0VM RUNUICdwZ19jb25mbGljdC4nIHx8IHJlbG5hbWUgSU5UTyB0YWJfbmFtZQotICAgIEZST00gcGdf Y2xhc3MgYyBKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGlj dF9sb2dfJyB8fCBzLm9pZAorICAgIEZST00gcGdfY2xhc3MgYyBKT0lOIHBnX3N1YnNjcmlwdGlv biBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfZm9yX3N1YmlkXycgfHwgcy5vaWQK ICAgICBXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF9wcm90ZWN0aW9uX3Rlc3Qn OwogCi0gICAgUkFJU0UgTk9USUNFICdBdHRlbXB0aW5nIEFMVEVSIFRBQkxFIG9uIGludGVybmFs IGNvbmZsaWN0IGxvZyB0YWJsZSc7CisgICAgUkFJU0UgTk9USUNFICdBdHRlbXB0aW5nIEFMVEVS IFRBQkxFIG9uIGNvbmZsaWN0IGxvZyB0YWJsZSc7CiAgICAgRVhFQ1VURSAnQUxURVIgVEFCTEUg JyB8fCB0YWJfbmFtZSB8fCAnIEFERCBDT0xVTU4gZXh0cmFfaW5mbyB0ZXh0JzsKIEVYQ0VQVElP TiBXSEVOIGluc3VmZmljaWVudF9wcml2aWxlZ2UgVEhFTgogICAgIFJBSVNFIE5PVElDRSAnY2Fw dHVyZWQgZXhwZWN0ZWQgZXJyb3I6IGluc3VmZmljaWVudF9wcml2aWxlZ2UgZHVyaW5nIEFMVEVS JzsKQEAgLTYyNSwxMiArNjI1LDEyIEBAIERFQ0xBUkUKICAgICB0YWJfbmFtZSB0ZXh0OwogQkVH SU4KICAgICBTRUxFQ1QgJ3BnX2NvbmZsaWN0LicgfHwgcmVsbmFtZSBJTlRPIHRhYl9uYW1lCi0g ICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0g J3BnX2NvbmZsaWN0X2xvZ18nIHx8IHMub2lkCisgICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdf c3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ19mb3Jfc3ViaWRf JyB8fCBzLm9pZAogICAgIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Byb3Rl Y3Rpb25fdGVzdCc7CiAKICAgICBFWEVDVVRFICdJTlNFUlQgSU5UTyAnIHx8IHRhYl9uYW1lIHx8 ICcgKHJlbG5hbWUpIFZBTFVFUyAoJydteXRlc3QnJyknOwotRVhDRVBUSU9OIFdIRU4gaW5zdWZm aWNpZW50X3ByaXZpbGVnZSBUSEVOCi0gICAgUkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3Rl ZCBlcnJvcjogaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBkdXJpbmcgSU5TRVJUJzsKK0VYQ0VQVElP TiBXSEVOIHdyb25nX29iamVjdF90eXBlIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1cmVk IGV4cGVjdGVkIGVycm9yOiB3cm9uZ19vYmplY3RfdHlwZSBkdXJpbmcgSU5TRVJUJzsKIEVORCAk JDsKIAogLS0gVGVzdCBNYW51YWwgVVBEQVRFIG9uIGNvbmZsaWN0IGxvZyB0YWJsZQpAQCAtNjQx LDE5ICs2NDEsMTkgQEAgREVDTEFSRQogICAgIHRhYl9uYW1lIHRleHQ7CiBCRUdJTgogICAgIFNF TEVDVCAncGdfY29uZmxpY3QuJyB8fCByZWxuYW1lIElOVE8gdGFiX25hbWUKLSAgICBGUk9NIHBn X2NsYXNzIGMgSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxp Y3RfbG9nXycgfHwgcy5vaWQKKyAgICBGUk9NIHBnX2NsYXNzIGMgSk9JTiBwZ19zdWJzY3JpcHRp b24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8nIHx8IHMub2lk CiAgICAgV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfcHJvdGVjdGlvbl90ZXN0 JzsKIAogICAgIEVYRUNVVEUgJ1VQREFURSAnIHx8IHRhYl9uYW1lIHx8ICcgU0VUIHJlbG5hbWUg PSAnJ215dGVzdCcnICc7Ci1FWENFUFRJT04gV0hFTiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIFRI RU4KLSAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2ll bnRfcHJpdmlsZWdlIGR1cmluZyBVUERBVEUnOworRVhDRVBUSU9OIFdIRU4gd3Jvbmdfb2JqZWN0 X3R5cGUgVEhFTgorICAgIFJBSVNFIE5PVElDRSAnY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IHdy b25nX29iamVjdF90eXBlIGR1cmluZyBVUERBVEUnOwogRU5EICQkOwogCi0tLSBUcnlpbmcgdG8g cGVyZm9ybSBUUlVOQ0FURS9ERUxFVEUgb24gdGhlIGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJs ZQorLS0gVHJ5aW5nIHRvIHBlcmZvcm0gVFJVTkNBVEUvREVMRVRFIG9uIHRoZSBjb25mbGljdCBs b2cgdGFibGUKIC0tIFRoaXMgc2hvdWxkIGJlIGFsbG93ZWQgc28gdGhhdCB1c2VyIGNhbiBwZXJm b3JtIGNsZWFudXAKIFNFTEVDVCAncGdfY29uZmxpY3QuJyB8fCByZWxuYW1lIEFTIGNvbmZsaWN0 X3RhYgogRlJPTSBwZ19jbGFzcyBjCi1KT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFt ZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBP TiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8nIHx8IHMub2lkCiBXSEVS RSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF9wcm90ZWN0aW9uX3Rlc3QnIFxnc2V0CiBU UlVOQ0FURSA6Y29uZmxpY3RfdGFiOwogREVMRVRFIEZST00gOmNvbmZsaWN0X3RhYjsKQEAgLTY2 OCw2ICs2NjgsOCBAQCBDUkVBVEUgVEFCTEUgcHVibGljLnRlc3RfbW92ZSAoaWQgaW50KTsKIEFM VEVSIFRBQkxFIHB1YmxpYy50ZXN0X21vdmUgU0VUIFNDSEVNQSBwZ19jb25mbGljdDsKIERST1Ag VEFCTEUgcHVibGljLnRlc3RfbW92ZTsKIAorU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSBXQVJO SU5HOworCiAtLSBDbGVhbiB1cCByZW1haW5pbmcgdGVzdCBzdWJzY3JpcHRpb24KIEFMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2xvZ19kZWZhdWx0IERJU0FCTEU7CiBBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCBTRVQgKHNsb3RfbmFtZSA9 IE5PTkUpOwotLSAKMi40OS4wCgo= --000000000000c198600653048635 Content-Type: application/octet-stream; name="v43-0003-Implement-the-conflict-insertion-infrastructure-.patch" Content-Disposition: attachment; filename="v43-0003-Implement-the-conflict-insertion-infrastructure-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mps2ouva2 RnJvbSA3ZWQ5OGM4N2JmMGQ4ZDIxYTY3ZmZmOGFhMWE0ZWU5NmUwMWViZTc3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogU2F0LCAzMCBNYXkgMjAyNiAxMzozNTowNCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjQz IDMvNV0gSW1wbGVtZW50IHRoZSBjb25mbGljdCBpbnNlcnRpb24gaW5mcmFzdHJ1Y3R1cmUgZm9y IAogdGhlIGNvbmZsaWN0IGxvZyB0YWJsZQoKVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBjb3Jl IGxvZ2ljIHRvIHBvcHVsYXRlIHRoZSBjb25mbGljdCBsb2cgdGFibGUgd2hlbmV2ZXIKYSBsb2dp Y2FsIHJlcGxpY2F0aW9uIGNvbmZsaWN0IGlzIGRldGVjdGVkLiBJdCBjYXB0dXJlcyB0aGUgcmVt b3RlIHRyYW5zYWN0aW9uCmRldGFpbHMgYWxvbmcgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBsb2Nh bCBzdGF0ZSBhdCB0aGUgdGltZSBvZiB0aGUgY29uZmxpY3QuCgpIYW5kbGluZyBNdWx0aS1yb3cg Q29uZmxpY3RzOiBBIHNpbmdsZSByZW1vdGUgdHVwbGUgbWF5IGNvbmZsaWN0IHdpdGggbXVsdGlw bGUKbG9jYWwgdHVwbGVzIChlLmcuLCBpbiB0aGUgY2FzZSBvZiBtdWx0aXBsZV91bmlxdWVfY29u ZmxpY3RzKS4gVG8gaGFuZGxlIHRoaXMsCnRoZSBpbmZyYXN0cnVjdHVyZSBjcmVhdGVzIGEgc2lu Z2xlIHJvdyBpbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlIGZvciBlYWNoCnJlbW90ZSB0dXBsZS4g VGhlIGRldGFpbHMgb2YgYWxsIGNvbmZsaWN0aW5nIGxvY2FsIHJvd3MgYXJlIGFnZ3JlZ2F0ZWQg aW50byBhCnNpbmdsZSBKU09OIGFycmF5IGluIHRoZSBsb2NhbF9jb25mbGljdHMgY29sdW1uLgoK VGhlIEpTT04gYXJyYXkgdXNlcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZWQgZm9ybWF0OgpbIHsg InhpZCI6ICIxMDAxIiwgImNvbW1pdF90cyI6ICIyMDI1LTEyLTI1IDEwOjAwOjAwKzA1OjMwIiwg Im9yaWdpbiI6ICJub2RlXzEiLAoia2V5IjogeyJpZCI6IDF9LCAidHVwbGUiOiB7ImlkIjogMSwg InZhbCI6ICJvbGRfZGF0YSJ9IH0sIC4uLiBdCgpFeGFtcGxlIG9mIHF1ZXJ5aW5nIHRoZSBzdHJ1 Y3R1cmVkIGNvbmZsaWN0IGRhdGE6CgpTRUxFQ1QgcmVtb3RlX3hpZCwgcmVsbmFtZSwgcmVtb3Rl X29yaWdpbiwgbG9jYWxfY29uZmxpY3RzWzFdIC0+PiAneGlkJyBBUyBsb2NhbF94aWQsCiAgICAg ICBsb2NhbF9jb25mbGljdHNbMV0gLT4+ICd0dXBsZScgQVMgbG9jYWxfdHVwbGUKRlJPTSBwZ19j b25mbGljdC5wZ19jb25mbGljdF9sb2dfZm9yX3N1YmlkXzE2Mzk2OwoKIHJlbW90ZV94aWQgfCBy ZWxuYW1lICB8IHJlbW90ZV9vcmlnaW4gfCBsb2NhbF94aWQgfCAgICAgbG9jYWxfdHVwbGUKLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLQogICAgICAgIDc2MCB8IHRlc3QgICAgIHwgcGdfMTY0MDYgICAgICB8IDc3 MSAgICAgICB8IHsiYSI6MSwiYiI6MTB9CiAgICAgICAgNzY1IHwgY29uZl90YWIgfCBwZ18xNjQw NiAgICAgIHwgNzc1ICAgICAgIHwgeyJhIjoyLCJiIjoyLCJjIjoyfQotLS0KIHNyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyB8IDU1NCArKysrKysrKysrKysrKysrKysr LS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvbGF1bmNoZXIuYyB8ICAgMSArCiBz cmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jICAgfCAgMzEgKy0KIHNyYy9p bmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmggICAgICAgICB8ICAgMiArCiBzcmMvaW5jbHVk ZS9yZXBsaWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaCAgfCAgIDcgKwogc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDM1X2NvbmZsaWN0cy5wbCAgIHwgIDQ3ICstCiA2IGZpbGVzIGNoYW5nZWQsIDU5 NyBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL2NvbmZsaWN0LmMKaW5kZXggZDgxZGQyYzBiNGEuLjRhZTkzMTJlMWMzIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKKysrIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCkBAIC0xNiw2ICsxNiw3 IEBACiAKICNpbmNsdWRlICJhY2Nlc3MvY29tbWl0X3RzLmgiCiAjaW5jbHVkZSAiYWNjZXNzL2dl bmFtLmgiCisjaW5jbHVkZSAiYWNjZXNzL2hlYXBhbS5oIgogI2luY2x1ZGUgImFjY2Vzcy90YWJs ZWFtLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9kZXBlbmRlbmN5LmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9oZWFwLmgiCkBAIC0yNCwxMSArMjUsMTcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3RvYXN0aW5n LmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5oIgogI2luY2x1ZGUgImV4 ZWN1dG9yL2V4ZWN1dG9yLmgiCisjaW5jbHVkZSAiZnVuY2FwaS5oIgogI2luY2x1ZGUgInBnc3Rh dC5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL2NvbmZsaWN0LmgiCiAjaW5jbHVkZSAicmVwbGlj YXRpb24vd29ya2VyX2ludGVybmFsLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCisjaW5j bHVkZSAidXRpbHMvYXJyYXkuaCIKKyNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgorI2luY2x1 ZGUgInV0aWxzL2ZtZ3JvaWRzLmgiCiAjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiCisjaW5j bHVkZSAidXRpbHMvcGdfbHNuLmgiCisjaW5jbHVkZSAidXRpbHMvanNvbi5oIgogCiAvKgogICog U3RyaW5nIHJlcHJlc2VudGF0aW9ucyBmb3IgdGhlIHN1cHBvcnRlZCBjb25mbGljdCBsb2dnaW5n IGRlc3RpbmF0aW9ucy4KQEAgLTg1LDYgKzkyLDE4IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25z dCBDb25mbGljdFR5cGVOYW1lc1tdID0gewogCVtDVF9NVUxUSVBMRV9VTklRVUVfQ09ORkxJQ1RT XSA9ICJtdWx0aXBsZV91bmlxdWVfY29uZmxpY3RzIgogfTsKIAorLyogU2NoZW1hIGZvciB0aGUg ZWxlbWVudHMgd2l0aGluIHRoZSAnbG9jYWxfY29uZmxpY3RzJyBKU09OIGFycmF5ICovCitzdGF0 aWMgY29uc3QgQ29uZmxpY3RMb2dDb2x1bW5EZWYgTG9jYWxDb25mbGljdFNjaGVtYVtdID0KK3sK Kwl7IC5hdHRuYW1lID0gInhpZCIsICAgICAgIC5hdHR0eXBpZCA9IFhJRE9JRCB9LAorCXsgLmF0 dG5hbWUgPSAiY29tbWl0X3RzIiwgLmF0dHR5cGlkID0gVElNRVNUQU1QVFpPSUQgfSwKKwl7IC5h dHRuYW1lID0gIm9yaWdpbiIsICAgIC5hdHR0eXBpZCA9IFRFWFRPSUQgfSwKKwl7IC5hdHRuYW1l ID0gImtleSIsICAgICAgIC5hdHR0eXBpZCA9IEpTT05PSUQgfSwKKwl7IC5hdHRuYW1lID0gInR1 cGxlIiwgICAgIC5hdHR0eXBpZCA9IEpTT05PSUQgfQorfTsKKworI2RlZmluZSBNQVhfTE9DQUxf Q09ORkxJQ1RfSU5GT19BVFRSUyBsZW5ndGhvZihMb2NhbENvbmZsaWN0U2NoZW1hKQorCiBzdGF0 aWMgaW50CWVycmNvZGVfYXBwbHlfY29uZmxpY3QoQ29uZmxpY3RUeXBlIHR5cGUpOwogc3RhdGlj IHZvaWQgZXJyZGV0YWlsX2FwcGx5X2NvbmZsaWN0KEVTdGF0ZSAqZXN0YXRlLAogCQkJCQkJCQkJ IFJlc3VsdFJlbEluZm8gKnJlbGluZm8sCkBAIC0xMDEsOCArMTIwLDI3IEBAIHN0YXRpYyB2b2lk IGdldF90dXBsZV9kZXNjKEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAog CQkJCQkJICAgVHVwbGVUYWJsZVNsb3QgKnJlbW90ZXNsb3QsIGNoYXIgKipyZW1vdGVfZGVzYywK IAkJCQkJCSAgIFR1cGxlVGFibGVTbG90ICpzZWFyY2hzbG90LCBjaGFyICoqc2VhcmNoX2Rlc2Ms CiAJCQkJCQkgICBPaWQgaW5kZXhvaWQpOworc3RhdGljIHZvaWQgYnVpbGRfaW5kZXhfZGF0dW1z X2Zyb21fc2xvdChFU3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gbG9jYWxyZWwsCisJCQkJCQkJCQkJ IFR1cGxlVGFibGVTbG90ICpzbG90LAorCQkJCQkJCQkJCSBSZWxhdGlvbiBpbmRleERlc2MsIERh dHVtICp2YWx1ZXMsCisJCQkJCQkJCQkJIGJvb2wgKmlzbnVsbCk7CiBzdGF0aWMgY2hhciAqYnVp bGRfaW5kZXhfdmFsdWVfZGVzYyhFU3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gbG9jYWxyZWwsCiAJ CQkJCQkJCQlUdXBsZVRhYmxlU2xvdCAqc2xvdCwgT2lkIGluZGV4b2lkKTsKK3N0YXRpYyBEYXR1 bSB0dXBsZV90YWJsZV9zbG90X3RvX2pzb25fZGF0dW0oVHVwbGVUYWJsZVNsb3QgKnNsb3QpOwor c3RhdGljIERhdHVtIHR1cGxlX3RhYmxlX3Nsb3RfdG9faW5kZXh0dXBfanNvbihFU3RhdGUgKmVz dGF0ZSwKKwkJCQkJCQkJCQkJICAgUmVsYXRpb24gbG9jYWxyZWwsCisJCQkJCQkJCQkJCSAgIE9p ZCByZXBsaWNhX2luZGV4LAorCQkJCQkJCQkJCQkgICBUdXBsZVRhYmxlU2xvdCAqc2xvdCk7Citz dGF0aWMgVHVwbGVEZXNjIGJ1aWxkX2NvbmZsaWN0X3R1cGxlZGVzYyh2b2lkKTsKK3N0YXRpYyBE YXR1bSBidWlsZF9sb2NhbF9jb25mbGljdHNfanNvbl9hcnJheShFU3RhdGUgKmVzdGF0ZSwgUmVs YXRpb24gcmVsLAorCQkJCQkJCQkJCQkgIENvbmZsaWN0VHlwZSBjb25mbGljdF90eXBlLAorCQkJ CQkJCQkJCQkgIExpc3QgKmNvbmZsaWN0dHVwbGVzKTsKK3N0YXRpYyB2b2lkIHByZXBhcmVfY29u ZmxpY3RfbG9nX3R1cGxlKEVTdGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiByZWwsCisJCQkJCQkJCQkg ICBSZWxhdGlvbiBjb25mbGljdGxvZ3JlbCwKKwkJCQkJCQkJCSAgIENvbmZsaWN0VHlwZSBjb25m bGljdF90eXBlLAorCQkJCQkJCQkJICAgVHVwbGVUYWJsZVNsb3QgKnNlYXJjaHNsb3QsCisJCQkJ CQkJCQkgICBMaXN0ICpjb25mbGljdHR1cGxlcywKKwkJCQkJCQkJCSAgIFR1cGxlVGFibGVTbG90 ICpyZW1vdGVzbG90KTsKIAogLyoKICAqIEJ1aWxkcyB0aGUgVHVwbGVEZXNjIGZvciB0aGUgY29u ZmxpY3QgbG9nIHRhYmxlLgpAQCAtMjg0LDMwICszMjIsOTIgQEAgUmVwb3J0QXBwbHlDb25mbGlj dChFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywgaW50IGVsZXZlbCwKIAkJ CQkJQ29uZmxpY3RUeXBlIHR5cGUsIFR1cGxlVGFibGVTbG90ICpzZWFyY2hzbG90LAogCQkJCQlU dXBsZVRhYmxlU2xvdCAqcmVtb3Rlc2xvdCwgTGlzdCAqY29uZmxpY3R0dXBsZXMpCiB7Ci0JUmVs YXRpb24JbG9jYWxyZWwgPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7Ci0JU3RyaW5nSW5mb0Rh dGEgZXJyX2RldGFpbDsKKwlSZWxhdGlvbgkJbG9jYWxyZWwgPSByZWxpbmZvLT5yaV9SZWxhdGlv bkRlc2M7CisJQ29uZmxpY3RMb2dEZXN0CWRlc3Q7CisJUmVsYXRpb24JCWNvbmZsaWN0bG9ncmVs OworCWJvb2wJCQlsb2dfZGVzdF9jbHQgPSBmYWxzZTsKKwlib29sIAkJCWxvZ19kZXN0X2xvZ2Zp bGU7CiAKLQlpbml0U3RyaW5nSW5mbygmZXJyX2RldGFpbCk7CisJcGdzdGF0X3JlcG9ydF9zdWJz Y3JpcHRpb25fY29uZmxpY3QoTXlTdWJzY3JpcHRpb24tPm9pZCwgdHlwZSk7CiAKLQkvKiBGb3Jt IGVycmRldGFpbCBtZXNzYWdlIGJ5IGNvbWJpbmluZyBjb25mbGljdGluZyB0dXBsZXMgaW5mb3Jt YXRpb24uICovCi0JZm9yZWFjaF9wdHIoQ29uZmxpY3RUdXBsZUluZm8sIGNvbmZsaWN0dHVwbGUs IGNvbmZsaWN0dHVwbGVzKQotCQllcnJkZXRhaWxfYXBwbHlfY29uZmxpY3QoZXN0YXRlLCByZWxp bmZvLCB0eXBlLCBzZWFyY2hzbG90LAotCQkJCQkJCQkgY29uZmxpY3R0dXBsZS0+c2xvdCwgcmVt b3Rlc2xvdCwKLQkJCQkJCQkJIGNvbmZsaWN0dHVwbGUtPmluZGV4b2lkLAotCQkJCQkJCQkgY29u ZmxpY3R0dXBsZS0+eG1pbiwKLQkJCQkJCQkJIGNvbmZsaWN0dHVwbGUtPm9yaWdpbiwKLQkJCQkJ CQkJIGNvbmZsaWN0dHVwbGUtPnRzLAotCQkJCQkJCQkgJmVycl9kZXRhaWwpOworCS8qCisJICog R2V0IHRoZSBjb25mbGljdCBsb2cgZGVzdGluYXRpb24uIEFsc28sIChpZiB0aGVyZSBpcyBvbmUp IHJldHVybiB0aGUKKwkgKiBDTFQgcmVsYXRpb24gYWxyZWFkeSBvcGVuZWQgYW5kIHJlYWR5IGZv ciBpbnNlcnRpb24uCisJICovCisJY29uZmxpY3Rsb2dyZWwgPSBHZXRDb25mbGljdExvZ0Rlc3RB bmRUYWJsZSgmZGVzdCk7CiAKLQlwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9jb25mbGljdChN eVN1YnNjcmlwdGlvbi0+b2lkLCB0eXBlKTsKKwlpZiAoZGVzdCA9PSBDT05GTElDVF9MT0dfREVT VF9UQUJMRSB8fCBkZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX0FMTCkKKwkJbG9nX2Rlc3RfY2x0 ID0gdHJ1ZTsKKwlpZiAoZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9MT0cgfHwgZGVzdCA9PSBD T05GTElDVF9MT0dfREVTVF9BTEwpCisJCWxvZ19kZXN0X2xvZ2ZpbGUgPSB0cnVlOwogCi0JZXJl cG9ydChlbGV2ZWwsCi0JCQllcnJjb2RlX2FwcGx5X2NvbmZsaWN0KHR5cGUpLAotCQkJZXJybXNn KCJjb25mbGljdCBkZXRlY3RlZCBvbiByZWxhdGlvbiBcIiVzLiVzXCI6IGNvbmZsaWN0PSVzIiwK LQkJCQkgICBnZXRfbmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UobG9jYWxyZWwp KSwKLQkJCQkgICBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShsb2NhbHJlbCksCi0JCQkJICAgQ29u ZmxpY3RUeXBlTmFtZXNbdHlwZV0pLAotCQkJZXJyZGV0YWlsX2ludGVybmFsKCIlcyIsIGVycl9k ZXRhaWwuZGF0YSkpOworCS8qIEluc2VydCB0byB0YWJsZSBpZiByZXF1ZXN0ZWQuICovCisJaWYg KGxvZ19kZXN0X2NsdCkKKwl7CisJCUFzc2VydChjb25mbGljdGxvZ3JlbCAhPSBOVUxMKTsKKwor CQkvKgorCQkgKiBQcmVwYXJlIHRoZSBjb25mbGljdCBsb2cgdHVwbGUuIElmIHRoZSBlcnJvciBs ZXZlbCBpcyBiZWxvdyBFUlJPUiwKKwkJICogaW5zZXJ0IGl0IGltbWVkaWF0ZWx5LiBPdGhlcndp c2UsIGRlZmVyIHRoZSBpbnNlcnRpb24gdG8gYSBuZXcKKwkJICogdHJhbnNhY3Rpb24gYWZ0ZXIg dGhlIGN1cnJlbnQgb25lIGFib3J0cywgZW5zdXJpbmcgdGhlIGluc2VydGlvbiBvZgorCQkgKiB0 aGUgbG9nIHR1cGxlIGlzIG5vdCByb2xsZWQgYmFjay4KKwkJICovCisJCXByZXBhcmVfY29uZmxp Y3RfbG9nX3R1cGxlKGVzdGF0ZSwKKwkJCQkJCQkJICAgcmVsaW5mby0+cmlfUmVsYXRpb25EZXNj LAorCQkJCQkJCQkgICBjb25mbGljdGxvZ3JlbCwKKwkJCQkJCQkJICAgdHlwZSwKKwkJCQkJCQkJ ICAgc2VhcmNoc2xvdCwKKwkJCQkJCQkJICAgY29uZmxpY3R0dXBsZXMsCisJCQkJCQkJCSAgIHJl bW90ZXNsb3QpOworCQlpZiAoZWxldmVsIDwgRVJST1IpCisJCQlJbnNlcnRDb25mbGljdExvZ1R1 cGxlKGNvbmZsaWN0bG9ncmVsKTsKKworCQlpZiAoIWxvZ19kZXN0X2xvZ2ZpbGUpCisJCXsKKwkJ CS8qCisJCQkgKiBOb3QgbG9nZ2luZyBjb25mbGljdCBkZXRhaWxzIHRvIHRoZSBzZXJ2ZXIgbG9n OyBSZXBvcnQgdGhlIGVycm9yCisJCQkgKiBtc2cgYnV0IG9taXQgcmF3IHR1cGxlIGRhdGEgZnJv bSBzZXJ2ZXIgbG9ncyBzaW5jZSBpdCdzIGFscmVhZHkKKwkJCSAqIGNhcHR1cmVkIGluIHRoZSBj b25mbGljdCBsb2cgdGFibGUuCisJCQkgKi8KKwkJCWVyZXBvcnQoZWxldmVsLAorCQkJCQllcnJj b2RlX2FwcGx5X2NvbmZsaWN0KHR5cGUpLAorCQkJCQllcnJtc2coImNvbmZsaWN0IGRldGVjdGVk IG9uIHJlbGF0aW9uIFwiJXMuJXNcIjogY29uZmxpY3Q9JXMiLAorCQkJCQkJZ2V0X25hbWVzcGFj ZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKGxvY2FscmVsKSksCisJCQkJCQlSZWxhdGlvbkdl dFJlbGF0aW9uTmFtZShsb2NhbHJlbCksCisJCQkJCQlDb25mbGljdFR5cGVOYW1lc1t0eXBlXSks CisJCQkJCWVycmRldGFpbCgiQ29uZmxpY3QgZGV0YWlscyBhcmUgbG9nZ2VkIHRvIHRoZSBjb25m bGljdCBsb2cgdGFibGU6ICVzIiwKKwkJCQkJCQkgIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGNv bmZsaWN0bG9ncmVsKSkpOworCQl9CisKKwkJdGFibGVfY2xvc2UoY29uZmxpY3Rsb2dyZWwsIFJv d0V4Y2x1c2l2ZUxvY2spOworCX0KKworCS8qIExvZyBpbnRvIHRoZSBzZXJ2ZXIgbG9nIGlmIHJl cXVlc3RlZC4gKi8KKwlpZiAobG9nX2Rlc3RfbG9nZmlsZSkKKwl7CisJCVN0cmluZ0luZm9EYXRh CWVycl9kZXRhaWw7CisKKwkJaW5pdFN0cmluZ0luZm8oJmVycl9kZXRhaWwpOworCisJCS8qIEZv cm0gZXJyZGV0YWlsIG1lc3NhZ2UgYnkgY29tYmluaW5nIGNvbmZsaWN0aW5nIHR1cGxlcyBpbmZv cm1hdGlvbi4gKi8KKwkJZm9yZWFjaF9wdHIoQ29uZmxpY3RUdXBsZUluZm8sIGNvbmZsaWN0dHVw bGUsIGNvbmZsaWN0dHVwbGVzKQorCQkJZXJyZGV0YWlsX2FwcGx5X2NvbmZsaWN0KGVzdGF0ZSwg cmVsaW5mbywgdHlwZSwgc2VhcmNoc2xvdCwKKwkJCQkJCQkJCWNvbmZsaWN0dHVwbGUtPnNsb3Qs IHJlbW90ZXNsb3QsCisJCQkJCQkJCQljb25mbGljdHR1cGxlLT5pbmRleG9pZCwKKwkJCQkJCQkJ CWNvbmZsaWN0dHVwbGUtPnhtaW4sCisJCQkJCQkJCQljb25mbGljdHR1cGxlLT5vcmlnaW4sCisJ CQkJCQkJCQljb25mbGljdHR1cGxlLT50cywKKwkJCQkJCQkJCSZlcnJfZGV0YWlsKTsKKworCQkv KiBTdGFuZGFyZCByZXBvcnRpbmcgd2l0aCBmdWxsIGludGVybmFsIGRldGFpbHMuICovCisJCWVy ZXBvcnQoZWxldmVsLAorCQkJCWVycmNvZGVfYXBwbHlfY29uZmxpY3QodHlwZSksCisJCQkJZXJy bXNnKCJjb25mbGljdCBkZXRlY3RlZCBvbiByZWxhdGlvbiBcIiVzLiVzXCI6IGNvbmZsaWN0PSVz IiwKKwkJCQkJICAgZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKGxvY2Fs cmVsKSksCisJCQkJCSAgIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGxvY2FscmVsKSwKKwkJCQkJ ICAgQ29uZmxpY3RUeXBlTmFtZXNbdHlwZV0pLAorCQkJCWVycmRldGFpbF9pbnRlcm5hbCgiJXMi LCBlcnJfZGV0YWlsLmRhdGEpKTsKKwl9CiB9CiAKIC8qCkBAIC0zNDEsNiArNDQxLDU4IEBAIElu aXRDb25mbGljdEluZGV4ZXMoUmVzdWx0UmVsSW5mbyAqcmVsSW5mbykKIAlyZWxJbmZvLT5yaV9v bkNvbmZsaWN0QXJiaXRlckluZGV4ZXMgPSB1bmlxdWVJbmRleGVzOwogfQogCisvKgorICogR2V0 Q29uZmxpY3RMb2dEZXN0QW5kVGFibGUKKyAqCisgKiBGZXRjaGVzIGNvbmZsaWN0IGxvZ2dpbmcg bWV0YWRhdGEgZnJvbSB0aGUgY2FjaGVkIE15U3Vic2NyaXB0aW9uIHBvaW50ZXIuCisgKiBTZXRz IHRoZSBkZXN0aW5hdGlvbiBlbnVtIGluICpsb2dfZGVzdCBhbmQsIGlmIGFwcGxpY2FibGUsIG9w ZW5zIGFuZAorICogcmV0dXJucyB0aGUgcmVsYXRpb24gaGFuZGxlIGZvciB0aGUgY29uZmxpY3Qg bG9nIHRhYmxlLgorICovCitSZWxhdGlvbgorR2V0Q29uZmxpY3RMb2dEZXN0QW5kVGFibGUoQ29u ZmxpY3RMb2dEZXN0ICpsb2dfZGVzdCkKK3sKKwlPaWQJCQljb25mbGljdGxvZ3JlbGlkOworCisJ LyoKKwkgKiBDb252ZXJ0IHRoZSB0ZXh0IGxvZyBkZXN0aW5hdGlvbiB0byB0aGUgaW50ZXJuYWwg ZW51bS4gIE15U3Vic2NyaXB0aW9uCisJICogYWxyZWFkeSBjb250YWlucyB0aGUgZGF0YSBmcm9t IHBnX3N1YnNjcmlwdGlvbi4KKwkgKi8KKwkqbG9nX2Rlc3QgPSBHZXRMb2dEZXN0aW5hdGlvbihN eVN1YnNjcmlwdGlvbi0+Y29uZmxpY3Rsb2dkZXN0KTsKKworCS8qIFF1aWNrIGV4aXQgaWYgYSBj b25mbGljdCBsb2cgdGFibGUgd2FzIG5vdCByZXF1ZXN0ZWQuICovCisJaWYgKCpsb2dfZGVzdCA9 PSBDT05GTElDVF9MT0dfREVTVF9MT0cpCisJCXJldHVybiBOVUxMOworCisJY29uZmxpY3Rsb2dy ZWxpZCA9IE15U3Vic2NyaXB0aW9uLT5jb25mbGljdGxvZ3JlbGlkOworCisJQXNzZXJ0KE9pZElz VmFsaWQoY29uZmxpY3Rsb2dyZWxpZCkpOworCisJcmV0dXJuIHRhYmxlX29wZW4oY29uZmxpY3Rs b2dyZWxpZCwgUm93RXhjbHVzaXZlTG9jayk7Cit9CisKKy8qCisgKiBJbnNlcnRDb25mbGljdExv Z1R1cGxlCisgKgorICogSW5zZXJ0IGNvbmZsaWN0IGxvZyB0dXBsZSBpbnRvIHRoZSBjb25mbGlj dCBsb2cgdGFibGUuIEl0IHVzZXMKKyAqIEhFQVBfSU5TRVJUX05PX0xPR0lDQUwgdG8gZXhwbGlj aXRseSBibG9jayBsb2dpY2FsIGRlY29kaW5nIG9mIHRoZSB0dXBsZQorICogaW5zZXJ0ZWQgaW50 byB0aGUgY29uZmxpY3QgbG9nIHRhYmxlLgorICovCit2b2lkCitJbnNlcnRDb25mbGljdExvZ1R1 cGxlKFJlbGF0aW9uIGNvbmZsaWN0bG9ncmVsKQoreworCWludAkJCW9wdGlvbnMgPSBIRUFQX0lO U0VSVF9OT19MT0dJQ0FMOworCisJLyogQSB2YWxpZCB0dXBsZSBtdXN0IGJlIHByZXBhcmVkIGFu ZCBzdG9yZWQgaW4gTXlMb2dpY2FsUmVwV29ya2VyLiAqLworCUFzc2VydChNeUxvZ2ljYWxSZXBX b3JrZXItPmNvbmZsaWN0X2xvZ190dXBsZSAhPSBOVUxMKTsKKworCWhlYXBfaW5zZXJ0KGNvbmZs aWN0bG9ncmVsLCBNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190dXBsZSwKKwkJCQlH ZXRDdXJyZW50Q29tbWFuZElkKHRydWUpLCBvcHRpb25zLCBOVUxMKTsKKworCS8qIEZyZWUgY29u ZmxpY3QgbG9nIHR1cGxlLiAqLworCWhlYXBfZnJlZXR1cGxlKE15TG9naWNhbFJlcFdvcmtlci0+ Y29uZmxpY3RfbG9nX3R1cGxlKTsKKwlNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190 dXBsZSA9IE5VTEw7Cit9CisKIC8qCiAgKiBBZGQgU1FMU1RBVEUgZXJyb3IgY29kZSB0byB0aGUg Y3VycmVudCBjb25mbGljdCByZXBvcnQuCiAgKi8KQEAgLTc3NCw2ICs5MjYsNDAgQEAgZ2V0X3R1 cGxlX2Rlc2MoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8sIENvbmZsaWN0 VHlwZSB0eXBlLAogCX0KIH0KIAorLyoKKyAqIEhlbHBlciBmdW5jdGlvbiB0byBleHRyYWN0IHRo ZSAicmF3IiBpbmRleCBrZXkgRGF0dW1zIGFuZCB0aGVpciBudWxsIGZsYWdzCisgKiBmcm9tIGEg VHVwbGVUYWJsZVNsb3QsIGdpdmVuIGFuIGFscmVhZHkgb3BlbiBpbmRleCBkZXNjcmlwdG9yLgor ICogVGhpcyBpcyB0aGUgcmV1c2FibGUgY29yZSBsb2dpYy4KKyAqLworc3RhdGljIHZvaWQKK2J1 aWxkX2luZGV4X2RhdHVtc19mcm9tX3Nsb3QoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2Fs cmVsLAorCQkJCQkJCSBUdXBsZVRhYmxlU2xvdCAqc2xvdCwKKwkJCQkJCQkgUmVsYXRpb24gaW5k ZXhEZXNjLCBEYXR1bSAqdmFsdWVzLAorCQkJCQkJCSBib29sICppc251bGwpCit7CisJVHVwbGVU YWJsZVNsb3QgKnRhYmxlc2xvdCA9IHNsb3Q7CisKKwkvKgorCSAqIElmIHRoZSBzbG90IGlzIGEg dmlydHVhbCBzbG90LCBjb3B5IGl0IGludG8gYSBoZWFwIHR1cGxlIHNsb3QgYXMKKwkgKiBGb3Jt SW5kZXhEYXR1bSBvbmx5IHdvcmtzIHdpdGggaGVhcCB0dXBsZSBzbG90cy4KKwkgKi8KKwlpZiAo VFRTX0lTX1ZJUlRVQUwoc2xvdCkpCisJeworCQkvKiBTbG90IGlzIGNyZWF0ZWQgd2l0aGluIHRo ZSBFU3RhdGUncyB0dXBsZSB0YWJsZSAqLworCQl0YWJsZXNsb3QgPSB0YWJsZV9zbG90X2NyZWF0 ZShsb2NhbHJlbCwgJmVzdGF0ZS0+ZXNfdHVwbGVUYWJsZSk7CisJCXRhYmxlc2xvdCA9IEV4ZWND b3B5U2xvdCh0YWJsZXNsb3QsIHNsb3QpOworCX0KKworCS8qCisJICogSW5pdGlhbGl6ZSBlY3h0 X3NjYW50dXBsZSBmb3IgcG90ZW50aWFsIHVzZSBpbiBGb3JtSW5kZXhEYXR1bQorCSAqLworCUdl dFBlclR1cGxlRXhwckNvbnRleHQoZXN0YXRlKS0+ZWN4dF9zY2FudHVwbGUgPSB0YWJsZXNsb3Q7 CisKKwkvKiBGb3JtIHRoZSBpbmRleCBkYXR1bXMgKi8KKwlGb3JtSW5kZXhEYXR1bShCdWlsZElu ZGV4SW5mbyhpbmRleERlc2MpLCB0YWJsZXNsb3QsIGVzdGF0ZSwgdmFsdWVzLAorCQkJCSAgIGlz bnVsbCk7Cit9CisKIC8qCiAgKiBIZWxwZXIgZnVuY3Rpb25zIHRvIGNvbnN0cnVjdCBhIHN0cmlu ZyBkZXNjcmliaW5nIHRoZSBjb250ZW50cyBvZiBhbiBpbmRleAogICogZW50cnkuIFNlZSBCdWls ZEluZGV4VmFsdWVEZXNjcmlwdGlvbiBmb3IgZGV0YWlscy4KQEAgLTc4OSw0MSArOTc1LDMyMyBA QCBidWlsZF9pbmRleF92YWx1ZV9kZXNjKEVTdGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiBsb2NhbHJl bCwgVHVwbGVUYWJsZVNsb3QgKnNsb3QsCiAJUmVsYXRpb24JaW5kZXhEZXNjOwogCURhdHVtCQl2 YWx1ZXNbSU5ERVhfTUFYX0tFWVNdOwogCWJvb2wJCWlzbnVsbFtJTkRFWF9NQVhfS0VZU107Ci0J VHVwbGVUYWJsZVNsb3QgKnRhYmxlc2xvdCA9IHNsb3Q7CiAKLQlpZiAoIXRhYmxlc2xvdCkKKwlp ZiAoIXNsb3QpCiAJCXJldHVybiBOVUxMOwogCiAJQXNzZXJ0KENoZWNrUmVsYXRpb25PaWRMb2Nr ZWRCeU1lKGluZGV4b2lkLCBSb3dFeGNsdXNpdmVMb2NrLCB0cnVlKSk7CiAKIAlpbmRleERlc2Mg PSBpbmRleF9vcGVuKGluZGV4b2lkLCBOb0xvY2spOwogCi0JLyoKLQkgKiBJZiB0aGUgc2xvdCBp cyBhIHZpcnR1YWwgc2xvdCwgY29weSBpdCBpbnRvIGEgaGVhcCB0dXBsZSBzbG90IGFzCi0JICog Rm9ybUluZGV4RGF0dW0gb25seSB3b3JrcyB3aXRoIGhlYXAgdHVwbGUgc2xvdHMuCi0JICovCi0J aWYgKFRUU19JU19WSVJUVUFMKHNsb3QpKQorCWJ1aWxkX2luZGV4X2RhdHVtc19mcm9tX3Nsb3Qo ZXN0YXRlLCBsb2NhbHJlbCwgc2xvdCwgaW5kZXhEZXNjLCB2YWx1ZXMsCisJCQkJCQkJCSBpc251 bGwpOworCisJaW5kZXhfdmFsdWUgPSBCdWlsZEluZGV4VmFsdWVEZXNjcmlwdGlvbihpbmRleERl c2MsIHZhbHVlcywgaXNudWxsKTsKKworCWluZGV4X2Nsb3NlKGluZGV4RGVzYywgTm9Mb2NrKTsK KworCXJldHVybiBpbmRleF92YWx1ZTsKK30KKworLyoKKyAqIHR1cGxlX3RhYmxlX3Nsb3RfdG9f anNvbl9kYXR1bQorICoKKyAqIEhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IGEgVHVwbGVUYWJs ZVNsb3QgdG8gSlNPTi4KKyAqLworc3RhdGljIERhdHVtCit0dXBsZV90YWJsZV9zbG90X3RvX2pz b25fZGF0dW0oVHVwbGVUYWJsZVNsb3QgKnNsb3QpCit7CisJSGVhcFR1cGxlCXR1cGxlOworCURh dHVtCQlkYXR1bTsKKwlEYXR1bQkJanNvbjsKKworCUFzc2VydChzbG90ICE9IE5VTEwpOworCisJ dHVwbGUgPSBFeGVjQ29weVNsb3RIZWFwVHVwbGUoc2xvdCk7CisJZGF0dW0gPSBoZWFwX2NvcHlf dHVwbGVfYXNfZGF0dW0odHVwbGUsIHNsb3QtPnR0c190dXBsZURlc2NyaXB0b3IpOworCisJanNv biA9IERpcmVjdEZ1bmN0aW9uQ2FsbDEocm93X3RvX2pzb24sIGRhdHVtKTsKKwloZWFwX2ZyZWV0 dXBsZSh0dXBsZSk7CisKKwlyZXR1cm4ganNvbjsKK30KKworLyoKKyAqIHR1cGxlX3RhYmxlX3Ns b3RfdG9faW5kZXh0dXBfanNvbgorICoKKyAqIEZldGNoIHJlcGxpY2EgaWRlbnRpdHkga2V5IGZy b20gdGhlIHR1cGxlIHRhYmxlIHNsb3QgYW5kIGNvbnZlcnQgaW50byBhCisgKiBKU09OIGRhdHVt LgorICovCitzdGF0aWMgRGF0dW0KK3R1cGxlX3RhYmxlX3Nsb3RfdG9faW5kZXh0dXBfanNvbihF U3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gbG9jYWxyZWwsCisJCQkJCQkJCSAgT2lkIGluZGV4aWQs IFR1cGxlVGFibGVTbG90ICpzbG90KQoreworCVJlbGF0aW9uCWluZGV4RGVzYzsKKwlEYXR1bQkJ dmFsdWVzW0lOREVYX01BWF9LRVlTXTsKKwlib29sCQlpc251bGxbSU5ERVhfTUFYX0tFWVNdOwor CUhlYXBUdXBsZQl0dXBsZTsKKwlUdXBsZURlc2MJdHVwZGVzYzsKKwlEYXR1bQkJZGF0dW07CisK KwlBc3NlcnQoc2xvdCAhPSBOVUxMKTsKKworCUFzc2VydChDaGVja1JlbGF0aW9uT2lkTG9ja2Vk QnlNZShpbmRleGlkLCBSb3dFeGNsdXNpdmVMb2NrLCB0cnVlKSk7CisKKwlpbmRleERlc2MgPSBp bmRleF9vcGVuKGluZGV4aWQsIE5vTG9jayk7CisKKwlidWlsZF9pbmRleF9kYXR1bXNfZnJvbV9z bG90KGVzdGF0ZSwgbG9jYWxyZWwsIHNsb3QsIGluZGV4RGVzYywgdmFsdWVzLAorCQkJCQkJCQkg aXNudWxsKTsKKwl0dXBkZXNjID0gUmVsYXRpb25HZXREZXNjcihpbmRleERlc2MpOworCisJLyog Qmxlc3MgdGhlIHR1cGRlc2Mgc28gaXQgY2FuIGJlIGxvb2tlZCB1cCBieSByb3dfdG9fanNvbi4g Ki8KKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKKworCS8qIEZvcm0gdGhlIHJlcGxpY2EgaWRl bnRpdHkgdHVwbGUuICovCisJdHVwbGUgPSBoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVz LCBpc251bGwpOworCWRhdHVtID0gaGVhcF9jb3B5X3R1cGxlX2FzX2RhdHVtKHR1cGxlLCB0dXBk ZXNjKTsKKworCWluZGV4X2Nsb3NlKGluZGV4RGVzYywgTm9Mb2NrKTsKKwloZWFwX2ZyZWV0dXBs ZSh0dXBsZSk7CisKKwkvKiBDb252ZXJ0IHRvIGEgSlNPTiBkYXR1bS4gKi8KKwlyZXR1cm4gRGly ZWN0RnVuY3Rpb25DYWxsMShyb3dfdG9fanNvbiwgZGF0dW0pOworfQorCisvKgorICogYnVpbGRf Y29uZmxpY3RfdHVwbGVkZXNjCisgKgorICogQnVpbGQgYW5kIGJsZXNzIGEgdHVwbGUgZGVzY3Jp cHRvciBmb3IgdGhlIGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJsZQorICogYmFzZWQgb24gdGhl IHByZWRlZmluZWQgTG9jYWxDb25mbGljdFNjaGVtYS4KKyAqLworc3RhdGljIFR1cGxlRGVzYwor YnVpbGRfY29uZmxpY3RfdHVwbGVkZXNjKHZvaWQpCit7CisJVHVwbGVEZXNjICAgdHVwZGVzYzsK KworCXR1cGRlc2MgPSBDcmVhdGVUZW1wbGF0ZVR1cGxlRGVzYyhNQVhfTE9DQUxfQ09ORkxJQ1Rf SU5GT19BVFRSUyk7CisKKwlmb3IgKGludCBpID0gMDsgaSA8IE1BWF9MT0NBTF9DT05GTElDVF9J TkZPX0FUVFJTOyBpKyspCisJCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCAoQXR0ck51bWJl cikgKGkgKyAxKSwKKwkJCQkJCSAgIExvY2FsQ29uZmxpY3RTY2hlbWFbaV0uYXR0bmFtZSwKKwkJ CQkJCSAgIExvY2FsQ29uZmxpY3RTY2hlbWFbaV0uYXR0dHlwaWQsCisJCQkJCQkgICAtMSwgMCk7 CisKKwlUdXBsZURlc2NGaW5hbGl6ZSh0dXBkZXNjKTsKKwlCbGVzc1R1cGxlRGVzYyh0dXBkZXNj KTsKKworCXJldHVybiB0dXBkZXNjOworfQorCisvKgorICogQnVpbGRzIHRoZSBsb2NhbCBjb25m bGljdHMgSlNPTiBhcnJheSBjb2x1bW4gZnJvbSB0aGUgbGlzdCBvZgorICogQ29uZmxpY3RUdXBs ZUluZm8gb2JqZWN0cy4KKyAqCisgKiBFeGFtcGxlIG91dHB1dCBzdHJ1Y3R1cmU6CisgKiBbIHsg InhpZCI6ICIxMDAxIiwgImNvbW1pdF90cyI6ICIuLi4iLCAib3JpZ2luIjogIi4uLiIsICJ0dXBs ZSI6IHsuLi59IH0sIC4uLiBdCisgKi8KK3N0YXRpYyBEYXR1bQorYnVpbGRfbG9jYWxfY29uZmxp Y3RzX2pzb25fYXJyYXkoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIHJlbCwKKwkJCQkJCQkJIENv bmZsaWN0VHlwZSBjb25mbGljdF90eXBlLAorCQkJCQkJCQkgTGlzdCAqY29uZmxpY3R0dXBsZXMp Cit7CisJTGlzdENlbGwgICAqbGM7CisJTGlzdAkgICAqanNvbl9kYXR1bXMgPSBOSUw7CisJRGF0 dW0JICAgKmpzb25fZGF0dW1fYXJyYXk7CisJRGF0dW0JCWpzb25fYXJyYXlfZGF0dW07CisJaW50 CQkJbnVtX2NvbmZsaWN0czsKKwlpbnQJCQlpOworCWludDE2CQl0eXBsZW47CisJYm9vbAkJdHlw Ynl2YWw7CisJY2hhcgkJdHlwYWxpZ247CisJVHVwbGVEZXNjCXR1cGRlc2M7CisKKwkvKiBCdWls ZCBsb2NhbCBjb25mbGljdHMgdHVwbGUgZGVzY3JpcHRvci4gKi8KKwl0dXBkZXNjID0gYnVpbGRf Y29uZmxpY3RfdHVwbGVkZXNjKCk7CisKKwkvKiBQcm9jZXNzIGxvY2FsIGNvbmZsaWN0IHR1cGxl IGxpc3QgYW5kIHByZXBhcmUgYW4gYXJyYXkgb2YgSlNPTi4gKi8KKwlmb3JlYWNoX3B0cihDb25m bGljdFR1cGxlSW5mbywgY29uZmxpY3R0dXBsZSwgY29uZmxpY3R0dXBsZXMpCiAJewotCQl0YWJs ZXNsb3QgPSB0YWJsZV9zbG90X2NyZWF0ZShsb2NhbHJlbCwgJmVzdGF0ZS0+ZXNfdHVwbGVUYWJs ZSk7Ci0JCXRhYmxlc2xvdCA9IEV4ZWNDb3B5U2xvdCh0YWJsZXNsb3QsIHNsb3QpOworCQlEYXR1 bQkJdmFsdWVzW01BWF9MT0NBTF9DT05GTElDVF9JTkZPX0FUVFJTXSA9IHswfTsKKwkJYm9vbAkJ bnVsbHNbTUFYX0xPQ0FMX0NPTkZMSUNUX0lORk9fQVRUUlNdID0gezB9OworCQljaGFyCSAgICpv cmlnaW5fbmFtZSA9IE5VTEw7CisJCUhlYXBUdXBsZQl0dXBsZTsKKwkJRGF0dW0JCWpzb25fZGF0 dW07CisJCWludAkJCWF0dG5vOworCisJCWF0dG5vID0gMDsKKwkJdmFsdWVzW2F0dG5vKytdID0g VHJhbnNhY3Rpb25JZEdldERhdHVtKGNvbmZsaWN0dHVwbGUtPnhtaW4pOworCisJCWlmIChjb25m bGljdHR1cGxlLT50cykKKwkJCXZhbHVlc1thdHRubysrXSA9IFRpbWVzdGFtcFR6R2V0RGF0dW0o Y29uZmxpY3R0dXBsZS0+dHMpOworCQllbHNlCisJCQludWxsc1thdHRubysrXSA9IHRydWU7CisK KwkJaWYgKGNvbmZsaWN0dHVwbGUtPm9yaWdpbiAhPSBJbnZhbGlkUmVwbE9yaWdpbklkKQorCQkJ cmVwbG9yaWdpbl9ieV9vaWQoY29uZmxpY3R0dXBsZS0+b3JpZ2luLCB0cnVlLCAmb3JpZ2luX25h bWUpOworCisJCS8qIFN0b3JlIGVtcHR5IHN0cmluZyBpZiBvcmlnaW4gbmFtZSBmb3IgdGhlIHR1 cGxlIGlzIE5VTEwuICovCisJCWlmIChvcmlnaW5fbmFtZSAhPSBOVUxMKQorCQkJdmFsdWVzW2F0 dG5vKytdID0gQ1N0cmluZ0dldFRleHREYXR1bShvcmlnaW5fbmFtZSk7CisJCWVsc2UKKwkJCW51 bGxzW2F0dG5vKytdID0gdHJ1ZTsKKworCQkvKgorCQkgKiBBZGQgdGhlIGNvbmZsaWN0aW5nIGtl eSB2YWx1ZXMgaW4gdGhlIGNhc2Ugb2YgYSB1bmlxdWUgY29uc3RyYWludAorCQkgKiB2aW9sYXRp b24uCisJCSAqLworCQlpZiAoY29uZmxpY3RfdHlwZSA9PSBDVF9JTlNFUlRfRVhJU1RTIHx8CisJ CQljb25mbGljdF90eXBlID09IENUX1VQREFURV9FWElTVFMgfHwKKwkJCWNvbmZsaWN0X3R5cGUg PT0gQ1RfTVVMVElQTEVfVU5JUVVFX0NPTkZMSUNUUykKKwkJeworCQkJT2lkCWluZGV4b2lkID0g Y29uZmxpY3R0dXBsZS0+aW5kZXhvaWQ7CisKKwkJCUFzc2VydChPaWRJc1ZhbGlkKGluZGV4b2lk KSAmJiBjb25mbGljdHR1cGxlLT5zbG90ICYmCisJCQkJICAgQ2hlY2tSZWxhdGlvbk9pZExvY2tl ZEJ5TWUoaW5kZXhvaWQsIFJvd0V4Y2x1c2l2ZUxvY2ssCisJCQkJCQkJCQkJCSAgdHJ1ZSkpOwor CQkJdmFsdWVzW2F0dG5vKytdID0KKwkJCQkJdHVwbGVfdGFibGVfc2xvdF90b19pbmRleHR1cF9q c29uKGVzdGF0ZSwgcmVsLAorCQkJCQkJCQkJCQkJCSAgaW5kZXhvaWQsCisJCQkJCQkJCQkJCQkJ ICBjb25mbGljdHR1cGxlLT5zbG90KTsKKwkJfQorCQllbHNlCisJCQludWxsc1thdHRubysrXSA9 IHRydWU7CisKKwkJLyogQ29udmVydCBjb25mbGljdGluZyB0dXBsZSB0byBKU09OIGRhdHVtLiAq LworCQlpZiAoY29uZmxpY3R0dXBsZS0+c2xvdCkKKwkJCXZhbHVlc1thdHRub10gPSB0dXBsZV90 YWJsZV9zbG90X3RvX2pzb25fZGF0dW0oY29uZmxpY3R0dXBsZS0+c2xvdCk7CisJCWVsc2UKKwkJ CW51bGxzW2F0dG5vXSA9IHRydWU7CisKKwkJQXNzZXJ0KGF0dG5vICsgMSA9PSBNQVhfTE9DQUxf Q09ORkxJQ1RfSU5GT19BVFRSUyk7CisKKwkJdHVwbGUgPSBoZWFwX2Zvcm1fdHVwbGUodHVwZGVz YywgdmFsdWVzLCBudWxscyk7CisKKwkJanNvbl9kYXR1bSA9IGhlYXBfY29weV90dXBsZV9hc19k YXR1bSh0dXBsZSwgdHVwZGVzYyk7CisKKwkJLyoKKwkJICogQnVpbGQgdGhlIGhpZ2hlciBsZXZl bCBKU09OIGRhdHVtIGluIGZvcm1hdCBkZXNjcmliZWQgaW4gZnVuY3Rpb24KKwkJICogaGVhZGVy LgorCQkgKi8KKwkJanNvbl9kYXR1bSA9IERpcmVjdEZ1bmN0aW9uQ2FsbDEocm93X3RvX2pzb24s IGpzb25fZGF0dW0pOworCisJCS8qIERvbmUgd2l0aCB0aGUgdGVtcG9yYXJ5IHR1cGxlLiAqLwor CQloZWFwX2ZyZWV0dXBsZSh0dXBsZSk7CisKKwkJLyogQWRkIHRvIHRoZSBhcnJheSBlbGVtZW50 LiAqLworCQlqc29uX2RhdHVtcyA9IGxhcHBlbmQoanNvbl9kYXR1bXMsICh2b2lkICopIGpzb25f ZGF0dW0pOwogCX0KIAotCS8qCi0JICogSW5pdGlhbGl6ZSBlY3h0X3NjYW50dXBsZSBmb3IgcG90 ZW50aWFsIHVzZSBpbiBGb3JtSW5kZXhEYXR1bSB3aGVuCi0JICogaW5kZXggZXhwcmVzc2lvbnMg YXJlIHByZXNlbnQuCi0JICovCi0JR2V0UGVyVHVwbGVFeHByQ29udGV4dChlc3RhdGUpLT5lY3h0 X3NjYW50dXBsZSA9IHRhYmxlc2xvdDsKKwludW1fY29uZmxpY3RzID0gbGlzdF9sZW5ndGgoanNv bl9kYXR1bXMpOwogCi0JLyoKLQkgKiBUaGUgdmFsdWVzL251bGxzIGFycmF5cyBwYXNzZWQgdG8g QnVpbGRJbmRleFZhbHVlRGVzY3JpcHRpb24gc2hvdWxkIGJlCi0JICogdGhlIHJlc3VsdHMgb2Yg Rm9ybUluZGV4RGF0dW0sIHdoaWNoIGFyZSB0aGUgInJhdyIgaW5wdXQgdG8gdGhlIGluZGV4Ci0J ICogQU0uCi0JICovCi0JRm9ybUluZGV4RGF0dW0oQnVpbGRJbmRleEluZm8oaW5kZXhEZXNjKSwg dGFibGVzbG90LCBlc3RhdGUsIHZhbHVlcywgaXNudWxsKTsKKwlqc29uX2RhdHVtX2FycmF5ID0g cGFsbG9jX2FycmF5KERhdHVtLCBudW1fY29uZmxpY3RzKTsKIAotCWluZGV4X3ZhbHVlID0gQnVp bGRJbmRleFZhbHVlRGVzY3JpcHRpb24oaW5kZXhEZXNjLCB2YWx1ZXMsIGlzbnVsbCk7CisJaSA9 IDA7CisJZm9yZWFjaChsYywganNvbl9kYXR1bXMpCisJeworCQlqc29uX2RhdHVtX2FycmF5W2ld ID0gKERhdHVtKSBsZmlyc3QobGMpOworCQlpKys7CisJfQogCi0JaW5kZXhfY2xvc2UoaW5kZXhE ZXNjLCBOb0xvY2spOworCS8qIENvbnN0cnVjdCB0aGUgSlNPTiBhcnJheSBEYXR1bS4gKi8KKwln ZXRfdHlwbGVuYnl2YWxhbGlnbihKU09OT0lELCAmdHlwbGVuLCAmdHlwYnl2YWwsICZ0eXBhbGln bik7CisJanNvbl9hcnJheV9kYXR1bSA9IFBvaW50ZXJHZXREYXR1bShjb25zdHJ1Y3RfYXJyYXko anNvbl9kYXR1bV9hcnJheSwKKwkJCQkJCQkJCQkJCQkgICBudW1fY29uZmxpY3RzLAorCQkJCQkJ CQkJCQkJCSAgIEpTT05PSUQsCisJCQkJCQkJCQkJCQkJICAgdHlwbGVuLAorCQkJCQkJCQkJCQkJ CSAgIHR5cGJ5dmFsLAorCQkJCQkJCQkJCQkJCSAgIHR5cGFsaWduKSk7CisJcGZyZWUoanNvbl9k YXR1bV9hcnJheSk7CisKKwlyZXR1cm4ganNvbl9hcnJheV9kYXR1bTsKK30KIAotCXJldHVybiBp bmRleF92YWx1ZTsKKy8qCisgKiBwcmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZQorICoKKyAqIFRo aXMgcm91dGluZSBwcmVwYXJlcyBhIHR1cGxlIGRldGFpbGluZyBhIGNvbmZsaWN0IGVuY291bnRl cmVkIGR1cmluZworICogbG9naWNhbCByZXBsaWNhdGlvbi4gVGhlIHByZXBhcmVkIHR1cGxlIHdp bGwgYmUgc3RvcmVkIGluCisgKiBNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190dXBs ZSB3aGljaCBzaG91bGQgYmUgaW5zZXJ0ZWQgaW50byB0aGUKKyAqIGNvbmZsaWN0IGxvZyB0YWJs ZSBieSBjYWxsaW5nIEluc2VydENvbmZsaWN0TG9nVHVwbGUuCisgKi8KK3N0YXRpYyB2b2lkCitw cmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZShFU3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gcmVsLAor CQkJCQkJICAgUmVsYXRpb24gY29uZmxpY3Rsb2dyZWwsCisJCQkJCQkgICBDb25mbGljdFR5cGUg Y29uZmxpY3RfdHlwZSwKKwkJCQkJCSAgIFR1cGxlVGFibGVTbG90ICpzZWFyY2hzbG90LAorCQkJ CQkJICAgTGlzdCAqY29uZmxpY3R0dXBsZXMsCisJCQkJCQkgICBUdXBsZVRhYmxlU2xvdCAqcmVt b3Rlc2xvdCkKK3sKKwlEYXR1bQkJdmFsdWVzW01BWF9DT05GTElDVF9BVFRSX05VTV0gPSB7MH07 CisJYm9vbAkJbnVsbHNbTUFYX0NPTkZMSUNUX0FUVFJfTlVNXSA9IHswfTsKKwlpbnQJCQlhdHRu bzsKKwljaGFyCSAgICpyZW1vdGVfb3JpZ2luID0gTlVMTDsKKwlNZW1vcnlDb250ZXh0CW9sZGN0 eDsKKworCUFzc2VydChNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190dXBsZSA9PSBO VUxMKTsKKworCS8qIFBvcHVsYXRlIHRoZSB2YWx1ZXMgYW5kIG51bGxzIGFycmF5cy4gKi8KKwlh dHRubyA9IDA7CisJdmFsdWVzW2F0dG5vKytdID0gT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdl dFJlbGlkKHJlbCkpOworCisJdmFsdWVzW2F0dG5vKytdID0KKwkJCUNTdHJpbmdHZXRUZXh0RGF0 dW0oZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbCkpKTsKKworCXZh bHVlc1thdHRubysrXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0oUmVsYXRpb25HZXRSZWxhdGlvbk5h bWUocmVsKSk7CisKKwl2YWx1ZXNbYXR0bm8rK10gPSBDU3RyaW5nR2V0VGV4dERhdHVtKENvbmZs aWN0VHlwZU5hbWVzW2NvbmZsaWN0X3R5cGVdKTsKKworCWlmIChUcmFuc2FjdGlvbklkSXNWYWxp ZChyZW1vdGVfeGlkKSkKKwkJdmFsdWVzW2F0dG5vKytdID0gVHJhbnNhY3Rpb25JZEdldERhdHVt KHJlbW90ZV94aWQpOworCWVsc2UKKwkJbnVsbHNbYXR0bm8rK10gPSB0cnVlOworCisJdmFsdWVz W2F0dG5vKytdID0gTFNOR2V0RGF0dW0ocmVtb3RlX2ZpbmFsX2xzbik7CisKKwlpZiAocmVtb3Rl X2NvbW1pdF90cyA+IDApCisJCXZhbHVlc1thdHRubysrXSA9IFRpbWVzdGFtcFR6R2V0RGF0dW0o cmVtb3RlX2NvbW1pdF90cyk7CisJZWxzZQorCQludWxsc1thdHRubysrXSA9IHRydWU7CisKKwlp ZiAocmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbiAhPSBJbnZhbGlkUmVwbE9yaWdpbklkKQor CQlyZXBsb3JpZ2luX2J5X29pZChyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luLCB0cnVlLCAm cmVtb3RlX29yaWdpbik7CisKKwlpZiAocmVtb3RlX29yaWdpbiAhPSBOVUxMKQorCQl2YWx1ZXNb YXR0bm8rK10gPSBDU3RyaW5nR2V0VGV4dERhdHVtKHJlbW90ZV9vcmlnaW4pOworCWVsc2UKKwkJ bnVsbHNbYXR0bm8rK10gPSB0cnVlOworCisJaWYgKCFUdXBJc051bGwoc2VhcmNoc2xvdCkpCisJ eworCQlPaWQJCXJlcGxpY2FfaW5kZXggPSBHZXRSZWxhdGlvbklkZW50aXR5T3JQSyhyZWwpOwor CisJCS8qCisJCSAqIElmIHRoZSB0YWJsZSBoYXMgYSB2YWxpZCByZXBsaWNhIGlkZW50aXR5IGlu ZGV4LCBidWlsZCB0aGUgaW5kZXgKKwkJICogSlNPTiBkYXR1bSBmcm9tIGtleSB2YWx1ZS4gT3Ro ZXJ3aXNlLCBjb25zdHJ1Y3QgaXQgZnJvbSB0aGUgY29tcGxldGUKKwkJICogdHVwbGUgaW4gUkVQ TElDQSBJREVOVElUWSBGVUxMIGNhc2VzLgorCQkgKi8KKwkJaWYgKE9pZElzVmFsaWQocmVwbGlj YV9pbmRleCkpCisJCQl2YWx1ZXNbYXR0bm8rK10gPSB0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4 dHVwX2pzb24oZXN0YXRlLCByZWwsCisJCQkJCQkJCQkJCQkJCQkJcmVwbGljYV9pbmRleCwKKwkJ CQkJCQkJCQkJCQkJCQlzZWFyY2hzbG90KTsKKwkJZWxzZQorCQkJdmFsdWVzW2F0dG5vKytdID0g dHVwbGVfdGFibGVfc2xvdF90b19qc29uX2RhdHVtKHNlYXJjaHNsb3QpOworCX0KKwllbHNlCisJ CW51bGxzW2F0dG5vKytdID0gdHJ1ZTsKKworCWlmICghVHVwSXNOdWxsKHJlbW90ZXNsb3QpKQor CQl2YWx1ZXNbYXR0bm8rK10gPSB0dXBsZV90YWJsZV9zbG90X3RvX2pzb25fZGF0dW0ocmVtb3Rl c2xvdCk7CisJZWxzZQorCQludWxsc1thdHRubysrXSA9IHRydWU7CisKKwl2YWx1ZXNbYXR0bm9d ID0gYnVpbGRfbG9jYWxfY29uZmxpY3RzX2pzb25fYXJyYXkoZXN0YXRlLCByZWwsCisJCQkJCQkJ CQkJCQkJIGNvbmZsaWN0X3R5cGUsCisJCQkJCQkJCQkJCQkJIGNvbmZsaWN0dHVwbGVzKTsKKwor CUFzc2VydChhdHRubyArIDEgPT0gTUFYX0NPTkZMSUNUX0FUVFJfTlVNKTsKKworCW9sZGN0eCA9 IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhBcHBseUNvbnRleHQpOworCU15TG9naWNhbFJlcFdvcmtl ci0+Y29uZmxpY3RfbG9nX3R1cGxlID0KKwkJaGVhcF9mb3JtX3R1cGxlKFJlbGF0aW9uR2V0RGVz Y3IoY29uZmxpY3Rsb2dyZWwpLCB2YWx1ZXMsIG51bGxzKTsKKwlNZW1vcnlDb250ZXh0U3dpdGNo VG8ob2xkY3R4KTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2lj YWwvbGF1bmNoZXIuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvbGF1bmNoZXIu YwppbmRleCAzMTNlMzFmZjJlMy4uMDVhMzAzNDJmNjkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvbGF1bmNoZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL2xhdW5jaGVyLmMKQEAgLTQ4Nyw2ICs0ODcsNyBAQCByZXRyeToKIAl3b3Jr ZXItPm9sZGVzdF9ub25yZW1vdmFibGVfeGlkID0gcmV0YWluX2RlYWRfdHVwbGVzCiAJCT8gTXlS ZXBsaWNhdGlvblNsb3QtPmRhdGEueG1pbgogCQk6IEludmFsaWRUcmFuc2FjdGlvbklkOworCXdv cmtlci0+Y29uZmxpY3RfbG9nX3R1cGxlID0gTlVMTDsKIAl3b3JrZXItPmxhc3RfbHNuID0gSW52 YWxpZFhMb2dSZWNQdHI7CiAJVElNRVNUQU1QX05PQkVHSU4od29ya2VyLT5sYXN0X3NlbmRfdGlt ZSk7CiAJVElNRVNUQU1QX05PQkVHSU4od29ya2VyLT5sYXN0X3JlY3ZfdGltZSk7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jIGIvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwppbmRleCBhM2YyNDA2ZWQ4My4uNDY5NDUx YzczNmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2Vy LmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpAQCAtNDg3 LDcgKzQ4Nyw5IEBAIHN0YXRpYyBib29sIE15U3Vic2NyaXB0aW9uVmFsaWQgPSBmYWxzZTsKIHN0 YXRpYyBMaXN0ICpvbl9jb21taXRfd2FrZXVwX3dvcmtlcnNfc3ViaWRzID0gTklMOwogCiBib29s CQlpbl9yZW1vdGVfdHJhbnNhY3Rpb24gPSBmYWxzZTsKLXN0YXRpYyBYTG9nUmVjUHRyIHJlbW90 ZV9maW5hbF9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKK1hMb2dSZWNQdHIgcmVtb3RlX2ZpbmFs X2xzbiA9IEludmFsaWRYTG9nUmVjUHRyOworVHJhbnNhY3Rpb25JZAlyZW1vdGVfeGlkID0gSW52 YWxpZFRyYW5zYWN0aW9uSWQ7CitUaW1lc3RhbXBUeglyZW1vdGVfY29tbWl0X3RzID0gMDsKIAog LyogZmllbGRzIHZhbGlkIG9ubHkgd2hlbiBwcm9jZXNzaW5nIHN0cmVhbWVkIHRyYW5zYWN0aW9u ICovCiBzdGF0aWMgYm9vbCBpbl9zdHJlYW1lZF90cmFuc2FjdGlvbiA9IGZhbHNlOwpAQCAtMTIz Niw2ICsxMjM4LDggQEAgYXBwbHlfaGFuZGxlX2JlZ2luKFN0cmluZ0luZm8gcykKIAlzZXRfYXBw bHlfZXJyb3JfY29udGV4dF94YWN0KGJlZ2luX2RhdGEueGlkLCBiZWdpbl9kYXRhLmZpbmFsX2xz bik7CiAKIAlyZW1vdGVfZmluYWxfbHNuID0gYmVnaW5fZGF0YS5maW5hbF9sc247CisJcmVtb3Rl X2NvbW1pdF90cyA9IGJlZ2luX2RhdGEuY29tbWl0dGltZTsKKwlyZW1vdGVfeGlkID0gYmVnaW5f ZGF0YS54aWQ7CiAKIAltYXliZV9zdGFydF9za2lwcGluZ19jaGFuZ2VzKGJlZ2luX2RhdGEuZmlu YWxfbHNuKTsKIApAQCAtMTc2Miw2ICsxNzY2LDEwIEBAIGFwcGx5X2hhbmRsZV9zdHJlYW1fc3Rh cnQoU3RyaW5nSW5mbyBzKQogCS8qIGV4dHJhY3QgWElEIG9mIHRoZSB0b3AtbGV2ZWwgdHJhbnNh Y3Rpb24gKi8KIAlzdHJlYW1feGlkID0gbG9naWNhbHJlcF9yZWFkX3N0cmVhbV9zdGFydChzLCAm Zmlyc3Rfc2VnbWVudCk7CiAKKwlyZW1vdGVfeGlkID0gc3RyZWFtX3hpZDsKKwlyZW1vdGVfZmlu YWxfbHNuID0gSW52YWxpZFhMb2dSZWNQdHI7CisJcmVtb3RlX2NvbW1pdF90cyA9IDA7CisKIAlp ZiAoIVRyYW5zYWN0aW9uSWRJc1ZhbGlkKHN0cmVhbV94aWQpKQogCQllcmVwb3J0KEVSUk9SLAog CQkJCShlcnJjb2RlKEVSUkNPREVfUFJPVE9DT0xfVklPTEFUSU9OKSwKQEAgLTU2NjcsNiArNTY3 NSwyNyBAQCBzdGFydF9hcHBseShYTG9nUmVjUHRyIG9yaWdpbl9zdGFydHBvcykKIAkJCUFib3J0 T3V0T2ZBbnlUcmFuc2FjdGlvbigpOwogCQkJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fZXJy b3IoTXlTdWJzY3JpcHRpb24tPm9pZCk7CiAKKwkJCS8qCisJCQkgKiBJbnNlcnQgYW55IHBlbmRp bmcgY29uZmxpY3QgbG9nIHR1cGxlIHVuZGVyIGEgbmV3IHRyYW5zYWN0aW9uLgorCQkJICovCisJ CQlpZiAoTXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUgIT0gTlVMTCkKKwkJ CXsKKwkJCQlSZWxhdGlvbgljb25mbGljdGxvZ3JlbDsKKwkJCQlDb25mbGljdExvZ0Rlc3QJZGVz dDsKKworCQkJCVN0YXJ0VHJhbnNhY3Rpb25Db21tYW5kKCk7CisJCQkJUHVzaEFjdGl2ZVNuYXBz aG90KEdldFRyYW5zYWN0aW9uU25hcHNob3QoKSk7CisKKwkJCQkvKiBPcGVuIGNvbmZsaWN0IGxv ZyB0YWJsZSBhbmQgaW5zZXJ0IHRoZSB0dXBsZS4gKi8KKwkJCQljb25mbGljdGxvZ3JlbCA9IEdl dENvbmZsaWN0TG9nRGVzdEFuZFRhYmxlKCZkZXN0KTsKKwkJCQlBc3NlcnQoZGVzdCAhPSBDT05G TElDVF9MT0dfREVTVF9MT0cpOworCQkJCUluc2VydENvbmZsaWN0TG9nVHVwbGUoY29uZmxpY3Rs b2dyZWwpOworCQkJCXRhYmxlX2Nsb3NlKGNvbmZsaWN0bG9ncmVsLCBSb3dFeGNsdXNpdmVMb2Nr KTsKKworCQkJCVBvcEFjdGl2ZVNuYXBzaG90KCk7CisJCQkJQ29tbWl0VHJhbnNhY3Rpb25Db21t YW5kKCk7CisJCQl9CisKIAkJCVBHX1JFX1RIUk9XKCk7CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRp b24vY29uZmxpY3QuaAppbmRleCBjOTIyMTZlMmRkNS4uNmRjYjc5NzBiYjcgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmgKKysrIGIvc3JjL2luY2x1ZGUvcmVw bGljYXRpb24vY29uZmxpY3QuaApAQCAtMTE2LDQgKzExNiw2IEBAIGV4dGVybiB2b2lkIFJlcG9y dEFwcGx5Q29uZmxpY3QoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8sCiAJ CQkJCQkJCVR1cGxlVGFibGVTbG90ICpyZW1vdGVzbG90LAogCQkJCQkJCQlMaXN0ICpjb25mbGlj dHR1cGxlcyk7CiBleHRlcm4gdm9pZCBJbml0Q29uZmxpY3RJbmRleGVzKFJlc3VsdFJlbEluZm8g KnJlbEluZm8pOworZXh0ZXJuIFJlbGF0aW9uIEdldENvbmZsaWN0TG9nRGVzdEFuZFRhYmxlKENv bmZsaWN0TG9nRGVzdCAqbG9nX2Rlc3QpOworZXh0ZXJuIHZvaWQgSW5zZXJ0Q29uZmxpY3RMb2dU dXBsZShSZWxhdGlvbiBjb25mbGljdGxvZ3JlbCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3JlcGxpY2F0aW9uL3dvcmtlcl9pbnRlcm5hbC5oIGIvc3JjL2luY2x1ZGUvcmVwbGlj YXRpb24vd29ya2VyX2ludGVybmFsLmgKaW5kZXggNzQ1YjdkOWU5NjkuLjZhNDQ3ZGE2NTEwIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaAorKysg Yi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaApAQCAtMTAwLDYgKzEw MCw5IEBAIHR5cGVkZWYgc3RydWN0IExvZ2ljYWxSZXBXb3JrZXIKIAkgKi8KIAlUcmFuc2FjdGlv bklkIG9sZGVzdF9ub25yZW1vdmFibGVfeGlkOwogCisJLyogQSBjb25mbGljdCBsb2cgdHVwbGUg dGhhdCBpcyBwcmVwYXJlZCBidXQgbm90IHlldCBpbnNlcnRlZC4gKi8KKwlIZWFwVHVwbGUJY29u ZmxpY3RfbG9nX3R1cGxlOworCiAJLyogU3RhdHMuICovCiAJWExvZ1JlY1B0cglsYXN0X2xzbjsK IAlUaW1lc3RhbXBUeiBsYXN0X3NlbmRfdGltZTsKQEAgLTI1NSw2ICsyNTgsMTAgQEAgZXh0ZXJu IFBHRExMSU1QT1JUIGJvb2wgSW5pdGlhbGl6aW5nQXBwbHlXb3JrZXI7CiAKIGV4dGVybiBQR0RM TElNUE9SVCBMaXN0ICp0YWJsZV9zdGF0ZXNfbm90X3JlYWR5OwogCitleHRlcm4gWExvZ1JlY1B0 ciByZW1vdGVfZmluYWxfbHNuOworZXh0ZXJuIFRpbWVzdGFtcFR6IHJlbW90ZV9jb21taXRfdHM7 CitleHRlcm4gVHJhbnNhY3Rpb25JZAlyZW1vdGVfeGlkOworCiBleHRlcm4gdm9pZCBsb2dpY2Fs cmVwX3dvcmtlcl9hdHRhY2goaW50IHNsb3QpOwogZXh0ZXJuIExvZ2ljYWxSZXBXb3JrZXIgKmxv Z2ljYWxyZXBfd29ya2VyX2ZpbmQoTG9naWNhbFJlcFdvcmtlclR5cGUgd3R5cGUsCiAJCQkJCQkJ CQkJCQlPaWQgc3ViaWQsIE9pZCByZWxpZCwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3N1YnNjcmlw dGlvbi90LzAzNV9jb25mbGljdHMucGwgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMzVfY29u ZmxpY3RzLnBsCmluZGV4IGYyM2ZlNmFmMmE1Li4wNWMyMTc5YjlhOCAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM1X2NvbmZsaWN0cy5wbAorKysgYi9zcmMvdGVzdC9zdWJz Y3JpcHRpb24vdC8wMzVfY29uZmxpY3RzLnBsCkBAIC01MCw3ICs1MCw3IEBAICRub2RlX3N1YnNj cmliZXItPnNhZmVfcHNxbCgKIAkncG9zdGdyZXMnLAogCSJDUkVBVEUgU1VCU0NSSVBUSU9OIHN1 Yl90YWIKIAkgQ09OTkVDVElPTiAnJHB1Ymxpc2hlcl9jb25uc3RyIGFwcGxpY2F0aW9uX25hbWU9 JGFwcG5hbWUnCi0JIFBVQkxJQ0FUSU9OIHB1Yl90YWI7Iik7CisJIFBVQkxJQ0FUSU9OIHB1Yl90 YWIgV0lUSCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uPWFsbCkiKTsKIAogIyBXYWl0IGZvciBp bml0aWFsIHRhYmxlIHN5bmMgdG8gZmluaXNoCiAkbm9kZV9zdWJzY3JpYmVyLT53YWl0X2Zvcl9z dWJzY3JpcHRpb25fc3luYygkbm9kZV9wdWJsaXNoZXIsICRhcHBuYW1lKTsKQEAgLTg0LDEwICs4 NCwzNSBAQCAkbm9kZV9zdWJzY3JpYmVyLT53YWl0X2Zvcl9sb2coCiAuKktleSBhbHJlYWR5IGV4 aXN0cyBpbiB1bmlxdWUgaW5kZXggXCJjb25mX3RhYl9jX2tleVwiLCBtb2RpZmllZCBpbiB0cmFu c2FjdGlvbiAuKjoga2V5IFwoY1wpPVwoNFwpLCBsb2NhbCByb3cgXCg0LCA0LCA0XCkuLywKIAkk bG9nX29mZnNldCk7CiAKKyMgVmVyaWZ5IHRoZSBjb250ZW50cyBvZiB0aGUgQ29uZmxpY3QgTG9n IFRhYmxlIChDTFQpCisjIFRoaXMgc2VjdGlvbiBlbnN1cmVzIHRoYXQgdGhlIGNsdCBjb250YWlu cyB0aGUgZXhwZWN0ZWQKKyMgdHlwZSBhbmQgc3BlY2lmaWMga2V5IGRhdGEuCitteSAkc3ViaWQg PSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIG9pZCBG Uk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3N1Yl90YWInOyIpOworbXkgJGNs dCA9ICJwZ19jb25mbGljdC5wZ19jb25mbGljdF9sb2dfJHN1YmlkIjsKKworIyBXYWl0IGZvciB0 aGUgY29uZmxpY3QgdG8gYmUgbG9nZ2VkIGluIHRoZSBDTFQKK215ICRsb2dfY2hlY2sgPSAkbm9k ZV9zdWJzY3JpYmVyLT5wb2xsX3F1ZXJ5X3VudGlsKAorICAgICdwb3N0Z3JlcycsCisgICAgIlNF TEVDVCBjb3VudCgqKSA+IDAgRlJPTSAkY2x0OyIKKyk7CisKK215ICRjb25mbGljdF9jaGVjayA9 ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorICAgICJTRUxFQ1QgY291 bnQoKikgPj0gMSBGUk9NICRjbHQgV0hFUkUgY29uZmxpY3RfdHlwZSA9ICdtdWx0aXBsZV91bmlx dWVfY29uZmxpY3RzJzsiKTsKK2lzKCRjb25mbGljdF9jaGVjaywgJ3QnLCAnVmVyaWZpZWQgbXVs dGlwbGVfdW5pcXVlX2NvbmZsaWN0cyBsb2dnZWQgaW50byBjb25mbGljdCBsb2cgdGFibGUnKTsK KworbXkgJGpzb25fcXVlcnkgPSAiU0VMRUNUIGxvY2FsX2NvbmZsaWN0cyBGUk9NICRjbHQ7IjsK K215ICRyYXdfanNvbiA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAk anNvbl9xdWVyeSk7CisKKyMgVmVyaWZ5IHRoYXQgJzInIGlzIHByZXNlbnQgaW5zaWRlIHRoZSBK U09OIHN0cnVjdHVyZSB1c2luZyBhIHJlZ2V4CisjIFRoaXMgbWF0Y2hlcyB0aGUga2V5L3ZhbHVl IHBhdHRlcm4gZm9yICJhIjogMgorbGlrZSgkcmF3X2pzb24sIHFyL1xcImFcXCI6Mi8sICdWZXJp ZmllZCB0aGF0IGtleSAyIGV4aXN0cyBpbiB0aGUgbG9jYWxfY29uZmxpY3RzJyk7CisKIHBhc3Mo J211bHRpcGxlX3VuaXF1ZV9jb25mbGljdHMgZGV0ZWN0ZWQgZHVyaW5nIGluc2VydCcpOwogCiAj IFRydW5jYXRlIHRhYmxlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yCiAkbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlRSVU5DQVRFIGNvbmZfdGFiOyIpOworJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJERUxFVEUgRlJPTSAkY2x0Iik7CiAKICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFRlc3Qg bXVsdGlwbGVfdW5pcXVlX2NvbmZsaWN0cyBkdWUgdG8gVVBEQVRFCkBAIC0xMTQsNiArMTM5LDI2 IEBAICRub2RlX3N1YnNjcmliZXItPndhaXRfZm9yX2xvZygKIC4qS2V5IGFscmVhZHkgZXhpc3Rz IGluIHVuaXF1ZSBpbmRleCBcImNvbmZfdGFiX2Nfa2V5XCIsIG1vZGlmaWVkIGluIHRyYW5zYWN0 aW9uIC4qOiBrZXkgXChjXCk9XCg4XCksIGxvY2FsIHJvdyBcKDgsIDgsIDhcKS4vLAogCSRsb2df b2Zmc2V0KTsKIAorIyBWZXJpZnkgdGhlIGNvbnRlbnRzIG9mIHRoZSBDb25mbGljdCBMb2cgVGFi bGUgKENMVCkKKyMgVGhpcyBzZWN0aW9uIGVuc3VyZXMgdGhhdCB0aGUgQ0xUIGNvbnRhaW5zIHRo ZSBleHBlY3RlZAorIyB0eXBlIGFuZCBzcGVjaWZpYyBrZXkgZGF0YS4KKworIyBXYWl0IGZvciB0 aGUgY29uZmxpY3QgdG8gYmUgbG9nZ2VkIGluIHRoZSBDTFQKKyRsb2dfY2hlY2sgPSAkbm9kZV9z dWJzY3JpYmVyLT5wb2xsX3F1ZXJ5X3VudGlsKAorICAgICdwb3N0Z3JlcycsCisgICAgIlNFTEVD VCBjb3VudCgqKSA+IDAgRlJPTSAkY2x0OyIKKyk7CisKKyRjb25mbGljdF9jaGVjayA9ICRub2Rl X3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorICAgICJTRUxFQ1QgY291bnQoKikg Pj0gMSBGUk9NICRjbHQgV0hFUkUgY29uZmxpY3RfdHlwZSA9ICdtdWx0aXBsZV91bmlxdWVfY29u ZmxpY3RzJzsiKTsKK2lzKCRjb25mbGljdF9jaGVjaywgJ3QnLCAnVmVyaWZpZWQgbXVsdGlwbGVf dW5pcXVlX2NvbmZsaWN0cyBsb2dnZWQgaW50byBjb25mbGljdCBsb2cgdGFibGUnKTsKKworJHJh d19qc29uID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICRqc29uX3F1 ZXJ5KTsKKworIyBWZXJpZnkgdGhhdCAnNicgaXMgcHJlc2VudCBpbnNpZGUgdGhlIEpTT04gc3Ry dWN0dXJlIHVzaW5nIGEgcmVnZXgKKyMgVGhpcyBtYXRjaGVzIHRoZSBrZXkvdmFsdWUgcGF0dGVy biBmb3IgImEiOiA2CitsaWtlKCRyYXdfanNvbiwgcXIvXFwiYVxcIjo2LywgJ1ZlcmlmaWVkIHRo YXQga2V5IDYgZXhpc3RzIGluIHRoZSBsb2NhbF9jb25mbGljdHMnKTsKKwogcGFzcygnbXVsdGlw bGVfdW5pcXVlX2NvbmZsaWN0cyBkZXRlY3RlZCBkdXJpbmcgdXBkYXRlJyk7CiAKICMgVHJ1bmNh dGUgdGFibGUgdG8gZ2V0IHJpZCBvZiB0aGUgZXJyb3IKLS0gCjIuNDkuMAoK --000000000000c198600653048635 Content-Type: application/octet-stream; name="v43-0004-Review-comment-fixes-for-Implement-the-conflict-.patch" Content-Disposition: attachment; filename="v43-0004-Review-comment-fixes-for-Implement-the-conflict-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mps2ouve3 RnJvbSA2NTBhMzk2M2MzMTUxZjI2YzIyNTQ4NmJlNWRiMzM1OGYzYjk5YTg4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjAgTWF5IDIwMjYgMTA6MTM6MjggKzA1MzAKU3ViamVjdDogW1BBVENIIHY0MyA0LzVd IFJldmlldyBjb21tZW50IGZpeGVzIGZvciBJbXBsZW1lbnQgdGhlIGNvbmZsaWN0CiBpbnNlcnRp b24gaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBjb25mbGljdCBsb2cgdGFibGUKClJldmlldyBjb21t ZW50IGZpeGVzIGZvciBJbXBsZW1lbnQgdGhlIGNvbmZsaWN0Cmluc2VydGlvbiBpbmZyYXN0cnVj dHVyZSBmb3IgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZQotLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyB8IDE2MCArKysrKysrKysrKysrLS0tLS0tLS0KIHNyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgICB8ICAzMiArLS0tLQogc3JjL2lu Y2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaCAgICAgICAgIHwgICAxICsKIHNyYy90ZXN0L3N1 YnNjcmlwdGlvbi90LzAzMF9vcmlnaW4ucGwgICAgICB8ICAgNCArLQogc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDM1X2NvbmZsaWN0cy5wbCAgIHwgICA0ICstCiA1IGZpbGVzIGNoYW5nZWQsIDEx NiBpbnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL2NvbmZsaWN0LmMKaW5kZXggNGFlOTMxMmUxYzMuLjQ2OTg5OTA3YjFlIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKKysrIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCkBAIC0zMiwxMCArMzIs OCBAQAogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2luY2x1ZGUgInV0aWxzL2FycmF5Lmgi CiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKLSNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5o IgogI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3BnX2xzbi5o IgotI2luY2x1ZGUgInV0aWxzL2pzb24uaCIKIAogLyoKICAqIFN0cmluZyByZXByZXNlbnRhdGlv bnMgZm9yIHRoZSBzdXBwb3J0ZWQgY29uZmxpY3QgbG9nZ2luZyBkZXN0aW5hdGlvbnMuCkBAIC00 OSw3ICs0Nyw2IEBAIGNvbnN0IGNoYXIgKmNvbnN0IENvbmZsaWN0TG9nRGVzdE5hbWVzW10gPSB7 CiBTdGF0aWNBc3NlcnREZWNsKGxlbmd0aG9mKENvbmZsaWN0TG9nRGVzdE5hbWVzKSA9PSAzLAog CQkJCSAiQ29uZmxpY3RMb2dEZXN0TmFtZXMgbGVuZ3RoIG1pc21hdGNoIik7CiAKLQogLyogU3Ry dWN0dXJlIHRvIGhvbGQgbWV0YWRhdGEgZm9yIG9uZSBjb2x1bW4gb2YgdGhlIGNvbmZsaWN0IGxv ZyB0YWJsZSAqLwogdHlwZWRlZiBzdHJ1Y3QgQ29uZmxpY3RMb2dDb2x1bW5EZWYKIHsKQEAgLTgx LDE3ICs3OCw2IEBAIHN0YXRpYyBjb25zdCBDb25mbGljdExvZ0NvbHVtbkRlZiBDb25mbGljdExv Z1NjaGVtYVtdID0gewogCiAjZGVmaW5lIE5VTV9DT05GTElDVF9BVFRSUyBsZW5ndGhvZihDb25m bGljdExvZ1NjaGVtYSkKIAotc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IENvbmZsaWN0VHlwZU5h bWVzW10gPSB7Ci0JW0NUX0lOU0VSVF9FWElTVFNdID0gImluc2VydF9leGlzdHMiLAotCVtDVF9V UERBVEVfT1JJR0lOX0RJRkZFUlNdID0gInVwZGF0ZV9vcmlnaW5fZGlmZmVycyIsCi0JW0NUX1VQ REFURV9FWElTVFNdID0gInVwZGF0ZV9leGlzdHMiLAotCVtDVF9VUERBVEVfTUlTU0lOR10gPSAi dXBkYXRlX21pc3NpbmciLAotCVtDVF9ERUxFVEVfT1JJR0lOX0RJRkZFUlNdID0gImRlbGV0ZV9v cmlnaW5fZGlmZmVycyIsCi0JW0NUX1VQREFURV9ERUxFVEVEXSA9ICJ1cGRhdGVfZGVsZXRlZCIs Ci0JW0NUX0RFTEVURV9NSVNTSU5HXSA9ICJkZWxldGVfbWlzc2luZyIsCi0JW0NUX01VTFRJUExF X1VOSVFVRV9DT05GTElDVFNdID0gIm11bHRpcGxlX3VuaXF1ZV9jb25mbGljdHMiCi19OwotCiAv KiBTY2hlbWEgZm9yIHRoZSBlbGVtZW50cyB3aXRoaW4gdGhlICdsb2NhbF9jb25mbGljdHMnIEpT T04gYXJyYXkgKi8KIHN0YXRpYyBjb25zdCBDb25mbGljdExvZ0NvbHVtbkRlZiBMb2NhbENvbmZs aWN0U2NoZW1hW10gPQogewpAQCAtMTAyLDcgKzg4LDE4IEBAIHN0YXRpYyBjb25zdCBDb25mbGlj dExvZ0NvbHVtbkRlZiBMb2NhbENvbmZsaWN0U2NoZW1hW10gPQogCXsgLmF0dG5hbWUgPSAidHVw bGUiLCAgICAgLmF0dHR5cGlkID0gSlNPTk9JRCB9CiB9OwogCi0jZGVmaW5lIE1BWF9MT0NBTF9D T05GTElDVF9JTkZPX0FUVFJTIGxlbmd0aG9mKExvY2FsQ29uZmxpY3RTY2hlbWEpCisjZGVmaW5l IE5VTV9MT0NBTF9DT05GTElDVF9BVFRSUyBsZW5ndGhvZihMb2NhbENvbmZsaWN0U2NoZW1hKQor CitzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgQ29uZmxpY3RUeXBlTmFtZXNbXSA9IHsKKwlbQ1Rf SU5TRVJUX0VYSVNUU10gPSAiaW5zZXJ0X2V4aXN0cyIsCisJW0NUX1VQREFURV9PUklHSU5fRElG RkVSU10gPSAidXBkYXRlX29yaWdpbl9kaWZmZXJzIiwKKwlbQ1RfVVBEQVRFX0VYSVNUU10gPSAi dXBkYXRlX2V4aXN0cyIsCisJW0NUX1VQREFURV9NSVNTSU5HXSA9ICJ1cGRhdGVfbWlzc2luZyIs CisJW0NUX0RFTEVURV9PUklHSU5fRElGRkVSU10gPSAiZGVsZXRlX29yaWdpbl9kaWZmZXJzIiwK KwlbQ1RfVVBEQVRFX0RFTEVURURdID0gInVwZGF0ZV9kZWxldGVkIiwKKwlbQ1RfREVMRVRFX01J U1NJTkddID0gImRlbGV0ZV9taXNzaW5nIiwKKwlbQ1RfTVVMVElQTEVfVU5JUVVFX0NPTkZMSUNU U10gPSAibXVsdGlwbGVfdW5pcXVlX2NvbmZsaWN0cyIKK307CiAKIHN0YXRpYyBpbnQJZXJyY29k ZV9hcHBseV9jb25mbGljdChDb25mbGljdFR5cGUgdHlwZSk7CiBzdGF0aWMgdm9pZCBlcnJkZXRh aWxfYXBwbHlfY29uZmxpY3QoRVN0YXRlICplc3RhdGUsCkBAIC0zMjUsNyArMzIyLDcgQEAgUmVw b3J0QXBwbHlDb25mbGljdChFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywg aW50IGVsZXZlbCwKIAlSZWxhdGlvbgkJbG9jYWxyZWwgPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRl c2M7CiAJQ29uZmxpY3RMb2dEZXN0CWRlc3Q7CiAJUmVsYXRpb24JCWNvbmZsaWN0bG9ncmVsOwot CWJvb2wJCQlsb2dfZGVzdF9jbHQgPSBmYWxzZTsKKwlib29sCQkJbG9nX2Rlc3RfdGFibGU7CiAJ Ym9vbCAJCQlsb2dfZGVzdF9sb2dmaWxlOwogCiAJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25f Y29uZmxpY3QoTXlTdWJzY3JpcHRpb24tPm9pZCwgdHlwZSk7CkBAIC0zMzYsMTMgKzMzMywxMSBA QCBSZXBvcnRBcHBseUNvbmZsaWN0KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxp bmZvLCBpbnQgZWxldmVsLAogCSAqLwogCWNvbmZsaWN0bG9ncmVsID0gR2V0Q29uZmxpY3RMb2dE ZXN0QW5kVGFibGUoJmRlc3QpOwogCi0JaWYgKGRlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfVEFC TEUgfHwgZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpCi0JCWxvZ19kZXN0X2NsdCA9IHRy dWU7Ci0JaWYgKGRlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfTE9HIHx8IGRlc3QgPT0gQ09ORkxJ Q1RfTE9HX0RFU1RfQUxMKQotCQlsb2dfZGVzdF9sb2dmaWxlID0gdHJ1ZTsKKwlsb2dfZGVzdF90 YWJsZSA9IENPTkZMSUNUU19MT0dHRURfVE9fVEFCTEUoZGVzdCk7CisJbG9nX2Rlc3RfbG9nZmls ZSA9IENPTkZMSUNUU19MT0dHRURfVE9fRklMRShkZXN0KTsKIAogCS8qIEluc2VydCB0byB0YWJs ZSBpZiByZXF1ZXN0ZWQuICovCi0JaWYgKGxvZ19kZXN0X2NsdCkKKwlpZiAobG9nX2Rlc3RfdGFi bGUpCiAJewogCQlBc3NlcnQoY29uZmxpY3Rsb2dyZWwgIT0gTlVMTCk7CiAKQEAgLTM3MSw5ICsz NjYsOCBAQCBSZXBvcnRBcHBseUNvbmZsaWN0KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZv ICpyZWxpbmZvLCBpbnQgZWxldmVsLAogCQkJICovCiAJCQllcmVwb3J0KGVsZXZlbCwKIAkJCQkJ ZXJyY29kZV9hcHBseV9jb25mbGljdCh0eXBlKSwKLQkJCQkJZXJybXNnKCJjb25mbGljdCBkZXRl Y3RlZCBvbiByZWxhdGlvbiBcIiVzLiVzXCI6IGNvbmZsaWN0PSVzIiwKLQkJCQkJCWdldF9uYW1l c3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShsb2NhbHJlbCkpLAotCQkJCQkJUmVsYXRp b25HZXRSZWxhdGlvbk5hbWUobG9jYWxyZWwpLAorCQkJCQllcnJtc2coImNvbmZsaWN0IGRldGVj dGVkIG9uIHJlbGF0aW9uIFwiJXNcIjogY29uZmxpY3Q9JXMiLAorCQkJCQkJUmVsYXRpb25HZXRR dWFsaWZpZWRSZWxhdGlvbk5hbWUobG9jYWxyZWwpLAogCQkJCQkJQ29uZmxpY3RUeXBlTmFtZXNb dHlwZV0pLAogCQkJCQllcnJkZXRhaWwoIkNvbmZsaWN0IGRldGFpbHMgYXJlIGxvZ2dlZCB0byB0 aGUgY29uZmxpY3QgbG9nIHRhYmxlOiAlcyIsCiAJCQkJCQkJICBSZWxhdGlvbkdldFJlbGF0aW9u TmFtZShjb25mbGljdGxvZ3JlbCkpKTsKQEAgLTQwMiwxNCArMzk2LDU0IEBAIFJlcG9ydEFwcGx5 Q29uZmxpY3QoRVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8sIGludCBlbGV2 ZWwsCiAJCS8qIFN0YW5kYXJkIHJlcG9ydGluZyB3aXRoIGZ1bGwgaW50ZXJuYWwgZGV0YWlscy4g Ki8KIAkJZXJlcG9ydChlbGV2ZWwsCiAJCQkJZXJyY29kZV9hcHBseV9jb25mbGljdCh0eXBlKSwK LQkJCQllcnJtc2coImNvbmZsaWN0IGRldGVjdGVkIG9uIHJlbGF0aW9uIFwiJXMuJXNcIjogY29u ZmxpY3Q9JXMiLAotCQkJCQkgICBnZXRfbmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3Bh Y2UobG9jYWxyZWwpKSwKLQkJCQkJICAgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUobG9jYWxyZWwp LAorCQkJCWVycm1zZygiY29uZmxpY3QgZGV0ZWN0ZWQgb24gcmVsYXRpb24gXCIlc1wiOiBjb25m bGljdD0lcyIsCisJCQkJCSAgIFJlbGF0aW9uR2V0UXVhbGlmaWVkUmVsYXRpb25OYW1lKGxvY2Fs cmVsKSwKIAkJCQkJICAgQ29uZmxpY3RUeXBlTmFtZXNbdHlwZV0pLAogCQkJCWVycmRldGFpbF9p bnRlcm5hbCgiJXMiLCBlcnJfZGV0YWlsLmRhdGEpKTsKIAl9CiB9CiAKKy8qCisgKiBQcm9jZXNz UGVuZGluZ0NvbmZsaWN0TG9nVHVwbGUKKyAqICAgICAgSW5zZXJ0IGFueSBkZWZlcnJlZCBjb25m bGljdCBsb2cgdHVwbGUgaW4gYSBzZXBhcmF0ZSB0cmFuc2FjdGlvbi4KKyAqCisgKiBGb3IgY29u ZmxpY3RzIHJhaXNlZCBhdCBFUlJPUiBsZXZlbCwgdGhlIGNvbmZsaWN0IGxvZyB0dXBsZSBjYW5u b3QgYmUKKyAqIGluc2VydGVkIGltbWVkaWF0ZWx5IGJlY2F1c2UgdGhlIHN1cnJvdW5kaW5nIHRy YW5zYWN0aW9uIHdpbGwgYWJvcnQuCisgKiBUbyBlbnN1cmUgdGhhdCBjb25mbGljdCBpbmZvcm1h dGlvbiBpcyBub3QgbG9zdCwgc3VjaCB0dXBsZXMgYXJlIHByZXBhcmVkCisgKiBkdXJpbmcgZXJy b3IgcHJvY2Vzc2luZyAoc2VlIHByZXBhcmVfY29uZmxpY3RfbG9nX3R1cGxlKCkpIGJ1dCB0aGVp cgorICogaW5zZXJ0aW9uIGlzIGRlZmVycmVkLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgcmVz cG9uc2libGUgZm9yIGNvbXBsZXRpbmcgdGhhdCBkZWZlcnJlZCBpbnNlcnRpb24gYWZ0ZXIKKyAq IHRoZSBmYWlsaW5nIHRyYW5zYWN0aW9uIGhhcyBiZWVuIGFib3J0ZWQgYW5kIHRoZSBzeXN0ZW0g aGFzIHJldHVybmVkIHRvIGFuCisgKiBpZGxlIHN0YXRlLiAgSXQgZXhlY3V0ZXMgdGhlIGluc2Vy dGlvbiBpbiBhIG5ldywgaW5kZXBlbmRlbnQgdHJhbnNhY3Rpb24sCisgKiBlbnN1cmluZyB0aGF0 IHRoZSBjb25mbGljdCBsb2cgZW50cnkgaXMgZHVyYWJsZSBhbmQgbm90IHJvbGxlZCBiYWNrCisg KiB0b2dldGhlciB3aXRoIHRoZSBmYWlsZWQgYXBwbHkgdHJhbnNhY3Rpb24uCisgKi8KK3ZvaWQK K1Byb2Nlc3NQZW5kaW5nQ29uZmxpY3RMb2dUdXBsZSh2b2lkKQoreworCVJlbGF0aW9uCWNvbmZs aWN0bG9ncmVsOworCUNvbmZsaWN0TG9nRGVzdCBkZXN0OworCisJLyogTm90aGluZyB0byBkbyAq LworCWlmIChNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190dXBsZSA9PSBOVUxMKQor CQlyZXR1cm47CisKKwlTdGFydFRyYW5zYWN0aW9uQ29tbWFuZCgpOworCVB1c2hBY3RpdmVTbmFw c2hvdChHZXRUcmFuc2FjdGlvblNuYXBzaG90KCkpOworCisJLyogT3BlbiBjb25mbGljdCBsb2cg dGFibGUgYW5kIGluc2VydCB0aGUgdHVwbGUgKi8KKwljb25mbGljdGxvZ3JlbCA9IEdldENvbmZs aWN0TG9nRGVzdEFuZFRhYmxlKCZkZXN0KTsKKwlBc3NlcnQoY29uZmxpY3Rsb2dyZWwpOworCisJ SW5zZXJ0Q29uZmxpY3RMb2dUdXBsZShjb25mbGljdGxvZ3JlbCk7CisKKwl0YWJsZV9jbG9zZShj b25mbGljdGxvZ3JlbCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlQb3BBY3RpdmVTbmFwc2hvdCgp OworCUNvbW1pdFRyYW5zYWN0aW9uQ29tbWFuZCgpOworfQorCiAvKgogICogRmluZCBhbGwgdW5p cXVlIGluZGV4ZXMgdG8gY2hlY2sgZm9yIGEgY29uZmxpY3QgYW5kIHN0b3JlIHRoZW0gaW50bwog ICogUmVzdWx0UmVsSW5mby4KQEAgLTQ2MCw3ICs0OTQsNyBAQCBHZXRDb25mbGljdExvZ0Rlc3RB bmRUYWJsZShDb25mbGljdExvZ0Rlc3QgKmxvZ19kZXN0KQogCSpsb2dfZGVzdCA9IEdldExvZ0Rl c3RpbmF0aW9uKE15U3Vic2NyaXB0aW9uLT5jb25mbGljdGxvZ2Rlc3QpOwogCiAJLyogUXVpY2sg ZXhpdCBpZiBhIGNvbmZsaWN0IGxvZyB0YWJsZSB3YXMgbm90IHJlcXVlc3RlZC4gKi8KLQlpZiAo KmxvZ19kZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX0xPRykKKwlpZiAoIUNPTkZMSUNUU19MT0dH RURfVE9fVEFCTEUoKmxvZ19kZXN0KSkKIAkJcmV0dXJuIE5VTEw7CiAKIAljb25mbGljdGxvZ3Jl bGlkID0gTXlTdWJzY3JpcHRpb24tPmNvbmZsaWN0bG9ncmVsaWQ7CkBAIC00ODAsMTMgKzUxNCwx MSBAQCBHZXRDb25mbGljdExvZ0Rlc3RBbmRUYWJsZShDb25mbGljdExvZ0Rlc3QgKmxvZ19kZXN0 KQogdm9pZAogSW5zZXJ0Q29uZmxpY3RMb2dUdXBsZShSZWxhdGlvbiBjb25mbGljdGxvZ3JlbCkK IHsKLQlpbnQJCQlvcHRpb25zID0gSEVBUF9JTlNFUlRfTk9fTE9HSUNBTDsKLQogCS8qIEEgdmFs aWQgdHVwbGUgbXVzdCBiZSBwcmVwYXJlZCBhbmQgc3RvcmVkIGluIE15TG9naWNhbFJlcFdvcmtl ci4gKi8KIAlBc3NlcnQoTXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUgIT0g TlVMTCk7CiAKIAloZWFwX2luc2VydChjb25mbGljdGxvZ3JlbCwgTXlMb2dpY2FsUmVwV29ya2Vy LT5jb25mbGljdF9sb2dfdHVwbGUsCi0JCQkJR2V0Q3VycmVudENvbW1hbmRJZCh0cnVlKSwgb3B0 aW9ucywgTlVMTCk7CisJCQkJR2V0Q3VycmVudENvbW1hbmRJZCh0cnVlKSwgSEVBUF9JTlNFUlRf Tk9fTE9HSUNBTCwgTlVMTCk7CiAKIAkvKiBGcmVlIGNvbmZsaWN0IGxvZyB0dXBsZS4gKi8KIAlo ZWFwX2ZyZWV0dXBsZShNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190dXBsZSk7CkBA IC0xMDQxLDcgKzEwNzMsNyBAQCB0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oRVN0 YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAogCiAJYnVpbGRfaW5kZXhfZGF0dW1zX2Zy b21fc2xvdChlc3RhdGUsIGxvY2FscmVsLCBzbG90LCBpbmRleERlc2MsIHZhbHVlcywKIAkJCQkJ CQkJIGlzbnVsbCk7Ci0JdHVwZGVzYyA9IFJlbGF0aW9uR2V0RGVzY3IoaW5kZXhEZXNjKTsKKwl0 dXBkZXNjID0gQ3JlYXRlVHVwbGVEZXNjQ29weShSZWxhdGlvbkdldERlc2NyKGluZGV4RGVzYykp OwogCiAJLyogQmxlc3MgdGhlIHR1cGRlc2Mgc28gaXQgY2FuIGJlIGxvb2tlZCB1cCBieSByb3df dG9fanNvbi4gKi8KIAlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKQEAgLTEwNTAsOCArMTA4Miw5 IEBAIHR1cGxlX3RhYmxlX3Nsb3RfdG9faW5kZXh0dXBfanNvbihFU3RhdGUgKmVzdGF0ZSwgUmVs YXRpb24gbG9jYWxyZWwsCiAJdHVwbGUgPSBoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVz LCBpc251bGwpOwogCWRhdHVtID0gaGVhcF9jb3B5X3R1cGxlX2FzX2RhdHVtKHR1cGxlLCB0dXBk ZXNjKTsKIAotCWluZGV4X2Nsb3NlKGluZGV4RGVzYywgTm9Mb2NrKTsKIAloZWFwX2ZyZWV0dXBs ZSh0dXBsZSk7CisJRnJlZVR1cGxlRGVzYyh0dXBkZXNjKTsKKwlpbmRleF9jbG9zZShpbmRleERl c2MsIE5vTG9jayk7CiAKIAkvKiBDb252ZXJ0IHRvIGEgSlNPTiBkYXR1bS4gKi8KIAlyZXR1cm4g RGlyZWN0RnVuY3Rpb25DYWxsMShyb3dfdG9fanNvbiwgZGF0dW0pOwpAQCAtMTA2MCwyNiArMTA5 Myw0MSBAQCB0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oRVN0YXRlICplc3RhdGUs IFJlbGF0aW9uIGxvY2FscmVsLAogLyoKICAqIGJ1aWxkX2NvbmZsaWN0X3R1cGxlZGVzYwogICoK LSAqIEJ1aWxkIGFuZCBibGVzcyBhIHR1cGxlIGRlc2NyaXB0b3IgZm9yIHRoZSBpbnRlcm5hbCBj b25mbGljdCBsb2cgdGFibGUKLSAqIGJhc2VkIG9uIHRoZSBwcmVkZWZpbmVkIExvY2FsQ29uZmxp Y3RTY2hlbWEuCisgKiBCdWlsZCBhbmQgYmxlc3MgYSB0dXBsZSBkZXNjcmlwdG9yIGZvciB0aGUg Y29uZmxpY3QgbG9nIHRhYmxlIGJhc2VkIG9uIHRoZQorICogcHJlZGVmaW5lZCBMb2NhbENvbmZs aWN0U2NoZW1hLgogICovCiBzdGF0aWMgVHVwbGVEZXNjCiBidWlsZF9jb25mbGljdF90dXBsZWRl c2Modm9pZCkKIHsKLQlUdXBsZURlc2MgICB0dXBkZXNjOworCXN0YXRpYyBUdXBsZURlc2MgY2Fj aGVkX3R1cGRlc2MgPSBOVUxMOwogCi0JdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNj KE1BWF9MT0NBTF9DT05GTElDVF9JTkZPX0FUVFJTKTsKKwlpZiAoY2FjaGVkX3R1cGRlc2MgPT0g TlVMTCkKKwl7CisJCU1lbW9yeUNvbnRleHQgb2xkY3h0OwogCi0JZm9yIChpbnQgaSA9IDA7IGkg PCBNQVhfTE9DQUxfQ09ORkxJQ1RfSU5GT19BVFRSUzsgaSsrKQotCQlUdXBsZURlc2NJbml0RW50 cnkodHVwZGVzYywgKEF0dHJOdW1iZXIpIChpICsgMSksCi0JCQkJCQkgICBMb2NhbENvbmZsaWN0 U2NoZW1hW2ldLmF0dG5hbWUsCi0JCQkJCQkgICBMb2NhbENvbmZsaWN0U2NoZW1hW2ldLmF0dHR5 cGlkLAotCQkJCQkJICAgLTEsIDApOworCQlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8o Q2FjaGVNZW1vcnlDb250ZXh0KTsKIAotCVR1cGxlRGVzY0ZpbmFsaXplKHR1cGRlc2MpOwotCUJs ZXNzVHVwbGVEZXNjKHR1cGRlc2MpOworCQljYWNoZWRfdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRl VHVwbGVEZXNjKE5VTV9MT0NBTF9DT05GTElDVF9BVFRSUyk7CiAKLQlyZXR1cm4gdHVwZGVzYzsK KwkJZm9yIChpbnQgaSA9IDA7IGkgPCBOVU1fTE9DQUxfQ09ORkxJQ1RfQVRUUlM7IGkrKykKKwkJ CVR1cGxlRGVzY0luaXRFbnRyeShjYWNoZWRfdHVwZGVzYywKKwkJCQkJCQkgICAoQXR0ck51bWJl cikgKGkgKyAxKSwKKwkJCQkJCQkgICBMb2NhbENvbmZsaWN0U2NoZW1hW2ldLmF0dG5hbWUsCisJ CQkJCQkJICAgTG9jYWxDb25mbGljdFNjaGVtYVtpXS5hdHR0eXBpZCwKKwkJCQkJCQkgICAtMSwg MCk7CisKKwkJVHVwbGVEZXNjRmluYWxpemUoY2FjaGVkX3R1cGRlc2MpOworCisJCS8qCisJCSAq IEJsZXNzIG9uY2Ugc28gaXQgY2FuIGJlIHVzZWQgYXMgYSBSRUNPUkQgdHlwZSAoZS5nLiBmb3IK KwkJICogcm93X3RvX2pzb24gb3Igb3RoZXIgcmVjb3JkLWJhc2VkIG9wZXJhdGlvbnMpLgorCQkg Ki8KKwkJQmxlc3NUdXBsZURlc2MoY2FjaGVkX3R1cGRlc2MpOworCisJCU1lbW9yeUNvbnRleHRT d2l0Y2hUbyhvbGRjeHQpOworCX0KKworCXJldHVybiBjYWNoZWRfdHVwZGVzYzsKIH0KIAogLyoK QEAgLTExMTEsOCArMTE1OSw4IEBAIGJ1aWxkX2xvY2FsX2NvbmZsaWN0c19qc29uX2FycmF5KEVT dGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiByZWwsCiAJLyogUHJvY2VzcyBsb2NhbCBjb25mbGljdCB0 dXBsZSBsaXN0IGFuZCBwcmVwYXJlIGFuIGFycmF5IG9mIEpTT04uICovCiAJZm9yZWFjaF9wdHIo Q29uZmxpY3RUdXBsZUluZm8sIGNvbmZsaWN0dHVwbGUsIGNvbmZsaWN0dHVwbGVzKQogCXsKLQkJ RGF0dW0JCXZhbHVlc1tNQVhfTE9DQUxfQ09ORkxJQ1RfSU5GT19BVFRSU10gPSB7MH07Ci0JCWJv b2wJCW51bGxzW01BWF9MT0NBTF9DT05GTElDVF9JTkZPX0FUVFJTXSA9IHswfTsKKwkJRGF0dW0J CXZhbHVlc1tOVU1fTE9DQUxfQ09ORkxJQ1RfQVRUUlNdID0gezB9OworCQlib29sCQludWxsc1tO VU1fTE9DQUxfQ09ORkxJQ1RfQVRUUlNdID0gezB9OwogCQljaGFyCSAgICpvcmlnaW5fbmFtZSA9 IE5VTEw7CiAJCUhlYXBUdXBsZQl0dXBsZTsKIAkJRGF0dW0JCWpzb25fZGF0dW07CkBAIC0xMTYy LDcgKzEyMTAsNyBAQCBidWlsZF9sb2NhbF9jb25mbGljdHNfanNvbl9hcnJheShFU3RhdGUgKmVz dGF0ZSwgUmVsYXRpb24gcmVsLAogCQllbHNlCiAJCQludWxsc1thdHRub10gPSB0cnVlOwogCi0J CUFzc2VydChhdHRubyArIDEgPT0gTUFYX0xPQ0FMX0NPTkZMSUNUX0lORk9fQVRUUlMpOworCQlB c3NlcnQoYXR0bm8gKyAxID09IE5VTV9MT0NBTF9DT05GTElDVF9BVFRSUyk7CiAKIAkJdHVwbGUg PSBoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscyk7CiAKQEAgLTEyMjEsOCAr MTI2OSw4IEBAIHByZXBhcmVfY29uZmxpY3RfbG9nX3R1cGxlKEVTdGF0ZSAqZXN0YXRlLCBSZWxh dGlvbiByZWwsCiAJCQkJCQkgICBMaXN0ICpjb25mbGljdHR1cGxlcywKIAkJCQkJCSAgIFR1cGxl VGFibGVTbG90ICpyZW1vdGVzbG90KQogewotCURhdHVtCQl2YWx1ZXNbTUFYX0NPTkZMSUNUX0FU VFJfTlVNXSA9IHswfTsKLQlib29sCQludWxsc1tNQVhfQ09ORkxJQ1RfQVRUUl9OVU1dID0gezB9 OworCURhdHVtCQl2YWx1ZXNbTlVNX0NPTkZMSUNUX0FUVFJTXSA9IHswfTsKKwlib29sCQludWxs c1tOVU1fQ09ORkxJQ1RfQVRUUlNdID0gezB9OwogCWludAkJCWF0dG5vOwogCWNoYXIJICAgKnJl bW90ZV9vcmlnaW4gPSBOVUxMOwogCU1lbW9yeUNvbnRleHQJb2xkY3R4OwpAQCAtMTI2MCw2ICsx MzA4LDExIEBAIHByZXBhcmVfY29uZmxpY3RfbG9nX3R1cGxlKEVTdGF0ZSAqZXN0YXRlLCBSZWxh dGlvbiByZWwsCiAJZWxzZQogCQludWxsc1thdHRubysrXSA9IHRydWU7CiAKKwlpZiAoIVR1cElz TnVsbChyZW1vdGVzbG90KSkKKwkJdmFsdWVzW2F0dG5vKytdID0gdHVwbGVfdGFibGVfc2xvdF90 b19qc29uX2RhdHVtKHJlbW90ZXNsb3QpOworCWVsc2UKKwkJbnVsbHNbYXR0bm8rK10gPSB0cnVl OworCiAJaWYgKCFUdXBJc051bGwoc2VhcmNoc2xvdCkpCiAJewogCQlPaWQJCXJlcGxpY2FfaW5k ZXggPSBHZXRSZWxhdGlvbklkZW50aXR5T3JQSyhyZWwpOwpAQCAtMTI3OSwxNiArMTMzMiwxMSBA QCBwcmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZShFU3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gcmVs LAogCWVsc2UKIAkJbnVsbHNbYXR0bm8rK10gPSB0cnVlOwogCi0JaWYgKCFUdXBJc051bGwocmVt b3Rlc2xvdCkpCi0JCXZhbHVlc1thdHRubysrXSA9IHR1cGxlX3RhYmxlX3Nsb3RfdG9fanNvbl9k YXR1bShyZW1vdGVzbG90KTsKLQllbHNlCi0JCW51bGxzW2F0dG5vKytdID0gdHJ1ZTsKLQogCXZh bHVlc1thdHRub10gPSBidWlsZF9sb2NhbF9jb25mbGljdHNfanNvbl9hcnJheShlc3RhdGUsIHJl bCwKIAkJCQkJCQkJCQkJCQkgY29uZmxpY3RfdHlwZSwKIAkJCQkJCQkJCQkJCQkgY29uZmxpY3R0 dXBsZXMpOwogCi0JQXNzZXJ0KGF0dG5vICsgMSA9PSBNQVhfQ09ORkxJQ1RfQVRUUl9OVU0pOwor CUFzc2VydChhdHRubyArIDEgPT0gTlVNX0NPTkZMSUNUX0FUVFJTKTsKIAogCW9sZGN0eCA9IE1l bW9yeUNvbnRleHRTd2l0Y2hUbyhBcHBseUNvbnRleHQpOwogCU15TG9naWNhbFJlcFdvcmtlci0+ Y29uZmxpY3RfbG9nX3R1cGxlID0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtl ci5jCmluZGV4IDQ2OTQ1MWM3MzZhLi43MGFlMzhhN2JkMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0xNzY2LDE1ICsxNzY2LDE1IEBAIGFwcGx5X2hhbmRs ZV9zdHJlYW1fc3RhcnQoU3RyaW5nSW5mbyBzKQogCS8qIGV4dHJhY3QgWElEIG9mIHRoZSB0b3At bGV2ZWwgdHJhbnNhY3Rpb24gKi8KIAlzdHJlYW1feGlkID0gbG9naWNhbHJlcF9yZWFkX3N0cmVh bV9zdGFydChzLCAmZmlyc3Rfc2VnbWVudCk7CiAKLQlyZW1vdGVfeGlkID0gc3RyZWFtX3hpZDsK LQlyZW1vdGVfZmluYWxfbHNuID0gSW52YWxpZFhMb2dSZWNQdHI7Ci0JcmVtb3RlX2NvbW1pdF90 cyA9IDA7Ci0KIAlpZiAoIVRyYW5zYWN0aW9uSWRJc1ZhbGlkKHN0cmVhbV94aWQpKQogCQllcmVw b3J0KEVSUk9SLAogCQkJCShlcnJjb2RlKEVSUkNPREVfUFJPVE9DT0xfVklPTEFUSU9OKSwKIAkJ CQkgZXJybXNnX2ludGVybmFsKCJpbnZhbGlkIHRyYW5zYWN0aW9uIElEIGluIHN0cmVhbWVkIHJl cGxpY2F0aW9uIHRyYW5zYWN0aW9uIikpKTsKIAorCXJlbW90ZV94aWQgPSBzdHJlYW1feGlkOwor CXJlbW90ZV9maW5hbF9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKKwlyZW1vdGVfY29tbWl0X3Rz ID0gMDsKKwogCXNldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Qoc3RyZWFtX3hpZCwgSW52YWxp ZFhMb2dSZWNQdHIpOwogCiAJLyogVHJ5IHRvIGFsbG9jYXRlIGEgd29ya2VyIGZvciB0aGUgc3Ry ZWFtaW5nIHRyYW5zYWN0aW9uLiAqLwpAQCAtNTY3NCwyNyArNTY3NCw3IEBAIHN0YXJ0X2FwcGx5 KFhMb2dSZWNQdHIgb3JpZ2luX3N0YXJ0cG9zKQogCQkJICovCiAJCQlBYm9ydE91dE9mQW55VHJh bnNhY3Rpb24oKTsKIAkJCXBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0aW9uX2Vycm9yKE15U3Vic2Ny aXB0aW9uLT5vaWQpOwotCi0JCQkvKgotCQkJICogSW5zZXJ0IGFueSBwZW5kaW5nIGNvbmZsaWN0 IGxvZyB0dXBsZSB1bmRlciBhIG5ldyB0cmFuc2FjdGlvbi4KLQkJCSAqLwotCQkJaWYgKE15TG9n aWNhbFJlcFdvcmtlci0+Y29uZmxpY3RfbG9nX3R1cGxlICE9IE5VTEwpCi0JCQl7Ci0JCQkJUmVs YXRpb24JY29uZmxpY3Rsb2dyZWw7Ci0JCQkJQ29uZmxpY3RMb2dEZXN0CWRlc3Q7Ci0KLQkJCQlT dGFydFRyYW5zYWN0aW9uQ29tbWFuZCgpOwotCQkJCVB1c2hBY3RpdmVTbmFwc2hvdChHZXRUcmFu c2FjdGlvblNuYXBzaG90KCkpOwotCi0JCQkJLyogT3BlbiBjb25mbGljdCBsb2cgdGFibGUgYW5k IGluc2VydCB0aGUgdHVwbGUuICovCi0JCQkJY29uZmxpY3Rsb2dyZWwgPSBHZXRDb25mbGljdExv Z0Rlc3RBbmRUYWJsZSgmZGVzdCk7Ci0JCQkJQXNzZXJ0KGRlc3QgIT0gQ09ORkxJQ1RfTE9HX0RF U1RfTE9HKTsKLQkJCQlJbnNlcnRDb25mbGljdExvZ1R1cGxlKGNvbmZsaWN0bG9ncmVsKTsKLQkJ CQl0YWJsZV9jbG9zZShjb25mbGljdGxvZ3JlbCwgUm93RXhjbHVzaXZlTG9jayk7Ci0KLQkJCQlQ b3BBY3RpdmVTbmFwc2hvdCgpOwotCQkJCUNvbW1pdFRyYW5zYWN0aW9uQ29tbWFuZCgpOwotCQkJ fQorCQkJUHJvY2Vzc1BlbmRpbmdDb25mbGljdExvZ1R1cGxlKCk7CiAKIAkJCVBHX1JFX1RIUk9X KCk7CiAJCX0KQEAgLTYwNjksNiArNjA0OSw4IEBAIERpc2FibGVTdWJzY3JpcHRpb25BbmRFeGl0 KHZvaWQpCiAJICovCiAJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fZXJyb3IoTXlMb2dpY2Fs UmVwV29ya2VyLT5zdWJpZCk7CiAKKwlQcm9jZXNzUGVuZGluZ0NvbmZsaWN0TG9nVHVwbGUoKTsK KwogCS8qIERpc2FibGUgdGhlIHN1YnNjcmlwdGlvbiAqLwogCVN0YXJ0VHJhbnNhY3Rpb25Db21t YW5kKCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0Lmgg Yi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oCmluZGV4IDZkY2I3OTcwYmI3Li44 ODI5ZjZjNjM3OCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3Qu aAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oCkBAIC0xMTUsNiArMTE1 LDcgQEAgZXh0ZXJuIHZvaWQgUmVwb3J0QXBwbHlDb25mbGljdChFU3RhdGUgKmVzdGF0ZSwgUmVz dWx0UmVsSW5mbyAqcmVsaW5mbywKIAkJCQkJCQkJVHVwbGVUYWJsZVNsb3QgKnNlYXJjaHNsb3Qs CiAJCQkJCQkJCVR1cGxlVGFibGVTbG90ICpyZW1vdGVzbG90LAogCQkJCQkJCQlMaXN0ICpjb25m bGljdHR1cGxlcyk7CitleHRlcm4gdm9pZCBQcm9jZXNzUGVuZGluZ0NvbmZsaWN0TG9nVHVwbGUo dm9pZCk7CiBleHRlcm4gdm9pZCBJbml0Q29uZmxpY3RJbmRleGVzKFJlc3VsdFJlbEluZm8gKnJl bEluZm8pOwogZXh0ZXJuIFJlbGF0aW9uIEdldENvbmZsaWN0TG9nRGVzdEFuZFRhYmxlKENvbmZs aWN0TG9nRGVzdCAqbG9nX2Rlc3QpOwogZXh0ZXJuIHZvaWQgSW5zZXJ0Q29uZmxpY3RMb2dUdXBs ZShSZWxhdGlvbiBjb25mbGljdGxvZ3JlbCk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3Jp cHRpb24vdC8wMzBfb3JpZ2luLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX29yaWdp bi5wbAppbmRleCA2YmM2Yjc4NzRjMi4uNWY0ZDAwYmRkMzMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAzMF9vcmlnaW4ucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDMwX29yaWdpbi5wbApAQCAtMTY2LDcgKzE2Niw3IEBAIGlzKCRyZXN1bHQsIHFxKDMyKSwg J1RoZSBub2RlX0EgZGF0YSByZXBsaWNhdGVkIHRvIG5vZGVfQicpOwogJG5vZGVfQy0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsICJVUERBVEUgJHRhYiBTRVQgYSA9IDMzIFdIRVJFIGEgPSAzMjsiKTsK IAogJG5vZGVfQi0+d2FpdF9mb3JfbG9nKAotCXFyL2NvbmZsaWN0IGRldGVjdGVkIG9uIHJlbGF0 aW9uICJwdWJsaWMuJHRhYl91bnF1b3RlZCI6IGNvbmZsaWN0PXVwZGF0ZV9vcmlnaW5fZGlmZmVy cy4qXG4uKkRFVEFJTDouKiBVcGRhdGluZyB0aGUgcm93IHRoYXQgd2FzIG1vZGlmaWVkIGJ5IGEg ZGlmZmVyZW50IG9yaWdpbiAiLioiIGluIHRyYW5zYWN0aW9uIFswLTldKyBhdCAuKjogbG9jYWwg cm93IFwoMzJcKSwgcmVtb3RlIHJvdyBcKDMzXCksIHJlcGxpY2EgaWRlbnRpdHkgXChhXCk9XCgz MlwpLi8KKwlxci9jb25mbGljdCBkZXRlY3RlZCBvbiByZWxhdGlvbiAicHVibGljLiR0YWIiOiBj b25mbGljdD11cGRhdGVfb3JpZ2luX2RpZmZlcnMuKlxuLipERVRBSUw6LiogVXBkYXRpbmcgdGhl IHJvdyB0aGF0IHdhcyBtb2RpZmllZCBieSBhIGRpZmZlcmVudCBvcmlnaW4gIi4qIiBpbiB0cmFu c2FjdGlvbiBbMC05XSsgYXQgLio6IGxvY2FsIHJvdyBcKDMyXCksIHJlbW90ZSByb3cgXCgzM1wp LCByZXBsaWNhIGlkZW50aXR5IFwoYVwpPVwoMzJcKS4vCiApOwogCiAkbm9kZV9CLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIkRFTEVURSBGUk9NICR0YWI7Iik7CkBAIC0xODIsNyArMTgyLDcgQEAg aXMoJHJlc3VsdCwgcXEoMzMpLCAnVGhlIG5vZGVfQSBkYXRhIHJlcGxpY2F0ZWQgdG8gbm9kZV9C Jyk7CiAkbm9kZV9DLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkRFTEVURSBGUk9NICR0YWIgV0hF UkUgYSA9IDMzOyIpOwogCiAkbm9kZV9CLT53YWl0X2Zvcl9sb2coCi0JcXIvY29uZmxpY3QgZGV0 ZWN0ZWQgb24gcmVsYXRpb24gInB1YmxpYy4kdGFiX3VucXVvdGVkIjogY29uZmxpY3Q9ZGVsZXRl X29yaWdpbl9kaWZmZXJzLipcbi4qREVUQUlMOi4qIERlbGV0aW5nIHRoZSByb3cgdGhhdCB3YXMg bW9kaWZpZWQgYnkgYSBkaWZmZXJlbnQgb3JpZ2luICIuKiIgaW4gdHJhbnNhY3Rpb24gWzAtOV0r IGF0IC4qOiBsb2NhbCByb3cgXCgzM1wpLCByZXBsaWNhIGlkZW50aXR5IFwoYVwpPVwoMzNcKS4q LworCXFyL2NvbmZsaWN0IGRldGVjdGVkIG9uIHJlbGF0aW9uICJwdWJsaWMuJHRhYiI6IGNvbmZs aWN0PWRlbGV0ZV9vcmlnaW5fZGlmZmVycy4qXG4uKkRFVEFJTDouKiBEZWxldGluZyB0aGUgcm93 IHRoYXQgd2FzIG1vZGlmaWVkIGJ5IGEgZGlmZmVyZW50IG9yaWdpbiAiLioiIGluIHRyYW5zYWN0 aW9uIFswLTldKyBhdCAuKjogbG9jYWwgcm93IFwoMzNcKSwgcmVwbGljYSBpZGVudGl0eSBcKGFc KT1cKDMzXCkuKi8KICk7CiAKICMgVGhlIHJlbWFpbmluZyB0ZXN0cyBubyBsb25nZXIgdGVzdCBj b25mbGljdCBkZXRlY3Rpb24uCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8w MzVfY29uZmxpY3RzLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM1X2NvbmZsaWN0cy5w bAppbmRleCAwNWMyMTc5YjlhOC4uNGYzODgwZTViODMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3N1 YnNjcmlwdGlvbi90LzAzNV9jb25mbGljdHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDM1X2NvbmZsaWN0cy5wbApAQCAtODUsMTEgKzg1LDExIEBAICRub2RlX3N1YnNjcmliZXIt PndhaXRfZm9yX2xvZygKIAkkbG9nX29mZnNldCk7CiAKICMgVmVyaWZ5IHRoZSBjb250ZW50cyBv ZiB0aGUgQ29uZmxpY3QgTG9nIFRhYmxlIChDTFQpCi0jIFRoaXMgc2VjdGlvbiBlbnN1cmVzIHRo YXQgdGhlIGNsdCBjb250YWlucyB0aGUgZXhwZWN0ZWQKKyMgVGhpcyBzZWN0aW9uIGVuc3VyZXMg dGhhdCB0aGUgQ0xUIGNvbnRhaW5zIHRoZSBleHBlY3RlZAogIyB0eXBlIGFuZCBzcGVjaWZpYyBr ZXkgZGF0YS4KIG15ICRzdWJpZCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAogCSJTRUxFQ1Qgb2lkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAn c3ViX3RhYic7Iik7Ci1teSAkY2x0ID0gInBnX2NvbmZsaWN0LnBnX2NvbmZsaWN0X2xvZ18kc3Vi aWQiOworbXkgJGNsdCA9ICJwZ19jb25mbGljdC5wZ19jb25mbGljdF9sb2dfZm9yX3N1YmlkXyRz dWJpZCI7CiAKICMgV2FpdCBmb3IgdGhlIGNvbmZsaWN0IHRvIGJlIGxvZ2dlZCBpbiB0aGUgQ0xU CiBteSAkbG9nX2NoZWNrID0gJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgKLS0g CjIuNDkuMAoK --000000000000c198600653048635 Content-Type: application/octet-stream; name="v43-0005-Create-conflict-log-table-after-inserting-subscr.patch" Content-Disposition: attachment; filename="v43-0005-Create-conflict-log-table-after-inserting-subscr.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mps2ouvi4 RnJvbSA0ODUzY2RiNWQ2Yzc3M2NjNDBhNzU1Y2UzMmQ3ZjZkMzYxN2VlZjc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogU2F0LCAzMCBNYXkgMjAyNiAwNTozMzoyMSArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjQz IDUvNV0gQ3JlYXRlIGNvbmZsaWN0IGxvZyB0YWJsZSBhZnRlciBpbnNlcnRpbmcKIHN1YnNjcmlw dGlvbiByb3cKCi0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jICAg IHwgNzMgKysrKysrKysrKy0tLS0tLS0tLS0tLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9n aWNhbC9jb25mbGljdC5jIHwgMTcgKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9u cygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMv c3Vic2NyaXB0aW9uY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21k cy5jCmluZGV4IDg4ZjIyYmJiMjg2Li42NzMxMWE2NWUyOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRz L3N1YnNjcmlwdGlvbmNtZHMuYwpAQCAtNjUxLDcgKzY1MSw2IEBAIENyZWF0ZVN1YnNjcmlwdGlv bihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJdWlu dDMyCQlzdXBwb3J0ZWRfb3B0czsKIAlTdWJPcHRzCQlvcHRzID0gezB9OwogCUFjbFJlc3VsdAlh Y2xyZXN1bHQ7Ci0JT2lkCQkJbG9ncmVsaWQgPSBJbnZhbGlkT2lkOwogCiAJLyoKIAkgKiBQYXJz ZSBhbmQgY2hlY2sgb3B0aW9ucy4KQEAgLTg0NCwyMiArODQzLDQ1IEBAIENyZWF0ZVN1YnNjcmlw dGlvbihQYXJzZVN0YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJ dmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9nZGVzdCAtIDFdID0KIAkJ Q1N0cmluZ0dldFRleHREYXR1bShDb25mbGljdExvZ0Rlc3ROYW1lc1tvcHRzLmNvbmZsaWN0bG9n ZGVzdF0pOwogCisJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9ncmVs aWQgLSAxXSA9CisJCQkJCQkJCQlPYmplY3RJZEdldERhdHVtKEludmFsaWRPaWQpOworCisJdHVw ID0gaGVhcF9mb3JtX3R1cGxlKFJlbGF0aW9uR2V0RGVzY3IocmVsKSwgdmFsdWVzLCBudWxscyk7 CisKKwkvKiBJbnNlcnQgdHVwbGUgaW50byBjYXRhbG9nLiAqLworCUNhdGFsb2dUdXBsZUluc2Vy dChyZWwsIHR1cCk7CisJLy9oZWFwX2ZyZWV0dXBsZSh0dXApOworCiAJLyoKIAkgKiBJZiBsb2dn aW5nIHRvIGEgdGFibGUgaXMgcmVxdWlyZWQsIHBoeXNpY2FsbHkgY3JlYXRlIGl0IG5vdy4gV2Ug Y3JlYXRlCi0JICogdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBoZXJlIHNvIGl0cyByZWxhdGlvbiBP SUQgY2FuIGJlIHN0b3JlZCB3aGVuCi0JICogaW5zZXJ0aW5nIHRoZSBwZ19zdWJzY3JpcHRpb24g dHVwbGUgYmVsb3cuCisJICogdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBoZXJlLiAgQWxzbyB1cGRh dGUgdGhlIHBnX3N1YnNjcmlwdGlvbiByb3cKKwkgKiBhZnRlciBjcmVhdGluZyB0aGUgY29uZmxp Y3QgbG9nIHRhYmxlIHdpdGggaXRzIHJlbG9pZC4KIAkgKi8KIAlpZiAoQ09ORkxJQ1RTX0xPR0dF RF9UT19UQUJMRShvcHRzLmNvbmZsaWN0bG9nZGVzdCkpCi0JCWxvZ3JlbGlkID0gY3JlYXRlX2Nv bmZsaWN0X2xvZ190YWJsZShzdWJpZCwgc3RtdC0+c3VibmFtZSwgb3duZXIpOworCXsKKwkJYm9v bAkJcmVwbGFjZXNbTmF0dHNfcGdfc3Vic2NyaXB0aW9uXTsKKwkJT2lkCQkJbG9ncmVsaWQgPQor CQkJCWNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoc3ViaWQsIHN0bXQtPnN1Ym5hbWUsIG93bmVy KTsKIAotCS8qIFN0b3JlIHRhYmxlIE9JRCBpbiB0aGUgY2F0YWxvZy4gKi8KLQl2YWx1ZXNbQW51 bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dyZWxpZCAtIDFdID0KLQkJCQkJCU9iamVj dElkR2V0RGF0dW0obG9ncmVsaWQpOworCQkvKiBGb3JtIGEgbmV3IHR1cGxlLiAqLworCQltZW1z ZXQodmFsdWVzLCAwLCBzaXplb2YodmFsdWVzKSk7CisJCW1lbXNldChudWxscywgZmFsc2UsIHNp emVvZihudWxscykpOworCQltZW1zZXQocmVwbGFjZXMsIGZhbHNlLCBzaXplb2YocmVwbGFjZXMp KTsKIAotCXR1cCA9IGhlYXBfZm9ybV90dXBsZShSZWxhdGlvbkdldERlc2NyKHJlbCksIHZhbHVl cywgbnVsbHMpOworCQl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViY29uZmxpY3Rsb2dy ZWxpZCAtIDFdID0KKwkJCQkJCQkJCU9iamVjdElkR2V0RGF0dW0obG9ncmVsaWQpOworCQlyZXBs YWNlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25mbGljdGxvZ3JlbGlkIC0gMV0gPQorCQkJ CQkJCQkJdHJ1ZTsKKworCQkvKiBNYWtlIHN1YnNjcmlwdGlvbiB0dXBsZSB2aXNpYmxlIGJlZm9y ZSB1cGRhdGluZyBpdC4gKi8KKwkJQ29tbWFuZENvdW50ZXJJbmNyZW1lbnQoKTsKKworCQl0dXAg PSBoZWFwX21vZGlmeV90dXBsZSh0dXAsIFJlbGF0aW9uR2V0RGVzY3IocmVsKSwgdmFsdWVzLCBu dWxscywKKwkJCQkJCQkJcmVwbGFjZXMpOworCisJCUNhdGFsb2dUdXBsZVVwZGF0ZShyZWwsICZ0 dXAtPnRfc2VsZiwgdHVwKTsKKwl9CiAKLQkvKiBJbnNlcnQgdHVwbGUgaW50byBjYXRhbG9nLiAq LwotCUNhdGFsb2dUdXBsZUluc2VydChyZWwsIHR1cCk7CiAJaGVhcF9mcmVldHVwbGUodHVwKTsK IAogCXJlY29yZERlcGVuZGVuY3lPbk93bmVyKFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1Ymlk LCBvd25lcik7CkBAIC04NzYsMjUgKzg5OCw2IEBAIENyZWF0ZVN1YnNjcmlwdGlvbihQYXJzZVN0 YXRlICpwc3RhdGUsIENyZWF0ZVN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAJCXJlY29yZERlcGVu ZGVuY3lPbigmbXlzZWxmLCAmcmVmZXJlbmNlZCwgREVQRU5ERU5DWV9OT1JNQUwpOwogCX0KIAot CS8qCi0JICogSWYgY29uZmxpY3RzIGFyZSBsb2dzIHRvIHRhYmxlIGVzdGFibGlzaCBhbiBpbnRl cm5hbCBkZXBlbmRlbmN5Ci0JICogYmV0d2VlbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlIGFuZCB0 aGUgc3Vic2NyaXB0aW9uLgotCSAqCi0JICogV2UgdXNlIERFUEVOREVOQ1lfSU5URVJOQUwgdG8g c2lnbmlmeSB0aGF0IHRoZSB0YWJsZSdzIGxpZmVjeWNsZSBpcwotCSAqIHN0cmljdGx5IHRpZWQg dG8gdGhlIHN1YnNjcmlwdGlvbiwgc2ltaWxhciB0byBob3cgYSBUT0FTVCB0YWJsZSByZWxhdGVz Ci0JICogdG8gaXRzIG1haW4gdGFibGUgb3IgYSBzZXF1ZW5jZSByZWxhdGVzIHRvIGFuIGlkZW50 aXR5IGNvbHVtbi4KLQkgKgotCSAqIFRoaXMgZW5zdXJlcyB0aGUgY29uZmxpY3QgbG9nIHRhYmxl IGlzIGF1dG9tYXRpY2FsbHkgcmVhcGVkIGR1cmluZyBhCi0JICogRFJPUCBTVUJTQ1JJUFRJT04g dmlhIHBlcmZvcm1EZWxldGlvbigpLgotCSAqLwotCWlmIChDT05GTElDVFNfTE9HR0VEX1RPX1RB QkxFKG9wdHMuY29uZmxpY3Rsb2dkZXN0KSkKLQl7Ci0JCU9iamVjdEFkZHJlc3MgY2x0OwotCi0J CU9iamVjdEFkZHJlc3NTZXQoY2x0LCBSZWxhdGlvblJlbGF0aW9uSWQsIGxvZ3JlbGlkKTsKLQkJ cmVjb3JkRGVwZW5kZW5jeU9uKCZjbHQsICZteXNlbGYsIERFUEVOREVOQ1lfSU5URVJOQUwpOwot CX0KLQogCS8qCiAJICogQSByZXBsaWNhdGlvbiBvcmlnaW4gaXMgY3VycmVudGx5IGNyZWF0ZWQg Zm9yIGFsbCBzdWJzY3JpcHRpb25zLAogCSAqIGluY2x1ZGluZyB0aG9zZSB0aGF0IG9ubHkgY29u dGFpbiBzZXF1ZW5jZXMgb3IgYXJlIG90aGVyd2lzZSBlbXB0eS4KQEAgLTE1MDcsMjAgKzE1MTAs OCBAQCBhbHRlcl9zdWJfY29uZmxpY3Rsb2dkZXN0aW5hdGlvbihTdWJzY3JpcHRpb24gKnN1Yiwg Q29uZmxpY3RMb2dEZXN0IGxvZ2Rlc3QsCiAJCS8qIFRoZXJlIHdhcyBubyBwcmV2aW91cyBjb25m bGljdCBsb2cgdGFibGUuICovCiAJCWlmICh3YW50X3RhYmxlKQogCQl7Ci0JCQlPYmplY3RBZGRy ZXNzIGNsdDsKLQkJCU9iamVjdEFkZHJlc3Mgc3Vib2JqOwotCiAJCQlyZWxpZCA9IGNyZWF0ZV9j b25mbGljdF9sb2dfdGFibGUoc3ViLT5vaWQsIHN1Yi0+bmFtZSwgc3ViLT5vd25lcik7CiAJCQl1 cGRhdGVfcmVsaWQgPSB0cnVlOwotCi0JCQkvKgotCQkJICogRXN0YWJsaXNoIGFuIGludGVybmFs IGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlCi0JCQkgKiBhbmQgdGhl IHN1YnNjcmlwdGlvbi4gIEZvciBkZXRhaWxzIHJlZmVyIGNvbW1lbnRzIGluCi0JCQkgKiBDcmVh dGVTdWJzY3JpcHRpb24gZnVuY3Rpb24uCi0JCQkgKi8KLQkJCU9iamVjdEFkZHJlc3NTZXQoY2x0 LCBSZWxhdGlvblJlbGF0aW9uSWQsIHJlbGlkKTsKLQkJCU9iamVjdEFkZHJlc3NTZXQoc3Vib2Jq LCBTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWItPm9pZCk7Ci0JCQlyZWNvcmREZXBlbmRlbmN5 T24oJmNsdCwgJnN1Ym9iaiwgREVQRU5ERU5DWV9JTlRFUk5BTCk7CiAJCX0KIAl9CiAKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyBiL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYwppbmRleCA0Njk4OTkwN2IxZS4u Mjc4MzBjY2IwY2MgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwv Y29uZmxpY3QuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0 LmMKQEAgLTE3Niw2ICsxNzYsOCBAQCBjcmVhdGVfY29uZmxpY3RfbG9nX3RhYmxlKE9pZCBzdWJp ZCwgY2hhciAqc3VibmFtZSwgT2lkIHN1Ym93bmVyKQogewogCVR1cGxlRGVzYwl0dXBkZXNjOwog CU9pZAkJCXJlbGlkOworCU9iamVjdEFkZHJlc3MJbXlzZWxmOworCU9iamVjdEFkZHJlc3MJc3Vi YWRkcjsKIAljaGFyICAgIAlyZWxuYW1lW05BTUVEQVRBTEVOXTsKIAogCXNucHJpbnRmKHJlbG5h bWUsIE5BTUVEQVRBTEVOLCAicGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8ldSIsIHN1YmlkKTsK QEAgLTIxOSw2ICsyMjEsMjEgQEAgY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZShPaWQgc3ViaWQs IGNoYXIgKnN1Ym5hbWUsIE9pZCBzdWJvd25lcikKIAkJCQkJCQkJCSBOVUxMKTsgLyogdHlwYWRk cmVzcyAqLwogCUFzc2VydChPaWRJc1ZhbGlkKHJlbGlkKSk7CiAKKwkvKgorCSAqIEVzdGFibGlz aCBhbiBpbnRlcm5hbCBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBh bmQKKwkgKiB0aGUgc3Vic2NyaXB0aW9uLgorCSAqCisJICogV2UgdXNlIERFUEVOREVOQ1lfSU5U RVJOQUwgdG8gc2lnbmlmeSB0aGF0IHRoZSB0YWJsZSdzIGxpZmVjeWNsZSBpcworCSAqIHN0cmlj dGx5IHRpZWQgdG8gdGhlIHN1YnNjcmlwdGlvbiwgc2ltaWxhciB0byBob3cgYSBUT0FTVCB0YWJs ZSByZWxhdGVzCisJICogdG8gaXRzIG1haW4gdGFibGUgb3IgYSBzZXF1ZW5jZSByZWxhdGVzIHRv IGFuIGlkZW50aXR5IGNvbHVtbi4KKwkgKgorCSAqIFRoaXMgZW5zdXJlcyB0aGUgY29uZmxpY3Qg bG9nIHRhYmxlIGlzIGF1dG9tYXRpY2FsbHkgcmVhcGVkIGR1cmluZyBhCisJICogRFJPUCBTVUJT Q1JJUFRJT04gdmlhIHBlcmZvcm1EZWxldGlvbigpLgorCSAqLworCU9iamVjdEFkZHJlc3NTZXQo bXlzZWxmLCBSZWxhdGlvblJlbGF0aW9uSWQsIHJlbGlkKTsKKwlPYmplY3RBZGRyZXNzU2V0KHN1 YmFkZHIsIFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsIHN1YmlkKTsKKwlyZWNvcmREZXBlbmRlbmN5 T24oJm15c2VsZiwgJnN1YmFkZHIsIERFUEVOREVOQ1lfSU5URVJOQUwpOworCiAJLyogUmVsZWFz ZSB0dXBsZSBkZXNjcmlwdG9yIG1lbW9yeS4gKi8KIAlGcmVlVHVwbGVEZXNjKHR1cGRlc2MpOwog Ci0tIAoyLjQ5LjAKCg== --000000000000c198600653048635--