<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>164466</bug_id>
          
          <creation_ts>2016-11-06 14:07:02 -0800</creation_ts>
          <short_desc>IndexedDB 2.0: Clean up more transaction abort behavior, including tweaks to Index/ObjectStore lifetime</short_desc>
          <delta_ts>2016-11-09 13:01:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160306</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jsbell</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1248640</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-06 14:07:02 -0800</bug_when>
    <thetext>IndexedDB 2.0: Clean up more transaction abort behavior, including tweaks to Index/ObjectStore lifetime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248641</commentid>
    <comment_count>1</comment_count>
      <attachid>294035</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-06 14:19:43 -0800</bug_when>
    <thetext>Created attachment 294035
patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248643</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-06 14:21:51 -0800</bug_when>
    <thetext>Attachment 294035 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSIDBTransactionCustom.cpp:31:  Found header this file implements after other header. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248787</commentid>
    <comment_count>3</comment_count>
      <attachid>294070</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-07 10:52:49 -0800</bug_when>
    <thetext>Created attachment 294070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249308</commentid>
    <comment_count>4</comment_count>
      <attachid>294236</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-09 10:23:28 -0800</bug_when>
    <thetext>Created attachment 294236
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249350</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-09 11:04:07 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 294236:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249355</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-09 11:04:43 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 294236:

transitions/default-timing-function.html bug 138901 (author: simon.fraser@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249407</commentid>
    <comment_count>7</comment_count>
      <attachid>294236</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-09 12:09:33 -0800</bug_when>
    <thetext>Comment on attachment 294236
Patch for landing

Rejecting attachment 294236 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 294236, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
231.
Hunk #9 FAILED at 17334.
Hunk #10 succeeded at 21826 (offset 13 lines).
Hunk #11 FAILED at 25089.
Hunk #12 FAILED at 26802.
Hunk #13 FAILED at 28845.
Hunk #14 succeeded at 28881 (offset 12 lines).
10 out of 14 hunks FAILED -- saving rejects to file Source/WebCore/WebCore.xcodeproj/project.pbxproj.rej
patching file Source/WebCore/bindings/js/JSIDBTransactionCustom.cpp

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/2484714</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249425</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-09 12:26:32 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/208467</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249447</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-11-09 13:01:27 -0800</bug_when>
    <thetext>The pointer -&gt; ref followup landed in https://trac.webkit.org/changeset/208471</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294035</attachid>
            <date>2016-11-06 14:19:43 -0800</date>
            <delta_ts>2016-11-07 10:52:45 -0800</delta_ts>
            <desc>patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>65600</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQyMWNlMjguLjcyZDI2OGQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTExLTA2ICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBJbmRleGVkREIgMi4w
OiBDbGVhbiB1cCBtb3JlIHRyYW5zYWN0aW9uIGFib3J0IGJlaGF2aW9yLCBpbmNsdWRpbmcgdHdl
YWtzIHRvIEluZGV4L09iamVjdFN0b3JlIGxpZmV0aW1lLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERC
L3RyYW5zYWN0aW9uLWFib3J0LWluZGV4LW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1t
dWx0aXBsZS1tZXRhZGF0YS1yZXZlcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFk
YXRhLXJldmVydC1leHBlY3RlZC50eHQ6CisKIDIwMTYtMTEtMDQgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEluZGV4ZWREQiAyLjA6IENsZWFuIHVwIG1vcmUg
dHJhbnNhY3Rpb24gYWJvcnQgYW5kIGV4Y2VwdGlvbiB0aHJvd2luZyBiZWhhdmlvciBmcm9tIElE
Qk9iamVjdFN0b3JlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtaW5kZXgtbWV0YWRhdGEt
cmV2ZXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0LWluZGV4LW1ldGFkYXRhLXJldmVy
dC1leHBlY3RlZC50eHQKaW5kZXggNmQ2ZTk0My4uMDQ2NTE2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rp
b24tYWJvcnQtaW5kZXgtbWV0YWRhdGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1hYm9ydC1pbmRleC1tZXRhZGF0YS1yZXZlcnQtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsOCBA
QAogCiBQQVNTIENyZWF0ZWQgc3RvcmVzIGdldCB0aGVpciBpbmRleGVzIG1hcmtlZCBhcyBkZWxl
dGVkIGFmdGVyIHRoZSB0cmFuc2FjdGlvbiB0aGF0IGNyZWF0ZWQgdGhlbSBhYm9ydHMgCi1GQUlM
IERlbGV0ZWQgc3RvcmVzIGdldCB0aGVpciBpbmRleGVzIG1hcmtlZCBhcyBub3QtZGVsZXRlZCBh
ZnRlciB0aGUgdHJhbnNhY3Rpb24gdGhhdCBkZWxldGVkIHRoZW0gYWJvcnRzIGFzc2VydF9hcnJh
eV9lcXVhbHM6IElEQk9iamVjdFN0b3JlLmluZGV4TmFtZXMgc2hvdWxkIGJlIGVtcHR5IGltbWVk
aWF0ZWx5IGFmdGVyIElEQkRhdGFiYXNlLmRlbGV0ZU9iamVjdFN0b3JlKCkgcmV0dXJucyBsZW5n
dGhzIGRpZmZlciwgZXhwZWN0ZWQgMCBnb3QgMgotRkFJTCBDcmVhdGVkK2RlbGV0ZWQgc3RvcmVz
IHN0aWxsIGhhdmUgdGhlaXIgaW5kZXhlcyBtYXJrZWQgYXMgZGVsZXRlZCBhZnRlciB0aGUgdHJh
bnNhY3Rpb24gYWJvcnRzIGFzc2VydF9hcnJheV9lcXVhbHM6IElEQk9iamVjdFN0b3JlLmluZGV4
TmFtZXMgc2hvdWxkIGJlIGVtcHR5IGltbWVkaWF0ZWx5IGFmdGVyIElEQkRhdGFiYXNlLmRlbGV0
ZU9iamVjdFN0b3JlKCkgcmV0dXJucyBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMCBnb3QgMgor
UEFTUyBEZWxldGVkIHN0b3JlcyBnZXQgdGhlaXIgaW5kZXhlcyBtYXJrZWQgYXMgbm90LWRlbGV0
ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIHRoYXQgZGVsZXRlZCB0aGVtIGFib3J0cyAKK1BBU1Mg
Q3JlYXRlZCtkZWxldGVkIHN0b3JlcyBzdGlsbCBoYXZlIHRoZWlyIGluZGV4ZXMgbWFya2VkIGFz
IGRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGFib3J0cyAKIFBBU1MgQ3JlYXRlZCBpbmRl
eGVzIGdldCBtYXJrZWQgYXMgZGVsZXRlZCBhZnRlciB0aGVpciB0cmFuc2FjdGlvbiBhYm9ydHMg
Ci1GQUlMIERlbGV0ZWQgaW5kZXhlcyBnZXQgbWFya2VkIGFzIG5vdC1kZWxldGVkIGFmdGVyIHRo
ZSB0cmFuc2FjdGlvbiBhYm9ydHMgYXNzZXJ0X3Rocm93czogSURCSW5kZXguZ2V0IHNob3VsZCB0
aHJvdyBUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsIGluZGljYXRpbmcgdGhhdCB0aGUgaW5kZXgg
aXMgbm8gbG9uZ2VyIG1hcmtlZCBmb3IgZGVsZXRpb24sIGltbWVkaWF0ZWx5IGFmdGVyIElEQlRy
YW5zYWN0aW9uLmFib3J0KCkgcmV0dXJucyBmdW5jdGlvbiAiKCkgPT4gaW5kZXguZ2V0KCdxdWVy
eScpIiB0aHJldyBvYmplY3QgIkludmFsaWRTdGF0ZUVycm9yIChET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDExKTogRmFpbGVkIC4uLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gVHJhbnNh
Y3Rpb25JbmFjdGl2ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTEsIGV4cGVj
dGVkIDAKK1BBU1MgRGVsZXRlZCBpbmRleGVzIGdldCBtYXJrZWQgYXMgbm90LWRlbGV0ZWQgYWZ0
ZXIgdGhlIHRyYW5zYWN0aW9uIGFib3J0cyAKIFBBU1MgQ3JlYXRlZCtkZWxldGVkIGluZGV4ZXMg
YXJlIHN0aWxsIG1hcmtlZCBhcyBkZWxldGVkIGFmdGVyIHRoZWlyIHRyYW5zYWN0aW9uIGFib3J0
cyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtbXVsdGlwbGUtbWV0YWRhdGEtcmV2ZXJ0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0LW11bHRpcGxlLW1ldGFkYXRhLXJldmVydC1l
eHBlY3RlZC50eHQKaW5kZXggN2IwOWNhNC4uMGRiZWE4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24t
YWJvcnQtbXVsdGlwbGUtbWV0YWRhdGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1hYm9ydC1tdWx0aXBsZS1tZXRhZGF0YS1yZXZlcnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEs
NSBAQAogCiBQQVNTIERlbGV0ZWQgaW5kZXhlcyBpbiBuZXdseSBjcmVhdGVkIHN0b3JlcyBhcmUg
c3RpbGwgbWFya2VkIGFzIGRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGFib3J0cyAKLUZB
SUwgRGVsZXRlZCBpbmRleGVzIGluIGRlbGV0ZWQgc3RvcmVzIGFyZSBzdGlsbCBtYXJrZWQgYXMg
bm90LWRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGFib3J0cyBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBJREJPYmplY3RTdG9yZS5pbmRleE5hbWVzIGZvciB0aGUgZGVsZXRlZCBzdG9yZSBzaG91
bGQgYmUgZW1wdHkgaW1tZWRpYXRlbHkgYWZ0ZXIgSURCRGF0YWJhc2UuZGVsZXRlT2JqZWN0U3Rv
cmUoKSByZXR1cm5zIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAwIGdvdCAxCi1GQUlMIERlbGV0
ZWQgaW5kZXhlcyBpbiBjcmVhdGVkK2RlbGV0ZWQgc3RvcmVzIGFyZSBzdGlsbCBtYXJrZWQgYXMg
ZGVsZXRlZCBhZnRlciB0aGVpciB0cmFuc2FjdGlvbiBhYm9ydHMgYXNzZXJ0X2FycmF5X2VxdWFs
czogSURCT2JqZWN0U3RvcmUuaW5kZXhOYW1lcyBzaG91bGQgYmUgZW1wdHkgaW1tZWRpYXRlbHkg
YWZ0ZXIgSURCRGF0YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoKSByZXR1cm5zIGxlbmd0aHMgZGlm
ZmVyLCBleHBlY3RlZCAwIGdvdCAxCitQQVNTIERlbGV0ZWQgaW5kZXhlcyBpbiBkZWxldGVkIHN0
b3JlcyBhcmUgc3RpbGwgbWFya2VkIGFzIG5vdC1kZWxldGVkIGFmdGVyIHRoZSB0cmFuc2FjdGlv
biBhYm9ydHMgCitQQVNTIERlbGV0ZWQgaW5kZXhlcyBpbiBjcmVhdGVkK2RlbGV0ZWQgc3RvcmVz
IGFyZSBzdGlsbCBtYXJrZWQgYXMgZGVsZXRlZCBhZnRlciB0aGVpciB0cmFuc2FjdGlvbiBhYm9y
dHMgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0LW9iamVjdC1zdG9yZS1tZXRhZGF0YS1y
ZXZlcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRh
LXJldmVydC1leHBlY3RlZC50eHQKaW5kZXggM2EzMTZiZi4uZjY4Y2UzYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJh
bnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvdHJhbnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRhLXJldmVydC1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIFBBU1MgQ3JlYXRlZCBzdG9yZXMgZ2V0IG1hcmtlZCBh
cyBkZWxldGVkIGFmdGVyIHRoZWlyIHRyYW5zYWN0aW9uIGFib3J0cyAKLUZBSUwgRGVsZXRlZCBz
dG9yZXMgZ2V0IG1hcmtlZCBhcyBub3QtZGVsZXRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gYWJv
cnRzIGFzc2VydF90aHJvd3M6IElEQk9iamVjdFN0b3JlLmdldCBzaG91bGQgdGhyb3cgVHJhbnNh
Y3Rpb25JbmFjdGl2ZUVycm9yLCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0b3JlIGlzIG5vIGxvbmdl
ciBtYXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciBJREJUcmFuc2FjdGlvbi5h
Ym9ydCgpIHJldHVybnMgZnVuY3Rpb24gIigpID0+IHN0b3JlLmdldCgncXVlcnknKSIgdGhyZXcg
b2JqZWN0ICJJbnZhbGlkU3RhdGVFcnJvciAoRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiAxMSk6
IEZhaWxlZCAuLi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIFRyYW5zYWN0aW9uSW5hY3Rp
dmVFcnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDExLCBleHBlY3RlZCAwCitQQVNT
IERlbGV0ZWQgc3RvcmVzIGdldCBtYXJrZWQgYXMgbm90LWRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5z
YWN0aW9uIGFib3J0cyAKIFBBU1MgQ3JlYXRlZCtkZWxldGVkIHN0b3JlcyBhcmUgc3RpbGwgbWFy
a2VkIGFzIGRlbGV0ZWQgYWZ0ZXIgdGhlaXIgdHJhbnNhY3Rpb24gYWJvcnRzIAogUEFTUyBVbi1p
bnN0YW50aWF0ZWQgZGVsZXRlZCBzdG9yZXMgZ2V0IG1hcmtlZCBhcyBub3QtZGVsZXRlZCBhZnRl
ciB0aGUgdHJhbnNhY3Rpb24gYWJvcnRzIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTIzN2Y5YS4uMGQ1ODI1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDE2LTExLTA2ICBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBJbmRleGVkREIgMi4wOiBDbGVhbiB1cCBt
b3JlIHRyYW5zYWN0aW9uIGFib3J0IGJlaGF2aW9yLCBpbmNsdWRpbmcgdHdlYWtzIHRvIEluZGV4
L09iamVjdFN0b3JlIGxpZmV0aW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY0NDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzIHRo
YXQgbm93IHBhc3MpLgorICAgICAgICAKKyAgICAgICAgUHJldmlvdXNseSwgSURCSW5kZXggcmVm
L2RlcmVmIGRpZG4ndCB0cmFjayBhIHRyYWRpdGlvbmFsIHJlZiBjb3VudCBidXQgaW5zdGVhZCBr
ZXB0IHRoZSBvd25pbmcgb2JqZWN0IHN0b3JlIGFsaXZlLgorICAgICAgICBOb3csIElEQk9iamVj
dFN0b3JlIHJlZi9kZXJlZiBkbyB0aGUgc2FtZSB0aGluZyBmb3IgdGhlIG93bmluZyB0cmFuc2Fj
dGlvbi4KKyAgICAgICAgCisgICAgICAgIE5vdyB3aGVuIGEgdmVyc2lvbiBjaGFuZ2UgdHJhbnNh
Y3Rpb24gaXMgcm9sbGVkIGJhY2ssIHNvbWUgb2JqZWN0IHN0b3JlcyBhbmQgaW5kZXhlcyBnZXQg
cHVsbGVkIG91dCBvZiB0aGUgImRlbGV0ZWQiCisgICAgICAgIHNldCBhbmQgZ2V0IHByb21vdGVk
IGJhY2sgdXAgaW50byB0aGUgInJlZmVyZW5jZWQiIHNldC4KKyAgICAgICAgCisgICAgICAgIE5v
dyBkZWxldGVkIG9iamVjdCBzdG9yZXMvaW5kZXhlcyBhcmUgY29uc2lkZXJlZCBvcGFxdWUgcm9v
dHMsIGFzIGxpdmUgb2JqZWN0cyBpbiB0aGUgZGVsZXRlZCBzdGF0ZSAqY2FuKiBnZXQgYmFjawor
ICAgICAgICB0byB0aGUgb3duaW5nIG9iamVjdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9JREJJbmRleC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleDo6cm9sbGJhY2tJ
bmZvRm9yVmVyc2lvbkNoYW5nZUFib3J0KToKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0
U3RvcmU6OklEQk9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3Jl
Ojp+SURCT2JqZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6Omhh
c1BlbmRpbmdBY3Rpdml0eSk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6bmFt
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6c2V0TmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6a2V5UGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJPYmplY3RTdG9yZTo6aW5kZXhOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RT
dG9yZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmF1
dG9JbmNyZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6Om9wZW5DdXJz
b3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6Om9wZW5LZXlDdXJzb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmdldCk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZTo6cHV0T3JBZGQpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0
U3RvcmU6OmRvRGVsZXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpjbGVh
cik6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6Y3JlYXRlSW5kZXgpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6
OklEQk9iamVjdFN0b3JlOjpkZWxldGVJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmpl
Y3RTdG9yZTo6ZG9Db3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6Z2V0
QWxsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpnZXRBbGxLZXlzKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjptYXJrQXNEZWxldGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpyb2xsYmFja0ZvclZlcnNpb25DaGFuZ2VBYm9ydCk6
CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6dmlzaXRSZWZlcmVuY2VkSW5kZXhl
cyk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6cmVmKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQk9iamVjdFN0b3JlOjpkZXJlZik6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmpl
Y3RTdG9yZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9J
REJPYmplY3RTdG9yZS5oOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9iamVjdFN0b3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjp0cmFuc2l0aW9uZWRUb0Zpbmlz
aGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6aW50ZXJuYWxBYm9ydCk6
CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y3JlYXRlT2JqZWN0U3RvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmRlbGV0ZU9iamVjdFN0b3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjp2aXNpdFJlZmVyZW5jZWRPYmplY3RTdG9y
ZXMpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmg6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsOgorCisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgICogYmluZGluZ3Mv
anMvSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
SlNJREJUcmFuc2FjdGlvbjo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4pOgorCiAyMDE2LTExLTA0
ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgV1RGOjpQYXJraW5n
TG90IHNob3VsZCBzdG9wIHVzaW5nIHN0ZDo6Y2hyb25vIGJlY2F1c2Ugc3RkOjpjaHJvbm86OmR1
cmF0aW9uIGNhc3RzIGFyZSBwcm9uZSB0byBvdmVyZmxvd3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcAppbmRleCAzYTQ1NzhlLi41YTRlOGM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwCkBAIC0xNDYs
NiArMTQ2LDcgQEAgdm9pZCBJREJJbmRleDo6cm9sbGJhY2tJbmZvRm9yVmVyc2lvbkNoYW5nZUFi
b3J0KCkKICAgICB9CiAKICAgICBtX2luZm8gPSBtX29yaWdpbmFsSW5mbzsKKyAgICBtX2RlbGV0
ZWQgPSBmYWxzZTsKIH0KIAogRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJJbmRleDo6
b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURCS2V5UmFuZ2UqIHJhbmdlLCBjb25z
dCBTdHJpbmcmIGRpcmVjdGlvblN0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcAppbmRleCAyZjdmYjhmLi44MjAzNmJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9y
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuY3BwCkBAIC01MywyNSArNTMsMjAgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1SZWY8SURCT2JqZWN0U3RvcmU+IElEQk9iamVjdFN0b3JlOjpjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgSURCT2JqZWN0U3RvcmVJ
bmZvJiBpbmZvLCBJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCi17Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgSURCT2JqZWN0U3RvcmUoY29udGV4dCwgaW5mbywgdHJhbnNhY3Rpb24pKTsK
LX0KLQogSURCT2JqZWN0U3RvcmU6OklEQk9iamVjdFN0b3JlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IElEQk9iamVjdFN0b3JlSW5mbyYgaW5mbywgSURCVHJhbnNhY3Rp
b24mIHRyYW5zYWN0aW9uKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwg
bV9pbmZvKGluZm8pCiAgICAgLCBtX29yaWdpbmFsSW5mbyhpbmZvKQogICAgICwgbV90cmFuc2Fj
dGlvbih0cmFuc2FjdGlvbikKIHsKLSAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fdHJh
bnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CisgICAgQVNTRVJUKGN1cnJl
bnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7
CiAKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KIAogSURCT2JqZWN0U3RvcmU6On5JREJPYmpl
Y3RTdG9yZSgpCiB7Ci0gICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9u
LT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOworICAgIEFTU0VSVChjdXJyZW50VGhyZWFk
KCkgPT0gbV90cmFuc2FjdGlvbi5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOwogfQogCiBj
b25zdCBjaGFyKiBJREJPYmplY3RTdG9yZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CkBA
IC04NiwzNSArODEsMzUgQEAgYm9vbCBJREJPYmplY3RTdG9yZTo6Y2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIGNvbnN0CiAKIGJvb2wgSURCT2JqZWN0U3RvcmU6Omhhc1BlbmRpbmdB
Y3Rpdml0eSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFtX3RyYW5zYWN0aW9uLT5pc0ZpbmlzaGVk
KCk7CisgICAgcmV0dXJuICFtX3RyYW5zYWN0aW9uLmlzRmluaXNoZWQoKTsKIH0KIAogY29uc3Qg
U3RyaW5nJiBJREJPYmplY3RTdG9yZTo6bmFtZSgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKGN1cnJl
bnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkp
OworICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi5kYXRhYmFzZSgp
Lm9yaWdpblRocmVhZElEKCkpOwogICAgIHJldHVybiBtX2luZm8ubmFtZSgpOwogfQogCiBFeGNl
cHRpb25Pcjx2b2lkPiBJREJPYmplY3RTdG9yZTo6c2V0TmFtZShjb25zdCBTdHJpbmcmIG5hbWUp
CiB7Ci0gICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFz
ZSgpLm9yaWdpblRocmVhZElEKCkpOworICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90
cmFuc2FjdGlvbi5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgaWYgKG1fZGVs
ZXRlZCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElOVkFMSURfU1RBVEVfRVJSLCBBU0NJ
SUxpdGVyYWwoIkZhaWxlZCBzZXQgcHJvcGVydHkgJ25hbWUnIG9uICdJREJPYmplY3RTdG9yZSc6
IFRoZSBvYmplY3Qgc3RvcmUgaGFzIGJlZW4gZGVsZXRlZC4iKSB9OwogCi0gICAgaWYgKCFtX3Ry
YW5zYWN0aW9uLT5pc1ZlcnNpb25DaGFuZ2UoKSkKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb24uaXNW
ZXJzaW9uQ2hhbmdlKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJTlZBTElEX1NUQVRF
X0VSUiwgQVNDSUlMaXRlcmFsKCJGYWlsZWQgc2V0IHByb3BlcnR5ICduYW1lJyBvbiAnSURCT2Jq
ZWN0U3RvcmUnOiBUaGUgb2JqZWN0IHN0b3JlJ3MgdHJhbnNhY3Rpb24gaXMgbm90IGEgdmVyc2lv
biBjaGFuZ2UgdHJhbnNhY3Rpb24uIikgfTsKIAotICAgIGlmICghbV90cmFuc2FjdGlvbi0+aXNB
Y3RpdmUoKSkKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb24uaXNBY3RpdmUoKSkKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUcmFuc2FjdGlvbkluYWN0aXZl
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHNldCBwcm9wZXJ0eSAnbmFtZScgb24gJ0lEQk9i
amVjdFN0b3JlJzogVGhlIG9iamVjdCBzdG9yZSdzIHRyYW5zYWN0aW9uIGlzIG5vdCBhY3RpdmUu
IikgfTsKIAogICAgIGlmIChtX2luZm8ubmFtZSgpID09IG5hbWUpCiAgICAgICAgIHJldHVybiB7
IH07CiAKLSAgICBpZiAobV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5pbmZvKCkuaGFzT2JqZWN0
U3RvcmUobmFtZSkpCisgICAgaWYgKG1fdHJhbnNhY3Rpb24uZGF0YWJhc2UoKS5pbmZvKCkuaGFz
T2JqZWN0U3RvcmUobmFtZSkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6Q29uc3RyYWludEVycm9yLCBtYWtlU3RyaW5nKCJGYWlsZWQgc2V0IHByb3Bl
cnR5ICduYW1lJyBvbiAnSURCT2JqZWN0U3RvcmUnOiBUaGUgZGF0YWJhc2UgYWxyZWFkeSBoYXMg
YW4gb2JqZWN0IHN0b3JlIG5hbWVkICciLCBuYW1lLCAiJy4iKSB9OwogCi0gICAgbV90cmFuc2Fj
dGlvbi0+ZGF0YWJhc2UoKS5yZW5hbWVPYmplY3RTdG9yZSgqdGhpcywgbmFtZSk7CisgICAgbV90
cmFuc2FjdGlvbi5kYXRhYmFzZSgpLnJlbmFtZU9iamVjdFN0b3JlKCp0aGlzLCBuYW1lKTsKICAg
ICBtX2luZm8ucmVuYW1lKG5hbWUpOwogCiAgICAgcmV0dXJuIHsgfTsKQEAgLTEyMiw1MSArMTE3
LDU0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IElEQk9iamVjdFN0b3JlOjpzZXROYW1lKGNvbnN0IFN0
cmluZyYgbmFtZSkKIAogY29uc3QgT3B0aW9uYWw8SURCS2V5UGF0aD4mIElEQk9iamVjdFN0b3Jl
OjprZXlQYXRoKCkgY29uc3QKIHsKLSAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fdHJh
bnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CisgICAgQVNTRVJUKGN1cnJl
bnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7
CiAgICAgcmV0dXJuIG1faW5mby5rZXlQYXRoKCk7CiB9CiAKIFJlZlB0cjxET01TdHJpbmdMaXN0
PiBJREJPYmplY3RTdG9yZTo6aW5kZXhOYW1lcygpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKGN1cnJl
bnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkp
OworICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi5kYXRhYmFzZSgp
Lm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgUmVmUHRyPERPTVN0cmluZ0xpc3Q+IGluZGV4TmFt
ZXMgPSBET01TdHJpbmdMaXN0OjpjcmVhdGUoKTsKLSAgICBmb3IgKGF1dG8mIG5hbWUgOiBtX2lu
Zm8uaW5kZXhOYW1lcygpKQotICAgICAgICBpbmRleE5hbWVzLT5hcHBlbmQobmFtZSk7Ci0gICAg
aW5kZXhOYW1lcy0+c29ydCgpOworCisgICAgaWYgKCFtX2RlbGV0ZWQpIHsKKyAgICAgICAgZm9y
IChhdXRvJiBuYW1lIDogbV9pbmZvLmluZGV4TmFtZXMoKSkKKyAgICAgICAgICAgIGluZGV4TmFt
ZXMtPmFwcGVuZChuYW1lKTsKKyAgICAgICAgaW5kZXhOYW1lcy0+c29ydCgpOworICAgIH0KIAog
ICAgIHJldHVybiBpbmRleE5hbWVzOwogfQogCiBJREJUcmFuc2FjdGlvbiYgSURCT2JqZWN0U3Rv
cmU6OnRyYW5zYWN0aW9uKCkKIHsKLSAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fdHJh
bnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7Ci0gICAgcmV0dXJuIG1fdHJh
bnNhY3Rpb24uZ2V0KCk7CisgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0
aW9uLmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CisgICAgcmV0dXJuIG1fdHJhbnNhY3Rp
b247CiB9CiAKIGJvb2wgSURCT2JqZWN0U3RvcmU6OmF1dG9JbmNyZW1lbnQoKSBjb25zdAogewot
ICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5v
cmlnaW5UaHJlYWRJRCgpKTsKKyAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fdHJhbnNh
Y3Rpb24uZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJRCgpKTsKICAgICByZXR1cm4gbV9pbmZvLmF1
dG9JbmNyZW1lbnQoKTsKIH0KIAogRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmpl
Y3RTdG9yZTo6b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgUmVmUHRyPElEQktleVJh
bmdlPiByYW5nZSwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb25TdHJpbmcpCiB7CiAgICAgTE9HKElu
ZGV4ZWREQiwgIklEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yIik7Ci0gICAgQVNTRVJUKGN1cnJl
bnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkp
OworICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi5kYXRhYmFzZSgp
Lm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgaWYgKG1fZGVsZXRlZCkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJvciwgQVND
SUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnb3BlbkN1cnNvcicgb24gJ0lEQk9iamVjdFN0
b3JlJzogVGhlIG9iamVjdCBzdG9yZSBoYXMgYmVlbiBkZWxldGVkLiIpIH07CiAKLSAgICBpZiAo
IW1fdHJhbnNhY3Rpb24tPmlzQWN0aXZlKCkpCisgICAgaWYgKCFtX3RyYW5zYWN0aW9uLmlzQWN0
aXZlKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6
VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yLCBBU0NJSUxpdGVyYWwoIkZhaWxlZCB0byBleGVjdXRl
ICdvcGVuQ3Vyc29yJyBvbiAnSURCT2JqZWN0U3RvcmUnOiBUaGUgdHJhbnNhY3Rpb24gaXMgaW5h
Y3RpdmUgb3IgZmluaXNoZWQuIikgfTsKIAogICAgIGF1dG8gZGlyZWN0aW9uID0gSURCQ3Vyc29y
OjpzdHJpbmdUb0RpcmVjdGlvbihkaXJlY3Rpb25TdHJpbmcpOwogICAgIGlmICghZGlyZWN0aW9u
KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CiAKLSAgICBhdXRvIGlu
Zm8gPSBJREJDdXJzb3JJbmZvOjpvYmplY3RTdG9yZUN1cnNvcihtX3RyYW5zYWN0aW9uLmdldCgp
LCBtX2luZm8uaWRlbnRpZmllcigpLCByYW5nZS5nZXQoKSwgZGlyZWN0aW9uLnZhbHVlKCksIElu
ZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5QW5kVmFsdWUpOwotICAgIHJldHVybiBtX3RyYW5zYWN0
aW9uLT5yZXF1ZXN0T3BlbkN1cnNvcihleGVjU3RhdGUsICp0aGlzLCBpbmZvKTsKKyAgICBhdXRv
IGluZm8gPSBJREJDdXJzb3JJbmZvOjpvYmplY3RTdG9yZUN1cnNvcihtX3RyYW5zYWN0aW9uLCBt
X2luZm8uaWRlbnRpZmllcigpLCByYW5nZS5nZXQoKSwgZGlyZWN0aW9uLnZhbHVlKCksIEluZGV4
ZWREQjo6Q3Vyc29yVHlwZTo6S2V5QW5kVmFsdWUpOworICAgIHJldHVybiBtX3RyYW5zYWN0aW9u
LnJlcXVlc3RPcGVuQ3Vyc29yKGV4ZWNTdGF0ZSwgKnRoaXMsIGluZm8pOwogfQogCiBFeGNlcHRp
b25PcjxSZWY8SURCUmVxdWVzdD4+IElEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yKEV4ZWNTdGF0
ZSYgZXhlY1N0YXRlLCBKU1ZhbHVlIGtleSwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24pCkBAIC0x
ODEsMjAgKzE3OSwyMCBAQCBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IElEQk9iamVjdFN0
b3JlOjpvcGVuQ3Vyc29yKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBKUwogRXhjZXB0aW9uT3I8UmVm
PElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6b3BlbktleUN1cnNvcihFeGVjU3RhdGUmIGV4
ZWNTdGF0ZSwgUmVmUHRyPElEQktleVJhbmdlPiByYW5nZSwgY29uc3QgU3RyaW5nJiBkaXJlY3Rp
b25TdHJpbmcpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQk9iamVjdFN0b3JlOjpvcGVuQ3Vy
c29yIik7Ci0gICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRh
YmFzZSgpLm9yaWdpblRocmVhZElEKCkpOworICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0g
bV90cmFuc2FjdGlvbi5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgaWYgKG1f
ZGVsZXRlZCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpJbnZhbGlkU3RhdGVFcnJvciwgQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnb3Bl
bktleUN1cnNvcicgb24gJ0lEQk9iamVjdFN0b3JlJzogVGhlIG9iamVjdCBzdG9yZSBoYXMgYmVl
biBkZWxldGVkLiIpIH07CiAKLSAgICBpZiAoIW1fdHJhbnNhY3Rpb24tPmlzQWN0aXZlKCkpCisg
ICAgaWYgKCFtX3RyYW5zYWN0aW9uLmlzQWN0aXZlKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yLCBBU0NJ
SUxpdGVyYWwoIkZhaWxlZCB0byBleGVjdXRlICdvcGVuS2V5Q3Vyc29yJyBvbiAnSURCT2JqZWN0
U3RvcmUnOiBUaGUgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgb3IgZmluaXNoZWQuIikgfTsKIAog
ICAgIGF1dG8gZGlyZWN0aW9uID0gSURCQ3Vyc29yOjpzdHJpbmdUb0RpcmVjdGlvbihkaXJlY3Rp
b25TdHJpbmcpOwogICAgIGlmICghZGlyZWN0aW9uKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgVHlwZUVycm9yIH07CiAKLSAgICBhdXRvIGluZm8gPSBJREJDdXJzb3JJbmZvOjpvYmplY3RT
dG9yZUN1cnNvcihtX3RyYW5zYWN0aW9uLmdldCgpLCBtX2luZm8uaWRlbnRpZmllcigpLCByYW5n
ZS5nZXQoKSwgZGlyZWN0aW9uLnZhbHVlKCksIEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5T25s
eSk7Ci0gICAgcmV0dXJuIG1fdHJhbnNhY3Rpb24tPnJlcXVlc3RPcGVuQ3Vyc29yKGV4ZWNTdGF0
ZSwgKnRoaXMsIGluZm8pOworICAgIGF1dG8gaW5mbyA9IElEQkN1cnNvckluZm86Om9iamVjdFN0
b3JlQ3Vyc29yKG1fdHJhbnNhY3Rpb24sIG1faW5mby5pZGVudGlmaWVyKCksIHJhbmdlLmdldCgp
LCBkaXJlY3Rpb24udmFsdWUoKSwgSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpLZXlPbmx5KTsKKyAg
ICByZXR1cm4gbV90cmFuc2FjdGlvbi5yZXF1ZXN0T3BlbkN1cnNvcihleGVjU3RhdGUsICp0aGlz
LCBpbmZvKTsKIH0KIAogRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9y
ZTo6b3BlbktleUN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSlNWYWx1ZSBrZXksIGNvbnN0
IFN0cmluZyYgZGlyZWN0aW9uKQpAQCAtMjA5LDM3ICsyMDcsMzcgQEAgRXhjZXB0aW9uT3I8UmVm
PElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6b3BlbktleUN1cnNvcihFeGVjU3RhdGUmIGV4
ZWNTdGF0ZSwKIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6Omdl
dChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSlNWYWx1ZSBrZXkpCiB7CiAgICAgTE9HKEluZGV4ZWRE
QiwgIklEQk9iamVjdFN0b3JlOjpnZXQiKTsKLSAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09
IG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CisgICAgQVNTRVJU
KGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLmRhdGFiYXNlKCkub3JpZ2luVGhyZWFk
SUQoKSk7CiAKICAgICBpZiAobV9kZWxldGVkKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
SURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yLCBBU0NJSUxpdGVyYWwoIkZh
aWxlZCB0byBleGVjdXRlICdnZXQnIG9uICdJREJPYmplY3RTdG9yZSc6IFRoZSBvYmplY3Qgc3Rv
cmUgaGFzIGJlZW4gZGVsZXRlZC4iKSB9OwogCi0gICAgaWYgKCFtX3RyYW5zYWN0aW9uLT5pc0Fj
dGl2ZSgpKQorICAgIGlmICghbV90cmFuc2FjdGlvbi5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVF
cnJvciwgQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnZ2V0JyBvbiAnSURCT2JqZWN0
U3RvcmUnOiBUaGUgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgb3IgZmluaXNoZWQuIikgfTsKIAog
ICAgIGF1dG8gaWRiS2V5ID0gc2NyaXB0VmFsdWVUb0lEQktleShleGVjU3RhdGUsIGtleSk7CiAg
ICAgaWYgKCFpZGJLZXktPmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4
ZWN1dGUgJ2dldCcgb24gJ0lEQk9iamVjdFN0b3JlJzogVGhlIHBhcmFtZXRlciBpcyBub3QgYSB2
YWxpZCBrZXkuIikgfTsKIAotICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLT5yZXF1ZXN0R2V0UmVj
b3JkKGV4ZWNTdGF0ZSwgKnRoaXMsIHsgaWRiS2V5LnB0cigpIH0pOworICAgIHJldHVybiBtX3Ry
YW5zYWN0aW9uLnJlcXVlc3RHZXRSZWNvcmQoZXhlY1N0YXRlLCAqdGhpcywgeyBpZGJLZXkucHRy
KCkgfSk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6
OmdldChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSURCS2V5UmFuZ2UqIGtleVJhbmdlKQogewogICAg
IExPRyhJbmRleGVkREIsICJJREJPYmplY3RTdG9yZTo6Z2V0Iik7Ci0gICAgQVNTRVJUKGN1cnJl
bnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkp
OworICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi5kYXRhYmFzZSgp
Lm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgaWYgKG1fZGVsZXRlZCkKICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJvciwgQVND
SUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnZ2V0JyBvbiAnSURCT2JqZWN0U3RvcmUnOiBU
aGUgb2JqZWN0IHN0b3JlIGhhcyBiZWVuIGRlbGV0ZWQuIikgfTsKIAotICAgIGlmICghbV90cmFu
c2FjdGlvbi0+aXNBY3RpdmUoKSkKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb24uaXNBY3RpdmUoKSkK
ICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUcmFuc2Fj
dGlvbkluYWN0aXZlRXJyb3IgfTsKIAogICAgIElEQktleVJhbmdlRGF0YSBrZXlSYW5nZURhdGEo
a2V5UmFuZ2UpOwogICAgIGlmICgha2V5UmFuZ2VEYXRhLmlzVmFsaWQoKSkKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEYXRhRXJyb3IgfTsKIAotICAg
IHJldHVybiBtX3RyYW5zYWN0aW9uLT5yZXF1ZXN0R2V0UmVjb3JkKGV4ZWNTdGF0ZSwgKnRoaXMs
IHsga2V5UmFuZ2VEYXRhIH0pOworICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLnJlcXVlc3RHZXRS
ZWNvcmQoZXhlY1N0YXRlLCAqdGhpcywgeyBrZXlSYW5nZURhdGEgfSk7CiB9CiAKIEV4Y2VwdGlv
bk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6OmFkZChFeGVjU3RhdGUmIGV4ZWNT
dGF0ZSwgSlNWYWx1ZSB2YWx1ZSwgSlNWYWx1ZSBrZXkpCkBAIC0yNjksNyArMjY3LDcgQEAgRXhj
ZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6cHV0T3JBZGQoRXhlY1N0
YXRlJiBzdGF0ZSwgSlNWYWx1ZQogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BF
KHZtKTsKIAogICAgIExPRyhJbmRleGVkREIsICJJREJPYmplY3RTdG9yZTo6cHV0T3JBZGQiKTsK
LSAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCku
b3JpZ2luVGhyZWFkSUQoKSk7CisgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5z
YWN0aW9uLmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICBhdXRvIGNvbnRleHQg
PSBzY3JpcHRFeGVjdXRpb25Db250ZXh0RnJvbUV4ZWNTdGF0ZSgmc3RhdGUpOwogICAgIGlmICgh
Y29udGV4dCkKQEAgLTI3OCwxMCArMjc2LDEwIEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0
Pj4gSURCT2JqZWN0U3RvcmU6OnB1dE9yQWRkKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUKICAg
ICBpZiAobV9kZWxldGVkKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VF
eGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yLCBBU0NJSUxpdGVyYWwoIkZhaWxlZCB0byBzdG9y
ZSByZWNvcmQgaW4gYW4gSURCT2JqZWN0U3RvcmU6IFRoZSBvYmplY3Qgc3RvcmUgaGFzIGJlZW4g
ZGVsZXRlZC4iKSB9OwogCi0gICAgaWYgKCFtX3RyYW5zYWN0aW9uLT5pc0FjdGl2ZSgpKQorICAg
IGlmICghbV90cmFuc2FjdGlvbi5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciwgQVNDSUlM
aXRlcmFsKCJGYWlsZWQgdG8gc3RvcmUgcmVjb3JkIGluIGFuIElEQk9iamVjdFN0b3JlOiBUaGUg
dHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgb3IgZmluaXNoZWQuIikgfTsKIAotICAgIGlmIChtX3Ry
YW5zYWN0aW9uLT5pc1JlYWRPbmx5KCkpCisgICAgaWYgKG1fdHJhbnNhY3Rpb24uaXNSZWFkT25s
eSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlJl
YWRPbmx5RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIHN0b3JlIHJlY29yZCBpbiBhbiBJ
REJPYmplY3RTdG9yZTogVGhlIHRyYW5zYWN0aW9uIGlzIHJlYWQtb25seS4iKSB9OwogCiAgICAg
YXV0byBzZXJpYWxpemVkVmFsdWUgPSBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShzdGF0
ZSwgdmFsdWUpOwpAQCAtMzMwLDcgKzMyOCw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0
Pj4gSURCT2JqZWN0U3RvcmU6OnB1dE9yQWRkKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVmFsdWUKICAg
ICB9IGVsc2UgaWYgKCF1c2VzS2V5R2VuZXJhdG9yICYmICFrZXkpCiAgICAgICAgIHJldHVybiBF
eGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6RGF0YUVycm9yLCBBU0NJSUxpdGVyYWwo
IkZhaWxlZCB0byBzdG9yZSByZWNvcmQgaW4gYW4gSURCT2JqZWN0U3RvcmU6IFRoZSBvYmplY3Qg
c3RvcmUgdXNlcyBvdXQtb2YtbGluZSBrZXlzIGFuZCBoYXMgbm8ga2V5IGdlbmVyYXRvciBhbmQg
dGhlIGtleSBwYXJhbWV0ZXIgd2FzIG5vdCBwcm92aWRlZC4iKSB9OwogCi0gICAgcmV0dXJuIG1f
dHJhbnNhY3Rpb24tPnJlcXVlc3RQdXRPckFkZChzdGF0ZSwgKnRoaXMsIGtleS5nZXQoKSwgKnNl
cmlhbGl6ZWRWYWx1ZSwgb3ZlcndyaXRlTW9kZSk7CisgICAgcmV0dXJuIG1fdHJhbnNhY3Rpb24u
cmVxdWVzdFB1dE9yQWRkKHN0YXRlLCAqdGhpcywga2V5LmdldCgpLCAqc2VyaWFsaXplZFZhbHVl
LCBvdmVyd3JpdGVNb2RlKTsKIH0KIAogRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJP
YmplY3RTdG9yZTo6ZGVsZXRlRnVuY3Rpb24oRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQktleVJh
bmdlKiBrZXlSYW5nZSkKQEAgLTM0MSw3ICszMzksNyBAQCBFeGNlcHRpb25PcjxSZWY8SURCUmVx
dWVzdD4+IElEQk9iamVjdFN0b3JlOjpkZWxldGVGdW5jdGlvbihFeGVjU3RhdGUmIGV4ZWNTdGF0
ZQogRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6ZG9EZWxldGUo
RXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQktleVJhbmdlKiBrZXlSYW5nZSkKIHsKICAgICBMT0co
SW5kZXhlZERCLCAiSURCT2JqZWN0U3RvcmU6OmRlbGV0ZUZ1bmN0aW9uIik7Ci0gICAgQVNTRVJU
KGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVh
ZElEKCkpOworICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi5kYXRh
YmFzZSgpLm9yaWdpblRocmVhZElEKCkpOwogCiAgICAgLy8gVGhlIElEQiBzcGVjIGZvciBzZXZl
cmFsIElEQk9iamVjdFN0b3JlIG1ldGhvZHMgc3RhdGVzIHRoYXQgdHJhbnNhY3Rpb24gcmVsYXRl
ZCBleGNlcHRpb25zIHNob3VsZCBmaXJlIGJlZm9yZQogICAgIC8vIHRoZSBleGNlcHRpb24gZm9y
IGFuIG9iamVjdCBzdG9yZSBiZWluZyBkZWxldGVkLgpAQCAtMzUxLDE3ICszNDksMTcgQEAgRXhj
ZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6ZG9EZWxldGUoRXhlY1N0
YXRlJiBleGVjU3RhdGUsIElEQksKICAgICBpZiAobV9kZWxldGVkKQogICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yLCBBU0NJ
SUxpdGVyYWwoIkZhaWxlZCB0byBleGVjdXRlICdkZWxldGUnIG9uICdJREJPYmplY3RTdG9yZSc6
IFRoZSBvYmplY3Qgc3RvcmUgaGFzIGJlZW4gZGVsZXRlZC4iKSB9OwogCi0gICAgaWYgKCFtX3Ry
YW5zYWN0aW9uLT5pc0FjdGl2ZSgpKQorICAgIGlmICghbV90cmFuc2FjdGlvbi5pc0FjdGl2ZSgp
KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlRyYW5z
YWN0aW9uSW5hY3RpdmVFcnJvciwgQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnZGVs
ZXRlJyBvbiAnSURCT2JqZWN0U3RvcmUnOiBUaGUgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgb3Ig
ZmluaXNoZWQuIikgfTsKIAotICAgIGlmIChtX3RyYW5zYWN0aW9uLT5pc1JlYWRPbmx5KCkpCisg
ICAgaWYgKG1fdHJhbnNhY3Rpb24uaXNSZWFkT25seSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlJlYWRPbmx5RXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
RmFpbGVkIHRvIGV4ZWN1dGUgJ2RlbGV0ZScgb24gJ0lEQk9iamVjdFN0b3JlJzogVGhlIHRyYW5z
YWN0aW9uIGlzIHJlYWQtb25seS4iKSB9OwogCiAgICAgSURCS2V5UmFuZ2VEYXRhIGtleVJhbmdl
RGF0YShrZXlSYW5nZSk7CiAgICAgaWYgKCFrZXlSYW5nZURhdGEuaXNWYWxpZCgpKQogICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvciwgQVND
SUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnZGVsZXRlJyBvbiAnSURCT2JqZWN0U3RvcmUn
OiBUaGUgcGFyYW1ldGVyIGlzIG5vdCBhIHZhbGlkIGtleSByYW5nZS4iKSB9OwogCi0gICAgcmV0
dXJuIG1fdHJhbnNhY3Rpb24tPnJlcXVlc3REZWxldGVSZWNvcmQoZXhlY1N0YXRlLCAqdGhpcywg
a2V5UmFuZ2VEYXRhKTsKKyAgICByZXR1cm4gbV90cmFuc2FjdGlvbi5yZXF1ZXN0RGVsZXRlUmVj
b3JkKGV4ZWNTdGF0ZSwgKnRoaXMsIGtleVJhbmdlRGF0YSk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJl
ZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6OmRlbGV0ZUZ1bmN0aW9uKEV4ZWNTdGF0ZSYg
ZXhlY1N0YXRlLCBKU1ZhbHVlIGtleSkKQEAgLTM3NSw3ICszNzMsNyBAQCBFeGNlcHRpb25PcjxS
ZWY8SURCUmVxdWVzdD4+IElEQk9iamVjdFN0b3JlOjpkZWxldGVGdW5jdGlvbihFeGVjU3RhdGUm
IGV4ZWNTdGF0ZQogRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6
Y2xlYXIoRXhlY1N0YXRlJiBleGVjU3RhdGUpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQk9i
amVjdFN0b3JlOjpjbGVhciIpOwotICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFu
c2FjdGlvbi0+ZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJRCgpKTsKKyAgICBBU1NFUlQoY3VycmVu
dFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24uZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJRCgpKTsK
IAogICAgIC8vIFRoZSBJREIgc3BlYyBmb3Igc2V2ZXJhbCBJREJPYmplY3RTdG9yZSBtZXRob2Rz
IHN0YXRlcyB0aGF0IHRyYW5zYWN0aW9uIHJlbGF0ZWQgZXhjZXB0aW9ucyBzaG91bGQgZmlyZSBi
ZWZvcmUKICAgICAvLyB0aGUgZXhjZXB0aW9uIGZvciBhbiBvYmplY3Qgc3RvcmUgYmVpbmcgZGVs
ZXRlZC4KQEAgLTM4NSwyNyArMzgzLDI3IEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4g
SURCT2JqZWN0U3RvcmU6OmNsZWFyKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlKQogICAgIGlmIChtX2Rl
bGV0ZWQpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6
SW52YWxpZFN0YXRlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ2NsZWFy
JyBvbiAnSURCT2JqZWN0U3RvcmUnOiBUaGUgb2JqZWN0IHN0b3JlIGhhcyBiZWVuIGRlbGV0ZWQu
IikgfTsKIAotICAgIGlmICghbV90cmFuc2FjdGlvbi0+aXNBY3RpdmUoKSkKKyAgICBpZiAoIW1f
dHJhbnNhY3Rpb24uaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRh
dGFiYXNlRXhjZXB0aW9uOjpUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgi
RmFpbGVkIHRvIGV4ZWN1dGUgJ2NsZWFyJyBvbiAnSURCT2JqZWN0U3RvcmUnOiBUaGUgdHJhbnNh
Y3Rpb24gaXMgaW5hY3RpdmUgb3IgZmluaXNoZWQuIikgfTsKIAotICAgIGlmIChtX3RyYW5zYWN0
aW9uLT5pc1JlYWRPbmx5KCkpCisgICAgaWYgKG1fdHJhbnNhY3Rpb24uaXNSZWFkT25seSgpKQog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlJlYWRPbmx5
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ2NsZWFyJyBvbiAnSURCT2Jq
ZWN0U3RvcmUnOiBUaGUgdHJhbnNhY3Rpb24gaXMgcmVhZC1vbmx5LiIpIH07CiAKLSAgICByZXR1
cm4gbV90cmFuc2FjdGlvbi0+cmVxdWVzdENsZWFyT2JqZWN0U3RvcmUoZXhlY1N0YXRlLCAqdGhp
cyk7CisgICAgcmV0dXJuIG1fdHJhbnNhY3Rpb24ucmVxdWVzdENsZWFyT2JqZWN0U3RvcmUoZXhl
Y1N0YXRlLCAqdGhpcyk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZjxJREJJbmRleD4+IElEQk9iamVj
dFN0b3JlOjpjcmVhdGVJbmRleChFeGVjU3RhdGUmLCBjb25zdCBTdHJpbmcmIG5hbWUsIElEQktl
eVBhdGgmJiBrZXlQYXRoLCBjb25zdCBJbmRleFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CiAg
ICAgTE9HKEluZGV4ZWREQiwgIklEQk9iamVjdFN0b3JlOjpjcmVhdGVJbmRleCAlcyIsIG5hbWUu
dXRmOCgpLmRhdGEoKSk7Ci0gICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0
aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOworICAgIEFTU0VSVChjdXJyZW50VGhy
ZWFkKCkgPT0gbV90cmFuc2FjdGlvbi5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOwogCiAg
ICAgaWYgKG1fZGVsZXRlZCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJvciwgQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhl
Y3V0ZSAnY3JlYXRlSW5kZXgnIG9uICdJREJPYmplY3RTdG9yZSc6IFRoZSBvYmplY3Qgc3RvcmUg
aGFzIGJlZW4gZGVsZXRlZC4iKSB9OwogCi0gICAgaWYgKCFtX3RyYW5zYWN0aW9uLT5pc1ZlcnNp
b25DaGFuZ2UoKSkKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb24uaXNWZXJzaW9uQ2hhbmdlKCkpCiAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0
YXRlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ2NyZWF0ZUluZGV4JyBv
biAnSURCT2JqZWN0U3RvcmUnOiBUaGUgZGF0YWJhc2UgaXMgbm90IHJ1bm5pbmcgYSB2ZXJzaW9u
IGNoYW5nZSB0cmFuc2FjdGlvbi4iKSB9OwogCi0gICAgaWYgKCFtX3RyYW5zYWN0aW9uLT5pc0Fj
dGl2ZSgpKQorICAgIGlmICghbV90cmFuc2FjdGlvbi5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVF
cnJvciB9OwogCiAgICAgaWYgKCFpc0lEQktleVBhdGhWYWxpZChrZXlQYXRoKSkKQEAgLTQyMiwx
MCArNDIwLDEwIEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJJbmRleD4+IElEQk9iamVjdFN0b3JlOjpj
cmVhdGVJbmRleChFeGVjU3RhdGUmLCBjb25zdCBTdHJpbmcmCiAKICAgICAvLyBJbnN0YWxsIHRo
ZSBuZXcgSW5kZXggaW50byB0aGUgT2JqZWN0U3RvcmUncyBpbmZvLgogICAgIElEQkluZGV4SW5m
byBpbmZvID0gbV9pbmZvLmNyZWF0ZU5ld0luZGV4KG5hbWUsIFdURk1vdmUoa2V5UGF0aCksIHBh
cmFtZXRlcnMudW5pcXVlLCBwYXJhbWV0ZXJzLm11bHRpRW50cnkpOwotICAgIG1fdHJhbnNhY3Rp
b24tPmRhdGFiYXNlKCkuZGlkQ3JlYXRlSW5kZXhJbmZvKGluZm8pOworICAgIG1fdHJhbnNhY3Rp
b24uZGF0YWJhc2UoKS5kaWRDcmVhdGVJbmRleEluZm8oaW5mbyk7CiAKICAgICAvLyBDcmVhdGUg
dGhlIGFjdHVhbCBJREJPYmplY3RTdG9yZSBmcm9tIHRoZSB0cmFuc2FjdGlvbiwgd2hpY2ggYWxz
byBzY2hlZHVsZXMgdGhlIG9wZXJhdGlvbiBzZXJ2ZXIgc2lkZS4KLSAgICBhdXRvIGluZGV4ID0g
bV90cmFuc2FjdGlvbi0+Y3JlYXRlSW5kZXgoKnRoaXMsIGluZm8pOworICAgIGF1dG8gaW5kZXgg
PSBtX3RyYW5zYWN0aW9uLmNyZWF0ZUluZGV4KCp0aGlzLCBpbmZvKTsKIAogICAgIFJlZjxJREJJ
bmRleD4gcmVmZXJlbmNlZEluZGV4IHsgKmluZGV4IH07CiAKQEAgLTQzOCw3ICs0MzYsNyBAQCBF
eGNlcHRpb25PcjxSZWY8SURCSW5kZXg+PiBJREJPYmplY3RTdG9yZTo6Y3JlYXRlSW5kZXgoRXhl
Y1N0YXRlJiwgY29uc3QgU3RyaW5nJgogRXhjZXB0aW9uT3I8UmVmPElEQkluZGV4Pj4gSURCT2Jq
ZWN0U3RvcmU6OmluZGV4KGNvbnN0IFN0cmluZyYgaW5kZXhOYW1lKQogewogICAgIExPRyhJbmRl
eGVkREIsICJJREJPYmplY3RTdG9yZTo6aW5kZXgiKTsKLSAgICBBU1NFUlQoY3VycmVudFRocmVh
ZCgpID09IG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CisgICAg
QVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLmRhdGFiYXNlKCkub3JpZ2lu
VGhyZWFkSUQoKSk7CiAKICAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVF
cnJvciB9OyAvLyBGSVhNRTogSXMgdGhpcyBjb2RlIHRlc3RlZD8gSXMgaXRldmVuIHJlYWNoYWJs
ZT8KQEAgLTQ0Niw3ICs0NDQsNyBAQCBFeGNlcHRpb25PcjxSZWY8SURCSW5kZXg+PiBJREJPYmpl
Y3RTdG9yZTo6aW5kZXgoY29uc3QgU3RyaW5nJiBpbmRleE5hbWUpCiAgICAgaWYgKG1fZGVsZXRl
ZCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZh
bGlkU3RhdGVFcnJvciwgQVNDSUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnaW5kZXgnIG9u
ICdJREJPYmplY3RTdG9yZSc6IFRoZSBvYmplY3Qgc3RvcmUgaGFzIGJlZW4gZGVsZXRlZC4iKSB9
OwogCi0gICAgaWYgKG1fdHJhbnNhY3Rpb24tPmlzRmluaXNoZWRPckZpbmlzaGluZygpKQorICAg
IGlmIChtX3RyYW5zYWN0aW9uLmlzRmluaXNoZWRPckZpbmlzaGluZygpKQogICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yLCBB
U0NJSUxpdGVyYWwoIkZhaWxlZCB0byBleGVjdXRlICdpbmRleCcgb24gJ0lEQk9iamVjdFN0b3Jl
JzogVGhlIHRyYW5zYWN0aW9uIGlzIGZpbmlzaGVkLiIpIH07CiAKICAgICBMb2NrZXI8TG9jaz4g
bG9ja2VyKG1fcmVmZXJlbmNlZEluZGV4TG9jayk7CkBAIC00NzAsMTUgKzQ2OCwxNSBAQCBFeGNl
cHRpb25PcjxSZWY8SURCSW5kZXg+PiBJREJPYmplY3RTdG9yZTo6aW5kZXgoY29uc3QgU3RyaW5n
JiBpbmRleE5hbWUpCiBFeGNlcHRpb25Pcjx2b2lkPiBJREJPYmplY3RTdG9yZTo6ZGVsZXRlSW5k
ZXgoY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIExPRyhJbmRleGVkREIsICJJREJPYmplY3RT
dG9yZTo6ZGVsZXRlSW5kZXggJXMiLCBuYW1lLnV0ZjgoKS5kYXRhKCkpOwotICAgIEFTU0VSVChj
dXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJ
RCgpKTsKKyAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24uZGF0YWJh
c2UoKS5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIGlmIChtX2RlbGV0ZWQpCiAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0YXRlRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ2RlbGV0ZUluZGV4JyBvbiAnSURCT2Jq
ZWN0U3RvcmUnOiBUaGUgb2JqZWN0IHN0b3JlIGhhcyBiZWVuIGRlbGV0ZWQuIikgfTsKIAotICAg
IGlmICghbV90cmFuc2FjdGlvbi0+aXNWZXJzaW9uQ2hhbmdlKCkpCisgICAgaWYgKCFtX3RyYW5z
YWN0aW9uLmlzVmVyc2lvbkNoYW5nZSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSURC
RGF0YWJhc2VFeGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yLCBBU0NJSUxpdGVyYWwoIkZhaWxl
ZCB0byBleGVjdXRlICdkZWxldGVJbmRleCcgb24gJ0lEQk9iamVjdFN0b3JlJzogVGhlIGRhdGFi
YXNlIGlzIG5vdCBydW5uaW5nIGEgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24uIikgfTsKIAot
ICAgIGlmICghbV90cmFuc2FjdGlvbi0+aXNBY3RpdmUoKSkKKyAgICBpZiAoIW1fdHJhbnNhY3Rp
b24uaXNBY3RpdmUoKSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3IsICBBU0NJSUxpdGVyYWwoIkZhaWxlZCB0
byBleGVjdXRlICdkZWxldGVJbmRleCcgb24gJ0lEQk9iamVjdFN0b3JlJzogVGhlIHRyYW5zYWN0
aW9uIGlzIGluYWN0aXZlIG9yIGZpbmlzaGVkLiIpIH07CiAKICAgICBpZiAoIW1faW5mby5oYXNJ
bmRleChuYW1lKSkKQEAgLTQ4Niw3ICs0ODQsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJREJPYmpl
Y3RTdG9yZTo6ZGVsZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lKQogCiAgICAgYXV0byogaW5m
byA9IG1faW5mby5pbmZvRm9yRXhpc3RpbmdJbmRleChuYW1lKTsKICAgICBBU1NFUlQoaW5mbyk7
Ci0gICAgbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5kaWREZWxldGVJbmRleEluZm8oKmluZm8p
OworICAgIG1fdHJhbnNhY3Rpb24uZGF0YWJhc2UoKS5kaWREZWxldGVJbmRleEluZm8oKmluZm8p
OwogCiAgICAgbV9pbmZvLmRlbGV0ZUluZGV4KG5hbWUpOwogCkBAIC00OTQsMTIgKzQ5MiwxMSBA
QCBFeGNlcHRpb25Pcjx2b2lkPiBJREJPYmplY3RTdG9yZTo6ZGVsZXRlSW5kZXgoY29uc3QgU3Ry
aW5nJiBuYW1lKQogICAgICAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKG1fcmVmZXJlbmNlZEluZGV4
TG9jayk7CiAgICAgICAgIGlmIChhdXRvIGluZGV4ID0gbV9yZWZlcmVuY2VkSW5kZXhlcy50YWtl
KG5hbWUpKSB7CiAgICAgICAgICAgICBpbmRleC0+bWFya0FzRGVsZXRlZCgpOwotICAgICAgICAg
ICAgbV9kZWxldGVkSW5kZXhlcy5hZGQoV1RGTW92ZShpbmRleCkpOworICAgICAgICAgICAgbV9k
ZWxldGVkSW5kZXhlcy5hZGQoaW5kZXgtPmluZm8oKS5pZGVudGlmaWVyKCksIFdURk1vdmUoaW5k
ZXgpKTsKICAgICAgICAgfQotCiAgICAgfQogCi0gICAgbV90cmFuc2FjdGlvbi0+ZGVsZXRlSW5k
ZXgobV9pbmZvLmlkZW50aWZpZXIoKSwgbmFtZSk7CisgICAgbV90cmFuc2FjdGlvbi5kZWxldGVJ
bmRleChtX2luZm8uaWRlbnRpZmllcigpLCBuYW1lKTsKIAogICAgIHJldHVybiB7IH07CiB9CkBA
IC01MjQsNyArNTIxLDcgQEAgRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RT
dG9yZTo6Y291bnQoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQktleVIKIAogRXhjZXB0aW9uT3I8
UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6ZG9Db3VudChFeGVjU3RhdGUmIGV4ZWNT
dGF0ZSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiByYW5nZSkKIHsKLSAgICBBU1NFUlQoY3VycmVu
dFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7
CisgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLmRhdGFiYXNlKCku
b3JpZ2luVGhyZWFkSUQoKSk7CiAKICAgICAvLyBUaGUgSURCIHNwZWMgZm9yIHNldmVyYWwgSURC
T2JqZWN0U3RvcmUgbWV0aG9kcyBzdGF0ZXMgdGhhdCB0cmFuc2FjdGlvbiByZWxhdGVkIGV4Y2Vw
dGlvbnMgc2hvdWxkIGZpcmUgYmVmb3JlCiAgICAgLy8gdGhlIGV4Y2VwdGlvbiBmb3IgYW4gb2Jq
ZWN0IHN0b3JlIGJlaW5nIGRlbGV0ZWQuCkBAIC01MzQsMjcgKzUzMSwyNyBAQCBFeGNlcHRpb25P
cjxSZWY8SURCUmVxdWVzdD4+IElEQk9iamVjdFN0b3JlOjpkb0NvdW50KEV4ZWNTdGF0ZSYgZXhl
Y1N0YXRlLCBjb25zdAogICAgIGlmIChtX2RlbGV0ZWQpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0YXRlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvdW50JyBvbiAnSURCT2JqZWN0U3RvcmUnOiBUaGUgb2Jq
ZWN0IHN0b3JlIGhhcyBiZWVuIGRlbGV0ZWQuIikgfTsKIAotICAgIGlmICghbV90cmFuc2FjdGlv
bi0+aXNBY3RpdmUoKSkKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb24uaXNBY3RpdmUoKSkKICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUcmFuc2FjdGlvbklu
YWN0aXZlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ2NvdW50JyBvbiAn
SURCT2JqZWN0U3RvcmUnOiBUaGUgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgb3IgZmluaXNoZWQu
IikgfTsKIAogICAgIGlmICghcmFuZ2UuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OkRhdGFFcnJvciB9OwogCi0gICAgcmV0dXJuIG1f
dHJhbnNhY3Rpb24tPnJlcXVlc3RDb3VudChleGVjU3RhdGUsICp0aGlzLCByYW5nZSk7CisgICAg
cmV0dXJuIG1fdHJhbnNhY3Rpb24ucmVxdWVzdENvdW50KGV4ZWNTdGF0ZSwgKnRoaXMsIHJhbmdl
KTsKIH0KIAogRXhjZXB0aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6Z2V0
QWxsKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCBPcHRp
b25hbDx1aW50MzJfdD4gY291bnQpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwgIklEQk9iamVjdFN0
b3JlOjpnZXRBbGwiKTsKLSAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rp
b24tPmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CisgICAgQVNTRVJUKGN1cnJlbnRUaHJl
YWQoKSA9PSBtX3RyYW5zYWN0aW9uLmRhdGFiYXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CiAKICAg
ICBpZiAobV9kZWxldGVkKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VF
eGNlcHRpb246OkludmFsaWRTdGF0ZUVycm9yLCBBU0NJSUxpdGVyYWwoIkZhaWxlZCB0byBleGVj
dXRlICdnZXRBbGwnIG9uICdJREJPYmplY3RTdG9yZSc6IFRoZSBvYmplY3Qgc3RvcmUgaGFzIGJl
ZW4gZGVsZXRlZC4iKSB9OwogCi0gICAgaWYgKCFtX3RyYW5zYWN0aW9uLT5pc0FjdGl2ZSgpKQor
ICAgIGlmICghbV90cmFuc2FjdGlvbi5pc0FjdGl2ZSgpKQogICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciwgQVND
SUlMaXRlcmFsKCJGYWlsZWQgdG8gZXhlY3V0ZSAnZ2V0QWxsJyBvbiAnSURCT2JqZWN0U3RvcmUn
OiBUaGUgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgb3IgZmluaXNoZWQuIikgfTsKIAotICAgIHJl
dHVybiBtX3RyYW5zYWN0aW9uLT5yZXF1ZXN0R2V0QWxsT2JqZWN0U3RvcmVSZWNvcmRzKGV4ZWNT
dGF0ZSwgKnRoaXMsIHJhbmdlLmdldCgpLCBJbmRleGVkREI6OkdldEFsbFR5cGU6OlZhbHVlcywg
Y291bnQpOworICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLnJlcXVlc3RHZXRBbGxPYmplY3RTdG9y
ZVJlY29yZHMoZXhlY1N0YXRlLCAqdGhpcywgcmFuZ2UuZ2V0KCksIEluZGV4ZWREQjo6R2V0QWxs
VHlwZTo6VmFsdWVzLCBjb3VudCk7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4g
SURCT2JqZWN0U3RvcmU6OmdldEFsbChFeGVjU3RhdGUmIGV4ZWNTdGF0ZSwgSlNWYWx1ZSBrZXks
IE9wdGlvbmFsPHVpbnQzMl90PiBjb3VudCkKQEAgLTU2OSwxNSArNTY2LDE1IEBAIEV4Y2VwdGlv
bk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6OmdldEFsbChFeGVjU3RhdGUmIGV4
ZWNTdGF0ZSwgSlNWYWx1CiBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IElEQk9iamVjdFN0
b3JlOjpnZXRBbGxLZXlzKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLCBSZWZQdHI8SURCS2V5UmFuZ2U+
IHJhbmdlLCBPcHRpb25hbDx1aW50MzJfdD4gY291bnQpCiB7CiAgICAgTE9HKEluZGV4ZWREQiwg
IklEQk9iamVjdFN0b3JlOjpnZXRBbGxLZXlzIik7Ci0gICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQo
KSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOworICAgIEFT
U0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi5kYXRhYmFzZSgpLm9yaWdpblRo
cmVhZElEKCkpOwogCiAgICAgaWYgKG1fZGVsZXRlZCkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJbnZhbGlkU3RhdGVFcnJvciwgQVNDSUlMaXRlcmFs
KCJGYWlsZWQgdG8gZXhlY3V0ZSAnZ2V0QWxsS2V5cycgb24gJ0lEQk9iamVjdFN0b3JlJzogVGhl
IG9iamVjdCBzdG9yZSBoYXMgYmVlbiBkZWxldGVkLiIpIH07CiAKLSAgICBpZiAoIW1fdHJhbnNh
Y3Rpb24tPmlzQWN0aXZlKCkpCisgICAgaWYgKCFtX3RyYW5zYWN0aW9uLmlzQWN0aXZlKCkpCiAg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VHJhbnNhY3Rp
b25JbmFjdGl2ZUVycm9yLCBBU0NJSUxpdGVyYWwoIkZhaWxlZCB0byBleGVjdXRlICdnZXRBbGxL
ZXlzJyBvbiAnSURCT2JqZWN0U3RvcmUnOiBUaGUgdHJhbnNhY3Rpb24gaXMgaW5hY3RpdmUgb3Ig
ZmluaXNoZWQuIikgfTsKIAotICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLT5yZXF1ZXN0R2V0QWxs
T2JqZWN0U3RvcmVSZWNvcmRzKGV4ZWNTdGF0ZSwgKnRoaXMsIHJhbmdlLmdldCgpLCBJbmRleGVk
REI6OkdldEFsbFR5cGU6OktleXMsIGNvdW50KTsKKyAgICByZXR1cm4gbV90cmFuc2FjdGlvbi5y
ZXF1ZXN0R2V0QWxsT2JqZWN0U3RvcmVSZWNvcmRzKGV4ZWNTdGF0ZSwgKnRoaXMsIHJhbmdlLmdl
dCgpLCBJbmRleGVkREI6OkdldEFsbFR5cGU6OktleXMsIGNvdW50KTsKIH0KIAogRXhjZXB0aW9u
T3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6Z2V0QWxsS2V5cyhFeGVjU3RhdGUm
IGV4ZWNTdGF0ZSwgSlNWYWx1ZSBrZXksIE9wdGlvbmFsPHVpbnQzMl90PiBjb3VudCkKQEAgLTU5
MSwxMyArNTg4LDEzIEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3Rv
cmU6OmdldEFsbEtleXMoRXhlY1N0YXRlJiBleGVjU3RhdGUsIEpTCiAKIHZvaWQgSURCT2JqZWN0
U3RvcmU6Om1hcmtBc0RlbGV0ZWQoKQogewotICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0g
bV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJRCgpKTsKKyAgICBBU1NFUlQo
Y3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24uZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJ
RCgpKTsKICAgICBtX2RlbGV0ZWQgPSB0cnVlOwogfQogCiB2b2lkIElEQk9iamVjdFN0b3JlOjpy
b2xsYmFja0ZvclZlcnNpb25DaGFuZ2VBYm9ydCgpCiB7Ci0gICAgQVNTRVJUKGN1cnJlbnRUaHJl
YWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLm9yaWdpblRocmVhZElEKCkpOworICAg
IEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi5kYXRhYmFzZSgpLm9yaWdp
blRocmVhZElEKCkpOwogCiAgICAgU3RyaW5nIGN1cnJlbnROYW1lID0gbV9pbmZvLm5hbWUoKTsK
ICAgICBtX2luZm8gPSBtX29yaWdpbmFsSW5mbzsKQEAgLTYwOCw2ICs2MDUsOCBAQCB2b2lkIElE
Qk9iamVjdFN0b3JlOjpyb2xsYmFja0ZvclZlcnNpb25DaGFuZ2VBYm9ydCgpCiAgICAgICAgIG1f
aW5mby5yZW5hbWUoY3VycmVudE5hbWUpOwogICAgICAgICBtX2RlbGV0ZWQgPSB0cnVlOwogICAg
IH0gZWxzZSB7CisgICAgICAgIG1fZGVsZXRlZCA9IGZhbHNlOworICAgICAgICAKICAgICAgICAg
SGFzaFNldDx1aW50NjRfdD4gaW5kZXhlc1RvUmVtb3ZlOwogICAgICAgICBmb3IgKGF1dG8gaW5k
ZXhJZGVudGlmaWVyIDogb2JqZWN0U3RvcmVJbmZvLT5pbmRleE1hcCgpLmtleXMoKSkgewogICAg
ICAgICAgICAgaWYgKCFvYmplY3RTdG9yZUluZm8tPmhhc0luZGV4KGluZGV4SWRlbnRpZmllcikp
CkBAIC02MTksNiArNjE4LDEzIEBAIHZvaWQgSURCT2JqZWN0U3RvcmU6OnJvbGxiYWNrRm9yVmVy
c2lvbkNoYW5nZUFib3J0KCkKICAgICB9CiAKICAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKG1fcmVm
ZXJlbmNlZEluZGV4TG9jayk7CisgICAgZm9yIChhdXRvJiBpdGVyYXRvciA6IG1fZGVsZXRlZElu
ZGV4ZXMpIHsKKyAgICAgICAgaWYgKG1faW5mby5oYXNJbmRleChpdGVyYXRvci5rZXkpKSB7Cisg
ICAgICAgICAgICBhdXRvIG5hbWUgPSBpdGVyYXRvci52YWx1ZS0+aW5mbygpLm5hbWUoKTsKKyAg
ICAgICAgICAgIG1fcmVmZXJlbmNlZEluZGV4ZXMuc2V0KG5hbWUsIFdURk1vdmUoaXRlcmF0b3Iu
dmFsdWUpKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIGZvciAoYXV0byYgaW5kZXggOiBtX3Jl
ZmVyZW5jZWRJbmRleGVzLnZhbHVlcygpKQogICAgICAgICBpbmRleC0+cm9sbGJhY2tJbmZvRm9y
VmVyc2lvbkNoYW5nZUFib3J0KCk7CiB9CkBAIC02MjgsNiArNjM0LDggQEAgdm9pZCBJREJPYmpl
Y3RTdG9yZTo6dmlzaXRSZWZlcmVuY2VkSW5kZXhlcyhTbG90VmlzaXRvciYgdmlzaXRvcikgY29u
c3QKICAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKG1fcmVmZXJlbmNlZEluZGV4TG9jayk7CiAgICAg
Zm9yIChhdXRvJiBpbmRleCA6IG1fcmVmZXJlbmNlZEluZGV4ZXMudmFsdWVzKCkpCiAgICAgICAg
IHZpc2l0b3IuYWRkT3BhcXVlUm9vdChpbmRleC5nZXQoKSk7CisgICAgZm9yIChhdXRvJiBpbmRl
eCA6IG1fZGVsZXRlZEluZGV4ZXMudmFsdWVzKCkpCisgICAgICAgIHZpc2l0b3IuYWRkT3BhcXVl
Um9vdChpbmRleC5nZXQoKSk7CiB9CiAKIHZvaWQgSURCT2JqZWN0U3RvcmU6OnJlbmFtZVJlZmVy
ZW5jZWRJbmRleChJREJJbmRleCYgaW5kZXgsIGNvbnN0IFN0cmluZyYgbmV3TmFtZSkKQEAgLTY0
NSw2ICs2NTMsMTYgQEAgdm9pZCBJREJPYmplY3RTdG9yZTo6cmVuYW1lUmVmZXJlbmNlZEluZGV4
KElEQkluZGV4JiBpbmRleCwgY29uc3QgU3RyaW5nJiBuZXdOYW0KICAgICBtX3JlZmVyZW5jZWRJ
bmRleGVzLnNldChuZXdOYW1lLCBtX3JlZmVyZW5jZWRJbmRleGVzLnRha2UoaW5kZXguaW5mbygp
Lm5hbWUoKSkpOwogfQogCit2b2lkIElEQk9iamVjdFN0b3JlOjpyZWYoKQoreworICAgIG1fdHJh
bnNhY3Rpb24ucmVmKCk7Cit9CisKK3ZvaWQgSURCT2JqZWN0U3RvcmU6OmRlcmVmKCkKK3sKKyAg
ICBtX3RyYW5zYWN0aW9uLmRlcmVmKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKaW5kZXggN2IxNGQwZi4uNjQwNjkz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0
U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RT
dG9yZS5oCkBAIC01NCwxMCArNTQsOSBAQCBuYW1lc3BhY2UgSW5kZXhlZERCIHsKIGVudW0gY2xh
c3MgT2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlOwogfQogCi1jbGFzcyBJREJPYmplY3RTdG9yZSBm
aW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPElEQk9iamVjdFN0b3JlPiwgcHVibGljIEFjdGl2ZURP
TU9iamVjdCB7CitjbGFzcyBJREJPYmplY3RTdG9yZSBmaW5hbCA6IHB1YmxpYyBBY3RpdmVET01P
YmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8SURCT2JqZWN0U3RvcmU+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJiwgSURCVHJh
bnNhY3Rpb24mKTsKLQorICAgIElEQk9iamVjdFN0b3JlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mLCBJREJUcmFuc2FjdGlvbiYpOwogICAgIH5JREJP
YmplY3RTdG9yZSgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3Q7CkBAIC0xMDIs
MTIgKzEwMSwxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJvbGxiYWNrRm9yVmVyc2lvbkNoYW5n
ZUFib3J0KCk7CiAKKyAgICB2b2lkIHJlZigpOworICAgIHZvaWQgZGVyZWYoKTsKKwogICAgIHZv
aWQgdmlzaXRSZWZlcmVuY2VkSW5kZXhlcyhKU0M6OlNsb3RWaXNpdG9yJikgY29uc3Q7CiAgICAg
dm9pZCByZW5hbWVSZWZlcmVuY2VkSW5kZXgoSURCSW5kZXgmLCBjb25zdCBTdHJpbmcmIG5ld05h
bWUpOwogCiBwcml2YXRlOgotICAgIElEQk9iamVjdFN0b3JlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mLCBJREJUcmFuc2FjdGlvbiYpOwotCiAgICAg
ZW51bSBjbGFzcyBJbmxpbmVLZXlDaGVjayB7IFBlcmZvcm0sIERvTm90UGVyZm9ybSB9OwogICAg
IEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gcHV0T3JBZGQoSlNDOjpFeGVjU3RhdGUmLCBK
U0M6OkpTVmFsdWUsIFJlZlB0cjxJREJLZXk+LCBJbmRleGVkREI6Ok9iamVjdFN0b3JlT3Zlcndy
aXRlTW9kZSwgSW5saW5lS2V5Q2hlY2spOwogICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0
Pj4gZG9Db3VudChKU0M6OkV4ZWNTdGF0ZSYsIGNvbnN0IElEQktleVJhbmdlRGF0YSYpOwpAQCAt
MTE5LDEzICsxMTksMTYgQEAgcHJpdmF0ZToKIAogICAgIElEQk9iamVjdFN0b3JlSW5mbyBtX2lu
Zm87CiAgICAgSURCT2JqZWN0U3RvcmVJbmZvIG1fb3JpZ2luYWxJbmZvOwotICAgIFJlZjxJREJU
cmFuc2FjdGlvbj4gbV90cmFuc2FjdGlvbjsKKworICAgIC8vIElEQk9iamVjdFN0b3JlIG9iamVj
dHMgYXJlIGFsd2F5cyBvd25lZCBieSB0aGVpciByZWZlcmVuY2luZyBJREJUcmFuc2FjdGlvbi4K
KyAgICAvLyBPYmplY3RTdG9yZXMgd2lsbCBuZXZlciBvdXRsaXZlIHRyYW5zYWN0aW9ucyBzbyBp
dHMgb2theSB0byBrZWVwIGEgcmF3IEMrKyByZWZlcmVuY2UgaGVyZS4KKyAgICBJREJUcmFuc2Fj
dGlvbiYgbV90cmFuc2FjdGlvbjsKIAogICAgIGJvb2wgbV9kZWxldGVkIHsgZmFsc2UgfTsKIAog
ICAgIG11dGFibGUgTG9jayBtX3JlZmVyZW5jZWRJbmRleExvY2s7CiAgICAgSGFzaE1hcDxTdHJp
bmcsIHN0ZDo6dW5pcXVlX3B0cjxJREJJbmRleD4+IG1fcmVmZXJlbmNlZEluZGV4ZXM7Ci0gICAg
SGFzaFNldDxzdGQ6OnVuaXF1ZV9wdHI8SURCSW5kZXg+PiBtX2RlbGV0ZWRJbmRleGVzOworICAg
IEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJREJJbmRleD4+IG1fZGVsZXRlZElu
ZGV4ZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKaW5kZXggMmQ4MTE5Mi4u
MzhkN2UyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlRyYW5zYWN0aW9uLmNwcApAQCAtMTY5LDEwICsxNjksMTEgQEAgRXhjZXB0aW9uT3I8UmVmPElE
Qk9iamVjdFN0b3JlPj4gSURCVHJhbnNhY3Rpb246Om9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYg
b2JqZWMKICAgICBpZiAoIWluZm8gfHwgKCFmb3VuZCAmJiAhaXNWZXJzaW9uQ2hhbmdlKCkpKQog
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSURCRGF0YWJhc2VFeGNlcHRpb246Ok5vdEZvdW5k
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ29iamVjdFN0b3JlJyBvbiAn
SURCVHJhbnNhY3Rpb24nOiBUaGUgc3BlY2lmaWVkIG9iamVjdCBzdG9yZSB3YXMgbm90IGZvdW5k
LiIpIH07CiAKLSAgICBhdXRvIG9iamVjdFN0b3JlID0gSURCT2JqZWN0U3RvcmU6OmNyZWF0ZSgq
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqaW5mbywgKnRoaXMpOwotICAgIG1fcmVmZXJlbmNl
ZE9iamVjdFN0b3Jlcy5zZXQob2JqZWN0U3RvcmVOYW1lLCBvYmplY3RTdG9yZS5wdHIoKSk7Cisg
ICAgYXV0byBvYmplY3RTdG9yZSA9IHN0ZDo6bWFrZV91bmlxdWU8SURCT2JqZWN0U3RvcmU+KCpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksICppbmZvLCAqdGhpcyk7CisgICAgYXV0byogcmF3T2Jq
ZWN0U3RvcmUgPSBvYmplY3RTdG9yZS5nZXQoKTsKKyAgICBtX3JlZmVyZW5jZWRPYmplY3RTdG9y
ZXMuc2V0KG9iamVjdFN0b3JlTmFtZSwgV1RGTW92ZShvYmplY3RTdG9yZSkpOwogCi0gICAgcmV0
dXJuIFdURk1vdmUob2JqZWN0U3RvcmUpOworICAgIHJldHVybiBSZWY8SURCT2JqZWN0U3RvcmU+
KCpyYXdPYmplY3RTdG9yZSk7CiB9CiAKIApAQCAtMTk1LDcgKzE5Niw2IEBAIHZvaWQgSURCVHJh
bnNhY3Rpb246OnRyYW5zaXRpb25lZFRvRmluaXNoaW5nKEluZGV4ZWREQjo6VHJhbnNhY3Rpb25T
dGF0ZSBzdGF0ZSkKICAgICBBU1NFUlQoIWlzRmluaXNoZWRPckZpbmlzaGluZygpKTsKICAgICBt
X3N0YXRlID0gc3RhdGU7CiAgICAgQVNTRVJUKGlzRmluaXNoZWRPckZpbmlzaGluZygpKTsKLSAg
ICBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMuY2xlYXIoKTsKIH0KIAogRXhjZXB0aW9uT3I8dm9p
ZD4gSURCVHJhbnNhY3Rpb246OmFib3J0KCkKQEAgLTIyMCw2ICsyMjAsMTQgQEAgdm9pZCBJREJU
cmFuc2FjdGlvbjo6aW50ZXJuYWxBYm9ydCgpCiAgICAgbV9kYXRhYmFzZS0+d2lsbEFib3J0VHJh
bnNhY3Rpb24oKnRoaXMpOwogCiAgICAgaWYgKGlzVmVyc2lvbkNoYW5nZSgpKSB7CisgICAgICAg
IGF1dG8mIGluZm8gPSBtX2RhdGFiYXNlLT5pbmZvKCk7CisgICAgICAgIGZvciAoYXV0byYgaXRl
cmF0b3IgOiBtX2RlbGV0ZWRPYmplY3RTdG9yZXMpIHsKKyAgICAgICAgICAgIGlmIChpbmZvLmlu
Zm9Gb3JFeGlzdGluZ09iamVjdFN0b3JlKGl0ZXJhdG9yLmtleSkpIHsKKyAgICAgICAgICAgICAg
ICBhdXRvIG5hbWUgPSBpdGVyYXRvci52YWx1ZS0+aW5mbygpLm5hbWUoKTsKKyAgICAgICAgICAg
ICAgICBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMuc2V0KG5hbWUsIFdURk1vdmUoaXRlcmF0b3Iu
dmFsdWUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCiAgICAgICAgIGZvciAoYXV0byYg
b2JqZWN0U3RvcmUgOiBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMudmFsdWVzKCkpCiAgICAgICAg
ICAgICBvYmplY3RTdG9yZS0+cm9sbGJhY2tGb3JWZXJzaW9uQ2hhbmdlQWJvcnQoKTsKICAgICB9
CkBAIC01MTcsMTIgKzUyNSwxMyBAQCBSZWY8SURCT2JqZWN0U3RvcmU+IElEQlRyYW5zYWN0aW9u
OjpjcmVhdGVPYmplY3RTdG9yZShjb25zdCBJREJPYmplY3RTdG9yZUluZm8mCiAgICAgQVNTRVJU
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9
PSBtX2RhdGFiYXNlLT5vcmlnaW5UaHJlYWRJRCgpKTsKIAotICAgIFJlZjxJREJPYmplY3RTdG9y
ZT4gb2JqZWN0U3RvcmUgPSBJREJPYmplY3RTdG9yZTo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCksIGluZm8sICp0aGlzKTsKLSAgICBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMuc2V0
KGluZm8ubmFtZSgpLCAmb2JqZWN0U3RvcmUuZ2V0KCkpOworICAgIGF1dG8gb2JqZWN0U3RvcmUg
PSBzdGQ6Om1ha2VfdW5pcXVlPElEQk9iamVjdFN0b3JlPigqc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCBpbmZvLCAqdGhpcyk7CisgICAgYXV0byogcmF3T2JqZWN0U3RvcmUgPSBvYmplY3RTdG9y
ZS5nZXQoKTsKKyAgICBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMuc2V0KGluZm8ubmFtZSgpLCBX
VEZNb3ZlKG9iamVjdFN0b3JlKSk7CiAKICAgICBzY2hlZHVsZU9wZXJhdGlvbihJREJDbGllbnQ6
OmNyZWF0ZVRyYW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCAmSURCVHJhbnNhY3Rpb246OmRpZENy
ZWF0ZU9iamVjdFN0b3JlT25TZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6Y3JlYXRlT2JqZWN0U3Rv
cmVPblNlcnZlciwgaW5mbykpOwogCi0gICAgcmV0dXJuIG9iamVjdFN0b3JlOworICAgIHJldHVy
biAqcmF3T2JqZWN0U3RvcmU7CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmNyZWF0ZU9iamVj
dFN0b3JlT25TZXJ2ZXIoSURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbiYgb3BlcmF0aW9u
LCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mIGluZm8pCkBAIC0xMDg4LDggKzEwOTcsMTEgQEAg
dm9pZCBJREJUcmFuc2FjdGlvbjo6ZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBvYmpl
Y3RTdG9yZU5hbWUpCiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNlLT5v
cmlnaW5UaHJlYWRJRCgpKTsKICAgICBBU1NFUlQoaXNWZXJzaW9uQ2hhbmdlKCkpOwogCi0gICAg
aWYgKGF1dG8gb2JqZWN0U3RvcmUgPSBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMudGFrZShvYmpl
Y3RTdG9yZU5hbWUpKQorICAgIGlmIChhdXRvIG9iamVjdFN0b3JlID0gbV9yZWZlcmVuY2VkT2Jq
ZWN0U3RvcmVzLnRha2Uob2JqZWN0U3RvcmVOYW1lKSkgewogICAgICAgICBvYmplY3RTdG9yZS0+
bWFya0FzRGVsZXRlZCgpOworICAgICAgICBhdXRvIGlkZW50aWZpZXIgPSBvYmplY3RTdG9yZS0+
aW5mbygpLmlkZW50aWZpZXIoKTsKKyAgICAgICAgbV9kZWxldGVkT2JqZWN0U3RvcmVzLnNldChp
ZGVudGlmaWVyLCBXVEZNb3ZlKG9iamVjdFN0b3JlKSk7CisgICAgfQogCiAgICAgc2NoZWR1bGVP
cGVyYXRpb24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywgJklE
QlRyYW5zYWN0aW9uOjpkaWREZWxldGVPYmplY3RTdG9yZU9uU2VydmVyLCAmSURCVHJhbnNhY3Rp
b246OmRlbGV0ZU9iamVjdFN0b3JlT25TZXJ2ZXIsIG9iamVjdFN0b3JlTmFtZSkpOwogfQpAQCAt
MTE5Nyw2ICsxMjA5LDE0IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmNvbm5lY3Rpb25DbG9zZWRG
cm9tU2VydmVyKGNvbnN0IElEQkVycm9yJiBlcnJvcikKICAgICBmaXJlT25BYm9ydCgpOwogfQog
Cit2b2lkIElEQlRyYW5zYWN0aW9uOjp2aXNpdFJlZmVyZW5jZWRPYmplY3RTdG9yZXMoSlNDOjpT
bG90VmlzaXRvciYgdmlzaXRvcikgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8mIG9iamVjdFN0b3Jl
IDogbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLnZhbHVlcygpKQorICAgICAgICB2aXNpdG9yLmFk
ZE9wYXF1ZVJvb3Qob2JqZWN0U3RvcmUuZ2V0KCkpOworICAgIGZvciAoYXV0byYgb2JqZWN0U3Rv
cmUgOiBtX2RlbGV0ZWRPYmplY3RTdG9yZXMudmFsdWVzKCkpCisgICAgICAgIHZpc2l0b3IuYWRk
T3BhcXVlUm9vdChvYmplY3RTdG9yZS5nZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKaW5kZXggODZiYWJiMS4u
NjVmZmY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
VHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbi5oCkBAIC0xNDYsNiArMTQ2LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBjb25u
ZWN0aW9uQ2xvc2VkRnJvbVNlcnZlcihjb25zdCBJREJFcnJvciYpOwogCisgICAgdm9pZCB2aXNp
dFJlZmVyZW5jZWRPYmplY3RTdG9yZXMoSlNDOjpTbG90VmlzaXRvciYpIGNvbnN0OworCiBwcml2
YXRlOgogICAgIElEQlRyYW5zYWN0aW9uKElEQkRhdGFiYXNlJiwgY29uc3QgSURCVHJhbnNhY3Rp
b25JbmZvJiwgSURCT3BlbkRCUmVxdWVzdCopOwogCkBAIC0yMzQsNyArMjM2LDggQEAgcHJpdmF0
ZToKICAgICBEZXF1ZTxSZWZQdHI8SURCQ2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4+IG1f
YWJvcnRRdWV1ZTsKICAgICBIYXNoTWFwPElEQlJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPElE
QkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24+PiBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFw
OwogCi0gICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxJREJPYmplY3RTdG9yZT4+IG1fcmVmZXJl
bmNlZE9iamVjdFN0b3JlczsKKyAgICBIYXNoTWFwPFN0cmluZywgc3RkOjp1bmlxdWVfcHRyPElE
Qk9iamVjdFN0b3JlPj4gbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzOworICAgIEhhc2hNYXA8dWlu
dDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxJREJPYmplY3RTdG9yZT4+IG1fZGVsZXRlZE9iamVjdFN0
b3JlczsKIAogICAgIEhhc2hTZXQ8UmVmUHRyPElEQlJlcXVlc3Q+PiBtX29wZW5SZXF1ZXN0czsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rp
b24uaWRsCmluZGV4IGE4OWI1MTAuLjM0OGVmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKQEAgLTI4LDYgKzI4LDcgQEAK
ICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgQ29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRSwK
ICAgICBFbmFibGVkQXRSdW50aW1lPUluZGV4ZWREQiwKKyAgICBKU0N1c3RvbU1hcmtGdW5jdGlv
biwKICAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbiwKIF0gaW50ZXJmYWNlIElEQlRyYW5zYWN0aW9u
IDogRXZlbnRUYXJnZXQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmdMaXN0IG9i
amVjdFN0b3JlTmFtZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZGNhYjYyZS4uMWU0ZjdiYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU2NCwxMCArMTU2
NCwxMCBAQAogCQk0MTYyQTQ1NzEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTYyQTQ1NTEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5jcHAgKi87IH07CiAJCTQxNjJBNDU4MTAxMTQ2NDcwMERGRjNFRCAvKiBKU0RlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTYyQTQ1NjEwMTE0NjQ3MDBERkYzRUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZS5oICovOyB9OwogCQk0MTZFMjlBNjEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2Vy
UmVwb3J0aW5nUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxNkUyOUE1MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5o
ICovOyB9OworCQk0MTZFNkZFODFCQkQxMkRGMDAwQTNGNjQgLyogUmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxz
QnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwMjMgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYx
QkIzMTEwRDAwQjc2NEI5IC8qIEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFODFCQkQxMkRGMDAw
QTYwMzMgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjRDOSAvKiBTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3M0Y2NCAvKiBSZWFkYWJsZVN0cmVhbUlu
dGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlQnl0ZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFt
SW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNTMgLyogV3JpdGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU5IC8qIFdyaXRhYmxlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MTZFNkZFOTFCQkQxMkU1MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlu
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4
MDYxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTZFNkZFOTFCQkQxMkU1
MDAwQTYwNTMgLyogV3JpdGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU4IC8qIFdy
aXRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtMjAyOCw2ICsyMDI4LDcgQEAKIAkJNTEyREQ4RkIwRDkxRTZBRjAw
MEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJERDhGMTBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZVJl
c291cmNlLmNwcCAqLzsgfTsKIAkJNTEyREQ4RkMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVS
ZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTEyREQ4RjIwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMkREOEZEMEQ5MUU2QUYw
MDBGODlFRSAvKiBBcmNoaXZlRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTEyREQ4RjMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVGYWN0
b3J5LmggKi87IH07CisJCTUxMkRGMjRGMURDRDk4MDEwMDY2NzdBNCAvKiBKU0lEQlRyYW5zYWN0
aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxMkRGMjRFMURDRDk3MTQwMDY2NzdBNCAvKiBKU0lEQlRyYW5zYWN0aW9uQ3VzdG9tLmNw
cCAqLzsgfTsKIAkJNTEyRjFBNzgxQzA3RUI2NjAwOTA4MjM5IC8qIElEQkdldFJlc3VsdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJGMUE3NzFD
MDdFQTBEMDA5MDgyMzkgLyogSURCR2V0UmVzdWx0LmNwcCAqLzsgfTsKIAkJNTEzMjdENjAxMUEz
M0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTEzMjdENUUxMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1
bWVudC5oICovOyB9OwogCQk1MTMyN0Q2MTExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMzI3
RDVGMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuY3BwICovOyB9OwpAQCAtMjU5MCw4
ICsyNTkxLDggQEAKIAkJNkI2OTNBMkUxQzUxQTgyRTAwQjAzQkVGIC8qIFJlc291cmNlTG9hZE9i
c2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
QjY5M0EyRDFDNTFBODJFMDBCMDNCRUYgLyogUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2QjY5M0EzNDFDNTFB
OTVEMDBCMDNCRUYgLyogUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkI2OTNBMzMxQzUxQTk1RDAwQjAzQkVGIC8q
IFJlc291cmNlTG9hZE9ic2VydmVyLmNwcCAqLzsgfTsKIAkJNkM0Qzk2REUxQUQ0NDgzNTAwMzYz
RjY0IC8qIEpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QzRDOTZEQTFBRDQ0ODM1MDAzNjNGNjQg
LyogSlNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmNwcCAqLzsgfTsKLQkJNkM0Qzk2REYx
QUQ0NDgzNTAwMzYzRjY0IC8qIEpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkM0Qzk2REIxQUQ0NDgz
NTAwMzYzRjY0IC8qIEpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5oICovOyB9OwogCQk2
QzRDOTZERTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZD
NEM5NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xs
ZXIuY3BwICovOyB9OworCQk2QzRDOTZERjFBRDQ0ODM1MDAzNjNGNjQgLyogSlNSZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA2QzRDOTZEQjFBRDQ0ODM1MDAzNjNGNjQgLyogSlNSZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyLmggKi87IH07CiAJCTZDNEM5NkRGMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1Jl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZDNEM5NkRCMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCAqLzsgfTsKIAkJNkM2Mzg4OTVBOTZDQ0VFNTBD
OEM5NDZDIC8qIENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZDNjM4ODkzQTk2Q0NFRTUwQzhDOTQ2
QyAvKiBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkM2Mzg4OTZBOTZDQ0VFNTBDOEM5NDZD
IC8qIENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkM2Mzg4OTRBOTZDQ0VFNTBDOEM5NDZDIC8q
IENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuY3BwICovOyB9OwpAQCAtOTE2MSw2ICs5
MTYyLDcgQEAKIAkJNTEyREQ4RjEwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcmNoaXZlUmVzb3VyY2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJERDhGMjBEOTFFNkFGMDAwRjg5
RUUgLyogQXJjaGl2ZVJlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFyY2hpdmVSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTJERDhG
MzBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZUZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQXJjaGl2ZUZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTEyREYyNEUxRENEOTcxNDAwNjY3N0E0IC8qIEpTSURCVHJhbnNhY3Rpb25DdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJREJUcmFuc2FjdGlv
bkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMkYxQTc3MUMwN0VB
MEQwMDkwODIzOSAvKiBJREJHZXRSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSURCR2V0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTEzMjdENUUxMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTaW5rRG9jdW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTEzMjdENUYxMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW5rRG9jdW1lbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTc4Miw4ICs5Nzg0LDggQEAKIAkJNkI2OTNB
MkQxQzUxQTgyRTAwQjAzQkVGIC8qIFJlc291cmNlTG9hZE9ic2VydmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZE9ic2VydmVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZCNjkzQTMzMUM1MUE5NUQwMEIwM0JFRiAvKiBSZXNvdXJjZUxv
YWRPYnNlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXNv
dXJjZUxvYWRPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZDNEM5
NkRBMUFENDQ4MzUwMDM2M0Y2NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkM0Qzk2REIx
QUQ0NDgzNTAwMzYzRjY0IC8qIEpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkM0Qzk2REExQUQ0NDgzNTAwMzY1
QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xs
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2QzRDOTZEQjFBRDQ0ODM1MDAz
NjNGNjQgLyogSlNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QzRDOTZEQjFBRDQ0ODM1MDAzNjVBNTAgLyogSlNS
ZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2QzYzODg5M0E5NkNDRUU1MEM4Qzk0NkMgLyogQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0SW5pdGlhdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2QzYzODg5NEE5NkNDRUU1MEM4Qzk0NkMgLyogQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0SW5pdGlhdG9ycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xMTE3NSw4ICsxMTE3Nyw4IEBACiAJCTk5MDhCMEYwMUJDQUNGOTEwMEVEM0Y2
NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLmpzICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5qYXZhc2NyaXB0OyBwYXRoID0gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5qczsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRjExQkNBQ0Y5MTAwRUQwRjU1IC8qIFN0
cmVhbUludGVybmFscy5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9
IFN0cmVhbUludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIw
RjExQkNBQ0Y5MTAwRUQwRjY1IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMu
anM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk5MDhCMEYxMUJDQUNGOTEwMEVEM0Y2
NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmphdmFzY3JpcHQ7IHBhdGggPSBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEYxMUJDQUNGOTEwMEVEMEY3NSAvKiBXcml0
YWJsZVN0cmVhbUludGVybmFscy5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsg
cGF0aCA9IFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5OTA4QjBGMTFCQ0FDRjkxMDBFRDNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50
ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gUmVhZGFi
bGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
OTA4QjBGMjFCQ0FDRjkxMDBFRDBGNjUgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLmpz
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gUmVhZGFibGVTdHJlYW1E
ZWZhdWx0UmVhZGVyLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGMzFC
Q0FDRkZFMDBFRDBGNjUgLyogQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJ5dGVMZW5ndGhRdWV1aW5nU3Ry
YXRlZ3lCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEY1
MUJDQUQwN0QwMEVEMEY2NSAvKiBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVn
eUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTE4NCwxNSArMTEx
ODYsMTMgQEAKIAkJOTkwOEIwRjcxQkNBRDA3RDAwRUQwRjY1IC8qIENvdW50UXVldWluZ1N0cmF0
ZWd5QnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ291bnRRdWV1
aW5nU3RyYXRlZ3lCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4
QjBGOTFCQ0FEMDdEMDBFRDBGNjUgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRjkxQkNBRDA3RDAwRUQwRjc1
IC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV3JpdGFibGVTdHJlYW1CdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTk5MDhCMEZBMUJDQUQwN0QwMEVEM0Y2NCAvKiBSZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTkwOEIwRkIxQkNBRDA3RDAwRUQzRjY0IC8qIFJlYWRhYmxl
Qnl0ZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRkExQkNBRDA3RDAwRUQwRjY1IC8qIFJlYWRhYmxl
U3RyZWFtRGVmYXVsdENvbnRyb2xsZXJCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQnVpbHRpbnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGQjFCQ0FEMDdEMDBFRDBG
NjUgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckJ1aWx0aW5zLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJC
dWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGRDFCQ0FEMDdE
MDBFRDBGNDUgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBGZXRjaEludGVybmFsc0J1aWx0aW5zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRkQxQkNBRDA3RDAwRUQwRjU1IC8qIFN0cmVhbUlu
dGVybmFsc0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJOTkwOEIwRkQxQkNBRDA3RDAwRUQzRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRh
YmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTkwOEIwRkQxQkNBRDA3RDAwRUQwRjY1IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk5MDhCMEZEMUJDQUQwN0QwMEVEMEY3NSAvKiBXcml0YWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdyaXRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5OTA4QjBGRDFCQ0FEMDdEMDBFRDNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVh
ZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5OTA4QjBGRTFCQ0FEMDdEMDBFRDBGNjUgLyogUmVhZGFibGVTdHJlYW1EZWZh
dWx0UmVhZGVyQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyQnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5OTA4QjBGRjFCQ0FEMDdEMDBFRDBGNjUgLyogUmVhZGFibGVTdHJl
YW1EZWZhdWx0UmVhZGVyQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTkyMDM5ODAxOEI5NUJDNjAwQjM5QUY5IC8qIFVzZXJJbnB1dEJyaWRn
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVc2VySW5wdXRCcmlk
Z2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTEyMzAsMTAgKzExMjMwLDEw
IEBACiAJCTlBNTI4RTgyMTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGluZ09iamVjdHMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmxvYXRpbmdPYmplY3RzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlBQjFGMzdFMThFMjQ4OUEwMDUzNDc0MyAvKiBDU1NUb0xl
bmd0aENvbnZlcnNpb25EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OUFCMUYzN0YxOEUyNDg5QTAwNTM0NzQzIC8qIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTVG9MZW5ndGhDb252ZXJz
aW9uRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlCMDNEODA2MUJCMzEx
MEQwMEI3M0Y2NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNC
dWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBE
MDBCNzY0QjkgLyogRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGZXRjaEludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjRDOSAvKiBTdHJlYW1JbnRlcm5hbHNC
dWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJlYW1JbnRlcm5h
bHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgwNjFCQjMx
MTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTlCMDNEODA2MUJCMzExMEQwMEI3M0Y2NCAvKiBSZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjRFOCAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU5
IC8qIFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTczMzMsOCArMTczMzMsNiBAQAogCQkJCTQ0QTI4QUFF
MTJERkI4QkYwMEFFOTIzQiAvKiBNYXRoTUxOYW1lcy5oICovLAogCQkJCTcxRTIxODM4MTczNTlG
QjgwMDZFNkU0RCAvKiBQbHVnSW5zUmVzb3VyY2VzLmggKi8sCiAJCQkJNzFFMjE4MzkxNzM1OUZC
ODAwNkU2RTREIC8qIFBsdWdJbnNSZXNvdXJjZXNEYXRhLmNwcCAqLywKLQkJCQk5OTA4QjBGQTFC
Q0FEMDdEMDA3NjNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zLmNw
cCAqLywKLQkJCQk5OTA4QjBGQjFCQ0FEMDdEMDA3NjNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFt
Q29udHJvbGxlckJ1aWx0aW5zLmggKi8sCiAJCQkJOTkwOEIwRkQxQkNBRDA3RDAwRUQzRjY0IC8q
IFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcCAqLywKIAkJCQk5QjAzRDgw
NjFCQjMxMTBEMDBCNzNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMu
aCAqLywKIAkJCQk5OTA4QjBGOTFCQ0FEMDdEMDBFRDBGNjUgLyogUmVhZGFibGVTdHJlYW1CdWls
dGlucy5jcHAgKi8sCkBAIC0yMTgxNSw2ICsyMTgxMyw3IEBACiAJCQkJNTE0MTI5OUExQzZDMTY2
RDAwNTlFNzE0IC8qIEpTSURCSW5kZXhDdXN0b20uY3BwICovLAogCQkJCTUxMUVGMkNFMTdGMEZE
RjEwMEU0RkExNiAvKiBKU0lEQk9iamVjdFN0b3JlQ3VzdG9tLmNwcCAqLywKIAkJCQk5MzRGMzFC
NDFDQzA3MzcyMDBEQjQzREMgLyogSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcCAqLywKKwkJCQk1MTJE
RjI0RTFEQ0Q5NzE0MDA2Njc3QTQgLyogSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHAgKi8sCiAJ
CQkJQTdEMDMxOEQwRTkzNTQwMzAwRTI0QUNEIC8qIEpTSW1hZ2VEYXRhQ3VzdG9tLmNwcCAqLywK
IAkJCQk3QTc0RUNCQzEwMTgzOURBMDBCRjkzOUUgLyogSlNJbnNwZWN0b3JGcm9udGVuZEhvc3RD
dXN0b20uY3BwICovLAogCQkJCUJDRTFDNDNGMEQ5ODMwRjQwMDNCMDJGMiAvKiBKU0xvY2F0aW9u
Q3VzdG9tLmNwcCAqLywKQEAgLTI1MDc3LDcgKzI1MDc2LDYgQEAKIAkJCQlCQzFCREYyNTE1NkMx
OEM3MDAxQzEyNDMgLyogRE9NRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFRDYwOUJEMTE0
NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgxODVG
M0IwOTc2NTc2NjAwNTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywK
LQkJCQlFMzVDQTE0RTFEQkMzQTQyMDBGODM1MTYgLyogRE9NSklUQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTMxNTBFQTcxREE3MjE5MzAwMTk0MDEyIC8qIERP
TUpJVEhlbHBlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE5QzZFNEU0MEQ3NDVFMDUwMDY0NDJF
OSAvKiBET01NaW1lVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTlDNkU0RTgwRDc0NUUxODAw
NjQ0MkU5IC8qIERPTU1pbWVUeXBlQXJyYXkuaCBpbiBIZWFkZXJzICovLApAQCAtMjY3OTEsOSAr
MjY3ODksOSBAQAogCQkJCUY1NUIzRENFMTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlucHV0VHlw
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkU4NEU5RTExNzY2OEJGMTAwODE1QjY4IC8qIFJhc3Rl
clNoYXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODREODI3QzExRDMzM0VEMDA5NzI5OTAgLyog
UmF3RGF0YURvY3VtZW50UGFyc2VyLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNkZFODFCQkQx
MkRGMDAwQTNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTZFNkZFOTFCQkQxMkU1
MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRp
bnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBSZWFk
YWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQz
MTYwM0MxMkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0aW1lQW5hbHlzZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTRBNEY2NTcxMUFBOTk3RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291cmNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3MjFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRpbWVN
ZWRpYVNvdXJjZUNhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODgzNCw3ICsyODgz
Miw2IEBACiAJCQkJQkMxQkRGMjQxNTZDMTg4MzAwMUMxMjQzIC8qIERPTUVycm9yLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJFRDYwOUJDMTE0NUIwNzEwMEM4Njg0RSAvKiBET01Gb3JtRGF0YS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBODE4NUYzRTA5NzY1NzY2MDA1ODI2RDkgLyogRE9NSW1w
bGVtZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJRTM1Q0ExNEQxREJDM0EzRjAwRjgz
NTE2IC8qIERPTUpJVEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTlDNkU0RTMwRDc0NUUwNTAwNjQ0MkU5IC8qIERPTU1pbWVUeXBlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE5QzZFNEU3MEQ3NDVFMTgwMDY0NDJFOSAvKiBET01NaW1lVHlwZUFycmF5LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUyQjZDOUMyMTVFM0Y0REYwMDY5MEIwNSAvKiBET01OYW1l
ZEZsb3dDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjg4NzIsNiArMjg4NjksNyBA
QAogCQkJCUZENkVEMkMzMTM2QjhFNDIwMDNDRjA3MiAvKiBEeW5hbWljc0NvbXByZXNzb3JOb2Rl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5REUzMDk5RTY0OTIwMDU2RTU4MSAvKiBFZGl0
Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkFCNkM2RDEyNTUwNjMxMDAxNjI2RDQg
LyogRWRpdGluZ1N0eWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxMkRGMjRGMURDRDk4MDEw
MDY2NzdBNCAvKiBKU0lEQlRyYW5zYWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTRCMzA0M0NDMEFFMDM3M0IwMEE4MjY0NyAvKiBFZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOUI1NUVFRTkxQjNFODg5ODAwNTM0MkJDIC8qIEVkaXRvckNvY29hLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTNBMzhCNEIwRDBFNTgwODAwNjg3MkMyIC8qIEVkaXRvckNvbW1hbmQuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lE
QlRyYW5zYWN0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURC
VHJhbnNhY3Rpb25DdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmFlZDk0ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0lEQlRyYW5zYWN0aW9uQ3VzdG9tLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNp
bmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0lEQlRyYW5zYWN0aW9uLmgiCisK
K3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBKU0lE
QlRyYW5zYWN0aW9uOjp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihTbG90VmlzaXRvciYgdmlzaXRv
cikKK3sKKyAgICBzdGF0aWNfY2FzdDxJREJUcmFuc2FjdGlvbiY+KHdyYXBwZWQoKSkudmlzaXRS
ZWZlcmVuY2VkT2JqZWN0U3RvcmVzKHZpc2l0b3IpOworfQorCit9CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294070</attachid>
            <date>2016-11-07 10:52:49 -0800</date>
            <delta_ts>2016-11-09 10:23:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164466-20161107104841.patch</filename>
            <type>text/plain</type>
            <size>45226</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNlZWRjNmEwNmNhMjAx
ZGM2MTZkZGU3OTczZTExNTcxODNhYWY2Ni4uOGJmOWVmMWIyZWUxMDFmYWE1NGY1MjM4MzMxOTIw
NmVkNTI4ZjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE2LTExLTA3ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBJbmRleGVkREIgMi4wOiBD
bGVhbiB1cCBtb3JlIHRyYW5zYWN0aW9uIGFib3J0IGJlaGF2aW9yLCBpbmNsdWRpbmcgdHdlYWtz
IHRvIEluZGV4L09iamVjdFN0b3JlIGxpZmV0aW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChDb3ZlcmVkIGJ5IGV4aXN0aW5n
IHRlc3RzIHRoYXQgbm93IHBhc3MpLgorICAgICAgICAKKyAgICAgICAgUHJldmlvdXNseSwgSURC
SW5kZXggcmVmL2RlcmVmIGRpZG4ndCB0cmFjayBhIHRyYWRpdGlvbmFsIHJlZiBjb3VudCBidXQg
aW5zdGVhZCBrZXB0IHRoZSBvd25pbmcgb2JqZWN0IHN0b3JlIGFsaXZlLgorICAgICAgICBOb3cs
IElEQk9iamVjdFN0b3JlIHJlZi9kZXJlZiBkbyB0aGUgc2FtZSB0aGluZyBmb3IgdGhlIG93bmlu
ZyB0cmFuc2FjdGlvbi4KKyAgICAgICAgCisgICAgICAgIE5vdyB3aGVuIGEgdmVyc2lvbiBjaGFu
Z2UgdHJhbnNhY3Rpb24gaXMgcm9sbGVkIGJhY2ssIHNvbWUgb2JqZWN0IHN0b3JlcyBhbmQgaW5k
ZXhlcyBnZXQgcHVsbGVkIG91dCBvZiB0aGUgImRlbGV0ZWQiCisgICAgICAgIHNldCBhbmQgZ2V0
IHByb21vdGVkIGJhY2sgdXAgaW50byB0aGUgInJlZmVyZW5jZWQiIHNldC4KKyAgICAgICAgCisg
ICAgICAgIE5vdyBkZWxldGVkIG9iamVjdCBzdG9yZXMvaW5kZXhlcyBhcmUgY29uc2lkZXJlZCBv
cGFxdWUgcm9vdHMsIGFzIGxpdmUgb2JqZWN0cyBpbiB0aGUgZGVsZXRlZCBzdGF0ZSAqY2FuKiBn
ZXQgYmFjaworICAgICAgICB0byB0aGUgb3duaW5nIG9iamVjdHMuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJREJJbmRleDo6cm9sbGJhY2tJbmZvRm9yVmVyc2lvbkNoYW5nZUFib3J0KToKKwor
ICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpJREJPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJPYmplY3RTdG9yZTo6aW5kZXhOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJP
YmplY3RTdG9yZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3Rv
cmU6Om9wZW5DdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6Om9wZW5L
ZXlDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmRlbGV0ZUluZGV4
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpyb2xsYmFja0ZvclZlcnNpb25D
aGFuZ2VBYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6dmlzaXRSZWZl
cmVuY2VkSW5kZXhlcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6cmVmKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpkZXJlZik6CisgICAgICAgIChXZWJD
b3JlOjpJREJPYmplY3RTdG9yZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246
Om9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjp0cmFuc2l0
aW9uZWRUb0ZpbmlzaGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6aW50
ZXJuYWxBYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y3JlYXRlT2Jq
ZWN0U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmRlbGV0ZU9iamVj
dFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjp2aXNpdFJlZmVyZW5j
ZWRPYmplY3RTdG9yZXMpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsOgor
CisgICAgICAgICogYmluZGluZ3MvanMvSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6SlNJREJUcmFuc2FjdGlvbjo6dmlzaXRBZGRpdGlvbmFsQ2hp
bGRyZW4pOgorCiAyMDE2LTExLTA3ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDgzODIuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CmluZGV4IDNjZDU4OWM0NTRmYzUxZDQ2YTEyNDYxMjBmMThmYmI1ZDcxZTM2MTYuLmY0
NDg0MzYwOWFlY2NmYTM0NmYyODhjMDA0NmNjYzcwNDBhZjFjMjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CkBAIC0xMTUyLDYgKzExNTIsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGlu
Z3MvanMvSlNJREJJbmRleEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0lEQk9iamVjdFN0
b3JlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTSURCUmVxdWVzdEN1c3RvbS5jcHAKKyAg
ICBiaW5kaW5ncy9qcy9KU0lEQlRyYW5zYWN0aW9uQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0ltYWdlRGF0YUN1c3Rv
bS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcAppbmRleCAz
YTQ1NzhlNmYxMWVkMGMyNDQ2YTBmNTU5NDAzYmU2MzkwZTJhMTBkLi41YTRlOGM4OGNiOTFmY2M0
MDIzMDI1NzRjN2E0NTBkYzBkYzY3ZDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCSW5kZXguY3BwCkBAIC0xNDYsNiArMTQ2LDcgQEAgdm9pZCBJREJJbmRleDo6
cm9sbGJhY2tJbmZvRm9yVmVyc2lvbkNoYW5nZUFib3J0KCkKICAgICB9CiAKICAgICBtX2luZm8g
PSBtX29yaWdpbmFsSW5mbzsKKyAgICBtX2RlbGV0ZWQgPSBmYWxzZTsKIH0KIAogRXhjZXB0aW9u
T3I8UmVmPElEQlJlcXVlc3Q+PiBJREJJbmRleDo6b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNT
dGF0ZSwgSURCS2V5UmFuZ2UqIHJhbmdlLCBjb25zdCBTdHJpbmcmIGRpcmVjdGlvblN0cmluZykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0
b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3Jl
LmNwcAppbmRleCAyZjdmYjhmOThiMDE3MDU0MjU0MDMxMzczMjBkYWJjMzA1ZDA1NjBmLi4zM2U3
MGZlZWMyZTMzYjQ5NDVmNGJjYzhmMWUxODJiNDAzNGY0OTlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCkBAIC01MywxNiAr
NTMsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1S
ZWY8SURCT2JqZWN0U3RvcmU+IElEQk9iamVjdFN0b3JlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJiBpbmZvLCBJREJUcmFu
c2FjdGlvbiYgdHJhbnNhY3Rpb24pCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCT2Jq
ZWN0U3RvcmUoY29udGV4dCwgaW5mbywgdHJhbnNhY3Rpb24pKTsKLX0KLQogSURCT2JqZWN0U3Rv
cmU6OklEQk9iamVjdFN0b3JlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0
IElEQk9iamVjdFN0b3JlSW5mbyYgaW5mbywgSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQog
ICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQogICAgICwgbV9pbmZvKGluZm8pCiAgICAg
LCBtX29yaWdpbmFsSW5mbyhpbmZvKQotICAgICwgbV90cmFuc2FjdGlvbih0cmFuc2FjdGlvbikK
KyAgICAsIG1fdHJhbnNhY3Rpb24oJnRyYW5zYWN0aW9uKQogewogICAgIEFTU0VSVChjdXJyZW50
VGhyZWFkKCkgPT0gbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJRCgpKTsK
IApAQCAtMTMxLDkgKzEyNiwxMiBAQCBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gSURCT2JqZWN0U3Rv
cmU6OmluZGV4TmFtZXMoKSBjb25zdAogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV90
cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJRCgpKTsKIAogICAgIFJlZlB0cjxE
T01TdHJpbmdMaXN0PiBpbmRleE5hbWVzID0gRE9NU3RyaW5nTGlzdDo6Y3JlYXRlKCk7Ci0gICAg
Zm9yIChhdXRvJiBuYW1lIDogbV9pbmZvLmluZGV4TmFtZXMoKSkKLSAgICAgICAgaW5kZXhOYW1l
cy0+YXBwZW5kKG5hbWUpOwotICAgIGluZGV4TmFtZXMtPnNvcnQoKTsKKworICAgIGlmICghbV9k
ZWxldGVkKSB7CisgICAgICAgIGZvciAoYXV0byYgbmFtZSA6IG1faW5mby5pbmRleE5hbWVzKCkp
CisgICAgICAgICAgICBpbmRleE5hbWVzLT5hcHBlbmQobmFtZSk7CisgICAgICAgIGluZGV4TmFt
ZXMtPnNvcnQoKTsKKyAgICB9CiAKICAgICByZXR1cm4gaW5kZXhOYW1lczsKIH0KQEAgLTE0MSw3
ICsxMzksNyBAQCBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gSURCT2JqZWN0U3RvcmU6OmluZGV4TmFt
ZXMoKSBjb25zdAogSURCVHJhbnNhY3Rpb24mIElEQk9iamVjdFN0b3JlOjp0cmFuc2FjdGlvbigp
CiB7CiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX3RyYW5zYWN0aW9uLT5kYXRhYmFz
ZSgpLm9yaWdpblRocmVhZElEKCkpOwotICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLmdldCgpOwor
ICAgIHJldHVybiAqbV90cmFuc2FjdGlvbjsKIH0KIAogYm9vbCBJREJPYmplY3RTdG9yZTo6YXV0
b0luY3JlbWVudCgpIGNvbnN0CkBAIC0xNjUsNyArMTYzLDcgQEAgRXhjZXB0aW9uT3I8UmVmPElE
QlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6b3BlbkN1cnNvcihFeGVjU3RhdGUmIGV4ZWNTdGF0
ZSwgUmUKICAgICBpZiAoIWRpcmVjdGlvbikKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5
cGVFcnJvciB9OwogCi0gICAgYXV0byBpbmZvID0gSURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVD
dXJzb3IobV90cmFuc2FjdGlvbi5nZXQoKSwgbV9pbmZvLmlkZW50aWZpZXIoKSwgcmFuZ2UuZ2V0
KCksIGRpcmVjdGlvbi52YWx1ZSgpLCBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleUFuZFZhbHVl
KTsKKyAgICBhdXRvIGluZm8gPSBJREJDdXJzb3JJbmZvOjpvYmplY3RTdG9yZUN1cnNvcigqbV90
cmFuc2FjdGlvbiwgbV9pbmZvLmlkZW50aWZpZXIoKSwgcmFuZ2UuZ2V0KCksIGRpcmVjdGlvbi52
YWx1ZSgpLCBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleUFuZFZhbHVlKTsKICAgICByZXR1cm4g
bV90cmFuc2FjdGlvbi0+cmVxdWVzdE9wZW5DdXJzb3IoZXhlY1N0YXRlLCAqdGhpcywgaW5mbyk7
CiB9CiAKQEAgLTE5Myw3ICsxOTEsNyBAQCBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IElE
Qk9iamVjdFN0b3JlOjpvcGVuS2V5Q3Vyc29yKEV4ZWNTdGF0ZSYgZXhlY1N0YXRlLAogICAgIGlm
ICghZGlyZWN0aW9uKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CiAK
LSAgICBhdXRvIGluZm8gPSBJREJDdXJzb3JJbmZvOjpvYmplY3RTdG9yZUN1cnNvcihtX3RyYW5z
YWN0aW9uLmdldCgpLCBtX2luZm8uaWRlbnRpZmllcigpLCByYW5nZS5nZXQoKSwgZGlyZWN0aW9u
LnZhbHVlKCksIEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5T25seSk7CisgICAgYXV0byBpbmZv
ID0gSURCQ3Vyc29ySW5mbzo6b2JqZWN0U3RvcmVDdXJzb3IoKm1fdHJhbnNhY3Rpb24sIG1faW5m
by5pZGVudGlmaWVyKCksIHJhbmdlLmdldCgpLCBkaXJlY3Rpb24udmFsdWUoKSwgSW5kZXhlZERC
OjpDdXJzb3JUeXBlOjpLZXlPbmx5KTsKICAgICByZXR1cm4gbV90cmFuc2FjdGlvbi0+cmVxdWVz
dE9wZW5DdXJzb3IoZXhlY1N0YXRlLCAqdGhpcywgaW5mbyk7CiB9CiAKQEAgLTQ5NCw5ICs0OTIs
OCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJREJPYmplY3RTdG9yZTo6ZGVsZXRlSW5kZXgoY29uc3Qg
U3RyaW5nJiBuYW1lKQogICAgICAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKG1fcmVmZXJlbmNlZElu
ZGV4TG9jayk7CiAgICAgICAgIGlmIChhdXRvIGluZGV4ID0gbV9yZWZlcmVuY2VkSW5kZXhlcy50
YWtlKG5hbWUpKSB7CiAgICAgICAgICAgICBpbmRleC0+bWFya0FzRGVsZXRlZCgpOwotICAgICAg
ICAgICAgbV9kZWxldGVkSW5kZXhlcy5hZGQoV1RGTW92ZShpbmRleCkpOworICAgICAgICAgICAg
bV9kZWxldGVkSW5kZXhlcy5hZGQoaW5kZXgtPmluZm8oKS5pZGVudGlmaWVyKCksIFdURk1vdmUo
aW5kZXgpKTsKICAgICAgICAgfQotCiAgICAgfQogCiAgICAgbV90cmFuc2FjdGlvbi0+ZGVsZXRl
SW5kZXgobV9pbmZvLmlkZW50aWZpZXIoKSwgbmFtZSk7CkBAIC02MDgsNiArNjA1LDggQEAgdm9p
ZCBJREJPYmplY3RTdG9yZTo6cm9sbGJhY2tGb3JWZXJzaW9uQ2hhbmdlQWJvcnQoKQogICAgICAg
ICBtX2luZm8ucmVuYW1lKGN1cnJlbnROYW1lKTsKICAgICAgICAgbV9kZWxldGVkID0gdHJ1ZTsK
ICAgICB9IGVsc2UgeworICAgICAgICBtX2RlbGV0ZWQgPSBmYWxzZTsKKyAgICAgICAgCiAgICAg
ICAgIEhhc2hTZXQ8dWludDY0X3Q+IGluZGV4ZXNUb1JlbW92ZTsKICAgICAgICAgZm9yIChhdXRv
IGluZGV4SWRlbnRpZmllciA6IG9iamVjdFN0b3JlSW5mby0+aW5kZXhNYXAoKS5rZXlzKCkpIHsK
ICAgICAgICAgICAgIGlmICghb2JqZWN0U3RvcmVJbmZvLT5oYXNJbmRleChpbmRleElkZW50aWZp
ZXIpKQpAQCAtNjE5LDYgKzYxOCwxMyBAQCB2b2lkIElEQk9iamVjdFN0b3JlOjpyb2xsYmFja0Zv
clZlcnNpb25DaGFuZ2VBYm9ydCgpCiAgICAgfQogCiAgICAgTG9ja2VyPExvY2s+IGxvY2tlciht
X3JlZmVyZW5jZWRJbmRleExvY2spOworICAgIGZvciAoYXV0byYgaXRlcmF0b3IgOiBtX2RlbGV0
ZWRJbmRleGVzKSB7CisgICAgICAgIGlmIChtX2luZm8uaGFzSW5kZXgoaXRlcmF0b3Iua2V5KSkg
eworICAgICAgICAgICAgYXV0byBuYW1lID0gaXRlcmF0b3IudmFsdWUtPmluZm8oKS5uYW1lKCk7
CisgICAgICAgICAgICBtX3JlZmVyZW5jZWRJbmRleGVzLnNldChuYW1lLCBXVEZNb3ZlKGl0ZXJh
dG9yLnZhbHVlKSk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBmb3IgKGF1dG8mIGluZGV4IDog
bV9yZWZlcmVuY2VkSW5kZXhlcy52YWx1ZXMoKSkKICAgICAgICAgaW5kZXgtPnJvbGxiYWNrSW5m
b0ZvclZlcnNpb25DaGFuZ2VBYm9ydCgpOwogfQpAQCAtNjI4LDYgKzYzNCw4IEBAIHZvaWQgSURC
T2JqZWN0U3RvcmU6OnZpc2l0UmVmZXJlbmNlZEluZGV4ZXMoU2xvdFZpc2l0b3ImIHZpc2l0b3Ip
IGNvbnN0CiAgICAgTG9ja2VyPExvY2s+IGxvY2tlcihtX3JlZmVyZW5jZWRJbmRleExvY2spOwog
ICAgIGZvciAoYXV0byYgaW5kZXggOiBtX3JlZmVyZW5jZWRJbmRleGVzLnZhbHVlcygpKQogICAg
ICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3QoaW5kZXguZ2V0KCkpOworICAgIGZvciAoYXV0byYg
aW5kZXggOiBtX2RlbGV0ZWRJbmRleGVzLnZhbHVlcygpKQorICAgICAgICB2aXNpdG9yLmFkZE9w
YXF1ZVJvb3QoaW5kZXguZ2V0KCkpOwogfQogCiB2b2lkIElEQk9iamVjdFN0b3JlOjpyZW5hbWVS
ZWZlcmVuY2VkSW5kZXgoSURCSW5kZXgmIGluZGV4LCBjb25zdCBTdHJpbmcmIG5ld05hbWUpCkBA
IC02NDUsNiArNjUzLDE2IEBAIHZvaWQgSURCT2JqZWN0U3RvcmU6OnJlbmFtZVJlZmVyZW5jZWRJ
bmRleChJREJJbmRleCYgaW5kZXgsIGNvbnN0IFN0cmluZyYgbmV3TmFtCiAgICAgbV9yZWZlcmVu
Y2VkSW5kZXhlcy5zZXQobmV3TmFtZSwgbV9yZWZlcmVuY2VkSW5kZXhlcy50YWtlKGluZGV4Lmlu
Zm8oKS5uYW1lKCkpKTsKIH0KIAordm9pZCBJREJPYmplY3RTdG9yZTo6cmVmKCkKK3sKKyAgICBt
X3RyYW5zYWN0aW9uLT5yZWYoKTsKK30KKwordm9pZCBJREJPYmplY3RTdG9yZTo6ZGVyZWYoKQor
eworICAgIG1fdHJhbnNhY3Rpb24tPmRlcmVmKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKaW5kZXggN2IxNGQwZmQ5
MmI3NmRiNjI5NWVkYWQ4YTA0MjFiNWQ1YjBkNTQwNC4uMzJlNzJmYTZmZmVkNWI3MzQ2ZjM1N2Rm
OTdlNjlhNWE5ODJhOGQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT2JqZWN0U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJPYmplY3RTdG9yZS5oCkBAIC01NCwxMCArNTQsOSBAQCBuYW1lc3BhY2UgSW5kZXhl
ZERCIHsKIGVudW0gY2xhc3MgT2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlOwogfQogCi1jbGFzcyBJ
REJPYmplY3RTdG9yZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPElEQk9iamVjdFN0b3JlPiwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitjbGFzcyBJREJPYmplY3RTdG9yZSBmaW5hbCA6IHB1
YmxpYyBBY3RpdmVET01PYmplY3QgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8SURCT2JqZWN0
U3RvcmU+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgSURCT2JqZWN0U3Rv
cmVJbmZvJiwgSURCVHJhbnNhY3Rpb24mKTsKLQorICAgIElEQk9iamVjdFN0b3JlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mLCBJREJUcmFuc2FjdGlv
biYpOwogICAgIH5JREJPYmplY3RTdG9yZSgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkg
Y29uc3Q7CkBAIC0xMDIsMTIgKzEwMSwxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJvbGxiYWNr
Rm9yVmVyc2lvbkNoYW5nZUFib3J0KCk7CiAKKyAgICB2b2lkIHJlZigpOworICAgIHZvaWQgZGVy
ZWYoKTsKKwogICAgIHZvaWQgdmlzaXRSZWZlcmVuY2VkSW5kZXhlcyhKU0M6OlNsb3RWaXNpdG9y
JikgY29uc3Q7CiAgICAgdm9pZCByZW5hbWVSZWZlcmVuY2VkSW5kZXgoSURCSW5kZXgmLCBjb25z
dCBTdHJpbmcmIG5ld05hbWUpOwogCiBwcml2YXRlOgotICAgIElEQk9iamVjdFN0b3JlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mLCBJREJUcmFuc2Fj
dGlvbiYpOwotCiAgICAgZW51bSBjbGFzcyBJbmxpbmVLZXlDaGVjayB7IFBlcmZvcm0sIERvTm90
UGVyZm9ybSB9OwogICAgIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gcHV0T3JBZGQoSlND
OjpFeGVjU3RhdGUmLCBKU0M6OkpTVmFsdWUsIFJlZlB0cjxJREJLZXk+LCBJbmRleGVkREI6Ok9i
amVjdFN0b3JlT3ZlcndyaXRlTW9kZSwgSW5saW5lS2V5Q2hlY2spOwogICAgIEV4Y2VwdGlvbk9y
PFJlZjxJREJSZXF1ZXN0Pj4gZG9Db3VudChKU0M6OkV4ZWNTdGF0ZSYsIGNvbnN0IElEQktleVJh
bmdlRGF0YSYpOwpAQCAtMTE5LDEzICsxMTksMjAgQEAgcHJpdmF0ZToKIAogICAgIElEQk9iamVj
dFN0b3JlSW5mbyBtX2luZm87CiAgICAgSURCT2JqZWN0U3RvcmVJbmZvIG1fb3JpZ2luYWxJbmZv
OwotICAgIFJlZjxJREJUcmFuc2FjdGlvbj4gbV90cmFuc2FjdGlvbjsKKworICAgIC8vIElEQk9i
amVjdFN0b3JlIG9iamVjdHMgYXJlIGFsd2F5cyBvd25lZCBieSB0aGVpciByZWZlcmVuY2luZyBJ
REJUcmFuc2FjdGlvbi4KKyAgICAvLyBPYmplY3RTdG9yZXMgd2lsbCBuZXZlciBvdXRsaXZlIHRy
YW5zYWN0aW9ucyBzbyBpdHMgb2theSB0byBrZWVwIGEgcmF3IEMrKyByZWZlcmVuY2UgaGVyZS4K
KworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhIHJlZmVyZW5jZSBpbnN0ZWFkIG9mIGEg
cG9pbnRlciAoYXMgbWVudGlvbmVkIGJ5IHRoZSBhYm92ZSBjb21tZW50KQorICAgIC8vIGJ1dCBs
ZWF2aW5nIGl0IGEgcG9pbnRlciBmb3Igbm93IG1ha2VzIHRoaXMgcGF0Y2ggbXVjaCBlYXNpZXIg
dG8gcmV2aWV3LgorICAgIC8vIEknbGwgbWFrZSB0aGUgcHRyLT5yZWYgY2hhbmdlIHJpZ2h0IGFm
dGVyIHRoaXMgcGF0Y2ggbGFuZHMuCisgICAgSURCVHJhbnNhY3Rpb24qIG1fdHJhbnNhY3Rpb247
CiAKICAgICBib29sIG1fZGVsZXRlZCB7IGZhbHNlIH07CiAKICAgICBtdXRhYmxlIExvY2sgbV9y
ZWZlcmVuY2VkSW5kZXhMb2NrOwogICAgIEhhc2hNYXA8U3RyaW5nLCBzdGQ6OnVuaXF1ZV9wdHI8
SURCSW5kZXg+PiBtX3JlZmVyZW5jZWRJbmRleGVzOwotICAgIEhhc2hTZXQ8c3RkOjp1bmlxdWVf
cHRyPElEQkluZGV4Pj4gbV9kZWxldGVkSW5kZXhlczsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBz
dGQ6OnVuaXF1ZV9wdHI8SURCSW5kZXg+PiBtX2RlbGV0ZWRJbmRleGVzOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IDJkODExOTIyOTdhODQ1ZGY1MjJhZDlmNTUwZDE4
ZDdkNmJhODcyZTMuLjM4ZDdlMjcwMzNmMzAwNDQyZTk4ZTVjYjQwZjEzODk5MTZlMTNhZWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5jcHAKQEAgLTE2OSwxMCArMTY5LDExIEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJPYmplY3RTdG9y
ZT4+IElEQlRyYW5zYWN0aW9uOjpvYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG9iamVjCiAgICAg
aWYgKCFpbmZvIHx8ICghZm91bmQgJiYgIWlzVmVyc2lvbkNoYW5nZSgpKSkKICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOb3RGb3VuZEVycm9yLCBBU0NJ
SUxpdGVyYWwoIkZhaWxlZCB0byBleGVjdXRlICdvYmplY3RTdG9yZScgb24gJ0lEQlRyYW5zYWN0
aW9uJzogVGhlIHNwZWNpZmllZCBvYmplY3Qgc3RvcmUgd2FzIG5vdCBmb3VuZC4iKSB9OwogCi0g
ICAgYXV0byBvYmplY3RTdG9yZSA9IElEQk9iamVjdFN0b3JlOjpjcmVhdGUoKnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgKmluZm8sICp0aGlzKTsKLSAgICBtX3JlZmVyZW5jZWRPYmplY3RTdG9y
ZXMuc2V0KG9iamVjdFN0b3JlTmFtZSwgb2JqZWN0U3RvcmUucHRyKCkpOworICAgIGF1dG8gb2Jq
ZWN0U3RvcmUgPSBzdGQ6Om1ha2VfdW5pcXVlPElEQk9iamVjdFN0b3JlPigqc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLCAqaW5mbywgKnRoaXMpOworICAgIGF1dG8qIHJhd09iamVjdFN0b3JlID0g
b2JqZWN0U3RvcmUuZ2V0KCk7CisgICAgbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLnNldChvYmpl
Y3RTdG9yZU5hbWUsIFdURk1vdmUob2JqZWN0U3RvcmUpKTsKIAotICAgIHJldHVybiBXVEZNb3Zl
KG9iamVjdFN0b3JlKTsKKyAgICByZXR1cm4gUmVmPElEQk9iamVjdFN0b3JlPigqcmF3T2JqZWN0
U3RvcmUpOwogfQogCiAKQEAgLTE5NSw3ICsxOTYsNiBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjp0
cmFuc2l0aW9uZWRUb0ZpbmlzaGluZyhJbmRleGVkREI6OlRyYW5zYWN0aW9uU3RhdGUgc3RhdGUp
CiAgICAgQVNTRVJUKCFpc0ZpbmlzaGVkT3JGaW5pc2hpbmcoKSk7CiAgICAgbV9zdGF0ZSA9IHN0
YXRlOwogICAgIEFTU0VSVChpc0ZpbmlzaGVkT3JGaW5pc2hpbmcoKSk7Ci0gICAgbV9yZWZlcmVu
Y2VkT2JqZWN0U3RvcmVzLmNsZWFyKCk7CiB9CiAKIEV4Y2VwdGlvbk9yPHZvaWQ+IElEQlRyYW5z
YWN0aW9uOjphYm9ydCgpCkBAIC0yMjAsNiArMjIwLDE0IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246
OmludGVybmFsQWJvcnQoKQogICAgIG1fZGF0YWJhc2UtPndpbGxBYm9ydFRyYW5zYWN0aW9uKCp0
aGlzKTsKIAogICAgIGlmIChpc1ZlcnNpb25DaGFuZ2UoKSkgeworICAgICAgICBhdXRvJiBpbmZv
ID0gbV9kYXRhYmFzZS0+aW5mbygpOworICAgICAgICBmb3IgKGF1dG8mIGl0ZXJhdG9yIDogbV9k
ZWxldGVkT2JqZWN0U3RvcmVzKSB7CisgICAgICAgICAgICBpZiAoaW5mby5pbmZvRm9yRXhpc3Rp
bmdPYmplY3RTdG9yZShpdGVyYXRvci5rZXkpKSB7CisgICAgICAgICAgICAgICAgYXV0byBuYW1l
ID0gaXRlcmF0b3IudmFsdWUtPmluZm8oKS5uYW1lKCk7CisgICAgICAgICAgICAgICAgbV9yZWZl
cmVuY2VkT2JqZWN0U3RvcmVzLnNldChuYW1lLCBXVEZNb3ZlKGl0ZXJhdG9yLnZhbHVlKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBmb3IgKGF1dG8mIG9iamVjdFN0b3Jl
IDogbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLnZhbHVlcygpKQogICAgICAgICAgICAgb2JqZWN0
U3RvcmUtPnJvbGxiYWNrRm9yVmVyc2lvbkNoYW5nZUFib3J0KCk7CiAgICAgfQpAQCAtNTE3LDEy
ICs1MjUsMTMgQEAgUmVmPElEQk9iamVjdFN0b3JlPiBJREJUcmFuc2FjdGlvbjo6Y3JlYXRlT2Jq
ZWN0U3RvcmUoY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJgogICAgIEFTU0VSVChzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOwogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFz
ZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAKLSAgICBSZWY8SURCT2JqZWN0U3RvcmU+IG9iamVjdFN0
b3JlID0gSURCT2JqZWN0U3RvcmU6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBp
bmZvLCAqdGhpcyk7Ci0gICAgbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLnNldChpbmZvLm5hbWUo
KSwgJm9iamVjdFN0b3JlLmdldCgpKTsKKyAgICBhdXRvIG9iamVjdFN0b3JlID0gc3RkOjptYWtl
X3VuaXF1ZTxJREJPYmplY3RTdG9yZT4oKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgaW5mbywg
KnRoaXMpOworICAgIGF1dG8qIHJhd09iamVjdFN0b3JlID0gb2JqZWN0U3RvcmUuZ2V0KCk7Cisg
ICAgbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLnNldChpbmZvLm5hbWUoKSwgV1RGTW92ZShvYmpl
Y3RTdG9yZSkpOwogCiAgICAgc2NoZWR1bGVPcGVyYXRpb24oSURCQ2xpZW50OjpjcmVhdGVUcmFu
c2FjdGlvbk9wZXJhdGlvbigqdGhpcywgJklEQlRyYW5zYWN0aW9uOjpkaWRDcmVhdGVPYmplY3RT
dG9yZU9uU2VydmVyLCAmSURCVHJhbnNhY3Rpb246OmNyZWF0ZU9iamVjdFN0b3JlT25TZXJ2ZXIs
IGluZm8pKTsKIAotICAgIHJldHVybiBvYmplY3RTdG9yZTsKKyAgICByZXR1cm4gKnJhd09iamVj
dFN0b3JlOwogfQogCiB2b2lkIElEQlRyYW5zYWN0aW9uOjpjcmVhdGVPYmplY3RTdG9yZU9uU2Vy
dmVyKElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24mIG9wZXJhdGlvbiwgY29uc3QgSURC
T2JqZWN0U3RvcmVJbmZvJiBpbmZvKQpAQCAtMTA4OCw4ICsxMDk3LDExIEBAIHZvaWQgSURCVHJh
bnNhY3Rpb246OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgb2JqZWN0U3RvcmVOYW1l
KQogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFk
SUQoKSk7CiAgICAgQVNTRVJUKGlzVmVyc2lvbkNoYW5nZSgpKTsKIAotICAgIGlmIChhdXRvIG9i
amVjdFN0b3JlID0gbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLnRha2Uob2JqZWN0U3RvcmVOYW1l
KSkKKyAgICBpZiAoYXV0byBvYmplY3RTdG9yZSA9IG1fcmVmZXJlbmNlZE9iamVjdFN0b3Jlcy50
YWtlKG9iamVjdFN0b3JlTmFtZSkpIHsKICAgICAgICAgb2JqZWN0U3RvcmUtPm1hcmtBc0RlbGV0
ZWQoKTsKKyAgICAgICAgYXV0byBpZGVudGlmaWVyID0gb2JqZWN0U3RvcmUtPmluZm8oKS5pZGVu
dGlmaWVyKCk7CisgICAgICAgIG1fZGVsZXRlZE9iamVjdFN0b3Jlcy5zZXQoaWRlbnRpZmllciwg
V1RGTW92ZShvYmplY3RTdG9yZSkpOworICAgIH0KIAogICAgIHNjaGVkdWxlT3BlcmF0aW9uKElE
QkNsaWVudDo6Y3JlYXRlVHJhbnNhY3Rpb25PcGVyYXRpb24oKnRoaXMsICZJREJUcmFuc2FjdGlv
bjo6ZGlkRGVsZXRlT2JqZWN0U3RvcmVPblNlcnZlciwgJklEQlRyYW5zYWN0aW9uOjpkZWxldGVP
YmplY3RTdG9yZU9uU2VydmVyLCBvYmplY3RTdG9yZU5hbWUpKTsKIH0KQEAgLTExOTcsNiArMTIw
OSwxNCBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpjb25uZWN0aW9uQ2xvc2VkRnJvbVNlcnZlcihj
b25zdCBJREJFcnJvciYgZXJyb3IpCiAgICAgZmlyZU9uQWJvcnQoKTsKIH0KIAordm9pZCBJREJU
cmFuc2FjdGlvbjo6dmlzaXRSZWZlcmVuY2VkT2JqZWN0U3RvcmVzKEpTQzo6U2xvdFZpc2l0b3Im
IHZpc2l0b3IpIGNvbnN0Cit7CisgICAgZm9yIChhdXRvJiBvYmplY3RTdG9yZSA6IG1fcmVmZXJl
bmNlZE9iamVjdFN0b3Jlcy52YWx1ZXMoKSkKKyAgICAgICAgdmlzaXRvci5hZGRPcGFxdWVSb290
KG9iamVjdFN0b3JlLmdldCgpKTsKKyAgICBmb3IgKGF1dG8mIG9iamVjdFN0b3JlIDogbV9kZWxl
dGVkT2JqZWN0U3RvcmVzLnZhbHVlcygpKQorICAgICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qo
b2JqZWN0U3RvcmUuZ2V0KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCmluZGV4IDg2YmFiYjE2MDJiNDhmZWE3MWY3
MzUzZWJmY2Q0NDQ3MDZhNmZlMDIuLjY1ZmZmODZiYzBiYzZhNWY4YWViMTgxYjcwYzUyMjRmOTQ0
NzljZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uaApAQCAtMTQ2LDYgKzE0Niw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY29ubmVj
dGlvbkNsb3NlZEZyb21TZXJ2ZXIoY29uc3QgSURCRXJyb3ImKTsKIAorICAgIHZvaWQgdmlzaXRS
ZWZlcmVuY2VkT2JqZWN0U3RvcmVzKEpTQzo6U2xvdFZpc2l0b3ImKSBjb25zdDsKKwogcHJpdmF0
ZToKICAgICBJREJUcmFuc2FjdGlvbihJREJEYXRhYmFzZSYsIGNvbnN0IElEQlRyYW5zYWN0aW9u
SW5mbyYsIElEQk9wZW5EQlJlcXVlc3QqKTsKIApAQCAtMjM0LDcgKzIzNiw4IEBAIHByaXZhdGU6
CiAgICAgRGVxdWU8UmVmUHRyPElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVyYXRpb24+PiBtX2Fi
b3J0UXVldWU7CiAgICAgSGFzaE1hcDxJREJSZXNvdXJjZUlkZW50aWZpZXIsIFJlZlB0cjxJREJD
bGllbnQ6OlRyYW5zYWN0aW9uT3BlcmF0aW9uPj4gbV90cmFuc2FjdGlvbk9wZXJhdGlvbk1hcDsK
IAotICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8SURCT2JqZWN0U3RvcmU+PiBtX3JlZmVyZW5j
ZWRPYmplY3RTdG9yZXM7CisgICAgSGFzaE1hcDxTdHJpbmcsIHN0ZDo6dW5pcXVlX3B0cjxJREJP
YmplY3RTdG9yZT4+IG1fcmVmZXJlbmNlZE9iamVjdFN0b3JlczsKKyAgICBIYXNoTWFwPHVpbnQ2
NF90LCBzdGQ6OnVuaXF1ZV9wdHI8SURCT2JqZWN0U3RvcmU+PiBtX2RlbGV0ZWRPYmplY3RTdG9y
ZXM7CiAKICAgICBIYXNoU2V0PFJlZlB0cjxJREJSZXF1ZXN0Pj4gbV9vcGVuUmVxdWVzdHM7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmlkbAppbmRleCBhODliNTEwNTA0OGUzMTM0ZTgyM2QyY2RiNmE4NGJiMjRkNmYxMDgxLi4zNDhl
ZjNhZDFiZTRkYzI5Yzg3ZjVlOTZlNWQ5MTM5NTU4NTc2MWMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsCkBAIC0yOCw2ICsy
OCw3IEBACiAgICAgQWN0aXZlRE9NT2JqZWN0LAogICAgIENvbmRpdGlvbmFsPUlOREVYRURfREFU
QUJBU0UsCiAgICAgRW5hYmxlZEF0UnVudGltZT1JbmRleGVkREIsCisgICAgSlNDdXN0b21NYXJr
RnVuY3Rpb24sCiAgICAgU2tpcFZUYWJsZVZhbGlkYXRpb24sCiBdIGludGVyZmFjZSBJREJUcmFu
c2FjdGlvbiA6IEV2ZW50VGFyZ2V0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
TGlzdCBvYmplY3RTdG9yZU5hbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRjYWI2MmU1NWI2YmI4NDU5ZmNiOWU4MzIyNzk0
N2EwZjQ5NjM3NTYuLjFlNGY3YmI4MjczZjZjMWY0MmYzN2I5NjJlNTYxYjk3YjA3NThkNDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTE1NjQsMTAgKzE1NjQsMTAgQEAKIAkJNDE2MkE0NTcxMDExNDY0NzAwREZGM0VEIC8qIEpT
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NTUxMDExNDY0NzAwREZGM0VEIC8qIEpTRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwICovOyB9OwogCQk0MTYyQTQ1ODEwMTE0NjQ3MDBERkYz
RUQgLyogSlNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2MkE0NTYxMDExNDY0NzAwREZGM0VEIC8qIEpT
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCAqLzsgfTsKIAkJNDE2RTI5QTYxMDJGQTk2MjAw
N0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2Vy
UmVwb3J0aW5nUHJveHkuaCAqLzsgfTsKKwkJNDE2RTZGRTgxQkJEMTJERjAwMEEzRjY0IC8qIFJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDIzIC8qIEZldGNoSW50
ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjRCOSAvKiBGZXRjaEludGVybmFsc0J1aWx0aW5z
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2
RTZGRTgxQkJEMTJERjAwMEE2MDMzIC8qIFN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBE
MDBCNzY0QzkgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0MTZFNkZFODFCQkQxMkRGMDAwQTNGNjQg
LyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAv
KiBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0
MyAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzNGNjQgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBS
ZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjczRjY0IC8qIFJl
YWRhYmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDUzIC8q
IFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjRFOSAvKiBXcml0
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRh
YmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0
aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDE2RTZGRTkxQkJEMTJFNTAwMEE2MDUzIC8qIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzEx
MEQwMEI3NjRFOCAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIwMjgsNiArMjAyOCw3IEBACiAJCTUx
MkREOEZCMEQ5MUU2QUYwMDBGODlFRSAvKiBBcmNoaXZlUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyREQ4RjEwRDkxRTZBRjAwMEY4
OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5jcHAgKi87IH07CiAJCTUxMkREOEZDMEQ5MUU2QUYwMDBG
ODlFRSAvKiBBcmNoaXZlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMkREOEYyMEQ5MUU2QUYwMDBGODlFRSAvKiBBcmNoaXZlUmVzb3Vy
Y2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
MTJERDhGRDBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZUZhY3RvcnkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMkREOEYzMEQ5MUU2QUYwMDBGODlF
RSAvKiBBcmNoaXZlRmFjdG9yeS5oICovOyB9OworCQk1MTJERjI0RjFEQ0Q5ODAxMDA2Njc3QTQg
LyogSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJERjI0RTFEQ0Q5NzE0MDA2Njc3QTQgLyogSlNJREJUcmFu
c2FjdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJCTUxMkYxQTc4MUMwN0VCNjYwMDkwODIzOSAvKiBJ
REJHZXRSZXN1bHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTEyRjFBNzcxQzA3RUEwRDAwOTA4MjM5IC8qIElEQkdldFJlc3VsdC5jcHAgKi87IH07
CiAJCTUxMzI3RDYwMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMzI3RDVFMTFBMzNBMkIwMDRG
OUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCAqLzsgfTsKIAkJNTEzMjdENjExMUEzM0EyQjAwNEY5RDY1
IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTMyN0Q1RjExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50LmNwcCAq
LzsgfTsKQEAgLTI1OTAsOCArMjU5MSw4IEBACiAJCTZCNjkzQTJFMUM1MUE4MkUwMEIwM0JFRiAv
KiBSZXNvdXJjZUxvYWRPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNkI2OTNBMkQxQzUxQTgyRTAwQjAzQkVGIC8qIFJlc291cmNlTG9hZE9i
c2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNkI2OTNBMzQxQzUxQTk1RDAwQjAzQkVGIC8qIFJlc291cmNlTG9hZE9ic2VydmVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCNjkzQTMzMUM1
MUE5NUQwMEIwM0JFRiAvKiBSZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAgKi87IH07CiAJCTZDNEM5
NkRFMUFENDQ4MzUwMDM2M0Y2NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkM0Qzk2REEx
QUQ0NDgzNTAwMzYzRjY0IC8qIEpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5jcHAgKi87
IH07Ci0JCTZDNEM5NkRGMUFENDQ4MzUwMDM2M0Y2NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDZDNEM5NkRCMUFENDQ4MzUwMDM2M0Y2NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXIuaCAqLzsgfTsKIAkJNkM0Qzk2REUxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2QzRDOTZEQTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyLmNwcCAqLzsgfTsKKwkJNkM0Qzk2REYxQUQ0NDgzNTAwMzYzRjY0
IC8qIEpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkM0Qzk2REIxQUQ0NDgzNTAwMzYzRjY0IC8qIEpT
UmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5oICovOyB9OwogCQk2QzRDOTZERjFBRDQ0ODM1
MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QzRDOTZEQjFBRDQ0ODM1MDAz
NjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggKi87IH07CiAJCTZD
NjM4ODk1QTk2Q0NFRTUwQzhDOTQ2QyAvKiBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3Jz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QzYzODg5
M0E5NkNDRUU1MEM4Qzk0NkMgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTZDNjM4ODk2
QTk2Q0NFRTUwQzhDOTQ2QyAvKiBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZDNjM4ODk0QTk2
Q0NFRTUwQzhDOTQ2QyAvKiBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmNwcCAqLzsg
fTsKQEAgLTkxNjEsNiArOTE2Miw3IEBACiAJCTUxMkREOEYxMEQ5MUU2QUYwMDBGODlFRSAvKiBB
cmNoaXZlUmVzb3VyY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QXJjaGl2ZVJlc291cmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEyREQ4
RjIwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBcmNoaXZlUmVzb3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTEyREQ4RjMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVGYWN0b3J5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFyY2hpdmVGYWN0b3J5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMkRGMjRFMURDRDk3MTQwMDY2NzdBNCAvKiBKU0lEQlRy
YW5zYWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSURCVHJhbnNhY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MTJGMUE3NzFDMDdFQTBEMDA5MDgyMzkgLyogSURCR2V0UmVzdWx0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQkdldFJlc3VsdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxMzI3RDVFMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2lua0RvY3VtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMzI3RDVGMTFBMzNBMkIwMDRGOUQ2NSAvKiBT
aW5rRG9jdW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2lu
a0RvY3VtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk3ODIsOCArOTc4
NCw4IEBACiAJCTZCNjkzQTJEMUM1MUE4MkUwMEIwM0JFRiAvKiBSZXNvdXJjZUxvYWRPYnNlcnZl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRPYnNlcnZl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2QjY5M0EzMzFDNTFBOTVEMDBCMDNC
RUYgLyogUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2QzRDOTZEQTFBRDQ0ODM1MDAzNjNGNjQgLyogSlNSZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
UmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTZDNEM5NkRCMUFENDQ4MzUwMDM2M0Y2NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSZWFkYWJsZUJ5
dGVTdHJlYW1Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZDNEM5
NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkM0
Qzk2REIxQUQ0NDgzNTAwMzYzRjY0IC8qIEpTUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkM0Qzk2REIxQUQ0NDgz
NTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xs
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkM2Mzg4OTNBOTZDQ0VFNTBDOEM5
NDZDIC8qIENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkM2Mzg4OTRBOTZDQ0VFNTBDOEM5NDZDIC8qIENh
Y2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTExNzUsOCArMTExNzcsOCBAQAogCQk5OTA4QjBG
MDFCQ0FDRjkxMDBFRDNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IFJlYWRhYmxlQnl0ZVN0cmVhbUNv
bnRyb2xsZXIuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEYxMUJDQUNG
OTEwMEVEMEY1NSAvKiBTdHJlYW1JbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmph
dmFzY3JpcHQ7IHBhdGggPSBTdHJlYW1JbnRlcm5hbHMuanM7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTk5MDhCMEYxMUJDQUNGOTEwMEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVhbUludGVy
bmFscy5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IFJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5OTA4QjBG
MTFCQ0FDRjkxMDBFRDNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzLmpzICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gUmVhZGFibGVCeXRlU3RyZWFtSW50
ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGMTFCQ0FDRjkx
MDBFRDBGNzUgLyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmphdmFzY3JpcHQ7IHBhdGggPSBXcml0YWJsZVN0cmVhbUludGVybmFscy5qczsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTkwOEIwRjExQkNBQ0Y5MTAwRUQzRjY0IC8qIFJlYWRh
YmxlQnl0ZVN0cmVhbUludGVybmFscy5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlw
dDsgcGF0aCA9IFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRjIxQkNBQ0Y5MTAwRUQwRjY1IC8qIFJlYWRhYmxlU3RyZWFt
RGVmYXVsdFJlYWRlci5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9
IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTkwOEIwRjMxQkNBQ0ZGRTAwRUQwRjY1IC8qIEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRl
Z3lCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCeXRl
TGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5OTA4QjBGNTFCQ0FEMDdEMDBFRDBGNjUgLyogQnl0ZUxlbmd0aFF1ZXVpbmdTdHJh
dGVneUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ5dGVMZW5n
dGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTExODQsMTUgKzExMTg2LDEzIEBACiAJCTk5MDhCMEY3MUJDQUQwN0QwMEVEMEY2NSAvKiBD
b3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTkwOEIwRjkxQkNBRDA3RDAwRUQwRjY1IC8qIFJlYWRhYmxlU3RyZWFtQnVp
bHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhZGFibGVT
dHJlYW1CdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEY5
MUJDQUQwN0QwMEVEMEY3NSAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdyaXRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5OTA4QjBGQTFCQ0FEMDdEMDBFRDNGNjQgLyog
UmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlu
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk5MDhCMEZCMUJDQUQwN0QwMEVE
M0Y2NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckJ1aWx0
aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEZBMUJDQUQwN0QwMEVE
MEY2NSAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQnVpbHRpbnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29u
dHJvbGxlckJ1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIw
RkIxQkNBRDA3RDAwRUQwRjY1IC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJCdWls
dGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTkwOEIwRkQxQkNBRDA3RDAwRUQwRjQ1IC8qIEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmV0Y2hJbnRlcm5hbHNCdWlsdGlu
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEZEMUJDQUQwN0QwMEVE
MEY1NSAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTk5MDhCMEZEMUJDQUQwN0QwMEVEM0Y2NCAvKiBSZWFkYWJsZUJ5
dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEZEMUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGRDFCQ0FEMDdEMDBFRDBGNzUgLyogV3JpdGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTkwOEIwRkQxQkNBRDA3RDAwRUQzRjY0IC8qIFJlYWRhYmxl
Qnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRkUxQkNBRDA3RDAwRUQwRjY1IC8qIFJl
YWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckJ1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckJ1aWx0aW5zLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRkYxQkNBRDA3RDAwRUQwRjY1
IC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckJ1aWx0aW5zLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MjAzOTgwMThCOTVCQzYwMEIzOUFGOSAv
KiBVc2VySW5wdXRCcmlkZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVXNlcklucHV0QnJpZGdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEx
MjMwLDEwICsxMTIzMCwxMCBAQAogCQk5QTUyOEU4MjE3RDdGNTJGMDBBQTk1MTggLyogRmxvYXRp
bmdPYmplY3RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZsb2F0aW5nT2Jq
ZWN0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QUIxRjM3RTE4RTI0ODlBMDA1
MzQ3NDMgLyogQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTlBQjFGMzdGMThFMjQ4OUEwMDUzNDc0MyAvKiBDU1NUb0xlbmd0aENv
bnZlcnNpb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5QjAzRDgwNjFCQjMxMTBEMDBCNzNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxz
QnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVCeXRl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEI5IC8qIEZldGNoSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmV0Y2hJbnRlcm5hbHNCdWlsdGlucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0QzkgLyog
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzNGNjQg
LyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8q
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTggLyogV3JpdGFibGVT
dHJlYW1CdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXcml0YWJs
ZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDNEODA2
MUJCMzExMEQwMEI3NjRFOSAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MzMzLDggKzE3MzMzLDYg
QEAKIAkJCQk0NEEyOEFBRTEyREZCOEJGMDBBRTkyM0IgLyogTWF0aE1MTmFtZXMuaCAqLywKIAkJ
CQk3MUUyMTgzODE3MzU5RkI4MDA2RTZFNEQgLyogUGx1Z0luc1Jlc291cmNlcy5oICovLAogCQkJ
CTcxRTIxODM5MTczNTlGQjgwMDZFNkU0RCAvKiBQbHVnSW5zUmVzb3VyY2VzRGF0YS5jcHAgKi8s
Ci0JCQkJOTkwOEIwRkExQkNBRDA3RDAwNzYzRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXJCdWlsdGlucy5jcHAgKi8sCi0JCQkJOTkwOEIwRkIxQkNBRDA3RDAwNzYzRjY0IC8qIFJl
YWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucy5oICovLAogCQkJCTk5MDhCMEZEMUJD
QUQwN0QwMEVEM0Y2NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAg
Ki8sCiAJCQkJOUIwM0Q4MDYxQkIzMTEwRDAwQjczRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUlu
dGVybmFsc0J1aWx0aW5zLmggKi8sCiAJCQkJOTkwOEIwRjkxQkNBRDA3RDAwRUQwRjY1IC8qIFJl
YWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwICovLApAQCAtMjE4MTUsNiArMjE4MTMsNyBAQAogCQkJ
CTUxNDEyOTlBMUM2QzE2NkQwMDU5RTcxNCAvKiBKU0lEQkluZGV4Q3VzdG9tLmNwcCAqLywKIAkJ
CQk1MTFFRjJDRTE3RjBGREYxMDBFNEZBMTYgLyogSlNJREJPYmplY3RTdG9yZUN1c3RvbS5jcHAg
Ki8sCiAJCQkJOTM0RjMxQjQxQ0MwNzM3MjAwREI0M0RDIC8qIEpTSURCUmVxdWVzdEN1c3RvbS5j
cHAgKi8sCisJCQkJNTEyREYyNEUxRENEOTcxNDAwNjY3N0E0IC8qIEpTSURCVHJhbnNhY3Rpb25D
dXN0b20uY3BwICovLAogCQkJCUE3RDAzMThEMEU5MzU0MDMwMEUyNEFDRCAvKiBKU0ltYWdlRGF0
YUN1c3RvbS5jcHAgKi8sCiAJCQkJN0E3NEVDQkMxMDE4MzlEQTAwQkY5MzlFIC8qIEpTSW5zcGVj
dG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcCAqLywKIAkJCQlCQ0UxQzQzRjBEOTgzMEY0MDAzQjAy
RjIgLyogSlNMb2NhdGlvbkN1c3RvbS5jcHAgKi8sCkBAIC0yNTA3Nyw3ICsyNTA3Niw2IEBACiAJ
CQkJQkMxQkRGMjUxNTZDMThDNzAwMUMxMjQzIC8qIERPTUVycm9yLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRUQ2MDlCRDExNDVCMDcxMDBDODY4NEUgLyogRE9NRm9ybURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MTg1RjNCMDk3NjU3NjYwMDU4MjZEOSAvKiBET01JbXBsZW1lbnRhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJRTM1Q0ExNEUxREJDM0E0MjAwRjgzNTE2IC8qIERPTUpJVEFi
c3RyYWN0SGVhcFJlcG9zaXRvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzMTUwRUE3MURBNzIx
OTMwMDE5NDAxMiAvKiBET01KSVRIZWxwZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOUM2RTRF
NDBENzQ1RTA1MDA2NDQyRTkgLyogRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE5
QzZFNEU4MEQ3NDVFMTgwMDY0NDJFOSAvKiBET01NaW1lVHlwZUFycmF5LmggaW4gSGVhZGVycyAq
LywKQEAgLTI2NzkxLDkgKzI2Nzg5LDkgQEAKIAkJCQlGNTVCM0RDRTEyNTFGMTJEMDAzRUYyNjkg
LyogUmFuZ2VJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFODRFOUUxMTc2NjhCRjEw
MDgxNUI2OCAvKiBSYXN0ZXJTaGFwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg0RDgyN0MxMUQz
MzNFRDAwOTcyOTkwIC8qIFJhd0RhdGFEb2N1bWVudFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNDE2RTZGRTgxQkJEMTJERjAwMEEzRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTNGNjQg
LyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTZFNkZFODFCQkQxMkRG
MDAwQTYwNDMgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZEMzE2MDNDMTJCMDI2NzYwMEMxQTM1OSAvKiBSZWFsdGltZUFuYWx5c2Vy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTRGNjU3MTFBQTk5N0YxMDBFMzhDREQgLyogUmVhbHRp
bWVNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE0RjY1NzIxQUE5OTdGMTAwRTM4
Q0REIC8qIFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLApA
QCAtMjg4MzQsNyArMjg4MzIsNiBAQAogCQkJCUJDMUJERjI0MTU2QzE4ODMwMDFDMTI0MyAvKiBE
T01FcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRUQ2MDlCQzExNDVCMDcxMDBDODY4NEUg
LyogRE9NRm9ybURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgxODVGM0UwOTc2NTc2NjAw
NTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUzNUNB
MTREMURCQzNBM0YwMEY4MzUxNiAvKiBET01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE5QzZFNEUzMEQ3NDVFMDUwMDY0NDJFOSAvKiBET01NaW1lVHlw
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOUM2RTRFNzBENzQ1RTE4MDA2NDQyRTkgLyogRE9N
TWltZVR5cGVBcnJheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MkI2QzlDMjE1RTNGNERGMDA2
OTBCMDUgLyogRE9NTmFtZWRGbG93Q29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4
ODcyLDYgKzI4ODY5LDcgQEAKIAkJCQlGRDZFRDJDMzEzNkI4RTQyMDAzQ0YwNzIgLyogRHluYW1p
Y3NDb21wcmVzc29yTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOURFMzA5OUU2NDky
MDA1NkU1ODEgLyogRWRpdENvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUJBQjZDNkQx
MjU1MDYzMTAwMTYyNkQ0IC8qIEVkaXRpbmdTdHlsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1
MTJERjI0RjFEQ0Q5ODAxMDA2Njc3QTQgLyogSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0QjMwNDNDQzBBRTAzNzNCMDBBODI2NDcgLyogRWRpdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTlCNTVFRUU5MUIzRTg4OTgwMDUzNDJCQyAvKiBFZGl0b3JDb2Nv
YS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzQTM4QjRCMEQwRTU4MDgwMDY4NzJDMiAvKiBFZGl0
b3JDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0lEQlRyYW5zYWN0aW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTZkMzgz
ZTg0N2EyZDBlMDlkYzRkZDIwNjg2ODc1M2ZmZmRkZmI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHAKQEAgLTAs
MCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJK
U0lEQlRyYW5zYWN0aW9uLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2lu
Y2x1ZGUgIkpTRE9NQmluZGluZy5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3ZvaWQgSlNJREJUcmFuc2FjdGlvbjo6dmlzaXRBZGRpdGlvbmFsQ2hp
bGRyZW4oU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgc3RhdGljX2Nhc3Q8SURCVHJhbnNh
Y3Rpb24mPih3cmFwcGVkKCkpLnZpc2l0UmVmZXJlbmNlZE9iamVjdFN0b3Jlcyh2aXNpdG9yKTsK
K30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQyMWNl
MjgxZmQ3NzYwNWM0NDU1MTdkZTBiMGI5NzI4YTc5MDM5NzUuLmNmOGE3MTIwZWI2NmMyY2ZkZDVm
YmI5MTdkNTA3ZGE1M2IzMzE4ZjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE2LTExLTA3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBJbmRleGVkREIgMi4wOiBDbGVhbiB1cCBtb3JlIHRyYW5zYWN0aW9uIGFi
b3J0IGJlaGF2aW9yLCBpbmNsdWRpbmcgdHdlYWtzIHRvIEluZGV4L09iamVjdFN0b3JlIGxpZmV0
aW1lLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0
NDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0LWluZGV4LW1ldGFk
YXRhLXJldmVydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1tdWx0aXBsZS1tZXRhZGF0YS1yZXZlcnQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rp
b24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQ6CisKIDIw
MTYtMTEtMDQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIElu
ZGV4ZWREQiAyLjA6IENsZWFuIHVwIG1vcmUgdHJhbnNhY3Rpb24gYWJvcnQgYW5kIGV4Y2VwdGlv
biB0aHJvd2luZyBiZWhhdmlvciBmcm9tIElEQk9iamVjdFN0b3JlLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tYWJvcnQtaW5kZXgtbWV0YWRhdGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9u
LWFib3J0LWluZGV4LW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQKaW5kZXggNmQ2ZTk0MzMz
NDk0NDA5NDc4Y2VlMjgzYWJlZGEwYWNmYzdmZGEzZi4uMDQ2NTE2YmE2NzhjMDg5NTU5MzQ2NTk4
YzkxYjBiZjM2OWQxNGQwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtaW5kZXgtbWV0YWRh
dGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1pbmRleC1tZXRhZGF0
YS1yZXZlcnQtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsOCBAQAogCiBQQVNTIENyZWF0ZWQgc3Rv
cmVzIGdldCB0aGVpciBpbmRleGVzIG1hcmtlZCBhcyBkZWxldGVkIGFmdGVyIHRoZSB0cmFuc2Fj
dGlvbiB0aGF0IGNyZWF0ZWQgdGhlbSBhYm9ydHMgCi1GQUlMIERlbGV0ZWQgc3RvcmVzIGdldCB0
aGVpciBpbmRleGVzIG1hcmtlZCBhcyBub3QtZGVsZXRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24g
dGhhdCBkZWxldGVkIHRoZW0gYWJvcnRzIGFzc2VydF9hcnJheV9lcXVhbHM6IElEQk9iamVjdFN0
b3JlLmluZGV4TmFtZXMgc2hvdWxkIGJlIGVtcHR5IGltbWVkaWF0ZWx5IGFmdGVyIElEQkRhdGFi
YXNlLmRlbGV0ZU9iamVjdFN0b3JlKCkgcmV0dXJucyBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQg
MCBnb3QgMgotRkFJTCBDcmVhdGVkK2RlbGV0ZWQgc3RvcmVzIHN0aWxsIGhhdmUgdGhlaXIgaW5k
ZXhlcyBtYXJrZWQgYXMgZGVsZXRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gYWJvcnRzIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IElEQk9iamVjdFN0b3JlLmluZGV4TmFtZXMgc2hvdWxkIGJlIGVtcHR5
IGltbWVkaWF0ZWx5IGFmdGVyIElEQkRhdGFiYXNlLmRlbGV0ZU9iamVjdFN0b3JlKCkgcmV0dXJu
cyBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMCBnb3QgMgorUEFTUyBEZWxldGVkIHN0b3JlcyBn
ZXQgdGhlaXIgaW5kZXhlcyBtYXJrZWQgYXMgbm90LWRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0
aW9uIHRoYXQgZGVsZXRlZCB0aGVtIGFib3J0cyAKK1BBU1MgQ3JlYXRlZCtkZWxldGVkIHN0b3Jl
cyBzdGlsbCBoYXZlIHRoZWlyIGluZGV4ZXMgbWFya2VkIGFzIGRlbGV0ZWQgYWZ0ZXIgdGhlIHRy
YW5zYWN0aW9uIGFib3J0cyAKIFBBU1MgQ3JlYXRlZCBpbmRleGVzIGdldCBtYXJrZWQgYXMgZGVs
ZXRlZCBhZnRlciB0aGVpciB0cmFuc2FjdGlvbiBhYm9ydHMgCi1GQUlMIERlbGV0ZWQgaW5kZXhl
cyBnZXQgbWFya2VkIGFzIG5vdC1kZWxldGVkIGFmdGVyIHRoZSB0cmFuc2FjdGlvbiBhYm9ydHMg
YXNzZXJ0X3Rocm93czogSURCSW5kZXguZ2V0IHNob3VsZCB0aHJvdyBUcmFuc2FjdGlvbkluYWN0
aXZlRXJyb3IsIGluZGljYXRpbmcgdGhhdCB0aGUgaW5kZXggaXMgbm8gbG9uZ2VyIG1hcmtlZCBm
b3IgZGVsZXRpb24sIGltbWVkaWF0ZWx5IGFmdGVyIElEQlRyYW5zYWN0aW9uLmFib3J0KCkgcmV0
dXJucyBmdW5jdGlvbiAiKCkgPT4gaW5kZXguZ2V0KCdxdWVyeScpIiB0aHJldyBvYmplY3QgIklu
dmFsaWRTdGF0ZUVycm9yIChET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDExKTogRmFpbGVkIC4u
LiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gVHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yOiBw
cm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTEsIGV4cGVjdGVkIDAKK1BBU1MgRGVsZXRlZCBp
bmRleGVzIGdldCBtYXJrZWQgYXMgbm90LWRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGFi
b3J0cyAKIFBBU1MgQ3JlYXRlZCtkZWxldGVkIGluZGV4ZXMgYXJlIHN0aWxsIG1hcmtlZCBhcyBk
ZWxldGVkIGFmdGVyIHRoZWlyIHRyYW5zYWN0aW9uIGFib3J0cyAKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tYWJvcnQtbXVsdGlwbGUtbWV0YWRhdGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0
aW9uLWFib3J0LW11bHRpcGxlLW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQKaW5kZXggN2Iw
OWNhNDA5NzQyNmQyYzQzZWIxZTA2NmFmNmM4NjFhOTU4Y2M2OC4uMGRiZWE4ODhiMWY5ZmM2ZGJk
NTc1ZmIzODEwYjQxZWEzMDZjYmQyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtbXVsdGlw
bGUtbWV0YWRhdGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1tdWx0
aXBsZS1tZXRhZGF0YS1yZXZlcnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiBQQVNT
IERlbGV0ZWQgaW5kZXhlcyBpbiBuZXdseSBjcmVhdGVkIHN0b3JlcyBhcmUgc3RpbGwgbWFya2Vk
IGFzIGRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGFib3J0cyAKLUZBSUwgRGVsZXRlZCBp
bmRleGVzIGluIGRlbGV0ZWQgc3RvcmVzIGFyZSBzdGlsbCBtYXJrZWQgYXMgbm90LWRlbGV0ZWQg
YWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIGFib3J0cyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBJREJPYmpl
Y3RTdG9yZS5pbmRleE5hbWVzIGZvciB0aGUgZGVsZXRlZCBzdG9yZSBzaG91bGQgYmUgZW1wdHkg
aW1tZWRpYXRlbHkgYWZ0ZXIgSURCRGF0YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoKSByZXR1cm5z
IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAwIGdvdCAxCi1GQUlMIERlbGV0ZWQgaW5kZXhlcyBp
biBjcmVhdGVkK2RlbGV0ZWQgc3RvcmVzIGFyZSBzdGlsbCBtYXJrZWQgYXMgZGVsZXRlZCBhZnRl
ciB0aGVpciB0cmFuc2FjdGlvbiBhYm9ydHMgYXNzZXJ0X2FycmF5X2VxdWFsczogSURCT2JqZWN0
U3RvcmUuaW5kZXhOYW1lcyBzaG91bGQgYmUgZW1wdHkgaW1tZWRpYXRlbHkgYWZ0ZXIgSURCRGF0
YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoKSByZXR1cm5zIGxlbmd0aHMgZGlmZmVyLCBleHBlY3Rl
ZCAwIGdvdCAxCitQQVNTIERlbGV0ZWQgaW5kZXhlcyBpbiBkZWxldGVkIHN0b3JlcyBhcmUgc3Rp
bGwgbWFya2VkIGFzIG5vdC1kZWxldGVkIGFmdGVyIHRoZSB0cmFuc2FjdGlvbiBhYm9ydHMgCitQ
QVNTIERlbGV0ZWQgaW5kZXhlcyBpbiBjcmVhdGVkK2RlbGV0ZWQgc3RvcmVzIGFyZSBzdGlsbCBt
YXJrZWQgYXMgZGVsZXRlZCBhZnRlciB0aGVpciB0cmFuc2FjdGlvbiBhYm9ydHMgCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL3RyYW5zYWN0aW9uLWFib3J0LW9iamVjdC1zdG9yZS1tZXRhZGF0YS1yZXZlcnQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRl
eGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRhLXJldmVydC1leHBl
Y3RlZC50eHQKaW5kZXggM2EzMTZiZjlhY2I4OGE0NTZmMDUwM2ZiMWU4YzQzOTdhMzBjNjZlYi4u
ZjY4Y2UzYTY3OTM1NmMwNTQ4NWE5ZGZlNmUzOTU4MDFiMWJiNGFiMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNh
Y3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
dHJhbnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50
eHQKQEAgLTEsNiArMSw2IEBACiAKIFBBU1MgQ3JlYXRlZCBzdG9yZXMgZ2V0IG1hcmtlZCBhcyBk
ZWxldGVkIGFmdGVyIHRoZWlyIHRyYW5zYWN0aW9uIGFib3J0cyAKLUZBSUwgRGVsZXRlZCBzdG9y
ZXMgZ2V0IG1hcmtlZCBhcyBub3QtZGVsZXRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gYWJvcnRz
IGFzc2VydF90aHJvd3M6IElEQk9iamVjdFN0b3JlLmdldCBzaG91bGQgdGhyb3cgVHJhbnNhY3Rp
b25JbmFjdGl2ZUVycm9yLCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0b3JlIGlzIG5vIGxvbmdlciBt
YXJrZWQgZm9yIGRlbGV0aW9uLCBpbW1lZGlhdGVseSBhZnRlciBJREJUcmFuc2FjdGlvbi5hYm9y
dCgpIHJldHVybnMgZnVuY3Rpb24gIigpID0+IHN0b3JlLmdldCgncXVlcnknKSIgdGhyZXcgb2Jq
ZWN0ICJJbnZhbGlkU3RhdGVFcnJvciAoRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiAxMSk6IEZh
aWxlZCAuLi4iIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIFRyYW5zYWN0aW9uSW5hY3RpdmVF
cnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDExLCBleHBlY3RlZCAwCitQQVNTIERl
bGV0ZWQgc3RvcmVzIGdldCBtYXJrZWQgYXMgbm90LWRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0
aW9uIGFib3J0cyAKIFBBU1MgQ3JlYXRlZCtkZWxldGVkIHN0b3JlcyBhcmUgc3RpbGwgbWFya2Vk
IGFzIGRlbGV0ZWQgYWZ0ZXIgdGhlaXIgdHJhbnNhY3Rpb24gYWJvcnRzIAogUEFTUyBVbi1pbnN0
YW50aWF0ZWQgZGVsZXRlZCBzdG9yZXMgZ2V0IG1hcmtlZCBhcyBub3QtZGVsZXRlZCBhZnRlciB0
aGUgdHJhbnNhY3Rpb24gYWJvcnRzIAogCg==
</data>
<flag name="review"
          id="316855"
          type_id="1"
          status="+"
          setter="achristensen"
    />
    <flag name="commit-queue"
          id="316957"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294236</attachid>
            <date>2016-11-09 10:23:28 -0800</date>
            <delta_ts>2016-11-09 12:09:33 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>45958</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDQyMWNlMjguLmFjODVmMzAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTExLTA5ICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBJbmRleGVkREIgMi4w
OiBDbGVhbiB1cCBtb3JlIHRyYW5zYWN0aW9uIGFib3J0IGJlaGF2aW9yLCBpbmNsdWRpbmcgdHdl
YWtzIHRvIEluZGV4L09iamVjdFN0b3JlIGxpZmV0aW1lLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvdHJhbnNhY3Rpb24tYWJvcnQtaW5kZXgtbWV0YWRhdGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0aW9uLWFib3J0
LW11bHRpcGxlLW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1vYmplY3Qtc3RvcmUtbWV0
YWRhdGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dDoKKwogMjAxNi0xMS0wNCAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW5kZXhlZERCIDIuMDogQ2xlYW4gdXAgbW9y
ZSB0cmFuc2FjdGlvbiBhYm9ydCBhbmQgZXhjZXB0aW9uIHRocm93aW5nIGJlaGF2aW9yIGZyb20g
SURCT2JqZWN0U3RvcmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1pbmRleC1tZXRhZGF0
YS1yZXZlcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtaW5kZXgtbWV0YWRhdGEtcmV2
ZXJ0LWV4cGVjdGVkLnR4dAppbmRleCA2ZDZlOTQzLi4wNDY1MTZiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2Fj
dGlvbi1hYm9ydC1pbmRleC1tZXRhZGF0YS1yZXZlcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0
aW9uLWFib3J0LWluZGV4LW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQKQEAgLTEsOCArMSw4
IEBACiAKIFBBU1MgQ3JlYXRlZCBzdG9yZXMgZ2V0IHRoZWlyIGluZGV4ZXMgbWFya2VkIGFzIGRl
bGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0aW9uIHRoYXQgY3JlYXRlZCB0aGVtIGFib3J0cyAKLUZB
SUwgRGVsZXRlZCBzdG9yZXMgZ2V0IHRoZWlyIGluZGV4ZXMgbWFya2VkIGFzIG5vdC1kZWxldGVk
IGFmdGVyIHRoZSB0cmFuc2FjdGlvbiB0aGF0IGRlbGV0ZWQgdGhlbSBhYm9ydHMgYXNzZXJ0X2Fy
cmF5X2VxdWFsczogSURCT2JqZWN0U3RvcmUuaW5kZXhOYW1lcyBzaG91bGQgYmUgZW1wdHkgaW1t
ZWRpYXRlbHkgYWZ0ZXIgSURCRGF0YWJhc2UuZGVsZXRlT2JqZWN0U3RvcmUoKSByZXR1cm5zIGxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCAwIGdvdCAyCi1GQUlMIENyZWF0ZWQrZGVsZXRlZCBzdG9y
ZXMgc3RpbGwgaGF2ZSB0aGVpciBpbmRleGVzIG1hcmtlZCBhcyBkZWxldGVkIGFmdGVyIHRoZSB0
cmFuc2FjdGlvbiBhYm9ydHMgYXNzZXJ0X2FycmF5X2VxdWFsczogSURCT2JqZWN0U3RvcmUuaW5k
ZXhOYW1lcyBzaG91bGQgYmUgZW1wdHkgaW1tZWRpYXRlbHkgYWZ0ZXIgSURCRGF0YWJhc2UuZGVs
ZXRlT2JqZWN0U3RvcmUoKSByZXR1cm5zIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAwIGdvdCAy
CitQQVNTIERlbGV0ZWQgc3RvcmVzIGdldCB0aGVpciBpbmRleGVzIG1hcmtlZCBhcyBub3QtZGVs
ZXRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gdGhhdCBkZWxldGVkIHRoZW0gYWJvcnRzIAorUEFT
UyBDcmVhdGVkK2RlbGV0ZWQgc3RvcmVzIHN0aWxsIGhhdmUgdGhlaXIgaW5kZXhlcyBtYXJrZWQg
YXMgZGVsZXRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gYWJvcnRzIAogUEFTUyBDcmVhdGVkIGlu
ZGV4ZXMgZ2V0IG1hcmtlZCBhcyBkZWxldGVkIGFmdGVyIHRoZWlyIHRyYW5zYWN0aW9uIGFib3J0
cyAKLUZBSUwgRGVsZXRlZCBpbmRleGVzIGdldCBtYXJrZWQgYXMgbm90LWRlbGV0ZWQgYWZ0ZXIg
dGhlIHRyYW5zYWN0aW9uIGFib3J0cyBhc3NlcnRfdGhyb3dzOiBJREJJbmRleC5nZXQgc2hvdWxk
IHRocm93IFRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvciwgaW5kaWNhdGluZyB0aGF0IHRoZSBpbmRl
eCBpcyBubyBsb25nZXIgbWFya2VkIGZvciBkZWxldGlvbiwgaW1tZWRpYXRlbHkgYWZ0ZXIgSURC
VHJhbnNhY3Rpb24uYWJvcnQoKSByZXR1cm5zIGZ1bmN0aW9uICIoKSA9PiBpbmRleC5nZXQoJ3F1
ZXJ5JykiIHRocmV3IG9iamVjdCAiSW52YWxpZFN0YXRlRXJyb3IgKERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gMTEpOiBGYWlsZWQgLi4uIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBUcmFu
c2FjdGlvbkluYWN0aXZlRXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byAxMSwgZXhw
ZWN0ZWQgMAorUEFTUyBEZWxldGVkIGluZGV4ZXMgZ2V0IG1hcmtlZCBhcyBub3QtZGVsZXRlZCBh
ZnRlciB0aGUgdHJhbnNhY3Rpb24gYWJvcnRzIAogUEFTUyBDcmVhdGVkK2RlbGV0ZWQgaW5kZXhl
cyBhcmUgc3RpbGwgbWFya2VkIGFzIGRlbGV0ZWQgYWZ0ZXIgdGhlaXIgdHJhbnNhY3Rpb24gYWJv
cnRzIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1tdWx0aXBsZS1tZXRhZGF0YS1yZXZl
cnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtbXVsdGlwbGUtbWV0YWRhdGEtcmV2ZXJ0
LWV4cGVjdGVkLnR4dAppbmRleCA3YjA5Y2E0Li4wZGJlYTg4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlv
bi1hYm9ydC1tdWx0aXBsZS1tZXRhZGF0YS1yZXZlcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL3RyYW5zYWN0
aW9uLWFib3J0LW11bHRpcGxlLW1ldGFkYXRhLXJldmVydC1leHBlY3RlZC50eHQKQEAgLTEsNSAr
MSw1IEBACiAKIFBBU1MgRGVsZXRlZCBpbmRleGVzIGluIG5ld2x5IGNyZWF0ZWQgc3RvcmVzIGFy
ZSBzdGlsbCBtYXJrZWQgYXMgZGVsZXRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gYWJvcnRzIAot
RkFJTCBEZWxldGVkIGluZGV4ZXMgaW4gZGVsZXRlZCBzdG9yZXMgYXJlIHN0aWxsIG1hcmtlZCBh
cyBub3QtZGVsZXRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gYWJvcnRzIGFzc2VydF9hcnJheV9l
cXVhbHM6IElEQk9iamVjdFN0b3JlLmluZGV4TmFtZXMgZm9yIHRoZSBkZWxldGVkIHN0b3JlIHNo
b3VsZCBiZSBlbXB0eSBpbW1lZGlhdGVseSBhZnRlciBJREJEYXRhYmFzZS5kZWxldGVPYmplY3RT
dG9yZSgpIHJldHVybnMgbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDAgZ290IDEKLUZBSUwgRGVs
ZXRlZCBpbmRleGVzIGluIGNyZWF0ZWQrZGVsZXRlZCBzdG9yZXMgYXJlIHN0aWxsIG1hcmtlZCBh
cyBkZWxldGVkIGFmdGVyIHRoZWlyIHRyYW5zYWN0aW9uIGFib3J0cyBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBJREJPYmplY3RTdG9yZS5pbmRleE5hbWVzIHNob3VsZCBiZSBlbXB0eSBpbW1lZGlhdGVs
eSBhZnRlciBJREJEYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgpIHJldHVybnMgbGVuZ3RocyBk
aWZmZXIsIGV4cGVjdGVkIDAgZ290IDEKK1BBU1MgRGVsZXRlZCBpbmRleGVzIGluIGRlbGV0ZWQg
c3RvcmVzIGFyZSBzdGlsbCBtYXJrZWQgYXMgbm90LWRlbGV0ZWQgYWZ0ZXIgdGhlIHRyYW5zYWN0
aW9uIGFib3J0cyAKK1BBU1MgRGVsZXRlZCBpbmRleGVzIGluIGNyZWF0ZWQrZGVsZXRlZCBzdG9y
ZXMgYXJlIHN0aWxsIG1hcmtlZCBhcyBkZWxldGVkIGFmdGVyIHRoZWlyIHRyYW5zYWN0aW9uIGFi
b3J0cyAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9JbmRleGVkREIvdHJhbnNhY3Rpb24tYWJvcnQtb2JqZWN0LXN0b3JlLW1ldGFkYXRh
LXJldmVydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1vYmplY3Qtc3RvcmUtbWV0YWRh
dGEtcmV2ZXJ0LWV4cGVjdGVkLnR4dAppbmRleCAzYTMxNmJmLi5mNjhjZTNhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi90
cmFuc2FjdGlvbi1hYm9ydC1vYmplY3Qtc3RvcmUtbWV0YWRhdGEtcmV2ZXJ0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4
ZWREQi90cmFuc2FjdGlvbi1hYm9ydC1vYmplY3Qtc3RvcmUtbWV0YWRhdGEtcmV2ZXJ0LWV4cGVj
dGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAogUEFTUyBDcmVhdGVkIHN0b3JlcyBnZXQgbWFya2Vk
IGFzIGRlbGV0ZWQgYWZ0ZXIgdGhlaXIgdHJhbnNhY3Rpb24gYWJvcnRzIAotRkFJTCBEZWxldGVk
IHN0b3JlcyBnZXQgbWFya2VkIGFzIG5vdC1kZWxldGVkIGFmdGVyIHRoZSB0cmFuc2FjdGlvbiBh
Ym9ydHMgYXNzZXJ0X3Rocm93czogSURCT2JqZWN0U3RvcmUuZ2V0IHNob3VsZCB0aHJvdyBUcmFu
c2FjdGlvbkluYWN0aXZlRXJyb3IsIGluZGljYXRpbmcgdGhhdCB0aGUgc3RvcmUgaXMgbm8gbG9u
Z2VyIG1hcmtlZCBmb3IgZGVsZXRpb24sIGltbWVkaWF0ZWx5IGFmdGVyIElEQlRyYW5zYWN0aW9u
LmFib3J0KCkgcmV0dXJucyBmdW5jdGlvbiAiKCkgPT4gc3RvcmUuZ2V0KCdxdWVyeScpIiB0aHJl
dyBvYmplY3QgIkludmFsaWRTdGF0ZUVycm9yIChET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDEx
KTogRmFpbGVkIC4uLiIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gVHJhbnNhY3Rpb25JbmFj
dGl2ZUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gMTEsIGV4cGVjdGVkIDAKK1BB
U1MgRGVsZXRlZCBzdG9yZXMgZ2V0IG1hcmtlZCBhcyBub3QtZGVsZXRlZCBhZnRlciB0aGUgdHJh
bnNhY3Rpb24gYWJvcnRzIAogUEFTUyBDcmVhdGVkK2RlbGV0ZWQgc3RvcmVzIGFyZSBzdGlsbCBt
YXJrZWQgYXMgZGVsZXRlZCBhZnRlciB0aGVpciB0cmFuc2FjdGlvbiBhYm9ydHMgCiBQQVNTIFVu
LWluc3RhbnRpYXRlZCBkZWxldGVkIHN0b3JlcyBnZXQgbWFya2VkIGFzIG5vdC1kZWxldGVkIGFm
dGVyIHRoZSB0cmFuc2FjdGlvbiBhYm9ydHMgCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2Nk
NTg5Yy4uZjQ0ODQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExNTIsNiArMTE1Miw3IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0lEQkluZGV4Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTSURCT2JqZWN0U3RvcmVDdXN0b20uY3BwCiAgICAgYmluZGlu
Z3MvanMvSlNJREJSZXF1ZXN0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTSURCVHJhbnNh
Y3Rpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcAog
ICAgIGJpbmRpbmdzL2pzL0pTSW1hZ2VEYXRhQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
SW5zcGVjdG9yRnJvbnRlbmRIb3N0Q3VzdG9tLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDNmZGZlM2EuLjY5
ZjdhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NCBAQAorMjAxNi0xMS0wOSAgQnJhZHkgRWlk
c29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW5kZXhlZERCIDIuMDogQ2xlYW4g
dXAgbW9yZSB0cmFuc2FjdGlvbiBhYm9ydCBiZWhhdmlvciwgaW5jbHVkaW5nIHR3ZWFrcyB0byBJ
bmRleC9PYmplY3RTdG9yZSBsaWZldGltZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE2NDQ2NgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hy
aXN0ZW5zZW4uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzIHRoYXQgbm93IHBhc3MpLgorICAgICAgICAKKyAgICAgICAgUHJldmlvdXNseSwgSURCSW5k
ZXggcmVmL2RlcmVmIGRpZG4ndCB0cmFjayBhIHRyYWRpdGlvbmFsIHJlZiBjb3VudCBidXQgaW5z
dGVhZCBrZXB0IHRoZSBvd25pbmcgb2JqZWN0IHN0b3JlIGFsaXZlLgorICAgICAgICBOb3csIElE
Qk9iamVjdFN0b3JlIHJlZi9kZXJlZiBkbyB0aGUgc2FtZSB0aGluZyBmb3IgdGhlIG93bmluZyB0
cmFuc2FjdGlvbi4KKyAgICAgICAgCisgICAgICAgIE5vdyB3aGVuIGEgdmVyc2lvbiBjaGFuZ2Ug
dHJhbnNhY3Rpb24gaXMgcm9sbGVkIGJhY2ssIHNvbWUgb2JqZWN0IHN0b3JlcyBhbmQgaW5kZXhl
cyBnZXQgcHVsbGVkIG91dCBvZiB0aGUgImRlbGV0ZWQiCisgICAgICAgIHNldCBhbmQgZ2V0IHBy
b21vdGVkIGJhY2sgdXAgaW50byB0aGUgInJlZmVyZW5jZWQiIHNldC4KKyAgICAgICAgCisgICAg
ICAgIE5vdyBkZWxldGVkIG9iamVjdCBzdG9yZXMvaW5kZXhlcyBhcmUgY29uc2lkZXJlZCBvcGFx
dWUgcm9vdHMsIGFzIGxpdmUgb2JqZWN0cyBpbiB0aGUgZGVsZXRlZCBzdGF0ZSAqY2FuKiBnZXQg
YmFjaworICAgICAgICB0byB0aGUgb3duaW5nIG9iamVjdHMuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJREJJbmRleDo6cm9sbGJhY2tJbmZvRm9yVmVyc2lvbkNoYW5nZUFib3J0KToKKworICAg
ICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQk9iamVjdFN0b3JlOjpJREJPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZTo6aW5kZXhOYW1lcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmpl
Y3RTdG9yZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6
Om9wZW5DdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6Om9wZW5LZXlD
dXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmRlbGV0ZUluZGV4KToK
KyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpyb2xsYmFja0ZvclZlcnNpb25DaGFu
Z2VBYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6dmlzaXRSZWZlcmVu
Y2VkSW5kZXhlcyk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6cmVmKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpkZXJlZik6CisgICAgICAgIChXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZTo6Y3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246Om9i
amVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjp0cmFuc2l0aW9u
ZWRUb0ZpbmlzaGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6aW50ZXJu
YWxBYm9ydCk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y3JlYXRlT2JqZWN0
U3RvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmRlbGV0ZU9iamVjdFN0
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjp2aXNpdFJlZmVyZW5jZWRP
YmplY3RTdG9yZXMpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
Lmg6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsOgorCisg
ICAgICAgICogYmluZGluZ3MvanMvSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SlNJREJUcmFuc2FjdGlvbjo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRy
ZW4pOgorCiAyMDE2LTExLTA5ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDg0MjIuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAKaW5kZXggM2E0NTc4ZS4uNWE0ZThj
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXgu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcApA
QCAtMTQ2LDYgKzE0Niw3IEBAIHZvaWQgSURCSW5kZXg6OnJvbGxiYWNrSW5mb0ZvclZlcnNpb25D
aGFuZ2VBYm9ydCgpCiAgICAgfQogCiAgICAgbV9pbmZvID0gbV9vcmlnaW5hbEluZm87CisgICAg
bV9kZWxldGVkID0gZmFsc2U7CiB9CiAKIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURC
SW5kZXg6Om9wZW5DdXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIElEQktleVJhbmdlKiByYW5n
ZSwgY29uc3QgU3RyaW5nJiBkaXJlY3Rpb25TdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5kZXggMmY3ZmI4Zi4uMzNl
NzBmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2Jq
ZWN0U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9i
amVjdFN0b3JlLmNwcApAQCAtNTMsMTYgKzUzLDExIEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUmVmPElEQk9iamVjdFN0b3JlPiBJREJPYmplY3RTdG9y
ZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IElEQk9iamVj
dFN0b3JlSW5mbyYgaW5mbywgSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQotewotICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IElEQk9iamVjdFN0b3JlKGNvbnRleHQsIGluZm8sIHRyYW5zYWN0
aW9uKSk7Ci19Ci0KIElEQk9iamVjdFN0b3JlOjpJREJPYmplY3RTdG9yZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBJREJPYmplY3RTdG9yZUluZm8mIGluZm8sIElEQlRy
YW5zYWN0aW9uJiB0cmFuc2FjdGlvbikKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkK
ICAgICAsIG1faW5mbyhpbmZvKQogICAgICwgbV9vcmlnaW5hbEluZm8oaW5mbykKLSAgICAsIG1f
dHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pCisgICAgLCBtX3RyYW5zYWN0aW9uKCZ0cmFuc2FjdGlv
bikKIHsKICAgICBBU1NFUlQoY3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24tPmRhdGFi
YXNlKCkub3JpZ2luVGhyZWFkSUQoKSk7CiAKQEAgLTEzMSw5ICsxMjYsMTIgQEAgUmVmUHRyPERP
TVN0cmluZ0xpc3Q+IElEQk9iamVjdFN0b3JlOjppbmRleE5hbWVzKCkgY29uc3QKICAgICBBU1NF
UlQoY3VycmVudFRocmVhZCgpID09IG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCkub3JpZ2luVGhy
ZWFkSUQoKSk7CiAKICAgICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gaW5kZXhOYW1lcyA9IERPTVN0
cmluZ0xpc3Q6OmNyZWF0ZSgpOwotICAgIGZvciAoYXV0byYgbmFtZSA6IG1faW5mby5pbmRleE5h
bWVzKCkpCi0gICAgICAgIGluZGV4TmFtZXMtPmFwcGVuZChuYW1lKTsKLSAgICBpbmRleE5hbWVz
LT5zb3J0KCk7CisKKyAgICBpZiAoIW1fZGVsZXRlZCkgeworICAgICAgICBmb3IgKGF1dG8mIG5h
bWUgOiBtX2luZm8uaW5kZXhOYW1lcygpKQorICAgICAgICAgICAgaW5kZXhOYW1lcy0+YXBwZW5k
KG5hbWUpOworICAgICAgICBpbmRleE5hbWVzLT5zb3J0KCk7CisgICAgfQogCiAgICAgcmV0dXJu
IGluZGV4TmFtZXM7CiB9CkBAIC0xNDEsNyArMTM5LDcgQEAgUmVmUHRyPERPTVN0cmluZ0xpc3Q+
IElEQk9iamVjdFN0b3JlOjppbmRleE5hbWVzKCkgY29uc3QKIElEQlRyYW5zYWN0aW9uJiBJREJP
YmplY3RTdG9yZTo6dHJhbnNhY3Rpb24oKQogewogICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkg
PT0gbV90cmFuc2FjdGlvbi0+ZGF0YWJhc2UoKS5vcmlnaW5UaHJlYWRJRCgpKTsKLSAgICByZXR1
cm4gbV90cmFuc2FjdGlvbi5nZXQoKTsKKyAgICByZXR1cm4gKm1fdHJhbnNhY3Rpb247CiB9CiAK
IGJvb2wgSURCT2JqZWN0U3RvcmU6OmF1dG9JbmNyZW1lbnQoKSBjb25zdApAQCAtMTY1LDcgKzE2
Myw3IEBAIEV4Y2VwdGlvbk9yPFJlZjxJREJSZXF1ZXN0Pj4gSURCT2JqZWN0U3RvcmU6Om9wZW5D
dXJzb3IoRXhlY1N0YXRlJiBleGVjU3RhdGUsIFJlCiAgICAgaWYgKCFkaXJlY3Rpb24pCiAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IgfTsKIAotICAgIGF1dG8gaW5mbyA9IElE
QkN1cnNvckluZm86Om9iamVjdFN0b3JlQ3Vyc29yKG1fdHJhbnNhY3Rpb24uZ2V0KCksIG1faW5m
by5pZGVudGlmaWVyKCksIHJhbmdlLmdldCgpLCBkaXJlY3Rpb24udmFsdWUoKSwgSW5kZXhlZERC
OjpDdXJzb3JUeXBlOjpLZXlBbmRWYWx1ZSk7CisgICAgYXV0byBpbmZvID0gSURCQ3Vyc29ySW5m
bzo6b2JqZWN0U3RvcmVDdXJzb3IoKm1fdHJhbnNhY3Rpb24sIG1faW5mby5pZGVudGlmaWVyKCks
IHJhbmdlLmdldCgpLCBkaXJlY3Rpb24udmFsdWUoKSwgSW5kZXhlZERCOjpDdXJzb3JUeXBlOjpL
ZXlBbmRWYWx1ZSk7CiAgICAgcmV0dXJuIG1fdHJhbnNhY3Rpb24tPnJlcXVlc3RPcGVuQ3Vyc29y
KGV4ZWNTdGF0ZSwgKnRoaXMsIGluZm8pOwogfQogCkBAIC0xOTMsNyArMTkxLDcgQEAgRXhjZXB0
aW9uT3I8UmVmPElEQlJlcXVlc3Q+PiBJREJPYmplY3RTdG9yZTo6b3BlbktleUN1cnNvcihFeGVj
U3RhdGUmIGV4ZWNTdGF0ZSwKICAgICBpZiAoIWRpcmVjdGlvbikKICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciB9OwogCi0gICAgYXV0byBpbmZvID0gSURCQ3Vyc29ySW5mbzo6
b2JqZWN0U3RvcmVDdXJzb3IobV90cmFuc2FjdGlvbi5nZXQoKSwgbV9pbmZvLmlkZW50aWZpZXIo
KSwgcmFuZ2UuZ2V0KCksIGRpcmVjdGlvbi52YWx1ZSgpLCBJbmRleGVkREI6OkN1cnNvclR5cGU6
OktleU9ubHkpOworICAgIGF1dG8gaW5mbyA9IElEQkN1cnNvckluZm86Om9iamVjdFN0b3JlQ3Vy
c29yKCptX3RyYW5zYWN0aW9uLCBtX2luZm8uaWRlbnRpZmllcigpLCByYW5nZS5nZXQoKSwgZGly
ZWN0aW9uLnZhbHVlKCksIEluZGV4ZWREQjo6Q3Vyc29yVHlwZTo6S2V5T25seSk7CiAgICAgcmV0
dXJuIG1fdHJhbnNhY3Rpb24tPnJlcXVlc3RPcGVuQ3Vyc29yKGV4ZWNTdGF0ZSwgKnRoaXMsIGlu
Zm8pOwogfQogCkBAIC00OTQsOSArNDkyLDggQEAgRXhjZXB0aW9uT3I8dm9pZD4gSURCT2JqZWN0
U3RvcmU6OmRlbGV0ZUluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgTG9ja2VyPExv
Y2s+IGxvY2tlcihtX3JlZmVyZW5jZWRJbmRleExvY2spOwogICAgICAgICBpZiAoYXV0byBpbmRl
eCA9IG1fcmVmZXJlbmNlZEluZGV4ZXMudGFrZShuYW1lKSkgewogICAgICAgICAgICAgaW5kZXgt
Pm1hcmtBc0RlbGV0ZWQoKTsKLSAgICAgICAgICAgIG1fZGVsZXRlZEluZGV4ZXMuYWRkKFdURk1v
dmUoaW5kZXgpKTsKKyAgICAgICAgICAgIG1fZGVsZXRlZEluZGV4ZXMuYWRkKGluZGV4LT5pbmZv
KCkuaWRlbnRpZmllcigpLCBXVEZNb3ZlKGluZGV4KSk7CiAgICAgICAgIH0KLQogICAgIH0KIAog
ICAgIG1fdHJhbnNhY3Rpb24tPmRlbGV0ZUluZGV4KG1faW5mby5pZGVudGlmaWVyKCksIG5hbWUp
OwpAQCAtNjA4LDYgKzYwNSw4IEBAIHZvaWQgSURCT2JqZWN0U3RvcmU6OnJvbGxiYWNrRm9yVmVy
c2lvbkNoYW5nZUFib3J0KCkKICAgICAgICAgbV9pbmZvLnJlbmFtZShjdXJyZW50TmFtZSk7CiAg
ICAgICAgIG1fZGVsZXRlZCA9IHRydWU7CiAgICAgfSBlbHNlIHsKKyAgICAgICAgbV9kZWxldGVk
ID0gZmFsc2U7CisgICAgICAgIAogICAgICAgICBIYXNoU2V0PHVpbnQ2NF90PiBpbmRleGVzVG9S
ZW1vdmU7CiAgICAgICAgIGZvciAoYXV0byBpbmRleElkZW50aWZpZXIgOiBvYmplY3RTdG9yZUlu
Zm8tPmluZGV4TWFwKCkua2V5cygpKSB7CiAgICAgICAgICAgICBpZiAoIW9iamVjdFN0b3JlSW5m
by0+aGFzSW5kZXgoaW5kZXhJZGVudGlmaWVyKSkKQEAgLTYxOSw2ICs2MTgsMTMgQEAgdm9pZCBJ
REJPYmplY3RTdG9yZTo6cm9sbGJhY2tGb3JWZXJzaW9uQ2hhbmdlQWJvcnQoKQogICAgIH0KIAog
ICAgIExvY2tlcjxMb2NrPiBsb2NrZXIobV9yZWZlcmVuY2VkSW5kZXhMb2NrKTsKKyAgICBmb3Ig
KGF1dG8mIGl0ZXJhdG9yIDogbV9kZWxldGVkSW5kZXhlcykgeworICAgICAgICBpZiAobV9pbmZv
Lmhhc0luZGV4KGl0ZXJhdG9yLmtleSkpIHsKKyAgICAgICAgICAgIGF1dG8gbmFtZSA9IGl0ZXJh
dG9yLnZhbHVlLT5pbmZvKCkubmFtZSgpOworICAgICAgICAgICAgbV9yZWZlcmVuY2VkSW5kZXhl
cy5zZXQobmFtZSwgV1RGTW92ZShpdGVyYXRvci52YWx1ZSkpOworICAgICAgICB9CisgICAgfQor
CiAgICAgZm9yIChhdXRvJiBpbmRleCA6IG1fcmVmZXJlbmNlZEluZGV4ZXMudmFsdWVzKCkpCiAg
ICAgICAgIGluZGV4LT5yb2xsYmFja0luZm9Gb3JWZXJzaW9uQ2hhbmdlQWJvcnQoKTsKIH0KQEAg
LTYyOCw2ICs2MzQsOCBAQCB2b2lkIElEQk9iamVjdFN0b3JlOjp2aXNpdFJlZmVyZW5jZWRJbmRl
eGVzKFNsb3RWaXNpdG9yJiB2aXNpdG9yKSBjb25zdAogICAgIExvY2tlcjxMb2NrPiBsb2NrZXIo
bV9yZWZlcmVuY2VkSW5kZXhMb2NrKTsKICAgICBmb3IgKGF1dG8mIGluZGV4IDogbV9yZWZlcmVu
Y2VkSW5kZXhlcy52YWx1ZXMoKSkKICAgICAgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KGluZGV4
LmdldCgpKTsKKyAgICBmb3IgKGF1dG8mIGluZGV4IDogbV9kZWxldGVkSW5kZXhlcy52YWx1ZXMo
KSkKKyAgICAgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KGluZGV4LmdldCgpKTsKIH0KIAogdm9p
ZCBJREJPYmplY3RTdG9yZTo6cmVuYW1lUmVmZXJlbmNlZEluZGV4KElEQkluZGV4JiBpbmRleCwg
Y29uc3QgU3RyaW5nJiBuZXdOYW1lKQpAQCAtNjQ1LDYgKzY1MywxNiBAQCB2b2lkIElEQk9iamVj
dFN0b3JlOjpyZW5hbWVSZWZlcmVuY2VkSW5kZXgoSURCSW5kZXgmIGluZGV4LCBjb25zdCBTdHJp
bmcmIG5ld05hbQogICAgIG1fcmVmZXJlbmNlZEluZGV4ZXMuc2V0KG5ld05hbWUsIG1fcmVmZXJl
bmNlZEluZGV4ZXMudGFrZShpbmRleC5pbmZvKCkubmFtZSgpKSk7CiB9CiAKK3ZvaWQgSURCT2Jq
ZWN0U3RvcmU6OnJlZigpCit7CisgICAgbV90cmFuc2FjdGlvbi0+cmVmKCk7Cit9CisKK3ZvaWQg
SURCT2JqZWN0U3RvcmU6OmRlcmVmKCkKK3sKKyAgICBtX3RyYW5zYWN0aW9uLT5kZXJlZigpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
Qk9iamVjdFN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmpl
Y3RTdG9yZS5oCmluZGV4IDdiMTRkMGYuLjMyZTcyZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaApAQCAtNTQsMTAgKzU0LDkgQEAg
bmFtZXNwYWNlIEluZGV4ZWREQiB7CiBlbnVtIGNsYXNzIE9iamVjdFN0b3JlT3ZlcndyaXRlTW9k
ZTsKIH0KIAotY2xhc3MgSURCT2JqZWN0U3RvcmUgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxJ
REJPYmplY3RTdG9yZT4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgSURCT2JqZWN0
U3RvcmUgZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUmVmPElEQk9iamVjdFN0b3JlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNv
bnN0IElEQk9iamVjdFN0b3JlSW5mbyYsIElEQlRyYW5zYWN0aW9uJik7Ci0KKyAgICBJREJPYmpl
Y3RTdG9yZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZv
JiwgSURCVHJhbnNhY3Rpb24mKTsKICAgICB+SURCT2JqZWN0U3RvcmUoKTsKIAogICAgIGNvbnN0
IFN0cmluZyYgbmFtZSgpIGNvbnN0OwpAQCAtMTAyLDEyICsxMDEsMTMgQEAgcHVibGljOgogCiAg
ICAgdm9pZCByb2xsYmFja0ZvclZlcnNpb25DaGFuZ2VBYm9ydCgpOwogCisgICAgdm9pZCByZWYo
KTsKKyAgICB2b2lkIGRlcmVmKCk7CisKICAgICB2b2lkIHZpc2l0UmVmZXJlbmNlZEluZGV4ZXMo
SlNDOjpTbG90VmlzaXRvciYpIGNvbnN0OwogICAgIHZvaWQgcmVuYW1lUmVmZXJlbmNlZEluZGV4
KElEQkluZGV4JiwgY29uc3QgU3RyaW5nJiBuZXdOYW1lKTsKIAogcHJpdmF0ZToKLSAgICBJREJP
YmplY3RTdG9yZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgSURCT2JqZWN0U3RvcmVJ
bmZvJiwgSURCVHJhbnNhY3Rpb24mKTsKLQogICAgIGVudW0gY2xhc3MgSW5saW5lS2V5Q2hlY2sg
eyBQZXJmb3JtLCBEb05vdFBlcmZvcm0gfTsKICAgICBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVz
dD4+IHB1dE9yQWRkKEpTQzo6RXhlY1N0YXRlJiwgSlNDOjpKU1ZhbHVlLCBSZWZQdHI8SURCS2V5
PiwgSW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUsIElubGluZUtleUNoZWNrKTsK
ICAgICBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IGRvQ291bnQoSlNDOjpFeGVjU3RhdGUm
LCBjb25zdCBJREJLZXlSYW5nZURhdGEmKTsKQEAgLTExOSwxMyArMTE5LDIwIEBAIHByaXZhdGU6
CiAKICAgICBJREJPYmplY3RTdG9yZUluZm8gbV9pbmZvOwogICAgIElEQk9iamVjdFN0b3JlSW5m
byBtX29yaWdpbmFsSW5mbzsKLSAgICBSZWY8SURCVHJhbnNhY3Rpb24+IG1fdHJhbnNhY3Rpb247
CisKKyAgICAvLyBJREJPYmplY3RTdG9yZSBvYmplY3RzIGFyZSBhbHdheXMgb3duZWQgYnkgdGhl
aXIgcmVmZXJlbmNpbmcgSURCVHJhbnNhY3Rpb24uCisgICAgLy8gT2JqZWN0U3RvcmVzIHdpbGwg
bmV2ZXIgb3V0bGl2ZSB0cmFuc2FjdGlvbnMgc28gaXRzIG9rYXkgdG8ga2VlcCBhIHJhdyBDKysg
cmVmZXJlbmNlIGhlcmUuCisKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgYSByZWZlcmVu
Y2UgaW5zdGVhZCBvZiBhIHBvaW50ZXIgKGFzIG1lbnRpb25lZCBieSB0aGUgYWJvdmUgY29tbWVu
dCkKKyAgICAvLyBidXQgbGVhdmluZyBpdCBhIHBvaW50ZXIgZm9yIG5vdyBtYWtlcyB0aGlzIHBh
dGNoIG11Y2ggZWFzaWVyIHRvIHJldmlldy4KKyAgICAvLyBJJ2xsIG1ha2UgdGhlIHB0ci0+cmVm
IGNoYW5nZSByaWdodCBhZnRlciB0aGlzIHBhdGNoIGxhbmRzLgorICAgIElEQlRyYW5zYWN0aW9u
KiBtX3RyYW5zYWN0aW9uOwogCiAgICAgYm9vbCBtX2RlbGV0ZWQgeyBmYWxzZSB9OwogCiAgICAg
bXV0YWJsZSBMb2NrIG1fcmVmZXJlbmNlZEluZGV4TG9jazsKICAgICBIYXNoTWFwPFN0cmluZywg
c3RkOjp1bmlxdWVfcHRyPElEQkluZGV4Pj4gbV9yZWZlcmVuY2VkSW5kZXhlczsKLSAgICBIYXNo
U2V0PHN0ZDo6dW5pcXVlX3B0cjxJREJJbmRleD4+IG1fZGVsZXRlZEluZGV4ZXM7CisgICAgSGFz
aE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPElEQkluZGV4Pj4gbV9kZWxldGVkSW5kZXhl
czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAppbmRleCAyZDgxMTkyLi5kNjJm
NzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFu
c2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJh
bnNhY3Rpb24uY3BwCkBAIC0xNDksNiArMTQ5LDggQEAgRXhjZXB0aW9uT3I8UmVmPElEQk9iamVj
dFN0b3JlPj4gSURCVHJhbnNhY3Rpb246Om9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgb2JqZWMK
ICAgICBpZiAoaXNGaW5pc2hlZE9yRmluaXNoaW5nKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SW52YWxpZFN0YXRlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiRmFpbGVkIHRvIGV4ZWN1dGUgJ29iamVjdFN0b3JlJyBvbiAnSURCVHJhbnNhY3Rpb24nOiBU
aGUgdHJhbnNhY3Rpb24gZmluaXNoZWQuIikgfTsKIAorICAgIExvY2tlcjxMb2NrPiBsb2NrZXIo
bV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVMb2NrKTsKKwogICAgIGF1dG8gaXRlcmF0b3IgPSBtX3Jl
ZmVyZW5jZWRPYmplY3RTdG9yZXMuZmluZChvYmplY3RTdG9yZU5hbWUpOwogICAgIGlmIChpdGVy
YXRvciAhPSBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMuZW5kKCkpCiAgICAgICAgIHJldHVybiBS
ZWY8SURCT2JqZWN0U3RvcmU+IHsgKml0ZXJhdG9yLT52YWx1ZSB9OwpAQCAtMTY5LDEwICsxNzEs
MTEgQEAgRXhjZXB0aW9uT3I8UmVmPElEQk9iamVjdFN0b3JlPj4gSURCVHJhbnNhY3Rpb246Om9i
amVjdFN0b3JlKGNvbnN0IFN0cmluZyYgb2JqZWMKICAgICBpZiAoIWluZm8gfHwgKCFmb3VuZCAm
JiAhaXNWZXJzaW9uQ2hhbmdlKCkpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSURCRGF0
YWJhc2VFeGNlcHRpb246Ok5vdEZvdW5kRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiRmFpbGVkIHRvIGV4
ZWN1dGUgJ29iamVjdFN0b3JlJyBvbiAnSURCVHJhbnNhY3Rpb24nOiBUaGUgc3BlY2lmaWVkIG9i
amVjdCBzdG9yZSB3YXMgbm90IGZvdW5kLiIpIH07CiAKLSAgICBhdXRvIG9iamVjdFN0b3JlID0g
SURCT2JqZWN0U3RvcmU6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCAqaW5mbywg
KnRoaXMpOwotICAgIG1fcmVmZXJlbmNlZE9iamVjdFN0b3Jlcy5zZXQob2JqZWN0U3RvcmVOYW1l
LCBvYmplY3RTdG9yZS5wdHIoKSk7CisgICAgYXV0byBvYmplY3RTdG9yZSA9IHN0ZDo6bWFrZV91
bmlxdWU8SURCT2JqZWN0U3RvcmU+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksICppbmZvLCAq
dGhpcyk7CisgICAgYXV0byogcmF3T2JqZWN0U3RvcmUgPSBvYmplY3RTdG9yZS5nZXQoKTsKKyAg
ICBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMuc2V0KG9iamVjdFN0b3JlTmFtZSwgV1RGTW92ZShv
YmplY3RTdG9yZSkpOwogCi0gICAgcmV0dXJuIFdURk1vdmUob2JqZWN0U3RvcmUpOworICAgIHJl
dHVybiBSZWY8SURCT2JqZWN0U3RvcmU+KCpyYXdPYmplY3RTdG9yZSk7CiB9CiAKIApAQCAtMTk1
LDcgKzE5OCw2IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OnRyYW5zaXRpb25lZFRvRmluaXNoaW5n
KEluZGV4ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZSBzdGF0ZSkKICAgICBBU1NFUlQoIWlzRmluaXNo
ZWRPckZpbmlzaGluZygpKTsKICAgICBtX3N0YXRlID0gc3RhdGU7CiAgICAgQVNTRVJUKGlzRmlu
aXNoZWRPckZpbmlzaGluZygpKTsKLSAgICBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMuY2xlYXIo
KTsKIH0KIAogRXhjZXB0aW9uT3I8dm9pZD4gSURCVHJhbnNhY3Rpb246OmFib3J0KCkKQEAgLTIy
MCw2ICsyMjIsMTYgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6aW50ZXJuYWxBYm9ydCgpCiAgICAg
bV9kYXRhYmFzZS0+d2lsbEFib3J0VHJhbnNhY3Rpb24oKnRoaXMpOwogCiAgICAgaWYgKGlzVmVy
c2lvbkNoYW5nZSgpKSB7CisgICAgICAgIExvY2tlcjxMb2NrPiBsb2NrZXIobV9yZWZlcmVuY2Vk
T2JqZWN0U3RvcmVMb2NrKTsKKworICAgICAgICBhdXRvJiBpbmZvID0gbV9kYXRhYmFzZS0+aW5m
bygpOworICAgICAgICBmb3IgKGF1dG8mIGl0ZXJhdG9yIDogbV9kZWxldGVkT2JqZWN0U3RvcmVz
KSB7CisgICAgICAgICAgICBpZiAoaW5mby5pbmZvRm9yRXhpc3RpbmdPYmplY3RTdG9yZShpdGVy
YXRvci5rZXkpKSB7CisgICAgICAgICAgICAgICAgYXV0byBuYW1lID0gaXRlcmF0b3IudmFsdWUt
PmluZm8oKS5uYW1lKCk7CisgICAgICAgICAgICAgICAgbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVz
LnNldChuYW1lLCBXVEZNb3ZlKGl0ZXJhdG9yLnZhbHVlKSk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKwogICAgICAgICBmb3IgKGF1dG8mIG9iamVjdFN0b3JlIDogbV9yZWZlcmVuY2VkT2Jq
ZWN0U3RvcmVzLnZhbHVlcygpKQogICAgICAgICAgICAgb2JqZWN0U3RvcmUtPnJvbGxiYWNrRm9y
VmVyc2lvbkNoYW5nZUFib3J0KCk7CiAgICAgfQpAQCAtNTE3LDEyICs1MjksMTUgQEAgUmVmPElE
Qk9iamVjdFN0b3JlPiBJREJUcmFuc2FjdGlvbjo6Y3JlYXRlT2JqZWN0U3RvcmUoY29uc3QgSURC
T2JqZWN0U3RvcmVJbmZvJgogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwog
ICAgIEFTU0VSVChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQo
KSk7CiAKLSAgICBSZWY8SURCT2JqZWN0U3RvcmU+IG9iamVjdFN0b3JlID0gSURCT2JqZWN0U3Rv
cmU6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBpbmZvLCAqdGhpcyk7Ci0gICAg
bV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLnNldChpbmZvLm5hbWUoKSwgJm9iamVjdFN0b3JlLmdl
dCgpKTsKKyAgICBMb2NrZXI8TG9jaz4gbG9ja2VyKG1fcmVmZXJlbmNlZE9iamVjdFN0b3JlTG9j
ayk7CisKKyAgICBhdXRvIG9iamVjdFN0b3JlID0gc3RkOjptYWtlX3VuaXF1ZTxJREJPYmplY3RT
dG9yZT4oKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgaW5mbywgKnRoaXMpOworICAgIGF1dG8q
IHJhd09iamVjdFN0b3JlID0gb2JqZWN0U3RvcmUuZ2V0KCk7CisgICAgbV9yZWZlcmVuY2VkT2Jq
ZWN0U3RvcmVzLnNldChpbmZvLm5hbWUoKSwgV1RGTW92ZShvYmplY3RTdG9yZSkpOwogCiAgICAg
c2NoZWR1bGVPcGVyYXRpb24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlvbigq
dGhpcywgJklEQlRyYW5zYWN0aW9uOjpkaWRDcmVhdGVPYmplY3RTdG9yZU9uU2VydmVyLCAmSURC
VHJhbnNhY3Rpb246OmNyZWF0ZU9iamVjdFN0b3JlT25TZXJ2ZXIsIGluZm8pKTsKIAotICAgIHJl
dHVybiBvYmplY3RTdG9yZTsKKyAgICByZXR1cm4gKnJhd09iamVjdFN0b3JlOwogfQogCiB2b2lk
IElEQlRyYW5zYWN0aW9uOjpjcmVhdGVPYmplY3RTdG9yZU9uU2VydmVyKElEQkNsaWVudDo6VHJh
bnNhY3Rpb25PcGVyYXRpb24mIG9wZXJhdGlvbiwgY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJiBp
bmZvKQpAQCAtNTQ0LDYgKzU1OSw5IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmRpZENyZWF0ZU9i
amVjdFN0b3JlT25TZXJ2ZXIoY29uc3QgSURCUmVzdWx0RGF0YSYgcmVzdWx0RGF0CiB2b2lkIElE
QlRyYW5zYWN0aW9uOjpyZW5hbWVPYmplY3RTdG9yZShJREJPYmplY3RTdG9yZSYgb2JqZWN0U3Rv
cmUsIGNvbnN0IFN0cmluZyYgbmV3TmFtZSkKIHsKICAgICBMT0coSW5kZXhlZERCLCAiSURCVHJh
bnNhY3Rpb246OnJlbmFtZU9iamVjdFN0b3JlIik7CisKKyAgICBMb2NrZXI8TG9jaz4gbG9ja2Vy
KG1fcmVmZXJlbmNlZE9iamVjdFN0b3JlTG9jayk7CisKICAgICBBU1NFUlQoaXNWZXJzaW9uQ2hh
bmdlKCkpOwogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIEFTU0VS
VChjdXJyZW50VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQoKSk7CkBAIC02
MTgsNiArNjM2LDggQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6ZGlkQ3JlYXRlSW5kZXhPblNlcnZl
cihjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQogdm9pZCBJREJUcmFuc2FjdGlvbjo6
cmVuYW1lSW5kZXgoSURCSW5kZXgmIGluZGV4LCBjb25zdCBTdHJpbmcmIG5ld05hbWUpCiB7CiAg
ICAgTE9HKEluZGV4ZWREQiwgIklEQlRyYW5zYWN0aW9uOjpyZW5hbWVJbmRleCIpOworICAgIExv
Y2tlcjxMb2NrPiBsb2NrZXIobV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVMb2NrKTsKKwogICAgIEFT
U0VSVChpc1ZlcnNpb25DaGFuZ2UoKSk7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSk7CiAgICAgQVNTRVJUKGN1cnJlbnRUaHJlYWQoKSA9PSBtX2RhdGFiYXNlLT5vcmlnaW5U
aHJlYWRJRCgpKTsKQEAgLTEwODgsOCArMTEwOCwxMyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpk
ZWxldGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG9iamVjdFN0b3JlTmFtZSkKICAgICBBU1NF
UlQoY3VycmVudFRocmVhZCgpID09IG1fZGF0YWJhc2UtPm9yaWdpblRocmVhZElEKCkpOwogICAg
IEFTU0VSVChpc1ZlcnNpb25DaGFuZ2UoKSk7CiAKLSAgICBpZiAoYXV0byBvYmplY3RTdG9yZSA9
IG1fcmVmZXJlbmNlZE9iamVjdFN0b3Jlcy50YWtlKG9iamVjdFN0b3JlTmFtZSkpCisgICAgTG9j
a2VyPExvY2s+IGxvY2tlcihtX3JlZmVyZW5jZWRPYmplY3RTdG9yZUxvY2spOworCisgICAgaWYg
KGF1dG8gb2JqZWN0U3RvcmUgPSBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMudGFrZShvYmplY3RT
dG9yZU5hbWUpKSB7CiAgICAgICAgIG9iamVjdFN0b3JlLT5tYXJrQXNEZWxldGVkKCk7CisgICAg
ICAgIGF1dG8gaWRlbnRpZmllciA9IG9iamVjdFN0b3JlLT5pbmZvKCkuaWRlbnRpZmllcigpOwor
ICAgICAgICBtX2RlbGV0ZWRPYmplY3RTdG9yZXMuc2V0KGlkZW50aWZpZXIsIFdURk1vdmUob2Jq
ZWN0U3RvcmUpKTsKKyAgICB9CiAKICAgICBzY2hlZHVsZU9wZXJhdGlvbihJREJDbGllbnQ6OmNy
ZWF0ZVRyYW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCAmSURCVHJhbnNhY3Rpb246OmRpZERlbGV0
ZU9iamVjdFN0b3JlT25TZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6ZGVsZXRlT2JqZWN0U3RvcmVP
blNlcnZlciwgb2JqZWN0U3RvcmVOYW1lKSk7CiB9CkBAIC0xMTk3LDYgKzEyMjIsMTUgQEAgdm9p
ZCBJREJUcmFuc2FjdGlvbjo6Y29ubmVjdGlvbkNsb3NlZEZyb21TZXJ2ZXIoY29uc3QgSURCRXJy
b3ImIGVycm9yKQogICAgIGZpcmVPbkFib3J0KCk7CiB9CiAKK3ZvaWQgSURCVHJhbnNhY3Rpb246
OnZpc2l0UmVmZXJlbmNlZE9iamVjdFN0b3JlcyhKU0M6OlNsb3RWaXNpdG9yJiB2aXNpdG9yKSBj
b25zdAoreworICAgIExvY2tlcjxMb2NrPiBsb2NrZXIobV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVM
b2NrKTsKKyAgICBmb3IgKGF1dG8mIG9iamVjdFN0b3JlIDogbV9yZWZlcmVuY2VkT2JqZWN0U3Rv
cmVzLnZhbHVlcygpKQorICAgICAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3Qob2JqZWN0U3RvcmUu
Z2V0KCkpOworICAgIGZvciAoYXV0byYgb2JqZWN0U3RvcmUgOiBtX2RlbGV0ZWRPYmplY3RTdG9y
ZXMudmFsdWVzKCkpCisgICAgICAgIHZpc2l0b3IuYWRkT3BhcXVlUm9vdChvYmplY3RTdG9yZS5n
ZXQoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmgKaW5kZXggODZiYWJiMS4uN2RhYjExNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCkBAIC0xNDYsNiAr
MTQ2LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBjb25uZWN0aW9uQ2xvc2VkRnJvbVNlcnZlcihj
b25zdCBJREJFcnJvciYpOwogCisgICAgdm9pZCB2aXNpdFJlZmVyZW5jZWRPYmplY3RTdG9yZXMo
SlNDOjpTbG90VmlzaXRvciYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIElEQlRyYW5zYWN0aW9u
KElEQkRhdGFiYXNlJiwgY29uc3QgSURCVHJhbnNhY3Rpb25JbmZvJiwgSURCT3BlbkRCUmVxdWVz
dCopOwogCkBAIC0yMzQsNyArMjM2LDkgQEAgcHJpdmF0ZToKICAgICBEZXF1ZTxSZWZQdHI8SURC
Q2xpZW50OjpUcmFuc2FjdGlvbk9wZXJhdGlvbj4+IG1fYWJvcnRRdWV1ZTsKICAgICBIYXNoTWFw
PElEQlJlc291cmNlSWRlbnRpZmllciwgUmVmUHRyPElEQkNsaWVudDo6VHJhbnNhY3Rpb25PcGVy
YXRpb24+PiBtX3RyYW5zYWN0aW9uT3BlcmF0aW9uTWFwOwogCi0gICAgSGFzaE1hcDxTdHJpbmcs
IFJlZlB0cjxJREJPYmplY3RTdG9yZT4+IG1fcmVmZXJlbmNlZE9iamVjdFN0b3JlczsKKyAgICBt
dXRhYmxlIExvY2sgbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVMb2NrOworICAgIEhhc2hNYXA8U3Ry
aW5nLCBzdGQ6OnVuaXF1ZV9wdHI8SURCT2JqZWN0U3RvcmU+PiBtX3JlZmVyZW5jZWRPYmplY3RT
dG9yZXM7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPElEQk9iamVjdFN0
b3JlPj4gbV9kZWxldGVkT2JqZWN0U3RvcmVzOwogCiAgICAgSGFzaFNldDxSZWZQdHI8SURCUmVx
dWVzdD4+IG1fb3BlblJlcXVlc3RzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGwKaW5kZXggYTg5YjUxMC4uMzQ4ZWYzYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24u
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmlkbApAQCAtMjgsNiArMjgsNyBAQAogICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICBDb25kaXRp
b25hbD1JTkRFWEVEX0RBVEFCQVNFLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9SW5kZXhlZERCLAor
ICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLAogXSBp
bnRlcmZhY2UgSURCVHJhbnNhY3Rpb24gOiBFdmVudFRhcmdldCB7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZ0xpc3Qgb2JqZWN0U3RvcmVOYW1lczsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkY2FiNjJlLi4xZTRm
N2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xNTY0LDEwICsxNTY0LDEwIEBACiAJCTQxNjJBNDU3MTAxMTQ2NDcwMERGRjNF
RCAvKiBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNjJBNDU1MTAxMTQ2NDcwMERGRjNFRCAvKiBK
U0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcCAqLzsgfTsKIAkJNDE2MkE0NTgxMDExNDY0
NzAwREZGM0VEIC8qIEpTRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNjJBNDU2MTAxMTQ2NDcwMERGRjNF
RCAvKiBKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggKi87IH07CiAJCTQxNkUyOUE2MTAy
RkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8q
IFdvcmtlclJlcG9ydGluZ1Byb3h5LmggKi87IH07CisJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2
NCAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAyMyAvKiBG
ZXRjaEludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0QjkgLyogRmV0Y2hJbnRlcm5hbHNC
dWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjAzMyAvKiBTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYx
QkIzMTEwRDAwQjc2NEM5IC8qIFN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDE2RTZGRTgxQkJEMTJERjAw
MEEzRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBC
NzY0RDkgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0MTZFNkZFODFCQkQxMkRG
MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDYxQkIzMTEwRDAwQjcz
RjY0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYw
NDMgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3M0Y2
NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBB
NjA1MyAvKiBXcml0YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkg
LyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA0MyAv
KiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJl
YW1CdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA1MyAvKiBXcml0YWJsZVN0cmVhbUJ1aWx0aW5z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgw
NjFCQjMxMTBEMDBCNzY0RTggLyogV3JpdGFibGVTdHJlYW1CdWlsdGlucy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yMDI4LDYgKzIwMjgsNyBA
QAogCQk1MTJERDhGQjBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZVJlc291cmNlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMkREOEYxMEQ5MUU2
QUYwMDBGODlFRSAvKiBBcmNoaXZlUmVzb3VyY2UuY3BwICovOyB9OwogCQk1MTJERDhGQzBEOTFF
NkFGMDAwRjg5RUUgLyogQXJjaGl2ZVJlc291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJERDhGMjBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2
ZVJlc291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNTEyREQ4RkQwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVGYWN0b3J5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJERDhGMzBEOTFFNkFG
MDAwRjg5RUUgLyogQXJjaGl2ZUZhY3RvcnkuaCAqLzsgfTsKKwkJNTEyREYyNEYxRENEOTgwMTAw
NjY3N0E0IC8qIEpTSURCVHJhbnNhY3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyREYyNEUxRENEOTcxNDAwNjY3N0E0IC8qIEpT
SURCVHJhbnNhY3Rpb25DdXN0b20uY3BwICovOyB9OwogCQk1MTJGMUE3ODFDMDdFQjY2MDA5MDgy
MzkgLyogSURCR2V0UmVzdWx0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxMkYxQTc3MUMwN0VBMEQwMDkwODIzOSAvKiBJREJHZXRSZXN1bHQuY3Bw
ICovOyB9OwogCQk1MTMyN0Q2MDExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTMyN0Q1RTExQTMz
QTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50LmggKi87IH07CiAJCTUxMzI3RDYxMTFBMzNBMkIw
MDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTEzMjdENUYxMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVu
dC5jcHAgKi87IH07CkBAIC0yNTkwLDggKzI1OTEsOCBAQAogCQk2QjY5M0EyRTFDNTFBODJFMDBC
MDNCRUYgLyogUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCNjkzQTJEMUM1MUE4MkUwMEIwM0JFRiAvKiBSZXNvdXJj
ZUxvYWRPYnNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTZCNjkzQTM0MUM1MUE5NUQwMEIwM0JFRiAvKiBSZXNvdXJjZUxvYWRPYnNlcnZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QjY5
M0EzMzFDNTFBOTVEMDBCMDNCRUYgLyogUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwICovOyB9Owog
CQk2QzRDOTZERTFBRDQ0ODM1MDAzNjNGNjQgLyogSlNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9s
bGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZD
NEM5NkRBMUFENDQ4MzUwMDM2M0Y2NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIu
Y3BwICovOyB9OwotCQk2QzRDOTZERjFBRDQ0ODM1MDAzNjNGNjQgLyogSlNSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2QzRDOTZEQjFBRDQ0ODM1MDAzNjNGNjQgLyogSlNSZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyLmggKi87IH07CiAJCTZDNEM5NkRFMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNkM0Qzk2REExQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgKi87IH07CisJCTZDNEM5NkRGMUFENDQ4MzUw
MDM2M0Y2NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZDNEM5NkRCMUFENDQ4MzUwMDM2M0Y2
NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaCAqLzsgfTsKIAkJNkM0Qzk2REYx
QUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkM0Qzk2REIxQUQ0
NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oICovOyB9
OwogCQk2QzYzODg5NUE5NkNDRUU1MEM4Qzk0NkMgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5p
dGlhdG9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NkM2Mzg4OTNBOTZDQ0VFNTBDOEM5NDZDIC8qIENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRv
cnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2
QzYzODg5NkE5NkNDRUU1MEM4Qzk0NkMgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9y
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QzYz
ODg5NEE5NkNDRUU1MEM4Qzk0NkMgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycy5j
cHAgKi87IH07CkBAIC05MTYxLDYgKzkxNjIsNyBAQAogCQk1MTJERDhGMTBEOTFFNkFGMDAwRjg5
RUUgLyogQXJjaGl2ZVJlc291cmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEFyY2hpdmVSZXNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxMkREOEYyMEQ5MUU2QUYwMDBGODlFRSAvKiBBcmNoaXZlUmVzb3VyY2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJjaGl2ZVJlc291cmNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxMkREOEYzMEQ5MUU2QUYwMDBGODlFRSAvKiBBcmNoaXZlRmFjdG9y
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBcmNoaXZlRmFjdG9yeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTJERjI0RTFEQ0Q5NzE0MDA2Njc3QTQgLyog
SlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0lEQlRyYW5zYWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTEyRjFBNzcxQzA3RUEwRDAwOTA4MjM5IC8qIElEQkdldFJlc3VsdC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJREJHZXRSZXN1bHQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTMyN0Q1RTExQTMzQTJCMDA0RjlENjUgLyogU2lu
a0RvY3VtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbmtEb2N1bWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTMyN0Q1RjExQTMzQTJCMDA0RjlE
NjUgLyogU2lua0RvY3VtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNpbmtEb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05Nzgy
LDggKzk3ODQsOCBAQAogCQk2QjY5M0EyRDFDNTFBODJFMDBCMDNCRUYgLyogUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkI2OTNBMzMxQzUxQTk1
RDAwQjAzQkVGIC8qIFJlc291cmNlTG9hZE9ic2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJlc291cmNlTG9hZE9ic2VydmVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNkM0Qzk2REExQUQ0NDgzNTAwMzYzRjY0IC8qIEpTUmVhZGFibGVC
eXRlU3RyZWFtQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQk2QzRDOTZEQjFBRDQ0ODM1MDAzNjNGNjQgLyogSlNSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmVh
ZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2QzRDOTZEQTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTZDNEM5NkRCMUFENDQ4MzUwMDM2M0Y2NCAvKiBKU1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRy
b2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZDNEM5NkRC
MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZDNjM4ODkzQTk2Q0NF
RTUwQzhDOTQ2QyAvKiBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3Jz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZDNjM4ODk0QTk2Q0NFRTUwQzhDOTQ2
QyAvKiBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExMTc1LDggKzExMTc3LDggQEAKIAkJ
OTkwOEIwRjAxQkNBQ0Y5MTAwRUQzRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIu
anMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBSZWFkYWJsZUJ5dGVT
dHJlYW1Db250cm9sbGVyLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBG
MTFCQ0FDRjkxMDBFRDBGNTUgLyogU3RyZWFtSW50ZXJuYWxzLmpzICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5qYXZhc2NyaXB0OyBwYXRoID0gU3RyZWFtSW50ZXJuYWxzLmpzOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5OTA4QjBGMTFCQ0FDRjkxMDBFRDBGNjUgLyogUmVhZGFibGVTdHJl
YW1JbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBS
ZWFkYWJsZVN0cmVhbUludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OTkwOEIwRjExQkNBQ0Y5MTAwRUQzRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFscy5q
cyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IFJlYWRhYmxlQnl0ZVN0
cmVhbUludGVybmFscy5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRjEx
QkNBQ0Y5MTAwRUQwRjc1IC8qIFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gV3JpdGFibGVTdHJlYW1JbnRlcm5hbHMuanM7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5MDhCMEYxMUJDQUNGOTEwMEVEM0Y2NCAv
KiBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmph
dmFzY3JpcHQ7IHBhdGggPSBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHMuanM7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEYyMUJDQUNGOTEwMEVEMEY2NSAvKiBSZWFkYWJs
ZVN0cmVhbURlZmF1bHRSZWFkZXIuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7
IHBhdGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIuanM7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTk5MDhCMEYzMUJDQUNGRkUwMEVEMEY2NSAvKiBCeXRlTGVuZ3RoUXVldWlu
Z1N0cmF0ZWd5QnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRjUxQkNBRDA3RDAwRUQwRjY1IC8qIEJ5dGVMZW5ndGhRdWV1
aW5nU3RyYXRlZ3lCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBC
eXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTExMTg0LDE1ICsxMTE4NiwxMyBAQAogCQk5OTA4QjBGNzFCQ0FEMDdEMDBFRDBG
NjUgLyogQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEY5MUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0
cmVhbUJ1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
YWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
OTA4QjBGOTFCQ0FEMDdEMDBFRDBGNzUgLyogV3JpdGFibGVTdHJlYW1CdWlsdGlucy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXcml0YWJsZVN0cmVhbUJ1aWx0aW5z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTkwOEIwRkExQkNBRDA3RDAwRUQz
RjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVy
QnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5OTA4QjBGQjFCQ0FE
MDdEMDBFRDNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xs
ZXJCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGQTFCQ0FE
MDdEMDBFRDBGNjUgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckJ1aWx0aW5zLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtRGVm
YXVsdENvbnRyb2xsZXJCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTk5MDhCMEZCMUJDQUQwN0QwMEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlckJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTk5MDhCMEZEMUJDQUQwN0QwMEVEMEY0NSAvKiBGZXRjaEludGVybmFsc0J1aWx0aW5z
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZldGNoSW50ZXJuYWxz
QnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGRDFCQ0FE
MDdEMDBFRDBGNTUgLyogU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5OTA4QjBGRDFCQ0FEMDdEMDBFRDNGNjQgLyogUmVh
ZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTA4QjBGRDFCQ0FEMDdEMDBFRDBGNjUg
LyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwOEIwRkQxQkNBRDA3RDAwRUQwRjc1IC8q
IFdyaXRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5MDhCMEZEMUJDQUQwN0QwMEVEM0Y2NCAvKiBS
ZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZUJ5dGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEZFMUJDQUQwN0QwMEVEMEY2
NSAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJCdWls
dGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MDhCMEZGMUJDQUQwN0Qw
MEVEMEY2NSAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJCdWlsdGlucy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJCdWls
dGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTIwMzk4MDE4Qjk1QkM2MDBC
MzlBRjkgLyogVXNlcklucHV0QnJpZGdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFVzZXJJbnB1dEJyaWRnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMTIzMCwxMCArMTEyMzAsMTAgQEAKIAkJOUE1MjhFODIxN0Q3RjUyRjAwQUE5NTE4IC8q
IEZsb2F0aW5nT2JqZWN0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGbG9h
dGluZ09iamVjdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUFCMUYzN0UxOEUy
NDg5QTAwNTM0NzQzIC8qIENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5QUIxRjM3RjE4RTI0ODlBMDA1MzQ3NDMgLyogQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOUIwM0Q4MDYxQkIzMTEwRDAwQjczRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUlu
dGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRh
YmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjRCOSAvKiBGZXRjaEludGVybmFsc0J1aWx0aW5z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZldGNoSW50ZXJuYWxzQnVpbHRp
bnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2
NEM5IC8qIFN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0
aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQnVp
bHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOUIwM0Q4MDYxQkIzMTEwRDAw
QjczRjY0IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3
NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEU4IC8qIFdy
aXRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V3JpdGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RTkgLyogV3JpdGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXcml0YWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzMzMyw4ICsx
NzMzMyw2IEBACiAJCQkJNDRBMjhBQUUxMkRGQjhCRjAwQUU5MjNCIC8qIE1hdGhNTE5hbWVzLmgg
Ki8sCiAJCQkJNzFFMjE4MzgxNzM1OUZCODAwNkU2RTREIC8qIFBsdWdJbnNSZXNvdXJjZXMuaCAq
LywKIAkJCQk3MUUyMTgzOTE3MzU5RkI4MDA2RTZFNEQgLyogUGx1Z0luc1Jlc291cmNlc0RhdGEu
Y3BwICovLAotCQkJCTk5MDhCMEZBMUJDQUQwN0QwMDc2M0Y2NCAvKiBSZWFkYWJsZUJ5dGVTdHJl
YW1Db250cm9sbGVyQnVpbHRpbnMuY3BwICovLAotCQkJCTk5MDhCMEZCMUJDQUQwN0QwMDc2M0Y2
NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMuaCAqLywKIAkJCQk5OTA4
QjBGRDFCQ0FEMDdEMDBFRDNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtSW50ZXJuYWxzQnVpbHRp
bnMuY3BwICovLAogCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3M0Y2NCAvKiBSZWFkYWJsZUJ5dGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovLAogCQkJCTk5MDhCMEY5MUJDQUQwN0QwMEVEMEY2
NSAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCAqLywKQEAgLTIxODE1LDYgKzIxODEzLDcg
QEAKIAkJCQk1MTQxMjk5QTFDNkMxNjZEMDA1OUU3MTQgLyogSlNJREJJbmRleEN1c3RvbS5jcHAg
Ki8sCiAJCQkJNTExRUYyQ0UxN0YwRkRGMTAwRTRGQTE2IC8qIEpTSURCT2JqZWN0U3RvcmVDdXN0
b20uY3BwICovLAogCQkJCTkzNEYzMUI0MUNDMDczNzIwMERCNDNEQyAvKiBKU0lEQlJlcXVlc3RD
dXN0b20uY3BwICovLAorCQkJCTUxMkRGMjRFMURDRDk3MTQwMDY2NzdBNCAvKiBKU0lEQlRyYW5z
YWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQlBN0QwMzE4RDBFOTM1NDAzMDBFMjRBQ0QgLyogSlNJ
bWFnZURhdGFDdXN0b20uY3BwICovLAogCQkJCTdBNzRFQ0JDMTAxODM5REEwMEJGOTM5RSAvKiBK
U0luc3BlY3RvckZyb250ZW5kSG9zdEN1c3RvbS5jcHAgKi8sCiAJCQkJQkNFMUM0M0YwRDk4MzBG
NDAwM0IwMkYyIC8qIEpTTG9jYXRpb25DdXN0b20uY3BwICovLApAQCAtMjUwNzcsNyArMjUwNzYs
NiBAQAogCQkJCUJDMUJERjI1MTU2QzE4QzcwMDFDMTI0MyAvKiBET01FcnJvci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkVENjA5QkQxMTQ1QjA3MTAwQzg2ODRFIC8qIERPTUZvcm1EYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBODE4NUYzQjA5NzY1NzY2MDA1ODI2RDkgLyogRE9NSW1wbGVtZW50
YXRpb24uaCBpbiBIZWFkZXJzICovLAotCQkJCUUzNUNBMTRFMURCQzNBNDIwMEY4MzUxNiAvKiBE
T01KSVRBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzE1MEVB
NzFEQTcyMTkzMDAxOTQwMTIgLyogRE9NSklUSGVscGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTlDNkU0RTQwRDc0NUUwNTAwNjQ0MkU5IC8qIERPTU1pbWVUeXBlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBOUM2RTRFODBENzQ1RTE4MDA2NDQyRTkgLyogRE9NTWltZVR5cGVBcnJheS5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNjc5MSw5ICsyNjc4OSw5IEBACiAJCQkJRjU1QjNEQ0UxMjUxRjEyRDAw
M0VGMjY5IC8qIFJhbmdlSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTg0RTlFMTE3
NjY4QkYxMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NEQ4
MjdDMTFEMzMzRUQwMDk3Mjk5MCAvKiBSYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y2NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2RTZGRTgxQkJEMTJERjAw
MEEzRjY0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5z
LmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNkZFODFCQkQxMkRGMDAwQTYwNDMgLyogUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2RTZGRTgx
QkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAzQzEyQjAyNjc2MDBDMUEzNTkgLyogUmVhbHRpbWVB
bmFseXNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE0RjY1NzExQUE5OTdGMTAwRTM4Q0REIC8q
IFJlYWx0aW1lTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBNEY2NTcyMUFBOTk3
RjEwMEUzOENERCAvKiBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI4ODM0LDcgKzI4ODMyLDYgQEAKIAkJCQlCQzFCREYyNDE1NkMxODgzMDAxQzEy
NDMgLyogRE9NRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVENjA5QkMxMTQ1QjA3MTAw
Qzg2ODRFIC8qIERPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTg1RjNFMDk3
NjU3NjYwMDU4MjZEOSAvKiBET01JbXBsZW1lbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQlFMzVDQTE0RDFEQkMzQTNGMDBGODM1MTYgLyogRE9NSklUQWJzdHJhY3RIZWFwUmVwb3NpdG9y
eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOUM2RTRFMzBENzQ1RTA1MDA2NDQyRTkgLyogRE9N
TWltZVR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTlDNkU0RTcwRDc0NUUxODAwNjQ0MkU5
IC8qIERPTU1pbWVUeXBlQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTJCNkM5QzIxNUUz
RjRERjAwNjkwQjA1IC8qIERPTU5hbWVkRmxvd0NvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yODg3Miw2ICsyODg2OSw3IEBACiAJCQkJRkQ2RUQyQzMxMzZCOEU0MjAwM0NGMDcyIC8q
IER5bmFtaWNzQ29tcHJlc3Nvck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzMDlERTMw
OTlFNjQ5MjAwNTZFNTgxIC8qIEVkaXRDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTlC
QUI2QzZEMTI1NTA2MzEwMDE2MjZENCAvKiBFZGl0aW5nU3R5bGUuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNTEyREYyNEYxRENEOTgwMTAwNjY3N0E0IC8qIEpTSURCVHJhbnNhY3Rpb25DdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEIzMDQzQ0MwQUUwMzczQjAwQTgyNjQ3IC8qIEVkaXRv
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QjU1RUVFOTFCM0U4ODk4MDA1MzQyQkMgLyogRWRp
dG9yQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk5M0EzOEI0QjBEMEU1ODA4MDA2ODcyQzIg
LyogRWRpdG9yQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCVHJhbnNhY3Rpb25DdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNJREJUcmFuc2FjdGlvbkN1c3RvbS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU2ZDM4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCVHJhbnNhY3Rpb25DdXN0b20uY3BwCkBAIC0wLDAg
KzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNJ
REJUcmFuc2FjdGlvbi5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNs
dWRlICJKU0RPTUJpbmRpbmcuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCit2b2lkIEpTSURCVHJhbnNhY3Rpb246OnZpc2l0QWRkaXRpb25hbENoaWxk
cmVuKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIHN0YXRpY19jYXN0PElEQlRyYW5zYWN0
aW9uJj4od3JhcHBlZCgpKS52aXNpdFJlZmVyZW5jZWRPYmplY3RTdG9yZXModmlzaXRvcik7Cit9
CisKK30KKworI2VuZGlmCg==
</data>
<flag name="commit-queue"
          id="316961"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>