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 1wT5MV-000JCF-0S for pgsql-hackers@arkaria.postgresql.org; Fri, 29 May 2026 22:07:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wT5MT-004e5F-1K for pgsql-hackers@arkaria.postgresql.org; Fri, 29 May 2026 22:07:25 +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 1wT5MS-004e56-0B for pgsql-hackers@lists.postgresql.org; Fri, 29 May 2026 22:07:25 +0000 Received: from mail-lf1-x135.google.com ([2a00:1450:4864:20::135]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wT5MO-00000000BOH-1zBJ for pgsql-hackers@lists.postgresql.org; Fri, 29 May 2026 22:07:23 +0000 Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-5aa2c25c632so9976378e87.1 for ; Fri, 29 May 2026 15:07:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780092439; cv=none; d=google.com; s=arc-20240605; b=MRoVYAym4tPqRlhKEqIEEcxQFxAq4cUbaoeeNH+bcupGWXdd6G+yicohY2/BW2rXwx frn8tzVGUOWreMtgOAE0Q7C9MpsZsBV7RWGA/vfLsVRj7oWQQem51gyTIh3ISYwk2+P6 nD6mU8bxFeHAXb+XlJp4+VorRbP0ULI4T+Dqak7CxXPe2mLb9XgTE/lGv2sM+bcDRYc5 Etj5+CB1zvceCVwQKJ+RguDBYKWkWZeurKX9R/3iGcYnujYL2JwPv709ZBYy09X9vX1c fuJyTtL26PC9mEODRGN/u14IsuQEZ0zTH4+thX0IDnxkf5u29oPuTfXYEZqIDmVXHyzz LDEQ== 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=6uthuABPoVFZ4zd5j/MNebtwZkybj+padzwQfKJ5zU4=; fh=BL6XGyCO6dtD8ZKsr+k2sdKMxquL5bdd074avgyLO20=; b=PkbGrB7DXLo/juktWlZVzmio7vK2xMv7R5Ut4md5/rMrpAXUIfk+tYd+vp1E2UDeM4 mmE+GayKsm+FusWh5GoL1rqcSgTWUCwd+CyAitYbPja4l8+JoFEG9Djo9o5gYiySrLpC uBbQ/Q+s4BbU+GFxZivEHAUXte7oUG/wxaL6vgOouDvy1x/TNdmy5pV3vyPnXQBGY/KW k83Tmnb8uy8QhSFglFmL+K3Syl6IOprp4GEY3WQ8A/ib/gTSBRJBZ63VwLjXLBjMVq7s 3VGAK9IB8Td4OJDUdRLyPI+sre40nJTHsmJYjb3bCP1Pg8qdDa9TU8NvqZW4K9hlBYU4 fmkw==; 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=1780092439; x=1780697239; 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=6uthuABPoVFZ4zd5j/MNebtwZkybj+padzwQfKJ5zU4=; b=BmltXjKh5YQwCnwW4/rxyc4iA5m//rAN3fQAmBYW8/SPC2h/hZsiGcfRqbnJJSEUN+ 5CezI3qqhqJSie6BMjz03itxAlB60O6JPUcqLVFkc3j8Zrrc2E4zImuDGBnmtN7aj3nr M99ikSxYCFVvZYMmP3XXX/eTqmJ4GLCyddqTeZyxWEIG4Qz3N9ZJsAsye3zNkq918yfG C0fke9ZrHLmvubeMKJhcB/aMwt7eo8/4XTLdU91aSwyaZwduSuqrWC3sA+OmLADcI0Ui DeFPTOxz0XcuEVLn/Kl6rXSCaNyP/VlWUoselUSnJjTSfOuRyTu2vU5BpbxG+cmfYA0n 2WqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780092439; x=1780697239; 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=6uthuABPoVFZ4zd5j/MNebtwZkybj+padzwQfKJ5zU4=; b=KKk6+fOOVZcARCfX5bEGNNxkdsnAALPTIrPMB6qMXq67bPYliafrCuR5cPe16a94e7 TataYIS4J+47+7mx7qpMtudNRffw1ahdrDiqsbRkpS6IkFiRxvz3/vJXeb1wwAwc9buq /OAMroup5lepwg8fIBUb6QciPya84epirpe1IpGscr64aH76MFH72q7j0GInQpBBJCpM sQUqsnnMXhClZVVjkzqLutMNn61rjIpn7Ufj/vFtYPfYnC4DTiEeuV/DOrYmsqH8ekeu XeCxVUzCxdnJrqZK318SPlQjkO21UAeZrneKi5vB6O/8siDJCD4clUDoCd8qfTnCoe27 Jfrw== X-Forwarded-Encrypted: i=1; AFNElJ/0wnYK88GTU7TR3lPy+VjwqNJt0qYp/wgfAejY/LfYnNjM9Zd9K6Xa6caOAwT01+UB2fxEiUlXFU0UBeCE@lists.postgresql.org X-Gm-Message-State: AOJu0YzC5gAffW45KgqLo3ntpQKCeVT2pumolaSAwaMdIw/xsV4U8Gc9 FIwe7/2eHErHb7QcyrnaCFfdlQGcwV/o0NxMp8tld/Pjs3zxhhJ10uQ4r7IUxBTcsHb0uaYMUNu pI9iSjqI/chGZD4vkMyC/bjfl5GahX1A= X-Gm-Gg: Acq92OFsBH2gZ82jQAZGeCn9urlXIkA68SEeZ7qLbhMJTlNhw2oJ9/k+TmCRLlRnzRM tW1iJAylWEm/9sbCHDUjrYm486j7iLa2EtuZ9065yHU9htU8hsNqDYXLywZTfRZWZH1+p3cuFAk aic9YbUUiyF/sDwxBQ7conO7rjPxfJwt8/UZ/zxk61nMDDPRnWMarnVAJE6i6/w6vZg5F9QnoTy /WASPdffg6YThU9FXAHugtP32rABRL+NYd9Pmta2/KpLY6nBUPLs2sDt1g4D2dk86Hv7zBoOU3H 3zv7tKqS0q1vut//bDCfAZhTosUqS9KJ3UWaOfl1xg3g8mxZePc= X-Received: by 2002:a05:6512:401e:b0:5aa:b6a:7a8c with SMTP id 2adb3069b0e04-5aa60a50f7fmr475451e87.43.1780092439112; Fri, 29 May 2026 15:07:19 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dilip Kumar Date: Sat, 30 May 2026 03:36:59 +0530 X-Gm-Features: AVHnY4LmSzW7ckQsu8hjpwZPCgrvutjs-hy6L9GLn5ZovAYPwChmeQ2mLmRDV9A 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="000000000000804db50652fc1197" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000804db50652fc1197 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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. Also > > > > 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 like > > > remote_tuple and local_conflicts (the JSON columns)? > > > This may be a corner case, but if the tuple data becomes too large to > > > fit into an 8KB heap tuple, then the apply worker keeps failing while > > > 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. The > > large column values are truncated to 64 bytes." [1], so I wonder, if > > we follow this why we need toast entries? Did you tried any case where > > you are getting above ERROR? > > But in this case we are talking about the JSON column of the CLT which > 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 row 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. --=20 Regards, Dilip Kumar Google --000000000000804db50652fc1197 Content-Type: application/octet-stream; name="v42-0001-Add-configurable-conflict-log-table-for-Logical-.patch" Content-Disposition: attachment; filename="v42-0001-Add-configurable-conflict-log-table-for-Logical-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mprgzny20 RnJvbSAxOTg0MWE1NjE4ODBhOGFkMGQ1MDEwZDhmMDM2NzFmNGUxNGYxMjNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogRnJpLCAyOSBNYXkgMjAyNiAxNTowNToxNSArMDUzMApTdWJqZWN0OiBbUEFUQ0ggdjQy 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== --000000000000804db50652fc1197 Content-Type: application/octet-stream; name="v42-0002-Review-comment-fixes-for-Add-configurable-confli.patch" Content-Disposition: attachment; filename="v42-0002-Review-comment-fixes-for-Add-configurable-confli.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mprgznye1 RnJvbSA4NDM4MjUxNTdmMWUyZmE2MTIyNTQ3ZjQ0NWRkMGVlZWU1YzdjMDBiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgMTggTWF5IDIwMjYgMTA6MzQ6NDMgKzAwMDAKU3ViamVjdDogW1BBVENIIHY0MiAyLzVd IFJldmlldyBjb21tZW50IGZpeGVzIGZvciAiQWRkIGNvbmZpZ3VyYWJsZSBjb25mbGljdAogbG9n IHRhYmxlIGZvciBMb2dpY2FsIFJlcGxpY2F0aW9uIgoKUmV2aWV3IGNvbW1lbnQgZml4ZXMgZm9y ICJBZGQgY29uZmlndXJhYmxlIGNvbmZsaWN0IGxvZyB0YWJsZSBmb3IKTG9naWNhbCBSZXBsaWNh dGlvbiIKLS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jICAgICAgICAgICAgICAgfCAg NjEgKystLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9jYXRhbG9nLmMgICAgICAgICAgICAgIHwgIDEx ICstCiBzcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyAgICAgICAgICAgICAgICAgfCAgMzMgKy0K IHNyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMgICAgICAgICAgICB8ICAgNiArLQogc3Jj L2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5jICAgICAgIHwgIDE2ICstCiBzcmMvYmFj a2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMgICAgfCAzNDYgKysrKysrKysrLS0tLS0t LS0tLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgICAgICAgfCAgIDIg Ky0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgICAgICAgICAgICB8ICAgNyArLQog c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jIHwgMTUyICsrKysrKysr LQogc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXRhbG9nLmggICAgICAgICAgICAgIHwgICAyICstCiBz cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oICAgICAgfCAgMTYgKy0KIHNyYy9p bmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaCAgICB8ICAgMyAtCiBzcmMvaW5jbHVk ZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oICAgICAgICAgfCAgMTkgKy0KIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dCB8IDI0MSArKysrKysrLS0tLS0tLQogc3JjL3Rl c3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9uLnNxbCAgICAgIHwgIDUyICsrLS0KIDE1IGZpbGVz IGNoYW5nZWQsIDUzMyBpbnNlcnRpb25zKCspLCA0MzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvYWNs Y2hrLmMKaW5kZXggODRlZjUzMDRlMjIuLjE5YzU2OGY0NzA1IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9jYXRhbG9nL2FjbGNoay5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvYWNsY2hrLmMK QEAgLTMzMzcsMzMgKzMzMzcsNDIgQEAgcGdfY2xhc3NfYWNsbWFza19leHQoT2lkIHRhYmxlX29p ZCwgT2lkIHJvbGVpZCwgQWNsTW9kZSBtYXNrLAogCiAJY2xhc3NGb3JtID0gKEZvcm1fcGdfY2xh c3MpIEdFVFNUUlVDVCh0dXBsZSk7CiAKLQkvKgotCSAqIERlbnkgYW55b25lIHBlcm1pc3Npb24g dG8gdXBkYXRlIGEgc3lzdGVtIGNhdGFsb2cgdW5sZXNzCi0JICogcGdfYXV0aGlkLnJvbHN1cGVy IGlzIHNldC4KLQkgKgotCSAqIEFzIG9mIDcuNCB3ZSBoYXZlIHNvbWUgdXBkYXRhYmxlIHN5c3Rl bSB2aWV3czsgdGhvc2Ugc2hvdWxkbid0IGJlCi0JICogcHJvdGVjdGVkIGluIHRoaXMgd2F5LiAg QXNzdW1lIHRoZSB2aWV3IHJ1bGVzIGNhbiB0YWtlIGNhcmUgb2YKLQkgKiB0aGVtc2VsdmVzLiAg QUNMX1VTQUdFIGlzIGlmIHdlIGV2ZXIgaGF2ZSBzeXN0ZW0gc2VxdWVuY2VzLgotCSAqCi0JICog Rm9yIGNvbmZsaWN0IGxvZyB0YWJsZXMsIHdlIGFsbG93IG5vbi1zdXBlcnVzZXJzIHRvIHBlcmZv cm0gREVMRVRFCi0JICogYW5kIFRSVU5DQVRFIGZvciBtYWludGVuYW5jZSwgd2hpbGUgc3RpbGwg cmVzdHJpY3RpbmcgSU5TRVJULAotCSAqIFVQREFURSwgYW5kIFVTQUdFLgotCSAqLwotCWlmICgo bWFzayAmIChBQ0xfSU5TRVJUIHwgQUNMX1VQREFURSB8IEFDTF9ERUxFVEUgfCBBQ0xfVFJVTkNB VEUgfCBBQ0xfVVNBR0UpKSAmJgotCQlJc0NvbmZsaWN0Q2xhc3MoY2xhc3NGb3JtKSAmJgotCQkh c3VwZXJ1c2VyX2FyZyhyb2xlaWQpKQotCQltYXNrICY9IH4oQUNMX0lOU0VSVCB8IEFDTF9VUERB VEUgfCBBQ0xfVVNBR0UpOwotCWVsc2UgaWYgKChtYXNrICYgKEFDTF9JTlNFUlQgfCBBQ0xfVVBE QVRFIHwgQUNMX0RFTEVURSB8IEFDTF9UUlVOQ0FURSB8IEFDTF9VU0FHRSkpICYmCi0JCQlJc1N5 c3RlbUNsYXNzKHRhYmxlX29pZCwgY2xhc3NGb3JtKSAmJgotCQkJY2xhc3NGb3JtLT5yZWxraW5k ICE9IFJFTEtJTkRfVklFVyAmJgotCQkJIXN1cGVydXNlcl9hcmcocm9sZWlkKSkKLQkJCW1hc2sg Jj0gfihBQ0xfSU5TRVJUIHwgQUNMX1VQREFURSB8IEFDTF9ERUxFVEUgfCBBQ0xfVFJVTkNBVEUg fCBBQ0xfVVNBR0UpOwotCi0JLyoKLQkgKiBPdGhlcndpc2UsIHN1cGVydXNlcnMgYnlwYXNzIGFs bCBwZXJtaXNzaW9uLWNoZWNraW5nLgotCSAqLwotCWlmIChzdXBlcnVzZXJfYXJnKHJvbGVpZCkp CisJaWYgKCFzdXBlcnVzZXJfYXJnKHJvbGVpZCkpCisJeworCQlpZiAobWFzayAmIChBQ0xfSU5T RVJUIHwgQUNMX1VQREFURSB8IEFDTF9ERUxFVEUgfCBBQ0xfVFJVTkNBVEUgfCBBQ0xfVVNBR0Up KQorCQl7CisJCQlpZiAoSXNDb25mbGljdExvZ1RhYmxlQ2xhc3MoY2xhc3NGb3JtKSkKKwkJCXsK KwkJCQkvKgorCQkJCSAqIEZvciBjb25mbGljdCBsb2cgdGFibGVzLCBhbGxvdyBub24tc3VwZXJ1 c2VycyB0byBwZXJmb3JtCisJCQkJICogREVMRVRFIGFuZCBUUlVOQ0FURSBmb3IgY2xlYW51cCBh bmQgbWFpbnRlbmFuY2UuIEFsc28gYWxsb3cKKwkJCQkgKiBJTlNFUlQgYW5kIFVQREFURSB0byBw YXNzIEFDTCBjaGVja3Mgc28gdGhhdCBsYXRlciBjaGVja3MKKwkJCQkgKiBpbiBDaGVja1ZhbGlk UmVzdWx0UmVsKCkgY2FuIHJhaXNlIHRoZSBzcGVjaWZpYyBlcnJvciBpbnN0ZWFkCisJCQkJICog b2YgYSBnZW5lcmljIHBlcm1pc3Npb24gZGVuaWVkIGVycm9yLiBTdGlsbCByZXN0cmljdCBVU0FH RSBmb3IKKwkJCQkgKiBub24tc3VwZXJ1c2Vycy4KKwkJCQkgKi8KKwkJCQltYXNrICY9IH4oQUNM X1VTQUdFKTsKKwkJCX0KKwkJCWVsc2UgaWYgKElzU3lzdGVtQ2xhc3ModGFibGVfb2lkLCBjbGFz c0Zvcm0pICYmCisJCQkJY2xhc3NGb3JtLT5yZWxraW5kICE9IFJFTEtJTkRfVklFVykKKwkJCXsK KwkJCQkvKgorCQkJCSogRGVueSBhbnlvbmUgcGVybWlzc2lvbiB0byB1cGRhdGUgYSBzeXN0ZW0g Y2F0YWxvZyB1bmxlc3MKKwkJCQkqIHBnX2F1dGhpZC5yb2xzdXBlciBpcyBzZXQuCisJCQkJKgor CQkJCSogQXMgb2YgNy40IHdlIGhhdmUgc29tZSB1cGRhdGFibGUgc3lzdGVtIHZpZXdzOyB0aG9z ZQorCQkJCSogc2hvdWxkbid0IGJlIHByb3RlY3RlZCBpbiB0aGlzIHdheS4gIEFzc3VtZSB0aGUg dmlldyBydWxlcworCQkJCSogY2FuIHRha2UgY2FyZSBvZiB0aGVtc2VsdmVzLiAgQUNMX1VTQUdF IGlzIGlmIHdlIGV2ZXIgaGF2ZQorCQkJCSogc3lzdGVtIHNlcXVlbmNlcy4KKwkJCQkqLworCQkJ CW1hc2sgJj0gfihBQ0xfSU5TRVJUIHwgQUNMX1VQREFURSB8IEFDTF9ERUxFVEUgfCBBQ0xfVFJV TkNBVEUgfAorCQkJCQkJICBBQ0xfVVNBR0UpOworCQkJfQorCQl9CisJfQorCWVsc2UKIAl7CisJ CS8qIFN1cGVydXNlcnMgYnlwYXNzIGFsbCBwZXJtaXNzaW9uLWNoZWNraW5nLiAqLwogCQlSZWxl YXNlU3lzQ2FjaGUodHVwbGUpOwogCQlyZXR1cm4gbWFzazsKIAl9CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jYXRhbG9nL2NhdGFsb2cuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvY2F0YWxvZy5j CmluZGV4IDQ1NzhjZDA3MTQwLi40NmQyN2VkMDJhOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9jYXRhbG9nLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9jYXRhbG9nLmMKQEAg LTg4LDcgKzg4LDcgQEAgSXNTeXN0ZW1DbGFzcyhPaWQgcmVsaWQsIEZvcm1fcGdfY2xhc3MgcmVs dHVwbGUpCiAJLyogSXNDYXRhbG9nUmVsYXRpb25PaWQgaXMgYSBiaXQgZmFzdGVyLCBzbyB0ZXN0 IHRoYXQgZmlyc3QgKi8KIAlyZXR1cm4gKElzQ2F0YWxvZ1JlbGF0aW9uT2lkKHJlbGlkKSB8fAog CQkJSXNUb2FzdENsYXNzKHJlbHR1cGxlKSB8fAotCQkJSXNDb25mbGljdENsYXNzKHJlbHR1cGxl KSk7CisJCQlJc0NvbmZsaWN0TG9nVGFibGVDbGFzcyhyZWx0dXBsZSkpOwogfQogCiAvKgpAQCAt MjMzLDExICsyMzMsMTQgQEAgSXNUb2FzdENsYXNzKEZvcm1fcGdfY2xhc3MgcmVsdHVwbGUpCiB9 CiAKIC8qCi0gKiBJc0NvbmZsaWN0Q2xhc3MgLSBDaGVjayBpZiB0aGUgZ2l2ZW4gcGdfY2xhc3Mg dHVwbGUgYmVsb25ncyB0byB0aGUgY29uZmxpY3QKLSAqCQkJCQkgbmFtZXNwYWNlLgorICogSXND b25mbGljdExvZ1RhYmxlQ2xhc3MKKyAqCQlUcnVlIGlmZiBGb3JtX3BnX2NsYXNzIHR1cGxlIHJl cHJlc2VudHMgYSBzdWJzY3JpcHRpb24tc3BlY2lmaWMKKyAqICAgICAgQ29uZmxpY3QgTG9nIFRh YmxlLgorICoKKyAqCQlEb2VzIG5vdCBwZXJmb3JtIGFueSBjYXRhbG9nIGFjY2Vzc2VzLgogICov CiBib29sCi1Jc0NvbmZsaWN0Q2xhc3MoRm9ybV9wZ19jbGFzcyByZWx0dXBsZSkKK0lzQ29uZmxp Y3RMb2dUYWJsZUNsYXNzKEZvcm1fcGdfY2xhc3MgcmVsdHVwbGUpCiB7CiAJT2lkCQkJcmVsbmFt ZXNwYWNlID0gcmVsdHVwbGUtPnJlbG5hbWVzcGFjZTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY2F0YWxvZy9oZWFwLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYwppbmRleCA3MmJk N2ZhYWYyZC4uM2I2YTE2M2MxODQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVh cC5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCkBAIC0zMDUsMjQgKzMwNSwzMSBA QCBoZWFwX2NyZWF0ZShjb25zdCBjaGFyICpyZWxuYW1lLAogCUFzc2VydChPaWRJc1ZhbGlkKHJl bGlkKSk7CiAKIAkvKgotCSAqIERvbid0IGFsbG93IGNyZWF0aW5nIHJlbGF0aW9ucyBpbiBwZ19j YXRhbG9nIGRpcmVjdGx5LCBldmVuIHRob3VnaCBpdAotCSAqIGlzIGFsbG93ZWQgdG8gbW92ZSB1 c2VyIGRlZmluZWQgcmVsYXRpb25zIHRoZXJlLiBTZW1hbnRpY3Mgd2l0aCBzZWFyY2gKLQkgKiBw YXRocyBpbmNsdWRpbmcgcGdfY2F0YWxvZyBhcmUgdG9vIGNvbmZ1c2luZyBmb3Igbm93LgorCSAq IERvbid0IGFsbG93IGNyZWF0aW5nIHJlbGF0aW9ucyBpbiBwZ19jYXRhbG9nIG9yIHBnX2NvbmZs aWN0IGRpcmVjdGx5LAorCSAqIGV2ZW4gdGhvdWdoIGl0IGlzIGFsbG93ZWQgdG8gbW92ZSB1c2Vy IGRlZmluZWQgcmVsYXRpb25zIHRoZXJlLiBTZW1hbnRpY3MKKwkgKiB3aXRoIHNlYXJjaCBwYXRo cyBpbmNsdWRpbmcgcGdfY2F0YWxvZyBhcmUgdG9vIGNvbmZ1c2luZyBmb3Igbm93LgogCSAqCiAJ ICogQnV0IGFsbG93IGNyZWF0aW5nIGluZGV4ZXMgb24gcmVsYXRpb25zIGluIHBnX2NhdGFsb2cg ZXZlbiBpZgogCSAqIGFsbG93X3N5c3RlbV90YWJsZV9tb2RzID0gb2ZmLCB1cHBlciBsYXllcnMg YWxyZWFkeSBndWFyYW50ZWUgaXQncyBvbiBhCiAJICogdXNlciBkZWZpbmVkIHJlbGF0aW9uLCBu b3QgYSBzeXN0ZW0gb25lLgogCSAqLwotCWlmICghYWxsb3dfc3lzdGVtX3RhYmxlX21vZHMgJiYK LQkJKChJc0NhdGFsb2dOYW1lc3BhY2UocmVsbmFtZXNwYWNlKSAmJiByZWxraW5kICE9IFJFTEtJ TkRfSU5ERVgpIHx8Ci0JCSBJc1RvYXN0TmFtZXNwYWNlKHJlbG5hbWVzcGFjZSkgfHwKLQkJIElz Q29uZmxpY3ROYW1lc3BhY2UocmVsbmFtZXNwYWNlKSkgJiYKLQkJSXNOb3JtYWxQcm9jZXNzaW5n TW9kZSgpKQotCQllcmVwb3J0KEVSUk9SLAotCQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJ RU5UX1BSSVZJTEVHRSksCi0JCQkJIGVycm1zZygicGVybWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRl IFwiJXMuJXNcIiIsCi0JCQkJCQlnZXRfbmFtZXNwYWNlX25hbWUocmVsbmFtZXNwYWNlKSwgcmVs bmFtZSksCi0JCQkJIGVycmRldGFpbCgiU3lzdGVtIGNhdGFsb2cgbW9kaWZpY2F0aW9ucyBhcmUg Y3VycmVudGx5IGRpc2FsbG93ZWQuIikpKTsKKwlpZiAoIWFsbG93X3N5c3RlbV90YWJsZV9tb2Rz ICYmIElzTm9ybWFsUHJvY2Vzc2luZ01vZGUoKSkKKwl7CisJCWlmICgoSXNDYXRhbG9nTmFtZXNw YWNlKHJlbG5hbWVzcGFjZSkgJiYgcmVsa2luZCAhPSBSRUxLSU5EX0lOREVYKSB8fAorCQkJSXNU b2FzdE5hbWVzcGFjZShyZWxuYW1lc3BhY2UpKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVy cmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUFJJVklMRUdFKSwKKwkJCQkJIGVycm1zZygicGVy bWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRlIFwiJXMuJXNcIiIsCisJCQkJCQkJZ2V0X25hbWVzcGFj ZV9uYW1lKHJlbG5hbWVzcGFjZSksIHJlbG5hbWUpLAorCQkJCQkgZXJyZGV0YWlsKCJTeXN0ZW0g Y2F0YWxvZyBtb2RpZmljYXRpb25zIGFyZSBjdXJyZW50bHkgZGlzYWxsb3dlZC4iKSkpOworCisJ CWlmIChJc0NvbmZsaWN0TmFtZXNwYWNlKHJlbG5hbWVzcGFjZSkpCisJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9QUklWSUxFR0UpLAorCQkJCQkg ZXJybXNnKCJwZXJtaXNzaW9uIGRlbmllZCB0byBjcmVhdGUgXCIlcy4lc1wiIiwKKwkJCQkJIGdl dF9uYW1lc3BhY2VfbmFtZShyZWxuYW1lc3BhY2UpLCByZWxuYW1lKSwKKwkJCQkJIGVycmRldGFp bCgiQ29uZmxpY3Qgc2NoZW1hIG1vZGlmaWNhdGlvbnMgYXJlIGN1cnJlbnRseSBkaXNhbGxvd2Vk LiIpKSk7CisJfQogCiAJKnJlbGZyb3plbnhpZCA9IEludmFsaWRUcmFuc2FjdGlvbklkOwogCSpy ZWxtaW5teGlkID0gSW52YWxpZE11bHRpWGFjdElkOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9uYW1lc3BhY2UuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMKaW5k ZXggYzM1ZmNmNTdmZDQuLjViZDliZTM5ODNlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRh bG9nL25hbWVzcGFjZS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvbmFtZXNwYWNlLmMKQEAg LTM1MjQsNyArMzUyNCw3IEBAIExvb2t1cENyZWF0aW9uTmFtZXNwYWNlKGNvbnN0IGNoYXIgKm5z cG5hbWUpCiAgKiBDb21tb24gY2hlY2tzIG9uIHN3aXRjaGluZyBuYW1lc3BhY2VzLgogICoKICAq IFdlIGNvbXBsYWluIGlmIGVpdGhlciB0aGUgb2xkIG9yIG5ldyBuYW1lc3BhY2VzIGlzIGEgdGVt cG9yYXJ5IHNjaGVtYSwKLSAqIHRlbXBvcmFyeSB0b2FzdCBzY2hlbWEsIHRoZSBUT0FTVCBzY2hl bWEsIG9yIHRoZSBDT05GTElDVCBzY2hlbWEuCisgKiB0ZW1wb3JhcnkgdG9hc3Qgc2NoZW1hLCB0 aGUgVE9BU1Qgc2NoZW1hLCBvciB0aGUgY29uZmxpY3Qgc2NoZW1hLgogICovCiB2b2lkCiBDaGVj a1NldE5hbWVzcGFjZShPaWQgb2xkTnNwT2lkLCBPaWQgbnNwT2lkKQpAQCAtMzU0MSwxMSArMzU0 MSwxMSBAQCBDaGVja1NldE5hbWVzcGFjZShPaWQgb2xkTnNwT2lkLCBPaWQgbnNwT2lkKQogCQkJ CShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKIAkJCQkgZXJybXNnKCJj YW5ub3QgbW92ZSBvYmplY3RzIGludG8gb3Igb3V0IG9mIFRPQVNUIHNjaGVtYSIpKSk7CiAKLQkv KiBzaW1pbGFybHkgZm9yIENPTkZMSUNUIHNjaGVtYSAqLworCS8qIHNpbWlsYXJseSBmb3IgY29u ZmxpY3Qgc2NoZW1hICovCiAJaWYgKG5zcE9pZCA9PSBQR19DT05GTElDVF9OQU1FU1BBQ0UgfHwg b2xkTnNwT2lkID09IFBHX0NPTkZMSUNUX05BTUVTUEFDRSkKIAkJZXJlcG9ydChFUlJPUiwKIAkJ CQkoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCi0JCQkJIGVycm1zZygi Y2Fubm90IG1vdmUgb2JqZWN0cyBpbnRvIG9yIG91dCBvZiBDT05GTElDVCBzY2hlbWEiKSkpOwor CQkJCSBlcnJtc2coImNhbm5vdCBtb3ZlIG9iamVjdHMgaW50byBvciBvdXQgb2YgdGhlIGNvbmZs aWN0IHNjaGVtYSIpKSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L3BnX3B1YmxpY2F0aW9uLmMgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMK aW5kZXggYzY4MDM1NmExMGIuLjkzNzkxMjEwZTM1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j YXRhbG9nL3BnX3B1YmxpY2F0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wdWJs aWNhdGlvbi5jCkBAIC05Miw2ICs5MiwxMyBAQCBjaGVja19wdWJsaWNhdGlvbl9hZGRfcmVsYXRp b24oUHVibGljYXRpb25SZWxJbmZvICpwcmkpCiAJCQkJIGVycm1zZyhlcnJvcm1zZywgcmVsbmFt ZSksCiAJCQkJIGVycmRldGFpbCgiVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3Ig c3lzdGVtIHRhYmxlcy4iKSkpOwogCisJLyogQ2FuJ3QgYmUgY29uZmxpY3QgbG9nIHRhYmxlICov CisJaWYgKElzQ29uZmxpY3ROYW1lc3BhY2UoUmVsYXRpb25HZXROYW1lc3BhY2UodGFyZ2V0cmVs KSkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFN RVRFUl9WQUxVRSksCisJCQkJIGVycm1zZyhlcnJvcm1zZywgcmVsbmFtZSksCisJCQkJIGVycmRl dGFpbCgiVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgY29uZmxpY3QgbG9nIHRh Ymxlcy4iKSkpOworCiAJLyogVU5MT0dHRUQgYW5kIFRFTVAgcmVsYXRpb25zIGNhbm5vdCBiZSBw YXJ0IG9mIHB1YmxpY2F0aW9uLiAqLwogCWlmICh0YXJnZXRyZWwtPnJkX3JlbC0+cmVscGVyc2lz dGVuY2UgPT0gUkVMUEVSU0lTVEVOQ0VfVEVNUCkKIAkJZXJlcG9ydChFUlJPUiwKQEAgLTEwMywx MyArMTEwLDYgQEAgY2hlY2tfcHVibGljYXRpb25fYWRkX3JlbGF0aW9uKFB1YmxpY2F0aW9uUmVs SW5mbyAqcHJpKQogCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUp LAogCQkJCSBlcnJtc2coZXJyb3Jtc2csIHJlbG5hbWUpLAogCQkJCSBlcnJkZXRhaWwoIlRoaXMg b3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHVubG9nZ2VkIHRhYmxlcy4iKSkpOwotCi0J LyogQ2FuJ3QgYmUgY29uZmxpY3QgbG9nIHRhYmxlICovCi0JaWYgKElzQ29uZmxpY3ROYW1lc3Bh Y2UoUmVsYXRpb25HZXROYW1lc3BhY2UodGFyZ2V0cmVsKSkpCi0JCWVyZXBvcnQoRVJST1IsCi0J CQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFNRVRFUl9WQUxVRSksCi0JCQkJIGVycm1z ZyhlcnJvcm1zZywgcmVsbmFtZSksCi0JCQkJIGVycmRldGFpbCgiVGhpcyBvcGVyYXRpb24gaXMg bm90IHN1cHBvcnRlZCBmb3IgY29uZmxpY3QgbG9nIHRhYmxlcy4iKSkpOwogfQogCiAvKgpAQCAt MTY1LDcgKzE2NSw3IEBAIGlzX3B1Ymxpc2hhYmxlX2NsYXNzKE9pZCByZWxpZCwgRm9ybV9wZ19j bGFzcyByZWx0dXBsZSkKIAkJCXJlbHR1cGxlLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElUSU9O RURfVEFCTEUgfHwKIAkJCXJlbHR1cGxlLT5yZWxraW5kID09IFJFTEtJTkRfU0VRVUVOQ0UpICYm CiAJCSFJc0NhdGFsb2dSZWxhdGlvbk9pZChyZWxpZCkgJiYKLQkJIUlzQ29uZmxpY3RDbGFzcyhy ZWx0dXBsZSkgJiYKKwkJIUlzQ29uZmxpY3RMb2dUYWJsZUNsYXNzKHJlbHR1cGxlKSAmJgogCQly ZWx0dXBsZS0+cmVscGVyc2lzdGVuY2UgPT0gUkVMUEVSU0lTVEVOQ0VfUEVSTUFORU5UICYmCiAJ CXJlbGlkID49IEZpcnN0Tm9ybWFsT2JqZWN0SWQ7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJz Y3JpcHRpb25jbWRzLmMKaW5kZXggYWZhMTQwMWY1MjEuLjg4ZjIyYmJiMjg2IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKKysrIGIvc3JjL2JhY2tl bmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCkBAIC0yMSwxMiArMjEsMTAgQEAKICNpbmNs dWRlICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImNhdGFsb2cvY2F0YWxvZy5oIgogI2luY2x1 ZGUgImNhdGFsb2cvZGVwZW5kZW5jeS5oIgotI2luY2x1ZGUgImNhdGFsb2cvaGVhcC5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvaW5kZXhpbmcuaCIKICNpbmNsdWRlICJjYXRhbG9nL25hbWVzcGFjZS5o IgogI2luY2x1ZGUgImNhdGFsb2cvb2JqZWN0YWNjZXNzLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9v YmplY3RhZGRyZXNzLmgiCi0jaW5jbHVkZSAiY2F0YWxvZy9wZ19hbV9kLmgiCiAjaW5jbHVkZSAi Y2F0YWxvZy9wZ19hdXRoaWRfZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfZGF0YWJhc2VfZC5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGdfZm9yZWlnbl9zZXJ2ZXIuaCIKQEAgLTE0Niw3ICsxNDQs MTEgQEAgc3RhdGljIExpc3QgKm1lcmdlX3B1YmxpY2F0aW9ucyhMaXN0ICpvbGRwdWJsaXN0LCBM aXN0ICpuZXdwdWJsaXN0LCBib29sIGFkZHB1YiwKIHN0YXRpYyB2b2lkIFJlcG9ydFNsb3RDb25u ZWN0aW9uRXJyb3IoTGlzdCAqcnN0YXRlcywgT2lkIHN1YmlkLCBjaGFyICpzbG90bmFtZSwgY2hh ciAqZXJyKTsKIHN0YXRpYyB2b2lkIENoZWNrQWx0ZXJTdWJPcHRpb24oU3Vic2NyaXB0aW9uICpz dWIsIGNvbnN0IGNoYXIgKm9wdGlvbiwKIAkJCQkJCQkJYm9vbCBzbG90X25lZWRzX3VwZGF0ZSwg Ym9vbCBpc1RvcExldmVsKTsKLXN0YXRpYyBPaWQgY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZShP aWQgc3ViaWQsIGNoYXIgKnN1Ym5hbWUsIE9pZCBzdWJvd25lcik7CitzdGF0aWMgYm9vbCBhbHRl cl9zdWJfY29uZmxpY3Rsb2dkZXN0aW5hdGlvbihTdWJzY3JpcHRpb24gKnN1YiwKKwkJCQkJCQkJ CQkJIENvbmZsaWN0TG9nRGVzdCBsb2dkZXN0LAorCQkJCQkJCQkJCQkgT2lkICpjb25mbGljdHRh YmxlcmVsaWQpOworc3RhdGljIHZvaWQgZHJvcF9zdWJfZGVwZW5kZW5jaWVzKE9pZCBzdWJpZCwg Y2hhciAqc3VibmFtZSwKKwkJCQkJCQkJICBPaWQgc3ViY29uZmxpY3Rsb2dyZWxpZCk7CiAKIC8q CiAgKiBDb21tb24gb3B0aW9uIHBhcnNpbmcgZnVuY3Rpb24gZm9yIENSRUFURSBhbmQgQUxURVIg U1VCU0NSSVBUSU9OIGNvbW1hbmRzLgpAQCAtODM5LDEzICs4NDEsMTUgQEAgQ3JlYXRlU3Vic2Ny aXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwK IAl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3Vib3JpZ2luIC0gMV0gPQogCQlDU3RyaW5n R2V0VGV4dERhdHVtKG9wdHMub3JpZ2luKTsKIAotCS8qIEFsd2F5cyBzZXQgdGhlIGRlc3RpbmF0 aW9uLCBkZWZhdWx0IHdpbGwgYmUgJ2xvZycuICovCiAJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0 aW9uX3N1YmNvbmZsaWN0bG9nZGVzdCAtIDFdID0KIAkJQ1N0cmluZ0dldFRleHREYXR1bShDb25m bGljdExvZ0Rlc3ROYW1lc1tvcHRzLmNvbmZsaWN0bG9nZGVzdF0pOwogCi0JLyogSWYgbG9nZ2lu ZyB0byBhIHRhYmxlIGlzIHJlcXVpcmVkLCBwaHlzaWNhbGx5IGNyZWF0ZSB0aGUgdGFibGUuICov Ci0JaWYgKG9wdHMuY29uZmxpY3Rsb2dkZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX1RBQkxFIHx8 Ci0JCW9wdHMuY29uZmxpY3Rsb2dkZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX0FMTCkKKwkvKgor CSAqIElmIGxvZ2dpbmcgdG8gYSB0YWJsZSBpcyByZXF1aXJlZCwgcGh5c2ljYWxseSBjcmVhdGUg aXQgbm93LiBXZSBjcmVhdGUKKwkgKiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlIGhlcmUgc28gaXRz IHJlbGF0aW9uIE9JRCBjYW4gYmUgc3RvcmVkIHdoZW4KKwkgKiBpbnNlcnRpbmcgdGhlIHBnX3N1 YnNjcmlwdGlvbiB0dXBsZSBiZWxvdy4KKwkgKi8KKwlpZiAoQ09ORkxJQ1RTX0xPR0dFRF9UT19U QUJMRShvcHRzLmNvbmZsaWN0bG9nZGVzdCkpCiAJCWxvZ3JlbGlkID0gY3JlYXRlX2NvbmZsaWN0 X2xvZ190YWJsZShzdWJpZCwgc3RtdC0+c3VibmFtZSwgb3duZXIpOwogCiAJLyogU3RvcmUgdGFi bGUgT0lEIGluIHRoZSBjYXRhbG9nLiAqLwpAQCAtODcyLDYgKzg3NiwyNSBAQCBDcmVhdGVTdWJz Y3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10 LAogCQlyZWNvcmREZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQsIERFUEVOREVOQ1lf Tk9STUFMKTsKIAl9CiAKKwkvKgorCSAqIElmIGNvbmZsaWN0cyBhcmUgbG9ncyB0byB0YWJsZSBl c3RhYmxpc2ggYW4gaW50ZXJuYWwgZGVwZW5kZW5jeQorCSAqIGJldHdlZW4gdGhlIGNvbmZsaWN0 IGxvZyB0YWJsZSBhbmQgdGhlIHN1YnNjcmlwdGlvbi4KKwkgKgorCSAqIFdlIHVzZSBERVBFTkRF TkNZX0lOVEVSTkFMIHRvIHNpZ25pZnkgdGhhdCB0aGUgdGFibGUncyBsaWZlY3ljbGUgaXMKKwkg KiBzdHJpY3RseSB0aWVkIHRvIHRoZSBzdWJzY3JpcHRpb24sIHNpbWlsYXIgdG8gaG93IGEgVE9B U1QgdGFibGUgcmVsYXRlcworCSAqIHRvIGl0cyBtYWluIHRhYmxlIG9yIGEgc2VxdWVuY2UgcmVs YXRlcyB0byBhbiBpZGVudGl0eSBjb2x1bW4uCisJICoKKwkgKiBUaGlzIGVuc3VyZXMgdGhlIGNv bmZsaWN0IGxvZyB0YWJsZSBpcyBhdXRvbWF0aWNhbGx5IHJlYXBlZCBkdXJpbmcgYQorCSAqIERS T1AgU1VCU0NSSVBUSU9OIHZpYSBwZXJmb3JtRGVsZXRpb24oKS4KKwkgKi8KKwlpZiAoQ09ORkxJ Q1RTX0xPR0dFRF9UT19UQUJMRShvcHRzLmNvbmZsaWN0bG9nZGVzdCkpCisJeworCQlPYmplY3RB ZGRyZXNzIGNsdDsKKworCQlPYmplY3RBZGRyZXNzU2V0KGNsdCwgUmVsYXRpb25SZWxhdGlvbklk LCBsb2dyZWxpZCk7CisJCXJlY29yZERlcGVuZGVuY3lPbigmY2x0LCAmbXlzZWxmLCBERVBFTkRF TkNZX0lOVEVSTkFMKTsKKwl9CisKIAkvKgogCSAqIEEgcmVwbGljYXRpb24gb3JpZ2luIGlzIGN1 cnJlbnRseSBjcmVhdGVkIGZvciBhbGwgc3Vic2NyaXB0aW9ucywKIAkgKiBpbmNsdWRpbmcgdGhv c2UgdGhhdCBvbmx5IGNvbnRhaW4gc2VxdWVuY2VzIG9yIGFyZSBvdGhlcndpc2UgZW1wdHkuCkBA IC0xNDQxLDYgKzE0NjQsNzAgQEAgQ2hlY2tBbHRlclN1Yk9wdGlvbihTdWJzY3JpcHRpb24gKnN1 YiwgY29uc3QgY2hhciAqb3B0aW9uLAogCX0KIH0KIAorLyoKKyAqIGFsdGVyX3N1Yl9jb25mbGlj dGxvZ2Rlc3RpbmF0aW9uCisgKgorICogV2hlbiB0aGUgc3Vic2NyaXB0aW9uJ3MgJ2NvbmZsaWN0 X2xvZ19kZXN0aW5hdGlvbicgaXMgY2hhbmdlZCwgdXBkYXRlIHRoZQorICogY29uZmxpY3QgbG9n IHRhYmxlIGlmIHJlcXVpcmVkLgorICoKKyAqIElmIHRoZSBuZXcgZGVzdGluYXRpb24gbm8gbG9u Z2VyIHJlcXVpcmVzIGEgY29uZmxpY3QgbG9nIHRhYmxlLCB0aGUgZXhpc3RpbmcKKyAqIGNvbmZs aWN0IGxvZyB0YWJsZSBhc3NvY2lhdGVkIHdpdGggdGhlIHN1YnNjcmlwdGlvbiBpcyByZW1vdmVk IHZpYSBpbnRlcm5hbAorICogZGVwZW5kZW5jeSBjbGVhbnVwIHRvIHByZXZlbnQgb3JwaGFuZWQg cmVsYXRpb25zLgorICoKKyAqIE9uIHN1Y2Nlc3MsICpjb25mbGljdHRhYmxlcmVsaWQgaXMgc2V0 IHRvIHRoZSBPSUQgb2YgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZQorICogdGhhdCB3YXMgY3JlYXRl ZCBvciB2YWxpZGF0ZWQsIG9yIHRvIEludmFsaWRPaWQgaWYgbm8gdGFibGUgaXMgcmVxdWlyZWQu CisgKgorICogUmV0dXJucyB0cnVlIGlmIHRoZSBzdWJzY3JpcHRpb24ncyBjb25mbGljdCBsb2cg dGFibGUgcmVmZXJlbmNlIG11c3QgYmUKKyAqIHVwZGF0ZWQgYXMgYSByZXN1bHQgb2YgdGhlIGRl c3RpbmF0aW9uIGNoYW5nZTsgZmFsc2Ugb3RoZXJ3aXNlLgorICovCitzdGF0aWMgYm9vbAorYWx0 ZXJfc3ViX2NvbmZsaWN0bG9nZGVzdGluYXRpb24oU3Vic2NyaXB0aW9uICpzdWIsIENvbmZsaWN0 TG9nRGVzdCBsb2dkZXN0LAorCQkJCQkJCQkgT2lkICpjb25mbGljdHRhYmxlcmVsaWQpCit7CisJ Q29uZmxpY3RMb2dEZXN0IG9sZF9kZXN0ID0gR2V0TG9nRGVzdGluYXRpb24oc3ViLT5jb25mbGlj dGxvZ2Rlc3QpOworCWJvb2wJCXdhbnRfdGFibGU7CisJYm9vbAkJaGFzX29sZHRhYmxlOworCWJv b2wJCXVwZGF0ZV9yZWxpZCA9IGZhbHNlOworCU9pZAkJCXJlbGlkID0gSW52YWxpZE9pZDsKKwor CXdhbnRfdGFibGUgPSBDT05GTElDVFNfTE9HR0VEX1RPX1RBQkxFKGxvZ2Rlc3QpOworCWhhc19v bGR0YWJsZSA9IENPTkZMSUNUU19MT0dHRURfVE9fVEFCTEUob2xkX2Rlc3QpOworCisJaWYgKGhh c19vbGR0YWJsZSkKKwl7CisJCS8qIFRoZXJlIGlzIGEgY29uZmxpY3QgbG9nIHRhYmxlIGFscmVh ZHkuICovCisJCWlmICghd2FudF90YWJsZSkKKwkJeworCQkJZHJvcF9zdWJfZGVwZW5kZW5jaWVz KHN1Yi0+b2lkLCBzdWItPm5hbWUsIHN1Yi0+Y29uZmxpY3Rsb2dyZWxpZCk7CisJCQl1cGRhdGVf cmVsaWQgPSB0cnVlOworCQl9CisJfQorCWVsc2UKKwl7CisJCS8qIFRoZXJlIHdhcyBubyBwcmV2 aW91cyBjb25mbGljdCBsb2cgdGFibGUuICovCisJCWlmICh3YW50X3RhYmxlKQorCQl7CisJCQlP YmplY3RBZGRyZXNzIGNsdDsKKwkJCU9iamVjdEFkZHJlc3Mgc3Vib2JqOworCisJCQlyZWxpZCA9 IGNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoc3ViLT5vaWQsIHN1Yi0+bmFtZSwgc3ViLT5vd25l cik7CisJCQl1cGRhdGVfcmVsaWQgPSB0cnVlOworCisJCQkvKgorCQkJICogRXN0YWJsaXNoIGFu IGludGVybmFsIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlCisJCQkg KiBhbmQgdGhlIHN1YnNjcmlwdGlvbi4gIEZvciBkZXRhaWxzIHJlZmVyIGNvbW1lbnRzIGluCisJ CQkgKiBDcmVhdGVTdWJzY3JpcHRpb24gZnVuY3Rpb24uCisJCQkgKi8KKwkJCU9iamVjdEFkZHJl c3NTZXQoY2x0LCBSZWxhdGlvblJlbGF0aW9uSWQsIHJlbGlkKTsKKwkJCU9iamVjdEFkZHJlc3NT ZXQoc3Vib2JqLCBTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWItPm9pZCk7CisJCQlyZWNvcmRE ZXBlbmRlbmN5T24oJmNsdCwgJnN1Ym9iaiwgREVQRU5ERU5DWV9JTlRFUk5BTCk7CisJCX0KKwl9 CisKKwkqY29uZmxpY3R0YWJsZXJlbGlkID0gcmVsaWQ7CisJcmV0dXJuIHVwZGF0ZV9yZWxpZDsK K30KKwogLyoKICAqIEFsdGVyIHRoZSBleGlzdGluZyBzdWJzY3JpcHRpb24uCiAgKi8KQEAgLTE4 MDYsNTQgKzE4OTMsMjMgQEAgQWx0ZXJTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBB bHRlclN1YnNjcmlwdGlvblN0bXQgKnN0bXQsCiAKIAkJCQkJaWYgKG9wdHMuY29uZmxpY3Rsb2dk ZXN0ICE9IG9sZF9kZXN0KQogCQkJCQl7Ci0JCQkJCQlib29sIHdhbnRfdGFibGUgPSAob3B0cy5j b25mbGljdGxvZ2Rlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfVEFCTEUgfHwKLQkJCQkJCQkJCQkg ICBvcHRzLmNvbmZsaWN0bG9nZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpOwotCQkJCQkJ Ym9vbCBoYXNfb2xkdGFibGUgPSAob2xkX2Rlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfVEFCTEUg fHwKLQkJCQkJCQkJCQkJIG9sZF9kZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX0FMTCk7CisJCQkJ CQlib29sCQl1cGRhdGVfcmVsaWQ7CisJCQkJCQlPaWQJCQlyZWxpZCA9IEludmFsaWRPaWQ7CiAK IAkJCQkJCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJjb25mbGljdGxvZ2Rlc3QgLSAx XSA9CiAJCQkJCQkJQ1N0cmluZ0dldFRleHREYXR1bShDb25mbGljdExvZ0Rlc3ROYW1lc1tvcHRz LmNvbmZsaWN0bG9nZGVzdF0pOwogCQkJCQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRpb25f c3ViY29uZmxpY3Rsb2dkZXN0IC0gMV0gPSB0cnVlOwogCi0JCQkJCQlpZiAod2FudF90YWJsZSAm JiAhaGFzX29sZHRhYmxlKQorCQkJCQkJdXBkYXRlX3JlbGlkID0gYWx0ZXJfc3ViX2NvbmZsaWN0 bG9nZGVzdGluYXRpb24oc3ViLAorCQkJCQkJCQkJCQkJCQkJCQkJb3B0cy5jb25mbGljdGxvZ2Rl c3QsCisJCQkJCQkJCQkJCQkJCQkJCQkmcmVsaWQpOworCQkJCQkJaWYgKHVwZGF0ZV9yZWxpZCkK IAkJCQkJCXsKLQkJCQkJCQlPaWQJCXJlbGlkOwotCi0JCQkJCQkJcmVsaWQgPSBjcmVhdGVfY29u ZmxpY3RfbG9nX3RhYmxlKHN1YmlkLCBzdWItPm5hbWUsCi0JCQkJCQkJCQkJCQkJCQkgIHN1Yi0+ b3duZXIpOwotCiAJCQkJCQkJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0 bG9ncmVsaWQgLSAxXSA9CiAJCQkJCQkJCQkJCQkJCU9iamVjdElkR2V0RGF0dW0ocmVsaWQpOwog CQkJCQkJCXJlcGxhY2VzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YmNvbmZsaWN0bG9ncmVsaWQg LSAxXSA9CiAJCQkJCQkJCQkJCQkJCXRydWU7CiAJCQkJCQl9Ci0JCQkJCQllbHNlIGlmICghd2Fu dF90YWJsZSAmJiBoYXNfb2xkdGFibGUpCi0JCQkJCQl7Ci0JCQkJCQkJT2JqZWN0QWRkcmVzcyBv YmplY3Q7Ci0KLQkJCQkJCQkvKgotCQkJCQkJCSAqIENvbmZsaWN0IGxvZyB0YWJsZXMgYXJlIHJl Y29yZGVkIGFzIGludGVybmFsCi0JCQkJCQkJICogZGVwZW5kZW5jaWVzIG9mIHRoZSBzdWJzY3Jp cHRpb24uICBEcm9wIHRoZQotCQkJCQkJCSAqIHRhYmxlIGlmIGl0IGlzIG5vdCByZXF1aXJlZCBh bnltb3JlIHRvIGF2b2lkCi0JCQkJCQkJICogc3RhbGUgb3Igb3JwaGFuZWQgcmVsYXRpb25zLgot CQkJCQkJCSAqCi0JCQkJCQkJICogWFhYOiBBdCBwcmVzZW50LCBvbmx5IGNvbmZsaWN0IGxvZyB0 YWJsZXMgYXJlCi0JCQkJCQkJICogbWFuYWdlZCB0aGlzIHdheS4gIEluIGZ1dHVyZSBpZiB3ZSBp bnRyb2R1Y2UKLQkJCQkJCQkgKiBhZGRpdGlvbmFsIGludGVybmFsIGRlcGVuZGVuY2llcywgd2Ug bWF5IG5lZWQKLQkJCQkJCQkgKiBhIHRhcmdldGVkIGRlbGV0aW9uIHRvIGF2b2lkIGRlbGV0aW9u IG9mIGFueQotCQkJCQkJCSAqIG90aGVyIG9iamVjdHMuCi0JCQkJCQkJICovCi0JCQkJCQkJT2Jq ZWN0QWRkcmVzc1NldChvYmplY3QsIFN1YnNjcmlwdGlvblJlbGF0aW9uSWQsCi0JCQkJCQkJCQkJ CSBzdWJpZCk7Ci0JCQkJCQkJcGVyZm9ybURlbGV0aW9uKCZvYmplY3QsIERST1BfQ0FTQ0FERSwK LQkJCQkJCQkJCQkJUEVSRk9STV9ERUxFVElPTl9JTlRFUk5BTCB8Ci0JCQkJCQkJCQkJCVBFUkZP Uk1fREVMRVRJT05fU0tJUF9PUklHSU5BTCk7Ci0KLQkJCQkJCQl2YWx1ZXNbQW51bV9wZ19zdWJz Y3JpcHRpb25fc3ViY29uZmxpY3Rsb2dyZWxpZCAtIDFdID0KLQkJCQkJCQkJCQkJCU9iamVjdElk R2V0RGF0dW0oSW52YWxpZE9pZCk7Ci0JCQkJCQkJcmVwbGFjZXNbQW51bV9wZ19zdWJzY3JpcHRp b25fc3ViY29uZmxpY3Rsb2dyZWxpZCAtIDFdID0KLQkJCQkJCQkJCQkJCXRydWU7Ci0JCQkJCQl9 CiAJCQkJCX0KIAkJCQl9CiAKQEAgLTIyNzIsNiArMjMyOCw0OSBAQCBBbHRlclN1YnNjcmlwdGlv bihQYXJzZVN0YXRlICpwc3RhdGUsIEFsdGVyU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAlyZXR1 cm4gbXlzZWxmOwogfQogCisvKgorICogZHJvcF9zdWJfZGVwZW5kZW5jaWVzCisgKgorICogVGhl IGNvbmZsaWN0IGxvZyB0YWJsZSBpcyByZWdpc3RlcmVkIGFzIGFuIGludGVybmFsIGRlcGVuZGVu Y3kgb2YgdGhlCisgKiBzdWJzY3JpcHRpb24uIFRoaXMgZnVuY3Rpb24gcmVtb3ZlcyB0aGUgZGVw ZW5kZW5jeSBieSBwZXJmb3JtaW5nIGEKKyAqIGNhc2NhZGluZyBkZWxldGlvbiBvbiB0aGUgc3Vi c2NyaXB0aW9uIG9iamVjdCwgd2hpY2ggaW4gdHVybiBkcm9wcyB0aGUKKyAqIGFzc29jaWF0ZWQg Y29uZmxpY3QgbG9nIHRhYmxlLgorICoKKyAqIFRoaXMgaXMgdXNlZCB0byBjbGVhbiB1cCBjb25m bGljdCBsb2cgdGFibGVzIHRoYXQgYXJlIG5vIGxvbmdlciByZXF1aXJlZCwKKyAqIHByZXZlbnRp bmcgYWNjdW11bGF0aW9uIG9mIHN0YWxlIG9yIG9ycGhhbmVkIHJlbGF0aW9ucy4KKyAqCisgKiBO T1RFOgorICogT25seSBjb25mbGljdCBsb2cgdGFibGVzIGFyZSBjdXJyZW50bHkgbWFuYWdlZCB2 aWEgdGhpcyBpbnRlcm5hbCBkZXBlbmRlbmN5CisgKiBtZWNoYW5pc20uCisgKi8KK3N0YXRpYyB2 b2lkCitkcm9wX3N1Yl9kZXBlbmRlbmNpZXMoT2lkIHN1YmlkLCBjaGFyICpzdWJuYW1lLCBPaWQg c3ViY29uZmxpY3Rsb2dyZWxpZCkKK3sKKwkvKiBEcm9wIGFueSBkZXBlbmRlbnQgY29uZmxpY3Qg bG9nIHRhYmxlICovCisJaWYgKE9pZElzVmFsaWQoc3ViY29uZmxpY3Rsb2dyZWxpZCkpCisJewor CQlPYmplY3RBZGRyZXNzIG9iamVjdDsKKwkJY2hhciAJCSAqY29uZmxpY3RyZWxuYW1lOworCisJ CWNvbmZsaWN0cmVsbmFtZSA9IGdldF9yZWxfbmFtZShzdWJjb25mbGljdGxvZ3JlbGlkKTsKKwkJ QXNzZXJ0KGNvbmZsaWN0cmVsbmFtZSk7CisKKwkJLyoKKwkJICogQnkgdXNpbmcgUEVSRk9STV9E RUxFVElPTl9TS0lQX09SSUdJTkFMLCB3ZSBlbnN1cmUgdGhhdCBvbmx5IHRoZQorCQkgKiBjb25m bGljdCBsb2cgdGFibGUgaXMgZGVsZXRlZCB3aGlsZSB0aGUgc3Vic2NyaXB0aW9uIHJlbWFpbnMu CisJCSAqLworCQlPYmplY3RBZGRyZXNzU2V0KG9iamVjdCwgU3Vic2NyaXB0aW9uUmVsYXRpb25J ZCwgc3ViaWQpOworCQlwZXJmb3JtRGVsZXRpb24oJm9iamVjdCwgRFJPUF9DQVNDQURFLAorCQkJ CQkJUEVSRk9STV9ERUxFVElPTl9JTlRFUk5BTCB8CisJCQkJCQlQRVJGT1JNX0RFTEVUSU9OX1NL SVBfT1JJR0lOQUwpOworCisJCWVyZXBvcnQoTk9USUNFLAorCQkJCWVycm1zZygiZHJvcHBlZCBj b25mbGljdCBsb2cgdGFibGUgXCIlc1wiIGZvciBzdWJzY3JpcHRpb24gXCIlc1wiIiwKKwkJCQkJ CWdldF9xdWFsaWZpZWRfb2JqbmFtZShQR19DT05GTElDVF9OQU1FU1BBQ0UsIGNvbmZsaWN0cmVs bmFtZSksCisJCQkJCQlzdWJuYW1lKSk7CisJfQorfQorCiAvKgogICogRHJvcCBhIHN1YnNjcmlw dGlvbgogICovCkBAIC0yMjgzLDYgKzIzODIsNyBAQCBEcm9wU3Vic2NyaXB0aW9uKERyb3BTdWJz Y3JpcHRpb25TdG10ICpzdG10LCBib29sIGlzVG9wTGV2ZWwpCiAJSGVhcFR1cGxlCXR1cDsKIAlP aWQJCQlzdWJpZDsKIAlPaWQJCQlzdWJvd25lcjsKKwlPaWQJCQlzdWJjb25mbGljdGxvZ3JlbGlk OwogCURhdHVtCQlkYXR1bTsKIAlib29sCQlpc251bGw7CiAJY2hhcgkgICAqc3VibmFtZTsKQEAg LTIyOTYsNyArMjM5Niw2IEBAIERyb3BTdWJzY3JpcHRpb24oRHJvcFN1YnNjcmlwdGlvblN0bXQg KnN0bXQsIGJvb2wgaXNUb3BMZXZlbCkKIAlGb3JtX3BnX3N1YnNjcmlwdGlvbiBmb3JtOwogCUxp c3QJICAgKnJzdGF0ZXM7CiAJYm9vbAkJbXVzdF91c2VfcGFzc3dvcmQ7Ci0JT2JqZWN0QWRkcmVz cwlvYmplY3Q7CiAKIAkvKgogCSAqIFRoZSBsYXVuY2hlciBtYXkgY29uY3VycmVudGx5IHN0YXJ0 IGEgbmV3IHdvcmtlciBmb3IgdGhpcyBzdWJzY3JpcHRpb24uCkBAIC0yMzI5LDYgKzI0MjgsNyBA QCBEcm9wU3Vic2NyaXB0aW9uKERyb3BTdWJzY3JpcHRpb25TdG10ICpzdG10LCBib29sIGlzVG9w TGV2ZWwpCiAJZm9ybSA9IChGb3JtX3BnX3N1YnNjcmlwdGlvbikgR0VUU1RSVUNUKHR1cCk7CiAJ c3ViaWQgPSBmb3JtLT5vaWQ7CiAJc3Vib3duZXIgPSBmb3JtLT5zdWJvd25lcjsKKwlzdWJjb25m bGljdGxvZ3JlbGlkID0gZm9ybS0+c3ViY29uZmxpY3Rsb2dyZWxpZDsKIAltdXN0X3VzZV9wYXNz d29yZCA9ICFzdXBlcnVzZXJfYXJnKHN1Ym93bmVyKSAmJiBmb3JtLT5zdWJwYXNzd29yZHJlcXVp cmVkOwogCiAJLyogbXVzdCBiZSBvd25lciAqLwpAQCAtMjQ4MywxOCArMjU4Myw3IEBAIERyb3BT dWJzY3JpcHRpb24oRHJvcFN1YnNjcmlwdGlvblN0bXQgKnN0bXQsIGJvb2wgaXNUb3BMZXZlbCkK IAlkZWxldGVEZXBlbmRlbmN5UmVjb3Jkc0ZvcihTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJp ZCwgZmFsc2UpOwogCWRlbGV0ZVNoYXJlZERlcGVuZGVuY3lSZWNvcmRzRm9yKFN1YnNjcmlwdGlv blJlbGF0aW9uSWQsIHN1YmlkLCAwKTsKIAotCS8qCi0JICogQ29uZmxpY3QgbG9nIHRhYmxlcyBh cmUgcmVjb3JkZWQgYXMgaW50ZXJuYWwgZGVwZW5kZW5jaWVzIG9mIHRoZQotCSAqIHN1YnNjcmlw dGlvbi4gIFdlIG11c3QgZHJvcCB0aGUgZGVwZW5kZW50IG9iamVjdHMgYmVmb3JlIHRoZQotCSAq IHN1YnNjcmlwdGlvbiBpdHNlbGYgaXMgcmVtb3ZlZC4gIEJ5IHVzaW5nCi0JICogUEVSRk9STV9E RUxFVElPTl9TS0lQX09SSUdJTkFMLCB3ZSBlbnN1cmUgdGhhdCBvbmx5IHRoZSBjb25mbGljdCBs b2cKLQkgKiB0YWJsZSBpcyByZWFwZWQgd2hpbGUgdGhlIHN1YnNjcmlwdGlvbiByZW1haW5zIGZv ciB0aGUgZmluYWwgZGVsZXRpb24KLQkgKiBzdGVwLgotCSAqLwotCU9iamVjdEFkZHJlc3NTZXQo b2JqZWN0LCBTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJpZCk7Ci0JcGVyZm9ybURlbGV0aW9u KCZvYmplY3QsIERST1BfQ0FTQ0FERSwKLQkJCQkJUEVSRk9STV9ERUxFVElPTl9JTlRFUk5BTCB8 Ci0JCQkJCVBFUkZPUk1fREVMRVRJT05fU0tJUF9PUklHSU5BTCk7CisJZHJvcF9zdWJfZGVwZW5k ZW5jaWVzKHN1YmlkLCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ3JlbGlkKTsKIAogCS8qIFJlbW92 ZSBhbnkgYXNzb2NpYXRlZCByZWxhdGlvbiBzeW5jaHJvbml6YXRpb24gc3RhdGVzLiAqLwogCVJl bW92ZVN1YnNjcmlwdGlvblJlbChzdWJpZCwgSW52YWxpZE9pZCk7CkBAIC0zNTQwLDE0NiArMzYy OSwzIEBAIGRlZkdldFN0cmVhbWluZ01vZGUoRGVmRWxlbSAqZGVmKQogCQkJCQlkZWYtPmRlZm5h bWUpKSk7CiAJcmV0dXJuIExPR0lDQUxSRVBfU1RSRUFNX09GRjsJLyoga2VlcCBjb21waWxlciBx dWlldCAqLwogfQotCi0vKgotICogQnVpbGRzIHRoZSBUdXBsZURlc2MgZm9yIHRoZSBjb25mbGlj dCBsb2cgdGFibGUuCi0gKi8KLXN0YXRpYyBUdXBsZURlc2MKLWNyZWF0ZV9jb25mbGljdF9sb2df dGFibGVfdHVwZGVzYyh2b2lkKQotewotCVR1cGxlRGVzYwl0dXBkZXNjOwotCi0JdHVwZGVzYyA9 IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKE1BWF9DT05GTElDVF9BVFRSX05VTSk7Ci0KLQlmb3Ig KGludCBpID0gMDsgaSA8IE1BWF9DT05GTElDVF9BVFRSX05VTTsgaSsrKQotCXsKLQkJT2lkIHR5 cGVfb2lkID0gQ29uZmxpY3RMb2dTY2hlbWFbaV0uYXR0dHlwaWQ7Ci0KLQkJLyoKLQkJICogU3Bl Y2lhbCBoYW5kbGluZyBmb3IgdGhlIEpTT04gYXJyYXkgdHlwZSBmb3IgcHJvcGVyCi0JCSAqIFR1 cGxlRGVzY0luaXRFbnRyeSBjYWxsLgotCQkgKi8KLQkJaWYgKHR5cGVfb2lkID09IEpTT05BUlJB WU9JRCkKLQkJCXR5cGVfb2lkID0gZ2V0X2FycmF5X3R5cGUoSlNPTk9JRCk7Ci0KLQkJVHVwbGVE ZXNjSW5pdEVudHJ5KHR1cGRlc2MsIGkgKyAxLAotCQkJCQkJICAgQ29uZmxpY3RMb2dTY2hlbWFb aV0uYXR0bmFtZSwKLQkJCQkJCSAgIHR5cGVfb2lkLAotCQkJCQkJICAgLTEsIDApOwotCX0KLQot CVR1cGxlRGVzY0ZpbmFsaXplKHR1cGRlc2MpOwotCi0JcmV0dXJuIHR1cGRlc2M7Ci19Ci0KLS8q Ci0gKiBDcmVhdGUgYSBzdHJ1Y3R1cmVkIGNvbmZsaWN0IGxvZyB0YWJsZSBmb3IgYSBzdWJzY3Jp cHRpb24uCi0gKgotICogVGhlIHRhYmxlIGlzIGNyZWF0ZWQgd2l0aGluIHRoZSBzeXN0ZW0tbWFu YWdlZCAncGdfY29uZmxpY3QnIG5hbWVzcGFjZSB0bwotICogcHJldmVudCB1c2VycyBmcm9tIG1h bnVhbGx5IGRyb3BwaW5nIG9yIGFsdGVyaW5nIGl0LiAgVGhpcyBhbHNvIHByZXZlbnRzCi0gKiBh Y2NpZGVudGFsIG5hbWUgY29sbGlzaW9ucyB3aXRoIHVzZXItY3JlYXRlZCB0YWJsZXMgd2l0aCB0 aGUgc2FtZSBuYW1lLgotICoKLSAqIFRoZSB0YWJsZSBuYW1lIGlzIGdlbmVyYXRlZCBhdXRvbWF0 aWNhbGx5IHVzaW5nIHRoZSBzdWJzY3JpcHRpb24ncyBPSUQKLSAqIChlLmcuLCAicGdfY29uZmxp Y3RfbG9nXzxzdWJpZD4iKSB0byBlbnN1cmUgdW5pcXVlbmVzcyB3aXRoaW4gdGhlIGNsdXN0ZXIK LSAqIGFuZCB0byBhdm9pZCBjb2xsaXNpb25zIGR1cmluZyBzdWJzY3JpcHRpb24gcmVuYW1lcy4K LSAqLwotc3RhdGljIE9pZAotY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZShPaWQgc3ViaWQsIGNo YXIgKnN1Ym5hbWUsIE9pZCBzdWJvd25lcikKLXsKLQlUdXBsZURlc2MJdHVwZGVzYzsKLQlPaWQJ CQlyZWxpZDsKLQlPYmplY3RBZGRyZXNzCW15c2VsZjsKLQlPYmplY3RBZGRyZXNzCXN1YmFkZHI7 Ci0JY2hhciAgICAJcmVsbmFtZVtOQU1FREFUQUxFTl07Ci0KLQlzbnByaW50ZihyZWxuYW1lLCBO QU1FREFUQUxFTiwgInBnX2NvbmZsaWN0X2xvZ18ldSIsIHN1YmlkKTsKLQotCS8qCi0JICogQ2hl Y2sgZm9yIGFuIGV4aXN0aW5nIHRhYmxlIHdpdGggdGhlIHNuYW1lIG5hbWUgaW4gdGhlIHBnX2Nv bmZsaWN0IG5hbWVzcGFjZS4KLQkgKiBBIGNvbGxpc2lvbiBzaG91bGQgbm90IG9jY3VyIHVuZGVy IG5vcm1hbCBvcGVyYXRpb24sIGJ1dCB3ZSBtdXN0IGhhbmRsZSBjYXNlcwotCSAqIHdoZXJlIGEg dGFibGUgaGFzIGJlZW4gY3JlYXRlZCBtYW51YWxseS4KLQkgKi8KLQlpZiAoT2lkSXNWYWxpZChn ZXRfcmVsbmFtZV9yZWxpZChyZWxuYW1lLCBQR19DT05GTElDVF9OQU1FU1BBQ0UpKSkKLQkJZXJl cG9ydChFUlJPUiwKLQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9UQUJMRSksCi0JCQkJ IGVycm1zZygiY29uZmxpY3QgbG9nIHRhYmxlIHBnX2NvbmZsaWN0LlwiJXNcIiBhbHJlYWR5IGV4 aXN0cyIsIHJlbG5hbWUpLAotCQkJCSBlcnJoaW50KCJBIHRhYmxlIHdpdGggdGhlIHNhbWUgbmFt ZSBhbHJlYWR5IGV4aXN0cy4gIgotCQkJCQkJICJUbyBwcm9jZWVkLCBkcm9wIHRoZSBleGlzdGlu ZyB0YWJsZSBhbmQgcmV0cnkuIikpKTsKLQotCS8qIEJ1aWxkIHRoZSB0dXBsZSBkZXNjcmlwdG9y IGZvciB0aGUgbmV3IHRhYmxlLiAqLwotCXR1cGRlc2MgPSBjcmVhdGVfY29uZmxpY3RfbG9nX3Rh YmxlX3R1cGRlc2MoKTsKLQotCS8qIENyZWF0ZSBjb25mbGljdCBsb2cgdGFibGUuICovCi0JcmVs aWQgPSBoZWFwX2NyZWF0ZV93aXRoX2NhdGFsb2cocmVsbmFtZSwKLQkJCQkJCQkJCSBQR19DT05G TElDVF9OQU1FU1BBQ0UsCi0JCQkJCQkJCQkgMCwJLyogdGFibGVzcGFjZSAqLwotCQkJCQkJCQkJ IEludmFsaWRPaWQsIC8qIHJlbGlkICovCi0JCQkJCQkJCQkgSW52YWxpZE9pZCwgLyogcmVsdHlw ZWlkICovCi0JCQkJCQkJCQkgSW52YWxpZE9pZCwgLyogcmVsb2Z0eXBlaWQgKi8KLQkJCQkJCQkJ CSBzdWJvd25lciwKLQkJCQkJCQkJCSBIRUFQX1RBQkxFX0FNX09JRCwKLQkJCQkJCQkJCSB0dXBk ZXNjLAotCQkJCQkJCQkJIE5JTCwKLQkJCQkJCQkJCSBSRUxLSU5EX1JFTEFUSU9OLAotCQkJCQkJ CQkJIFJFTFBFUlNJU1RFTkNFX1BFUk1BTkVOVCwKLQkJCQkJCQkJCSBmYWxzZSwgLyogc2hhcmVk X3JlbGF0aW9uICovCi0JCQkJCQkJCQkgZmFsc2UsIC8qIG1hcHBlZF9yZWxhdGlvbiAqLwotCQkJ CQkJCQkJIE9OQ09NTUlUX05PT1AsCi0JCQkJCQkJCQkgKERhdHVtKSAwLCAvKiByZWxvcHRpb25z ICovCi0JCQkJCQkJCQkgZmFsc2UsIC8qIHVzZV91c2VyX2FjbCAqLwotCQkJCQkJCQkJIHRydWUs IC8qIGFsbG93X3N5c3RlbV90YWJsZV9tb2RzICovCi0JCQkJCQkJCQkgdHJ1ZSwgLyogaXNfaW50 ZXJuYWwgKi8KLQkJCQkJCQkJCSBJbnZhbGlkT2lkLCAvKiByZWxyZXdyaXRlICovCi0JCQkJCQkJ CQkgTlVMTCk7IC8qIHR5cGFkZHJlc3MgKi8KLQotCS8qCi0JICogRXN0YWJsaXNoIGFuIGludGVy bmFsIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlIGFuZAotCSAqIHRo ZSBzdWJzY3JpcHRpb24uCi0JICoKLQkgKiBXZSB1c2UgREVQRU5ERU5DWV9JTlRFUk5BTCB0byBz aWduaWZ5IHRoYXQgdGhlIHRhYmxlJ3MgbGlmZWN5Y2xlIGlzCi0JICogc3RyaWN0bHkgdGllZCB0 byB0aGUgc3Vic2NyaXB0aW9uLCBzaW1pbGFyIHRvIGhvdyBhIFRPQVNUIHRhYmxlIHJlbGF0ZXMK LQkgKiB0byBpdHMgbWFpbiB0YWJsZSBvciBhIHNlcXVlbmNlIHJlbGF0ZXMgdG8gYW4gaWRlbnRp dHkgY29sdW1uLgotCSAqCi0JICogVGhpcyBlbnN1cmVzIHRoZSBjb25mbGljdCBsb2cgdGFibGUg aXMgYXV0b21hdGljYWxseSByZWFwZWQgZHVyaW5nIGEKLQkgKiBEUk9QIFNVQlNDUklQVElPTiB2 aWEgcGVyZm9ybURlbGV0aW9uKCkuCi0JICovCi0JT2JqZWN0QWRkcmVzc1NldChteXNlbGYsIFJl bGF0aW9uUmVsYXRpb25JZCwgcmVsaWQpOwotCU9iamVjdEFkZHJlc3NTZXQoc3ViYWRkciwgU3Vi c2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViaWQpOwotCXJlY29yZERlcGVuZGVuY3lPbigmbXlzZWxm LCAmc3ViYWRkciwgREVQRU5ERU5DWV9JTlRFUk5BTCk7Ci0KLQkvKiBSZWxlYXNlIHR1cGxlIGRl c2NyaXB0b3IgbWVtb3J5LiAqLwotCUZyZWVUdXBsZURlc2ModHVwZGVzYyk7Ci0KLQllcmVwb3J0 KE5PVElDRSwKLQkJCShlcnJtc2coImNyZWF0ZWQgY29uZmxpY3QgbG9nIHRhYmxlIFwiJXNcIiBm b3Igc3Vic2NyaXB0aW9uIFwiJXNcIiIsCi0JCQkJCWdldF9xdWFsaWZpZWRfb2JqbmFtZShQR19D T05GTElDVF9OQU1FU1BBQ0UsIHJlbG5hbWUpLAotCQkJCQlzdWJuYW1lKSkpOwotCi0JcmV0dXJu IHJlbGlkOwotfQotCi0vKgotICogR2V0TG9nRGVzdGluYXRpb24KLSAqCi0gKiBDb252ZXJ0IHN0 cmluZyB0byBlbnVtIGJ5IGNvbXBhcmluZyBhZ2FpbnN0IHN0YW5kYXJkaXplZCBsYWJlbHMuCi0g Ki8KLUNvbmZsaWN0TG9nRGVzdAotR2V0TG9nRGVzdGluYXRpb24oY29uc3QgY2hhciAqZGVzdCkK LXsKLQkvKiBFbXB0eSBzdHJpbmcgb3IgTlVMTCBkZWZhdWx0cyB0byBMT0cuICovCi0JaWYgKGRl c3QgPT0gTlVMTCB8fCBkZXN0WzBdID09ICdcMCcgfHwgcGdfc3RyY2FzZWNtcChkZXN0LCAibG9n IikgPT0gMCkKLQkJcmV0dXJuIENPTkZMSUNUX0xPR19ERVNUX0xPRzsKLQotCWlmIChwZ19zdHJj YXNlY21wKGRlc3QsICJ0YWJsZSIpID09IDApCi0JCXJldHVybiBDT05GTElDVF9MT0dfREVTVF9U QUJMRTsKLQotCWlmIChwZ19zdHJjYXNlY21wKGRlc3QsICJhbGwiKSA9PSAwKQotCQlyZXR1cm4g Q09ORkxJQ1RfTE9HX0RFU1RfQUxMOwotCi0JLyogVW5yZWNvZ25pemVkIHN0cmluZy4gKi8KLQll cmVwb3J0KEVSUk9SLAotCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFNRVRFUl9WQUxV RSksCi0JCQkgZXJybXNnKCJ1bnJlY29nbml6ZWQgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uIHZh bHVlOiBcIiVzXCIiLCBkZXN0KSwKLQkJCSBlcnJoaW50KCJWYWxpZCB2YWx1ZXMgYXJlIFwibG9n XCIsIFwidGFibGVcIiwgYW5kIFwiYWxsXCIuIikpKTsKLX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRz LmMKaW5kZXggYWI1NjhmOWQxZDMuLjJkY2Y2NGZhNTNiIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9jb21tYW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNt ZHMuYwpAQCAtMjQ2MSw3ICsyNDYxLDcgQEAgdHJ1bmNhdGVfY2hlY2tfcmVsKE9pZCByZWxpZCwg Rm9ybV9wZ19jbGFzcyByZWx0dXBsZSkKIAkgKiB0byBwZXJtaXQgdXNlcnMgdG8gbWFudWFsbHkg cHJ1bmUgdGhlc2UgbG9ncyB0byBtYW5hZ2UgZGlzayBzcGFjZS4KIAkgKi8KIAlpZiAoIWFsbG93 U3lzdGVtVGFibGVNb2RzICYmIElzU3lzdGVtQ2xhc3MocmVsaWQsIHJlbHR1cGxlKSAmJgotCQkh SXNDb25mbGljdENsYXNzKHJlbHR1cGxlKQorCQkhSXNDb25mbGljdExvZ1RhYmxlQ2xhc3MocmVs dHVwbGUpCiAJCSYmICghSXNCaW5hcnlVcGdyYWRlIHx8CiAJCQkocmVsaWQgIT0gTGFyZ2VPYmpl Y3RSZWxhdGlvbklkICYmCiAJCQkgcmVsaWQgIT0gTGFyZ2VPYmplY3RNZXRhZGF0YVJlbGF0aW9u SWQpKSkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgYi9zcmMv YmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jCmluZGV4IDM0NTY0MGZlNDFkLi4yYzFhNGQ4YWI3 MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYworKysgYi9zcmMv YmFja2VuZC9leGVjdXRvci9leGVjTWFpbi5jCkBAIC0xMjAxLDcgKzEyMDEsNyBAQCBDaGVja1Zh bGlkUmVzdWx0UmVsKFJlc3VsdFJlbEluZm8gKnJlc3VsdFJlbEluZm8sIENtZFR5cGUgb3BlcmF0 aW9uLAogCWlmIChJc0NvbmZsaWN0TmFtZXNwYWNlKFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlc3Vs dFJlbCkpICYmCiAJCW9wZXJhdGlvbiAhPSBDTURfREVMRVRFKQogCQllcmVwb3J0KEVSUk9SLAot CQkJCShlcnJjb2RlKEVSUkNPREVfSU5TVUZGSUNJRU5UX1BSSVZJTEVHRSksCisJCQkJKGVycmNv ZGUoRVJSQ09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCiAJCQkJIGVycm1zZygiY2Fubm90IG1vZGlm eSBvciBpbnNlcnQgZGF0YSBpbnRvIGNvbmZsaWN0IGxvZyB0YWJsZSBcIiVzXCIiLAogCQkJCQkJ UmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVzdWx0UmVsKSksCiAJCQkJIGVycmRldGFpbCgiQ29u ZmxpY3QgbG9nIHRhYmxlcyBhcmUgc3lzdGVtLW1hbmFnZWQgYW5kIG9ubHkgc3VwcG9ydCBjbGVh bnVwIHZpYSBERUxFVEUgb3IgVFJVTkNBVEUuIikpKTsKQEAgLTEyNzksMTMgKzEyNzksMTIgQEAg Q2hlY2tWYWxpZFJvd01hcmtSZWwoUmVsYXRpb24gcmVsLCBSb3dNYXJrVHlwZSBtYXJrVHlwZSkK IAogCS8qCiAJICogQ29uZmxpY3QgbG9nIHRhYmxlcyBhcmUgbWFuYWdlZCBieSB0aGUgc3lzdGVt IHRvIHJlY29yZCBsb2dpY2FsCi0JICogcmVwbGljYXRpb24gY29uZmxpY3RzLiAgV2UgZG8gbm90 IGFsbG93IGxvY2tpbmcgcm93cyBpbiBDT05GTElDVAotCSAqIHJlbGF0aW9ucy4KKwkgKiByZXBs aWNhdGlvbiBjb25mbGljdHMuCiAJICovCiAJaWYgKElzQ29uZmxpY3ROYW1lc3BhY2UoUmVsYXRp b25HZXROYW1lc3BhY2UocmVsKSkpCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJS Q09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCi0JCQkJIGVycm1zZygiY2Fubm90IGxvY2sgcm93cyBp biBjb25mbGljdCBsb2cgdGFibGUgXCIlc1wiIiwKKwkJCQkgZXJybXNnKCJjYW5ub3QgbG9jayBy b3dzIGluIHRoZSBjb25mbGljdCBsb2cgdGFibGUgXCIlc1wiIiwKIAkJCQkJCVJlbGF0aW9uR2V0 UmVsYXRpb25OYW1lKHJlbCkpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2lj YWwvY29uZmxpY3QuYwppbmRleCBkMDM4ZTI2NWNhOS4uNTFhNzZiYjAyOWQgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYworKysgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKQEAgLTE3LDYgKzE3LDExIEBACiAj aW5jbHVkZSAiYWNjZXNzL2NvbW1pdF90cy5oIgogI2luY2x1ZGUgImFjY2Vzcy9nZW5hbS5oIgog I2luY2x1ZGUgImFjY2Vzcy90YWJsZWFtLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9kZXBlbmRlbmN5 LmgiCisjaW5jbHVkZSAiY2F0YWxvZy9oZWFwLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19hbS5o IgorI2luY2x1ZGUgImNhdGFsb2cvcGdfbmFtZXNwYWNlLmgiCisjaW5jbHVkZSAiY29tbWFuZHMv c3Vic2NyaXB0aW9uY21kcy5oIgogI2luY2x1ZGUgImV4ZWN1dG9yL2V4ZWN1dG9yLmgiCiAjaW5j bHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vY29uZmxpY3QuaCIKQEAgLTI0 LDEzICsyOSwzNSBAQAogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2luY2x1ZGUgInV0aWxz L2xzeXNjYWNoZS5oIgogCisvKgorICogU3RyaW5nIHJlcHJlc2VudGF0aW9ucyBmb3IgdGhlIHN1 cHBvcnRlZCBjb25mbGljdCBsb2dnaW5nIGRlc3RpbmF0aW9ucy4KKyAqLwogY29uc3QgY2hhciAq Y29uc3QgQ29uZmxpY3RMb2dEZXN0TmFtZXNbXSA9IHsKIAlbQ09ORkxJQ1RfTE9HX0RFU1RfTE9H XSA9ICJsb2ciLAogCVtDT05GTElDVF9MT0dfREVTVF9UQUJMRV0gPSAidGFibGUiLAogCVtDT05G TElDVF9MT0dfREVTVF9BTExdID0gImFsbCIKIH07CiAKLWNvbnN0IENvbmZsaWN0TG9nQ29sdW1u RGVmIENvbmZsaWN0TG9nU2NoZW1hW10gPSB7CitTdGF0aWNBc3NlcnREZWNsKGxlbmd0aG9mKENv bmZsaWN0TG9nRGVzdE5hbWVzKSA9PSAzLAorCQkJCSAiQ29uZmxpY3RMb2dEZXN0TmFtZXMgbGVu Z3RoIG1pc21hdGNoIik7CisKKworLyogU3RydWN0dXJlIHRvIGhvbGQgbWV0YWRhdGEgZm9yIG9u ZSBjb2x1bW4gb2YgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSAqLwordHlwZWRlZiBzdHJ1Y3QgQ29u ZmxpY3RMb2dDb2x1bW5EZWYKK3sKKwljb25zdCBjaGFyICphdHRuYW1lOyAgICAvKiBDb2x1bW4g bmFtZSAqLworCU9pZCAgICAgICAgIGF0dHR5cGlkOyAgIC8qIERhdGEgdHlwZSBPSUQgKi8KK30g Q29uZmxpY3RMb2dDb2x1bW5EZWY7CisKKy8qCisgKiBTY2hlbWEgZGVmaW5pdGlvbiBmb3IgY29u ZmxpY3QgbG9nIHRhYmxlcy4KKyAqCisgKiBEZWZpbmVzIHRoZSBmaXhlZCBzY2hlbWEgb2YgdGhl IHBlci1zdWJzY3JpcHRpb24gY29uZmxpY3QgbG9nIHRhYmxlIGNyZWF0ZWQKKyAqIGluIHRoZSBw Z19jb25mbGljdCBuYW1lc3BhY2UuIEVhY2ggZW50cnkgc3BlY2lmaWVzIHRoZSBjb2x1bW4gbmFt ZSBhbmQgaXRzCisgKiB0eXBlIE9JRDsgdGhlIHRhYmxlIGlzIGNyZWF0ZWQgaW4gdGhpcyBjb2x1 bW4gb3JkZXIgYnkKKyAqIGNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoKS4KKyAqLworc3RhdGlj IGNvbnN0IENvbmZsaWN0TG9nQ29sdW1uRGVmIENvbmZsaWN0TG9nU2NoZW1hW10gPSB7CiAJeyAu YXR0bmFtZSA9ICJyZWxpZCIsICAgICAgICAgICAgLmF0dHR5cGlkID0gT0lET0lEIH0sCiAJeyAu YXR0bmFtZSA9ICJzY2hlbWFuYW1lIiwgICAgICAgLmF0dHR5cGlkID0gVEVYVE9JRCB9LAogCXsg LmF0dG5hbWUgPSAicmVsbmFtZSIsICAgICAgICAgIC5hdHR0eXBpZCA9IFRFWFRPSUQgfSwKQEAg LTM5LDE1ICs2NiwxMiBAQCBjb25zdCBDb25mbGljdExvZ0NvbHVtbkRlZiBDb25mbGljdExvZ1Nj aGVtYVtdID0gewogCXsgLmF0dG5hbWUgPSAicmVtb3RlX2NvbW1pdF9sc24iLC5hdHR0eXBpZCA9 IExTTk9JRCB9LAogCXsgLmF0dG5hbWUgPSAicmVtb3RlX2NvbW1pdF90cyIsIC5hdHR0eXBpZCA9 IFRJTUVTVEFNUFRaT0lEIH0sCiAJeyAuYXR0bmFtZSA9ICJyZW1vdGVfb3JpZ2luIiwgICAgLmF0 dHR5cGlkID0gVEVYVE9JRCB9LAotCXsgLmF0dG5hbWUgPSAicmVwbGljYV9pZGVudGl0eSIsIC5h dHR0eXBpZCA9IEpTT05PSUQgfSwKIAl7IC5hdHRuYW1lID0gInJlbW90ZV90dXBsZSIsICAgICAu YXR0dHlwaWQgPSBKU09OT0lEIH0sCisJeyAuYXR0bmFtZSA9ICJyZXBsaWNhX2lkZW50aXR5Iiwg LmF0dHR5cGlkID0gSlNPTk9JRCB9LAogCXsgLmF0dG5hbWUgPSAibG9jYWxfY29uZmxpY3RzIiwg IC5hdHR0eXBpZCA9IEpTT05BUlJBWU9JRCB9CiB9OwogCi1TdGF0aWNBc3NlcnREZWNsKGxlbmd0 aG9mKENvbmZsaWN0TG9nU2NoZW1hKSA9PSBNQVhfQ09ORkxJQ1RfQVRUUl9OVU0sCi0JCQkJICJD b25mbGljdExvZ1NjaGVtYSBsZW5ndGggbWlzbWF0Y2giKTsKLVN0YXRpY0Fzc2VydERlY2wobGVu Z3Rob2YoQ29uZmxpY3RMb2dEZXN0TmFtZXMpID09IDMsCi0JCQkJICJDb25mbGljdExvZ0Rlc3RO YW1lcyBsZW5ndGggbWlzbWF0Y2giKTsKKyNkZWZpbmUgTlVNX0NPTkZMSUNUX0FUVFJTIGxlbmd0 aG9mKENvbmZsaWN0TG9nU2NoZW1hKQogCiBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgQ29uZmxp Y3RUeXBlTmFtZXNbXSA9IHsKIAlbQ1RfSU5TRVJUX0VYSVNUU10gPSAiaW5zZXJ0X2V4aXN0cyIs CkBAIC03OSw2ICsxMDMsMTIyIEBAIHN0YXRpYyB2b2lkIGdldF90dXBsZV9kZXNjKEVTdGF0ZSAq ZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogc3RhdGljIGNoYXIgKmJ1aWxkX2luZGV4 X3ZhbHVlX2Rlc2MoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAogCQkJCQkJCQkJ VHVwbGVUYWJsZVNsb3QgKnNsb3QsIE9pZCBpbmRleG9pZCk7CiAKKy8qCisgKiBCdWlsZHMgdGhl IFR1cGxlRGVzYyBmb3IgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZS4KKyAqLworc3RhdGljIFR1cGxl RGVzYworY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZV90dXBkZXNjKHZvaWQpCit7CisJVHVwbGVE ZXNjCXR1cGRlc2M7CisKKwl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2MoTlVNX0NP TkZMSUNUX0FUVFJTKTsKKworCWZvciAoaW50IGkgPSAwOyBpIDwgTlVNX0NPTkZMSUNUX0FUVFJT OyBpKyspCisJCVR1cGxlRGVzY0luaXRFbnRyeSh0dXBkZXNjLCBpICsgMSwKKwkJCQkJCSAgIENv bmZsaWN0TG9nU2NoZW1hW2ldLmF0dG5hbWUsCisJCQkJCQkgICBDb25mbGljdExvZ1NjaGVtYVtp XS5hdHR0eXBpZCwKKwkJCQkJCSAgIC0xLCAwKTsKKworCVR1cGxlRGVzY0ZpbmFsaXplKHR1cGRl c2MpOworCisJcmV0dXJuIHR1cGRlc2M7Cit9CisKKy8qCisgKiBDcmVhdGUgYSBzdHJ1Y3R1cmVk IGNvbmZsaWN0IGxvZyB0YWJsZSBmb3IgYSBzdWJzY3JpcHRpb24uCisgKgorICogVGhlIHRhYmxl IGlzIGNyZWF0ZWQgd2l0aGluIHRoZSBzeXN0ZW0tbWFuYWdlZCAncGdfY29uZmxpY3QnIG5hbWVz cGFjZSB0bworICogcHJldmVudCB1c2VycyBmcm9tIG1hbnVhbGx5IGRyb3BwaW5nIG9yIGFsdGVy aW5nIGl0LiAgVGhpcyBhbHNvIHByZXZlbnRzCisgKiBhY2NpZGVudGFsIG5hbWUgY29sbGlzaW9u cyB3aXRoIHVzZXItY3JlYXRlZCB0YWJsZXMgd2l0aCB0aGUgc2FtZSBuYW1lLgorICoKKyAqIFRo ZSB0YWJsZSBuYW1lIGlzIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IHVzaW5nIHRoZSBzdWJzY3Jp cHRpb24ncyBPSUQKKyAqIChlLmcuLCAicGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF88c3ViaWQ+ IikgdG8gZW5zdXJlIHVuaXF1ZW5lc3Mgd2l0aGluIHRoZQorICogY2x1c3RlciBhbmQgdG8gYXZv aWQgY29sbGlzaW9ucyBkdXJpbmcgc3Vic2NyaXB0aW9uIHJlbmFtZXMuCisgKi8KK09pZAorY3Jl YXRlX2NvbmZsaWN0X2xvZ190YWJsZShPaWQgc3ViaWQsIGNoYXIgKnN1Ym5hbWUsIE9pZCBzdWJv d25lcikKK3sKKwlUdXBsZURlc2MJdHVwZGVzYzsKKwlPaWQJCQlyZWxpZDsKKwljaGFyICAgIAly ZWxuYW1lW05BTUVEQVRBTEVOXTsKKworCXNucHJpbnRmKHJlbG5hbWUsIE5BTUVEQVRBTEVOLCAi cGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8ldSIsIHN1YmlkKTsKKworCS8qCisJICogQ2hlY2sg Zm9yIGFuIGV4aXN0aW5nIHRhYmxlIHdpdGggdGhlIHNhbWUgbmFtZSBpbiB0aGUgcGdfY29uZmxp Y3QgbmFtZXNwYWNlLgorCSAqIEEgY29sbGlzaW9uIHNob3VsZCBub3Qgb2NjdXIgdW5kZXIgbm9y bWFsIG9wZXJhdGlvbiwgYnV0IHdlIG11c3QgaGFuZGxlIGNhc2VzCisJICogd2hlcmUgYSB0YWJs ZSBoYXMgYmVlbiBjcmVhdGVkIG1hbnVhbGx5IHdoZW4gYWxsb3dfc3lzdGVtX3RhYmxlc19tb2Rz IGlzCisJICogT04uCisJICovCisJaWYgKE9pZElzVmFsaWQoZ2V0X3JlbG5hbWVfcmVsaWQocmVs bmFtZSwgUEdfQ09ORkxJQ1RfTkFNRVNQQUNFKSkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVy cmNvZGUoRVJSQ09ERV9EVVBMSUNBVEVfVEFCTEUpLAorCQkJCSBlcnJtc2coImNvbmZsaWN0IGxv ZyB0YWJsZSBwZ19jb25mbGljdC5cIiVzXCIgYWxyZWFkeSBleGlzdHMiLCByZWxuYW1lKSwKKwkJ CQkgZXJyaGludCgiVG8gcHJvY2VlZCwgZHJvcCB0aGUgZXhpc3RpbmcgdGFibGUgYW5kIHJldHJ5 LiIpKSk7CisKKwkvKiBCdWlsZCB0aGUgdHVwbGUgZGVzY3JpcHRvciBmb3IgdGhlIG5ldyB0YWJs ZS4gKi8KKwl0dXBkZXNjID0gY3JlYXRlX2NvbmZsaWN0X2xvZ190YWJsZV90dXBkZXNjKCk7CisK KwkvKiBDcmVhdGUgY29uZmxpY3QgbG9nIHRhYmxlLiAqLworCXJlbGlkID0gaGVhcF9jcmVhdGVf d2l0aF9jYXRhbG9nKHJlbG5hbWUsCisJCQkJCQkJCQkgUEdfQ09ORkxJQ1RfTkFNRVNQQUNFLAor CQkJCQkJCQkJIDAsCS8qIHRhYmxlc3BhY2UgKi8KKwkJCQkJCQkJCSBJbnZhbGlkT2lkLCAvKiBy ZWxpZCAqLworCQkJCQkJCQkJIEludmFsaWRPaWQsIC8qIHJlbHR5cGVpZCAqLworCQkJCQkJCQkJ IEludmFsaWRPaWQsIC8qIHJlbG9mdHlwZWlkICovCisJCQkJCQkJCQkgc3Vib3duZXIsCisJCQkJ CQkJCQkgSEVBUF9UQUJMRV9BTV9PSUQsCisJCQkJCQkJCQkgdHVwZGVzYywKKwkJCQkJCQkJCSBO SUwsCisJCQkJCQkJCQkgUkVMS0lORF9SRUxBVElPTiwKKwkJCQkJCQkJCSBSRUxQRVJTSVNURU5D RV9QRVJNQU5FTlQsCisJCQkJCQkJCQkgZmFsc2UsIC8qIHNoYXJlZF9yZWxhdGlvbiAqLworCQkJ CQkJCQkJIGZhbHNlLCAvKiBtYXBwZWRfcmVsYXRpb24gKi8KKwkJCQkJCQkJCSBPTkNPTU1JVF9O T09QLAorCQkJCQkJCQkJIChEYXR1bSkgMCwgLyogcmVsb3B0aW9ucyAqLworCQkJCQkJCQkJIGZh bHNlLCAvKiB1c2VfdXNlcl9hY2wgKi8KKwkJCQkJCQkJCSB0cnVlLCAvKiBhbGxvd19zeXN0ZW1f dGFibGVfbW9kcyAqLworCQkJCQkJCQkJIHRydWUsIC8qIGlzX2ludGVybmFsICovCisJCQkJCQkJ CQkgSW52YWxpZE9pZCwgLyogcmVscmV3cml0ZSAqLworCQkJCQkJCQkJIE5VTEwpOyAvKiB0eXBh ZGRyZXNzICovCisJQXNzZXJ0KE9pZElzVmFsaWQocmVsaWQpKTsKKworCS8qIFJlbGVhc2UgdHVw bGUgZGVzY3JpcHRvciBtZW1vcnkuICovCisJRnJlZVR1cGxlRGVzYyh0dXBkZXNjKTsKKworCWVy ZXBvcnQoTk9USUNFLAorCQkJKGVycm1zZygiY3JlYXRlZCBjb25mbGljdCBsb2cgdGFibGUgXCIl c1wiIGZvciBzdWJzY3JpcHRpb24gXCIlc1wiIiwKKwkJCQkJZ2V0X3F1YWxpZmllZF9vYmpuYW1l KFBHX0NPTkZMSUNUX05BTUVTUEFDRSwgcmVsbmFtZSksCisJCQkJCXN1Ym5hbWUpKSk7CisKKwly ZXR1cm4gcmVsaWQ7Cit9CisKKy8qCisgKiBHZXRMb2dEZXN0aW5hdGlvbgorICoKKyAqIENvbnZl cnQgc3RyaW5nIHRvIGVudW0gYnkgY29tcGFyaW5nIGFnYWluc3Qgc3RhbmRhcmRpemVkIGxhYmVs cy4KKyAqLworQ29uZmxpY3RMb2dEZXN0CitHZXRMb2dEZXN0aW5hdGlvbihjb25zdCBjaGFyICpk ZXN0KQoreworCS8qIEVtcHR5IHN0cmluZyBvciBOVUxMIGRlZmF1bHRzIHRvIExPRy4gKi8KKwlp ZiAoZGVzdCA9PSBOVUxMIHx8IGRlc3RbMF0gPT0gJ1wwJyB8fCBwZ19zdHJjYXNlY21wKGRlc3Qs ICJsb2ciKSA9PSAwKQorCQlyZXR1cm4gQ09ORkxJQ1RfTE9HX0RFU1RfTE9HOworCisJaWYgKHBn X3N0cmNhc2VjbXAoZGVzdCwgInRhYmxlIikgPT0gMCkKKwkJcmV0dXJuIENPTkZMSUNUX0xPR19E RVNUX1RBQkxFOworCisJaWYgKHBnX3N0cmNhc2VjbXAoZGVzdCwgImFsbCIpID09IDApCisJCXJl dHVybiBDT05GTElDVF9MT0dfREVTVF9BTEw7CisKKwkvKiBVbnJlY29nbml6ZWQgc3RyaW5nLiAq LworCWVyZXBvcnQoRVJST1IsCisJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfUEFSQU1FVEVS X1ZBTFVFKSwKKwkJCSBlcnJtc2coInVucmVjb2duaXplZCBjb25mbGljdF9sb2dfZGVzdGluYXRp b24gdmFsdWU6IFwiJXNcIiIsIGRlc3QpLAorCQkJIGVycmhpbnQoIlZhbGlkIHZhbHVlcyBhcmUg XCJsb2dcIiwgXCJ0YWJsZVwiLCBhbmQgXCJhbGxcIi4iKSkpOworfQorCiAvKgogICogR2V0IHRo ZSB4bWluIGFuZCBjb21taXQgdGltZXN0YW1wIGRhdGEgKG9yaWdpbiBhbmQgdGltZXN0YW1wKSBh c3NvY2lhdGVkCiAgKiB3aXRoIHRoZSBwcm92aWRlZCBsb2NhbCByb3cuCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9jYXRhbG9nL2NhdGFsb2cuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvY2F0YWxv Zy5oCmluZGV4IDgxOTMyMjlmMmUyLi5jZDA1OTc0Yjg2YyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1 ZGUvY2F0YWxvZy9jYXRhbG9nLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9jYXRhbG9nLmgK QEAgLTI1LDcgKzI1LDcgQEAgZXh0ZXJuIGJvb2wgSXNJbnBsYWNlVXBkYXRlUmVsYXRpb24oUmVs YXRpb24gcmVsYXRpb24pOwogCiBleHRlcm4gYm9vbCBJc1N5c3RlbUNsYXNzKE9pZCByZWxpZCwg Rm9ybV9wZ19jbGFzcyByZWx0dXBsZSk7CiBleHRlcm4gYm9vbCBJc1RvYXN0Q2xhc3MoRm9ybV9w Z19jbGFzcyByZWx0dXBsZSk7Ci1leHRlcm4gYm9vbCBJc0NvbmZsaWN0Q2xhc3MoRm9ybV9wZ19j bGFzcyByZWx0dXBsZSk7CitleHRlcm4gYm9vbCBJc0NvbmZsaWN0TG9nVGFibGVDbGFzcyhGb3Jt X3BnX2NsYXNzIHJlbHR1cGxlKTsKIAogZXh0ZXJuIGJvb2wgSXNDYXRhbG9nUmVsYXRpb25PaWQo T2lkIHJlbGlkKTsKIGV4dGVybiBib29sIElzQ2F0YWxvZ1RleHRVbmlxdWVJbmRleE9pZChPaWQg cmVsaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24u aCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKaW5kZXggNWYyMTRkMzU4 NmIuLmNjMzFiNGQwMGJjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNj cmlwdGlvbi5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKQEAg LTk3LDYgKzk3LDE0IEBAIENBVEFMT0cocGdfc3Vic2NyaXB0aW9uLDYxMDAsU3Vic2NyaXB0aW9u UmVsYXRpb25JZCkgQktJX1NIQVJFRF9SRUxBVElPTiBCS0lfUk9XCiAKIAlPaWQgICAgICAgICBz dWJjb25mbGljdGxvZ3JlbGlkOyAvKiBSZWxpZCBvZiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlLiAq LwogI2lmZGVmIENBVEFMT0dfVkFSTEVOCQkJLyogdmFyaWFibGUtbGVuZ3RoIGZpZWxkcyBzdGFy dCBoZXJlICovCisJLyoKKwkgKiBTdHJhdGVneSBmb3IgbG9nZ2luZyByZXBsaWNhdGlvbiBjb25m bGljdHM6CisJICogJ2xvZycgLSBzZXJ2ZXIgbG9nIG9ubHksCisJICogJ3RhYmxlJyAtIGNvbmZs aWN0IGxvZyB0YWJsZSBvbmx5LAorCSAqICdhbGwnIC0gYm90aCBsb2cgYW5kIHRhYmxlLgorCSAq LworCXRleHQJCXN1YmNvbmZsaWN0bG9nZGVzdCBCS0lfRk9SQ0VfTk9UX05VTEw7CisKIAkvKiBD b25uZWN0aW9uIHN0cmluZyB0byB0aGUgcHVibGlzaGVyICovCiAJdGV4dAkJc3ViY29ubmluZm87 CS8qIFNldCBpZiBjb25uZWN0aW5nIHdpdGggY29ubmVjdGlvbiBzdHJpbmcgKi8KIApAQCAtMTEy LDE0ICsxMjAsNiBAQCBDQVRBTE9HKHBnX3N1YnNjcmlwdGlvbiw2MTAwLFN1YnNjcmlwdGlvblJl bGF0aW9uSWQpIEJLSV9TSEFSRURfUkVMQVRJT04gQktJX1JPVwogCS8qIExpc3Qgb2YgcHVibGlj YXRpb25zIHN1YnNjcmliZWQgdG8gKi8KIAl0ZXh0CQlzdWJwdWJsaWNhdGlvbnNbMV0gQktJX0ZP UkNFX05PVF9OVUxMOwogCi0JLyoKLQkgKiBTdHJhdGVneSBmb3IgbG9nZ2luZyByZXBsaWNhdGlv biBjb25mbGljdHM6Ci0JICogJ2xvZycgLSBzZXJ2ZXIgbG9nIG9ubHksCi0JICogJ3RhYmxlJyAt IGNvbmZsaWN0IGxvZyB0YWJsZSBvbmx5LAotCSAqICdhbGwnIC0gYm90aCBsb2cgYW5kIHRhYmxl LgotCSAqLwotCXRleHQJCXN1YmNvbmZsaWN0bG9nZGVzdCBCS0lfRk9SQ0VfTk9UX05VTEw7Ci0K IAkvKiBPbmx5IHB1Ymxpc2ggZGF0YSBvcmlnaW5hdGluZyBmcm9tIHRoZSBzcGVjaWZpZWQgb3Jp Z2luICovCiAJdGV4dAkJc3Vib3JpZ2luIEJLSV9ERUZBVUxUKExPR0lDQUxSRVBfT1JJR0lOX0FO WSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlwdGlv bmNtZHMuaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaAppbmRleCBh ODk1MTI3ZjhmZS4uNjM1MDQyMzJhMTQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRz L3N1YnNjcmlwdGlvbmNtZHMuaAorKysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9zdWJzY3JpcHRp b25jbWRzLmgKQEAgLTE3LDcgKzE3LDYgQEAKIAogI2luY2x1ZGUgImNhdGFsb2cvb2JqZWN0YWRk cmVzcy5oIgogI2luY2x1ZGUgInBhcnNlci9wYXJzZV9ub2RlLmgiCi0jaW5jbHVkZSAicmVwbGlj YXRpb24vY29uZmxpY3QuaCIKIAogZXh0ZXJuIE9iamVjdEFkZHJlc3MgQ3JlYXRlU3Vic2NyaXB0 aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3RtdCAqc3RtdCwKIAkJ CQkJCQkJCQlib29sIGlzVG9wTGV2ZWwpOwpAQCAtMzcsNiArMzYsNCBAQCBleHRlcm4gdm9pZCBD aGVja1N1YkRlYWRUdXBsZVJldGVudGlvbihib29sIGNoZWNrX2d1YywgYm9vbCBzdWJfZGlzYWJs ZWQsCiAJCQkJCQkJCQkgICBib29sIHJldGVudGlvbl9hY3RpdmUsCiAJCQkJCQkJCQkgICBib29s IG1heF9yZXRlbnRpb25fc2V0KTsKIAotZXh0ZXJuIENvbmZsaWN0TG9nRGVzdCBHZXRMb2dEZXN0 aW5hdGlvbihjb25zdCBjaGFyICpkZXN0KTsKLQogI2VuZGlmCQkJCQkJCS8qIFNVQlNDUklQVElP TkNNRFNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3Qu aCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmgKaW5kZXggMDBhOWNiZWMyNjQu LmM5MjIxNmUyZGQ1IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGlj dC5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmgKQEAgLTk0LDIzICs5 NCwxOCBAQCB0eXBlZGVmIGVudW0gQ29uZmxpY3RMb2dEZXN0CiAJQ09ORkxJQ1RfTE9HX0RFU1Rf QUxMCQkvKiBCb3RoIGxvZyBhbmQgdGFibGUgKi8KIH0gQ29uZmxpY3RMb2dEZXN0OwogCisjZGVm aW5lIENPTkZMSUNUU19MT0dHRURfVE9fVEFCTEUoZGVzdCkgXAorCSgoZGVzdCA9PSBDT05GTElD VF9MT0dfREVTVF9UQUJMRSkgfHwgKGRlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfQUxMKSkKKyNk ZWZpbmUgQ09ORkxJQ1RTX0xPR0dFRF9UT19GSUxFKGRlc3QpIFwKKwkoKGRlc3QgPT0gQ09ORkxJ Q1RfTE9HX0RFU1RfTE9HKSB8fCAoZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpKQorCiAv KgogICogQXJyYXkgbWFwcGluZyBmb3IgY29udmVydGluZyBpbnRlcm5hbCBlbnVtIHRvIHN0cmlu Zy4KICAqLwogZXh0ZXJuIFBHRExMSU1QT1JUIGNvbnN0IGNoYXIgKmNvbnN0IENvbmZsaWN0TG9n RGVzdE5hbWVzW107CiAKLS8qIFN0cnVjdHVyZSB0byBob2xkIG1ldGFkYXRhIGZvciBvbmUgY29s dW1uIG9mIHRoZSBjb25mbGljdCBsb2cgdGFibGUgKi8KLXR5cGVkZWYgc3RydWN0IENvbmZsaWN0 TG9nQ29sdW1uRGVmCi17Ci0JY29uc3QgY2hhciAqYXR0bmFtZTsgICAgLyogQ29sdW1uIG5hbWUg Ki8KLQlPaWQgICAgICAgICBhdHR0eXBpZDsgICAvKiBEYXRhIHR5cGUgT0lEICovCi19IENvbmZs aWN0TG9nQ29sdW1uRGVmOwotCi0vKiBUaGUgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhl IGNvbmZsaWN0IGxvZyB0YWJsZSBzY2hlbWEgKi8KLWV4dGVybiBQR0RMTElNUE9SVCBjb25zdCBD b25mbGljdExvZ0NvbHVtbkRlZiBDb25mbGljdExvZ1NjaGVtYVtdOwotCi0jZGVmaW5lIE1BWF9D T05GTElDVF9BVFRSX05VTSAxMQotCitleHRlcm4gT2lkIGNyZWF0ZV9jb25mbGljdF9sb2dfdGFi bGUoT2lkIHN1YmlkLCBjaGFyICpzdWJuYW1lLCBPaWQgc3Vib3duZXIpOworZXh0ZXJuIENvbmZs aWN0TG9nRGVzdCBHZXRMb2dEZXN0aW5hdGlvbihjb25zdCBjaGFyICpkZXN0KTsKIGV4dGVybiBi b29sIEdldFR1cGxlVHJhbnNhY3Rpb25JbmZvKFR1cGxlVGFibGVTbG90ICpsb2NhbHNsb3QsCiAJ CQkJCQkJCQlUcmFuc2FjdGlvbklkICp4bWluLAogCQkJCQkJCQkJUmVwbE9yaWdpbklkICpsb2Nh bG9yaWdpbiwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0 aW9uLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dAppbmRl eCAwOGNiYzk3NDNkOC4uN2I2OGI1M2M5MDMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvc3Vic2NyaXB0aW9uLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3N1YnNjcmlwdGlvbi5vdXQKQEAgLTEyNCwxOCArMTI0LDE4IEBAIENSRUFURSBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViNCBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QnIFBVCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNv bm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxs eSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBh bmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMr IHJlZ3Jlc3NfdGVzdHN1YjQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCi0gICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFi bGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0 IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFz IG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJl dGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAg TFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3Qg bG9nIHRhYmxlIAotLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWI0IHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgbm9uZSAgIHwgdCAgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAg ICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAg ICAgICAgfCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAg ICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVj ZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t CisgcmVncmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICAgICB8IG5vbmUgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAw MCB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViNCBTRVQg KG9yaWdpbiA9IGFueSk7CiBcZFJzKyByZWdyZXNzX3Rlc3RzdWI0Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVj ZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxvZyBk ZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3Vi NCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYg ICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwg bG9nICAgICAgICAgICAgICAgICAgICAgIHwgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgICBO YW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9u IGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFp bG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0 aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENv bm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3Jp cHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YjQgfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwg IHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwg b2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAg ICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKICgxIHJvdykKIAogRFJPUCBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViMzsKQEAgLTIwMCwxMCArMjAwLDEwIEBAIEFMVEVSIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZm9vYmFyJzsKIEVSUk9SOiAgaW52YWxpZCBj b25uZWN0aW9uIHN0cmluZyBzeW50YXg6IG1pc3NpbmcgIj0iIGFmdGVyICJmb29iYXIiIGluIGNv bm5lY3Rpb24gaW5mbyBzdHJpbmcKIAogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVx dWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0 dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNo cm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRp bWVvdXQgfCAgU2tpcCBMU04gIHwgICAgRGVzY3JpcHRpb24gICAgfCBDb25mbGljdCBsb2cgZGVz dGluYXRpb24gfCBDb25mbGljdCBsb2cgdGFibGUgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg IHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAg fCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwg ZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgdGVzdCBzdWJzY3Jp cHRpb24gfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93 bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVu dGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNO ICB8ICAgIERlc2NyaXB0aW9uICAgIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2Ny aXB0aW9uCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IFBVQkxJQ0FUSU9OIHRlc3RwdWIyLCB0ZXN0cHViMyBXSVRIIChyZWZyZXNoID0gZmFsc2UpOwpA QCAtMjEyLDEwICsyMTIsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBT RVQgKHNsb3RfbmFtZSA9ICduZXduYW1lJyk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190 ZXN0c3ViIFNFVCAocGFzc3dvcmRfcmVxdWlyZWQgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIFNFVCAocnVuX2FzX293bmVyID0gdHJ1ZSk7CiBcZFJzKwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1l ICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGlj YXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2Fi bGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8g fCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24g ZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAg ICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwg ICAgRGVzY3JpcHRpb24gICAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBs b2cgdGFibGUgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAg ICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBh bnkgICAgfCBmICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgfCBmICAgICAgICB8ICAg ICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAg ICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0MiB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgdGVzdCBzdWJzY3JpcHRp b24gfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxl ZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2Ug Y29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwg UnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwg TWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBj b21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8 ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAg ICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAg ICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IGYgICAgICAgICAgICAgICAg IHwgdCAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAg ICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAg ICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlwdGlvbgogKDEgcm93KQogCiBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAocGFzc3dvcmRfcmVxdWlyZWQgPSB0cnVlKTsK QEAgLTIzMSwxMCArMjMxLDEwIEBAIEVSUk9SOiAgdW5yZWNvZ25pemVkIHN1YnNjcmlwdGlvbiBw YXJhbWV0ZXI6ICJjcmVhdGVfc2xvdCIKIC0tIG9rCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIFNLSVAgKGxzbiA9ICcwLzEyMzQ1Jyk7CiBcZFJzKwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwg QmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3Ig fCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8 IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBS ZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgICAgRGVzY3JpcHRp b24gICAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBsb2cgdGFibGUgCi0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRp b25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgcGFyYWxs ZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAg IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IC0x ICAgICAgICAgICAgICAgfCAwLzAwMDEyMzQ1IHwgdGVzdCBzdWJzY3JpcHRpb24gfCBsb2cgICAg ICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJs aWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVy PyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAg fCAgICBEZXNjcmlwdGlvbiAgICAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdy ZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0 cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMTIz NDUgfCB0ZXN0IHN1YnNjcmlwdGlvbgogKDEgcm93KQogCiAtLSBvayAtIHdpdGggbHNuID0gTk9O RQpAQCAtMjQzLDEwICsyNDMsMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1 YiBTS0lQIChsc24gPSBOT05FKTsKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIg U0tJUCAobHNuID0gJzAvMCcpOwogRVJST1I6ICBpbnZhbGlkIFdBTCBsb2NhdGlvbiAoTFNOKTog MC8wCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNl IGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8 IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8 IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMg Y29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQg fCAgU2tpcCBMU04gIHwgICAgRGVzY3JpcHRpb24gICAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRp b24gfCBDb25mbGljdCBsb2cgdGFibGUgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190 ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIs dGVzdHB1YjN9IHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAg ICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg fCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1l PXJlZ3Jlc3NfZG9lc25vdGV4aXN0MiB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwg dGVzdCBzdWJzY3JpcHRpb24gfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0 IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1p bmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3 b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWlu IGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUg fCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVj ZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICAKKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlw dGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJh bGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwg LTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlwdGlvbgogKDEgcm93 KQogCiBCRUdJTjsKQEAgLTI4MiwxMCArMjgyLDEwIEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdy ZXNzX3Rlc3RzdWJfZm9vIFNFVCAod2FsX3JlY2VpdmVyX3RpbWVvdXQgPSAnODBzJyk7CiBBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViX2ZvbyBTRVQgKHdhbF9yZWNlaXZlcl90aW1l b3V0ID0gJ2Zvb2JhcicpOwogRVJST1I6ICBpbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgIndh bF9yZWNlaXZlcl90aW1lb3V0IjogImZvb2JhciIKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgICBOYW1lICAgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAg fCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJv ciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVy IHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8 IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmlu Zm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlw dGlvbiAgICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAK LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViX2ZvbyB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAg ICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55 ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAg ICAgICAgICAgICB8IGxvY2FsICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdDIgfCA4MHMgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9u IHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgLQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlv bnMKKyAgICAgICAgTmFtZSAgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVu YWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBo YXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJl ZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxl cyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25v dXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVv dXQgfCAgU2tpcCBMU04gIHwgICAgRGVzY3JpcHRpb24gICAgCistLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1Yl9mb28gfCByZWdyZXNzX3N1YnNjcmlwdGlv bl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxl bCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAg fCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgODBz ICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlwdGlvbgogKDEgcm93KQog CiAtLSByZW5hbWUgYmFjayB0byBrZWVwIHRoZSByZXN0IHNpbXBsZQpAQCAtMzE0LDE5ICszMTQs MTkgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2Fz IGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGlj YXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5h YmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJl c2ggcHVibGljYXRpb25zLgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJz Y3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8 IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBj b21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBS dW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBN YXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNv bW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAg U2tpcCBMU04gIHwgRGVzY3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25m bGljdCBsb2cgdGFibGUgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IHQgICAgICB8IHBhcmFsbGVsICB8 IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9m ZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAg ICAgICAgICAgfCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAg ICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJl YW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBh c3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0 YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3Rp dmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBS ZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWJ9ICAgfCB0ICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAw MCB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAo YmluYXJ5ID0gZmFsc2UpOwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQg KHNsb3RfbmFtZSA9IE5PTkUpOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBz dWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFz ZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQg fCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMg fCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3Vz IGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQg fCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBD b25mbGljdCBsb2cgdGFibGUgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJz Y3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVs ICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAg ICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAg ICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAg ICAgICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBT dHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8 IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAg fCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAg ICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAw MDAwMCB8IAogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBA IC0zMzgsMjcgKzMzOCwyNyBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBD T05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQgogV0FSTklORzogIHN1 YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBp bml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNh dGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3Jp cHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5n IHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29y ZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBk ZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwg U3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2 ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxvZyBkZXN0 aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCBy ZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAg IHwgb24gICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkg ICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAg ICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAg ICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAg ICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8 IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9y IHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIg fCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwg UmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24g CistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25f dXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8IGQgICAg ICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAg ICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAg ICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWIgU0VUIChzdHJlYW1pbmcgPSBwYXJhbGxlbCk7CiBcZFJzKwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQ YXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJl dGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0 aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwg UmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxv ZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3Rz dWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwg ZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAg fCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8 ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBm ICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8 IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBO YW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9u IGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFp bG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0 aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENv bm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3Jp cHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8 IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9m ZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAg ICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiBy ZWdyZXNzX3Rlc3RzdWIgU0VUIChzdHJlYW1pbmcgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZl ciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRp b24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZs aWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVi fSAgIHwgZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAg ICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg IDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jl c3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAg ICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisg ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQ dWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNh YmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/ IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9u IGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAg ICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwg RGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9mZiAg ICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAg ICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0x ICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIC0tIGZhaWwgLSBwdWJs aWNhdGlvbiBhbHJlYWR5IGV4aXN0cwpAQCAtMzczLDEwICszNzMsMTAgQEAgQUxURVIgU1VCU0NS SVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBBREQgUFVCTElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIy IFdJVEggKHJlZnIKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQUREIFBVQkxJ Q0FUSU9OIHRlc3RwdWIxLCB0ZXN0cHViMiBXSVRIIChyZWZyZXNoID0gZmFsc2UpOwogRVJST1I6 ICBwdWJsaWNhdGlvbiAidGVzdHB1YjEiIGlzIGFscmVhZHkgaW4gc3Vic2NyaXB0aW9uICJyZWdy ZXNzX3Rlc3RzdWIiCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgICAgICAgICBQdWJsaWNhdGlvbiAgICAgICAgIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQ YXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJl dGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0 aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwg UmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxv ZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1Yix0ZXN0cHViMSx0ZXN0cHViMn0gfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAg ICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAgICAgICAgICAgICAgICAgICAg IHwgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAg ICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgICAgICBQdWJsaWNhdGlvbiAgICAg ICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWls b3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRp b24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29u bmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlw dGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwg cmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yix0ZXN0cHViMSx0 ZXN0cHViMn0gfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAog KDEgcm93KQogCiAtLSBmYWlsIC0gcHVibGljYXRpb24gdXNlZCBtb3JlIHRoYW4gb25jZQpAQCAt MzkxLDEwICszOTEsMTAgQEAgRVJST1I6ICBwdWJsaWNhdGlvbiAidGVzdHB1YjMiIGlzIG5vdCBp biBzdWJzY3JpcHRpb24gInJlZ3Jlc3NfdGVzdHN1YiIKIC0tIG9rIC0gZGVsZXRlIHB1YmxpY2F0 aW9ucwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBEUk9QIFBVQkxJQ0FUSU9O IHRlc3RwdWIxLCB0ZXN0cHViMiBXSVRIIChyZWZyZXNoID0gZmFsc2UpOwogXGRScysKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwg ICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFy eSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3Jp Z2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2 ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50 aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAg ICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gfCBDb25m bGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBsb2cgdGFibGUgCi0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVz c190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 Yn0gICB8IGYgICAgICB8IG9mZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAg ICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAg ICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdy ZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgICAgICAg ICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwor ICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwg UHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVy PyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8 IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYg ICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAt MSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQ VElPTiByZWdyZXNzX3Rlc3RzdWI7CkBAIC00MzAsMTkgKzQzMCwxOSBAQCBDUkVBVEUgU1VCU0NS SVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QnIFBVQgogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5v dCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFu dWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlv biwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBc ZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5h bWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0 aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24g ZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWls b3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRp b24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29u bmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlw dGlvbiB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAg ICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgcCAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwg ZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAw MDAgfCAgICAgICAgICAgICB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJz Y3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8 IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBj b21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBS dW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBN YXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNv bW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAg U2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3Vi IHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYg ICAgICB8IHBhcmFsbGVsICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwg YW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIC0t IHdlIGNhbiBhbHRlciBzdHJlYW1pbmcgd2hlbiB0d29fcGhhc2UgZW5hYmxlZAogQUxURVIgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHN0cmVhbWluZyA9IHRydWUpOwogXGRScysK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8 IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9y IHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIg fCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwg UmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24g fCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBsb2cgdGFibGUgCi0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7 dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg IHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwg ICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0 aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFi bGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0 IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFz IG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJl dGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAg TFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJl Z3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAg fCBvbiAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAg ICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAg IHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAg ICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CkBAIC00 NTIsMTAgKzQ1MiwxMCBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05O RUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQgogV0FSTklORzogIHN1YnNj cmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0 aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlv biBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRp b24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIg dGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxvZyBkZXN0aW5h dGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwg b24gICAgICAgIHwgcCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8 IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAg ICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0 IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAg ICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAg IHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJp bmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwg T3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBT ZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0 ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAg ICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCist LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNl ciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAg fCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAgLTQ2OCwxOCArNDY4LDE4IEBAIENSRUFU RSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBi dXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3Ug bXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vi c2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0 aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwot ICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwg UHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVy PyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8 IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxpY3QgbG9nIHRh YmxlIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIg fCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAg ICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwg MC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgLQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0 IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAg ICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdv LXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1 aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1 cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGlt ZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVi fSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAg ICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg IDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jl c3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKICgxIHJv dykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKGRpc2FibGVfb25f ZXJyb3IgPSB0cnVlKTsKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2Ny aXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBF bmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29t bWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVu IGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4 IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21t aXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNr aXAgTFNOICB8IERlc2NyaXB0aW9uIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgQ29uZmxp Y3QgbG9nIHRhYmxlIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0 aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBk ICAgICAgICAgICAgICAgIHwgdCAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAg ICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYg ICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAg ICAgICAgIHwgMC8wMDAwMDAwMCB8ICAgICAgICAgICAgIHwgbG9nICAgICAgICAgICAgICAgICAg ICAgIHwgLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVj ZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0K KyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IHQg ICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCAKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNs b3RfbmFtZSA9IE5PTkUpOwpAQCAtNDkyLDEwICs0OTIsMTAgQEAgQ1JFQVRFIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0 JyBQVUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29u bmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5 IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFu ZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgogXGRScysK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8 IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9y IHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIg fCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwg UmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24g fCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBsb2cgdGFibGUgCi0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g cmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7 dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg IHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFt ZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwg ICAgICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0 aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFi bGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0 IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFz IG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJl dGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAg TFNOICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJl Z3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAg fCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAg ICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAg IHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAg ICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhp c3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CkBAIC01 MDksMTkgKzUwOSwxOSBAQCBOT1RJQ0U6ICBtYXhfcmV0ZW50aW9uX2R1cmF0aW9uIGlzIGluZWZm ZWN0aXZlIHdoZW4gcmV0YWluX2RlYWRfdHVwbGVzIGlzIGRpc2FibAogV0FSTklORzogIHN1YnNj cmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0 aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlv biBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRp b24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIg dGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiB8IENvbmZsaWN0IGxvZyBkZXN0aW5h dGlvbiB8IENvbmZsaWN0IGxvZyB0YWJsZSAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdy ZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwg cGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8 IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIDEwMDAgfCBmICAgICAgICAg ICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0 IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAgICAgICAgICAgICB8IGxvZyAgICAg ICAgICAgICAgICAgICAgICB8IC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAg IHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJp bmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwg T3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBT ZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0 ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAg ICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCist LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNl ciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAxMDAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAg fCAwLzAwMDAwMDAwIHwgCiAoMSByb3cpCiAKIC0tIG9rCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVn cmVzc190ZXN0c3ViIFNFVCAobWF4X3JldGVudGlvbl9kdXJhdGlvbiA9IDApOwogXGRScysKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAg IHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJp bmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwg T3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBT ZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0 ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAg ICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gfCBD b25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBDb25mbGljdCBsb2cgdGFibGUgCi0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVn cmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVz dHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwg ZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1y ZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgICAg ICAgICAgICAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAtCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93 bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVu dGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNO ICB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBw YXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8 IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwg ZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAg ICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3Qg fCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CkBAIC01ODUs NyArNTg1LDcgQEAgU0VUIGNsaWVudF9taW5fbWVzc2FnZXMgPSBXQVJOSU5HOwogQ1JFQVRFIFNV QlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2ZhaWwgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jl c3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxz ZSwgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ2ludmFsaWQnKTsKIEVSUk9SOiAgdW5yZWNv Z25pemVkIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiB2YWx1ZTogImludmFsaWQiCiBISU5UOiAg VmFsaWQgdmFsdWVzIGFyZSAibG9nIiwgInRhYmxlIiwgYW5kICJhbGwiLgotLS0gdmVyaWZ5IHN1 YmNvbmZsaWN0bG9nZGVzdCBpcyAnbG9nJyBhbmQgcmVsaWQgaXMgMCAoSW52YWxpZE9pZCkgZm9y IGRlZmF1bHQgY2FzZQorLS0gdmVyaWZ5IHN1YmNvbmZsaWN0bG9nZGVzdCBpcyAnbG9nJyBhbmQg c3ViY29uZmxpY3Rsb2dyZWxpZCBpcyAwIChJbnZhbGlkT2lkKSBmb3IgZGVmYXVsdCBjYXNlCiBD UkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfbG9nX2RlZmF1bHQgQ09OTkVDVElP TiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEgg KGNvbm5lY3QgPSBmYWxzZSk7CiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBi dXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3Ug bXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vi c2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0 aW9ucy4KQEAgLTYwNywxMSArNjA3LDExIEBAIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1 Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF9lbXB0eV9zdHInOwogIHJlZ3Jlc3NfY29uZmxpY3Rf ZW1wdHlfc3RyIHwgbG9nICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgMAogKDEg cm93KQogCi0tLSB0aGlzIHNob3VsZCBnZW5lcmF0ZSBhbiBpbnRlcm5hbCBjb25mbGljdCBsb2cg dGFibGUgbmFtZWQgcGdfY29uZmxpY3RfbG9nXyRzdWJpZCQKKy0tIHRoaXMgc2hvdWxkIGdlbmVy YXRlIGFuIGNvbmZsaWN0IGxvZyB0YWJsZSBuYW1lZCBwZ19jb25mbGljdF9sb2dfZm9yX3N1Ymlk XyRzdWJpZCQKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBDT05O RUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIg V0lUSCAoY29ubmVjdCA9IGZhbHNlLCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUn KTsKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1dCBpcyBub3QgY29ubmVj dGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBtdXN0IG1hbnVhbGx5IGNy ZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJzY3JpcHRpb24sIGFuZCBh bHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRpb25zLgotLS0gY2hlY2sg bWV0YWRhdGEgaW4gcGdfc3Vic2NyaXB0aW9uOiBkZXN0aW5hdGlvbiBzaG91bGQgYmUgJ3RhYmxl JyBhbmQgcmVsaWQgdmFsaWQKKy0tIGNoZWNrIG1ldGFkYXRhIGluIHBnX3N1YnNjcmlwdGlvbjog ZGVzdGluYXRpb24gc2hvdWxkIGJlICd0YWJsZScgYW5kIHN1YmNvbmZsaWN0bG9ncmVsaWQgdmFs aWQKIFNFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVs aWQgPiAwIEFTIGhhc19yZWxpZAogRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9 ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJzsKICAgICAgICAgc3VibmFtZSAgICAgICAgIHwgc3Vi Y29uZmxpY3Rsb2dkZXN0IHwgaGFzX3JlbGlkIApAQCAtNjIzLDcgKzYyMyw3IEBAIEZST00gcGdf c3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MSc7CiAt LSBhbmQgaXQgaXMgbG9jYXRlZCBpbiB0aGUgJ3BnX2NvbmZsaWN0JyBuYW1lc3BhY2UKIFNFTEVD VCBuLm5zcG5hbWUsIChjLm9pZCA9IHMuc3ViY29uZmxpY3Rsb2dyZWxpZCkgQVMgIm9pZF9tYXRj aGVzIgogRlJPTSBwZ19jbGFzcyBjCi1KT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFt ZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBP TiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8nIHx8IHMub2lkCiBKT0lO IHBnX25hbWVzcGFjZSBuIE9OIGMucmVsbmFtZXNwYWNlID0gbi5vaWQKIFdIRVJFIHMuc3VibmFt ZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJzsKICAgIG5zcG5hbWUgICB8IG9pZF9tYXRjaGVz IApAQCAtNjM1LDcgKzYzNSw3IEBAIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0 X3Rlc3QxJzsKIFNFTEVDVCBhLmF0dG51bSwgYS5hdHRuYW1lCiBGUk9NIHBnX2F0dHJpYnV0ZSBh CiBKT0lOIHBnX2NsYXNzIGMgT04gYS5hdHRyZWxpZCA9IGMub2lkCi1KT0lOIHBnX3N1YnNjcmlw dGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorSk9JTiBw Z19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJp ZF8nIHx8IHMub2lkCiBXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MScg QU5EIGEuYXR0bnVtID4gMAogICAgIE9SREVSIEJZIGEuYXR0bnVtOwogIGF0dG51bSB8ICAgICAg YXR0bmFtZSAgICAgIApAQCAtNjQ4LDggKzY0OCw4IEBAIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdy ZXNzX2NvbmZsaWN0X3Rlc3QxJyBBTkQgYS5hdHRudW0gPiAwCiAgICAgICA2IHwgcmVtb3RlX2Nv bW1pdF9sc24KICAgICAgIDcgfCByZW1vdGVfY29tbWl0X3RzCiAgICAgICA4IHwgcmVtb3RlX29y aWdpbgotICAgICAgOSB8IHJlcGxpY2FfaWRlbnRpdHkKLSAgICAgMTAgfCByZW1vdGVfdHVwbGUK KyAgICAgIDkgfCByZW1vdGVfdHVwbGUKKyAgICAgMTAgfCByZXBsaWNhX2lkZW50aXR5CiAgICAg IDExIHwgbG9jYWxfY29uZmxpY3RzCiAoMTEgcm93cykKIApAQCAtNjk2LDcgKzY5Niw3IEBAIEFM VEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QxIE9XTkVSIFRPIHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXI7CiAtLSBleHBlY3RlZAogLS0KIC0tIHRyYW5zaXRpb24gZnJvbSAn bG9nJyB0byAnYWxsJwotLS0gYSBuZXcgaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRhYmxlIHNob3Vs ZCBiZSBjcmVhdGVkCistLSBhIG5ldyBjb25mbGljdCBsb2cgdGFibGUgc2hvdWxkIGJlIGNyZWF0 ZWQKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MiBDT05ORUNUSU9O ICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAo Y29ubmVjdCA9IGZhbHNlLCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAnbG9nJyk7CiBXQVJO SU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElO VDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhl IHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhl IHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KQEAgLTcyMSw3ICs3MjEsNyBA QCBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3Rf dGVzdDInOwogKDEgcm93KQogCiAtLSB0cmFuc2l0aW9uIGZyb20gJ3RhYmxlJyB0byAnbG9nJwot LS0gc2hvdWxkIGRyb3AgdGhlIHRhYmxlIGFuZCBjbGVhciByZWxpZAorLS0gc2hvdWxkIGRyb3Ag dGhlIHRhYmxlIGFuZCBjbGVhciBzdWJjb25mbGljdGxvZ3JlbGlkCiBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc19jb25mbGljdF90ZXN0MiBTRVQgKGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9 ICdsb2cnKTsKIFNFTEVDVCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQK IEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90 ZXN0Mic7CkBAIC03MzMsNyArNzMzLDcgQEAgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3Vi bmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QyJzsKIC0tIHZlcmlmeSB0aGUgcGh5c2ljYWwg dGFibGUgaXMgZ29uZQogU0VMRUNUIGNvdW50KCopCiBGUk9NIHBnX2NsYXNzIGMKLUpPSU4gcGdf c3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ18nIHx8IHMub2lk CitKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2df Zm9yX3N1YmlkXycgfHwgcy5vaWQKIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0 X3Rlc3QyJzsKICBjb3VudCAKIC0tLS0tLS0KQEAgLTc0Myw4ICs3NDMsOCBAQCBXSEVSRSBzLnN1 Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0Mic7CiAtLQogLS0gUFVCTElDQVRJT046IFZl cmlmeSBjb25mbGljdCBsb2cgdGFibGVzIGFyZSBub3QgcHVibGlzaGFibGUKIC0tCi0tLSBwZ19y ZWxhdGlvbl9pc19wdWJsaXNoYWJsZSBzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBpbnRlcm5hbCBj b25mbGljdCBsb2cKLS0tIHRhYmxlcyB0byBwcmV2ZW50IHRoZW0gZnJvbSBiZWluZyBhY2NpZGVu dGFsbHkgaW5jbHVkZWQgaW4gcHVibGljYXRpb25zCistLSBwZ19yZWxhdGlvbl9pc19wdWJsaXNo YWJsZSBzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBjb25mbGljdCBsb2cgdGFibGVzIHRvCistLSBw cmV2ZW50IHRoZW0gZnJvbSBiZWluZyBhY2NpZGVudGFsbHkgaW5jbHVkZWQgaW4gcHVibGljYXRp b25zCiAtLQogU0VMRUNUIG4ubnNwbmFtZSwgcGdfcmVsYXRpb25faXNfcHVibGlzaGFibGUoYy5v aWQpCiBGUk9NIHBnX2NsYXNzIGMKQEAgLTc2NSw3ICs3NjUsNyBAQCBXSEVSRSBzLnN1Ym5hbWUg PSAncmVncmVzc19jb25mbGljdF90ZXN0MSc7CiAtLQogLS0gcmUtZW5hYmxlIHRhYmxlIGxvZ2dp bmcgZm9yIHZlcmlmaWNhdGlvbgogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3Rf dGVzdDEgU0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKLS0tIFdlIHVz ZSBhIERPIGJsb2NrIHdpdGggZHluYW1pYyBTUUwgYmVjYXVzZSB0aGUgaW50ZXJuYWwgY29uZmxp Y3QgbG9nIHRhYmxlCistLSBXZSB1c2UgYSBETyBibG9jayB3aXRoIGR5bmFtaWMgU1FMIGJlY2F1 c2UgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZQogLS0gbmFtZSBjb250YWlucyB0aGUgc3Vic2NyaXB0 aW9uIE9JRCwgd2hpY2ggaXMgbm9uLWRldGVybWluaXN0aWMuIFRoaXMKIC0tIGFwcHJvYWNoIGFs bG93cyB1cyB0byBhdHRlbXB0IHRoZSBEUk9QIGFuZCBjYXB0dXJlIHRoZSBleHBlY3RlZCBlcnJv cgogLS0gd2l0aG91dCBoYXJkLWNvZGluZyBhIHNwZWNpZmljIE9JRCBpbiB0aGUgZXhwZWN0ZWQg b3V0cHV0CkBAIC03NzMsNyArNzczLDcgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29u ZmxpY3RfdGVzdDEgU0VUIChjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUKIFNFVCBj bGllbnRfbWluX21lc3NhZ2VzID0gTk9USUNFOwogRE8gJCQKIEJFR0lOCi0gICAgRVhFQ1VURSAn RFJPUCBUQUJMRSAnIHx8IChTRUxFQ1QgJ3BnX2NvbmZsaWN0LnBnX2NvbmZsaWN0X2xvZ18nIHx8 IG9pZCBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxp Y3RfdGVzdDEnKTsKKyAgICBFWEVDVVRFICdEUk9QIFRBQkxFICcgfHwgKFNFTEVDVCAncGdfY29u ZmxpY3QucGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8nIHx8IG9pZCBGUk9NIHBnX3N1YnNjcmlw dGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnKTsKIEVYQ0VQVElP TiBXSEVOIGluc3VmZmljaWVudF9wcml2aWxlZ2UgVEhFTgogICAgIFJBSVNFIE5PVElDRSAnY2Fw dHVyZWQgZXhwZWN0ZWQgZXJyb3I6IGluc3VmZmljaWVudF9wcml2aWxlZ2UnOwogRU5EICQkOwpA QCAtNzgyLDcgKzc4Miw4IEBAIE5PVElDRTogIGNhcHR1cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1 ZmZpY2llbnRfcHJpdmlsZWdlCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90 ZXN0MSBESVNBQkxFOwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEg U0VUIChzbG90X25hbWUgPSBOT05FKTsKIC0tIFZlcmlmeSB0aGUgdGFibGUgT0lEIGZvciByZWFw IGNoZWNrCi1TRUxFQ1QgJ3BnX2NvbmZsaWN0X2xvZ18nIHx8IG9pZCBBUyBpbnRlcm5hbF90YWJs ZW5hbWUgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZs aWN0X3Rlc3QxJyBcZ3NldAorU0VMRUNUICdwZ19jb25mbGljdC5wZ19jb25mbGljdF9sb2dfZm9y X3N1YmlkXycgfHwgb2lkIEFTIGludGVybmFsX3RhYmxlbmFtZSBGUk9NIHBnX3N1YnNjcmlwdGlv biBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEnIFxnc2V0CitTRVQgY2xp ZW50X21pbl9tZXNzYWdlcyA9IFdBUk5JTkc7CiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX2Nv bmZsaWN0X3Rlc3QxOwogLS0gc2hvdWxkIHJldHVybiBOVUxMLCBtZWFuaW5nIHRoZSBjb25mbGlj dCBsb2cgdGFibGUgd2FzIHJlYXBlZCB2aWEgZGVwZW5kZW5jeQogU0VMRUNUIHRvX3JlZ2NsYXNz KDonaW50ZXJuYWxfdGFibGVuYW1lJyk7CkBAIC03OTQsMTMgKzc5NSwxMiBAQCBTRUxFQ1QgdG9f cmVnY2xhc3MoOidpbnRlcm5hbF90YWJsZW5hbWUnKTsKIC0tCiAtLSBBZGRpdGlvbmFsIE5hbWVz cGFjZSBhbmQgVGFibGUgUHJvdGVjdGlvbiBUZXN0cwogLS0KLVNFVCBjbGllbnRfbWluX21lc3Nh Z2VzID0gV0FSTklORzsKIC0tIFNldHVwOiBFbnN1cmUgd2UgaGF2ZSBhIHN1YnNjcmlwdGlvbiB3 aXRoIGEgY29uZmxpY3QgbG9nIHRhYmxlCiBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29u ZmxpY3RfcHJvdGVjdGlvbl90ZXN0IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCcKICAgICBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29u ZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlJyk7CiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9u IHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJl cGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3Qs IGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byBy ZWZyZXNoIHB1YmxpY2F0aW9ucy4KLS0tIFRyeWluZyB0byBBTFRFUiB0aGUgaW50ZXJuYWwgY29u ZmxpY3QgbG9nIHRhYmxlCistLSBUcnlpbmcgdG8gQUxURVIgdGhlIGNvbmZsaWN0IGxvZyB0YWJs ZQogLS0gVGhpcyBzaG91bGQgZmFpbCBiZWNhdXNlIHRoZSB0YWJsZSBpcyBzeXN0ZW0tbWFuYWdl ZAogLS0gQXMgbWVudGlvbmVkIGluIHByZXZpb3VzIHRlc3QgY2FzZXMsIHdlIHVzZSBhIERPIGJs b2NrIHRvIGhpZGUgZHluYW1pYyBPSURzCiBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9IE5PVElD RTsKQEAgLTgwOSwxNSArODA5LDE1IEBAIERFQ0xBUkUKICAgICB0YWJfbmFtZSB0ZXh0OwogQkVH SU4KICAgICBTRUxFQ1QgJ3BnX2NvbmZsaWN0LicgfHwgcmVsbmFtZSBJTlRPIHRhYl9uYW1lCi0g ICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0g J3BnX2NvbmZsaWN0X2xvZ18nIHx8IHMub2lkCisgICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdf c3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ19mb3Jfc3ViaWRf JyB8fCBzLm9pZAogICAgIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Byb3Rl Y3Rpb25fdGVzdCc7CiAKLSAgICBSQUlTRSBOT1RJQ0UgJ0F0dGVtcHRpbmcgQUxURVIgVEFCTEUg b24gaW50ZXJuYWwgY29uZmxpY3QgbG9nIHRhYmxlJzsKKyAgICBSQUlTRSBOT1RJQ0UgJ0F0dGVt cHRpbmcgQUxURVIgVEFCTEUgb24gY29uZmxpY3QgbG9nIHRhYmxlJzsKICAgICBFWEVDVVRFICdB TFRFUiBUQUJMRSAnIHx8IHRhYl9uYW1lIHx8ICcgQUREIENPTFVNTiBleHRyYV9pbmZvIHRleHQn OwogRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVOCiAgICAgUkFJU0Ug Tk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBk dXJpbmcgQUxURVInOwogRU5EICQkOwotTk9USUNFOiAgQXR0ZW1wdGluZyBBTFRFUiBUQUJMRSBv biBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUKK05PVElDRTogIEF0dGVtcHRpbmcgQUxURVIg VEFCTEUgb24gY29uZmxpY3QgbG9nIHRhYmxlCiBOT1RJQ0U6ICBjYXB0dXJlZCBleHBlY3RlZCBl cnJvcjogaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBkdXJpbmcgQUxURVIKIC0tIFRlc3QgTWFudWFs IElOU0VSVCBvbiBjb25mbGljdCBsb2cgdGFibGUKIC0tIFRoaXMgc2hvdWxkIGZhaWwgYmVjYXVz ZSB0aGUgdGFibGUgaXMgc3lzdGVtLW1hbmFnZWQKQEAgLTgyNywxNCArODI3LDE0IEBAIERFQ0xB UkUKICAgICB0YWJfbmFtZSB0ZXh0OwogQkVHSU4KICAgICBTRUxFQ1QgJ3BnX2NvbmZsaWN0Licg fHwgcmVsbmFtZSBJTlRPIHRhYl9uYW1lCi0gICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vi c2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ18nIHx8IHMub2lkCisg ICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0g J3BnX2NvbmZsaWN0X2xvZ19mb3Jfc3ViaWRfJyB8fCBzLm9pZAogICAgIFdIRVJFIHMuc3VibmFt ZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdCc7CiAKICAgICBFWEVDVVRFICdJ TlNFUlQgSU5UTyAnIHx8IHRhYl9uYW1lIHx8ICcgKHJlbG5hbWUpIFZBTFVFUyAoJydteXRlc3Qn JyknOwotRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVOCi0gICAgUkFJ U0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50X3ByaXZpbGVn ZSBkdXJpbmcgSU5TRVJUJzsKK0VYQ0VQVElPTiBXSEVOIHdyb25nX29iamVjdF90eXBlIFRIRU4K KyAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVjdGVkIGVycm9yOiB3cm9uZ19vYmplY3Rf dHlwZSBkdXJpbmcgSU5TRVJUJzsKIEVORCAkJDsKLU5PVElDRTogIGNhcHR1cmVkIGV4cGVjdGVk IGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIGR1cmluZyBJTlNFUlQKK05PVElDRTogIGNh cHR1cmVkIGV4cGVjdGVkIGVycm9yOiB3cm9uZ19vYmplY3RfdHlwZSBkdXJpbmcgSU5TRVJUCiAt LSBUZXN0IE1hbnVhbCBVUERBVEUgb24gY29uZmxpY3QgbG9nIHRhYmxlCiAtLSBUaGlzIHNob3Vs ZCBmYWlsIGJlY2F1c2UgdGhlIHRhYmxlIGlzIHN5c3RlbS1tYW5hZ2VkCiAtLSBIaWRpbmcgdGhl IE9JRCBpbiB0aGUgZXJyb3IgbWVzc2FnZSBieSBjYXRjaGluZyB0aGUgZXhjZXB0aW9uCkBAIC04 NDMsMTkgKzg0MywxOSBAQCBERUNMQVJFCiAgICAgdGFiX25hbWUgdGV4dDsKIEJFR0lOCiAgICAg U0VMRUNUICdwZ19jb25mbGljdC4nIHx8IHJlbG5hbWUgSU5UTyB0YWJfbmFtZQotICAgIEZST00g cGdfY2xhc3MgYyBKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25m bGljdF9sb2dfJyB8fCBzLm9pZAorICAgIEZST00gcGdfY2xhc3MgYyBKT0lOIHBnX3N1YnNjcmlw dGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfZm9yX3N1YmlkXycgfHwgcy5v aWQKICAgICBXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF9wcm90ZWN0aW9uX3Rl c3QnOwogCiAgICAgRVhFQ1VURSAnVVBEQVRFICcgfHwgdGFiX25hbWUgfHwgJyBTRVQgcmVsbmFt ZSA9ICcnbXl0ZXN0JycgJzsKLUVYQ0VQVElPTiBXSEVOIGluc3VmZmljaWVudF9wcml2aWxlZ2Ug VEhFTgotICAgIFJBSVNFIE5PVElDRSAnY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IGluc3VmZmlj aWVudF9wcml2aWxlZ2UgZHVyaW5nIFVQREFURSc7CitFWENFUFRJT04gV0hFTiB3cm9uZ19vYmpl Y3RfdHlwZSBUSEVOCisgICAgUkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjog d3Jvbmdfb2JqZWN0X3R5cGUgZHVyaW5nIFVQREFURSc7CiBFTkQgJCQ7Ci1OT1RJQ0U6ICBjYXB0 dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBkdXJpbmcgVVBEQVRF Ci0tLSBUcnlpbmcgdG8gcGVyZm9ybSBUUlVOQ0FURS9ERUxFVEUgb24gdGhlIGludGVybmFsIGNv bmZsaWN0IGxvZyB0YWJsZQorTk9USUNFOiAgY2FwdHVyZWQgZXhwZWN0ZWQgZXJyb3I6IHdyb25n X29iamVjdF90eXBlIGR1cmluZyBVUERBVEUKKy0tIFRyeWluZyB0byBwZXJmb3JtIFRSVU5DQVRF L0RFTEVURSBvbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlCiAtLSBUaGlzIHNob3VsZCBiZSBhbGxv d2VkIHNvIHRoYXQgdXNlciBjYW4gcGVyZm9ybSBjbGVhbnVwCiBTRUxFQ1QgJ3BnX2NvbmZsaWN0 LicgfHwgcmVsbmFtZSBBUyBjb25mbGljdF90YWIKIEZST00gcGdfY2xhc3MgYwotSk9JTiBwZ19z dWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nXycgfHwgcy5vaWQK K0pPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ19m b3Jfc3ViaWRfJyB8fCBzLm9pZAogV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3Rf cHJvdGVjdGlvbl90ZXN0JyBcZ3NldAogVFJVTkNBVEUgOmNvbmZsaWN0X3RhYjsKIERFTEVURSBG Uk9NIDpjb25mbGljdF90YWI7CkBAIC04NjMsMTMgKzg2MywxNCBAQCBERUxFVEUgRlJPTSA6Y29u ZmxpY3RfdGFiOwogLS0gVGhpcyBzaG91bGQgZmFpbCBhcyB0aGUgbmFtZXNwYWNlIGlzIHJlc2Vy dmVkIGZvciBjb25mbGljdCBsb2dzIHRhYmxlcwogQ1JFQVRFIFRBQkxFIHBnX2NvbmZsaWN0Lm1h bnVhbF90YWJsZSAoaWQgaW50KTsKIEVSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgdG8gY3JlYXRl ICJwZ19jb25mbGljdC5tYW51YWxfdGFibGUiCi1ERVRBSUw6ICBTeXN0ZW0gY2F0YWxvZyBtb2Rp ZmljYXRpb25zIGFyZSBjdXJyZW50bHkgZGlzYWxsb3dlZC4KK0RFVEFJTDogIENvbmZsaWN0IHNj aGVtYSBtb2RpZmljYXRpb25zIGFyZSBjdXJyZW50bHkgZGlzYWxsb3dlZC4KIC0tIE1vdmluZyBh biBleGlzdGluZyB0YWJsZSBpbnRvIHRoZSBwZ19jb25mbGljdCBuYW1lc3BhY2UKIC0tIFVzZXJz IHNob3VsZCBub3QgYmUgYWJsZSB0byBtb3ZlIHRoZWlyIG93biB0YWJsZXMgd2l0aGluIHRoaXMg bmFtZXNwYWNlCiBDUkVBVEUgVEFCTEUgcHVibGljLnRlc3RfbW92ZSAoaWQgaW50KTsKIEFMVEVS IFRBQkxFIHB1YmxpYy50ZXN0X21vdmUgU0VUIFNDSEVNQSBwZ19jb25mbGljdDsKLUVSUk9SOiAg Y2Fubm90IG1vdmUgb2JqZWN0cyBpbnRvIG9yIG91dCBvZiBDT05GTElDVCBzY2hlbWEKK0VSUk9S OiAgY2Fubm90IG1vdmUgb2JqZWN0cyBpbnRvIG9yIG91dCBvZiB0aGUgY29uZmxpY3Qgc2NoZW1h CiBEUk9QIFRBQkxFIHB1YmxpYy50ZXN0X21vdmU7CitTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9 IFdBUk5JTkc7CiAtLSBDbGVhbiB1cCByZW1haW5pbmcgdGVzdCBzdWJzY3JpcHRpb24KIEFMVEVS IFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2xvZ19kZWZhdWx0IERJU0FCTEU7CiBBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCBTRVQgKHNsb3RfbmFt ZSA9IE5PTkUpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vic2NyaXB0aW9u LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKaW5kZXggN2NiZTNl MWY3MDYuLjJhMjEzNTc2N2Y4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJz Y3JpcHRpb24uc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwK QEAgLTQ0Miw3ICs0NDIsNyBAQCBTRVQgY2xpZW50X21pbl9tZXNzYWdlcyA9IFdBUk5JTkc7CiAt LSBmYWlsIC0gdW5yZWNvZ25pemVkIHBhcmFtZXRlciB2YWx1ZQogQ1JFQVRFIFNVQlNDUklQVElP TiByZWdyZXNzX2NvbmZsaWN0X2ZhaWwgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgY29uZmxp Y3RfbG9nX2Rlc3RpbmF0aW9uID0gJ2ludmFsaWQnKTsKIAotLS0gdmVyaWZ5IHN1YmNvbmZsaWN0 bG9nZGVzdCBpcyAnbG9nJyBhbmQgcmVsaWQgaXMgMCAoSW52YWxpZE9pZCkgZm9yIGRlZmF1bHQg Y2FzZQorLS0gdmVyaWZ5IHN1YmNvbmZsaWN0bG9nZGVzdCBpcyAnbG9nJyBhbmQgc3ViY29uZmxp Y3Rsb2dyZWxpZCBpcyAwIChJbnZhbGlkT2lkKSBmb3IgZGVmYXVsdCBjYXNlCiBDUkVBVEUgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfbG9nX2RlZmF1bHQgQ09OTkVDVElPTiAnZGJuYW1l PXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEggKGNvbm5lY3Qg PSBmYWxzZSk7CiBTRUxFQ1Qgc3VibmFtZSwgc3ViY29uZmxpY3Rsb2dkZXN0LCBzdWJjb25mbGlj dGxvZ3JlbGlkCiBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3Nf Y29uZmxpY3RfbG9nX2RlZmF1bHQnOwpAQCAtNDUyLDEwICs0NTIsMTAgQEAgQ1JFQVRFIFNVQlND UklQVElPTiByZWdyZXNzX2NvbmZsaWN0X2VtcHR5X3N0ciBDT05ORUNUSU9OICdkYm5hbWU9cmVn cmVzc19kb2Vzbm8KIFNFTEVDVCBzdWJuYW1lLCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZs aWN0bG9ncmVsaWQKIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVz c19jb25mbGljdF9lbXB0eV9zdHInOwogCi0tLSB0aGlzIHNob3VsZCBnZW5lcmF0ZSBhbiBpbnRl cm5hbCBjb25mbGljdCBsb2cgdGFibGUgbmFtZWQgcGdfY29uZmxpY3RfbG9nXyRzdWJpZCQKKy0t IHRoaXMgc2hvdWxkIGdlbmVyYXRlIGFuIGNvbmZsaWN0IGxvZyB0YWJsZSBuYW1lZCBwZ19jb25m bGljdF9sb2dfZm9yX3N1YmlkXyRzdWJpZCQKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19j b25mbGljdF90ZXN0MSBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBV QkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBjb25mbGljdF9sb2dfZGVz dGluYXRpb24gPSAndGFibGUnKTsKIAotLS0gY2hlY2sgbWV0YWRhdGEgaW4gcGdfc3Vic2NyaXB0 aW9uOiBkZXN0aW5hdGlvbiBzaG91bGQgYmUgJ3RhYmxlJyBhbmQgcmVsaWQgdmFsaWQKKy0tIGNo ZWNrIG1ldGFkYXRhIGluIHBnX3N1YnNjcmlwdGlvbjogZGVzdGluYXRpb24gc2hvdWxkIGJlICd0 YWJsZScgYW5kIHN1YmNvbmZsaWN0bG9ncmVsaWQgdmFsaWQKIFNFTEVDVCBzdWJuYW1lLCBzdWJj b25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZsaWN0bG9ncmVsaWQgPiAwIEFTIGhhc19yZWxpZAogRlJP TSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3Qx JzsKIApAQCAtNDYzLDcgKzQ2Myw3IEBAIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5h bWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MSc7CiAtLSBhbmQgaXQgaXMgbG9jYXRlZCBpbiB0 aGUgJ3BnX2NvbmZsaWN0JyBuYW1lc3BhY2UKIFNFTEVDVCBuLm5zcG5hbWUsIChjLm9pZCA9IHMu c3ViY29uZmxpY3Rsb2dyZWxpZCkgQVMgIm9pZF9tYXRjaGVzIgogRlJPTSBwZ19jbGFzcyBjCi1K T0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8 fCBzLm9pZAorSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxp Y3RfbG9nX2Zvcl9zdWJpZF8nIHx8IHMub2lkCiBKT0lOIHBnX25hbWVzcGFjZSBuIE9OIGMucmVs bmFtZXNwYWNlID0gbi5vaWQKIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rl c3QxJzsKIApAQCAtNDcxLDcgKzQ3MSw3IEBAIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2Nv bmZsaWN0X3Rlc3QxJzsKIFNFTEVDVCBhLmF0dG51bSwgYS5hdHRuYW1lCiBGUk9NIHBnX2F0dHJp YnV0ZSBhCiBKT0lOIHBnX2NsYXNzIGMgT04gYS5hdHRyZWxpZCA9IGMub2lkCi1KT0lOIHBnX3N1 YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAor Sk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nX2Zv cl9zdWJpZF8nIHx8IHMub2lkCiBXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90 ZXN0MScgQU5EIGEuYXR0bnVtID4gMAogICAgIE9SREVSIEJZIGEuYXR0bnVtOwogCkBAIC01MTQs NyArNTE0LDcgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEgT1dO RVIgVE8gcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjsKIC0tIGV4cGVjdGVkCiAtLQogLS0gdHJh bnNpdGlvbiBmcm9tICdsb2cnIHRvICdhbGwnCi0tLSBhIG5ldyBpbnRlcm5hbCBjb25mbGljdCBs b2cgdGFibGUgc2hvdWxkIGJlIGNyZWF0ZWQKKy0tIGEgbmV3IGNvbmZsaWN0IGxvZyB0YWJsZSBz aG91bGQgYmUgY3JlYXRlZAogQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rl c3QyIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04g dGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9 ICdsb2cnKTsKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3QyIFNFVCAo Y29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ2FsbCcpOwogCkBAIC01MzAsNyArNTMwLDcgQEAg U0VMRUNUIHN1YmNvbmZsaWN0bG9nZGVzdCwgc3ViY29uZmxpY3Rsb2dyZWxpZCA9IDpvbGRfcmVs aWQgQVMgcmVsaWRfdW5jaGFuZ2VkCiBGUk9NIHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1l ID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDInOwogCiAtLSB0cmFuc2l0aW9uIGZyb20gJ3RhYmxl JyB0byAnbG9nJwotLS0gc2hvdWxkIGRyb3AgdGhlIHRhYmxlIGFuZCBjbGVhciByZWxpZAorLS0g c2hvdWxkIGRyb3AgdGhlIHRhYmxlIGFuZCBjbGVhciBzdWJjb25mbGljdGxvZ3JlbGlkCiBBTFRF UiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MiBTRVQgKGNvbmZsaWN0X2xvZ19k ZXN0aW5hdGlvbiA9ICdsb2cnKTsKIFNFTEVDVCBzdWJjb25mbGljdGxvZ2Rlc3QsIHN1YmNvbmZs aWN0bG9ncmVsaWQKIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVz c19jb25mbGljdF90ZXN0Mic7CkBAIC01MzgsMTQgKzUzOCwxNCBAQCBGUk9NIHBnX3N1YnNjcmlw dGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDInOwogLS0gdmVyaWZ5 IHRoZSBwaHlzaWNhbCB0YWJsZSBpcyBnb25lCiBTRUxFQ1QgY291bnQoKikKIEZST00gcGdfY2xh c3MgYwotSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3Rf bG9nXycgfHwgcy5vaWQKK0pPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3Bn X2NvbmZsaWN0X2xvZ19mb3Jfc3ViaWRfJyB8fCBzLm9pZAogV0hFUkUgcy5zdWJuYW1lID0gJ3Jl Z3Jlc3NfY29uZmxpY3RfdGVzdDInOwogCiAtLQogLS0gUFVCTElDQVRJT046IFZlcmlmeSBjb25m bGljdCBsb2cgdGFibGVzIGFyZSBub3QgcHVibGlzaGFibGUKIC0tCi0tLSBwZ19yZWxhdGlvbl9p c19wdWJsaXNoYWJsZSBzaG91bGQgcmV0dXJuIGZhbHNlIGZvciBpbnRlcm5hbCBjb25mbGljdCBs b2cKLS0tIHRhYmxlcyB0byBwcmV2ZW50IHRoZW0gZnJvbSBiZWluZyBhY2NpZGVudGFsbHkgaW5j bHVkZWQgaW4gcHVibGljYXRpb25zCistLSBwZ19yZWxhdGlvbl9pc19wdWJsaXNoYWJsZSBzaG91 bGQgcmV0dXJuIGZhbHNlIGZvciBjb25mbGljdCBsb2cgdGFibGVzIHRvCistLSBwcmV2ZW50IHRo ZW0gZnJvbSBiZWluZyBhY2NpZGVudGFsbHkgaW5jbHVkZWQgaW4gcHVibGljYXRpb25zCiAtLQog U0VMRUNUIG4ubnNwbmFtZSwgcGdfcmVsYXRpb25faXNfcHVibGlzaGFibGUoYy5vaWQpCiBGUk9N IHBnX2NsYXNzIGMKQEAgLTU2Myw3ICs1NjMsNyBAQCBXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVz c19jb25mbGljdF90ZXN0MSc7CiAtLSByZS1lbmFibGUgdGFibGUgbG9nZ2luZyBmb3IgdmVyaWZp Y2F0aW9uCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBTRVQgKGNv bmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICd0YWJsZScpOwogCi0tLSBXZSB1c2UgYSBETyBibG9j ayB3aXRoIGR5bmFtaWMgU1FMIGJlY2F1c2UgdGhlIGludGVybmFsIGNvbmZsaWN0IGxvZyB0YWJs ZQorLS0gV2UgdXNlIGEgRE8gYmxvY2sgd2l0aCBkeW5hbWljIFNRTCBiZWNhdXNlIHRoZSBjb25m bGljdCBsb2cgdGFibGUKIC0tIG5hbWUgY29udGFpbnMgdGhlIHN1YnNjcmlwdGlvbiBPSUQsIHdo aWNoIGlzIG5vbi1kZXRlcm1pbmlzdGljLiBUaGlzCiAtLSBhcHByb2FjaCBhbGxvd3MgdXMgdG8g YXR0ZW1wdCB0aGUgRFJPUCBhbmQgY2FwdHVyZSB0aGUgZXhwZWN0ZWQgZXJyb3IKIC0tIHdpdGhv dXQgaGFyZC1jb2RpbmcgYSBzcGVjaWZpYyBPSUQgaW4gdGhlIGV4cGVjdGVkIG91dHB1dApAQCAt NTcyLDcgKzU3Miw3IEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX2NvbmZsaWN0X3Rlc3Qx IFNFVCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlCiBTRVQgY2xpZW50X21pbl9t ZXNzYWdlcyA9IE5PVElDRTsKIERPICQkCiBCRUdJTgotICAgIEVYRUNVVEUgJ0RST1AgVEFCTEUg JyB8fCAoU0VMRUNUICdwZ19jb25mbGljdC5wZ19jb25mbGljdF9sb2dfJyB8fCBvaWQgRlJPTSBw Z19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJyk7 CisgICAgRVhFQ1VURSAnRFJPUCBUQUJMRSAnIHx8IChTRUxFQ1QgJ3BnX2NvbmZsaWN0LnBnX2Nv bmZsaWN0X2xvZ19mb3Jfc3ViaWRfJyB8fCBvaWQgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUg c3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Rlc3QxJyk7CiBFWENFUFRJT04gV0hFTiBpbnN1 ZmZpY2llbnRfcHJpdmlsZWdlIFRIRU4KICAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVj dGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlJzsKIEVORCAkJDsKQEAgLTU4Miw4ICs1 ODIsOSBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90ZXN0MSBESVNBQkxF OwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfdGVzdDEgU0VUIChzbG90X25h bWUgPSBOT05FKTsKIAogLS0gVmVyaWZ5IHRoZSB0YWJsZSBPSUQgZm9yIHJlYXAgY2hlY2sKLVNF TEVDVCAncGdfY29uZmxpY3RfbG9nXycgfHwgb2lkIEFTIGludGVybmFsX3RhYmxlbmFtZSBGUk9N IHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfdGVzdDEn IFxnc2V0CitTRUxFQ1QgJ3BnX2NvbmZsaWN0LnBnX2NvbmZsaWN0X2xvZ19mb3Jfc3ViaWRfJyB8 fCBvaWQgQVMgaW50ZXJuYWxfdGFibGVuYW1lIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1 Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF90ZXN0MScgXGdzZXQKIAorU0VUIGNsaWVudF9taW5f bWVzc2FnZXMgPSBXQVJOSU5HOwogRFJPUCBTVUJTQ1JJUFRJT04gcmVncmVzc19jb25mbGljdF90 ZXN0MTsKIAogLS0gc2hvdWxkIHJldHVybiBOVUxMLCBtZWFuaW5nIHRoZSBjb25mbGljdCBsb2cg dGFibGUgd2FzIHJlYXBlZCB2aWEgZGVwZW5kZW5jeQpAQCAtNTkzLDEyICs1OTQsMTEgQEAgU0VM RUNUIHRvX3JlZ2NsYXNzKDonaW50ZXJuYWxfdGFibGVuYW1lJyk7CiAtLSBBZGRpdGlvbmFsIE5h bWVzcGFjZSBhbmQgVGFibGUgUHJvdGVjdGlvbiBUZXN0cwogLS0KIAotU0VUIGNsaWVudF9taW5f bWVzc2FnZXMgPSBXQVJOSU5HOwogLS0gU2V0dXA6IEVuc3VyZSB3ZSBoYXZlIGEgc3Vic2NyaXB0 aW9uIHdpdGggYSBjb25mbGljdCBsb2cgdGFibGUKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVz c19jb25mbGljdF9wcm90ZWN0aW9uX3Rlc3QgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0JwogICAgIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVjdCA9IGZhbHNl LCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24gPSAndGFibGUnKTsKIAotLS0gVHJ5aW5nIHRvIEFM VEVSIHRoZSBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUKKy0tIFRyeWluZyB0byBBTFRFUiB0 aGUgY29uZmxpY3QgbG9nIHRhYmxlCiAtLSBUaGlzIHNob3VsZCBmYWlsIGJlY2F1c2UgdGhlIHRh YmxlIGlzIHN5c3RlbS1tYW5hZ2VkCiAtLSBBcyBtZW50aW9uZWQgaW4gcHJldmlvdXMgdGVzdCBj YXNlcywgd2UgdXNlIGEgRE8gYmxvY2sgdG8gaGlkZSBkeW5hbWljIE9JRHMKIApAQCAtNjA4LDEw ICs2MDgsMTAgQEAgREVDTEFSRQogICAgIHRhYl9uYW1lIHRleHQ7CiBCRUdJTgogICAgIFNFTEVD VCAncGdfY29uZmxpY3QuJyB8fCByZWxuYW1lIElOVE8gdGFiX25hbWUKLSAgICBGUk9NIHBnX2Ns YXNzIGMgSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3Rf bG9nXycgfHwgcy5vaWQKKyAgICBGUk9NIHBnX2NsYXNzIGMgSk9JTiBwZ19zdWJzY3JpcHRpb24g cyBPTiBjLnJlbG5hbWUgPSAncGdfY29uZmxpY3RfbG9nX2Zvcl9zdWJpZF8nIHx8IHMub2lkCiAg ICAgV0hFUkUgcy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfcHJvdGVjdGlvbl90ZXN0JzsK IAotICAgIFJBSVNFIE5PVElDRSAnQXR0ZW1wdGluZyBBTFRFUiBUQUJMRSBvbiBpbnRlcm5hbCBj b25mbGljdCBsb2cgdGFibGUnOworICAgIFJBSVNFIE5PVElDRSAnQXR0ZW1wdGluZyBBTFRFUiBU QUJMRSBvbiBjb25mbGljdCBsb2cgdGFibGUnOwogICAgIEVYRUNVVEUgJ0FMVEVSIFRBQkxFICcg fHwgdGFiX25hbWUgfHwgJyBBREQgQ09MVU1OIGV4dHJhX2luZm8gdGV4dCc7CiBFWENFUFRJT04g V0hFTiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIFRIRU4KICAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1 cmVkIGV4cGVjdGVkIGVycm9yOiBpbnN1ZmZpY2llbnRfcHJpdmlsZWdlIGR1cmluZyBBTFRFUic7 CkBAIC02MjUsMTIgKzYyNSwxMiBAQCBERUNMQVJFCiAgICAgdGFiX25hbWUgdGV4dDsKIEJFR0lO CiAgICAgU0VMRUNUICdwZ19jb25mbGljdC4nIHx8IHJlbG5hbWUgSU5UTyB0YWJfbmFtZQotICAg IEZST00gcGdfY2xhc3MgYyBKT0lOIHBnX3N1YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdw Z19jb25mbGljdF9sb2dfJyB8fCBzLm9pZAorICAgIEZST00gcGdfY2xhc3MgYyBKT0lOIHBnX3N1 YnNjcmlwdGlvbiBzIE9OIGMucmVsbmFtZSA9ICdwZ19jb25mbGljdF9sb2dfZm9yX3N1YmlkXycg fHwgcy5vaWQKICAgICBXSEVSRSBzLnN1Ym5hbWUgPSAncmVncmVzc19jb25mbGljdF9wcm90ZWN0 aW9uX3Rlc3QnOwogCiAgICAgRVhFQ1VURSAnSU5TRVJUIElOVE8gJyB8fCB0YWJfbmFtZSB8fCAn IChyZWxuYW1lKSBWQUxVRVMgKCcnbXl0ZXN0JycpJzsKLUVYQ0VQVElPTiBXSEVOIGluc3VmZmlj aWVudF9wcml2aWxlZ2UgVEhFTgotICAgIFJBSVNFIE5PVElDRSAnY2FwdHVyZWQgZXhwZWN0ZWQg ZXJyb3I6IGluc3VmZmljaWVudF9wcml2aWxlZ2UgZHVyaW5nIElOU0VSVCc7CitFWENFUFRJT04g V0hFTiB3cm9uZ19vYmplY3RfdHlwZSBUSEVOCisgICAgUkFJU0UgTk9USUNFICdjYXB0dXJlZCBl eHBlY3RlZCBlcnJvcjogd3Jvbmdfb2JqZWN0X3R5cGUgZHVyaW5nIElOU0VSVCc7CiBFTkQgJCQ7 CiAKIC0tIFRlc3QgTWFudWFsIFVQREFURSBvbiBjb25mbGljdCBsb2cgdGFibGUKQEAgLTY0MSwx OSArNjQxLDE5IEBAIERFQ0xBUkUKICAgICB0YWJfbmFtZSB0ZXh0OwogQkVHSU4KICAgICBTRUxF Q1QgJ3BnX2NvbmZsaWN0LicgfHwgcmVsbmFtZSBJTlRPIHRhYl9uYW1lCi0gICAgRlJPTSBwZ19j bGFzcyBjIEpPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0 X2xvZ18nIHx8IHMub2lkCisgICAgRlJPTSBwZ19jbGFzcyBjIEpPSU4gcGdfc3Vic2NyaXB0aW9u IHMgT04gYy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ19mb3Jfc3ViaWRfJyB8fCBzLm9pZAog ICAgIFdIRVJFIHMuc3VibmFtZSA9ICdyZWdyZXNzX2NvbmZsaWN0X3Byb3RlY3Rpb25fdGVzdCc7 CiAKICAgICBFWEVDVVRFICdVUERBVEUgJyB8fCB0YWJfbmFtZSB8fCAnIFNFVCByZWxuYW1lID0g JydteXRlc3QnJyAnOwotRVhDRVBUSU9OIFdIRU4gaW5zdWZmaWNpZW50X3ByaXZpbGVnZSBUSEVO Ci0gICAgUkFJU0UgTk9USUNFICdjYXB0dXJlZCBleHBlY3RlZCBlcnJvcjogaW5zdWZmaWNpZW50 X3ByaXZpbGVnZSBkdXJpbmcgVVBEQVRFJzsKK0VYQ0VQVElPTiBXSEVOIHdyb25nX29iamVjdF90 eXBlIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJ2NhcHR1cmVkIGV4cGVjdGVkIGVycm9yOiB3cm9u Z19vYmplY3RfdHlwZSBkdXJpbmcgVVBEQVRFJzsKIEVORCAkJDsKIAotLS0gVHJ5aW5nIHRvIHBl cmZvcm0gVFJVTkNBVEUvREVMRVRFIG9uIHRoZSBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUK Ky0tIFRyeWluZyB0byBwZXJmb3JtIFRSVU5DQVRFL0RFTEVURSBvbiB0aGUgY29uZmxpY3QgbG9n IHRhYmxlCiAtLSBUaGlzIHNob3VsZCBiZSBhbGxvd2VkIHNvIHRoYXQgdXNlciBjYW4gcGVyZm9y bSBjbGVhbnVwCiBTRUxFQ1QgJ3BnX2NvbmZsaWN0LicgfHwgcmVsbmFtZSBBUyBjb25mbGljdF90 YWIKIEZST00gcGdfY2xhc3MgYwotSk9JTiBwZ19zdWJzY3JpcHRpb24gcyBPTiBjLnJlbG5hbWUg PSAncGdfY29uZmxpY3RfbG9nXycgfHwgcy5vaWQKK0pPSU4gcGdfc3Vic2NyaXB0aW9uIHMgT04g Yy5yZWxuYW1lID0gJ3BnX2NvbmZsaWN0X2xvZ19mb3Jfc3ViaWRfJyB8fCBzLm9pZAogV0hFUkUg cy5zdWJuYW1lID0gJ3JlZ3Jlc3NfY29uZmxpY3RfcHJvdGVjdGlvbl90ZXN0JyBcZ3NldAogVFJV TkNBVEUgOmNvbmZsaWN0X3RhYjsKIERFTEVURSBGUk9NIDpjb25mbGljdF90YWI7CkBAIC02Njgs NiArNjY4LDggQEAgQ1JFQVRFIFRBQkxFIHB1YmxpYy50ZXN0X21vdmUgKGlkIGludCk7CiBBTFRF UiBUQUJMRSBwdWJsaWMudGVzdF9tb3ZlIFNFVCBTQ0hFTUEgcGdfY29uZmxpY3Q7CiBEUk9QIFRB QkxFIHB1YmxpYy50ZXN0X21vdmU7CiAKK1NFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gV0FSTklO RzsKKwogLS0gQ2xlYW4gdXAgcmVtYWluaW5nIHRlc3Qgc3Vic2NyaXB0aW9uCiBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc19jb25mbGljdF9sb2dfZGVmYXVsdCBESVNBQkxFOwogQUxURVIgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfY29uZmxpY3RfbG9nX2RlZmF1bHQgU0VUIChzbG90X25hbWUgPSBO T05FKTsKLS0gCjIuNDkuMAoK --000000000000804db50652fc1197 Content-Type: application/octet-stream; name="v42-0003-Implement-the-conflict-insertion-infrastructure-.patch" Content-Disposition: attachment; filename="v42-0003-Implement-the-conflict-insertion-infrastructure-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mprgznyj2 RnJvbSAwZGFmODU0NDAzNTU2YThmNDgxZTg5ZWYzNGRhODIzZjMyMTNlMzQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgMTggTWF5IDIwMjYgMTA6NTE6MDIgKzAwMDAKU3ViamVjdDogW1BBVENIIHY0MiAzLzVd IEltcGxlbWVudCB0aGUgY29uZmxpY3QgaW5zZXJ0aW9uIGluZnJhc3RydWN0dXJlIGZvcgogdGhl IGNvbmZsaWN0IGxvZyB0YWJsZQoKVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBjb3JlIGxvZ2lj IHRvIHBvcHVsYXRlIHRoZSBjb25mbGljdCBsb2cgdGFibGUgd2hlbmV2ZXIKYSBsb2dpY2FsIHJl cGxpY2F0aW9uIGNvbmZsaWN0IGlzIGRldGVjdGVkLiBJdCBjYXB0dXJlcyB0aGUgcmVtb3RlIHRy YW5zYWN0aW9uCmRldGFpbHMgYWxvbmcgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBsb2NhbCBzdGF0 ZSBhdCB0aGUgdGltZSBvZiB0aGUgY29uZmxpY3QuCgpIYW5kbGluZyBNdWx0aS1yb3cgQ29uZmxp Y3RzOiBBIHNpbmdsZSByZW1vdGUgdHVwbGUgbWF5IGNvbmZsaWN0IHdpdGggbXVsdGlwbGUKbG9j YWwgdHVwbGVzIChlLmcuLCBpbiB0aGUgY2FzZSBvZiBtdWx0aXBsZV91bmlxdWVfY29uZmxpY3Rz KS4gVG8gaGFuZGxlIHRoaXMsCnRoZSBpbmZyYXN0cnVjdHVyZSBjcmVhdGVzIGEgc2luZ2xlIHJv dyBpbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlIGZvciBlYWNoCnJlbW90ZSB0dXBsZS4gVGhlIGRl dGFpbHMgb2YgYWxsIGNvbmZsaWN0aW5nIGxvY2FsIHJvd3MgYXJlIGFnZ3JlZ2F0ZWQgaW50byBh CnNpbmdsZSBKU09OIGFycmF5IGluIHRoZSBsb2NhbF9jb25mbGljdHMgY29sdW1uLgoKVGhlIEpT T04gYXJyYXkgdXNlcyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZWQgZm9ybWF0OgpbIHsgInhpZCI6 ICIxMDAxIiwgImNvbW1pdF90cyI6ICIyMDI1LTEyLTI1IDEwOjAwOjAwKzA1OjMwIiwgIm9yaWdp biI6ICJub2RlXzEiLAoia2V5IjogeyJpZCI6IDF9LCAidHVwbGUiOiB7ImlkIjogMSwgInZhbCI6 ICJvbGRfZGF0YSJ9IH0sIC4uLiBdCgpFeGFtcGxlIG9mIHF1ZXJ5aW5nIHRoZSBzdHJ1Y3R1cmVk IGNvbmZsaWN0IGRhdGE6CgpTRUxFQ1QgcmVtb3RlX3hpZCwgcmVsbmFtZSwgcmVtb3RlX29yaWdp biwgbG9jYWxfY29uZmxpY3RzWzFdIC0+PiAneGlkJyBBUyBsb2NhbF94aWQsCiAgICAgICBsb2Nh bF9jb25mbGljdHNbMV0gLT4+ICd0dXBsZScgQVMgbG9jYWxfdHVwbGUKRlJPTSBwZ19jb25mbGlj dC5wZ19jb25mbGljdF9sb2dfZm9yX3N1YmlkXzE2Mzk2OwoKIHJlbW90ZV94aWQgfCByZWxuYW1l ICB8IHJlbW90ZV9vcmlnaW4gfCBsb2NhbF94aWQgfCAgICAgbG9jYWxfdHVwbGUKLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLQogICAgICAgIDc2MCB8IHRlc3QgICAgIHwgcGdfMTY0MDYgICAgICB8IDc3MSAgICAg ICB8IHsiYSI6MSwiYiI6MTB9CiAgICAgICAgNzY1IHwgY29uZl90YWIgfCBwZ18xNjQwNiAgICAg IHwgNzc1ICAgICAgIHwgeyJhIjoyLCJiIjoyLCJjIjoyfQotLS0KIHNyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyB8IDU1NCArKysrKysrKysrKysrKysrKysrLS0KIHNy Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvbGF1bmNoZXIuYyB8ICAgMSArCiBzcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jICAgfCAgMzEgKy0KIHNyYy9pbmNsdWRl L3JlcGxpY2F0aW9uL2NvbmZsaWN0LmggICAgICAgICB8ICAgMiArCiBzcmMvaW5jbHVkZS9yZXBs aWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaCAgfCAgIDcgKwogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDM1X2NvbmZsaWN0cy5wbCAgIHwgIDQ3ICstCiA2IGZpbGVzIGNoYW5nZWQsIDU5NyBpbnNl cnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL2NvbmZsaWN0LmMKaW5kZXggNTFhNzZiYjAyOWQuLjAxZDI1NGJhYTQxIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKKysrIGIvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCkBAIC0xNiw2ICsxNiw3IEBACiAK ICNpbmNsdWRlICJhY2Nlc3MvY29tbWl0X3RzLmgiCiAjaW5jbHVkZSAiYWNjZXNzL2dlbmFtLmgi CisjaW5jbHVkZSAiYWNjZXNzL2hlYXBhbS5oIgogI2luY2x1ZGUgImFjY2Vzcy90YWJsZWFtLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9kZXBlbmRlbmN5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9oZWFw LmgiCkBAIC0yMywxMSArMjQsMTcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX25hbWVzcGFjZS5o IgogI2luY2x1ZGUgImNvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuaCIKICNpbmNsdWRlICJleGVj dXRvci9leGVjdXRvci5oIgorI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRlICJwZ3N0YXQu aCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9jb25mbGljdC5oIgogI2luY2x1ZGUgInJlcGxpY2F0 aW9uL3dvcmtlcl9pbnRlcm5hbC5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgorI2luY2x1 ZGUgInV0aWxzL2FycmF5LmgiCisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRl ICJ1dGlscy9mbWdyb2lkcy5oIgogI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgorI2luY2x1 ZGUgInV0aWxzL3BnX2xzbi5oIgorI2luY2x1ZGUgInV0aWxzL2pzb24uaCIKIAogLyoKICAqIFN0 cmluZyByZXByZXNlbnRhdGlvbnMgZm9yIHRoZSBzdXBwb3J0ZWQgY29uZmxpY3QgbG9nZ2luZyBk ZXN0aW5hdGlvbnMuCkBAIC04NCw2ICs5MSwxOCBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qg Q29uZmxpY3RUeXBlTmFtZXNbXSA9IHsKIAlbQ1RfTVVMVElQTEVfVU5JUVVFX0NPTkZMSUNUU10g PSAibXVsdGlwbGVfdW5pcXVlX2NvbmZsaWN0cyIKIH07CiAKKy8qIFNjaGVtYSBmb3IgdGhlIGVs ZW1lbnRzIHdpdGhpbiB0aGUgJ2xvY2FsX2NvbmZsaWN0cycgSlNPTiBhcnJheSAqLworc3RhdGlj IGNvbnN0IENvbmZsaWN0TG9nQ29sdW1uRGVmIExvY2FsQ29uZmxpY3RTY2hlbWFbXSA9Cit7CisJ eyAuYXR0bmFtZSA9ICJ4aWQiLCAgICAgICAuYXR0dHlwaWQgPSBYSURPSUQgfSwKKwl7IC5hdHRu YW1lID0gImNvbW1pdF90cyIsIC5hdHR0eXBpZCA9IFRJTUVTVEFNUFRaT0lEIH0sCisJeyAuYXR0 bmFtZSA9ICJvcmlnaW4iLCAgICAuYXR0dHlwaWQgPSBURVhUT0lEIH0sCisJeyAuYXR0bmFtZSA9 ICJrZXkiLCAgICAgICAuYXR0dHlwaWQgPSBKU09OT0lEIH0sCisJeyAuYXR0bmFtZSA9ICJ0dXBs ZSIsICAgICAuYXR0dHlwaWQgPSBKU09OT0lEIH0KK307CisKKyNkZWZpbmUgTUFYX0xPQ0FMX0NP TkZMSUNUX0lORk9fQVRUUlMgbGVuZ3Rob2YoTG9jYWxDb25mbGljdFNjaGVtYSkKKwogc3RhdGlj IGludAllcnJjb2RlX2FwcGx5X2NvbmZsaWN0KENvbmZsaWN0VHlwZSB0eXBlKTsKIHN0YXRpYyB2 b2lkIGVycmRldGFpbF9hcHBseV9jb25mbGljdChFU3RhdGUgKmVzdGF0ZSwKIAkJCQkJCQkJCSBS ZXN1bHRSZWxJbmZvICpyZWxpbmZvLApAQCAtMTAwLDggKzExOSwyNyBAQCBzdGF0aWMgdm9pZCBn ZXRfdHVwbGVfZGVzYyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywKIAkJ CQkJCSAgIFR1cGxlVGFibGVTbG90ICpyZW1vdGVzbG90LCBjaGFyICoqcmVtb3RlX2Rlc2MsCiAJ CQkJCQkgICBUdXBsZVRhYmxlU2xvdCAqc2VhcmNoc2xvdCwgY2hhciAqKnNlYXJjaF9kZXNjLAog CQkJCQkJICAgT2lkIGluZGV4b2lkKTsKK3N0YXRpYyB2b2lkIGJ1aWxkX2luZGV4X2RhdHVtc19m cm9tX3Nsb3QoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAorCQkJCQkJCQkJCSBU dXBsZVRhYmxlU2xvdCAqc2xvdCwKKwkJCQkJCQkJCQkgUmVsYXRpb24gaW5kZXhEZXNjLCBEYXR1 bSAqdmFsdWVzLAorCQkJCQkJCQkJCSBib29sICppc251bGwpOwogc3RhdGljIGNoYXIgKmJ1aWxk X2luZGV4X3ZhbHVlX2Rlc2MoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAogCQkJ CQkJCQkJVHVwbGVUYWJsZVNsb3QgKnNsb3QsIE9pZCBpbmRleG9pZCk7CitzdGF0aWMgRGF0dW0g dHVwbGVfdGFibGVfc2xvdF90b19qc29uX2RhdHVtKFR1cGxlVGFibGVTbG90ICpzbG90KTsKK3N0 YXRpYyBEYXR1bSB0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oRVN0YXRlICplc3Rh dGUsCisJCQkJCQkJCQkJCSAgIFJlbGF0aW9uIGxvY2FscmVsLAorCQkJCQkJCQkJCQkgICBPaWQg cmVwbGljYV9pbmRleCwKKwkJCQkJCQkJCQkJICAgVHVwbGVUYWJsZVNsb3QgKnNsb3QpOworc3Rh dGljIFR1cGxlRGVzYyBidWlsZF9jb25mbGljdF90dXBsZWRlc2Modm9pZCk7CitzdGF0aWMgRGF0 dW0gYnVpbGRfbG9jYWxfY29uZmxpY3RzX2pzb25fYXJyYXkoRVN0YXRlICplc3RhdGUsIFJlbGF0 aW9uIHJlbCwKKwkJCQkJCQkJCQkJICBDb25mbGljdFR5cGUgY29uZmxpY3RfdHlwZSwKKwkJCQkJ CQkJCQkJICBMaXN0ICpjb25mbGljdHR1cGxlcyk7CitzdGF0aWMgdm9pZCBwcmVwYXJlX2NvbmZs aWN0X2xvZ190dXBsZShFU3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gcmVsLAorCQkJCQkJCQkJICAg UmVsYXRpb24gY29uZmxpY3Rsb2dyZWwsCisJCQkJCQkJCQkgICBDb25mbGljdFR5cGUgY29uZmxp Y3RfdHlwZSwKKwkJCQkJCQkJCSAgIFR1cGxlVGFibGVTbG90ICpzZWFyY2hzbG90LAorCQkJCQkJ CQkJICAgTGlzdCAqY29uZmxpY3R0dXBsZXMsCisJCQkJCQkJCQkgICBUdXBsZVRhYmxlU2xvdCAq cmVtb3Rlc2xvdCk7CiAKIC8qCiAgKiBCdWlsZHMgdGhlIFR1cGxlRGVzYyBmb3IgdGhlIGNvbmZs aWN0IGxvZyB0YWJsZS4KQEAgLTI3MSwzMCArMzA5LDkyIEBAIFJlcG9ydEFwcGx5Q29uZmxpY3Qo RVN0YXRlICplc3RhdGUsIFJlc3VsdFJlbEluZm8gKnJlbGluZm8sIGludCBlbGV2ZWwsCiAJCQkJ CUNvbmZsaWN0VHlwZSB0eXBlLCBUdXBsZVRhYmxlU2xvdCAqc2VhcmNoc2xvdCwKIAkJCQkJVHVw bGVUYWJsZVNsb3QgKnJlbW90ZXNsb3QsIExpc3QgKmNvbmZsaWN0dHVwbGVzKQogewotCVJlbGF0 aW9uCWxvY2FscmVsID0gcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjOwotCVN0cmluZ0luZm9EYXRh IGVycl9kZXRhaWw7CisJUmVsYXRpb24JCWxvY2FscmVsID0gcmVsaW5mby0+cmlfUmVsYXRpb25E ZXNjOworCUNvbmZsaWN0TG9nRGVzdAlkZXN0OworCVJlbGF0aW9uCQljb25mbGljdGxvZ3JlbDsK Kwlib29sCQkJbG9nX2Rlc3RfY2x0ID0gZmFsc2U7CisJYm9vbCAJCQlsb2dfZGVzdF9sb2dmaWxl OwogCi0JaW5pdFN0cmluZ0luZm8oJmVycl9kZXRhaWwpOworCXBnc3RhdF9yZXBvcnRfc3Vic2Ny aXB0aW9uX2NvbmZsaWN0KE15U3Vic2NyaXB0aW9uLT5vaWQsIHR5cGUpOwogCi0JLyogRm9ybSBl cnJkZXRhaWwgbWVzc2FnZSBieSBjb21iaW5pbmcgY29uZmxpY3RpbmcgdHVwbGVzIGluZm9ybWF0 aW9uLiAqLwotCWZvcmVhY2hfcHRyKENvbmZsaWN0VHVwbGVJbmZvLCBjb25mbGljdHR1cGxlLCBj b25mbGljdHR1cGxlcykKLQkJZXJyZGV0YWlsX2FwcGx5X2NvbmZsaWN0KGVzdGF0ZSwgcmVsaW5m bywgdHlwZSwgc2VhcmNoc2xvdCwKLQkJCQkJCQkJIGNvbmZsaWN0dHVwbGUtPnNsb3QsIHJlbW90 ZXNsb3QsCi0JCQkJCQkJCSBjb25mbGljdHR1cGxlLT5pbmRleG9pZCwKLQkJCQkJCQkJIGNvbmZs aWN0dHVwbGUtPnhtaW4sCi0JCQkJCQkJCSBjb25mbGljdHR1cGxlLT5vcmlnaW4sCi0JCQkJCQkJ CSBjb25mbGljdHR1cGxlLT50cywKLQkJCQkJCQkJICZlcnJfZGV0YWlsKTsKKwkvKgorCSAqIEdl dCB0aGUgY29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uLiBBbHNvLCAoaWYgdGhlcmUgaXMgb25lKSBy ZXR1cm4gdGhlCisJICogQ0xUIHJlbGF0aW9uIGFscmVhZHkgb3BlbmVkIGFuZCByZWFkeSBmb3Ig aW5zZXJ0aW9uLgorCSAqLworCWNvbmZsaWN0bG9ncmVsID0gR2V0Q29uZmxpY3RMb2dEZXN0QW5k VGFibGUoJmRlc3QpOwogCi0JcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fY29uZmxpY3QoTXlT dWJzY3JpcHRpb24tPm9pZCwgdHlwZSk7CisJaWYgKGRlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1Rf VEFCTEUgfHwgZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpCisJCWxvZ19kZXN0X2NsdCA9 IHRydWU7CisJaWYgKGRlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfTE9HIHx8IGRlc3QgPT0gQ09O RkxJQ1RfTE9HX0RFU1RfQUxMKQorCQlsb2dfZGVzdF9sb2dmaWxlID0gdHJ1ZTsKIAotCWVyZXBv cnQoZWxldmVsLAotCQkJZXJyY29kZV9hcHBseV9jb25mbGljdCh0eXBlKSwKLQkJCWVycm1zZygi Y29uZmxpY3QgZGV0ZWN0ZWQgb24gcmVsYXRpb24gXCIlcy4lc1wiOiBjb25mbGljdD0lcyIsCi0J CQkJICAgZ2V0X25hbWVzcGFjZV9uYW1lKFJlbGF0aW9uR2V0TmFtZXNwYWNlKGxvY2FscmVsKSks Ci0JCQkJICAgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUobG9jYWxyZWwpLAotCQkJCSAgIENvbmZs aWN0VHlwZU5hbWVzW3R5cGVdKSwKLQkJCWVycmRldGFpbF9pbnRlcm5hbCgiJXMiLCBlcnJfZGV0 YWlsLmRhdGEpKTsKKwkvKiBJbnNlcnQgdG8gdGFibGUgaWYgcmVxdWVzdGVkLiAqLworCWlmIChs b2dfZGVzdF9jbHQpCisJeworCQlBc3NlcnQoY29uZmxpY3Rsb2dyZWwgIT0gTlVMTCk7CisKKwkJ LyoKKwkJICogUHJlcGFyZSB0aGUgY29uZmxpY3QgbG9nIHR1cGxlLiBJZiB0aGUgZXJyb3IgbGV2 ZWwgaXMgYmVsb3cgRVJST1IsCisJCSAqIGluc2VydCBpdCBpbW1lZGlhdGVseS4gT3RoZXJ3aXNl LCBkZWZlciB0aGUgaW5zZXJ0aW9uIHRvIGEgbmV3CisJCSAqIHRyYW5zYWN0aW9uIGFmdGVyIHRo ZSBjdXJyZW50IG9uZSBhYm9ydHMsIGVuc3VyaW5nIHRoZSBpbnNlcnRpb24gb2YKKwkJICogdGhl IGxvZyB0dXBsZSBpcyBub3Qgcm9sbGVkIGJhY2suCisJCSAqLworCQlwcmVwYXJlX2NvbmZsaWN0 X2xvZ190dXBsZShlc3RhdGUsCisJCQkJCQkJCSAgIHJlbGluZm8tPnJpX1JlbGF0aW9uRGVzYywK KwkJCQkJCQkJICAgY29uZmxpY3Rsb2dyZWwsCisJCQkJCQkJCSAgIHR5cGUsCisJCQkJCQkJCSAg IHNlYXJjaHNsb3QsCisJCQkJCQkJCSAgIGNvbmZsaWN0dHVwbGVzLAorCQkJCQkJCQkgICByZW1v dGVzbG90KTsKKwkJaWYgKGVsZXZlbCA8IEVSUk9SKQorCQkJSW5zZXJ0Q29uZmxpY3RMb2dUdXBs ZShjb25mbGljdGxvZ3JlbCk7CisKKwkJaWYgKCFsb2dfZGVzdF9sb2dmaWxlKQorCQl7CisJCQkv KgorCQkJICogTm90IGxvZ2dpbmcgY29uZmxpY3QgZGV0YWlscyB0byB0aGUgc2VydmVyIGxvZzsg UmVwb3J0IHRoZSBlcnJvcgorCQkJICogbXNnIGJ1dCBvbWl0IHJhdyB0dXBsZSBkYXRhIGZyb20g c2VydmVyIGxvZ3Mgc2luY2UgaXQncyBhbHJlYWR5CisJCQkgKiBjYXB0dXJlZCBpbiB0aGUgY29u ZmxpY3QgbG9nIHRhYmxlLgorCQkJICovCisJCQllcmVwb3J0KGVsZXZlbCwKKwkJCQkJZXJyY29k ZV9hcHBseV9jb25mbGljdCh0eXBlKSwKKwkJCQkJZXJybXNnKCJjb25mbGljdCBkZXRlY3RlZCBv biByZWxhdGlvbiBcIiVzLiVzXCI6IGNvbmZsaWN0PSVzIiwKKwkJCQkJCWdldF9uYW1lc3BhY2Vf bmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShsb2NhbHJlbCkpLAorCQkJCQkJUmVsYXRpb25HZXRS ZWxhdGlvbk5hbWUobG9jYWxyZWwpLAorCQkJCQkJQ29uZmxpY3RUeXBlTmFtZXNbdHlwZV0pLAor CQkJCQllcnJkZXRhaWwoIkNvbmZsaWN0IGRldGFpbHMgYXJlIGxvZ2dlZCB0byB0aGUgY29uZmxp Y3QgbG9nIHRhYmxlOiAlcyIsCisJCQkJCQkJICBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShjb25m bGljdGxvZ3JlbCkpKTsKKwkJfQorCisJCXRhYmxlX2Nsb3NlKGNvbmZsaWN0bG9ncmVsLCBSb3dF eGNsdXNpdmVMb2NrKTsKKwl9CisKKwkvKiBMb2cgaW50byB0aGUgc2VydmVyIGxvZyBpZiByZXF1 ZXN0ZWQuICovCisJaWYgKGxvZ19kZXN0X2xvZ2ZpbGUpCisJeworCQlTdHJpbmdJbmZvRGF0YQll cnJfZGV0YWlsOworCisJCWluaXRTdHJpbmdJbmZvKCZlcnJfZGV0YWlsKTsKKworCQkvKiBGb3Jt IGVycmRldGFpbCBtZXNzYWdlIGJ5IGNvbWJpbmluZyBjb25mbGljdGluZyB0dXBsZXMgaW5mb3Jt YXRpb24uICovCisJCWZvcmVhY2hfcHRyKENvbmZsaWN0VHVwbGVJbmZvLCBjb25mbGljdHR1cGxl LCBjb25mbGljdHR1cGxlcykKKwkJCWVycmRldGFpbF9hcHBseV9jb25mbGljdChlc3RhdGUsIHJl bGluZm8sIHR5cGUsIHNlYXJjaHNsb3QsCisJCQkJCQkJCQljb25mbGljdHR1cGxlLT5zbG90LCBy ZW1vdGVzbG90LAorCQkJCQkJCQkJY29uZmxpY3R0dXBsZS0+aW5kZXhvaWQsCisJCQkJCQkJCQlj b25mbGljdHR1cGxlLT54bWluLAorCQkJCQkJCQkJY29uZmxpY3R0dXBsZS0+b3JpZ2luLAorCQkJ CQkJCQkJY29uZmxpY3R0dXBsZS0+dHMsCisJCQkJCQkJCQkmZXJyX2RldGFpbCk7CisKKwkJLyog U3RhbmRhcmQgcmVwb3J0aW5nIHdpdGggZnVsbCBpbnRlcm5hbCBkZXRhaWxzLiAqLworCQllcmVw b3J0KGVsZXZlbCwKKwkJCQllcnJjb2RlX2FwcGx5X2NvbmZsaWN0KHR5cGUpLAorCQkJCWVycm1z ZygiY29uZmxpY3QgZGV0ZWN0ZWQgb24gcmVsYXRpb24gXCIlcy4lc1wiOiBjb25mbGljdD0lcyIs CisJCQkJCSAgIGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShsb2NhbHJl bCkpLAorCQkJCQkgICBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShsb2NhbHJlbCksCisJCQkJCSAg IENvbmZsaWN0VHlwZU5hbWVzW3R5cGVdKSwKKwkJCQllcnJkZXRhaWxfaW50ZXJuYWwoIiVzIiwg ZXJyX2RldGFpbC5kYXRhKSk7CisJfQogfQogCiAvKgpAQCAtMzI4LDYgKzQyOCw1OCBAQCBJbml0 Q29uZmxpY3RJbmRleGVzKFJlc3VsdFJlbEluZm8gKnJlbEluZm8pCiAJcmVsSW5mby0+cmlfb25D b25mbGljdEFyYml0ZXJJbmRleGVzID0gdW5pcXVlSW5kZXhlczsKIH0KIAorLyoKKyAqIEdldENv bmZsaWN0TG9nRGVzdEFuZFRhYmxlCisgKgorICogRmV0Y2hlcyBjb25mbGljdCBsb2dnaW5nIG1l dGFkYXRhIGZyb20gdGhlIGNhY2hlZCBNeVN1YnNjcmlwdGlvbiBwb2ludGVyLgorICogU2V0cyB0 aGUgZGVzdGluYXRpb24gZW51bSBpbiAqbG9nX2Rlc3QgYW5kLCBpZiBhcHBsaWNhYmxlLCBvcGVu cyBhbmQKKyAqIHJldHVybnMgdGhlIHJlbGF0aW9uIGhhbmRsZSBmb3IgdGhlIGNvbmZsaWN0IGxv ZyB0YWJsZS4KKyAqLworUmVsYXRpb24KK0dldENvbmZsaWN0TG9nRGVzdEFuZFRhYmxlKENvbmZs aWN0TG9nRGVzdCAqbG9nX2Rlc3QpCit7CisJT2lkCQkJY29uZmxpY3Rsb2dyZWxpZDsKKworCS8q CisJICogQ29udmVydCB0aGUgdGV4dCBsb2cgZGVzdGluYXRpb24gdG8gdGhlIGludGVybmFsIGVu dW0uICBNeVN1YnNjcmlwdGlvbgorCSAqIGFscmVhZHkgY29udGFpbnMgdGhlIGRhdGEgZnJvbSBw Z19zdWJzY3JpcHRpb24uCisJICovCisJKmxvZ19kZXN0ID0gR2V0TG9nRGVzdGluYXRpb24oTXlT dWJzY3JpcHRpb24tPmNvbmZsaWN0bG9nZGVzdCk7CisKKwkvKiBRdWljayBleGl0IGlmIGEgY29u ZmxpY3QgbG9nIHRhYmxlIHdhcyBub3QgcmVxdWVzdGVkLiAqLworCWlmICgqbG9nX2Rlc3QgPT0g Q09ORkxJQ1RfTE9HX0RFU1RfTE9HKQorCQlyZXR1cm4gTlVMTDsKKworCWNvbmZsaWN0bG9ncmVs aWQgPSBNeVN1YnNjcmlwdGlvbi0+Y29uZmxpY3Rsb2dyZWxpZDsKKworCUFzc2VydChPaWRJc1Zh bGlkKGNvbmZsaWN0bG9ncmVsaWQpKTsKKworCXJldHVybiB0YWJsZV9vcGVuKGNvbmZsaWN0bG9n cmVsaWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworfQorCisvKgorICogSW5zZXJ0Q29uZmxpY3RMb2dU dXBsZQorICoKKyAqIEluc2VydCBjb25mbGljdCBsb2cgdHVwbGUgaW50byB0aGUgY29uZmxpY3Qg bG9nIHRhYmxlLiBJdCB1c2VzCisgKiBIRUFQX0lOU0VSVF9OT19MT0dJQ0FMIHRvIGV4cGxpY2l0 bHkgYmxvY2sgbG9naWNhbCBkZWNvZGluZyBvZiB0aGUgdHVwbGUKKyAqIGluc2VydGVkIGludG8g dGhlIGNvbmZsaWN0IGxvZyB0YWJsZS4KKyAqLwordm9pZAorSW5zZXJ0Q29uZmxpY3RMb2dUdXBs ZShSZWxhdGlvbiBjb25mbGljdGxvZ3JlbCkKK3sKKwlpbnQJCQlvcHRpb25zID0gSEVBUF9JTlNF UlRfTk9fTE9HSUNBTDsKKworCS8qIEEgdmFsaWQgdHVwbGUgbXVzdCBiZSBwcmVwYXJlZCBhbmQg c3RvcmVkIGluIE15TG9naWNhbFJlcFdvcmtlci4gKi8KKwlBc3NlcnQoTXlMb2dpY2FsUmVwV29y a2VyLT5jb25mbGljdF9sb2dfdHVwbGUgIT0gTlVMTCk7CisKKwloZWFwX2luc2VydChjb25mbGlj dGxvZ3JlbCwgTXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUsCisJCQkJR2V0 Q3VycmVudENvbW1hbmRJZCh0cnVlKSwgb3B0aW9ucywgTlVMTCk7CisKKwkvKiBGcmVlIGNvbmZs aWN0IGxvZyB0dXBsZS4gKi8KKwloZWFwX2ZyZWV0dXBsZShNeUxvZ2ljYWxSZXBXb3JrZXItPmNv bmZsaWN0X2xvZ190dXBsZSk7CisJTXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVw bGUgPSBOVUxMOworfQorCiAvKgogICogQWRkIFNRTFNUQVRFIGVycm9yIGNvZGUgdG8gdGhlIGN1 cnJlbnQgY29uZmxpY3QgcmVwb3J0LgogICovCkBAIC03NjEsNiArOTEzLDQwIEBAIGdldF90dXBs ZV9kZXNjKEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLCBDb25mbGljdFR5 cGUgdHlwZSwKIAl9CiB9CiAKKy8qCisgKiBIZWxwZXIgZnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUg InJhdyIgaW5kZXgga2V5IERhdHVtcyBhbmQgdGhlaXIgbnVsbCBmbGFncworICogZnJvbSBhIFR1 cGxlVGFibGVTbG90LCBnaXZlbiBhbiBhbHJlYWR5IG9wZW4gaW5kZXggZGVzY3JpcHRvci4KKyAq IFRoaXMgaXMgdGhlIHJldXNhYmxlIGNvcmUgbG9naWMuCisgKi8KK3N0YXRpYyB2b2lkCitidWls ZF9pbmRleF9kYXR1bXNfZnJvbV9zbG90KEVTdGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiBsb2NhbHJl bCwKKwkJCQkJCQkgVHVwbGVUYWJsZVNsb3QgKnNsb3QsCisJCQkJCQkJIFJlbGF0aW9uIGluZGV4 RGVzYywgRGF0dW0gKnZhbHVlcywKKwkJCQkJCQkgYm9vbCAqaXNudWxsKQoreworCVR1cGxlVGFi bGVTbG90ICp0YWJsZXNsb3QgPSBzbG90OworCisJLyoKKwkgKiBJZiB0aGUgc2xvdCBpcyBhIHZp cnR1YWwgc2xvdCwgY29weSBpdCBpbnRvIGEgaGVhcCB0dXBsZSBzbG90IGFzCisJICogRm9ybUlu ZGV4RGF0dW0gb25seSB3b3JrcyB3aXRoIGhlYXAgdHVwbGUgc2xvdHMuCisJICovCisJaWYgKFRU U19JU19WSVJUVUFMKHNsb3QpKQorCXsKKwkJLyogU2xvdCBpcyBjcmVhdGVkIHdpdGhpbiB0aGUg RVN0YXRlJ3MgdHVwbGUgdGFibGUgKi8KKwkJdGFibGVzbG90ID0gdGFibGVfc2xvdF9jcmVhdGUo bG9jYWxyZWwsICZlc3RhdGUtPmVzX3R1cGxlVGFibGUpOworCQl0YWJsZXNsb3QgPSBFeGVjQ29w eVNsb3QodGFibGVzbG90LCBzbG90KTsKKwl9CisKKwkvKgorCSAqIEluaXRpYWxpemUgZWN4dF9z Y2FudHVwbGUgZm9yIHBvdGVudGlhbCB1c2UgaW4gRm9ybUluZGV4RGF0dW0KKwkgKi8KKwlHZXRQ ZXJUdXBsZUV4cHJDb250ZXh0KGVzdGF0ZSktPmVjeHRfc2NhbnR1cGxlID0gdGFibGVzbG90Owor CisJLyogRm9ybSB0aGUgaW5kZXggZGF0dW1zICovCisJRm9ybUluZGV4RGF0dW0oQnVpbGRJbmRl eEluZm8oaW5kZXhEZXNjKSwgdGFibGVzbG90LCBlc3RhdGUsIHZhbHVlcywKKwkJCQkgICBpc251 bGwpOworfQorCiAvKgogICogSGVscGVyIGZ1bmN0aW9ucyB0byBjb25zdHJ1Y3QgYSBzdHJpbmcg ZGVzY3JpYmluZyB0aGUgY29udGVudHMgb2YgYW4gaW5kZXgKICAqIGVudHJ5LiBTZWUgQnVpbGRJ bmRleFZhbHVlRGVzY3JpcHRpb24gZm9yIGRldGFpbHMuCkBAIC03NzYsNDEgKzk2MiwzMjMgQEAg YnVpbGRfaW5kZXhfdmFsdWVfZGVzYyhFU3RhdGUgKmVzdGF0ZSwgUmVsYXRpb24gbG9jYWxyZWws IFR1cGxlVGFibGVTbG90ICpzbG90LAogCVJlbGF0aW9uCWluZGV4RGVzYzsKIAlEYXR1bQkJdmFs dWVzW0lOREVYX01BWF9LRVlTXTsKIAlib29sCQlpc251bGxbSU5ERVhfTUFYX0tFWVNdOwotCVR1 cGxlVGFibGVTbG90ICp0YWJsZXNsb3QgPSBzbG90OwogCi0JaWYgKCF0YWJsZXNsb3QpCisJaWYg KCFzbG90KQogCQlyZXR1cm4gTlVMTDsKIAogCUFzc2VydChDaGVja1JlbGF0aW9uT2lkTG9ja2Vk QnlNZShpbmRleG9pZCwgUm93RXhjbHVzaXZlTG9jaywgdHJ1ZSkpOwogCiAJaW5kZXhEZXNjID0g aW5kZXhfb3BlbihpbmRleG9pZCwgTm9Mb2NrKTsKIAotCS8qCi0JICogSWYgdGhlIHNsb3QgaXMg YSB2aXJ0dWFsIHNsb3QsIGNvcHkgaXQgaW50byBhIGhlYXAgdHVwbGUgc2xvdCBhcwotCSAqIEZv cm1JbmRleERhdHVtIG9ubHkgd29ya3Mgd2l0aCBoZWFwIHR1cGxlIHNsb3RzLgotCSAqLwotCWlm IChUVFNfSVNfVklSVFVBTChzbG90KSkKKwlidWlsZF9pbmRleF9kYXR1bXNfZnJvbV9zbG90KGVz dGF0ZSwgbG9jYWxyZWwsIHNsb3QsIGluZGV4RGVzYywgdmFsdWVzLAorCQkJCQkJCQkgaXNudWxs KTsKKworCWluZGV4X3ZhbHVlID0gQnVpbGRJbmRleFZhbHVlRGVzY3JpcHRpb24oaW5kZXhEZXNj LCB2YWx1ZXMsIGlzbnVsbCk7CisKKwlpbmRleF9jbG9zZShpbmRleERlc2MsIE5vTG9jayk7CisK KwlyZXR1cm4gaW5kZXhfdmFsdWU7Cit9CisKKy8qCisgKiB0dXBsZV90YWJsZV9zbG90X3RvX2pz b25fZGF0dW0KKyAqCisgKiBIZWxwZXIgZnVuY3Rpb24gdG8gY29udmVydCBhIFR1cGxlVGFibGVT bG90IHRvIEpTT04uCisgKi8KK3N0YXRpYyBEYXR1bQordHVwbGVfdGFibGVfc2xvdF90b19qc29u X2RhdHVtKFR1cGxlVGFibGVTbG90ICpzbG90KQoreworCUhlYXBUdXBsZQl0dXBsZTsKKwlEYXR1 bQkJZGF0dW07CisJRGF0dW0JCWpzb247CisKKwlBc3NlcnQoc2xvdCAhPSBOVUxMKTsKKworCXR1 cGxlID0gRXhlY0NvcHlTbG90SGVhcFR1cGxlKHNsb3QpOworCWRhdHVtID0gaGVhcF9jb3B5X3R1 cGxlX2FzX2RhdHVtKHR1cGxlLCBzbG90LT50dHNfdHVwbGVEZXNjcmlwdG9yKTsKKworCWpzb24g PSBEaXJlY3RGdW5jdGlvbkNhbGwxKHJvd190b19qc29uLCBkYXR1bSk7CisJaGVhcF9mcmVldHVw bGUodHVwbGUpOworCisJcmV0dXJuIGpzb247Cit9CisKKy8qCisgKiB0dXBsZV90YWJsZV9zbG90 X3RvX2luZGV4dHVwX2pzb24KKyAqCisgKiBGZXRjaCByZXBsaWNhIGlkZW50aXR5IGtleSBmcm9t IHRoZSB0dXBsZSB0YWJsZSBzbG90IGFuZCBjb252ZXJ0IGludG8gYQorICogSlNPTiBkYXR1bS4K KyAqLworc3RhdGljIERhdHVtCit0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oRVN0 YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAorCQkJCQkJCQkgIE9pZCBpbmRleGlkLCBU dXBsZVRhYmxlU2xvdCAqc2xvdCkKK3sKKwlSZWxhdGlvbglpbmRleERlc2M7CisJRGF0dW0JCXZh bHVlc1tJTkRFWF9NQVhfS0VZU107CisJYm9vbAkJaXNudWxsW0lOREVYX01BWF9LRVlTXTsKKwlI ZWFwVHVwbGUJdHVwbGU7CisJVHVwbGVEZXNjCXR1cGRlc2M7CisJRGF0dW0JCWRhdHVtOworCisJ QXNzZXJ0KHNsb3QgIT0gTlVMTCk7CisKKwlBc3NlcnQoQ2hlY2tSZWxhdGlvbk9pZExvY2tlZEJ5 TWUoaW5kZXhpZCwgUm93RXhjbHVzaXZlTG9jaywgdHJ1ZSkpOworCisJaW5kZXhEZXNjID0gaW5k ZXhfb3BlbihpbmRleGlkLCBOb0xvY2spOworCisJYnVpbGRfaW5kZXhfZGF0dW1zX2Zyb21fc2xv dChlc3RhdGUsIGxvY2FscmVsLCBzbG90LCBpbmRleERlc2MsIHZhbHVlcywKKwkJCQkJCQkJIGlz bnVsbCk7CisJdHVwZGVzYyA9IFJlbGF0aW9uR2V0RGVzY3IoaW5kZXhEZXNjKTsKKworCS8qIEJs ZXNzIHRoZSB0dXBkZXNjIHNvIGl0IGNhbiBiZSBsb29rZWQgdXAgYnkgcm93X3RvX2pzb24uICov CisJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7CisKKwkvKiBGb3JtIHRoZSByZXBsaWNhIGlkZW50 aXR5IHR1cGxlLiAqLworCXR1cGxlID0gaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywg aXNudWxsKTsKKwlkYXR1bSA9IGhlYXBfY29weV90dXBsZV9hc19kYXR1bSh0dXBsZSwgdHVwZGVz Yyk7CisKKwlpbmRleF9jbG9zZShpbmRleERlc2MsIE5vTG9jayk7CisJaGVhcF9mcmVldHVwbGUo dHVwbGUpOworCisJLyogQ29udmVydCB0byBhIEpTT04gZGF0dW0uICovCisJcmV0dXJuIERpcmVj dEZ1bmN0aW9uQ2FsbDEocm93X3RvX2pzb24sIGRhdHVtKTsKK30KKworLyoKKyAqIGJ1aWxkX2Nv bmZsaWN0X3R1cGxlZGVzYworICoKKyAqIEJ1aWxkIGFuZCBibGVzcyBhIHR1cGxlIGRlc2NyaXB0 b3IgZm9yIHRoZSBpbnRlcm5hbCBjb25mbGljdCBsb2cgdGFibGUKKyAqIGJhc2VkIG9uIHRoZSBw cmVkZWZpbmVkIExvY2FsQ29uZmxpY3RTY2hlbWEuCisgKi8KK3N0YXRpYyBUdXBsZURlc2MKK2J1 aWxkX2NvbmZsaWN0X3R1cGxlZGVzYyh2b2lkKQoreworCVR1cGxlRGVzYyAgIHR1cGRlc2M7CisK Kwl0dXBkZXNjID0gQ3JlYXRlVGVtcGxhdGVUdXBsZURlc2MoTUFYX0xPQ0FMX0NPTkZMSUNUX0lO Rk9fQVRUUlMpOworCisJZm9yIChpbnQgaSA9IDA7IGkgPCBNQVhfTE9DQUxfQ09ORkxJQ1RfSU5G T19BVFRSUzsgaSsrKQorCQlUdXBsZURlc2NJbml0RW50cnkodHVwZGVzYywgKEF0dHJOdW1iZXIp IChpICsgMSksCisJCQkJCQkgICBMb2NhbENvbmZsaWN0U2NoZW1hW2ldLmF0dG5hbWUsCisJCQkJ CQkgICBMb2NhbENvbmZsaWN0U2NoZW1hW2ldLmF0dHR5cGlkLAorCQkJCQkJICAgLTEsIDApOwor CisJVHVwbGVEZXNjRmluYWxpemUodHVwZGVzYyk7CisJQmxlc3NUdXBsZURlc2ModHVwZGVzYyk7 CisKKwlyZXR1cm4gdHVwZGVzYzsKK30KKworLyoKKyAqIEJ1aWxkcyB0aGUgbG9jYWwgY29uZmxp Y3RzIEpTT04gYXJyYXkgY29sdW1uIGZyb20gdGhlIGxpc3Qgb2YKKyAqIENvbmZsaWN0VHVwbGVJ bmZvIG9iamVjdHMuCisgKgorICogRXhhbXBsZSBvdXRwdXQgc3RydWN0dXJlOgorICogWyB7ICJ4 aWQiOiAiMTAwMSIsICJjb21taXRfdHMiOiAiLi4uIiwgIm9yaWdpbiI6ICIuLi4iLCAidHVwbGUi OiB7Li4ufSB9LCAuLi4gXQorICovCitzdGF0aWMgRGF0dW0KK2J1aWxkX2xvY2FsX2NvbmZsaWN0 c19qc29uX2FycmF5KEVTdGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiByZWwsCisJCQkJCQkJCSBDb25m bGljdFR5cGUgY29uZmxpY3RfdHlwZSwKKwkJCQkJCQkJIExpc3QgKmNvbmZsaWN0dHVwbGVzKQor eworCUxpc3RDZWxsICAgKmxjOworCUxpc3QJICAgKmpzb25fZGF0dW1zID0gTklMOworCURhdHVt CSAgICpqc29uX2RhdHVtX2FycmF5OworCURhdHVtCQlqc29uX2FycmF5X2RhdHVtOworCWludAkJ CW51bV9jb25mbGljdHM7CisJaW50CQkJaTsKKwlpbnQxNgkJdHlwbGVuOworCWJvb2wJCXR5cGJ5 dmFsOworCWNoYXIJCXR5cGFsaWduOworCVR1cGxlRGVzYwl0dXBkZXNjOworCisJLyogQnVpbGQg bG9jYWwgY29uZmxpY3RzIHR1cGxlIGRlc2NyaXB0b3IuICovCisJdHVwZGVzYyA9IGJ1aWxkX2Nv bmZsaWN0X3R1cGxlZGVzYygpOworCisJLyogUHJvY2VzcyBsb2NhbCBjb25mbGljdCB0dXBsZSBs aXN0IGFuZCBwcmVwYXJlIGFuIGFycmF5IG9mIEpTT04uICovCisJZm9yZWFjaF9wdHIoQ29uZmxp Y3RUdXBsZUluZm8sIGNvbmZsaWN0dHVwbGUsIGNvbmZsaWN0dHVwbGVzKQogCXsKLQkJdGFibGVz bG90ID0gdGFibGVfc2xvdF9jcmVhdGUobG9jYWxyZWwsICZlc3RhdGUtPmVzX3R1cGxlVGFibGUp OwotCQl0YWJsZXNsb3QgPSBFeGVjQ29weVNsb3QodGFibGVzbG90LCBzbG90KTsKKwkJRGF0dW0J CXZhbHVlc1tNQVhfTE9DQUxfQ09ORkxJQ1RfSU5GT19BVFRSU10gPSB7MH07CisJCWJvb2wJCW51 bGxzW01BWF9MT0NBTF9DT05GTElDVF9JTkZPX0FUVFJTXSA9IHswfTsKKwkJY2hhcgkgICAqb3Jp Z2luX25hbWUgPSBOVUxMOworCQlIZWFwVHVwbGUJdHVwbGU7CisJCURhdHVtCQlqc29uX2RhdHVt OworCQlpbnQJCQlhdHRubzsKKworCQlhdHRubyA9IDA7CisJCXZhbHVlc1thdHRubysrXSA9IFRy YW5zYWN0aW9uSWRHZXREYXR1bShjb25mbGljdHR1cGxlLT54bWluKTsKKworCQlpZiAoY29uZmxp Y3R0dXBsZS0+dHMpCisJCQl2YWx1ZXNbYXR0bm8rK10gPSBUaW1lc3RhbXBUekdldERhdHVtKGNv bmZsaWN0dHVwbGUtPnRzKTsKKwkJZWxzZQorCQkJbnVsbHNbYXR0bm8rK10gPSB0cnVlOworCisJ CWlmIChjb25mbGljdHR1cGxlLT5vcmlnaW4gIT0gSW52YWxpZFJlcGxPcmlnaW5JZCkKKwkJCXJl cGxvcmlnaW5fYnlfb2lkKGNvbmZsaWN0dHVwbGUtPm9yaWdpbiwgdHJ1ZSwgJm9yaWdpbl9uYW1l KTsKKworCQkvKiBTdG9yZSBlbXB0eSBzdHJpbmcgaWYgb3JpZ2luIG5hbWUgZm9yIHRoZSB0dXBs ZSBpcyBOVUxMLiAqLworCQlpZiAob3JpZ2luX25hbWUgIT0gTlVMTCkKKwkJCXZhbHVlc1thdHRu bysrXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0ob3JpZ2luX25hbWUpOworCQllbHNlCisJCQludWxs c1thdHRubysrXSA9IHRydWU7CisKKwkJLyoKKwkJICogQWRkIHRoZSBjb25mbGljdGluZyBrZXkg dmFsdWVzIGluIHRoZSBjYXNlIG9mIGEgdW5pcXVlIGNvbnN0cmFpbnQKKwkJICogdmlvbGF0aW9u LgorCQkgKi8KKwkJaWYgKGNvbmZsaWN0X3R5cGUgPT0gQ1RfSU5TRVJUX0VYSVNUUyB8fAorCQkJ Y29uZmxpY3RfdHlwZSA9PSBDVF9VUERBVEVfRVhJU1RTIHx8CisJCQljb25mbGljdF90eXBlID09 IENUX01VTFRJUExFX1VOSVFVRV9DT05GTElDVFMpCisJCXsKKwkJCU9pZAlpbmRleG9pZCA9IGNv bmZsaWN0dHVwbGUtPmluZGV4b2lkOworCisJCQlBc3NlcnQoT2lkSXNWYWxpZChpbmRleG9pZCkg JiYgY29uZmxpY3R0dXBsZS0+c2xvdCAmJgorCQkJCSAgIENoZWNrUmVsYXRpb25PaWRMb2NrZWRC eU1lKGluZGV4b2lkLCBSb3dFeGNsdXNpdmVMb2NrLAorCQkJCQkJCQkJCQkgIHRydWUpKTsKKwkJ CXZhbHVlc1thdHRubysrXSA9CisJCQkJCXR1cGxlX3RhYmxlX3Nsb3RfdG9faW5kZXh0dXBfanNv bihlc3RhdGUsIHJlbCwKKwkJCQkJCQkJCQkJCQkgIGluZGV4b2lkLAorCQkJCQkJCQkJCQkJCSAg Y29uZmxpY3R0dXBsZS0+c2xvdCk7CisJCX0KKwkJZWxzZQorCQkJbnVsbHNbYXR0bm8rK10gPSB0 cnVlOworCisJCS8qIENvbnZlcnQgY29uZmxpY3RpbmcgdHVwbGUgdG8gSlNPTiBkYXR1bS4gKi8K KwkJaWYgKGNvbmZsaWN0dHVwbGUtPnNsb3QpCisJCQl2YWx1ZXNbYXR0bm9dID0gdHVwbGVfdGFi bGVfc2xvdF90b19qc29uX2RhdHVtKGNvbmZsaWN0dHVwbGUtPnNsb3QpOworCQllbHNlCisJCQlu dWxsc1thdHRub10gPSB0cnVlOworCisJCUFzc2VydChhdHRubyArIDEgPT0gTUFYX0xPQ0FMX0NP TkZMSUNUX0lORk9fQVRUUlMpOworCisJCXR1cGxlID0gaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2Ms IHZhbHVlcywgbnVsbHMpOworCisJCWpzb25fZGF0dW0gPSBoZWFwX2NvcHlfdHVwbGVfYXNfZGF0 dW0odHVwbGUsIHR1cGRlc2MpOworCisJCS8qCisJCSAqIEJ1aWxkIHRoZSBoaWdoZXIgbGV2ZWwg SlNPTiBkYXR1bSBpbiBmb3JtYXQgZGVzY3JpYmVkIGluIGZ1bmN0aW9uCisJCSAqIGhlYWRlci4K KwkJICovCisJCWpzb25fZGF0dW0gPSBEaXJlY3RGdW5jdGlvbkNhbGwxKHJvd190b19qc29uLCBq c29uX2RhdHVtKTsKKworCQkvKiBEb25lIHdpdGggdGhlIHRlbXBvcmFyeSB0dXBsZS4gKi8KKwkJ aGVhcF9mcmVldHVwbGUodHVwbGUpOworCisJCS8qIEFkZCB0byB0aGUgYXJyYXkgZWxlbWVudC4g Ki8KKwkJanNvbl9kYXR1bXMgPSBsYXBwZW5kKGpzb25fZGF0dW1zLCAodm9pZCAqKSBqc29uX2Rh dHVtKTsKIAl9CiAKLQkvKgotCSAqIEluaXRpYWxpemUgZWN4dF9zY2FudHVwbGUgZm9yIHBvdGVu dGlhbCB1c2UgaW4gRm9ybUluZGV4RGF0dW0gd2hlbgotCSAqIGluZGV4IGV4cHJlc3Npb25zIGFy ZSBwcmVzZW50LgotCSAqLwotCUdldFBlclR1cGxlRXhwckNvbnRleHQoZXN0YXRlKS0+ZWN4dF9z Y2FudHVwbGUgPSB0YWJsZXNsb3Q7CisJbnVtX2NvbmZsaWN0cyA9IGxpc3RfbGVuZ3RoKGpzb25f ZGF0dW1zKTsKIAotCS8qCi0JICogVGhlIHZhbHVlcy9udWxscyBhcnJheXMgcGFzc2VkIHRvIEJ1 aWxkSW5kZXhWYWx1ZURlc2NyaXB0aW9uIHNob3VsZCBiZQotCSAqIHRoZSByZXN1bHRzIG9mIEZv cm1JbmRleERhdHVtLCB3aGljaCBhcmUgdGhlICJyYXciIGlucHV0IHRvIHRoZSBpbmRleAotCSAq IEFNLgotCSAqLwotCUZvcm1JbmRleERhdHVtKEJ1aWxkSW5kZXhJbmZvKGluZGV4RGVzYyksIHRh Ymxlc2xvdCwgZXN0YXRlLCB2YWx1ZXMsIGlzbnVsbCk7CisJanNvbl9kYXR1bV9hcnJheSA9IHBh bGxvY19hcnJheShEYXR1bSwgbnVtX2NvbmZsaWN0cyk7CiAKLQlpbmRleF92YWx1ZSA9IEJ1aWxk SW5kZXhWYWx1ZURlc2NyaXB0aW9uKGluZGV4RGVzYywgdmFsdWVzLCBpc251bGwpOworCWkgPSAw OworCWZvcmVhY2gobGMsIGpzb25fZGF0dW1zKQorCXsKKwkJanNvbl9kYXR1bV9hcnJheVtpXSA9 IChEYXR1bSkgbGZpcnN0KGxjKTsKKwkJaSsrOworCX0KIAotCWluZGV4X2Nsb3NlKGluZGV4RGVz YywgTm9Mb2NrKTsKKwkvKiBDb25zdHJ1Y3QgdGhlIEpTT04gYXJyYXkgRGF0dW0uICovCisJZ2V0 X3R5cGxlbmJ5dmFsYWxpZ24oSlNPTk9JRCwgJnR5cGxlbiwgJnR5cGJ5dmFsLCAmdHlwYWxpZ24p OworCWpzb25fYXJyYXlfZGF0dW0gPSBQb2ludGVyR2V0RGF0dW0oY29uc3RydWN0X2FycmF5KGpz b25fZGF0dW1fYXJyYXksCisJCQkJCQkJCQkJCQkJICAgbnVtX2NvbmZsaWN0cywKKwkJCQkJCQkJ CQkJCQkgICBKU09OT0lELAorCQkJCQkJCQkJCQkJCSAgIHR5cGxlbiwKKwkJCQkJCQkJCQkJCQkg ICB0eXBieXZhbCwKKwkJCQkJCQkJCQkJCQkgICB0eXBhbGlnbikpOworCXBmcmVlKGpzb25fZGF0 dW1fYXJyYXkpOworCisJcmV0dXJuIGpzb25fYXJyYXlfZGF0dW07Cit9CiAKLQlyZXR1cm4gaW5k ZXhfdmFsdWU7CisvKgorICogcHJlcGFyZV9jb25mbGljdF9sb2dfdHVwbGUKKyAqCisgKiBUaGlz IHJvdXRpbmUgcHJlcGFyZXMgYSB0dXBsZSBkZXRhaWxpbmcgYSBjb25mbGljdCBlbmNvdW50ZXJl ZCBkdXJpbmcKKyAqIGxvZ2ljYWwgcmVwbGljYXRpb24uIFRoZSBwcmVwYXJlZCB0dXBsZSB3aWxs IGJlIHN0b3JlZCBpbgorICogTXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUg d2hpY2ggc2hvdWxkIGJlIGluc2VydGVkIGludG8gdGhlCisgKiBjb25mbGljdCBsb2cgdGFibGUg YnkgY2FsbGluZyBJbnNlcnRDb25mbGljdExvZ1R1cGxlLgorICovCitzdGF0aWMgdm9pZAorcHJl cGFyZV9jb25mbGljdF9sb2dfdHVwbGUoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIHJlbCwKKwkJ CQkJCSAgIFJlbGF0aW9uIGNvbmZsaWN0bG9ncmVsLAorCQkJCQkJICAgQ29uZmxpY3RUeXBlIGNv bmZsaWN0X3R5cGUsCisJCQkJCQkgICBUdXBsZVRhYmxlU2xvdCAqc2VhcmNoc2xvdCwKKwkJCQkJ CSAgIExpc3QgKmNvbmZsaWN0dHVwbGVzLAorCQkJCQkJICAgVHVwbGVUYWJsZVNsb3QgKnJlbW90 ZXNsb3QpCit7CisJRGF0dW0JCXZhbHVlc1tNQVhfQ09ORkxJQ1RfQVRUUl9OVU1dID0gezB9Owor CWJvb2wJCW51bGxzW01BWF9DT05GTElDVF9BVFRSX05VTV0gPSB7MH07CisJaW50CQkJYXR0bm87 CisJY2hhcgkgICAqcmVtb3RlX29yaWdpbiA9IE5VTEw7CisJTWVtb3J5Q29udGV4dAlvbGRjdHg7 CisKKwlBc3NlcnQoTXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUgPT0gTlVM TCk7CisKKwkvKiBQb3B1bGF0ZSB0aGUgdmFsdWVzIGFuZCBudWxscyBhcnJheXMuICovCisJYXR0 bm8gPSAwOworCXZhbHVlc1thdHRubysrXSA9IE9iamVjdElkR2V0RGF0dW0oUmVsYXRpb25HZXRS ZWxpZChyZWwpKTsKKworCXZhbHVlc1thdHRubysrXSA9CisJCQlDU3RyaW5nR2V0VGV4dERhdHVt KGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpKSk7CisKKwl2YWx1 ZXNbYXR0bm8rK10gPSBDU3RyaW5nR2V0VGV4dERhdHVtKFJlbGF0aW9uR2V0UmVsYXRpb25OYW1l KHJlbCkpOworCisJdmFsdWVzW2F0dG5vKytdID0gQ1N0cmluZ0dldFRleHREYXR1bShDb25mbGlj dFR5cGVOYW1lc1tjb25mbGljdF90eXBlXSk7CisKKwlpZiAoVHJhbnNhY3Rpb25JZElzVmFsaWQo cmVtb3RlX3hpZCkpCisJCXZhbHVlc1thdHRubysrXSA9IFRyYW5zYWN0aW9uSWRHZXREYXR1bShy ZW1vdGVfeGlkKTsKKwllbHNlCisJCW51bGxzW2F0dG5vKytdID0gdHJ1ZTsKKworCXZhbHVlc1th dHRubysrXSA9IExTTkdldERhdHVtKHJlbW90ZV9maW5hbF9sc24pOworCisJaWYgKHJlbW90ZV9j b21taXRfdHMgPiAwKQorCQl2YWx1ZXNbYXR0bm8rK10gPSBUaW1lc3RhbXBUekdldERhdHVtKHJl bW90ZV9jb21taXRfdHMpOworCWVsc2UKKwkJbnVsbHNbYXR0bm8rK10gPSB0cnVlOworCisJaWYg KHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW4gIT0gSW52YWxpZFJlcGxPcmlnaW5JZCkKKwkJ cmVwbG9yaWdpbl9ieV9vaWQocmVwbG9yaWdpbl94YWN0X3N0YXRlLm9yaWdpbiwgdHJ1ZSwgJnJl bW90ZV9vcmlnaW4pOworCisJaWYgKHJlbW90ZV9vcmlnaW4gIT0gTlVMTCkKKwkJdmFsdWVzW2F0 dG5vKytdID0gQ1N0cmluZ0dldFRleHREYXR1bShyZW1vdGVfb3JpZ2luKTsKKwllbHNlCisJCW51 bGxzW2F0dG5vKytdID0gdHJ1ZTsKKworCWlmICghVHVwSXNOdWxsKHNlYXJjaHNsb3QpKQorCXsK KwkJT2lkCQlyZXBsaWNhX2luZGV4ID0gR2V0UmVsYXRpb25JZGVudGl0eU9yUEsocmVsKTsKKwor CQkvKgorCQkgKiBJZiB0aGUgdGFibGUgaGFzIGEgdmFsaWQgcmVwbGljYSBpZGVudGl0eSBpbmRl eCwgYnVpbGQgdGhlIGluZGV4CisJCSAqIEpTT04gZGF0dW0gZnJvbSBrZXkgdmFsdWUuIE90aGVy d2lzZSwgY29uc3RydWN0IGl0IGZyb20gdGhlIGNvbXBsZXRlCisJCSAqIHR1cGxlIGluIFJFUExJ Q0EgSURFTlRJVFkgRlVMTCBjYXNlcy4KKwkJICovCisJCWlmIChPaWRJc1ZhbGlkKHJlcGxpY2Ff aW5kZXgpKQorCQkJdmFsdWVzW2F0dG5vKytdID0gdHVwbGVfdGFibGVfc2xvdF90b19pbmRleHR1 cF9qc29uKGVzdGF0ZSwgcmVsLAorCQkJCQkJCQkJCQkJCQkJCXJlcGxpY2FfaW5kZXgsCisJCQkJ CQkJCQkJCQkJCQkJc2VhcmNoc2xvdCk7CisJCWVsc2UKKwkJCXZhbHVlc1thdHRubysrXSA9IHR1 cGxlX3RhYmxlX3Nsb3RfdG9fanNvbl9kYXR1bShzZWFyY2hzbG90KTsKKwl9CisJZWxzZQorCQlu dWxsc1thdHRubysrXSA9IHRydWU7CisKKwlpZiAoIVR1cElzTnVsbChyZW1vdGVzbG90KSkKKwkJ dmFsdWVzW2F0dG5vKytdID0gdHVwbGVfdGFibGVfc2xvdF90b19qc29uX2RhdHVtKHJlbW90ZXNs b3QpOworCWVsc2UKKwkJbnVsbHNbYXR0bm8rK10gPSB0cnVlOworCisJdmFsdWVzW2F0dG5vXSA9 IGJ1aWxkX2xvY2FsX2NvbmZsaWN0c19qc29uX2FycmF5KGVzdGF0ZSwgcmVsLAorCQkJCQkJCQkJ CQkJCSBjb25mbGljdF90eXBlLAorCQkJCQkJCQkJCQkJCSBjb25mbGljdHR1cGxlcyk7CisKKwlB c3NlcnQoYXR0bm8gKyAxID09IE1BWF9DT05GTElDVF9BVFRSX05VTSk7CisKKwlvbGRjdHggPSBN ZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlDb250ZXh0KTsKKwlNeUxvZ2ljYWxSZXBXb3JrZXIt PmNvbmZsaWN0X2xvZ190dXBsZSA9CisJCWhlYXBfZm9ybV90dXBsZShSZWxhdGlvbkdldERlc2Ny KGNvbmZsaWN0bG9ncmVsKSwgdmFsdWVzLCBudWxscyk7CisJTWVtb3J5Q29udGV4dFN3aXRjaFRv KG9sZGN0eCk7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L2xhdW5jaGVyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xhdW5jaGVyLmMK aW5kZXggMzEzZTMxZmYyZTMuLjA1YTMwMzQyZjY5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL2xhdW5jaGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vbG9naWNhbC9sYXVuY2hlci5jCkBAIC00ODcsNiArNDg3LDcgQEAgcmV0cnk6CiAJd29ya2Vy LT5vbGRlc3Rfbm9ucmVtb3ZhYmxlX3hpZCA9IHJldGFpbl9kZWFkX3R1cGxlcwogCQk/IE15UmVw bGljYXRpb25TbG90LT5kYXRhLnhtaW4KIAkJOiBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKKwl3b3Jr ZXItPmNvbmZsaWN0X2xvZ190dXBsZSA9IE5VTEw7CiAJd29ya2VyLT5sYXN0X2xzbiA9IEludmFs aWRYTG9nUmVjUHRyOwogCVRJTUVTVEFNUF9OT0JFR0lOKHdvcmtlci0+bGFzdF9zZW5kX3RpbWUp OwogCVRJTUVTVEFNUF9OT0JFR0lOKHdvcmtlci0+bGFzdF9yZWN2X3RpbWUpOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggYTNmMjQwNmVkODMuLjQ2OTQ1MWM3 MzZhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5j CisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKQEAgLTQ4Nyw3 ICs0ODcsOSBAQCBzdGF0aWMgYm9vbCBNeVN1YnNjcmlwdGlvblZhbGlkID0gZmFsc2U7CiBzdGF0 aWMgTGlzdCAqb25fY29tbWl0X3dha2V1cF93b3JrZXJzX3N1YmlkcyA9IE5JTDsKIAogYm9vbAkJ aW5fcmVtb3RlX3RyYW5zYWN0aW9uID0gZmFsc2U7Ci1zdGF0aWMgWExvZ1JlY1B0ciByZW1vdGVf ZmluYWxfbHNuID0gSW52YWxpZFhMb2dSZWNQdHI7CitYTG9nUmVjUHRyIHJlbW90ZV9maW5hbF9s c24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKK1RyYW5zYWN0aW9uSWQJcmVtb3RlX3hpZCA9IEludmFs aWRUcmFuc2FjdGlvbklkOworVGltZXN0YW1wVHoJcmVtb3RlX2NvbW1pdF90cyA9IDA7CiAKIC8q IGZpZWxkcyB2YWxpZCBvbmx5IHdoZW4gcHJvY2Vzc2luZyBzdHJlYW1lZCB0cmFuc2FjdGlvbiAq Lwogc3RhdGljIGJvb2wgaW5fc3RyZWFtZWRfdHJhbnNhY3Rpb24gPSBmYWxzZTsKQEAgLTEyMzYs NiArMTIzOCw4IEBAIGFwcGx5X2hhbmRsZV9iZWdpbihTdHJpbmdJbmZvIHMpCiAJc2V0X2FwcGx5 X2Vycm9yX2NvbnRleHRfeGFjdChiZWdpbl9kYXRhLnhpZCwgYmVnaW5fZGF0YS5maW5hbF9sc24p OwogCiAJcmVtb3RlX2ZpbmFsX2xzbiA9IGJlZ2luX2RhdGEuZmluYWxfbHNuOworCXJlbW90ZV9j b21taXRfdHMgPSBiZWdpbl9kYXRhLmNvbW1pdHRpbWU7CisJcmVtb3RlX3hpZCA9IGJlZ2luX2Rh dGEueGlkOwogCiAJbWF5YmVfc3RhcnRfc2tpcHBpbmdfY2hhbmdlcyhiZWdpbl9kYXRhLmZpbmFs X2xzbik7CiAKQEAgLTE3NjIsNiArMTc2NiwxMCBAQCBhcHBseV9oYW5kbGVfc3RyZWFtX3N0YXJ0 KFN0cmluZ0luZm8gcykKIAkvKiBleHRyYWN0IFhJRCBvZiB0aGUgdG9wLWxldmVsIHRyYW5zYWN0 aW9uICovCiAJc3RyZWFtX3hpZCA9IGxvZ2ljYWxyZXBfcmVhZF9zdHJlYW1fc3RhcnQocywgJmZp cnN0X3NlZ21lbnQpOwogCisJcmVtb3RlX3hpZCA9IHN0cmVhbV94aWQ7CisJcmVtb3RlX2ZpbmFs X2xzbiA9IEludmFsaWRYTG9nUmVjUHRyOworCXJlbW90ZV9jb21taXRfdHMgPSAwOworCiAJaWYg KCFUcmFuc2FjdGlvbklkSXNWYWxpZChzdHJlYW1feGlkKSkKIAkJZXJlcG9ydChFUlJPUiwKIAkJ CQkoZXJyY29kZShFUlJDT0RFX1BST1RPQ09MX1ZJT0xBVElPTiksCkBAIC01NjY3LDYgKzU2NzUs MjcgQEAgc3RhcnRfYXBwbHkoWExvZ1JlY1B0ciBvcmlnaW5fc3RhcnRwb3MpCiAJCQlBYm9ydE91 dE9mQW55VHJhbnNhY3Rpb24oKTsKIAkJCXBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0aW9uX2Vycm9y KE15U3Vic2NyaXB0aW9uLT5vaWQpOwogCisJCQkvKgorCQkJICogSW5zZXJ0IGFueSBwZW5kaW5n IGNvbmZsaWN0IGxvZyB0dXBsZSB1bmRlciBhIG5ldyB0cmFuc2FjdGlvbi4KKwkJCSAqLworCQkJ aWYgKE15TG9naWNhbFJlcFdvcmtlci0+Y29uZmxpY3RfbG9nX3R1cGxlICE9IE5VTEwpCisJCQl7 CisJCQkJUmVsYXRpb24JY29uZmxpY3Rsb2dyZWw7CisJCQkJQ29uZmxpY3RMb2dEZXN0CWRlc3Q7 CisKKwkJCQlTdGFydFRyYW5zYWN0aW9uQ29tbWFuZCgpOworCQkJCVB1c2hBY3RpdmVTbmFwc2hv dChHZXRUcmFuc2FjdGlvblNuYXBzaG90KCkpOworCisJCQkJLyogT3BlbiBjb25mbGljdCBsb2cg dGFibGUgYW5kIGluc2VydCB0aGUgdHVwbGUuICovCisJCQkJY29uZmxpY3Rsb2dyZWwgPSBHZXRD b25mbGljdExvZ0Rlc3RBbmRUYWJsZSgmZGVzdCk7CisJCQkJQXNzZXJ0KGRlc3QgIT0gQ09ORkxJ Q1RfTE9HX0RFU1RfTE9HKTsKKwkJCQlJbnNlcnRDb25mbGljdExvZ1R1cGxlKGNvbmZsaWN0bG9n cmVsKTsKKwkJCQl0YWJsZV9jbG9zZShjb25mbGljdGxvZ3JlbCwgUm93RXhjbHVzaXZlTG9jayk7 CisKKwkJCQlQb3BBY3RpdmVTbmFwc2hvdCgpOworCQkJCUNvbW1pdFRyYW5zYWN0aW9uQ29tbWFu ZCgpOworCQkJfQorCiAJCQlQR19SRV9USFJPVygpOwogCQl9CiAJfQpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L2NvbmZsaWN0LmgKaW5kZXggYzkyMjE2ZTJkZDUuLjZkY2I3OTcwYmI3IDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxp Y2F0aW9uL2NvbmZsaWN0LmgKQEAgLTExNiw0ICsxMTYsNiBAQCBleHRlcm4gdm9pZCBSZXBvcnRB cHBseUNvbmZsaWN0KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQkJ CQkJCQlUdXBsZVRhYmxlU2xvdCAqcmVtb3Rlc2xvdCwKIAkJCQkJCQkJTGlzdCAqY29uZmxpY3R0 dXBsZXMpOwogZXh0ZXJuIHZvaWQgSW5pdENvbmZsaWN0SW5kZXhlcyhSZXN1bHRSZWxJbmZvICpy ZWxJbmZvKTsKK2V4dGVybiBSZWxhdGlvbiBHZXRDb25mbGljdExvZ0Rlc3RBbmRUYWJsZShDb25m bGljdExvZ0Rlc3QgKmxvZ19kZXN0KTsKK2V4dGVybiB2b2lkIEluc2VydENvbmZsaWN0TG9nVHVw bGUoUmVsYXRpb24gY29uZmxpY3Rsb2dyZWwpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0 aW9uL3dvcmtlcl9pbnRlcm5hbC5oCmluZGV4IDc0NWI3ZDllOTY5Li42YTQ0N2RhNjUxMCAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vd29ya2VyX2ludGVybmFsLmgKKysrIGIv c3JjL2luY2x1ZGUvcmVwbGljYXRpb24vd29ya2VyX2ludGVybmFsLmgKQEAgLTEwMCw2ICsxMDAs OSBAQCB0eXBlZGVmIHN0cnVjdCBMb2dpY2FsUmVwV29ya2VyCiAJICovCiAJVHJhbnNhY3Rpb25J ZCBvbGRlc3Rfbm9ucmVtb3ZhYmxlX3hpZDsKIAorCS8qIEEgY29uZmxpY3QgbG9nIHR1cGxlIHRo YXQgaXMgcHJlcGFyZWQgYnV0IG5vdCB5ZXQgaW5zZXJ0ZWQuICovCisJSGVhcFR1cGxlCWNvbmZs aWN0X2xvZ190dXBsZTsKKwogCS8qIFN0YXRzLiAqLwogCVhMb2dSZWNQdHIJbGFzdF9sc247CiAJ VGltZXN0YW1wVHogbGFzdF9zZW5kX3RpbWU7CkBAIC0yNTUsNiArMjU4LDEwIEBAIGV4dGVybiBQ R0RMTElNUE9SVCBib29sIEluaXRpYWxpemluZ0FwcGx5V29ya2VyOwogCiBleHRlcm4gUEdETExJ TVBPUlQgTGlzdCAqdGFibGVfc3RhdGVzX25vdF9yZWFkeTsKIAorZXh0ZXJuIFhMb2dSZWNQdHIg cmVtb3RlX2ZpbmFsX2xzbjsKK2V4dGVybiBUaW1lc3RhbXBUeiByZW1vdGVfY29tbWl0X3RzOwor ZXh0ZXJuIFRyYW5zYWN0aW9uSWQJcmVtb3RlX3hpZDsKKwogZXh0ZXJuIHZvaWQgbG9naWNhbHJl cF93b3JrZXJfYXR0YWNoKGludCBzbG90KTsKIGV4dGVybiBMb2dpY2FsUmVwV29ya2VyICpsb2dp Y2FscmVwX3dvcmtlcl9maW5kKExvZ2ljYWxSZXBXb3JrZXJUeXBlIHd0eXBlLAogCQkJCQkJCQkJ CQkJT2lkIHN1YmlkLCBPaWQgcmVsaWQsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzVfY29uZmxpY3RzLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM1X2NvbmZs aWN0cy5wbAppbmRleCBmMjNmZTZhZjJhNS4uMDVjMjE3OWI5YTggMTAwNjQ0Ci0tLSBhL3NyYy90 ZXN0L3N1YnNjcmlwdGlvbi90LzAzNV9jb25mbGljdHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDM1X2NvbmZsaWN0cy5wbApAQCAtNTAsNyArNTAsNyBAQCAkbm9kZV9zdWJzY3Jp YmVyLT5zYWZlX3BzcWwoCiAJJ3Bvc3RncmVzJywKIAkiQ1JFQVRFIFNVQlNDUklQVElPTiBzdWJf dGFiCiAJIENPTk5FQ1RJT04gJyRwdWJsaXNoZXJfY29ubnN0ciBhcHBsaWNhdGlvbl9uYW1lPSRh cHBuYW1lJwotCSBQVUJMSUNBVElPTiBwdWJfdGFiOyIpOworCSBQVUJMSUNBVElPTiBwdWJfdGFi IFdJVEggKGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbj1hbGwpIik7CiAKICMgV2FpdCBmb3IgaW5p dGlhbCB0YWJsZSBzeW5jIHRvIGZpbmlzaAogJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9mb3Jfc3Vi c2NyaXB0aW9uX3N5bmMoJG5vZGVfcHVibGlzaGVyLCAkYXBwbmFtZSk7CkBAIC04NCwxMCArODQs MzUgQEAgJG5vZGVfc3Vic2NyaWJlci0+d2FpdF9mb3JfbG9nKAogLipLZXkgYWxyZWFkeSBleGlz dHMgaW4gdW5pcXVlIGluZGV4IFwiY29uZl90YWJfY19rZXlcIiwgbW9kaWZpZWQgaW4gdHJhbnNh Y3Rpb24gLio6IGtleSBcKGNcKT1cKDRcKSwgbG9jYWwgcm93IFwoNCwgNCwgNFwpLi8sCiAJJGxv Z19vZmZzZXQpOwogCisjIFZlcmlmeSB0aGUgY29udGVudHMgb2YgdGhlIENvbmZsaWN0IExvZyBU YWJsZSAoQ0xUKQorIyBUaGlzIHNlY3Rpb24gZW5zdXJlcyB0aGF0IHRoZSBjbHQgY29udGFpbnMg dGhlIGV4cGVjdGVkCisjIHR5cGUgYW5kIHNwZWNpZmljIGtleSBkYXRhLgorbXkgJHN1YmlkID0g JG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBvaWQgRlJP TSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdzdWJfdGFiJzsiKTsKK215ICRjbHQg PSAicGdfY29uZmxpY3QucGdfY29uZmxpY3RfbG9nXyRzdWJpZCI7CisKKyMgV2FpdCBmb3IgdGhl IGNvbmZsaWN0IHRvIGJlIGxvZ2dlZCBpbiB0aGUgQ0xUCitteSAkbG9nX2NoZWNrID0gJG5vZGVf c3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgKKyAgICAncG9zdGdyZXMnLAorICAgICJTRUxF Q1QgY291bnQoKikgPiAwIEZST00gJGNsdDsiCispOworCitteSAkY29uZmxpY3RfY2hlY2sgPSAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKyAgICAiU0VMRUNUIGNvdW50 KCopID49IDEgRlJPTSAkY2x0IFdIRVJFIGNvbmZsaWN0X3R5cGUgPSAnbXVsdGlwbGVfdW5pcXVl X2NvbmZsaWN0cyc7Iik7CitpcygkY29uZmxpY3RfY2hlY2ssICd0JywgJ1ZlcmlmaWVkIG11bHRp cGxlX3VuaXF1ZV9jb25mbGljdHMgbG9nZ2VkIGludG8gY29uZmxpY3QgbG9nIHRhYmxlJyk7CisK K215ICRqc29uX3F1ZXJ5ID0gIlNFTEVDVCBsb2NhbF9jb25mbGljdHMgRlJPTSAkY2x0OyI7Citt eSAkcmF3X2pzb24gPSAkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGpz b25fcXVlcnkpOworCisjIFZlcmlmeSB0aGF0ICcyJyBpcyBwcmVzZW50IGluc2lkZSB0aGUgSlNP TiBzdHJ1Y3R1cmUgdXNpbmcgYSByZWdleAorIyBUaGlzIG1hdGNoZXMgdGhlIGtleS92YWx1ZSBw YXR0ZXJuIGZvciAiYSI6IDIKK2xpa2UoJHJhd19qc29uLCBxci9cXCJhXFwiOjIvLCAnVmVyaWZp ZWQgdGhhdCBrZXkgMiBleGlzdHMgaW4gdGhlIGxvY2FsX2NvbmZsaWN0cycpOworCiBwYXNzKCdt dWx0aXBsZV91bmlxdWVfY29uZmxpY3RzIGRldGVjdGVkIGR1cmluZyBpbnNlcnQnKTsKIAogIyBU cnVuY2F0ZSB0YWJsZSB0byBnZXQgcmlkIG9mIHRoZSBlcnJvcgogJG5vZGVfc3Vic2NyaWJlci0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJUUlVOQ0FURSBjb25mX3RhYjsiKTsKKyRub2RlX3N1YnNj cmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiREVMRVRFIEZST00gJGNsdCIpOwogCiAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBUZXN0IG11 bHRpcGxlX3VuaXF1ZV9jb25mbGljdHMgZHVlIHRvIFVQREFURQpAQCAtMTE0LDYgKzEzOSwyNiBA QCAkbm9kZV9zdWJzY3JpYmVyLT53YWl0X2Zvcl9sb2coCiAuKktleSBhbHJlYWR5IGV4aXN0cyBp biB1bmlxdWUgaW5kZXggXCJjb25mX3RhYl9jX2tleVwiLCBtb2RpZmllZCBpbiB0cmFuc2FjdGlv biAuKjoga2V5IFwoY1wpPVwoOFwpLCBsb2NhbCByb3cgXCg4LCA4LCA4XCkuLywKIAkkbG9nX29m ZnNldCk7CiAKKyMgVmVyaWZ5IHRoZSBjb250ZW50cyBvZiB0aGUgQ29uZmxpY3QgTG9nIFRhYmxl IChDTFQpCisjIFRoaXMgc2VjdGlvbiBlbnN1cmVzIHRoYXQgdGhlIENMVCBjb250YWlucyB0aGUg ZXhwZWN0ZWQKKyMgdHlwZSBhbmQgc3BlY2lmaWMga2V5IGRhdGEuCisKKyMgV2FpdCBmb3IgdGhl IGNvbmZsaWN0IHRvIGJlIGxvZ2dlZCBpbiB0aGUgQ0xUCiskbG9nX2NoZWNrID0gJG5vZGVfc3Vi c2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgKKyAgICAncG9zdGdyZXMnLAorICAgICJTRUxFQ1Qg Y291bnQoKikgPiAwIEZST00gJGNsdDsiCispOworCiskY29uZmxpY3RfY2hlY2sgPSAkbm9kZV9z dWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKyAgICAiU0VMRUNUIGNvdW50KCopID49 IDEgRlJPTSAkY2x0IFdIRVJFIGNvbmZsaWN0X3R5cGUgPSAnbXVsdGlwbGVfdW5pcXVlX2NvbmZs aWN0cyc7Iik7CitpcygkY29uZmxpY3RfY2hlY2ssICd0JywgJ1ZlcmlmaWVkIG11bHRpcGxlX3Vu aXF1ZV9jb25mbGljdHMgbG9nZ2VkIGludG8gY29uZmxpY3QgbG9nIHRhYmxlJyk7CisKKyRyYXdf anNvbiA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkanNvbl9xdWVy eSk7CisKKyMgVmVyaWZ5IHRoYXQgJzYnIGlzIHByZXNlbnQgaW5zaWRlIHRoZSBKU09OIHN0cnVj dHVyZSB1c2luZyBhIHJlZ2V4CisjIFRoaXMgbWF0Y2hlcyB0aGUga2V5L3ZhbHVlIHBhdHRlcm4g Zm9yICJhIjogNgorbGlrZSgkcmF3X2pzb24sIHFyL1xcImFcXCI6Ni8sICdWZXJpZmllZCB0aGF0 IGtleSA2IGV4aXN0cyBpbiB0aGUgbG9jYWxfY29uZmxpY3RzJyk7CisKIHBhc3MoJ211bHRpcGxl X3VuaXF1ZV9jb25mbGljdHMgZGV0ZWN0ZWQgZHVyaW5nIHVwZGF0ZScpOwogCiAjIFRydW5jYXRl IHRhYmxlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yCi0tIAoyLjQ5LjAKCg== --000000000000804db50652fc1197 Content-Type: application/octet-stream; name="v42-0004-Review-comment-fixes-for-Implement-the-conflict-.patch" Content-Disposition: attachment; filename="v42-0004-Review-comment-fixes-for-Implement-the-conflict-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mprgznyn3 RnJvbSA0YTZkNTAwYjRkMmYwMTBjYmEzMDgxZDVhZDAzYjZjN2Q0MWIwYzJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMjAgTWF5IDIwMjYgMTA6MTM6MjggKzA1MzAKU3ViamVjdDogW1BBVENIIHY0MiA0LzVd IFJldmlldyBjb21tZW50IGZpeGVzIGZvciBJbXBsZW1lbnQgdGhlIGNvbmZsaWN0CiBpbnNlcnRp b24gaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZSBjb25mbGljdCBsb2cgdGFibGUKClJldmlldyBjb21t ZW50IGZpeGVzIGZvciBJbXBsZW1lbnQgdGhlIGNvbmZsaWN0Cmluc2VydGlvbiBpbmZyYXN0cnVj dHVyZSBmb3IgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZQotLS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvY29uZmxpY3QuYyB8IDE2MCArKysrKysrKysrKysrLS0tLS0tLS0KIHNyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgICB8ICAzMiArLS0tLQogc3JjL2lu Y2x1ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaCAgICAgICAgIHwgICAxICsKIHNyYy90ZXN0L3N1 YnNjcmlwdGlvbi90LzAzMF9vcmlnaW4ucGwgICAgICB8ICAgNCArLQogc3JjL3Rlc3Qvc3Vic2Ny aXB0aW9uL3QvMDM1X2NvbmZsaWN0cy5wbCAgIHwgICA0ICstCiA1IGZpbGVzIGNoYW5nZWQsIDEx NiBpbnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL2NvbmZsaWN0LmMKaW5kZXggMDFkMjU0YmFhNDEuLjE1YjBlZjdmM2NhIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMKKysrIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCkBAIC0zMSwxMCArMzEs OCBAQAogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2luY2x1ZGUgInV0aWxzL2FycmF5Lmgi CiAjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKLSNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5o IgogI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3BnX2xzbi5o IgotI2luY2x1ZGUgInV0aWxzL2pzb24uaCIKIAogLyoKICAqIFN0cmluZyByZXByZXNlbnRhdGlv bnMgZm9yIHRoZSBzdXBwb3J0ZWQgY29uZmxpY3QgbG9nZ2luZyBkZXN0aW5hdGlvbnMuCkBAIC00 OCw3ICs0Niw2IEBAIGNvbnN0IGNoYXIgKmNvbnN0IENvbmZsaWN0TG9nRGVzdE5hbWVzW10gPSB7 CiBTdGF0aWNBc3NlcnREZWNsKGxlbmd0aG9mKENvbmZsaWN0TG9nRGVzdE5hbWVzKSA9PSAzLAog CQkJCSAiQ29uZmxpY3RMb2dEZXN0TmFtZXMgbGVuZ3RoIG1pc21hdGNoIik7CiAKLQogLyogU3Ry dWN0dXJlIHRvIGhvbGQgbWV0YWRhdGEgZm9yIG9uZSBjb2x1bW4gb2YgdGhlIGNvbmZsaWN0IGxv ZyB0YWJsZSAqLwogdHlwZWRlZiBzdHJ1Y3QgQ29uZmxpY3RMb2dDb2x1bW5EZWYKIHsKQEAgLTgw LDE3ICs3Nyw2IEBAIHN0YXRpYyBjb25zdCBDb25mbGljdExvZ0NvbHVtbkRlZiBDb25mbGljdExv Z1NjaGVtYVtdID0gewogCiAjZGVmaW5lIE5VTV9DT05GTElDVF9BVFRSUyBsZW5ndGhvZihDb25m bGljdExvZ1NjaGVtYSkKIAotc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IENvbmZsaWN0VHlwZU5h bWVzW10gPSB7Ci0JW0NUX0lOU0VSVF9FWElTVFNdID0gImluc2VydF9leGlzdHMiLAotCVtDVF9V UERBVEVfT1JJR0lOX0RJRkZFUlNdID0gInVwZGF0ZV9vcmlnaW5fZGlmZmVycyIsCi0JW0NUX1VQ REFURV9FWElTVFNdID0gInVwZGF0ZV9leGlzdHMiLAotCVtDVF9VUERBVEVfTUlTU0lOR10gPSAi dXBkYXRlX21pc3NpbmciLAotCVtDVF9ERUxFVEVfT1JJR0lOX0RJRkZFUlNdID0gImRlbGV0ZV9v cmlnaW5fZGlmZmVycyIsCi0JW0NUX1VQREFURV9ERUxFVEVEXSA9ICJ1cGRhdGVfZGVsZXRlZCIs Ci0JW0NUX0RFTEVURV9NSVNTSU5HXSA9ICJkZWxldGVfbWlzc2luZyIsCi0JW0NUX01VTFRJUExF X1VOSVFVRV9DT05GTElDVFNdID0gIm11bHRpcGxlX3VuaXF1ZV9jb25mbGljdHMiCi19OwotCiAv KiBTY2hlbWEgZm9yIHRoZSBlbGVtZW50cyB3aXRoaW4gdGhlICdsb2NhbF9jb25mbGljdHMnIEpT T04gYXJyYXkgKi8KIHN0YXRpYyBjb25zdCBDb25mbGljdExvZ0NvbHVtbkRlZiBMb2NhbENvbmZs aWN0U2NoZW1hW10gPQogewpAQCAtMTAxLDcgKzg3LDE4IEBAIHN0YXRpYyBjb25zdCBDb25mbGlj dExvZ0NvbHVtbkRlZiBMb2NhbENvbmZsaWN0U2NoZW1hW10gPQogCXsgLmF0dG5hbWUgPSAidHVw bGUiLCAgICAgLmF0dHR5cGlkID0gSlNPTk9JRCB9CiB9OwogCi0jZGVmaW5lIE1BWF9MT0NBTF9D T05GTElDVF9JTkZPX0FUVFJTIGxlbmd0aG9mKExvY2FsQ29uZmxpY3RTY2hlbWEpCisjZGVmaW5l IE5VTV9MT0NBTF9DT05GTElDVF9BVFRSUyBsZW5ndGhvZihMb2NhbENvbmZsaWN0U2NoZW1hKQor CitzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgQ29uZmxpY3RUeXBlTmFtZXNbXSA9IHsKKwlbQ1Rf SU5TRVJUX0VYSVNUU10gPSAiaW5zZXJ0X2V4aXN0cyIsCisJW0NUX1VQREFURV9PUklHSU5fRElG RkVSU10gPSAidXBkYXRlX29yaWdpbl9kaWZmZXJzIiwKKwlbQ1RfVVBEQVRFX0VYSVNUU10gPSAi dXBkYXRlX2V4aXN0cyIsCisJW0NUX1VQREFURV9NSVNTSU5HXSA9ICJ1cGRhdGVfbWlzc2luZyIs CisJW0NUX0RFTEVURV9PUklHSU5fRElGRkVSU10gPSAiZGVsZXRlX29yaWdpbl9kaWZmZXJzIiwK KwlbQ1RfVVBEQVRFX0RFTEVURURdID0gInVwZGF0ZV9kZWxldGVkIiwKKwlbQ1RfREVMRVRFX01J U1NJTkddID0gImRlbGV0ZV9taXNzaW5nIiwKKwlbQ1RfTVVMVElQTEVfVU5JUVVFX0NPTkZMSUNU U10gPSAibXVsdGlwbGVfdW5pcXVlX2NvbmZsaWN0cyIKK307CiAKIHN0YXRpYyBpbnQJZXJyY29k ZV9hcHBseV9jb25mbGljdChDb25mbGljdFR5cGUgdHlwZSk7CiBzdGF0aWMgdm9pZCBlcnJkZXRh aWxfYXBwbHlfY29uZmxpY3QoRVN0YXRlICplc3RhdGUsCkBAIC0zMTIsNyArMzA5LDcgQEAgUmVw b3J0QXBwbHlDb25mbGljdChFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywg aW50IGVsZXZlbCwKIAlSZWxhdGlvbgkJbG9jYWxyZWwgPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRl c2M7CiAJQ29uZmxpY3RMb2dEZXN0CWRlc3Q7CiAJUmVsYXRpb24JCWNvbmZsaWN0bG9ncmVsOwot CWJvb2wJCQlsb2dfZGVzdF9jbHQgPSBmYWxzZTsKKwlib29sCQkJbG9nX2Rlc3RfdGFibGU7CiAJ Ym9vbCAJCQlsb2dfZGVzdF9sb2dmaWxlOwogCiAJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25f Y29uZmxpY3QoTXlTdWJzY3JpcHRpb24tPm9pZCwgdHlwZSk7CkBAIC0zMjMsMTMgKzMyMCwxMSBA QCBSZXBvcnRBcHBseUNvbmZsaWN0KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxp bmZvLCBpbnQgZWxldmVsLAogCSAqLwogCWNvbmZsaWN0bG9ncmVsID0gR2V0Q29uZmxpY3RMb2dE ZXN0QW5kVGFibGUoJmRlc3QpOwogCi0JaWYgKGRlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfVEFC TEUgfHwgZGVzdCA9PSBDT05GTElDVF9MT0dfREVTVF9BTEwpCi0JCWxvZ19kZXN0X2NsdCA9IHRy dWU7Ci0JaWYgKGRlc3QgPT0gQ09ORkxJQ1RfTE9HX0RFU1RfTE9HIHx8IGRlc3QgPT0gQ09ORkxJ Q1RfTE9HX0RFU1RfQUxMKQotCQlsb2dfZGVzdF9sb2dmaWxlID0gdHJ1ZTsKKwlsb2dfZGVzdF90 YWJsZSA9IENPTkZMSUNUU19MT0dHRURfVE9fVEFCTEUoZGVzdCk7CisJbG9nX2Rlc3RfbG9nZmls ZSA9IENPTkZMSUNUU19MT0dHRURfVE9fRklMRShkZXN0KTsKIAogCS8qIEluc2VydCB0byB0YWJs ZSBpZiByZXF1ZXN0ZWQuICovCi0JaWYgKGxvZ19kZXN0X2NsdCkKKwlpZiAobG9nX2Rlc3RfdGFi bGUpCiAJewogCQlBc3NlcnQoY29uZmxpY3Rsb2dyZWwgIT0gTlVMTCk7CiAKQEAgLTM1OCw5ICsz NTMsOCBAQCBSZXBvcnRBcHBseUNvbmZsaWN0KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZv ICpyZWxpbmZvLCBpbnQgZWxldmVsLAogCQkJICovCiAJCQllcmVwb3J0KGVsZXZlbCwKIAkJCQkJ ZXJyY29kZV9hcHBseV9jb25mbGljdCh0eXBlKSwKLQkJCQkJZXJybXNnKCJjb25mbGljdCBkZXRl Y3RlZCBvbiByZWxhdGlvbiBcIiVzLiVzXCI6IGNvbmZsaWN0PSVzIiwKLQkJCQkJCWdldF9uYW1l c3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShsb2NhbHJlbCkpLAotCQkJCQkJUmVsYXRp b25HZXRSZWxhdGlvbk5hbWUobG9jYWxyZWwpLAorCQkJCQllcnJtc2coImNvbmZsaWN0IGRldGVj dGVkIG9uIHJlbGF0aW9uIFwiJXNcIjogY29uZmxpY3Q9JXMiLAorCQkJCQkJUmVsYXRpb25HZXRR dWFsaWZpZWRSZWxhdGlvbk5hbWUobG9jYWxyZWwpLAogCQkJCQkJQ29uZmxpY3RUeXBlTmFtZXNb dHlwZV0pLAogCQkJCQllcnJkZXRhaWwoIkNvbmZsaWN0IGRldGFpbHMgYXJlIGxvZ2dlZCB0byB0 aGUgY29uZmxpY3QgbG9nIHRhYmxlOiAlcyIsCiAJCQkJCQkJICBSZWxhdGlvbkdldFJlbGF0aW9u TmFtZShjb25mbGljdGxvZ3JlbCkpKTsKQEAgLTM4OSwxNCArMzgzLDU0IEBAIFJlcG9ydEFwcGx5 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 ICogUmVzdWx0UmVsSW5mby4KQEAgLTQ0Nyw3ICs0ODEsNyBAQCBHZXRDb25mbGljdExvZ0Rlc3RB bmRUYWJsZShDb25mbGljdExvZ0Rlc3QgKmxvZ19kZXN0KQogCSpsb2dfZGVzdCA9IEdldExvZ0Rl c3RpbmF0aW9uKE15U3Vic2NyaXB0aW9uLT5jb25mbGljdGxvZ2Rlc3QpOwogCiAJLyogUXVpY2sg ZXhpdCBpZiBhIGNvbmZsaWN0IGxvZyB0YWJsZSB3YXMgbm90IHJlcXVlc3RlZC4gKi8KLQlpZiAo KmxvZ19kZXN0ID09IENPTkZMSUNUX0xPR19ERVNUX0xPRykKKwlpZiAoIUNPTkZMSUNUU19MT0dH RURfVE9fVEFCTEUoKmxvZ19kZXN0KSkKIAkJcmV0dXJuIE5VTEw7CiAKIAljb25mbGljdGxvZ3Jl bGlkID0gTXlTdWJzY3JpcHRpb24tPmNvbmZsaWN0bG9ncmVsaWQ7CkBAIC00NjcsMTMgKzUwMSwx MSBAQCBHZXRDb25mbGljdExvZ0Rlc3RBbmRUYWJsZShDb25mbGljdExvZ0Rlc3QgKmxvZ19kZXN0 KQogdm9pZAogSW5zZXJ0Q29uZmxpY3RMb2dUdXBsZShSZWxhdGlvbiBjb25mbGljdGxvZ3JlbCkK IHsKLQlpbnQJCQlvcHRpb25zID0gSEVBUF9JTlNFUlRfTk9fTE9HSUNBTDsKLQogCS8qIEEgdmFs aWQgdHVwbGUgbXVzdCBiZSBwcmVwYXJlZCBhbmQgc3RvcmVkIGluIE15TG9naWNhbFJlcFdvcmtl ci4gKi8KIAlBc3NlcnQoTXlMb2dpY2FsUmVwV29ya2VyLT5jb25mbGljdF9sb2dfdHVwbGUgIT0g TlVMTCk7CiAKIAloZWFwX2luc2VydChjb25mbGljdGxvZ3JlbCwgTXlMb2dpY2FsUmVwV29ya2Vy LT5jb25mbGljdF9sb2dfdHVwbGUsCi0JCQkJR2V0Q3VycmVudENvbW1hbmRJZCh0cnVlKSwgb3B0 aW9ucywgTlVMTCk7CisJCQkJR2V0Q3VycmVudENvbW1hbmRJZCh0cnVlKSwgSEVBUF9JTlNFUlRf Tk9fTE9HSUNBTCwgTlVMTCk7CiAKIAkvKiBGcmVlIGNvbmZsaWN0IGxvZyB0dXBsZS4gKi8KIAlo ZWFwX2ZyZWV0dXBsZShNeUxvZ2ljYWxSZXBXb3JrZXItPmNvbmZsaWN0X2xvZ190dXBsZSk7CkBA IC0xMDI4LDcgKzEwNjAsNyBAQCB0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oRVN0 YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAogCiAJYnVpbGRfaW5kZXhfZGF0dW1zX2Zy b21fc2xvdChlc3RhdGUsIGxvY2FscmVsLCBzbG90LCBpbmRleERlc2MsIHZhbHVlcywKIAkJCQkJ CQkJIGlzbnVsbCk7Ci0JdHVwZGVzYyA9IFJlbGF0aW9uR2V0RGVzY3IoaW5kZXhEZXNjKTsKKwl0 dXBkZXNjID0gQ3JlYXRlVHVwbGVEZXNjQ29weShSZWxhdGlvbkdldERlc2NyKGluZGV4RGVzYykp OwogCiAJLyogQmxlc3MgdGhlIHR1cGRlc2Mgc28gaXQgY2FuIGJlIGxvb2tlZCB1cCBieSByb3df dG9fanNvbi4gKi8KIAlCbGVzc1R1cGxlRGVzYyh0dXBkZXNjKTsKQEAgLTEwMzcsOCArMTA2OSw5 IEBAIHR1cGxlX3RhYmxlX3Nsb3RfdG9faW5kZXh0dXBfanNvbihFU3RhdGUgKmVzdGF0ZSwgUmVs YXRpb24gbG9jYWxyZWwsCiAJdHVwbGUgPSBoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVz LCBpc251bGwpOwogCWRhdHVtID0gaGVhcF9jb3B5X3R1cGxlX2FzX2RhdHVtKHR1cGxlLCB0dXBk ZXNjKTsKIAotCWluZGV4X2Nsb3NlKGluZGV4RGVzYywgTm9Mb2NrKTsKIAloZWFwX2ZyZWV0dXBs ZSh0dXBsZSk7CisJRnJlZVR1cGxlRGVzYyh0dXBkZXNjKTsKKwlpbmRleF9jbG9zZShpbmRleERl c2MsIE5vTG9jayk7CiAKIAkvKiBDb252ZXJ0IHRvIGEgSlNPTiBkYXR1bS4gKi8KIAlyZXR1cm4g RGlyZWN0RnVuY3Rpb25DYWxsMShyb3dfdG9fanNvbiwgZGF0dW0pOwpAQCAtMTA0NywyNiArMTA4 MCw0MSBAQCB0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oRVN0YXRlICplc3RhdGUs 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 QEAgLTEwOTgsOCArMTE0Niw4IEBAIGJ1aWxkX2xvY2FsX2NvbmZsaWN0c19qc29uX2FycmF5KEVT dGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiByZWwsCiAJLyogUHJvY2VzcyBsb2NhbCBjb25mbGljdCB0 dXBsZSBsaXN0IGFuZCBwcmVwYXJlIGFuIGFycmF5IG9mIEpTT04uICovCiAJZm9yZWFjaF9wdHIo Q29uZmxpY3RUdXBsZUluZm8sIGNvbmZsaWN0dHVwbGUsIGNvbmZsaWN0dHVwbGVzKQogCXsKLQkJ RGF0dW0JCXZhbHVlc1tNQVhfTE9DQUxfQ09ORkxJQ1RfSU5GT19BVFRSU10gPSB7MH07Ci0JCWJv b2wJCW51bGxzW01BWF9MT0NBTF9DT05GTElDVF9JTkZPX0FUVFJTXSA9IHswfTsKKwkJRGF0dW0J CXZhbHVlc1tOVU1fTE9DQUxfQ09ORkxJQ1RfQVRUUlNdID0gezB9OworCQlib29sCQludWxsc1tO VU1fTE9DQUxfQ09ORkxJQ1RfQVRUUlNdID0gezB9OwogCQljaGFyCSAgICpvcmlnaW5fbmFtZSA9 IE5VTEw7CiAJCUhlYXBUdXBsZQl0dXBsZTsKIAkJRGF0dW0JCWpzb25fZGF0dW07CkBAIC0xMTQ5 LDcgKzExOTcsNyBAQCBidWlsZF9sb2NhbF9jb25mbGljdHNfanNvbl9hcnJheShFU3RhdGUgKmVz dGF0ZSwgUmVsYXRpb24gcmVsLAogCQllbHNlCiAJCQludWxsc1thdHRub10gPSB0cnVlOwogCi0J CUFzc2VydChhdHRubyArIDEgPT0gTUFYX0xPQ0FMX0NPTkZMSUNUX0lORk9fQVRUUlMpOworCQlB c3NlcnQoYXR0bm8gKyAxID09IE5VTV9MT0NBTF9DT05GTElDVF9BVFRSUyk7CiAKIAkJdHVwbGUg PSBoZWFwX2Zvcm1fdHVwbGUodHVwZGVzYywgdmFsdWVzLCBudWxscyk7CiAKQEAgLTEyMDgsOCAr MTI1Niw4IEBAIHByZXBhcmVfY29uZmxpY3RfbG9nX3R1cGxlKEVTdGF0ZSAqZXN0YXRlLCBSZWxh dGlvbiByZWwsCiAJCQkJCQkgICBMaXN0ICpjb25mbGljdHR1cGxlcywKIAkJCQkJCSAgIFR1cGxl VGFibGVTbG90ICpyZW1vdGVzbG90KQogewotCURhdHVtCQl2YWx1ZXNbTUFYX0NPTkZMSUNUX0FU VFJfTlVNXSA9IHswfTsKLQlib29sCQludWxsc1tNQVhfQ09ORkxJQ1RfQVRUUl9OVU1dID0gezB9 OworCURhdHVtCQl2YWx1ZXNbTlVNX0NPTkZMSUNUX0FUVFJTXSA9IHswfTsKKwlib29sCQludWxs c1tOVU1fQ09ORkxJQ1RfQVRUUlNdID0gezB9OwogCWludAkJCWF0dG5vOwogCWNoYXIJICAgKnJl bW90ZV9vcmlnaW4gPSBOVUxMOwogCU1lbW9yeUNvbnRleHQJb2xkY3R4OwpAQCAtMTI0Nyw2ICsx Mjk1LDExIEBAIHByZXBhcmVfY29uZmxpY3RfbG9nX3R1cGxlKEVTdGF0ZSAqZXN0YXRlLCBSZWxh dGlvbiByZWwsCiAJZWxzZQogCQludWxsc1thdHRubysrXSA9IHRydWU7CiAKKwlpZiAoIVR1cElz TnVsbChyZW1vdGVzbG90KSkKKwkJdmFsdWVzW2F0dG5vKytdID0gdHVwbGVfdGFibGVfc2xvdF90 b19qc29uX2RhdHVtKHJlbW90ZXNsb3QpOworCWVsc2UKKwkJbnVsbHNbYXR0bm8rK10gPSB0cnVl OworCiAJaWYgKCFUdXBJc051bGwoc2VhcmNoc2xvdCkpCiAJewogCQlPaWQJCXJlcGxpY2FfaW5k ZXggPSBHZXRSZWxhdGlvbklkZW50aXR5T3JQSyhyZWwpOwpAQCAtMTI2NiwxNiArMTMxOSwxMSBA 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 --000000000000804db50652fc1197--