<?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>176038</bug_id>
          
          <creation_ts>2017-08-28 16:11:43 -0700</creation_ts>
          <short_desc>Add initial support for dataTransferItem.webkitGetAsEntry()</short_desc>
          <delta_ts>2017-08-29 10:00:19 -0700</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>175976</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1342976</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-28 16:11:43 -0700</bug_when>
    <thetext>Add initial support for dataTransferItem.webkitGetAsEntry():
- https://wicg.github.io/entries-api/#html-data</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342977</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-28 16:12:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/34121095&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342978</commentid>
    <comment_count>2</comment_count>
      <attachid>319217</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-28 16:15:59 -0700</bug_when>
    <thetext>Created attachment 319217
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343048</commentid>
    <comment_count>3</comment_count>
      <attachid>319236</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-28 20:22:43 -0700</bug_when>
    <thetext>Created attachment 319236
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343054</commentid>
    <comment_count>4</comment_count>
      <attachid>319239</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-28 21:06:14 -0700</bug_when>
    <thetext>Created attachment 319239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343105</commentid>
    <comment_count>5</comment_count>
      <attachid>319239</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-08-29 09:09:41 -0700</bug_when>
    <thetext>Comment on attachment 319239
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=319239&amp;action=review

&gt; Source/WebCore/ChangeLog:100
&gt; +        Construct a DataTransferItem is the file is a directory now that we

s/is the file/if the file/

&gt; Source/WebCore/dom/DataTransferItem.cpp:111
&gt; +    if (!m_list || !m_list-&gt;dataTransfer().canReadData() || !m_file)

Could we just use ::getAsFile() here and bail if it&apos;s null? (this would avoid duplicated checks for !m_list or !m_list-&gt;dataTransfer().canReadData())

&gt; Source/WebCore/dom/DataTransferItemList.cpp:31
&gt; +#include &quot;FileSystem.h&quot;

Do we need this import? Looks like we&apos;ve only added a call to File::isDirectory here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343106</commentid>
    <comment_count>6</comment_count>
      <attachid>319254</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-29 09:16:44 -0700</bug_when>
    <thetext>Created attachment 319254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343131</commentid>
    <comment_count>7</comment_count>
      <attachid>319254</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-29 10:00:18 -0700</bug_when>
    <thetext>Comment on attachment 319254
Patch

Clearing flags on attachment: 319254

Committed r221302: &lt;http://trac.webkit.org/changeset/221302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1343132</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-29 10:00:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319217</attachid>
            <date>2017-08-28 16:15:59 -0700</date>
            <delta_ts>2017-08-28 20:22:43 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>176038_DataTransferItem_webkitGetAsEntry_wip.patch</filename>
            <type>text/plain</type>
            <size>66363</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2VudHJpZXMtYXBpL2ludGVyZmFjZXMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZW50cmllcy1hcGkvaW50ZXJmYWNl
cy1leHBlY3RlZC50eHQKaW5kZXggZTUwNTM0N2ZhMjEuLmU3MWI5ZWU1ODRiIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVj
dGVkLnR4dApAQCAtMjEsMTkgKzIxLDE5IEBAIFBBU1MgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUgCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKIFBBU1MgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eSAKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFjZTog
b3BlcmF0aW9uIGNyZWF0ZVJlYWRlcigpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJv
cGVydHkgImNyZWF0ZVJlYWRlciIgbWlzc2luZworUEFTUyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50
cnkgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlUmVhZGVyKCkgCiBQQVNTIEZpbGVTeXN0ZW1E
aXJlY3RvcnlFbnRyeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRGaWxlKFVTVlN0cmluZyxGaWxl
U3lzdGVtRmxhZ3MsRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2ssRXJyb3JDYWxsYmFjaykgCiBQQVNT
IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXREaXJlY3Rv
cnkoVVNWU3RyaW5nLEZpbGVTeXN0ZW1GbGFncyxGaWxlU3lzdGVtRW50cnlDYWxsYmFjayxFcnJv
ckNhbGxiYWNrKSAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgRmlsZVN5c3Rl
bUVudHJ5Q2FsbGJhY2sgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCiBQQVNTIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2sgaW50ZXJmYWNlOiBvcGVyYXRpb24gaGFuZGxlRXZlbnQoRmlsZVN5c3RlbUVudHJ5KSAK
LUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIiIGV4
cGVjdGVkIHByb3BlcnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIiBtaXNzaW5nCi1GQUlM
IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZVN5c3Rl
bURpcmVjdG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIiIG1pc3NpbmcKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZp
bGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIiIG1pc3NpbmcKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIiBleHBlY3RlZCBwcm9wZXJ0
eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgbWlzc2luZwotRkFJTCBGaWxlU3lzdGVtRGly
ZWN0b3J5UmVhZGVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlU3lzdGVtRGly
ZWN0b3J5UmVhZGVyIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRl
ciIgbWlzc2luZwotRkFJTCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZTogb3Bl
cmF0aW9uIHJlYWRFbnRyaWVzKEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2ssRXJyb3JDYWxsYmFj
aykgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXIiIG1pc3NpbmcKK1BBU1MgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAor
UEFTUyBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAor
UEFTUyBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BB
U1MgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgRmlsZVN5c3RlbURp
cmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIEZp
bGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVhZEVudHJpZXMo
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayxFcnJvckNhbGxiYWNrKSAKIFBBU1MgRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjayBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IAogUEFTUyBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKQEAgLTY1LDUgKzY1LDUgQEAgUEFTUyBIVE1MSW5wdXRFbGVtZW50IG11c3Qg
YmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZmlsZV9pbnB1dAogUEFTUyBTdHJpbmdpZmljYXRpb24g
b2YgZmlsZV9pbnB1dCAKIFBBU1MgSFRNTElucHV0RWxlbWVudCBpbnRlcmZhY2U6IGZpbGVfaW5w
dXQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3ZWJraXRkaXJlY3RvcnkiIHdpdGggdGhlIHByb3Bl
ciB0eXBlICgwKSAKIEZBSUwgSFRNTElucHV0RWxlbWVudCBpbnRlcmZhY2U6IGZpbGVfaW5wdXQg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJ3ZWJraXRFbnRyaWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAoMSkgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAid2Via2l0RW50cmllcyIgbm90IGZvdW5k
IGluIHByb3RvdHlwZSBjaGFpbgotRkFJTCBEYXRhVHJhbnNmZXJJdGVtIGludGVyZmFjZTogb3Bl
cmF0aW9uIHdlYmtpdEdldEFzRW50cnkoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHBy
b3BlcnR5ICJ3ZWJraXRHZXRBc0VudHJ5IiBtaXNzaW5nCitQQVNTIERhdGFUcmFuc2Zlckl0ZW0g
aW50ZXJmYWNlOiBvcGVyYXRpb24gd2Via2l0R2V0QXNFbnRyeSgpIAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAyZTc4Mjhm
MDE4Yi4uZGYzZjA1ZGMzNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtNTEsNiArNTEsNyBAQAogICAgIG1hY3JvKEZlZGVy
YXRlZENyZWRlbnRpYWwpIFwKICAgICBtYWNybyhGaWxlU3lzdGVtKSBcCiAgICAgbWFjcm8oRmls
ZVN5c3RlbURpcmVjdG9yeUVudHJ5KSBcCisgICAgbWFjcm8oRmlsZVN5c3RlbURpcmVjdG9yeVJl
YWRlcikgXAogICAgIG1hY3JvKEZpbGVTeXN0ZW1FbnRyeSkgXAogICAgIG1hY3JvKEZpbGVTeXN0
ZW1GaWxlRW50cnkpIFwKICAgICBtYWNybyhGdW5jdGlvbikgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA1M2E5YjI4YWE5OS4uYjY0YzhkYzc4YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0y
MDQsNiArMjA0LDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVz
L2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmls
ZUNhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5
RW50cnkuaWRsCisgICAgTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIuaWRsCisgICAgTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2su
aWRsCiAgICAgTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5pZGwKICAgICBNb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaWRsCiAgICAgTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaWRsCkBAIC05MTksOCArOTIxLDExIEBAIHNl
dChXZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL2NyZWRlbnRpYWxzL05hdmlnYXRvckNyZWRl
bnRpYWxzLmNwcAogICAgIE1vZHVsZXMvY3JlZGVudGlhbHMvUGFzc3dvcmRDcmVkZW50aWFsLmNw
cAogCisgICAgTW9kdWxlcy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suY3BwCiAgICAgTW9kdWxl
cy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCiAgICAgTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKKyAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbURpcmVjdG9yeVJlYWRlci5jcHAKKyAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjay5jcHAKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVu
dHJ5LmNwcAogICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmNwcAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAxMDY4Mjg4MmRhYi4uNmU3NDc3Nzk4
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTM4LDYgKzEzOCw4IEBAIEpT
X0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50cmllc2FwaS9FcnJv
ckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZUNh
bGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3Rl
bURpcmVjdG9yeUVudHJ5LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnlDYWxsYmFjay5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmNw
cAppbmRleCA4MTc0YWE3YTViZi4uOTFhMTA3NDE0ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5jcHAKQEAgLTI2LDE3ICsyNiw0
MiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKIAor
I2luY2x1ZGUgIkZpbGVMaXN0LmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5
LmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbUZpbGVFbnRyeS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLURPTUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0ZW0oKQotICAgIDogbV9yb290KEZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeTo6Y3JlYXRlKCp0aGlzKSkKK0RPTUZpbGVTeXN0ZW06OkRPTUZp
bGVTeXN0ZW0oY29uc3QgU3RyaW5nJiBuYW1lLCBGaWxlTGlzdCYgZmlsZXMpCisgICAgOiBtX25h
bWUobmFtZSkKKyAgICAsIG1fcm9vdChGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OmNyZWF0ZSgq
dGhpcywgQVNDSUlMaXRlcmFsKCIvIiksIFN0cmluZygpKSkKIHsKKyAgICB1bnNpZ25lZCBsZW5n
dGggPSBmaWxlcy5sZW5ndGgoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgYXV0byYgZmlsZSA9ICpmaWxlcy5pdGVtKGkpOworCisgICAgICAg
IFN0cmluZyBmaWxlUGF0aCA9IGZpbGUucGF0aCgpOworICAgICAgICBTdHJpbmcgdmlydHVhbFBh
dGggPSAiLyIgKyBmaWxlLm5hbWUoKTsKKyAgICAgICAgaWYgKGZpbGUuaXNEaXJlY3RvcnkoKSkK
KyAgICAgICAgICAgIG1fcm9vdC0+YXBwZW5kQ2hpbGQoRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5
OjpjcmVhdGUoKnRoaXMsIHZpcnR1YWxQYXRoLCBmaWxlUGF0aCkpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBtX3Jvb3QtPmFwcGVuZENoaWxkKEZpbGVTeXN0ZW1GaWxlRW50cnk6OmNyZWF0
ZSgqdGhpcywgdmlydHVhbFBhdGgsIGZpbGVQYXRoKSk7CisgICAgfQogfQogCiBET01GaWxlU3lz
dGVtOjp+RE9NRmlsZVN5c3RlbSgpCiB7CiB9CiAKK0ZpbGVTeXN0ZW1FbnRyeSogRE9NRmlsZVN5
c3RlbTo6Y2hpbGRCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKSBjb25zdAoreworICAgIGF1dG8m
IHJvb3RDaGlsZHJlbiA9IG1fcm9vdC0+Y2hpbGRyZW4oKTsKKyAgICBBU1NFUlQocm9vdENoaWxk
cmVuKTsKKyAgICBmb3IgKGF1dG8mIGVudHJ5IDogcm9vdENoaWxkcmVuLnZhbHVlKCkpIHsKKyAg
ICAgICAgaWYgKGVudHJ5LT5uYW1lKCkgPT0gbmFtZSkKKyAgICAgICAgICAgIHJldHVybiBlbnRy
eS5wdHIoKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9E
T01GaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9NRmls
ZVN5c3RlbS5oCmluZGV4IDQ4NWNkMDUwMjYzLi4zZTA0NzY1NDdkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5oCkBAIC0zMSwxMyAr
MzEsMTUgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBGaWxlTGlzdDsKIGNsYXNz
IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTsKK2NsYXNzIEZpbGVTeXN0ZW1FbnRyeTsKIAogY2xh
c3MgRE9NRmlsZVN5c3RlbSA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3Vu
dGVkPERPTUZpbGVTeXN0ZW0+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPERPTUZpbGVTeXN0
ZW0+IGNyZWF0ZSgpCisgICAgc3RhdGljIFJlZjxET01GaWxlU3lzdGVtPiBjcmVhdGUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBGaWxlTGlzdCYgZmlsZXMpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBET01GaWxlU3lzdGVtKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
RE9NRmlsZVN5c3RlbShuYW1lLCBmaWxlcykpOwogICAgIH0KIAogICAgIH5ET01GaWxlU3lzdGVt
KCk7CkBAIC00NSw4ICs0NywxMCBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5JiBy
b290KCkgY29uc3QgeyByZXR1cm4gbV9yb290OyB9CiAKKyAgICBGaWxlU3lzdGVtRW50cnkqIGNo
aWxkQnlOYW1lKGNvbnN0IFN0cmluZyYpIGNvbnN0OworCiBwcml2YXRlOgotICAgIERPTUZpbGVT
eXN0ZW0oKTsKKyAgICBET01GaWxlU3lzdGVtKGNvbnN0IFN0cmluZyYgbmFtZSwgRmlsZUxpc3Qm
KTsKIAogICAgIFN0cmluZyBtX25hbWU7CiAgICAgUmVmPEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eT4gbV9yb290OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBp
L0Vycm9yQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Vy
cm9yQ2FsbGJhY2suY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44
MGY5NmU1OGY2YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50
cmllc2FwaS9FcnJvckNhbGxiYWNrLmNwcApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIKKworI2luY2x1
ZGUgIkRPTUV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEVycm9yQ2FsbGJhY2s6OnNjaGVkdWxlQ2Fs
bGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPERPTUV4Y2VwdGlvbj4m
JiBleGNlcHRpb24pCit7CisgICAgY29udGV4dC5wb3N0VGFzayhbcHJvdGVjdGVkVGhpcyA9IG1h
a2VSZWYoKnRoaXMpLCBleGNlcHRpb24gPSBXVEZNb3ZlKGV4Y2VwdGlvbildIChTY3JpcHRFeGVj
dXRpb25Db250ZXh0JikgeworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5oYW5kbGVFdmVudChleGNl
cHRpb24pOworICAgIH0pOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suaAppbmRleCA5YjIwM2NjYWQ3Ny4uOGMxZWFmZjlhNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxi
YWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJh
Y2suaApAQCAtMzksNiArMzksOSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgQWN0aXZlRE9NQ2FsbGJh
Y2s6OkFjdGl2ZURPTUNhbGxiYWNrOwogCiAgICAgdmlydHVhbCBDYWxsYmFja1Jlc3VsdDx2b2lk
PiBoYW5kbGVFdmVudChET01FeGNlcHRpb24mKSA9IDA7CisKKyAgICAvLyBIZWxwZXIgdG8gcG9z
dCBjYWxsYmFjayB0YXNrLgorICAgIHZvaWQgc2NoZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgUmVmPERPTUV4Y2VwdGlvbj4mJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmls
ZVN5c3RlbURpcmVjdG9yeUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuY3BwCmluZGV4IGRmOTU5ODI4MjE2Li5mMjJl
Y2M0MDRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKQEAgLTI2LDIwICsyNiwzOSBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eS5oIgogCisjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFj
ay5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCIKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OkZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtKQotICAgIDogRmlsZVN5c3RlbUVudHJ5
KGZpbGVzeXN0ZW0pCitGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OkZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQ
YXRoLCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRmlsZVN5c3RlbUVudHJ5KGZpbGVz
eXN0ZW0sIHZpcnR1YWxQYXRoLCBmdWxsUGF0aCkKK3sKK30KKworUmVmPEZpbGVTeXN0ZW1EaXJl
Y3RvcnlSZWFkZXI+IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Y3JlYXRlUmVhZGVyKCkKIHsK
KyAgICByZXR1cm4gRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcjo6Y3JlYXRlKCp0aGlzKTsKIH0K
IAotdm9pZCBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OmdldEZpbGUoY29uc3QgU3RyaW5nJiwg
Y29uc3QgRmxhZ3MmLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s+JiYsIFJlZlB0cjxF
cnJvckNhbGxiYWNrPiYmKQordm9pZCBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OmdldEZpbGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiwgY29uc3QgRmxh
Z3MmLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxi
YWNrPiYmIGVycm9yQ2FsbGJhY2spCiB7CisgICAgaWYgKGVycm9yQ2FsbGJhY2spCisgICAgICAg
IGVycm9yQ2FsbGJhY2stPnNjaGVkdWxlQ2FsbGJhY2soY29udGV4dCwgRE9NRXhjZXB0aW9uOjpj
cmVhdGUoTm90U3VwcG9ydGVkRXJyb3IpKTsKIH0KIAotdm9pZCBGaWxlU3lzdGVtRGlyZWN0b3J5
RW50cnk6OmdldERpcmVjdG9yeShjb25zdCBTdHJpbmcmLCBjb25zdCBGbGFncyYsIFJlZlB0cjxG
aWxlU3lzdGVtRW50cnlDYWxsYmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYpCit2b2lk
IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IEZsYWdzJiwgUmVmUHRyPEZpbGVT
eXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJiBlcnJvckNhbGxi
YWNrKQogeworICAgIGlmIChlcnJvckNhbGxiYWNrKQorICAgICAgICBlcnJvckNhbGxiYWNrLT5z
Y2hlZHVsZUNhbGxiYWNrKGNvbnRleHQsIERPTUV4Y2VwdGlvbjo6Y3JlYXRlKE5vdFN1cHBvcnRl
ZEVycm9yKSk7Cit9CiAKK3ZvaWQgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjphcHBlbmRDaGls
ZChSZWY8RmlsZVN5c3RlbUVudHJ5PiYmIGVudHJ5KQoreworICAgIGlmICghbV9jaGlsZHJlbikK
KyAgICAgICAgbV9jaGlsZHJlbiA9IFZlY3RvcjxSZWY8RmlsZVN5c3RlbUVudHJ5Pj4geyB9Owor
ICAgIG1fY2hpbGRyZW4udmFsdWUoKS5hcHBlbmQoV1RGTW92ZShlbnRyeSkpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmgKaW5kZXggMTMyOTllNzBl
M2EuLjZjZmNkMDY3MDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJp
ZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oCkBAIC0zMCwyNyArMzAs
NDAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXJyb3JDYWxsYmFjazsKK2NsYXNz
IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXI7CiBjbGFzcyBGaWxlU3lzdGVtRW50cnlDYWxsYmFj
azsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIEZpbGVTeXN0ZW1EaXJl
Y3RvcnlFbnRyeSBmaW5hbCA6IHB1YmxpYyBGaWxlU3lzdGVtRW50cnkgewogcHVibGljOgotICAg
IHN0YXRpYyBSZWY8RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5PiBjcmVhdGUoRE9NRmlsZVN5c3Rl
bSYgZmlsZXN5c3RlbSkKKyAgICBzdGF0aWMgUmVmPEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4g
Y3JlYXRlKERPTUZpbGVTeXN0ZW0mIGZpbGVzeXN0ZW0sIGNvbnN0IFN0cmluZyYgdmlydHVhbFBh
dGgsIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkoZmlsZXN5c3RlbSkpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkoZmlsZXN5c3RlbSwg
dmlydHVhbFBhdGgsIGZ1bGxQYXRoKSk7CiAgICAgfQogCisgICAgUmVmPEZpbGVTeXN0ZW1EaXJl
Y3RvcnlSZWFkZXI+IGNyZWF0ZVJlYWRlcigpOworCiAgICAgc3RydWN0IEZsYWdzIHsKICAgICAg
ICAgYm9vbCBjcmVhdGUgeyBmYWxzZSB9OwogICAgICAgICBib29sIGV4Y2x1c2l2ZSB7IGZhbHNl
IH07CiAgICAgfTsKIAotICAgIHZvaWQgZ2V0RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0
IEZsYWdzJiBvcHRpb25zLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s+JiYsIFJlZlB0
cjxFcnJvckNhbGxiYWNrPiYmKTsKLSAgICB2b2lkIGdldERpcmVjdG9yeShjb25zdCBTdHJpbmcm
IHBhdGgsIGNvbnN0IEZsYWdzJiBvcHRpb25zLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJh
Y2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKKyAgICB2b2lkIGdldEZpbGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgRmxhZ3MmIG9wdGlv
bnMsIFJlZlB0cjxGaWxlU3lzdGVtRW50cnlDYWxsYmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJh
Y2s+JiYpOworICAgIHZvaWQgZ2V0RGlyZWN0b3J5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBj
b25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IEZsYWdzJiBvcHRpb25zLCBSZWZQdHI8RmlsZVN5c3Rl
bUVudHJ5Q2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKKworICAgIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFJlZjxGaWxlU3lzdGVtRW50cnk+Pj4mIGNoaWxkcmVuKCkg
Y29uc3QgeyByZXR1cm4gbV9jaGlsZHJlbjsgfQorICAgIHZvaWQgYXBwZW5kQ2hpbGQoUmVmPEZp
bGVTeXN0ZW1FbnRyeT4mJik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc0RpcmVjdG9yeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIGV4cGxpY2l0IEZpbGVTeXN0ZW1EaXJl
Y3RvcnlFbnRyeShET01GaWxlU3lzdGVtJik7CisgICAgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5
KERPTUZpbGVTeXN0ZW0mLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoLCBjb25zdCBTdHJpbmcm
IGZ1bGxQYXRoKTsKKworICAgIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPFJlZjxGaWxlU3lzdGVtRW50
cnk+Pj4gbV9jaGlsZHJlbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkp
CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkZpbGVTeXN0ZW1FbnRyeSYg
ZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzRGlyZWN0b3J5KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwKaW5kZXggMmU2OGRjYjM1MWQu
LjI4YmRmYzc5MjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmlkbApAQCAtMjYsMTQgKzI2
LDE0IEBACiBbCiAgICAgRW5hYmxlZEF0UnVudGltZT1EaXJlY3RvcnlVcGxvYWQsCiBdIGludGVy
ZmFjZSBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkgOiBGaWxlU3lzdGVtRW50cnkgewotICAgIC8v
IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVyKCk7CisgICAgRmlsZVN5c3Rl
bURpcmVjdG9yeVJlYWRlciBjcmVhdGVSZWFkZXIoKTsKIAotICAgIHZvaWQgZ2V0RmlsZShvcHRp
b25hbCBVU1ZTdHJpbmc/IHBhdGgsCisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRdIHZvaWQgZ2V0RmlsZShvcHRpb25hbCBVU1ZTdHJpbmc/IHBhdGgsCiAgICAgICAgIG9wdGlv
bmFsIEZpbGVTeXN0ZW1GbGFncyBvcHRpb25zLAogICAgICAgICBvcHRpb25hbCBGaWxlU3lzdGVt
RW50cnlDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICBvcHRpb25hbCBFcnJvckNh
bGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKIAotICAgIHZvaWQgZ2V0RGlyZWN0b3J5KG9wdGlvbmFs
IFVTVlN0cmluZz8gcGF0aCwKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
dm9pZCBnZXREaXJlY3Rvcnkob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAogICAgICAgICBvcHRp
b25hbCBGaWxlU3lzdGVtRmxhZ3Mgb3B0aW9ucywKICAgICAgICAgb3B0aW9uYWwgRmlsZVN5c3Rl
bUVudHJ5Q2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAgICAgb3B0aW9uYWwgRXJyb3JD
YWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjJlYzgzYTRkYWVkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXIuY3BwCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oIgorCisj
aW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgorI2lu
Y2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1F
bnRyaWVzQ2FsbGJhY2suaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitGaWxlU3lzdGVtRGly
ZWN0b3J5UmVhZGVyOjpGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyKEZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeSYgZGlyZWN0b3J5KQorICAgIDogbV9kaXJlY3RvcnkoZGlyZWN0b3J5KQoreworfQor
CitGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyOjp+RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcigp
Cit7Cit9CisKK3ZvaWQgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcjo6cmVhZEVudHJpZXMoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJh
Y2s+JiYgc3VjY2Vzc0NhbGxiYWNrLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJiBlcnJvckNhbGxi
YWNrKQoreworICAgIGlmIChhdXRvJiBjaGlsZHJlbiA9IG1fZGlyZWN0b3J5LT5jaGlsZHJlbigp
KSB7CisgICAgICAgIHN1Y2Nlc3NDYWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0LCBj
aGlsZHJlbi52YWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoZXJyb3JD
YWxsYmFjaykKKyAgICAgICAgZXJyb3JDYWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0
LCBET01FeGNlcHRpb246OmNyZWF0ZShOb3RTdXBwb3J0ZWRFcnJvcikpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJp
ZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOGEwOTk0NGFkOTUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRl
ci5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRXJyb3JDYWxsYmFjazsKK2NsYXNzIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTsKK2NsYXNz
IEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2s7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OworCitjbGFzcyBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIDogcHVibGljIFNjcmlwdFdyYXBw
YWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcj4geworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcj4gY3JlYXRlKEZp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSYgZGlyZWN0b3J5KQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcihkaXJlY3RvcnkpKTsKKyAg
ICB9CisKKyAgICB+RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcigpOworCisgICAgdm9pZCByZWFk
RW50cmllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPEZpbGVTeXN0ZW1FbnRyaWVzQ2Fs
bGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKKworcHJpdmF0ZToKKyAgICBleHBs
aWNpdCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyKEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSYp
OworCisgICAgUmVmPEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4gbV9kaXJlY3Rvcnk7Cit9Owor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbURpcmVjdG9yeVJlYWRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAuLmRkMGNiMDRkZDU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRsCkBA
IC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEF0UnVudGltZT1EaXJl
Y3RvcnlVcGxvYWQsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKK10gaW50ZXJmYWNl
IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgeworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSB2b2lkIHJlYWRFbnRyaWVzKEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLjk1NWM5NDMyM2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwCkBAIC0w
LDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIgorCisjaW5jbHVkZSAiRmlsZVN5c3RlbUVudHJ5
LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3N0YXRpYyBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+IGNvcHlWZWN0b3Io
Y29uc3QgVmVjdG9yPFJlZjxGaWxlU3lzdGVtRW50cnk+PiYgZW50cmllcykKK3sKKyAgICBWZWN0
b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+IGVudHJpZXNDb3B5OworICAgIGVudHJpZXNDb3B5LnJl
c2VydmVJbml0aWFsQ2FwYWNpdHkoZW50cmllcy5zaXplKCkpOworICAgIGZvciAoYXV0byYgZW50
cnkgOiBlbnRyaWVzKQorICAgICAgICBlbnRyaWVzQ29weS51bmNoZWNrZWRBcHBlbmQoZW50cnku
Y29weVJlZigpKTsKKyAgICByZXR1cm4gZW50cmllc0NvcHk7Cit9CisKK3ZvaWQgRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjazo6c2NoZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBjb25zdCBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+JiBlbnRyaWVzKQor
eworICAgIGNvbnRleHQucG9zdFRhc2soW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwg
ZW50cmllcyA9IGNvcHlWZWN0b3IoZW50cmllcyldIChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jikg
eworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5oYW5kbGVFdmVudChlbnRyaWVzKTsKKyAgICB9KTsK
K30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAuLjM2NTc4ZWI4OTNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaApAQCAt
MCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBY3Rp
dmVET01DYWxsYmFjay5oIgorI2luY2x1ZGUgIkNhbGxiYWNrUmVzdWx0LmgiCisjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGaWxlU3lzdGVtRW50
cnk7CisKK2NsYXNzIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRl
ZDxGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrPiwgcHVibGljIEFjdGl2ZURPTUNhbGxiYWNrIHsK
K3B1YmxpYzoKKyAgICB1c2luZyBBY3RpdmVET01DYWxsYmFjazo6QWN0aXZlRE9NQ2FsbGJhY2s7
CisKKyAgICB2aXJ0dWFsIENhbGxiYWNrUmVzdWx0PHZvaWQ+IGhhbmRsZUV2ZW50KGNvbnN0IFZl
Y3RvcjxSZWY8RmlsZVN5c3RlbUVudHJ5Pj4mKSA9IDA7CisKKyAgICAvLyBIZWxwZXIgdG8gcG9z
dCBjYWxsYmFjayB0YXNrLgorICAgIHZvaWQgc2NoZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgY29uc3QgVmVjdG9yPFJlZjxGaWxlU3lzdGVtRW50cnk+PiYpOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lYjM3YjQ5YWNjOAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50
cmllc0NhbGxiYWNrLmlkbApAQCAtMCwwICsxLDI2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworY2FsbGJhY2sg
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayA9IHZvaWQgKHNlcXVlbmNlPEZpbGVTeXN0ZW1FbnRy
eT4gZW50cmllcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRW50cnkuY3BwCmluZGV4IDhjOGZmZTFjOTRhLi5iOTE4ODY0ODhiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRy
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1F
bnRyeS5jcHAKQEAgLTI2LDEwICsyNiwxNSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkZpbGVTeXN0ZW1FbnRyeS5oIgogCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLUZpbGVTeXN0ZW1FbnRyeTo6RmlsZVN5c3RlbUVudHJ5KERPTUZp
bGVTeXN0ZW0mIGZpbGVzeXN0ZW0pCitGaWxlU3lzdGVtRW50cnk6OkZpbGVTeXN0ZW1FbnRyeShE
T01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoLCBjb25z
dCBTdHJpbmcmIGZ1bGxQYXRoKQogICAgIDogbV9maWxlc3lzdGVtKGZpbGVzeXN0ZW0pCisgICAg
LCBtX25hbWUocGF0aEdldEZpbGVOYW1lKHZpcnR1YWxQYXRoKSkKKyAgICAsIG1fdmlydHVhbFBh
dGgodmlydHVhbFBhdGgpCisgICAgLCBtX2Z1bGxQYXRoKGZ1bGxQYXRoKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmgK
aW5kZXggNDE1NWJiMDM2NmYuLmNiYTQ2OGIwOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5oCkBAIC00MSwxNiArNDEsMTgg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25h
bWU7IH0KKyAgICBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKCkgY29uc3QgeyByZXR1cm4gbV92
aXJ0dWFsUGF0aDsgfQogICAgIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgoKSBjb25zdCB7IHJldHVy
biBtX2Z1bGxQYXRoOyB9CiAgICAgRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSgpIGNvbnN0IHsg
cmV0dXJuIG1fZmlsZXN5c3RlbTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgRmlsZVN5
c3RlbUVudHJ5KERPTUZpbGVTeXN0ZW0mKTsKKyAgICBGaWxlU3lzdGVtRW50cnkoRE9NRmlsZVN5
c3RlbSYsIGNvbnN0IFN0cmluZyYgdmlydHVhbFBhdGgsIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgp
OwogCiBwcml2YXRlOgorICAgIERPTUZpbGVTeXN0ZW0mIG1fZmlsZXN5c3RlbTsKICAgICBTdHJp
bmcgbV9uYW1lOworICAgIFN0cmluZyBtX3ZpcnR1YWxQYXRoOwogICAgIFN0cmluZyBtX2Z1bGxQ
YXRoOwotICAgIERPTUZpbGVTeXN0ZW0mIG1fZmlsZXN5c3RlbTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBp
L0ZpbGVTeXN0ZW1FbnRyeS5pZGwKaW5kZXggYjk0NmRlM2JhYTkuLmY3MTY0MDE1YzA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVu
dHJ5LmlkbApAQCAtMjQsMTIgKzI0LDEzIEBACiAgKi8KIAogWworICAgIEN1c3RvbVRvSlNPYmpl
Y3QsCiAgICAgRW5hYmxlZEF0UnVudGltZT1EaXJlY3RvcnlVcGxvYWQsCiBdIGludGVyZmFjZSBG
aWxlU3lzdGVtRW50cnkgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0RpcmVjdG9yeTsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgVVNWU3RyaW5nIG5hbWU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0
cmluZyBmdWxsUGF0aDsKKyAgICBbSW1wbGVtZW50ZWRBcz12aXJ0dWFsUGF0aF0gcmVhZG9ubHkg
YXR0cmlidXRlIFVTVlN0cmluZyBmdWxsUGF0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
RmlsZVN5c3RlbSBmaWxlc3lzdGVtOwogCiAgICAgLy8gdm9pZCBnZXRQYXJlbnQob3B0aW9uYWwg
RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBFcnJvckNh
bGxiYWNrIGVycm9yQ2FsbGJhY2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuY3BwCmluZGV4IDEzYjQxNWU3ZWNk
Li45ZDM5MGExNTFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVz
YXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmNwcApAQCAtMjYsMTUgKzI2LDIwIEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUZpbGVFbnRyeS5oIgogCisj
aW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgorCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZpbGVTeXN0ZW1GaWxlRW50cnk6OkZpbGVTeXN0ZW1GaWxl
RW50cnkoRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSkKLSAgICA6IEZpbGVTeXN0ZW1FbnRyeShm
aWxlc3lzdGVtKQorRmlsZVN5c3RlbUZpbGVFbnRyeTo6RmlsZVN5c3RlbUZpbGVFbnRyeShET01G
aWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoLCBjb25zdCBT
dHJpbmcmIGZ1bGxQYXRoKQorICAgIDogRmlsZVN5c3RlbUVudHJ5KGZpbGVzeXN0ZW0sIHZpcnR1
YWxQYXRoLCBmdWxsUGF0aCkKIHsKIH0KIAotdm9pZCBGaWxlU3lzdGVtRmlsZUVudHJ5OjpmaWxl
KFJlZlB0cjxGaWxlQ2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKQordm9pZCBG
aWxlU3lzdGVtRmlsZUVudHJ5OjpmaWxlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IFJlZlB0cjxGaWxlQ2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmIGVycm9yQ2Fs
bGJhY2spCiB7CisgICAgaWYgKGVycm9yQ2FsbGJhY2spCisgICAgICAgIGVycm9yQ2FsbGJhY2st
PnNjaGVkdWxlQ2FsbGJhY2soY29udGV4dCwgRE9NRXhjZXB0aW9uOjpjcmVhdGUoTm90U3VwcG9y
dGVkRXJyb3IpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmgKaW5k
ZXggMDRlMmMzMTUxYWQuLjBlZTVmYmU3Y2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmgKQEAgLTMxLDIwICsz
MSwyNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVycm9yQ2FsbGJhY2s7CiBjbGFz
cyBGaWxlQ2FsbGJhY2s7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBG
aWxlU3lzdGVtRmlsZUVudHJ5IGZpbmFsIDogcHVibGljIEZpbGVTeXN0ZW1FbnRyeSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxGaWxlU3lzdGVtRmlsZUVudHJ5PiBjcmVhdGUoRE9NRmlsZVN5
c3RlbSYgZmlsZXN5c3RlbSkKKyAgICBzdGF0aWMgUmVmPEZpbGVTeXN0ZW1GaWxlRW50cnk+IGNy
ZWF0ZShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRo
LCBjb25zdCBTdHJpbmcmIGZ1bGxQYXRoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgRmlsZVN5c3RlbUZpbGVFbnRyeShmaWxlc3lzdGVtKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEZpbGVTeXN0ZW1GaWxlRW50cnkoZmlsZXN5c3RlbSwgdmlydHVhbFBhdGgs
IGZ1bGxQYXRoKSk7CiAgICAgfQogCi0gICAgdm9pZCBmaWxlKFJlZlB0cjxGaWxlQ2FsbGJhY2s+
JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmID0gbnVsbHB0cik7CisgICAgdm9pZCBmaWxlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWZQdHI8RmlsZUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJy
b3JDYWxsYmFjaz4mJiA9IG51bGxwdHIpOwogCiBwcml2YXRlOgogICAgIGJvb2wgaXNGaWxlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogCi0gICAgZXhwbGljaXQgRmlsZVN5c3RlbUZp
bGVFbnRyeShET01GaWxlU3lzdGVtJik7CisgICAgRmlsZVN5c3RlbUZpbGVFbnRyeShET01GaWxl
U3lzdGVtJiwgY29uc3QgU3RyaW5nJiB2aXJ0dWFsUGF0aCwgY29uc3QgU3RyaW5nJiBmdWxsUGF0
aCk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfQkVHSU4oV2ViQ29yZTo6RmlsZVN5c3RlbUZpbGVFbnRyeSkKKyAgICBzdGF0aWMgYm9vbCBp
c1R5cGUoY29uc3QgV2ViQ29yZTo6RmlsZVN5c3RlbUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50
cnkuaXNGaWxlKCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5
LmlkbAppbmRleCAxZDhlYzc4OWViNC4uMTMyNTNjNzQxNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwK
QEAgLTI2LDUgKzI2LDUgQEAKIFsKICAgICBFbmFibGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9h
ZCwKIF0gaW50ZXJmYWNlIEZpbGVTeXN0ZW1GaWxlRW50cnkgOiBGaWxlU3lzdGVtRW50cnkgewot
ICAgIHZvaWQgZmlsZShGaWxlQ2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJy
b3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRdIHZvaWQgZmlsZShGaWxlQ2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9u
YWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk1NzRiY2VhZjI0Li4w
MTg4ZDM0ZWY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMzQwNyw2ICszNDA3LDkgQEAKIAkJODMwMDMwRjUxQjdEMzNCNTAw
RUQzQUFDIC8qIEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzAwMzBGMzFCN0QzM0E2MDBFRDNBQUMg
LyogR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmNwcCAqLzsgfTsKIAkJODMwMDMwRjYxQjdE
MzNCNTAwRUQzQUFDIC8qIEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMwMDMwRjQxQjdEMzNBNjAwRUQz
QUFDIC8qIEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbi5oICovOyB9OwogCQk4MzAwMzBGODFC
N0QzQjc4MDBFRDNBQUMgLyogQ2FjaGVkSFRNTENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzMDAzMEY3MUI3RDM5ODgwMEVEM0FBQyAv
KiBDYWNoZWRIVE1MQ29sbGVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTgzMDMzNTAxMUY1NDkwNTcwMDRERjcwNyAvKiBGaWxlU3lzdGVt
RGlyZWN0b3J5UmVhZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzMDMzNEZCMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5
UmVhZGVyLmNwcCAqLzsgfTsKKwkJODMwMzM1MDIxRjU0OTA1NzAwNERGNzA3IC8qIEZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzMDMzNEZDMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5
UmVhZGVyLmggKi87IH07CisJCTgzMDMzNTAzMUY1NDkwNUEwMDRERjcwNyAvKiBGaWxlU3lzdGVt
RW50cmllc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4MzAzMzRGRTFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxs
YmFjay5oICovOyB9OwogCQk4MzA1MTk5NTFCQjBGMTEwMDBGMzc3MkUgLyogSFRNTFRpbWVFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgz
MDUxOTkyMUJCMEYwRTcwMEYzNzcyRSAvKiBIVE1MVGltZUVsZW1lbnQuY3BwICovOyB9OwogCQk4
MzA1MTk5NjFCQjBGMTEwMDBGMzc3MkUgLyogSFRNTFRpbWVFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzA1MTk5MzFCQjBGMEU3MDBGMzc3
MkUgLyogSFRNTFRpbWVFbGVtZW50LmggKi87IH07CiAJCTgzMDZFRkYxMUI4QkNFQTUwMDMxRDAz
MiAvKiBOYXRpdmVOb2RlRmlsdGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDgzMDZFRkYwMUI4QkNFN0MwMDMxRDAzMiAvKiBOYXRpdmVOb2RlRmls
dGVyLmNwcCAqLzsgfTsKQEAgLTM0MzUsOSArMzQzOCwxNCBAQAogCQk4MzU2NTdDNzFFQ0FCMTA3
MDBDREU3MkQgLyogSlNET01NYXRyaXhJbml0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNTY1N0M2MUVDQUIwRTgwMENERTcyRCAvKiBKU0RPTU1h
dHJpeEluaXQuY3BwICovOyB9OwogCQk4MzU4Q0I2RjFDNTMyNzcyMDBFMEMyRDggLyogSlNYTUxE
b2N1bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4M0Y1NzBBRTFDNTMyNjhFMDA3RkQ2Q0IgLyogSlNYTUxEb2N1bWVudC5jcHAgKi87IH07CiAJ
CTgzNThDQjcwMUM1MzI3NzUwMEUwQzJEOCAvKiBKU1hNTERvY3VtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4M0Y1NzBBRDFDNTMyNjhFMDA3RkQ2
Q0IgLyogSlNYTUxEb2N1bWVudC5oICovOyB9OworCQk4MzVCNjgxMDFGNTQ4QkUxMDA3MUY3RjYg
LyogSlNGaWxlU3lzdGVtRW50cnlDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODM1QjY4MEUxRjU0OEJERTAwNzFGN0Y2IC8qIEpTRmlsZVN5
c3RlbUVudHJ5Q3VzdG9tLmNwcCAqLzsgfTsKIAkJODM1RDM2MzcxOUZGNjE5MzAwNEM5M0FCIC8q
IFN0eWxlQnVpbGRlckN1c3RvbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODM1RDM2MzYxOUZGNjE5MzAwNEM5M0FCIC8qIFN0eWxlQnVpbGRlckN1c3Rv
bS5oICovOyB9OwogCQk4MzVENTRDNDFGNERFNTM4MDBFNjA2NzEgLyogRmlsZUxpc3RDcmVhdG9y
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNUQ1
NEMxMUY0REU1MzQwMEU2MDY3MSAvKiBGaWxlTGlzdENyZWF0b3IuY3BwICovOyB9OwogCQk4MzVE
NTRDNTFGNERFNTM4MDBFNjA2NzEgLyogRmlsZUxpc3RDcmVhdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzVENTRDMjFGNERFNTM0MDBFNjA2NzEg
LyogRmlsZUxpc3RDcmVhdG9yLmggKi87IH07CisJCTgzNjU4OUREMUY1NEE3NjYwMERDMzFGNCAv
KiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM2NTg5REIxRjU0QTc2MjAwREMzMUY0IC8qIEpTRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi87IH07CisJCTgzNjU4OURFMUY1NEE3NjkwMERD
MzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNjU4OUQ5MUY1NEE3NjIwMERDMzFGNCAvKiBK
U0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCAqLzsgfTsKKwkJODM2NTg5REYxRjU0QTc2QzAw
REMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzY1ODlEQTFGNTRBNzYyMDBEQzMxRjQg
LyogSlNGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcCAqLzsgfTsKKwkJODM2NTg5RTAxRjU0
QTc2RTAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM2NTg5RDgxRjU0QTc2MjAwREMz
MUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oICovOyB9OwogCQk4MzY3NTg3RTFD
NTZFOTlCMDA4QTEwODcgLyogSlNIVE1MRGF0YUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM0Qjg2QTkxQzU2RTkzRTAwRjNGMEUzIC8q
IEpTSFRNTERhdGFFbGVtZW50LmNwcCAqLzsgfTsKIAkJODM2NzU4N0YxQzU2RTk5QjAwOEExMDg3
IC8qIEpTSFRNTERhdGFFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4MzRCODZBODFDNTZFOTNFMDBGM0YwRTMgLyogSlNIVE1MRGF0YUVsZW1l
bnQuaCAqLzsgfTsKIAkJODM2QUNFQzIxRUNBNjJDODAwNEJEMDEyIC8qIERPTU1hdHJpeFJlYWRP
bmx5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgz
NkFDRUJGMUVDQTYyQjAwMDRCRDAxMiAvKiBET01NYXRyaXhSZWFkT25seS5jcHAgKi87IH07CkBA
IC0zNDY1LDYgKzM0NzMsNyBAQAogCQk4MzcwNTY5MDFGNTA5MTVDMDBEOTM0MjUgLyogSlNGaWxl
U3lzdGVtRW50cnlDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODM3MDU2ODkxRjUwOTE1MDAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5
Q2FsbGJhY2suaCAqLzsgfTsKIAkJODM3MUFDM0IxRjUwOUJFNDAwRkJGMjg0IC8qIEVycm9yQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgz
NzFBQzM5MUY1MDlCREQwMEZCRjI4NCAvKiBFcnJvckNhbGxiYWNrLmggKi87IH07CiAJCTgzNzJE
QjMxMUE2NzgwQTgwMEM2OTdDNSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzJEQjMwMUE2Nzgw
QTgwMEM2OTdDNSAvKiBEaWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4Mzc2MDlDQTFGNTRDQzE4MDAw
QzEyMkQgLyogRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4Mzc2MDlDODFGNTRDQzEzMDAwQzEyMkQgLyogRXJyb3JDYWxsYmFj
ay5jcHAgKi87IH07CiAJCTgzNzY1Rjk1MURBQzUyMkYwMEMwNjUzNyAvKiBNb3VzZUV2ZW50SW5p
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3NjVG
OTQxREFDNTIxODAwQzA2NTM3IC8qIE1vdXNlRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODM3QTgwMTMxRTFFMTI3MzAwMDI2QjlG
IC8qIExvY2FsaXphYmxlLnN0cmluZ3NkaWN0IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4MzdBODAxMTFFMUUxMjczMDAwMjZCOUYgLyogTG9jYWxpemFi
bGUuc3RyaW5nc2RpY3QgKi87IH07CiAJCTgzN0I3RDIwMURDM0Y1NTAwMEQwNTFGQyAvKiBWYWxp
ZGF0aW9uQnViYmxlSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODM3QjdEMUYxREMzRjU0QzAwRDA1MUZDIC8qIFZhbGlkYXRpb25CdWJibGVJT1Mu
bW0gKi87IH07CkBAIC0zNDc3LDYgKzM0ODYsNyBAQAogCQk4MzhFRjUzQzFEQzE0QTdDMDA4RjBD
MzkgLyogSlNJREJUcmFuc2FjdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDgzOEVGNTNBMURDMTRBNzUwMDhGMEMzOSAvKiBKU0lEQlRyYW5z
YWN0aW9uTW9kZS5oICovOyB9OwogCQk4MzhGODZEQTFGNTA5RTc0MDBFOENGQzUgLyogRmlsZUNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
MzhGODZEODFGNTA5RTZDMDBFOENGQzUgLyogRmlsZUNhbGxiYWNrLmggKi87IH07CiAJCTgzOEY4
NkRCMUY1MDlFN0IwMEU4Q0ZDNSAvKiBGaWxlU3lzdGVtRW50cnlDYWxsYmFjay5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM4Rjg2RDcxRjUwOUU2QzAw
RThDRkM1IC8qIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmggKi87IH07CisJCTgzOTY4MEI0MUY1
NEM2QUQwMDc1MjY5MCAvKiBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzOTY4MEIyMUY1NEM2QTgwMDc1
MjY5MCAvKiBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcCAqLzsgfTsKIAkJODM5OTQ3MEIx
RjUwQjYzRTAwRTlEODZCIC8qIERPTUZpbGVTeXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM5OTQ3MDkxRjUwQjYzODAwRTlEODZCIC8qIERP
TUZpbGVTeXN0ZW0uY3BwICovOyB9OwogCQk4Mzk5NDcwQzFGNTBCNjNFMDBFOUQ4NkIgLyogRE9N
RmlsZVN5c3RlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODM5OTQ3MDcxRjUwQjYzODAwRTlEODZCIC8qIERPTUZpbGVTeXN0ZW0uaCAqLzsgfTsKIAkJ
ODM5OTQ3MEYxRjUwQjZGQTAwRTlEODZCIC8qIEpTRE9NRmlsZVN5c3RlbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Mzk5NDcwRDFGNTBCNkYzMDBF
OUQ4NkIgLyogSlNET01GaWxlU3lzdGVtLmNwcCAqLzsgfTsKQEAgLTExNTU2LDYgKzExNTY2LDEx
IEBACiAJCTgzMDAzMEYzMUI3RDMzQTYwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVkSFRNTENvbGxl
Y3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2VuZXJpY0Nh
Y2hlZEhUTUxDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMw
MDMwRjQxQjdEMzNBNjAwRUQzQUFDIC8qIEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMwMDMwRjcxQjdEMzk4ODAwRUQz
QUFDIC8qIENhY2hlZEhUTUxDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENhY2hlZEhUTUxDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTgzMDMzNEZCMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGVTeXN0ZW1EaXJl
Y3RvcnlSZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzAzMzRGQzFG
NTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzMDMzNEZEMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxl
U3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBGaWxlU3lz
dGVtRW50cmllc0NhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODMw
MzM0RkUxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzAzMzRGRjFGNTQ5MDUyMDA0REY3MDcg
LyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTgzMDUxOTkyMUJCMEYwRTcwMEYzNzcyRSAvKiBIVE1MVGltZUVsZW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFRpbWVFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMwNTE5OTMxQkIwRjBFNzAwRjM3NzJFIC8qIEhU
TUxUaW1lRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVGlt
ZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMwNTE5OTQxQkIwRjBF
NzAwRjM3NzJFIC8qIEhUTUxUaW1lRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
SFRNTFRpbWVFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNTkw
LDEwICsxMTYwNSwxNSBAQAogCQk4MzUwQzNFODFEQTU5QjYyMDAzNTY0NDYgLyogU2Nyb2xsVG9P
cHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTY3JvbGxUb09wdGlvbnMuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzUyMEM3RDFBNzFCRkNDMDA2QkQyQUEgLyog
Q1NTRm9udEZhbWlseS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250
RmFtaWx5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNTY1N0M2MUVDQUIwRTgw
MENERTcyRCAvKiBKU0RPTU1hdHJpeEluaXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNET01NYXRyaXhJbml0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODM1QjY4MEUxRjU0OEJERTAwNzFGN0Y2IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q3VzdG9t
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmlsZVN5c3RlbUVu
dHJ5Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM1RDM2MzYxOUZG
NjE5MzAwNEM5M0FCIC8qIFN0eWxlQnVpbGRlckN1c3RvbS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTdHlsZUJ1aWxkZXJDdXN0b20uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM1RDU0QzExRjRERTUzNDAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaWxlTGlzdENyZWF0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzVENTRDMjFGNERFNTM0MDBFNjA2NzEg
LyogRmlsZUxpc3RDcmVhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZp
bGVMaXN0Q3JlYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzVGOEIyNjFE
MkQ5MEJBMDBFNDA4RUMgLyogU2xvdGFibGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNs
b3RhYmxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2NTg5RDgxRjU0QTc2
MjAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2NTg5RDkxRjU0QTc2MjAwREMzMUY0IC8qIEpTRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODM2NTg5REExRjU0QTc2MjAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXNDYWxs
YmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVTeXN0
ZW1FbnRyaWVzQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzY1
ODlEQjFGNTRBNzYyMDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNjlFNThGMUFGREQw
MzAwMDg3REY2OCAvKiBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGUuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5vbkRvY3Vt
ZW50VHlwZUNoaWxkTm9kZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNkFD
RUJGMUVDQTYyQjAwMDRCRDAxMiAvKiBET01NYXRyaXhSZWFkT25seS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01NYXRyaXhSZWFkT25seS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNkFDRUMwMUVDQTYyQjAwMDRCRDAxMiAvKiBET01NYXRy
aXhSZWFkT25seS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01NYXRyaXhS
ZWFkT25seS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE2MjgsNiArMTE2NDgs
NyBAQAogCQk4MzcxQUMzODFGNTA5QkREMDBGQkYyODQgLyogRmlsZUNhbGxiYWNrLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBGaWxlQ2FsbGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4MzcxQUMzOTFGNTA5QkREMDBGQkYyODQgLyogRXJyb3JDYWxsYmFjay5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFcnJvckNhbGxiYWNrLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNzJEQjMwMUE2NzgwQTgwMEM2OTdDNSAvKiBEaWFnbm9z
dGljTG9nZ2luZ1Jlc3VsdFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTgzNzYwOUM4MUY1NENDMTMwMDBDMTIyRCAvKiBFcnJvckNhbGxiYWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVycm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4Mzc2NUY5MzFEQUM1MjE4MDBDMDY1MzcgLyogTW91c2VF
dmVudEluaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vdXNlRXZlbnRJbml0LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3NjVGOTQxREFDNTIxODAwQzA2NTM3IC8q
IE1vdXNlRXZlbnRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vdXNl
RXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzN0E4MDEyMUUxRTEy
NzMwMDAyNkI5RiAvKiBFbmdsaXNoICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC5zdHJpbmdzZGljdDsgbmFtZSA9IEVuZ2xpc2g7IHBh
dGggPSBFbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3NkaWN0OyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CkBAIC0xMTY0Myw2ICsxMTY2NCw3IEBACiAJCTgzOEVGNTNBMURDMTRB
NzUwMDhGMEMzOSAvKiBKU0lEQlRyYW5zYWN0aW9uTW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0lEQlRyYW5zYWN0aW9uTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4MzhGODZENzFGNTA5RTZDMDBFOENGQzUgLyogRmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmlsZVN5c3RlbUVudHJ5
Q2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM4Rjg2RDgxRjUwOUU2
QzAwRThDRkM1IC8qIEZpbGVDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBGaWxlQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM5Njgw
QjIxRjU0QzZBODAwNzUyNjkwIC8qIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFj
ay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzOTk0NzA3MUY1MEI2MzgwMEU5
RDg2QiAvKiBET01GaWxlU3lzdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTUZpbGVTeXN0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM5OTQ3MDgx
RjUwQjYzODAwRTlEODZCIC8qIERPTUZpbGVTeXN0ZW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IERPTUZpbGVTeXN0ZW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4Mzk5
NDcwOTFGNTBCNjM4MDBFOUQ4NkIgLyogRE9NRmlsZVN5c3RlbS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01GaWxlU3lzdGVtLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE5ODc5LDYgKzE5OTAxLDcgQEAKIAkJCQlFMzRFRTQ5RjFEQzJENTc1
MDBFQUE5RDMgLyogSlNFdmVudEN1c3RvbS5oICovLAogCQkJCUJDNjA5MDFFMEU5MUI4RUMwMDBD
NjhCNSAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcCAqLywKIAkJCQk0NkI2M0Y2QjFDNkU4Q0RG
MDAyRTkxNEIgLyogSlNFdmVudFRhcmdldEN1c3RvbS5oICovLAorCQkJCTgzNUI2ODBFMUY1NDhC
REUwMDcxRjdGNiAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHAgKi8sCiAJCQkJQkNDQkFE
M0EwQzE4QkZGODAwQ0U4OTBGIC8qIEpTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwICovLAogCQkJ
CUJDNTE1ODBBMEMwM0Q0MDQwMDhCQjBFRSAvKiBKU0hUTUxEb2N1bWVudEN1c3RvbS5jcHAgKi8s
CiAJCQkJRDZGNzk2MEMxNjZGRkVDRTAwNzZERDE4IC8qIEpTSFRNTFRlbXBsYXRlRWxlbWVudEN1
c3RvbS5jcHAgKi8sCkBAIC0yMDA1NCw2ICsyMDA3Nyw3IEBACiAJCTgzRkIzMzY1MUY1MDhBMTcw
MDk4NkU1NCAvKiBlbnRyaWVzYXBpICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQk4Mzc2MDlDODFGNTRDQzEzMDAwQzEyMkQgLyogRXJyb3JDYWxsYmFjay5j
cHAgKi8sCiAJCQkJODM5OTQ3MDkxRjUwQjYzODAwRTlEODZCIC8qIERPTUZpbGVTeXN0ZW0uY3Bw
ICovLAogCQkJCTgzOTk0NzA3MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmggKi8s
CiAJCQkJODM5OTQ3MDgxRjUwQjYzODAwRTlEODZCIC8qIERPTUZpbGVTeXN0ZW0uaWRsICovLApA
QCAtMjAwNjQsNiArMjAwODgsMTIgQEAKIAkJCQk4M0ZCMzM2QjFGNTA4QTRFMDA5ODZFNTQgLyog
RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJCQk4M0ZCMzM2RDFGNTA4QTRFMDA5
ODZFNTQgLyogRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmggKi8sCiAJCQkJODNGQjMzNkExRjUw
OEE0RTAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwgKi8sCisJCQkJODMw
MzM0RkIxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwICov
LAorCQkJCTgzMDMzNEZDMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVh
ZGVyLmggKi8sCisJCQkJODMwMzM0RkYxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJl
Y3RvcnlSZWFkZXIuaWRsICovLAorCQkJCTgzOTY4MEIyMUY1NEM2QTgwMDc1MjY5MCAvKiBGaWxl
U3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcCAqLywKKwkJCQk4MzAzMzRGRTFGNTQ5MDUyMDA0REY3
MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oICovLAorCQkJCTgzMDMzNEZEMUY1NDkw
NTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbCAqLywKIAkJCQk4M0ZC
MzM2RTFGNTA4QTRFMDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmNwcCAqLywKIAkJCQk4M0ZC
MzM2RjFGNTA4QTRFMDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmggKi8sCiAJCQkJODNGQjMz
NjgxRjUwOEE0RTAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1FbnRyeS5pZGwgKi8sCkBAIC0yMDA4Nyw2
ICsyMDExNywxMCBAQAogCQkJCTgzNzA1NjhCMUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVDYWxs
YmFjay5oICovLAogCQkJCTgzM0I5RTJCMUY1MDhEODAwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1E
aXJlY3RvcnlFbnRyeS5jcHAgKi8sCiAJCQkJODMzQjlFMkYxRjUwOEQ4MDAwRTBFNDI4IC8qIEpT
RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmggKi8sCisJCQkJODM2NTg5REIxRjU0QTc2MjAwREMz
MUY0IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi8sCisJCQkJODM2NTg5RDkx
RjU0QTc2MjAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oICovLAorCQkJ
CTgzNjU4OURBMUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2su
Y3BwICovLAorCQkJCTgzNjU4OUQ4MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRy
aWVzQ2FsbGJhY2suaCAqLywKIAkJCQk4MzNCOUUyRTFGNTA4RDgwMDBFMEU0MjggLyogSlNGaWxl
U3lzdGVtRW50cnkuY3BwICovLAogCQkJCTgzM0I5RTJBMUY1MDhEODAwMEUwRTQyOCAvKiBKU0Zp
bGVTeXN0ZW1FbnRyeS5oICovLAogCQkJCTgzNzA1NjhBMUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0Zp
bGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmNwcCAqLywKQEAgLTI3NTM5LDYgKzI3NTczLDggQEAKIAkJ
CQkyRUYxQkZGOTEyMUNCMENFMDBDMjc2MjcgLyogRmlsZVN0cmVhbUNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE0QjNGNzMwQzcyMjA0NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTgzRkIzMzcxMUY1MDhBNTQwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRGly
ZWN0b3J5RW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzMDMzNTAyMUY1NDkwNTcwMDRERjcw
NyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk4MzAz
MzUwMzFGNTQ5MDVBMDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODNGQjMzNzMxRjUwOEE1ODAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1FbnRy
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM4Rjg2REIxRjUwOUU3QjAwRThDRkM1IC8qIEZpbGVT
eXN0ZW1FbnRyeUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0ZCMzM3NTFGNTA4QTVC
MDA5ODZFNTQgLyogRmlsZVN5c3RlbUZpbGVFbnRyeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODIz
MSw2ICsyODI2Nyw4IEBACiAJCQkJMkU5NEY0M0MxMTkyMDdEQTAwQjdGNzVEIC8qIEpTRmlsZVJl
YWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1RjUxMjJFMUVBQzAwM0FBQkRBIC8qIEpT
RmlsZVJlYWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzM0I5RTMyMUY1MDhEODUwMEUw
RTQyOCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
ODM2NTg5REUxRjU0QTc2OTAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJODM2NTg5RTAxRjU0QTc2RTAwREMzMUY0IC8qIEpTRmlsZVN5
c3RlbUVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMzQjlFMzQxRjUwOEQ4
NTAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbUVudHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk4Mzcw
NTY5MDFGNTA5MTVDMDBEOTM0MjUgLyogSlNGaWxlU3lzdGVtRW50cnlDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODMzQjlFMzYxRjUwOEQ4NTAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbUZp
bGVFbnRyeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTU1MSw2ICszMTU4OSw4IEBACiAJCQkJNTE2
MDMwNkMwQ0M0MzYyMzAwQzhBQzI1IC8qIEZpbGVTeXN0ZW1DRi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MTRCM0Y3NjBDNzIyMDU1MDAwNTMwREYgLyogRmlsZVN5c3RlbUNvY29hLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJODNGQjMzNzAxRjUwOEE1NDAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1EaXJl
Y3RvcnlFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4MzAzMzUwMTFGNTQ5MDU3MDA0REY3
MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4
Mzk2ODBCNDFGNTRDNkFEMDA3NTI2OTAgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk4M0ZCMzM3MjFGNTA4QTU4MDA5ODZFNTQgLyogRmlsZVN5c3Rl
bUVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzRkIzMzc0MUY1MDhBNUIwMDk4NkU1NCAv
KiBGaWxlU3lzdGVtRmlsZUVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI2QzE3QTNGMTQ5
MUQyRDQwMEQxMkJBMiAvKiBGaWxlU3lzdGVtSU9TLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMjIy
NCw4ICszMjI2NCwxMSBAQAogCQkJCTJFOTRGNDNCMTE5MjA3REEwMEI3Rjc1RCAvKiBKU0ZpbGVS
ZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1RjQxMjJFMUVBQzAwM0FBQkRBIC8q
IEpTRmlsZVJlYWRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODMzQjlFMzExRjUwOEQ4
NTAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTgzNjU4OUREMUY1NEE3NjYwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM2NTg5REYxRjU0QTc2QzAwREMzMUY0IC8q
IEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzNC
OUUzMzFGNTA4RDg1MDBFMEU0MjggLyogSlNGaWxlU3lzdGVtRW50cnkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODM3MDU2OEYxRjUwOTE1OTAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM1QjY4MTAxRjU0OEJFMTAwNzFGN0Y2IC8q
IEpTRmlsZVN5c3RlbUVudHJ5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzM0I5RTM1
MUY1MDhEODUwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1GaWxlRW50cnkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDMjgwODM0MDFDNkRDMjc1MDAxNDUxQjYgLyogSlNGb250RmFjZS5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTMzOTgzLDYgKzM0MDI2LDcgQEAKIAkJCQkwNzhFMDkxMzE3
RDE0Q0VFMDA0MjBBQTEgLyogVXNlck1lZGlhUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3QzNCNzk3MTE5MDg3NTdCMDBCNDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhh
bmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTgzNzYwOUNBMUY1NENDMTgw
MDBDMTIyRCAvKiBFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNzNGQjA3
MTkxRUY0MTcwMDdERTA2MSAvKiBVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDREYzMTdCMTFGOEQ2ODMwMDNDNUJGOCAvKiBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NUFGMTRFNTFFQUFDNTlCMDAy
NkVFQUEgLyogVVRJUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcAppbmRleCBkOTAxNDJlZjM4
YS4uZTM2NmM1NmQxODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
QmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNC
aW5kaW5nc0FsbEluT25lLmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIkpTRXZlbnRD
dXN0b20uY3BwIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5jcHAiCiAjaW5jbHVkZSAiSlNF
dmVudFRhcmdldEN1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlU3lzdGVtRW50cnlDdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwIgogI2luY2x1ZGUgIkpT
SFRNTERvY3VtZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0hUTUxFbGVtZW50Q3VzdG9tLmNw
cCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVu
dHJ5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVu
dHJ5Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNTQ2
Zjc1MWVlMTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0ZpbGVTeXN0ZW1FbnRyeS5oIgorCisj
aW5jbHVkZSAiRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVkZSAiRmlsZVN5c3Rl
bUZpbGVFbnRyeS5oIgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTRmls
ZVN5c3RlbURpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVkZSAiSlNGaWxlU3lzdGVtRmlsZUVudHJ5
LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNW
YWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgUmVmPEZpbGVTeXN0ZW1FbnRyeT4mJiBlbnRyeSkKK3sKKyAgICBpZiAo
aXM8RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5PihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVh
dGVXcmFwcGVyPEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGVudHJ5KSk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8RmlsZVN5c3RlbUZpbGVFbnRyeT4o
Z2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7Cit9CisKK0pTVmFsdWUgdG9KUyhFeGVjU3Rh
dGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBGaWxlU3lzdGVtRW50
cnkmIGVudHJ5KQoreworICAgIHJldHVybiB3cmFwKHN0YXRlLCBnbG9iYWxPYmplY3QsIGVudHJ5
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RhdGFUcmFuc2Zlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
LmNwcAppbmRleCA3NzkzOWJlMjUyOS4uNGMzN2RkMDYyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRh
VHJhbnNmZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5o
IgogI2luY2x1ZGUgIkNhY2hlZEltYWdlQ2xpZW50LmgiCisjaW5jbHVkZSAiRE9NRmlsZVN5c3Rl
bS5oIgogI2luY2x1ZGUgIkRhdGFUcmFuc2Zlckl0ZW1MaXN0LmgiCiAjaW5jbHVkZSAiRHJhZ0Rh
dGEuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKQEAgLTM4LDYgKzM5LDcgQEAKICNpbmNsdWRlICJJ
bWFnZS5oIgogI2luY2x1ZGUgIlBhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJTdGF0aWNQYXN0ZWJv
YXJkLmgiCisjaW5jbHVkZSA8d3RmL1VVSUQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0yMTksNiArMjIxLDEzIEBAIGJvb2wgRGF0YVRyYW5zZmVyOjpoYXNTdHJpbmdPZlR5cGUoY29u
c3QgU3RyaW5nJiB0eXBlKQogICAgIHJldHVybiAhdHlwZS5pc051bGwoKSAmJiB0eXBlcygpLmNv
bnRhaW5zKHR5cGUpOwogfQogCitET01GaWxlU3lzdGVtJiBEYXRhVHJhbnNmZXI6OmZpbGVzeXN0
ZW0oKSBjb25zdAoreworICAgIGlmICghbV9maWxlU3lzdGVtKQorICAgICAgICBtX2ZpbGVTeXN0
ZW0gPSBET01GaWxlU3lzdGVtOjpjcmVhdGUoY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpLCBm
aWxlcygpKTsKKyAgICByZXR1cm4gKm1fZmlsZVN5c3RlbTsKK30KKwogUmVmPERhdGFUcmFuc2Zl
cj4gRGF0YVRyYW5zZmVyOjpjcmVhdGVGb3JJbnB1dEV2ZW50KGNvbnN0IFN0cmluZyYgcGxhaW5U
ZXh0LCBjb25zdCBTdHJpbmcmIGh0bWxUZXh0KQogewogICAgIFR5cGVUb1N0cmluZ01hcCB0eXBl
VG9TdHJpbmdNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmgKaW5kZXggNGM2YjQ3NTEzMTIu
LmVlNzhkMDlmOTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlci5oCkBAIC0zMSw2ICszMSw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhY2hlZEltYWdlOworY2xhc3MgRE9N
RmlsZVN5c3RlbTsKIGNsYXNzIERhdGFUcmFuc2Zlckl0ZW1MaXN0OwogY2xhc3MgRHJhZ0RhdGE7
CiBjbGFzcyBEcmFnSW1hZ2VMb2FkZXI7CkBAIC05NCw2ICs5NSw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHVwZGF0ZURyYWdJbWFnZSgpOwogI2VuZGlmCiAKKyAgICBET01GaWxlU3lzdGVtJiBmaWxl
c3lzdGVtKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBUeXBlIHsgQ29weUFu
ZFBhc3RlLCBEcmFnQW5kRHJvcERhdGEsIERyYWdBbmREcm9wRmlsZXMsIElucHV0RXZlbnQgfTsK
ICAgICBEYXRhVHJhbnNmZXIoU3RvcmVNb2RlLCBzdGQ6OnVuaXF1ZV9wdHI8UGFzdGVib2FyZD4s
IFR5cGUgPSBUeXBlOjpDb3B5QW5kUGFzdGUpOwpAQCAtMTAzLDYgKzEwNiw3IEBAIHByaXZhdGU6
CiAgICAgc3RkOjp1bmlxdWVfcHRyPERhdGFUcmFuc2Zlckl0ZW1MaXN0PiBtX2l0ZW1MaXN0Owog
CiAgICAgbXV0YWJsZSBSZWZQdHI8RmlsZUxpc3Q+IG1fZmlsZUxpc3Q7CisgICAgbXV0YWJsZSBS
ZWZQdHI8RE9NRmlsZVN5c3RlbT4gbV9maWxlU3lzdGVtOwogCiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKICAgICBib29sIG1fZm9yRHJhZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EYXRhVHJhbnNmZXJJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtLmNwcAppbmRleCAxMjMyZTgxZTU3ZC4uNDk3NGU4M2MxYWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRGF0YVRyYW5zZmVySXRlbS5jcHAKQEAgLTMyLDggKzMyLDEyIEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRGF0YVRyYW5zZmVySXRlbS5oIgogCisjaW5jbHVkZSAiRE9NRmls
ZVN5c3RlbS5oIgogI2luY2x1ZGUgIkRhdGFUcmFuc2Zlckl0ZW1MaXN0LmgiCiAjaW5jbHVkZSAi
RmlsZS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtRGly
ZWN0b3J5RW50cnkuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtRmlsZUVudHJ5LmgiCiAjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlN0cmluZ0NhbGxiYWNrLmgi
CiAKQEAgLTEwMSw0ICsxMDUsMTUgQEAgUmVmUHRyPEZpbGU+IERhdGFUcmFuc2Zlckl0ZW06Omdl
dEFzRmlsZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fZmlsZS5jb3B5UmVmKCk7CiB9CiAKK1JlZlB0
cjxGaWxlU3lzdGVtRW50cnk+IERhdGFUcmFuc2Zlckl0ZW06OmdldEFzRW50cnkoKQoreworICAg
IGlmICghbV9saXN0IHx8ICFtX2xpc3QtPmRhdGFUcmFuc2ZlcigpLmNhblJlYWREYXRhKCkgfHwg
IW1fZmlsZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBhdXRvJiBmaWxlc3lzdGVt
ID0gbV9saXN0LT5kYXRhVHJhbnNmZXIoKS5maWxlc3lzdGVtKCk7CisgICAgUmVmUHRyPEZpbGVT
eXN0ZW1FbnRyeT4gZW50cnkgPSBmaWxlc3lzdGVtLmNoaWxkQnlOYW1lKG1fZmlsZS0+bmFtZSgp
KTsKKyAgICBBU1NFUlQoZW50cnkpOworICAgIHJldHVybiBlbnRyeTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ckl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmgKaW5kZXggZDhi
ODRhMTdkMWIuLjE4NmUyOTBmODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0
YVRyYW5zZmVySXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVt
LmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRhVHJh
bnNmZXJMaXN0SXRlbTsKIGNsYXNzIEZpbGU7CitjbGFzcyBGaWxlU3lzdGVtRW50cnk7CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgU3RyaW5nQ2FsbGJhY2s7CiAKQEAgLTU5
LDYgKzYwLDcgQEAgcHVibGljOgogICAgIFN0cmluZyB0eXBlKCkgY29uc3Q7CiAgICAgdm9pZCBn
ZXRBc1N0cmluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmUHRyPFN0cmluZ0NhbGxiYWNr
PiYmKSBjb25zdDsKICAgICBSZWZQdHI8RmlsZT4gZ2V0QXNGaWxlKCkgY29uc3Q7CisgICAgUmVm
UHRyPEZpbGVTeXN0ZW1FbnRyeT4gZ2V0QXNFbnRyeSgpOwogCiBwcml2YXRlOgogICAgIERhdGFU
cmFuc2Zlckl0ZW0oV2Vha1B0cjxEYXRhVHJhbnNmZXJJdGVtTGlzdD4mJiwgY29uc3QgU3RyaW5n
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwKaW5kZXggNzM5N2E3ZmYw
YjAuLmNkNTJmNTA2ZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5z
ZmVySXRlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRs
CkBAIC0zOCw1ICszOCw4IEBACiAKICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dF0gdm9pZCBnZXRBc1N0cmluZyhTdHJpbmdDYWxsYmFjaz8gY2FsbGJhY2spOwogICAgIEZpbGUg
Z2V0QXNGaWxlKCk7CisKKyAgICAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2VudHJpZXMtYXBp
LyNodG1sLWRhdGEKKyAgICBbSW1wbGVtZW50ZWRBcz1nZXRBc0VudHJ5XSBGaWxlU3lzdGVtRW50
cnk/IHdlYmtpdEdldEFzRW50cnkoKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRy
YW5zZmVySXRlbUxpc3QuY3BwCmluZGV4IDJjOTA5ZTA4MDM4Li4yOGVkNjliNTE1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuY3BwCkBAIC0yOCw2ICsyOCw3
IEBACiAKICNpbmNsdWRlICJEYXRhVHJhbnNmZXJJdGVtLmgiCiAjaW5jbHVkZSAiRmlsZUxpc3Qu
aCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMzQsNyArMTM1LDcgQEAgVmVjdG9yPFJlZjxEYXRhVHJh
bnNmZXJJdGVtPj4mIERhdGFUcmFuc2Zlckl0ZW1MaXN0OjplbnN1cmVJdGVtcygpIGNvbnN0CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVuZ3RoID0gZmlsZXMubGVuZ3RoKCk7IGkgPCBsZW5n
dGg7ICsraSkgewogICAgICAgICBGaWxlJiBmaWxlID0gKmZpbGVzLml0ZW0oaSk7CiAgICAgICAg
IFN0cmluZyB0eXBlID0gRmlsZTo6Y29udGVudFR5cGVGb3JGaWxlKGZpbGUucGF0aCgpKS5jb252
ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpOwotICAgICAgICBpZiAoaXNTdXBwb3J0ZWRUeXBlKHR5cGUp
KQorICAgICAgICBpZiAoaXNTdXBwb3J0ZWRUeXBlKHR5cGUpIHx8IGZpbGUuaXNEaXJlY3Rvcnko
KSkKICAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChEYXRhVHJhbnNmZXJJdGVtOjpjcmVhdGUobV93
ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCksIHR5cGUsIGZpbGUpKTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0ZpbGUuY3BwCmluZGV4IGU1NjUwMGFkYTMyLi5iNTA4YWJmNDZkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0ZpbGUuY3BwCkBAIC0xMjcsNCArMTI3LDExIEBAIFN0cmluZyBGaWxlOjpjb250
ZW50VHlwZUZvckZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKQogICAgIHJldHVybiB0eXBlOwogfQog
Citib29sIEZpbGU6OmlzRGlyZWN0b3J5KCkgY29uc3QKK3sKKyAgICBpZiAoIW1faXNEaXJlY3Rv
cnkpCisgICAgICAgIG1faXNEaXJlY3RvcnkgPSBmaWxlSXNEaXJlY3RvcnkobV9wYXRoKTsKKyAg
ICByZXR1cm4gKm1faXNEaXJlY3Rvcnk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oIGIvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlLmgKaW5kZXggMjI2YWY4YzE3NmIuLmE5NjAxZjU4NGY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGUuaApAQCAtODEsNiArODEsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgc2hv
dWxkUmVwbGFjZUZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKICNlbmRpZgogCisgICAgYm9vbCBp
c0RpcmVjdG9yeSgpIGNvbnN0OworCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIGV4cGxp
Y2l0IEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKICAgICBGaWxlKGNvbnN0IFN0cmluZyYgcGF0
aCwgY29uc3QgU3RyaW5nJiBuYW1lT3ZlcnJpZGUpOwpAQCAtOTgsNiArMTAwLDcgQEAgcHJpdmF0
ZToKICAgICBTdHJpbmcgbV9uYW1lOwogCiAgICAgc3RkOjpvcHRpb25hbDxpbnQ2NF90PiBtX292
ZXJyaWRlTGFzdE1vZGlmaWVkRGF0ZTsKKyAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8Ym9vbD4g
bV9pc0RpcmVjdG9yeTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCAxOGNiMjZh
NWRmZi4uODI3ZmM4Y2JjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTI3Nyw3ICsyNzcsNyBAQAogICAgIG1hY3JvKExhcmdl
SW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZCwgbGFyZ2VJbWFnZUFzeW5jRGVjb2RpbmdFbmFibGVk
LCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKICAgICBtYWNybyhBbmltYXRlZEltYWdlQXN5
bmNEZWNvZGluZ0VuYWJsZWQsIGFuaW1hdGVkSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZCwgQm9v
bCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oQ3VzdG9tRWxlbWVudHNFbmFibGVk
LCBjdXN0b21FbGVtZW50c0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAotICAg
IG1hY3JvKERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCwgZGF0YVRyYW5zZmVySXRlbXNFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSwgIkRhdGEgVHJhbnNmZXIgSXRlbXMiLCAiRW5hYmxlcyBEYXRh
VHJhbnNmZXJJdGVtIGluIHRoZSBjbGlwYm9hcmQgQVBJIikgXAorICAgIG1hY3JvKERhdGFUcmFu
c2Zlckl0ZW1zRW5hYmxlZCwgZGF0YVRyYW5zZmVySXRlbXNFbmFibGVkLCBCb29sLCBib29sLCB0
cnVlLCAiRGF0YSBUcmFuc2ZlciBJdGVtcyIsICJFbmFibGVzIERhdGFUcmFuc2Zlckl0ZW0gaW4g
dGhlIGNsaXBib2FyZCBBUEkiKSBcCiAgICAgbWFjcm8oRW5jcnlwdGVkTWVkaWFBUElFbmFibGVk
LCBlbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwK
ICAgICBtYWNybyhNZWRpYVByZWxvYWRpbmdFbmFibGVkLCBtZWRpYVByZWxvYWRpbmdFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oSW50ZXJzZWN0aW9uT2Jz
ZXJ2ZXJFbmFibGVkLCBpbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJsZWQsIEJvb2wsIGJvb2wsIGZh
bHNlLCAiSW50ZXJzZWN0aW9uIE9ic2VydmVyIiwgIkVuYWJsZSBJbnRlcnNlY3Rpb24gT2JzZXJ2
ZXIgc3VwcG9ydCIpIFwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319236</attachid>
            <date>2017-08-28 20:22:43 -0700</date>
            <delta_ts>2017-08-28 21:06:13 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>176038_DataTransferItem_webkitGetAsEntry_wip.patch</filename>
            <type>text/plain</type>
            <size>68493</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXIt
aXRlbXMtZHJvcC1nZXRBc0VudHJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
cGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNmI2OGRlMDE2ODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5z
ZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMiBAQAor
QmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5
KCkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZGF0YVRyYW5zZmVyLml0
ZW1zLmxlbmd0aCBpcyAyCitQQVNTIGZpcnN0RGF0YVRyYW5zZmVySXRlbS5raW5kIGlzICJmaWxl
IgorUEFTUyBmaXJzdERhdGFUcmFuc2Zlckl0ZW0udHlwZSBpcyAidGV4dC9wbGFpbiIKK1BBU1Mg
Zmlyc3RGaWxlLm5hbWUgaXMgInRlc3QudHh0IgorUEFTUyBmaXJzdEZpbGUuc2l6ZSBpcyA1CitQ
QVNTIGZpcnN0RmlsZS50eXBlIGlzICJ0ZXh0L3BsYWluIgorUEFTUyBmaXJzdEVudHJ5LmlzRGly
ZWN0b3J5IGlzIGZhbHNlCitQQVNTIGZpcnN0RW50cnkuaXNGaWxlIGlzIHRydWUKK1BBU1MgZmly
c3RFbnRyeS5uYW1lIGlzICJ0ZXN0LnR4dCIKK1BBU1MgZmlyc3RFbnRyeS5mdWxsUGF0aCBpcyAi
L3Rlc3QudHh0IgorUEFTUyBzZWNvbmREYXRhVHJhbnNmZXJJdGVtLmtpbmQgaXMgImZpbGUiCitQ
QVNTIHNlY29uZERhdGFUcmFuc2Zlckl0ZW0udHlwZSBpcyAiIgorUEFTUyBzZWNvbmRGaWxlLm5h
bWUgaXMgInRlc3RGaWxlcyIKK1BBU1Mgc2Vjb25kRmlsZS5zaXplIGlzIDIwNAorUEFTUyBzZWNv
bmRGaWxlLnR5cGUgaXMgIiIKK1BBU1Mgc2Vjb25kRW50cnkuaXNEaXJlY3RvcnkgaXMgdHJ1ZQor
UEFTUyBzZWNvbmRFbnRyeS5pc0ZpbGUgaXMgZmFsc2UKK1BBU1Mgc2Vjb25kRW50cnkubmFtZSBp
cyAidGVzdEZpbGVzIgorUEFTUyBzZWNvbmRFbnRyeS5mdWxsUGF0aCBpcyAiL3Rlc3RGaWxlcyIK
K1BBU1MgZmlsZVN5c3RlbVJvb3QuaXNEaXJlY3RvcnkgaXMgdHJ1ZQorUEFTUyBmaWxlU3lzdGVt
Um9vdC5pc0ZpbGUgaXMgZmFsc2UKK1BBU1MgZmlsZVN5c3RlbVJvb3QubmFtZSBpcyAiIgorUEFT
UyBmaWxlU3lzdGVtUm9vdC5mdWxsUGF0aCBpcyAiLyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS5odG1sIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdl
dEFzRW50cnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzBi
ODM1NjI3NGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9h
cmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0QXNFbnRyeS5odG1sCkBAIC0wLDAgKzEsODEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImRyb3B6b25lIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiBncmV5OyI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIkJhc2ljIHRlc3Qg
Y292ZXJhZ2UgZm9yIGRhdGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpIik7Citqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworZnVuY3Rpb24gbW92ZU1vdXNlVG9DZW50ZXJPZkVsZW1lbnQo
ZWxlbWVudCkgeworICAgIHZhciBjZW50ZXJYID0gZWxlbWVudC5vZmZzZXRMZWZ0ICsgZWxlbWVu
dC5vZmZzZXRXaWR0aCAvIDI7CisgICAgdmFyIGNlbnRlclkgPSBlbGVtZW50Lm9mZnNldFRvcCAr
IGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhj
ZW50ZXJYLCBjZW50ZXJZKTsKK30KKworZnVuY3Rpb24gZHJhZ0ZpbGVzT250b0VsZW1lbnQoZWxl
bWVudCwgZmlsZXMpIHsKKyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKGZpbGVzKTsKKyAgICBt
b3ZlTW91c2VUb0NlbnRlck9mRWxlbWVudChlbGVtZW50KTsKKyAgICBldmVudFNlbmRlci5tb3Vz
ZVVwKCk7Cit9CisKK3ZhciBkcm9wem9uZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkcm9w
em9uZScpOworZHJvcHpvbmUub25kcm9wID0gZnVuY3Rpb24oZSkgeworICAgIGUucHJldmVudERl
ZmF1bHQoKTsKKyAgICBkYXRhVHJhbnNmZXIgPSBlLmRhdGFUcmFuc2ZlcjsKKworICAgIHNob3Vs
ZEJlKCJkYXRhVHJhbnNmZXIuaXRlbXMubGVuZ3RoIiwgIjIiKTsKKworICAgIGZpcnN0RGF0YVRy
YW5zZmVySXRlbSA9IGRhdGFUcmFuc2Zlci5pdGVtc1swXTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImZpcnN0RGF0YVRyYW5zZmVySXRlbS5raW5kIiwgImZpbGUiKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImZpcnN0RGF0YVRyYW5zZmVySXRlbS50eXBlIiwgInRleHQvcGxhaW4i
KTsKKyAgICBmaXJzdEZpbGUgPSBmaXJzdERhdGFUcmFuc2Zlckl0ZW0uZ2V0QXNGaWxlKCk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdEZpbGUubmFtZSIsICJ0ZXN0LnR4dCIpOwor
ICAgIHNob3VsZEJlKCJmaXJzdEZpbGUuc2l6ZSIsICI1Iik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJmaXJzdEZpbGUudHlwZSIsICJ0ZXh0L3BsYWluIik7CisKKyAgICBmaXJzdEVudHJ5
ID0gZmlyc3REYXRhVHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKTsKKyAgICBzaG91bGRC
ZUZhbHNlKCJmaXJzdEVudHJ5LmlzRGlyZWN0b3J5Iik7CisgICAgc2hvdWxkQmVUcnVlKCJmaXJz
dEVudHJ5LmlzRmlsZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlyc3RFbnRyeS5u
YW1lIiwgInRlc3QudHh0Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdEVudHJ5
LmZ1bGxQYXRoIiwgIi90ZXN0LnR4dCIpOworCisgICAgLy8gU2Vjb25kIGl0ZW0uCisgICAgc2Vj
b25kRGF0YVRyYW5zZmVySXRlbSA9IGRhdGFUcmFuc2Zlci5pdGVtc1sxXTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInNlY29uZERhdGFUcmFuc2Zlckl0ZW0ua2luZCIsICJmaWxlIik7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmREYXRhVHJhbnNmZXJJdGVtLnR5cGUiLCAi
Iik7CisgICAgc2Vjb25kRmlsZSA9IHNlY29uZERhdGFUcmFuc2Zlckl0ZW0uZ2V0QXNGaWxlKCk7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmRGaWxlLm5hbWUiLCAidGVzdEZpbGVz
Iik7CisgICAgc2hvdWxkQmUoInNlY29uZEZpbGUuc2l6ZSIsICIyMDQiKTsgLy8gQ2hyb21lIHJl
dHVybnMgZm9sZGVyIHNpemUsIEZpcmVmb3ggcmV0dXJucyAwLgorICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygic2Vjb25kRmlsZS50eXBlIiwgIiIpOworCisgICAgc2Vjb25kRW50cnkgPSBzZWNv
bmREYXRhVHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKTsKKyAgICBzaG91bGRCZVRydWUo
InNlY29uZEVudHJ5LmlzRGlyZWN0b3J5Iik7CisgICAgc2hvdWxkQmVGYWxzZSgic2Vjb25kRW50
cnkuaXNGaWxlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmRFbnRyeS5uYW1l
IiwgInRlc3RGaWxlcyIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygic2Vjb25kRW50cnku
ZnVsbFBhdGgiLCAiL3Rlc3RGaWxlcyIpOworCisgICAgZmlsZVN5c3RlbVJvb3QgPSBzZWNvbmRF
bnRyeS5maWxlc3lzdGVtLnJvb3Q7CisgICAgc2hvdWxkQmVUcnVlKCJmaWxlU3lzdGVtUm9vdC5p
c0RpcmVjdG9yeSIpOworICAgIHNob3VsZEJlRmFsc2UoImZpbGVTeXN0ZW1Sb290LmlzRmlsZSIp
OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZVN5c3RlbVJvb3QubmFtZSIsICIiKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpbGVTeXN0ZW1Sb290LmZ1bGxQYXRoIiwgIi8i
KTsKKworICAgIGZpbmlzaEpTVGVzdCgpOworfTsKKworZHJvcHpvbmUub25kcmFnb3ZlciA9IGZ1
bmN0aW9uKGV2KSB7CisgICAgZXYucHJldmVudERlZmF1bHQoKTsKK30KKworb25sb2FkID0gZnVu
Y3Rpb24oKSB7CisgICAgZHJhZ0ZpbGVzT250b0VsZW1lbnQoZHJvcHpvbmUsIFsnLi4vLi4vZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvdGVzdC50eHQnLCAnLi4vLi4vZmFzdC9mb3Jtcy9maWxlL3Jlc291
cmNlcy90ZXN0RmlsZXMnXSk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L2VudHJpZXMtYXBpL2ludGVyZmFjZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvZW50cmllcy1hcGkvaW50ZXJmYWNlcy1leHBl
Y3RlZC50eHQKaW5kZXggZTUwNTM0N2ZhMjEuLmU3MWI5ZWU1ODRiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4
dApAQCAtMjEsMTkgKzIxLDE5IEBAIFBBU1MgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAK
IFBBU1MgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFjZTogb3BlcmF0
aW9uIGNyZWF0ZVJlYWRlcigpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkg
ImNyZWF0ZVJlYWRlciIgbWlzc2luZworUEFTUyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkgaW50
ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlUmVhZGVyKCkgCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRGaWxlKFVTVlN0cmluZyxGaWxlU3lzdGVt
RmxhZ3MsRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2ssRXJyb3JDYWxsYmFjaykgCiBQQVNTIEZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXREaXJlY3RvcnkoVVNW
U3RyaW5nLEZpbGVTeXN0ZW1GbGFncyxGaWxlU3lzdGVtRW50cnlDYWxsYmFjayxFcnJvckNhbGxi
YWNrKSAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5
Q2FsbGJhY2sgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgCiBQQVNTIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sg
aW50ZXJmYWNlOiBvcGVyYXRpb24gaGFuZGxlRXZlbnQoRmlsZVN5c3RlbUVudHJ5KSAKLUZBSUwg
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIiIGV4cGVjdGVk
IHByb3BlcnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIiBtaXNzaW5nCi1GQUlMIEZpbGVT
eXN0ZW1EaXJlY3RvcnlSZWFkZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVj
dG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIi
IG1pc3NpbmcKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2Ugb2JqZWN0
IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXIiIG1pc3NpbmcKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRl
ciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgbWlzc2luZwotRkFJTCBGaWxlU3lzdGVtRGlyZWN0b3J5
UmVhZGVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5
UmVhZGVyIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgbWlz
c2luZwotRkFJTCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZTogb3BlcmF0aW9u
IHJlYWRFbnRyaWVzKEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2ssRXJyb3JDYWxsYmFjaykgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZVN5
c3RlbURpcmVjdG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3Rv
cnlSZWFkZXIiIG1pc3NpbmcKK1BBU1MgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBG
aWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBG
aWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIEZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVhZEVudHJpZXMoRmlsZVN5
c3RlbUVudHJpZXNDYWxsYmFjayxFcnJvckNhbGxiYWNrKSAKIFBBU1MgRmlsZVN5c3RlbUVudHJp
ZXNDYWxsYmFjayBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAogUEFTUyBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFT
UyBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKQEAgLTY1LDUgKzY1LDUgQEAgUEFTUyBIVE1MSW5wdXRFbGVtZW50IG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgZmlsZV9pbnB1dAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZmls
ZV9pbnB1dCAKIFBBU1MgSFRNTElucHV0RWxlbWVudCBpbnRlcmZhY2U6IGZpbGVfaW5wdXQgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJ3ZWJraXRkaXJlY3RvcnkiIHdpdGggdGhlIHByb3BlciB0eXBl
ICgwKSAKIEZBSUwgSFRNTElucHV0RWxlbWVudCBpbnRlcmZhY2U6IGZpbGVfaW5wdXQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJ3ZWJraXRFbnRyaWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkg
YXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAid2Via2l0RW50cmllcyIgbm90IGZvdW5kIGluIHBy
b3RvdHlwZSBjaGFpbgotRkFJTCBEYXRhVHJhbnNmZXJJdGVtIGludGVyZmFjZTogb3BlcmF0aW9u
IHdlYmtpdEdldEFzRW50cnkoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5
ICJ3ZWJraXRHZXRBc0VudHJ5IiBtaXNzaW5nCitQQVNTIERhdGFUcmFuc2Zlckl0ZW0gaW50ZXJm
YWNlOiBvcGVyYXRpb24gd2Via2l0R2V0QXNFbnRyeSgpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVlZDU1ZTM5YTAzLi5mODRmYTgxZTE1MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTU2Myw2ICs1NjMs
NyBAQCBwbGF0Zm9ybS9tYWMvZmFzdC9ldmVudHMvb2JqYy1ldmVudC1hcGkuaHRtbAogCiAjIFdl
YktpdFRlc3RSdW5uZXIgbmVlZHMgYW4gaW1wbGVtZW50YXRpb24gb2YgZXZlbnRTZW5kZXIuYmVn
aW5EcmFnV2l0aEZpbGVzCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NDI4NQorZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldEFz
RW50cnkuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLXBs
YWludGV4dC1maWxlLmh0bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9maWxlLWRyYWctdG8tZWRpdGFi
bGUuaHRtbCBbIFNraXAgXQogZWRpdGluZy9wYXN0ZWJvYXJkL2ZpbGUtaW5wdXQtZmlsZXMtYWNj
ZXNzLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCmluZGV4IDJlNzgyOGYwMThiLi5kZjNmMDVkYzM1NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC01MSw2ICs1
MSw3IEBACiAgICAgbWFjcm8oRmVkZXJhdGVkQ3JlZGVudGlhbCkgXAogICAgIG1hY3JvKEZpbGVT
eXN0ZW0pIFwKICAgICBtYWNybyhGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkpIFwKKyAgICBtYWNy
byhGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyKSBcCiAgICAgbWFjcm8oRmlsZVN5c3RlbUVudHJ5
KSBcCiAgICAgbWFjcm8oRmlsZVN5c3RlbUZpbGVFbnRyeSkgXAogICAgIG1hY3JvKEZ1bmN0aW9u
KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDUzYTliMjhhYTk5Li42ZjY3YzQ3NjEyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTIwNCw2ICsyMDQsOCBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmlkbAogICAg
IE1vZHVsZXMvZW50cmllc2FwaS9GaWxlQ2FsbGJhY2suaWRsCiAgICAgTW9kdWxlcy9lbnRyaWVz
YXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwKKyAgICBNb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKKyAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmls
ZVN5c3RlbUVudHJpZXNDYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbUVudHJ5LmlkbAogICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnlDYWxs
YmFjay5pZGwKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwK
QEAgLTkxOSw4ICs5MjEsMTEgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvY3Jl
ZGVudGlhbHMvTmF2aWdhdG9yQ3JlZGVudGlhbHMuY3BwCiAgICAgTW9kdWxlcy9jcmVkZW50aWFs
cy9QYXNzd29yZENyZWRlbnRpYWwuY3BwCiAKKyAgICBNb2R1bGVzL2VudHJpZXNhcGkvRXJyb3JD
YWxsYmFjay5jcHAKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5jcHAKICAg
ICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmNwcAorICAgIE1v
ZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcAorICAgIE1vZHVs
ZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcAogICAgIE1vZHVsZXMv
ZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuY3BwCiAgICAgTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1GaWxlRW50cnkuY3BwCiAKQEAgLTEyMzAsNiArMTIzNSw3IEBAIHNldChXZWJDb3Jl
X1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdz
L2pzL0pTRXZlbnRMaXN0ZW5lci5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50VGFyZ2V0Q3Vz
dG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVudHJ5Q3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNIVE1MRWxlbWVudEN1
c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDEwNjgyODgyZGFiLi42
ZTc0Nzc3OTgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMzgsNiArMTM4
LDggQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVz
YXBpL0Vycm9yQ2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlQ2FsbGJhY2suaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50cmllc2FwaS9G
aWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50
cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZp
bGVTeXN0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVT
eXN0ZW0uY3BwCmluZGV4IDgxNzRhYTdhNWJmLi5hODM5YTUyODUwZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmNwcApAQCAtMzAs
OCArMzAsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLURPTUZpbGVTeXN0ZW06OkRPTUZp
bGVTeXN0ZW0oKQotICAgIDogbV9yb290KEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Y3JlYXRl
KCp0aGlzKSkKK0RPTUZpbGVTeXN0ZW06OkRPTUZpbGVTeXN0ZW0oY29uc3QgU3RyaW5nJiBuYW1l
KQorICAgIDogbV9uYW1lKG5hbWUpCisgICAgLCBtX3Jvb3QoRmlsZVN5c3RlbURpcmVjdG9yeUVu
dHJ5OjpjcmVhdGUoKnRoaXMsIEFTQ0lJTGl0ZXJhbCgiLyIpKSkKIHsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmgKaW5kZXggNDg1
Y2QwNTAyNjMuLmYzNjhjMGRmNDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmgKQEAgLTMyLDEyICszMiwxMyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk7CitjbGFzcyBGaWxl
U3lzdGVtRW50cnk7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMgU2NyaXB0V3JhcHBh
YmxlLCBwdWJsaWMgUmVmQ291bnRlZDxET01GaWxlU3lzdGVtPiB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZjxET01GaWxlU3lzdGVtPiBjcmVhdGUoKQorICAgIHN0YXRpYyBSZWY8RE9NRmlsZVN5
c3RlbT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IERPTUZpbGVTeXN0ZW0pOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBET01GaWxlU3lzdGVtKG5hbWUpKTsKICAgICB9CiAKICAgICB+RE9NRmlsZVN5c3RlbSgpOwpA
QCAtNDYsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5JiBy
b290KCkgY29uc3QgeyByZXR1cm4gbV9yb290OyB9CiAKIHByaXZhdGU6Ci0gICAgRE9NRmlsZVN5
c3RlbSgpOworICAgIGV4cGxpY2l0IERPTUZpbGVTeXN0ZW0oY29uc3QgU3RyaW5nJiBuYW1lKTsK
IAogICAgIFN0cmluZyBtX25hbWU7CiAgICAgUmVmPEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4g
bV9yb290OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Vy
cm9yQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Vycm9y
Q2FsbGJhY2suY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44MGY5
NmU1OGY2YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9FcnJvckNhbGxiYWNrLmNwcApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVycm9yQ2FsbGJhY2suaCIKKworI2luY2x1ZGUg
IkRPTUV4Y2VwdGlvbi5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEVycm9yQ2FsbGJhY2s6OnNjaGVkdWxlQ2FsbGJh
Y2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmPERPTUV4Y2VwdGlvbj4mJiBl
eGNlcHRpb24pCit7CisgICAgY29udGV4dC5wb3N0VGFzayhbcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBleGNlcHRpb24gPSBXVEZNb3ZlKGV4Y2VwdGlvbildIChTY3JpcHRFeGVjdXRp
b25Db250ZXh0JikgeworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5oYW5kbGVFdmVudChleGNlcHRp
b24pOworICAgIH0pOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0Vycm9yQ2FsbGJhY2suaAppbmRleCA5YjIwM2NjYWQ3Ny4uOGMxZWFmZjlhNmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2su
aApAQCAtMzksNiArMzksOSBAQCBwdWJsaWM6CiAgICAgdXNpbmcgQWN0aXZlRE9NQ2FsbGJhY2s6
OkFjdGl2ZURPTUNhbGxiYWNrOwogCiAgICAgdmlydHVhbCBDYWxsYmFja1Jlc3VsdDx2b2lkPiBo
YW5kbGVFdmVudChET01FeGNlcHRpb24mKSA9IDA7CisKKyAgICAvLyBIZWxwZXIgdG8gcG9zdCBj
YWxsYmFjayB0YXNrLgorICAgIHZvaWQgc2NoZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgUmVmPERPTUV4Y2VwdGlvbj4mJik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbURpcmVjdG9yeUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuY3BwCmluZGV4IGRmOTU5ODI4MjE2Li5kNzBkMmQw
NTdiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKQEAgLTI2LDIwICsyNiwzMiBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5o
IgogCisjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5o
IgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCIKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OkZpbGVTeXN0ZW1EaXJlY3RvcnlF
bnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtKQotICAgIDogRmlsZVN5c3RlbUVudHJ5KGZp
bGVzeXN0ZW0pCitGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OkZpbGVTeXN0ZW1EaXJlY3RvcnlF
bnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRo
KQorICAgIDogRmlsZVN5c3RlbUVudHJ5KGZpbGVzeXN0ZW0sIHZpcnR1YWxQYXRoKQogewogfQog
Ci12b2lkIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZShjb25zdCBTdHJpbmcmLCBj
b25zdCBGbGFncyYsIFJlZlB0cjxGaWxlU3lzdGVtRW50cnlDYWxsYmFjaz4mJiwgUmVmUHRyPEVy
cm9yQ2FsbGJhY2s+JiYpCitSZWY8RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcj4gRmlsZVN5c3Rl
bURpcmVjdG9yeUVudHJ5OjpjcmVhdGVSZWFkZXIoKQogeworICAgIHJldHVybiBGaWxlU3lzdGVt
RGlyZWN0b3J5UmVhZGVyOjpjcmVhdGUoKnRoaXMpOwogfQogCi12b2lkIEZpbGVTeXN0ZW1EaXJl
Y3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYsIGNvbnN0IEZsYWdzJiwgUmVm
UHRyPEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJikK
K3ZvaWQgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjpnZXRGaWxlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IEZsYWdzJiwgUmVmUHRyPEZpbGVT
eXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJiBlcnJvckNhbGxi
YWNrKQogeworICAgIGlmIChlcnJvckNhbGxiYWNrKQorICAgICAgICBlcnJvckNhbGxiYWNrLT5z
Y2hlZHVsZUNhbGxiYWNrKGNvbnRleHQsIERPTUV4Y2VwdGlvbjo6Y3JlYXRlKE5vdFN1cHBvcnRl
ZEVycm9yKSk7Cit9CiAKK3ZvaWQgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3Rv
cnkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiwgY29uc3Qg
RmxhZ3MmLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNh
bGxiYWNrPiYmIGVycm9yQ2FsbGJhY2spCit7CisgICAgaWYgKGVycm9yQ2FsbGJhY2spCisgICAg
ICAgIGVycm9yQ2FsbGJhY2stPnNjaGVkdWxlQ2FsbGJhY2soY29udGV4dCwgRE9NRXhjZXB0aW9u
OjpjcmVhdGUoTm90U3VwcG9ydGVkRXJyb3IpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0
ZW1EaXJlY3RvcnlFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oCmluZGV4IDEzMjk5ZTcwZTNhLi5mNDc0YzY5NDZkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1E
aXJlY3RvcnlFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9G
aWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaApAQCAtMzAsMjcgKzMwLDM1IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEVycm9yQ2FsbGJhY2s7CitjbGFzcyBGaWxlU3lzdGVtRGlyZWN0
b3J5UmVhZGVyOwogY2xhc3MgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s7CitjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkgZmluYWwg
OiBwdWJsaWMgRmlsZVN5c3RlbUVudHJ5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeT4gY3JlYXRlKERPTUZpbGVTeXN0ZW0mIGZpbGVzeXN0ZW0pCisg
ICAgc3RhdGljIFJlZjxGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk+IGNyZWF0ZShET01GaWxlU3lz
dGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5KGZpbGVzeXN0
ZW0pKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmlsZVN5c3RlbURpcmVjdG9yeUVu
dHJ5KGZpbGVzeXN0ZW0sIHZpcnR1YWxQYXRoKSk7CiAgICAgfQogCisgICAgUmVmPEZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXI+IGNyZWF0ZVJlYWRlcigpOworCiAgICAgc3RydWN0IEZsYWdzIHsK
ICAgICAgICAgYm9vbCBjcmVhdGUgeyBmYWxzZSB9OwogICAgICAgICBib29sIGV4Y2x1c2l2ZSB7
IGZhbHNlIH07CiAgICAgfTsKIAotICAgIHZvaWQgZ2V0RmlsZShjb25zdCBTdHJpbmcmIHBhdGgs
IGNvbnN0IEZsYWdzJiBvcHRpb25zLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s+JiYs
IFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKLSAgICB2b2lkIGdldERpcmVjdG9yeShjb25zdCBT
dHJpbmcmIHBhdGgsIGNvbnN0IEZsYWdzJiBvcHRpb25zLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5
Q2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKKyAgICB2b2lkIGdldEZpbGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgRmxhZ3Mm
IG9wdGlvbnMsIFJlZlB0cjxGaWxlU3lzdGVtRW50cnlDYWxsYmFjaz4mJiwgUmVmUHRyPEVycm9y
Q2FsbGJhY2s+JiYpOworICAgIHZvaWQgZ2V0RGlyZWN0b3J5KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IEZsYWdzJiBvcHRpb25zLCBSZWZQdHI8Rmls
ZVN5c3RlbUVudHJ5Q2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKIAogcHJp
dmF0ZToKICAgICBib29sIGlzRGlyZWN0b3J5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsg
fQogCi0gICAgZXhwbGljaXQgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5KERPTUZpbGVTeXN0ZW0m
KTsKKyAgICBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkoRE9NRmlsZVN5c3RlbSYsIGNvbnN0IFN0
cmluZyYgdmlydHVhbFBhdGgpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eSkKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6RmlsZVN5c3RlbUVudHJ5
JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNEaXJlY3RvcnkoKTsgfQorU1BFQ0lBTElaRV9UWVBF
X1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVz
YXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmlkbAppbmRleCAyZTY4ZGNiMzUx
ZC4uMjhiZGZjNzkyODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsCkBAIC0yNiwxNCAr
MjYsMTQgQEAKIFsKICAgICBFbmFibGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9hZCwKIF0gaW50
ZXJmYWNlIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSA6IEZpbGVTeXN0ZW1FbnRyeSB7Ci0gICAg
Ly8gRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBjcmVhdGVSZWFkZXIoKTsKKyAgICBGaWxlU3lz
dGVtRGlyZWN0b3J5UmVhZGVyIGNyZWF0ZVJlYWRlcigpOwogCi0gICAgdm9pZCBnZXRGaWxlKG9w
dGlvbmFsIFVTVlN0cmluZz8gcGF0aCwKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dF0gdm9pZCBnZXRGaWxlKG9wdGlvbmFsIFVTVlN0cmluZz8gcGF0aCwKICAgICAgICAgb3B0
aW9uYWwgRmlsZVN5c3RlbUZsYWdzIG9wdGlvbnMsCiAgICAgICAgIG9wdGlvbmFsIEZpbGVTeXN0
ZW1FbnRyeUNhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2ssCiAgICAgICAgIG9wdGlvbmFsIEVycm9y
Q2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwogCi0gICAgdm9pZCBnZXREaXJlY3Rvcnkob3B0aW9u
YWwgVVNWU3RyaW5nPyBwYXRoLAorICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
XSB2b2lkIGdldERpcmVjdG9yeShvcHRpb25hbCBVU1ZTdHJpbmc/IHBhdGgsCiAgICAgICAgIG9w
dGlvbmFsIEZpbGVTeXN0ZW1GbGFncyBvcHRpb25zLAogICAgICAgICBvcHRpb25hbCBGaWxlU3lz
dGVtRW50cnlDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICBvcHRpb25hbCBFcnJv
ckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZWQ5ZWU2M2MzOTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3Rl
bURpcmVjdG9yeVJlYWRlci5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmgiCisK
KyNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJFcnJvckNhbGxiYWNrLmgiCisj
aW5jbHVkZSAiRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVkZSAiRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjay5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXI6OkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIoRmlsZVN5c3RlbURpcmVj
dG9yeUVudHJ5JiBkaXJlY3RvcnkpCisgICAgOiBtX2RpcmVjdG9yeShkaXJlY3RvcnkpCit7Cit9
CisKK0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXI6On5GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVy
KCkKK3sKK30KKwordm9pZCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyOjpyZWFkRW50cmllcyhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8RmlsZVN5c3RlbUVudHJpZXNDYWxs
YmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYgZXJyb3JDYWxsYmFjaykKK3sKKyAgICBp
ZiAoZXJyb3JDYWxsYmFjaykKKyAgICAgICAgZXJyb3JDYWxsYmFjay0+c2NoZWR1bGVDYWxsYmFj
ayhjb250ZXh0LCBET01FeGNlcHRpb246OmNyZWF0ZShOb3RTdXBwb3J0ZWRFcnJvcikpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOGEwOTk0NGFkOTUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVj
dG9yeVJlYWRlci5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRXJyb3JDYWxsYmFjazsKK2NsYXNzIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eTsKK2NsYXNzIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2s7CitjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OworCitjbGFzcyBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIDogcHVibGljIFNj
cmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRl
cj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcj4g
Y3JlYXRlKEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSYgZGlyZWN0b3J5KQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcihkaXJlY3Rv
cnkpKTsKKyAgICB9CisKKyAgICB+RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcigpOworCisgICAg
dm9pZCByZWFkRW50cmllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPEZpbGVTeXN0ZW1F
bnRyaWVzQ2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyKEZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeSYpOworCisgICAgUmVmPEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4gbV9kaXJlY3Rv
cnk7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRkMGNiMDRkZDU1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIuaWRsCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEF0UnVu
dGltZT1EaXJlY3RvcnlVcGxvYWQsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKK10g
aW50ZXJmYWNlIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgeworICAgIFtDYWxsV2l0aD1TY3Jp
cHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIHJlYWRFbnRyaWVzKEZpbGVTeXN0ZW1FbnRyaWVzQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxi
YWNrKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk1NWM5NDMyM2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2su
Y3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIgorCisjaW5jbHVkZSAiRmlsZVN5
c3RlbUVudHJ5LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+IGNv
cHlWZWN0b3IoY29uc3QgVmVjdG9yPFJlZjxGaWxlU3lzdGVtRW50cnk+PiYgZW50cmllcykKK3sK
KyAgICBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+IGVudHJpZXNDb3B5OworICAgIGVudHJp
ZXNDb3B5LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZW50cmllcy5zaXplKCkpOworICAgIGZvciAo
YXV0byYgZW50cnkgOiBlbnRyaWVzKQorICAgICAgICBlbnRyaWVzQ29weS51bmNoZWNrZWRBcHBl
bmQoZW50cnkuY29weVJlZigpKTsKKyAgICByZXR1cm4gZW50cmllc0NvcHk7Cit9CisKK3ZvaWQg
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjazo6c2NoZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+JiBl
bnRyaWVzKQoreworICAgIGNvbnRleHQucG9zdFRhc2soW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgZW50cmllcyA9IGNvcHlWZWN0b3IoZW50cmllcyldIChTY3JpcHRFeGVjdXRpb25D
b250ZXh0JikgeworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5oYW5kbGVFdmVudChlbnRyaWVzKTsK
KyAgICB9KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjM2NTc4ZWI4OTNlCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJh
Y2suaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJBY3RpdmVET01DYWxsYmFjay5oIgorI2luY2x1ZGUgIkNhbGxiYWNrUmVzdWx0LmgiCisj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGaWxl
U3lzdGVtRW50cnk7CisKK2NsYXNzIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2sgOiBwdWJsaWMg
UmVmQ291bnRlZDxGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrPiwgcHVibGljIEFjdGl2ZURPTUNh
bGxiYWNrIHsKK3B1YmxpYzoKKyAgICB1c2luZyBBY3RpdmVET01DYWxsYmFjazo6QWN0aXZlRE9N
Q2FsbGJhY2s7CisKKyAgICB2aXJ0dWFsIENhbGxiYWNrUmVzdWx0PHZvaWQ+IGhhbmRsZUV2ZW50
KGNvbnN0IFZlY3RvcjxSZWY8RmlsZVN5c3RlbUVudHJ5Pj4mKSA9IDA7CisKKyAgICAvLyBIZWxw
ZXIgdG8gcG9zdCBjYWxsYmFjayB0YXNrLgorICAgIHZvaWQgc2NoZWR1bGVDYWxsYmFjayhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgVmVjdG9yPFJlZjxGaWxlU3lzdGVtRW50cnk+PiYp
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2su
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lYjM3YjQ5YWNjOAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxl
U3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbApAQCAtMCwwICsxLDI2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Y2FsbGJhY2sgRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayA9IHZvaWQgKHNlcXVlbmNlPEZpbGVT
eXN0ZW1FbnRyeT4gZW50cmllcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuY3BwCmluZGV4IDhjOGZmZTFjOTRhLi5iMDQ5NjNj
OWY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVT
eXN0ZW1FbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1FbnRyeS5jcHAKQEAgLTI2LDEwICsyNiwxNCBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkZpbGVTeXN0ZW1FbnRyeS5oIgogCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5o
IgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZpbGVTeXN0ZW1FbnRyeTo6RmlsZVN5c3RlbUVu
dHJ5KERPTUZpbGVTeXN0ZW0mIGZpbGVzeXN0ZW0pCitGaWxlU3lzdGVtRW50cnk6OkZpbGVTeXN0
ZW1FbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQ
YXRoKQogICAgIDogbV9maWxlc3lzdGVtKGZpbGVzeXN0ZW0pCisgICAgLCBtX25hbWUocGF0aEdl
dEZpbGVOYW1lKHZpcnR1YWxQYXRoKSkKKyAgICAsIG1fdmlydHVhbFBhdGgodmlydHVhbFBhdGgp
CiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9G
aWxlU3lzdGVtRW50cnkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxl
U3lzdGVtRW50cnkuaAppbmRleCA0MTU1YmIwMzY2Zi4uMDMxZGMyNzI0ODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmgKQEAg
LTQxLDE2ICs0MSwxNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzRGlyZWN0b3J5KCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbmFtZTsgfQotICAgIGNvbnN0IFN0cmluZyYgZnVsbFBhdGgoKSBjb25zdCB7
IHJldHVybiBtX2Z1bGxQYXRoOyB9CisgICAgY29uc3QgU3RyaW5nJiB2aXJ0dWFsUGF0aCgpIGNv
bnN0IHsgcmV0dXJuIG1fdmlydHVhbFBhdGg7IH0KICAgICBET01GaWxlU3lzdGVtJiBmaWxlc3lz
dGVtKCkgY29uc3QgeyByZXR1cm4gbV9maWxlc3lzdGVtOyB9CiAKIHByb3RlY3RlZDoKLSAgICBl
eHBsaWNpdCBGaWxlU3lzdGVtRW50cnkoRE9NRmlsZVN5c3RlbSYpOworICAgIEZpbGVTeXN0ZW1F
bnRyeShET01GaWxlU3lzdGVtJiwgY29uc3QgU3RyaW5nJiB2aXJ0dWFsUGF0aCk7CiAKIHByaXZh
dGU6Ci0gICAgU3RyaW5nIG1fbmFtZTsKLSAgICBTdHJpbmcgbV9mdWxsUGF0aDsKICAgICBET01G
aWxlU3lzdGVtJiBtX2ZpbGVzeXN0ZW07CisgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBTdHJpbmcg
bV92aXJ0dWFsUGF0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5pZGwKaW5k
ZXggYjk0NmRlM2JhYTkuLmY3MTY0MDE1YzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmlkbApAQCAtMjQsMTIgKzI0LDEz
IEBACiAgKi8KIAogWworICAgIEN1c3RvbVRvSlNPYmplY3QsCiAgICAgRW5hYmxlZEF0UnVudGlt
ZT1EaXJlY3RvcnlVcGxvYWQsCiBdIGludGVyZmFjZSBGaWxlU3lzdGVtRW50cnkgewogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Ym9vbGVhbiBpc0RpcmVjdG9yeTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIG5h
bWU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBmdWxsUGF0aDsKKyAgICBbSW1w
bGVtZW50ZWRBcz12aXJ0dWFsUGF0aF0gcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBmdWxs
UGF0aDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRmlsZVN5c3RlbSBmaWxlc3lzdGVtOwog
CiAgICAgLy8gdm9pZCBnZXRQYXJlbnQob3B0aW9uYWwgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sg
c3VjY2Vzc0NhbGxiYWNrLCBvcHRpb25hbCBFcnJvckNhbGxiYWNrIGVycm9yQ2FsbGJhY2spOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1G
aWxlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0
ZW1GaWxlRW50cnkuY3BwCmluZGV4IDEzYjQxNWU3ZWNkLi43ODBhNWYwYTI0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmls
ZUVudHJ5LmNwcApAQCAtMjYsMTUgKzI2LDIwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiRmlsZVN5c3RlbUZpbGVFbnRyeS5oIgogCisjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgi
CisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZp
bGVTeXN0ZW1GaWxlRW50cnk6OkZpbGVTeXN0ZW1GaWxlRW50cnkoRE9NRmlsZVN5c3RlbSYgZmls
ZXN5c3RlbSkKLSAgICA6IEZpbGVTeXN0ZW1FbnRyeShmaWxlc3lzdGVtKQorRmlsZVN5c3RlbUZp
bGVFbnRyeTo6RmlsZVN5c3RlbUZpbGVFbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBj
b25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKQorICAgIDogRmlsZVN5c3RlbUVudHJ5KGZpbGVzeXN0
ZW0sIHZpcnR1YWxQYXRoKQogewogfQogCi12b2lkIEZpbGVTeXN0ZW1GaWxlRW50cnk6OmZpbGUo
UmVmUHRyPEZpbGVDYWxsYmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYpCit2b2lkIEZp
bGVTeXN0ZW1GaWxlRW50cnk6OmZpbGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
UmVmUHRyPEZpbGVDYWxsYmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYgZXJyb3JDYWxs
YmFjaykKIHsKKyAgICBpZiAoZXJyb3JDYWxsYmFjaykKKyAgICAgICAgZXJyb3JDYWxsYmFjay0+
c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0LCBET01FeGNlcHRpb246OmNyZWF0ZShOb3RTdXBwb3J0
ZWRFcnJvcikpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaAppbmRl
eCAwNGUyYzMxNTFhZC4uMWZhM2FjYzU5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaApAQCAtMzEsMjAgKzMx
LDI1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRXJyb3JDYWxsYmFjazsKIGNsYXNz
IEZpbGVDYWxsYmFjazsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIGNsYXNzIEZp
bGVTeXN0ZW1GaWxlRW50cnkgZmluYWwgOiBwdWJsaWMgRmlsZVN5c3RlbUVudHJ5IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUmVmPEZpbGVTeXN0ZW1GaWxlRW50cnk+IGNyZWF0ZShET01GaWxlU3lz
dGVtJiBmaWxlc3lzdGVtKQorICAgIHN0YXRpYyBSZWY8RmlsZVN5c3RlbUZpbGVFbnRyeT4gY3Jl
YXRlKERPTUZpbGVTeXN0ZW0mIGZpbGVzeXN0ZW0sIGNvbnN0IFN0cmluZyYgdmlydHVhbFBhdGgp
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBGaWxlU3lzdGVtRmlsZUVudHJ5
KGZpbGVzeXN0ZW0pKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRmlsZVN5c3RlbUZp
bGVFbnRyeShmaWxlc3lzdGVtLCB2aXJ0dWFsUGF0aCkpOwogICAgIH0KIAotICAgIHZvaWQgZmls
ZShSZWZQdHI8RmlsZUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJiA9IG51bGxw
dHIpOworICAgIHZvaWQgZmlsZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmUHRyPEZpbGVD
YWxsYmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYgPSBudWxscHRyKTsKIAogcHJpdmF0
ZToKICAgICBib29sIGlzRmlsZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAotICAg
IGV4cGxpY2l0IEZpbGVTeXN0ZW1GaWxlRW50cnkoRE9NRmlsZVN5c3RlbSYpOworICAgIEZpbGVT
eXN0ZW1GaWxlRW50cnkoRE9NRmlsZVN5c3RlbSYsIGNvbnN0IFN0cmluZyYgdmlydHVhbFBhdGgp
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0JFR0lOKFdlYkNvcmU6OkZpbGVTeXN0ZW1GaWxlRW50cnkpCisgICAgc3RhdGljIGJvb2wgaXNU
eXBlKGNvbnN0IFdlYkNvcmU6OkZpbGVTeXN0ZW1FbnRyeSYgZW50cnkpIHsgcmV0dXJuIGVudHJ5
LmlzRmlsZSgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5p
ZGwKaW5kZXggMWQ4ZWM3ODllYjQuLjEzMjUzYzc0MTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaWRsCkBA
IC0yNiw1ICsyNiw1IEBACiBbCiAgICAgRW5hYmxlZEF0UnVudGltZT1EaXJlY3RvcnlVcGxvYWQs
CiBdIGludGVyZmFjZSBGaWxlU3lzdGVtRmlsZUVudHJ5IDogRmlsZVN5c3RlbUVudHJ5IHsKLSAg
ICB2b2lkIGZpbGUoRmlsZUNhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2ssIG9wdGlvbmFsIEVycm9y
Q2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0XSB2b2lkIGZpbGUoRmlsZUNhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2ssIG9wdGlvbmFs
IEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NTc0YmNlYWYyNC4uMDE4
OGQzNGVmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTM0MDcsNiArMzQwNyw5IEBACiAJCTgzMDAzMEY1MUI3RDMzQjUwMEVE
M0FBQyAvKiBHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMwMDMwRjMxQjdEMzNBNjAwRUQzQUFDIC8q
IEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbi5jcHAgKi87IH07CiAJCTgzMDAzMEY2MUI3RDMz
QjUwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzMDAzMEY0MUI3RDMzQTYwMEVEM0FB
QyAvKiBHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rpb24uaCAqLzsgfTsKIAkJODMwMDMwRjgxQjdE
M0I3ODAwRUQzQUFDIC8qIENhY2hlZEhUTUxDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzAwMzBGNzFCN0QzOTg4MDBFRDNBQUMgLyog
Q2FjaGVkSFRNTENvbGxlY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQk4MzAzMzUwMTFGNTQ5MDU3MDA0REY3MDcgLyogRmlsZVN5c3RlbURp
cmVjdG9yeVJlYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4MzAzMzRGQjFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJl
YWRlci5jcHAgKi87IH07CisJCTgzMDMzNTAyMUY1NDkwNTcwMDRERjcwNyAvKiBGaWxlU3lzdGVt
RGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4MzAzMzRGQzFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJl
YWRlci5oICovOyB9OworCQk4MzAzMzUwMzFGNTQ5MDVBMDA0REY3MDcgLyogRmlsZVN5c3RlbUVu
dHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODMwMzM0RkUxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJh
Y2suaCAqLzsgfTsKIAkJODMwNTE5OTUxQkIwRjExMDAwRjM3NzJFIC8qIEhUTUxUaW1lRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzA1
MTk5MjFCQjBGMEU3MDBGMzc3MkUgLyogSFRNTFRpbWVFbGVtZW50LmNwcCAqLzsgfTsKIAkJODMw
NTE5OTYxQkIwRjExMDAwRjM3NzJFIC8qIEhUTUxUaW1lRWxlbWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMwNTE5OTMxQkIwRjBFNzAwRjM3NzJF
IC8qIEhUTUxUaW1lRWxlbWVudC5oICovOyB9OwogCQk4MzA2RUZGMTFCOEJDRUE1MDAzMUQwMzIg
LyogTmF0aXZlTm9kZUZpbHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4MzA2RUZGMDFCOEJDRTdDMDAzMUQwMzIgLyogTmF0aXZlTm9kZUZpbHRl
ci5jcHAgKi87IH07CkBAIC0zNDM1LDkgKzM0MzgsMTQgQEAKIAkJODM1NjU3QzcxRUNBQjEwNzAw
Q0RFNzJEIC8qIEpTRE9NTWF0cml4SW5pdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4MzU2NTdDNjFFQ0FCMEU4MDBDREU3MkQgLyogSlNET01NYXRy
aXhJbml0LmNwcCAqLzsgfTsKIAkJODM1OENCNkYxQzUzMjc3MjAwRTBDMkQ4IC8qIEpTWE1MRG9j
dW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODNGNTcwQUUxQzUzMjY4RTAwN0ZENkNCIC8qIEpTWE1MRG9jdW1lbnQuY3BwICovOyB9OwogCQk4
MzU4Q0I3MDFDNTMyNzc1MDBFMEMyRDggLyogSlNYTUxEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNGNTcwQUQxQzUzMjY4RTAwN0ZENkNC
IC8qIEpTWE1MRG9jdW1lbnQuaCAqLzsgfTsKKwkJODM1QjY4MTAxRjU0OEJFMTAwNzFGN0Y2IC8q
IEpTRmlsZVN5c3RlbUVudHJ5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDgzNUI2ODBFMUY1NDhCREUwMDcxRjdGNiAvKiBKU0ZpbGVTeXN0
ZW1FbnRyeUN1c3RvbS5jcHAgKi87IH07CiAJCTgzNUQzNjM3MTlGRjYxOTMwMDRDOTNBQiAvKiBT
dHlsZUJ1aWxkZXJDdXN0b20uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzNUQzNjM2MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJDdXN0b20u
aCAqLzsgfTsKIAkJODM1RDU0QzQxRjRERTUzODAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzVENTRD
MTFGNERFNTM0MDBFNjA2NzEgLyogRmlsZUxpc3RDcmVhdG9yLmNwcCAqLzsgfTsKIAkJODM1RDU0
QzUxRjRERTUzODAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM1RDU0QzIxRjRERTUzNDAwRTYwNjcxIC8q
IEZpbGVMaXN0Q3JlYXRvci5oICovOyB9OworCQk4MzY1ODlERDFGNTRBNzY2MDBEQzMxRjQgLyog
SlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNjU4OURCMUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVT
eXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwICovOyB9OworCQk4MzY1ODlERTFGNTRBNzY5MDBEQzMx
RjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzY1ODlEOTFGNTRBNzYyMDBEQzMxRjQgLyogSlNG
aWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmggKi87IH07CisJCTgzNjU4OURGMUY1NEE3NkMwMERD
MzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM2NTg5REExRjU0QTc2MjAwREMzMUY0IC8q
IEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgKi87IH07CisJCTgzNjU4OUUwMUY1NEE3
NkUwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNjU4OUQ4MUY1NEE3NjIwMERDMzFG
NCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCAqLzsgfTsKIAkJODM2NzU4N0UxQzU2
RTk5QjAwOEExMDg3IC8qIEpTSFRNTERhdGFFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNEI4NkE5MUM1NkU5M0UwMEYzRjBFMyAvKiBK
U0hUTUxEYXRhRWxlbWVudC5jcHAgKi87IH07CiAJCTgzNjc1ODdGMUM1NkU5OUIwMDhBMTA4NyAv
KiBKU0hUTUxEYXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODM0Qjg2QTgxQzU2RTkzRTAwRjNGMEUzIC8qIEpTSFRNTERhdGFFbGVtZW50
LmggKi87IH07CiAJCTgzNkFDRUMyMUVDQTYyQzgwMDRCRDAxMiAvKiBET01NYXRyaXhSZWFkT25s
eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZB
Q0VCRjFFQ0E2MkIwMDA0QkQwMTIgLyogRE9NTWF0cml4UmVhZE9ubHkuY3BwICovOyB9OwpAQCAt
MzQ2NSw2ICszNDczLDcgQEAKIAkJODM3MDU2OTAxRjUwOTE1QzAwRDkzNDI1IC8qIEpTRmlsZVN5
c3RlbUVudHJ5Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzNzA1Njg5MUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUNh
bGxiYWNrLmggKi87IH07CiAJCTgzNzFBQzNCMUY1MDlCRTQwMEZCRjI4NCAvKiBFcnJvckNhbGxi
YWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Mzcx
QUMzOTFGNTA5QkREMDBGQkYyODQgLyogRXJyb3JDYWxsYmFjay5oICovOyB9OwogCQk4MzcyREIz
MTFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzcyREIzMDFBNjc4MEE4
MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJODM3NjA5Q0ExRjU0Q0MxODAwMEMx
MjJEIC8qIEVycm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODM3NjA5QzgxRjU0Q0MxMzAwMEMxMjJEIC8qIEVycm9yQ2FsbGJhY2su
Y3BwICovOyB9OwogCQk4Mzc2NUY5NTFEQUM1MjJGMDBDMDY1MzcgLyogTW91c2VFdmVudEluaXQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzY1Rjk0
MURBQzUyMTgwMEMwNjUzNyAvKiBNb3VzZUV2ZW50SW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTgzN0E4MDEzMUUxRTEyNzMwMDAyNkI5RiAv
KiBMb2NhbGl6YWJsZS5zdHJpbmdzZGljdCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODM3QTgwMTExRTFFMTI3MzAwMDI2QjlGIC8qIExvY2FsaXphYmxl
LnN0cmluZ3NkaWN0ICovOyB9OwogCQk4MzdCN0QyMDFEQzNGNTUwMDBEMDUxRkMgLyogVmFsaWRh
dGlvbkJ1YmJsZUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDgzN0I3RDFGMURDM0Y1NEMwMEQwNTFGQyAvKiBWYWxpZGF0aW9uQnViYmxlSU9TLm1t
ICovOyB9OwpAQCAtMzQ3Nyw2ICszNDg2LDcgQEAKIAkJODM4RUY1M0MxREMxNEE3QzAwOEYwQzM5
IC8qIEpTSURCVHJhbnNhY3Rpb25Nb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4MzhFRjUzQTFEQzE0QTc1MDA4RjBDMzkgLyogSlNJREJUcmFuc2Fj
dGlvbk1vZGUuaCAqLzsgfTsKIAkJODM4Rjg2REExRjUwOUU3NDAwRThDRkM1IC8qIEZpbGVDYWxs
YmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM4
Rjg2RDgxRjUwOUU2QzAwRThDRkM1IC8qIEZpbGVDYWxsYmFjay5oICovOyB9OwogCQk4MzhGODZE
QjFGNTA5RTdCMDBFOENGQzUgLyogRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzOEY4NkQ3MUY1MDlFNkMwMEU4
Q0ZDNSAvKiBGaWxlU3lzdGVtRW50cnlDYWxsYmFjay5oICovOyB9OworCQk4Mzk2ODBCNDFGNTRD
NkFEMDA3NTI2OTAgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4Mzk2ODBCMjFGNTRDNkE4MDA3NTI2
OTAgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgKi87IH07CiAJCTgzOTk0NzBCMUY1
MEI2M0UwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzOTk0NzA5MUY1MEI2MzgwMEU5RDg2QiAvKiBET01G
aWxlU3lzdGVtLmNwcCAqLzsgfTsKIAkJODM5OTQ3MEMxRjUwQjYzRTAwRTlEODZCIC8qIERPTUZp
bGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzOTk0NzA3MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmggKi87IH07CiAJCTgz
OTk0NzBGMUY1MEI2RkEwMEU5RDg2QiAvKiBKU0RPTUZpbGVTeXN0ZW0uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM5OTQ3MEQxRjUwQjZGMzAwRTlE
ODZCIC8qIEpTRE9NRmlsZVN5c3RlbS5jcHAgKi87IH07CkBAIC0xMTU1Niw2ICsxMTU2NiwxMSBA
QAogCQk4MzAwMzBGMzFCN0QzM0E2MDBFRDNBQUMgLyogR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlbmVyaWNDYWNo
ZWRIVE1MQ29sbGVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMDAz
MEY0MUI3RDMzQTYwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMDAzMEY3MUI3RDM5ODgwMEVEM0FB
QyAvKiBDYWNoZWRIVE1MQ29sbGVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDYWNoZWRIVE1MQ29sbGVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4MzAzMzRGQjFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaWxlU3lzdGVtRGlyZWN0
b3J5UmVhZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODMwMzM0RkMxRjU0
OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4MzAzMzRGRDFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5
c3RlbUVudHJpZXNDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjay5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzMDMz
NEZFMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODMwMzM0RkYxRjU0OTA1MjAwNERGNzA3IC8q
IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZp
bGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4MzA1MTk5MjFCQjBGMEU3MDBGMzc3MkUgLyogSFRNTFRpbWVFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxUaW1lRWxlbWVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMDUxOTkzMUJCMEYwRTcwMEYzNzcyRSAvKiBIVE1M
VGltZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFRpbWVF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMDUxOTk0MUJCMEYwRTcw
MEYzNzcyRSAvKiBIVE1MVGltZUVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhU
TUxUaW1lRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTU5MCwx
MCArMTE2MDUsMTUgQEAKIAkJODM1MEMzRTgxREE1OUI2MjAwMzU2NDQ2IC8qIFNjcm9sbFRvT3B0
aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2Nyb2xsVG9PcHRpb25zLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8qIENT
U0ZvbnRGYW1pbHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTRm9udEZh
bWlseS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzU2NTdDNjFFQ0FCMEU4MDBD
REU3MkQgLyogSlNET01NYXRyaXhJbml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRE9NTWF0cml4SW5pdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTgzNUI2ODBFMUY1NDhCREUwMDcxRjdGNiAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVTeXN0ZW1FbnRy
eUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNUQzNjM2MTlGRjYx
OTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3R5bGVCdWlsZGVyQ3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTgzNUQ1NEMxMUY0REU1MzQwMEU2MDY3MSAvKiBGaWxlTGlzdENyZWF0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZUxpc3RDcmVhdG9yLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM1RDU0QzIxRjRERTUzNDAwRTYwNjcxIC8q
IEZpbGVMaXN0Q3JlYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxl
TGlzdENyZWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM1RjhCMjYxRDJE
OTBCQTAwRTQwOEVDIC8qIFNsb3RhYmxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTbG90
YWJsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNjU4OUQ4MUY1NEE3NjIw
MERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNjU4OUQ5MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVT
eXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTgzNjU4OURBMUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJh
Y2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlU3lzdGVt
RW50cmllc0NhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2NTg5
REIxRjU0QTc2MjAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzY5RTU4RjFBRkREMDMw
MDA4N0RGNjggLyogTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOb25Eb2N1bWVu
dFR5cGVDaGlsZE5vZGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZBQ0VC
RjFFQ0E2MkIwMDA0QkQwMTIgLyogRE9NTWF0cml4UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NTWF0cml4UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4MzZBQ0VDMDFFQ0E2MkIwMDA0QkQwMTIgLyogRE9NTWF0cml4
UmVhZE9ubHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTWF0cml4UmVh
ZE9ubHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExNjI4LDYgKzExNjQ4LDcg
QEAKIAkJODM3MUFDMzgxRjUwOUJERDAwRkJGMjg0IC8qIEZpbGVDYWxsYmFjay5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gRmlsZUNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM3MUFDMzkxRjUwOUJERDAwRkJGMjg0IC8qIEVycm9yQ2FsbGJhY2suaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4MzcyREIzMDFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3Rp
Y0xvZ2dpbmdSZXN1bHRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERp
YWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4Mzc2MDlDODFGNTRDQzEzMDAwQzEyMkQgLyogRXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3NjVGOTMxREFDNTIxODAwQzA2NTM3IC8qIE1vdXNlRXZl
bnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNb3VzZUV2ZW50SW5pdC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNzY1Rjk0MURBQzUyMTgwMEMwNjUzNyAvKiBN
b3VzZUV2ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb3VzZUV2
ZW50SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzdBODAxMjFFMUUxMjcz
MDAwMjZCOUYgLyogRW5nbGlzaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQucGxpc3Quc3RyaW5nc2RpY3Q7IG5hbWUgPSBFbmdsaXNoOyBwYXRo
ID0gRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzZGljdDsgc291cmNlVHJlZSA9IFNP
VVJDRV9ST09UOyB9OwpAQCAtMTE2NDMsNiArMTE2NjQsNyBAQAogCQk4MzhFRjUzQTFEQzE0QTc1
MDA4RjBDMzkgLyogSlNJREJUcmFuc2FjdGlvbk1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNJREJUcmFuc2FjdGlvbk1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM4Rjg2RDcxRjUwOUU2QzAwRThDRkM1IC8qIEZpbGVTeXN0ZW1FbnRyeUNhbGxi
YWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVTeXN0ZW1FbnRyeUNh
bGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzOEY4NkQ4MUY1MDlFNkMw
MEU4Q0ZDNSAvKiBGaWxlQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRmlsZUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzOTY4MEIy
MUY1NEM2QTgwMDc1MjY5MCAvKiBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2su
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4Mzk5NDcwNzFGNTBCNjM4MDBFOUQ4
NkIgLyogRE9NRmlsZVN5c3RlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01GaWxlU3lzdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzOTk0NzA4MUY1
MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBET01GaWxlU3lzdGVtLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM5OTQ3
MDkxRjUwQjYzODAwRTlEODZCIC8qIERPTUZpbGVTeXN0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gRE9NRmlsZVN5c3RlbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xOTg3OSw2ICsxOTkwMSw3IEBACiAJCQkJRTM0RUU0OUYxREMyRDU3NTAw
RUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAqLywKIAkJCQlCQzYwOTAxRTBFOTFCOEVDMDAwQzY4
QjUgLyogSlNFdmVudFRhcmdldEN1c3RvbS5jcHAgKi8sCiAJCQkJNDZCNjNGNkIxQzZFOENERjAw
MkU5MTRCIC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uaCAqLywKKwkJCQk4MzVCNjgwRTFGNTQ4QkRF
MDA3MUY3RjYgLyogSlNGaWxlU3lzdGVtRW50cnlDdXN0b20uY3BwICovLAogCQkJCUJDQ0JBRDNB
MEMxOEJGRjgwMENFODkwRiAvKiBKU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQlC
QzUxNTgwQTBDMDNENDA0MDA4QkIwRUUgLyogSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwICovLAog
CQkJCUQ2Rjc5NjBDMTY2RkZFQ0UwMDc2REQxOCAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0
b20uY3BwICovLApAQCAtMjAwNTQsNiArMjAwNzcsNyBAQAogCQk4M0ZCMzM2NTFGNTA4QTE3MDA5
ODZFNTQgLyogZW50cmllc2FwaSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJODM3NjA5QzgxRjU0Q0MxMzAwMEMxMjJEIC8qIEVycm9yQ2FsbGJhY2suY3Bw
ICovLAogCQkJCTgzOTk0NzA5MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmNwcCAq
LywKIAkJCQk4Mzk5NDcwNzFGNTBCNjM4MDBFOUQ4NkIgLyogRE9NRmlsZVN5c3RlbS5oICovLAog
CQkJCTgzOTk0NzA4MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmlkbCAqLywKQEAg
LTIwMDY0LDYgKzIwMDg4LDEyIEBACiAJCQkJODNGQjMzNkIxRjUwOEE0RTAwOTg2RTU0IC8qIEZp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAgKi8sCiAJCQkJODNGQjMzNkQxRjUwOEE0RTAwOTg2
RTU0IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oICovLAogCQkJCTgzRkIzMzZBMUY1MDhB
NEUwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsICovLAorCQkJCTgzMDMz
NEZCMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcCAqLywK
KwkJCQk4MzAzMzRGQzFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRl
ci5oICovLAorCQkJCTgzMDMzNEZGMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0
b3J5UmVhZGVyLmlkbCAqLywKKwkJCQk4Mzk2ODBCMjFGNTRDNkE4MDA3NTI2OTAgLyogRmlsZVN5
c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgKi8sCisJCQkJODMwMzM0RkUxRjU0OTA1MjAwNERGNzA3
IC8qIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCAqLywKKwkJCQk4MzAzMzRGRDFGNTQ5MDUy
MDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5pZGwgKi8sCiAJCQkJODNGQjMz
NkUxRjUwOEE0RTAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1FbnRyeS5jcHAgKi8sCiAJCQkJODNGQjMz
NkYxRjUwOEE0RTAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1FbnRyeS5oICovLAogCQkJCTgzRkIzMzY4
MUY1MDhBNEUwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRW50cnkuaWRsICovLApAQCAtMjAwODcsNiAr
MjAxMTcsMTAgQEAKIAkJCQk4MzcwNTY4QjFGNTA5MTUwMDBEOTM0MjUgLyogSlNGaWxlQ2FsbGJh
Y2suaCAqLywKIAkJCQk4MzNCOUUyQjFGNTA4RDgwMDBFMEU0MjggLyogSlNGaWxlU3lzdGVtRGly
ZWN0b3J5RW50cnkuY3BwICovLAogCQkJCTgzM0I5RTJGMUY1MDhEODAwMEUwRTQyOCAvKiBKU0Zp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oICovLAorCQkJCTgzNjU4OURCMUY1NEE3NjIwMERDMzFG
NCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwICovLAorCQkJCTgzNjU4OUQ5MUY1
NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCAqLywKKwkJCQk4
MzY1ODlEQTFGNTRBNzYyMDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNw
cCAqLywKKwkJCQk4MzY1ODlEODFGNTRBNzYyMDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRW50cmll
c0NhbGxiYWNrLmggKi8sCiAJCQkJODMzQjlFMkUxRjUwOEQ4MDAwRTBFNDI4IC8qIEpTRmlsZVN5
c3RlbUVudHJ5LmNwcCAqLywKIAkJCQk4MzNCOUUyQTFGNTA4RDgwMDBFMEU0MjggLyogSlNGaWxl
U3lzdGVtRW50cnkuaCAqLywKIAkJCQk4MzcwNTY4QTFGNTA5MTUwMDBEOTM0MjUgLyogSlNGaWxl
U3lzdGVtRW50cnlDYWxsYmFjay5jcHAgKi8sCkBAIC0yNzUzOSw2ICsyNzU3Myw4IEBACiAJCQkJ
MkVGMUJGRjkxMjFDQjBDRTAwQzI3NjI3IC8qIEZpbGVTdHJlYW1DbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxNEIzRjczMEM3MjIwNDcwMDA1MzBERiAvKiBGaWxlU3lzdGVtLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4M0ZCMzM3MTFGNTA4QTU0MDA5ODZFNTQgLyogRmlsZVN5c3RlbURpcmVj
dG9yeUVudHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQk4MzAzMzUwMjFGNTQ5MDU3MDA0REY3MDcg
LyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODMwMzM1
MDMxRjU0OTA1QTAwNERGNzA3IC8qIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovLAogCQkJCTgzRkIzMzczMUY1MDhBNTgwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRW50cnku
aCBpbiBIZWFkZXJzICovLAogCQkJCTgzOEY4NkRCMUY1MDlFN0IwMEU4Q0ZDNSAvKiBGaWxlU3lz
dGVtRW50cnlDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNGQjMzNzUxRjUwOEE1QjAw
OTg2RTU0IC8qIEZpbGVTeXN0ZW1GaWxlRW50cnkuaCBpbiBIZWFkZXJzICovLApAQCAtMjgyMzEs
NiArMjgyNjcsOCBAQAogCQkJCTJFOTRGNDNDMTE5MjA3REEwMEI3Rjc1RCAvKiBKU0ZpbGVSZWFk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5ODc4NUY1MTIyRTFFQUMwMDNBQUJEQSAvKiBKU0Zp
bGVSZWFkZXJTeW5jLmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzNCOUUzMjFGNTA4RDg1MDBFMEU0
MjggLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTgz
NjU4OURFMUY1NEE3NjkwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTgzNjU4OUUwMUY1NEE3NkUwMERDMzFGNCAvKiBKU0ZpbGVTeXN0
ZW1FbnRyaWVzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTgzM0I5RTM0MUY1MDhEODUw
MEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1FbnRyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM3MDU2
OTAxRjUwOTE1QzAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovLAogCQkJCTgzM0I5RTM2MUY1MDhEODUwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1GaWxl
RW50cnkuaCBpbiBIZWFkZXJzICovLApAQCAtMzE1NTEsNiArMzE1ODksOCBAQAogCQkJCTUxNjAz
MDZDMENDNDM2MjMwMEM4QUMyNSAvKiBGaWxlU3lzdGVtQ0YuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTE0QjNGNzYwQzcyMjA1NTAwMDUzMERGIC8qIEZpbGVTeXN0ZW1Db2NvYS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTgzRkIzMzcwMUY1MDhBNTQwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRGlyZWN0
b3J5RW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODMwMzM1MDExRjU0OTA1NzAwNERGNzA3
IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM5
NjgwQjQxRjU0QzZBRDAwNzUyNjkwIC8qIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJODNGQjMzNzIxRjUwOEE1ODAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1F
bnRyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0ZCMzM3NDFGNTA4QTVCMDA5ODZFNTQgLyog
RmlsZVN5c3RlbUZpbGVFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNkMxN0EzRjE0OTFE
MkQ0MDBEMTJCQTIgLyogRmlsZVN5c3RlbUlPUy5tbSBpbiBTb3VyY2VzICovLApAQCAtMzIyMjQs
OCArMzIyNjQsMTEgQEAKIAkJCQkyRTk0RjQzQjExOTIwN0RBMDBCN0Y3NUQgLyogSlNGaWxlUmVh
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg5ODc4NUY0MTIyRTFFQUMwMDNBQUJEQSAvKiBK
U0ZpbGVSZWFkZXJTeW5jLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzM0I5RTMxMUY1MDhEODUw
MEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4MzY1ODlERDFGNTRBNzY2MDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVh
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTgzNjU4OURGMUY1NEE3NkMwMERDMzFGNCAvKiBK
U0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODMzQjlF
MzMxRjUwOEQ4NTAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbUVudHJ5LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTgzNzA1NjhGMUY1MDkxNTkwMEQ5MzQyNSAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUNhbGxi
YWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTgzNUI2ODEwMUY1NDhCRTEwMDcxRjdGNiAvKiBK
U0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzNCOUUzNTFG
NTA4RDg1MDBFMEU0MjggLyogSlNGaWxlU3lzdGVtRmlsZUVudHJ5LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUI2RDlEMjdDMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQzI4MDgzNDAxQzZEQzI3NTAwMTQ1MUI2IC8qIEpTRm9udEZhY2UuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0zMzk4Myw2ICszNDAyNiw3IEBACiAJCQkJMDc4RTA5MTMxN0Qx
NENFRTAwNDIwQUExIC8qIFVzZXJNZWRpYVJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0MzQjc5NzExOTA4NzU3QjAwQjQ3QTJEIC8qIFVzZXJNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3Q0U2ODM0NDE5MjE0M0E4MDBGNEQ5MjggLyogVXNlck1lc3NhZ2VIYW5k
bGVyRGVzY3JpcHRvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4Mzc2MDlDQTFGNTRDQzE4MDAw
QzEyMkQgLyogRXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzczRkIwNzE5
MUVGNDE3MDA3REUwNjEgLyogVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQ0RGMzE3QjExRjhENjgzMDAzQzVCRjggLyogVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTVBRjE0RTUxRUFBQzU5QjAwMjZF
RUFBIC8qIFVUSVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAKaW5kZXggZDkwMTQyZWYzOGEu
LmUzNjZjNTZkMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Jp
bmRpbmdzQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmlu
ZGluZ3NBbGxJbk9uZS5jcHAKQEAgLTYzLDYgKzYzLDcgQEAKICNpbmNsdWRlICJKU0V2ZW50Q3Vz
dG9tLmNwcCIKICNpbmNsdWRlICJKU0V2ZW50TGlzdGVuZXIuY3BwIgogI2luY2x1ZGUgIkpTRXZl
bnRUYXJnZXRDdXN0b20uY3BwIgorI2luY2x1ZGUgIkpTRmlsZVN5c3RlbUVudHJ5Q3VzdG9tLmNw
cCIKICNpbmNsdWRlICJKU0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0hU
TUxEb2N1bWVudEN1c3RvbS5jcHAiCiAjaW5jbHVkZSAiSlNIVE1MRWxlbWVudEN1c3RvbS5jcHAi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ZpbGVTeXN0ZW1FbnRy
eUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ZpbGVTeXN0ZW1FbnRy
eUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjU0NmY3
NTFlZTE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNG
aWxlU3lzdGVtRW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNGaWxlU3lzdGVtRW50cnkuaCIKKworI2lu
Y2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1G
aWxlRW50cnkuaCIKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0ZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkpTRmlsZVN5c3RlbUZpbGVFbnRyeS5o
IgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFJlZjxGaWxlU3lzdGVtRW50cnk+JiYgZW50cnkpCit7CisgICAgaWYgKGlz
PEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4oZW50cnkpKQorICAgICAgICByZXR1cm4gY3JlYXRl
V3JhcHBlcjxGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShl
bnRyeSkpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEZpbGVTeXN0ZW1GaWxlRW50cnk+KGds
b2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworfQorCitKU1ZhbHVlIHRvSlMoRXhlY1N0YXRl
KiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRmlsZVN5c3RlbUVudHJ5
JiBlbnRyeSkKK3sKKyAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBlbnRyeSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EYXRhVHJhbnNmZXJJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNm
ZXJJdGVtLmNwcAppbmRleCAxMjMyZTgxZTU3ZC4uZDQ1NjkyOTI4ZDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGF0YVRyYW5zZmVySXRlbS5jcHAKQEAgLTMyLDEwICszMiwxNSBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFUcmFuc2Zlckl0ZW0uaCIKIAorI2luY2x1ZGUgIkRP
TUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJEYXRhVHJhbnNmZXJJdGVtTGlzdC5oIgogI2luY2x1
ZGUgIkZpbGUuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiRmlsZVN5c3Rl
bURpcmVjdG9yeUVudHJ5LmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbUZpbGVFbnRyeS5oIgogI2lu
Y2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTdHJpbmdDYWxsYmFj
ay5oIgorI2luY2x1ZGUgPHd0Zi9VVUlELmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MTAxLDQgKzEwNiwxOCBAQCBSZWZQdHI8RmlsZT4gRGF0YVRyYW5zZmVySXRlbTo6Z2V0QXNGaWxl
KCkgY29uc3QKICAgICByZXR1cm4gbV9maWxlLmNvcHlSZWYoKTsKIH0KIAorUmVmUHRyPEZpbGVT
eXN0ZW1FbnRyeT4gRGF0YVRyYW5zZmVySXRlbTo6Z2V0QXNFbnRyeSgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX2xpc3QgfHwgIW1fbGlzdC0+ZGF0YVRyYW5zZmVyKCkuY2FuUmVhZERhdGEoKSB8fCAh
bV9maWxlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmICghbV9maWxlU3lzdGVt
KQorICAgICAgICBtX2ZpbGVTeXN0ZW0gPSBET01GaWxlU3lzdGVtOjpjcmVhdGUoY3JlYXRlQ2Fu
b25pY2FsVVVJRFN0cmluZygpKTsKKworICAgIFN0cmluZyB2aXJ0dWFsUGF0aCA9ICIvIiArIG1f
ZmlsZS0+bmFtZSgpOworICAgIGlmIChtX2ZpbGUtPmlzRGlyZWN0b3J5KCkpCisgICAgICAgIHJl
dHVybiBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OmNyZWF0ZSgqbV9maWxlU3lzdGVtLCB2aXJ0
dWFsUGF0aCk7CisgICAgcmV0dXJuIEZpbGVTeXN0ZW1GaWxlRW50cnk6OmNyZWF0ZSgqbV9maWxl
U3lzdGVtLCB2aXJ0dWFsUGF0aCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5oCmluZGV4IGQ4Yjg0YTE3ZDFiLi5iZWExY2YxZTRj
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5oCkBAIC00MCw4ICs0MCwxMCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERPTUZpbGVTeXN0ZW07CiBjbGFzcyBE
YXRhVHJhbnNmZXJMaXN0SXRlbTsKIGNsYXNzIEZpbGU7CitjbGFzcyBGaWxlU3lzdGVtRW50cnk7
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgU3RyaW5nQ2FsbGJhY2s7CiAK
QEAgLTU5LDYgKzYxLDcgQEAgcHVibGljOgogICAgIFN0cmluZyB0eXBlKCkgY29uc3Q7CiAgICAg
dm9pZCBnZXRBc1N0cmluZyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmUHRyPFN0cmluZ0Nh
bGxiYWNrPiYmKSBjb25zdDsKICAgICBSZWZQdHI8RmlsZT4gZ2V0QXNGaWxlKCkgY29uc3Q7Cisg
ICAgUmVmUHRyPEZpbGVTeXN0ZW1FbnRyeT4gZ2V0QXNFbnRyeSgpIGNvbnN0OwogCiBwcml2YXRl
OgogICAgIERhdGFUcmFuc2Zlckl0ZW0oV2Vha1B0cjxEYXRhVHJhbnNmZXJJdGVtTGlzdD4mJiwg
Y29uc3QgU3RyaW5nJik7CkBAIC02OSw2ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgV2Vha1B0cjxE
YXRhVHJhbnNmZXJJdGVtTGlzdD4gbV9saXN0OwogICAgIGNvbnN0IFN0cmluZyBtX3R5cGU7CiAg
ICAgUmVmUHRyPEZpbGU+IG1fZmlsZTsKKyAgICBtdXRhYmxlIFJlZlB0cjxET01GaWxlU3lzdGVt
PiBtX2ZpbGVTeXN0ZW07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RGF0YVRyYW5zZmVySXRlbS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRl
bS5pZGwKaW5kZXggNzM5N2E3ZmYwYjAuLmNkNTJmNTA2ZmI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RhdGFUcmFuc2Zlckl0ZW0uaWRsCkBAIC0zOCw1ICszOCw4IEBACiAKICAgICBbQ2FsbFdpdGg9
U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBnZXRBc1N0cmluZyhTdHJpbmdDYWxsYmFjaz8g
Y2FsbGJhY2spOwogICAgIEZpbGUgZ2V0QXNGaWxlKCk7CisKKyAgICAvLyBodHRwczovL3dpY2cu
Z2l0aHViLmlvL2VudHJpZXMtYXBpLyNodG1sLWRhdGEKKyAgICBbSW1wbGVtZW50ZWRBcz1nZXRB
c0VudHJ5XSBGaWxlU3lzdGVtRW50cnk/IHdlYmtpdEdldEFzRW50cnkoKTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuY3BwCmluZGV4IDJjOTA5ZTA4MDM4
Li4yOGVkNjliNTE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ckl0ZW1MaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxp
c3QuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJEYXRhVHJhbnNmZXJJdGVtLmgi
CiAjaW5jbHVkZSAiRmlsZUxpc3QuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVk
ZSAiUGFzdGVib2FyZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMzQsNyArMTM1LDcg
QEAgVmVjdG9yPFJlZjxEYXRhVHJhbnNmZXJJdGVtPj4mIERhdGFUcmFuc2Zlckl0ZW1MaXN0Ojpl
bnN1cmVJdGVtcygpIGNvbnN0CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVuZ3RoID0gZmls
ZXMubGVuZ3RoKCk7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICBGaWxlJiBmaWxlID0gKmZp
bGVzLml0ZW0oaSk7CiAgICAgICAgIFN0cmluZyB0eXBlID0gRmlsZTo6Y29udGVudFR5cGVGb3JG
aWxlKGZpbGUucGF0aCgpKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpOwotICAgICAgICBpZiAo
aXNTdXBwb3J0ZWRUeXBlKHR5cGUpKQorICAgICAgICBpZiAoaXNTdXBwb3J0ZWRUeXBlKHR5cGUp
IHx8IGZpbGUuaXNEaXJlY3RvcnkoKSkKICAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChEYXRhVHJh
bnNmZXJJdGVtOjpjcmVhdGUobV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCksIHR5cGUs
IGZpbGUpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwCmluZGV4IGU1NjUwMGFkYTMy
Li5iNTA4YWJmNDZkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwCkBAIC0xMjcsNCArMTI3LDEx
IEBAIFN0cmluZyBGaWxlOjpjb250ZW50VHlwZUZvckZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKQog
ICAgIHJldHVybiB0eXBlOwogfQogCitib29sIEZpbGU6OmlzRGlyZWN0b3J5KCkgY29uc3QKK3sK
KyAgICBpZiAoIW1faXNEaXJlY3RvcnkpCisgICAgICAgIG1faXNEaXJlY3RvcnkgPSBmaWxlSXNE
aXJlY3RvcnkobV9wYXRoKTsKKyAgICByZXR1cm4gKm1faXNEaXJlY3Rvcnk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZS5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmgKaW5kZXggMjI2YWY4YzE3NmIuLmE5
NjAxZjU4NGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaApAQCAtODEsNiArODEsOCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVwbGFjZUZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKTsK
ICNlbmRpZgogCisgICAgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0OworCiBwcml2YXRlOgogICAg
IFdFQkNPUkVfRVhQT1JUIGV4cGxpY2l0IEZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKICAgICBG
aWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyaW5nJiBuYW1lT3ZlcnJpZGUpOwpAQCAt
OTgsNiArMTAwLDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9uYW1lOwogCiAgICAgc3RkOjpv
cHRpb25hbDxpbnQ2NF90PiBtX292ZXJyaWRlTGFzdE1vZGlmaWVkRGF0ZTsKKyAgICBtdXRhYmxl
IHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV9pc0RpcmVjdG9yeTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaAppbmRleCAxOGNiMjZhNWRmZi4uODI3ZmM4Y2JjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTI3Nyw3ICsyNzcs
NyBAQAogICAgIG1hY3JvKExhcmdlSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZCwgbGFyZ2VJbWFn
ZUFzeW5jRGVjb2RpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKICAgICBt
YWNybyhBbmltYXRlZEltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQsIGFuaW1hdGVkSW1hZ2VBc3lu
Y0RlY29kaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8o
Q3VzdG9tRWxlbWVudHNFbmFibGVkLCBjdXN0b21FbGVtZW50c0VuYWJsZWQsIEJvb2wsIGJvb2ws
IHRydWUsICIiLCAiIikgXAotICAgIG1hY3JvKERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCwgZGF0
YVRyYW5zZmVySXRlbXNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIkRhdGEgVHJhbnNmZXIg
SXRlbXMiLCAiRW5hYmxlcyBEYXRhVHJhbnNmZXJJdGVtIGluIHRoZSBjbGlwYm9hcmQgQVBJIikg
XAorICAgIG1hY3JvKERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCwgZGF0YVRyYW5zZmVySXRlbXNF
bmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiRGF0YSBUcmFuc2ZlciBJdGVtcyIsICJFbmFibGVz
IERhdGFUcmFuc2Zlckl0ZW0gaW4gdGhlIGNsaXBib2FyZCBBUEkiKSBcCiAgICAgbWFjcm8oRW5j
cnlwdGVkTWVkaWFBUElFbmFibGVkLCBlbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQsIEJvb2wsIGJv
b2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBtYWNybyhNZWRpYVByZWxvYWRpbmdFbmFibGVkLCBt
ZWRpYVByZWxvYWRpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCiAgICAg
bWFjcm8oSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbmFibGVkLCBpbnRlcnNlY3Rpb25PYnNlcnZlckVu
YWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiSW50ZXJzZWN0aW9uIE9ic2VydmVyIiwgIkVuYWJs
ZSBJbnRlcnNlY3Rpb24gT2JzZXJ2ZXIgc3VwcG9ydCIpIFwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319239</attachid>
            <date>2017-08-28 21:06:14 -0700</date>
            <delta_ts>2017-08-29 09:16:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176038-20170828210614.patch</filename>
            <type>text/plain</type>
            <size>78952</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ZWJkOWYyZDU3ZDNkNTRkZmUxMzBlNjgyMDQxMjk4MGUxN2QxN2EyLi4xODlmYmNlOThkN2VjYjA1
ZTk3MWExMTQ1OTkzMTJiNTE5MWVlMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0wOC0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGRhdGFUcmFuc2Zlckl0ZW0ud2Via2l0
R2V0QXNFbnRyeSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzYwMzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM0MTIxMDk1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBDb21tb25JZGVudGlm
aWVyIG5lZWRlZCBieSBbRW5hYmxlZEF0UnVudGltZV0uCisKKyAgICAgICAgKiBydW50aW1lL0Nv
bW1vbklkZW50aWZpZXJzLmg6CisKIDIwMTctMDgtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBMYW5kIHN0dWJzIGZvciBGaWxlIGFuZCBEaXJlY3RvcnkgRW50
cmllcyBBUEkgaW50ZXJmYWNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFhOWU5NWRkNDEzYjM4YTY2MzliMTcz
MDdiMjg5MGQ1MTAyMTk4NmIuLmEwMmNlOWM2N2U1MTE5MGMwMDAzMjEwYjk0ZDJhYzAwODM4MzE3
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMTAgQEAKKzIwMTctMDgtMjggIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBk
YXRhVHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MDM4CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zNDEyMTA5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBkYXRhVHJhbnNmZXJJdGVtLndlYmtpdEdldEFz
RW50cnkoKSBhcyBwZXI6CisgICAgICAgIC0gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9lbnRyaWVz
LWFwaS8jaHRtbC1kYXRhCisKKyAgICAgICAgVGhlIG1ldGhvZCB3b3JrcyBhcyBleHBlY3RlZCBh
bmQgcmV0dXJucyBhIEZpbGVTeXN0ZW1FbnRyeS4gVGhlIGVudHJ5CisgICAgICAgIGNhbiBiZSBl
aXRoZXIgYSBmaWxlIG9yIGEgZGlyZWN0b3J5LiBBbGwgb2YgdGhlIGF0dHJpYnV0ZXMgZXhwb3Nl
ZCBvbgorICAgICAgICB0aGUgRmlsZVN5c3RlbUVudHJ5IHJldHVybiBjb3JyZWN0IHZhbHVlcy4K
KworICAgICAgICBXaGF0IHJlbWFpbnMgdG8gYmUgaW1wbGVtZW50ZWQgZm9yIHRoaXMgbmV3IEFQ
SSB0byBhY3R1YWxseSBiZSB1c2VmdWw6CisgICAgICAgIC0gZGlyZWN0b3J5LmdldEZpbGUoKSAv
IGRpcmVjdG9yeS5nZXREaXJlY3RvcnkoKQorICAgICAgICAtIGZpbGUuZmlsZSgpCisgICAgICAg
IC0gZW50cnkuZ2V0UGFyZW50KCkKKyAgICAgICAgLSBkaXJlY3RvcnlSZWFkZXIucmVhZEVudHJp
ZXMoKQorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRl
bXMtZHJvcC1nZXRBc0VudHJ5Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9u
ZS5jcHA6CisgICAgICAgIEFkZCBuZXcgZmlsZXMgdG8gcHJvamVjdHMuCisKKyAgICAgICAgKiBN
b2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01GaWxlU3lzdGVtOjpET01GaWxlU3lzdGVtKToKKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNh
cGkvRE9NRmlsZVN5c3RlbS5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6Y3Jl
YXRlKToKKyAgICAgICAgRE9NRmlsZVN5c3RlbSBmYWN0b3J5IG5vdyB0YWtlcyBhIG5hbWUgcGFy
YW1ldGVyLiBUaGlzIG5hbWUgaXMgYSBVVUlELCBhcyBzdWdnZXN0ZWQgaW4KKyAgICAgICAgdGhl
IHNwZWNpZmljYXRpb24gYW5kIGltcGxlbWVudGVkIGJ5IEZpcmVmb3guCisKKyAgICAgICAgKiBN
b2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5jcHA6IEFkZGVkLgorICAgICAgICAqIE1v
ZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmg6CisgICAgICAgIEFkZCBzY2hlZHVsZUNh
bGxiYWNrKCkgY29udmVuaWVuY2UgbWV0aG9kIGFzIHdlIG9mdGVuIG5lZWQgdG8gY2FsbCB0aGlz
IGNhbGxiYWNrCisgICAgICAgIGFzeW5jaHJvbm91c2x5LgorCisgICAgICAgICogTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OmNyZWF0ZVJlYWRlcik6
CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OmdldEZpbGUpOgor
ICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjpnZXREaXJlY3Rvcnkp
OgorICAgICAgICAqIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnku
aDoKKyAgICAgICAgLSBBZGQgaW1wbGVtZW50YXRpb24gZm9yIGNyZWF0ZVJlYWRlcigpLgorICAg
ICAgICAtIFVwZGF0ZSBnZXRGaWxlKCkgLyBnZXREaXJlY3RvcnkoKSB0byBjYWxsIHRoZSBlcnJv
ciBjYWxsYmFjayBmb3Igbm93IGFzIHRoZXkgYXJlCisgICAgICAgICAgdW5pbXBsZW1lbnRlZC4K
KyAgICAgICAgLSBIYXZlIHRoZSBmYWN0b3J5IHRha2UgdGhlIHZpcnR1YWwgcGF0aCBvZiB0aGUg
ZW50cnkgc28gdGhhdCBpdCBjYW4gYmUKKyAgICAgICAgICBleHBvc2VkIHZpYSB0aGUgZnVsbFBh
dGggYXR0cmlidXRlIGluIElETC4KKworICAgICAgICAqIE1vZHVsZXMvZW50cmllc2FwaS9GaWxl
U3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsOgorICAgICAgICBFeHBvc2UgY3JlYXRlUmVhZGVyKCkg
bm93IHRoYXQgd2UgaGF2ZSBzdHVicyBmb3IgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci4KKwor
ICAgICAgICAqIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNw
cDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3Rv
cnlSZWFkZXIuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHA6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmg6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbDogQWRk
ZWQuCisgICAgICAgIExhbmQgc3R1YnMgZm9yIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgYW5k
IGl0cyBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLgorCisgICAgICAgICogTW9kdWxlcy9lbnRy
aWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVt
RW50cnk6OkZpbGVTeXN0ZW1FbnRyeSk6CisgICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1FbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3RlbUVudHJ5Ojp2aXJ0
dWFsUGF0aCBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1F
bnRyeS5pZGw6CisgICAgICAgIFVwZGF0ZSBjb25zdHJ1Y3RvciB0byB0YWtlIGEgdmlydHVhbCBw
YXRoLCB3aGljaCBpcyBleHBvc2VkIHZpYSBmdWxsUGF0aAorICAgICAgICBhdHRyaWJ1dGUgaW4g
SURMLgorCisgICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVN5c3RlbUZpbGVFbnRyeTo6RmlsZVN5c3RlbUZp
bGVFbnRyeSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtRmlsZUVudHJ5OjpmaWxlKToK
KyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5oOgorICAg
ICAgICAoaXNUeXBlKToKKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZp
bGVFbnRyeS5pZGw6CisgICAgICAgIC0gVXBkYXRlIGZpbGUoKSB0byBjYWxsIHRoZSBlcnJvciBj
YWxsYmFjayBmb3Igbm93IGFzIHRoZXkgYXJlCisgICAgICAgICAgdW5pbXBsZW1lbnRlZC4KKyAg
ICAgICAgLSBIYXZlIHRoZSBmYWN0b3J5IHRha2UgdGhlIHZpcnR1YWwgcGF0aCBvZiB0aGUgZW50
cnkgc28gdGhhdCBpdCBjYW4gYmUKKyAgICAgICAgICBleHBvc2VkIHZpYSB0aGUgZnVsbFBhdGgg
YXR0cmlidXRlIGluIElETC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVu
dHJ5Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICBBZGQgY3VzdG9tIGltcGxlbWVu
dGF0aW9uIG9mIEZpbGVTeXN0ZW1FbnRyeSdzIHRvSlMoKSBmdW5jdGlvbi4gVGhpcyBpcworICAg
ICAgICBuZWVkZWQgYmVjYXVzZSBGaWxlU3lzdGVtRW50cnkgaGFzIDIgc3ViY2xhc3NlcyBhbmQg
d2UgbmVlZCB0byB0eXBlIGNoZWNrCisgICAgICAgIGF0IHJ1bnRpbWUgdG8gY29uc3RydWN0IHRo
ZSByaWdodCB3cmFwcGVyLgorCisgICAgICAgICogZG9tL0RhdGFUcmFuc2Zlckl0ZW0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGF0YVRyYW5zZmVySXRlbTo6Z2V0QXNFbnRyeSBjb25zdCk6Cisg
ICAgICAgICogZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaDoKKyAgICAgICAgKiBkb20vRGF0YVRyYW5z
ZmVySXRlbS5pZGw6CisgICAgICAgIEFkZCBpbml0aWFsIGltcGxlbWVudGF0aW9uIGZvciBnZXRB
c0VudHJ5KCksIGN1cnJlbnRseSBleHBvc2VkIGFzCisgICAgICAgIHdlYmtpdEdldEFzRW50cnko
KS4KKworICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEYXRhVHJhbnNmZXJJdGVtTGlzdDo6ZW5zdXJlSXRlbXMgY29uc3QpOgorICAgICAg
ICBDb25zdHJ1Y3QgYSBEYXRhVHJhbnNmZXJJdGVtIGlzIHRoZSBmaWxlIGlzIGEgZGlyZWN0b3J5
IG5vdyB0aGF0IHdlCisgICAgICAgIHN1cHBvcnQgZ2V0QXNFbnRyeSgpLgorCisgICAgICAgICog
ZmlsZWFwaS9GaWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OmlzRGlyZWN0b3J5IGNv
bnN0KToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGUuaDoKKyAgICAgICAgQWRkIGNvbnZlbmllbmNl
IG1ldGhvZCB0byBxdWVyeSBpZiBhIEZpbGUgaXMgYSBkaXJlY3RvcnkuCisKIDIwMTctMDgtMjUg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBMYW5kIHN0dWJzIGZv
ciBGaWxlIGFuZCBEaXJlY3RvcnkgRW50cmllcyBBUEkgaW50ZXJmYWNlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5
MjhjY2UxOWEyN2RmMGNhMjA5Mjg1OWMxZjlhOTU3ODc4Y2JjYWUzLi5mMmI4NWRmZmI5ZTlhOTBh
MDhjZjZjOGU1YTc4Y2JlOTk1Mjk1ZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3
LTA4LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGlu
aXRpYWwgc3VwcG9ydCBmb3IgZGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5KCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjAzOAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzQxMjEwOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBkYXRhVHJhbnNmZXIuaXRlbXMgYW4gZXhwZXJp
bWVudGFsIGZlYXR1cmUgc28gdGhhdCBpdCBjYW4gYmUgZWFzaWx5CisgICAgICAgIHR1cm5lZCBv
biBmcm9tIHRoZSBEZXZlbG9wIG1lbnUsIGZvciB0ZXN0aW5nIGNvbnZlbmllbmNlLgorCisgICAg
ICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKwogMjAxNy0wOC0yNSAg
QnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgQXV0b21hdGlvbjog
YWRkIGNhcGFiaWxpdGllcyB0byBjb250cm9sIElDRSBjYW5kaWRhdGUgZmlsdGVyaW5nIGFuZCBp
bnNlY3VyZSBtZWRpYSBjYXB0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAyZTc4MjhmMDE4Yjk4ZmY4OGIwYTU0OWIyN2M3
ZTBmNWUxNDk0OWY5Li5kZjNmMDVkYzM1NGM3OGExM2IwMjQxM2I4MWM2MGZjZWQwODcwOWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVy
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgKQEAgLTUxLDYgKzUxLDcgQEAKICAgICBtYWNybyhGZWRlcmF0ZWRDcmVkZW50aWFsKSBcCiAg
ICAgbWFjcm8oRmlsZVN5c3RlbSkgXAogICAgIG1hY3JvKEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eSkgXAorICAgIG1hY3JvKEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIpIFwKICAgICBtYWNybyhG
aWxlU3lzdGVtRW50cnkpIFwKICAgICBtYWNybyhGaWxlU3lzdGVtRmlsZUVudHJ5KSBcCiAgICAg
bWFjcm8oRnVuY3Rpb24pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTNhOWIyOGFhOTlhMTI3
MDEyMjhjMzg5YTcwNGMyMzE0N2I4YTQwNC4uNmY2N2M0NzYxMjJmZTllM2MzY2ZkNTJiMWY5M2E5
YzBkY2RhMjNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIwNCw2ICsyMDQsOCBAQCBzZXQo
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvZW50cmllc2FwaS9FcnJvckNh
bGxiYWNrLmlkbAogICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlQ2FsbGJhY2suaWRsCiAgICAg
TW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwKKyAgICBNb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKKyAgICBNb2R1bGVz
L2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmlkbAogICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxl
U3lzdGVtRW50cnlDYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3Rl
bUZpbGVFbnRyeS5pZGwKQEAgLTkxOSw4ICs5MjEsMTEgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwog
ICAgIE1vZHVsZXMvY3JlZGVudGlhbHMvTmF2aWdhdG9yQ3JlZGVudGlhbHMuY3BwCiAgICAgTW9k
dWxlcy9jcmVkZW50aWFscy9QYXNzd29yZENyZWRlbnRpYWwuY3BwCiAKKyAgICBNb2R1bGVzL2Vu
dHJpZXNhcGkvRXJyb3JDYWxsYmFjay5jcHAKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRE9NRmls
ZVN5c3RlbS5jcHAKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVu
dHJ5LmNwcAorICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVy
LmNwcAorICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNw
cAogICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuY3BwCiAgICAgTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuY3BwCiAKQEAgLTEyMzAsNiArMTIzNSw3
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVudHJ5
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwCiAg
ICAgYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMv
SlNIVE1MRWxlbWVudEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IDEwNjgyODgyZGFiNDgxMTA1NGVmOWVkMWVkZGZjNTNhNzJjY2NjZDIuLjZlNzQ3Nzc5ODBlYmM0
YWIzZTNkNzUyZWRlYTNmYTU3N2JhZDM3Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMTM4LDYgKzEzOCw4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2VudHJpZXNhcGkvRmlsZUNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmlkbCBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwgXAor
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJh
Y2suaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50
cnkuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50
cnlDYWxsYmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVT
eXN0ZW1GaWxlRW50cnkuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50
cmllc2FwaS9ET01GaWxlU3lzdGVtLmNwcAppbmRleCA4MTc0YWE3YTViZmJmZDQ5NTFjNjg0MzNm
YWM1NzA0ZWJkYmUyNjU3Li5hODM5YTUyODUwZjkwZDhmM2I2OWM0MzNmZDg5Y2ZjNzI5ODBiOTI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5
c3RlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVT
eXN0ZW0uY3BwCkBAIC0zMCw4ICszMCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRE9N
RmlsZVN5c3RlbTo6RE9NRmlsZVN5c3RlbSgpCi0gICAgOiBtX3Jvb3QoRmlsZVN5c3RlbURpcmVj
dG9yeUVudHJ5OjpjcmVhdGUoKnRoaXMpKQorRE9NRmlsZVN5c3RlbTo6RE9NRmlsZVN5c3RlbShj
b25zdCBTdHJpbmcmIG5hbWUpCisgICAgOiBtX25hbWUobmFtZSkKKyAgICAsIG1fcm9vdChGaWxl
U3lzdGVtRGlyZWN0b3J5RW50cnk6OmNyZWF0ZSgqdGhpcywgQVNDSUlMaXRlcmFsKCIvIikpKQog
ewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9N
RmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVT
eXN0ZW0uaAppbmRleCA0ODVjZDA1MDI2MzhmMjc3OTA2NDA4MTNmZTY2MTgzZTZiNDI0YjY1Li5m
MzY4YzBkZjQ1OGUwM2U4Y2Y2OThjN2NiZDM2MmZlMzYwMTQxNTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmgKQEAgLTMyLDEyICsz
MiwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGaWxlU3lzdGVtRGlyZWN0b3J5
RW50cnk7CitjbGFzcyBGaWxlU3lzdGVtRW50cnk7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBw
dWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxET01GaWxlU3lzdGVtPiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxET01GaWxlU3lzdGVtPiBjcmVhdGUoKQorICAgIHN0
YXRpYyBSZWY8RE9NRmlsZVN5c3RlbT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICB7
Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERPTUZpbGVTeXN0ZW0pOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBET01GaWxlU3lzdGVtKG5hbWUpKTsKICAgICB9CiAKICAgICB+
RE9NRmlsZVN5c3RlbSgpOwpAQCAtNDYsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgRmlsZVN5c3Rl
bURpcmVjdG9yeUVudHJ5JiByb290KCkgY29uc3QgeyByZXR1cm4gbV9yb290OyB9CiAKIHByaXZh
dGU6Ci0gICAgRE9NRmlsZVN5c3RlbSgpOworICAgIGV4cGxpY2l0IERPTUZpbGVTeXN0ZW0oY29u
c3QgU3RyaW5nJiBuYW1lKTsKIAogICAgIFN0cmluZyBtX25hbWU7CiAgICAgUmVmPEZpbGVTeXN0
ZW1EaXJlY3RvcnlFbnRyeT4gbV9yb290OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwZjk2ZTU4ZjZhZDMy
YjI3NWI0YzZiZmI3YTlhZjRiYjJiZDI4MjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5jcHAKQEAgLTAsMCArMSw0MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFcnJvckNhbGxi
YWNrLmgiCisKKyNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBFcnJvckNhbGxi
YWNrOjpzY2hlZHVsZUNhbGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJl
ZjxET01FeGNlcHRpb24+JiYgZXhjZXB0aW9uKQoreworICAgIGNvbnRleHQucG9zdFRhc2soW3By
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZXhjZXB0aW9uID0gV1RGTW92ZShleGNlcHRp
b24pXSAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+
aGFuZGxlRXZlbnQoZXhjZXB0aW9uKTsKKyAgICB9KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmgKaW5kZXggOWIyMDNjY2Fk
NzdkOTBkMGJmZWU2NjFjMzcwODgwNGU1ZTgzMTM0Yy4uOGMxZWFmZjlhNmFjYWJkM2M2YTFmNTk4
NmJlNDlkMWEwZGVlMjk2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0Vycm9yQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJp
ZXNhcGkvRXJyb3JDYWxsYmFjay5oCkBAIC0zOSw2ICszOSw5IEBAIHB1YmxpYzoKICAgICB1c2lu
ZyBBY3RpdmVET01DYWxsYmFjazo6QWN0aXZlRE9NQ2FsbGJhY2s7CiAKICAgICB2aXJ0dWFsIENh
bGxiYWNrUmVzdWx0PHZvaWQ+IGhhbmRsZUV2ZW50KERPTUV4Y2VwdGlvbiYpID0gMDsKKworICAg
IC8vIEhlbHBlciB0byBwb3N0IGNhbGxiYWNrIHRhc2suCisgICAgdm9pZCBzY2hlZHVsZUNhbGxi
YWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8RE9NRXhjZXB0aW9uPiYmKTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKaW5kZXgg
ZGY5NTk4MjgyMTYxMzM2ODQ1N2U5ZGM1NDc5ZGQzNjE3MTNhYzNkYi4uZDcwZDJkMDU3YjI2ODAw
NTYxZjAyMTg5ZmQxYzM5NmZjOTk1YTRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAK
QEAgLTI2LDIwICsyNiwzMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeS5oIgogCisjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCisjaW5j
bHVkZSAiRXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6
OkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtKQotICAg
IDogRmlsZVN5c3RlbUVudHJ5KGZpbGVzeXN0ZW0pCitGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6
OkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25z
dCBTdHJpbmcmIHZpcnR1YWxQYXRoKQorICAgIDogRmlsZVN5c3RlbUVudHJ5KGZpbGVzeXN0ZW0s
IHZpcnR1YWxQYXRoKQogewogfQogCi12b2lkIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Z2V0
RmlsZShjb25zdCBTdHJpbmcmLCBjb25zdCBGbGFncyYsIFJlZlB0cjxGaWxlU3lzdGVtRW50cnlD
YWxsYmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYpCitSZWY8RmlsZVN5c3RlbURpcmVj
dG9yeVJlYWRlcj4gRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjpjcmVhdGVSZWFkZXIoKQogewor
ICAgIHJldHVybiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyOjpjcmVhdGUoKnRoaXMpOwogfQog
Ci12b2lkIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IEZsYWdzJiwgUmVmUHRyPEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQ
dHI8RXJyb3JDYWxsYmFjaz4mJikKK3ZvaWQgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjpnZXRG
aWxlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYsIGNvbnN0
IEZsYWdzJiwgUmVmUHRyPEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JD
YWxsYmFjaz4mJiBlcnJvckNhbGxiYWNrKQogeworICAgIGlmIChlcnJvckNhbGxiYWNrKQorICAg
ICAgICBlcnJvckNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKGNvbnRleHQsIERPTUV4Y2VwdGlv
bjo6Y3JlYXRlKE5vdFN1cHBvcnRlZEVycm9yKSk7Cit9CiAKK3ZvaWQgRmlsZVN5c3RlbURpcmVj
dG9yeUVudHJ5OjpnZXREaXJlY3RvcnkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgU3RyaW5nJiwgY29uc3QgRmxhZ3MmLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJh
Y2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmIGVycm9yQ2FsbGJhY2spCit7CisgICAgaWYg
KGVycm9yQ2FsbGJhY2spCisgICAgICAgIGVycm9yQ2FsbGJhY2stPnNjaGVkdWxlQ2FsbGJhY2so
Y29udGV4dCwgRE9NRXhjZXB0aW9uOjpjcmVhdGUoTm90U3VwcG9ydGVkRXJyb3IpKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oCmluZGV4IDEzMjk5
ZTcwZTNhYzE5M2ExMTY4YjlkMTViYjAwN2RjMjBkZTQ2N2UuLmY0NzRjNjk0NmRjODUxMDM4NWNk
MWRkODM0MzJhNzZjMzc2MDc3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmgKQEAgLTMwLDI3
ICszMCwzNSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFcnJvckNhbGxiYWNrOwor
Y2xhc3MgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcjsKIGNsYXNzIEZpbGVTeXN0ZW1FbnRyeUNh
bGxiYWNrOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgRmlsZVN5c3Rl
bURpcmVjdG9yeUVudHJ5IGZpbmFsIDogcHVibGljIEZpbGVTeXN0ZW1FbnRyeSB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk+IGNyZWF0ZShET01GaWxl
U3lzdGVtJiBmaWxlc3lzdGVtKQorICAgIHN0YXRpYyBSZWY8RmlsZVN5c3RlbURpcmVjdG9yeUVu
dHJ5PiBjcmVhdGUoRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSwgY29uc3QgU3RyaW5nJiB2aXJ0
dWFsUGF0aCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZpbGVTeXN0ZW1E
aXJlY3RvcnlFbnRyeShmaWxlc3lzdGVtKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeShmaWxlc3lzdGVtLCB2aXJ0dWFsUGF0aCkpOwogICAg
IH0KIAorICAgIFJlZjxGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyPiBjcmVhdGVSZWFkZXIoKTsK
KwogICAgIHN0cnVjdCBGbGFncyB7CiAgICAgICAgIGJvb2wgY3JlYXRlIHsgZmFsc2UgfTsKICAg
ICAgICAgYm9vbCBleGNsdXNpdmUgeyBmYWxzZSB9OwogICAgIH07CiAKLSAgICB2b2lkIGdldEZp
bGUoY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBGbGFncyYgb3B0aW9ucywgUmVmUHRyPEZpbGVT
eXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJik7Ci0gICAgdm9p
ZCBnZXREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBGbGFncyYgb3B0aW9ucywg
UmVmUHRyPEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4m
Jik7CisgICAgdm9pZCBnZXRGaWxlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJp
bmcmIHBhdGgsIGNvbnN0IEZsYWdzJiBvcHRpb25zLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKKyAgICB2b2lkIGdldERpcmVjdG9y
eShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBGbGFn
cyYgb3B0aW9ucywgUmVmUHRyPEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJy
b3JDYWxsYmFjaz4mJik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIGV4cGxpY2l0IEZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeShET01GaWxlU3lzdGVtJik7CisgICAgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5KERP
TUZpbGVTeXN0ZW0mLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpG
aWxlU3lzdGVtRGlyZWN0b3J5RW50cnkpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdl
YkNvcmU6OkZpbGVTeXN0ZW1FbnRyeSYgZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzRGlyZWN0b3J5
KCk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eS5pZGwKaW5kZXggMmU2OGRjYjM1MWQwM2VlYjRhZGU0MmZhYjkwNTE4M2RhYTc5MGU1My4uMjhi
ZGZjNzkyODA5N2E1MjNkMWYyMjU3YmJmZmRmMjgwMTkzM2E5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeS5pZGwKQEAgLTI2LDE0ICsyNiwxNCBAQAogWwogICAgIEVuYWJsZWRBdFJ1bnRpbWU9
RGlyZWN0b3J5VXBsb2FkLAogXSBpbnRlcmZhY2UgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IDog
RmlsZVN5c3RlbUVudHJ5IHsKLSAgICAvLyBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGNyZWF0
ZVJlYWRlcigpOworICAgIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVyKCk7
CiAKLSAgICB2b2lkIGdldEZpbGUob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAorICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdldEZpbGUob3B0aW9uYWwgVVNWU3Ry
aW5nPyBwYXRoLAogICAgICAgICBvcHRpb25hbCBGaWxlU3lzdGVtRmxhZ3Mgb3B0aW9ucywKICAg
ICAgICAgb3B0aW9uYWwgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywK
ICAgICAgICAgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiAKLSAgICB2
b2lkIGdldERpcmVjdG9yeShvcHRpb25hbCBVU1ZTdHJpbmc/IHBhdGgsCisgICAgW0NhbGxXaXRo
PVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgZ2V0RGlyZWN0b3J5KG9wdGlvbmFsIFVTVlN0
cmluZz8gcGF0aCwKICAgICAgICAgb3B0aW9uYWwgRmlsZVN5c3RlbUZsYWdzIG9wdGlvbnMsCiAg
ICAgICAgIG9wdGlvbmFsIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2ss
CiAgICAgICAgIG9wdGlvbmFsIEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3Rv
cnlSZWFkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkOWVlNjNjMzk3NWVlOGYzNmI0ODAz
YmNlZTUzZmRkYjUyN2Y2MTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAKQEAgLTAsMCArMSw1
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGaWxlU3lz
dGVtRGlyZWN0b3J5UmVhZGVyLmgiCisKKyNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNs
dWRlICJFcnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5
LmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXI6OkZpbGVTeXN0ZW1EaXJlY3Rv
cnlSZWFkZXIoRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5JiBkaXJlY3RvcnkpCisgICAgOiBtX2Rp
cmVjdG9yeShkaXJlY3RvcnkpCit7Cit9CisKK0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXI6On5G
aWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyKCkKK3sKK30KKwordm9pZCBGaWxlU3lzdGVtRGlyZWN0
b3J5UmVhZGVyOjpyZWFkRW50cmllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBS
ZWY8RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYg
ZXJyb3JDYWxsYmFjaykKK3sKKyAgICBpZiAoZXJyb3JDYWxsYmFjaykKKyAgICAgICAgZXJyb3JD
YWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0LCBET01FeGNlcHRpb246OmNyZWF0ZShO
b3RTdXBwb3J0ZWRFcnJvcikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTA5OTQ0YWQ5NWQ1NWVkNmE3MzhkYmQ5N2M2
MzFhNWNmZDJkZWRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaApAQCAtMCwwICsxLDU2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIK
KyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVycm9yQ2FsbGJhY2s7CitjbGFz
cyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk7CitjbGFzcyBGaWxlU3lzdGVtRW50cmllc0NhbGxi
YWNrOworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgRmlsZVN5c3RlbURp
cmVjdG9yeVJlYWRlciA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVk
PEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEZp
bGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXI+IGNyZWF0ZShGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkm
IGRpcmVjdG9yeSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXIoZGlyZWN0b3J5KSk7CisgICAgfQorCisgICAgfkZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXIoKTsKKworICAgIHZvaWQgcmVhZEVudHJpZXMoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYsIFJlZjxGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JD
YWxsYmFjaz4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlcihGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkmKTsKKworICAgIFJlZjxGaWxlU3lzdGVt
RGlyZWN0b3J5RW50cnk+IG1fZGlyZWN0b3J5OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMGNiMDRkZDU1NTMzZGY0MzVjMDhjMDMxZTUwOWY2ZDBi
ZTc2ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1sKKyAgICBFbmFibGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9hZCwKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorXSBpbnRlcmZhY2UgRmlsZVN5c3RlbURpcmVjdG9yeVJl
YWRlciB7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVhZEVu
dHJpZXMoRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIG9wdGlvbmFs
IEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxi
YWNrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NTVjOTQzMjNkNDNmNTdjOWU4M2JiZWQ3NTc2MzA4MzI4OThj
ZjIyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBp
L0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbUVudHJpZXNDYWxs
YmFjay5oIgorCisjaW5jbHVkZSAiRmlsZVN5c3RlbUVudHJ5LmgiCisjaW5jbHVkZSAiU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBWZWN0
b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+IGNvcHlWZWN0b3IoY29uc3QgVmVjdG9yPFJlZjxGaWxl
U3lzdGVtRW50cnk+PiYgZW50cmllcykKK3sKKyAgICBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1FbnRy
eT4+IGVudHJpZXNDb3B5OworICAgIGVudHJpZXNDb3B5LnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
ZW50cmllcy5zaXplKCkpOworICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKQorICAgICAg
ICBlbnRyaWVzQ29weS51bmNoZWNrZWRBcHBlbmQoZW50cnkuY29weVJlZigpKTsKKyAgICByZXR1
cm4gZW50cmllc0NvcHk7Cit9CisKK3ZvaWQgRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjazo6c2No
ZWR1bGVDYWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBWZWN0
b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+JiBlbnRyaWVzKQoreworICAgIGNvbnRleHQucG9zdFRh
c2soW3Byb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZW50cmllcyA9IGNvcHlWZWN0b3Io
ZW50cmllcyldIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgeworICAgICAgICBwcm90ZWN0ZWRU
aGlzLT5oYW5kbGVFdmVudChlbnRyaWVzKTsKKyAgICB9KTsKK30KKworfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJh
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmll
c0NhbGxiYWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY1NzhlYjg5M2UzYjU3NTg5N2Y5Y2IwYjMyMmMwNjUx
ZDM2YTkzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NQ2FsbGJhY2suaCIKKyNp
bmNsdWRlICJDYWxsYmFja1Jlc3VsdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRmlsZVN5c3RlbUVudHJ5OworCitjbGFzcyBGaWxlU3lz
dGVtRW50cmllc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8RmlsZVN5c3RlbUVudHJpZXND
YWxsYmFjaz4sIHB1YmxpYyBBY3RpdmVET01DYWxsYmFjayB7CitwdWJsaWM6CisgICAgdXNpbmcg
QWN0aXZlRE9NQ2FsbGJhY2s6OkFjdGl2ZURPTUNhbGxiYWNrOworCisgICAgdmlydHVhbCBDYWxs
YmFja1Jlc3VsdDx2b2lkPiBoYW5kbGVFdmVudChjb25zdCBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1F
bnRyeT4+JikgPSAwOworCisgICAgLy8gSGVscGVyIHRvIHBvc3QgY2FsbGJhY2sgdGFzay4KKyAg
ICB2b2lkIHNjaGVkdWxlQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFZl
Y3RvcjxSZWY8RmlsZVN5c3RlbUVudHJ5Pj4mKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lz
dGVtRW50cmllc0NhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjM3YjQ5YWNjODc5
OGJlODhlZDMwYmQyZjM0YjM1M2E5YjVlMGNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRsCkBA
IC0wLDAgKzEsMjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitjYWxsYmFjayBGaWxlU3lzdGVtRW50cmllc0Nh
bGxiYWNrID0gdm9pZCAoc2VxdWVuY2U8RmlsZVN5c3RlbUVudHJ5PiBlbnRyaWVzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnku
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5j
cHAKaW5kZXggOGM4ZmZlMWM5NGE5NTIzYzZhODEzMGRhNjgzOTk4ZTI5MmRhODQ4Yi4uYjA0OTYz
YzlmODhmZTdjZTk1YTkyNDY4MmYzYTc3ZTJlMTUzZTczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5jcHAKQEAgLTI2LDEw
ICsyNiwxNCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW1FbnRy
eS5oIgogCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LUZpbGVTeXN0ZW1FbnRyeTo6RmlsZVN5c3RlbUVudHJ5KERPTUZpbGVTeXN0ZW0mIGZpbGVzeXN0
ZW0pCitGaWxlU3lzdGVtRW50cnk6OkZpbGVTeXN0ZW1FbnRyeShET01GaWxlU3lzdGVtJiBmaWxl
c3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKQogICAgIDogbV9maWxlc3lzdGVtKGZp
bGVzeXN0ZW0pCisgICAgLCBtX25hbWUocGF0aEdldEZpbGVOYW1lKHZpcnR1YWxQYXRoKSkKKyAg
ICAsIG1fdmlydHVhbFBhdGgodmlydHVhbFBhdGgpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaAppbmRleCA0MTU1YmIw
MzY2ZmE3NTE1YjZlZGQ5ZTZiZDhiYmY4MzBiNTdkMmU1Li4wMzFkYzI3MjQ4NmExODNkMjZhMjU1
OTYwNjUxODZiNmI1ZTQ0OWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5oCkBAIC00MSwxNiArNDEsMTYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
ICAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KLSAgICBj
b25zdCBTdHJpbmcmIGZ1bGxQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9mdWxsUGF0aDsgfQorICAg
IGNvbnN0IFN0cmluZyYgdmlydHVhbFBhdGgoKSBjb25zdCB7IHJldHVybiBtX3ZpcnR1YWxQYXRo
OyB9CiAgICAgRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZmls
ZXN5c3RlbTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgRmlsZVN5c3RlbUVudHJ5KERP
TUZpbGVTeXN0ZW0mKTsKKyAgICBGaWxlU3lzdGVtRW50cnkoRE9NRmlsZVN5c3RlbSYsIGNvbnN0
IFN0cmluZyYgdmlydHVhbFBhdGgpOwogCiBwcml2YXRlOgotICAgIFN0cmluZyBtX25hbWU7Ci0g
ICAgU3RyaW5nIG1fZnVsbFBhdGg7CiAgICAgRE9NRmlsZVN5c3RlbSYgbV9maWxlc3lzdGVtOwor
ICAgIFN0cmluZyBtX25hbWU7CisgICAgU3RyaW5nIG1fdmlydHVhbFBhdGg7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50
cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaWRsCmluZGV4IGI5NDZkZTNiYWE5ZTZlODliOTc4NGFi
ODQxOThhMjgxZWM2NzQ1NmQuLmY3MTY0MDE1YzA2YWYyZDY3YzI4NTlhMjNiMjU1ZmEyOTRkMzJh
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lz
dGVtRW50cnkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxl
U3lzdGVtRW50cnkuaWRsCkBAIC0yNCwxMiArMjQsMTMgQEAKICAqLwogCiBbCisgICAgQ3VzdG9t
VG9KU09iamVjdCwKICAgICBFbmFibGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9hZCwKIF0gaW50
ZXJmYWNlIEZpbGVTeXN0ZW1FbnRyeSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
aXNGaWxlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRGlyZWN0b3J5OwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgbmFtZTsKLSAgICByZWFkb25seSBhdHRyaWJ1
dGUgVVNWU3RyaW5nIGZ1bGxQYXRoOworICAgIFtJbXBsZW1lbnRlZEFzPXZpcnR1YWxQYXRoXSBy
ZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIGZ1bGxQYXRoOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01GaWxlU3lzdGVtIGZpbGVzeXN0ZW07CiAKICAgICAvLyB2b2lkIGdldFBhcmVudChv
cHRpb25hbCBGaWxlU3lzdGVtRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIG9wdGlvbmFs
IEVycm9yQ2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5jcHAKaW5kZXggMTNi
NDE1ZTdlY2Q0YjY1ODFkYzRhZTRkY2YzNzM3ODc5YTU1YzlmNy4uNzgwYTVmMGEyNDc2ZWE3MzYz
NzVjYjBlZWQwYTg3ZmQxYzQzMzIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmNwcApAQCAtMjYsMTUgKzI2
LDIwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUZpbGVFbnRy
eS5oIgogCisjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFj
ay5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZpbGVTeXN0ZW1GaWxlRW50cnk6OkZpbGVT
eXN0ZW1GaWxlRW50cnkoRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSkKLSAgICA6IEZpbGVTeXN0
ZW1FbnRyeShmaWxlc3lzdGVtKQorRmlsZVN5c3RlbUZpbGVFbnRyeTo6RmlsZVN5c3RlbUZpbGVF
bnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRo
KQorICAgIDogRmlsZVN5c3RlbUVudHJ5KGZpbGVzeXN0ZW0sIHZpcnR1YWxQYXRoKQogewogfQog
Ci12b2lkIEZpbGVTeXN0ZW1GaWxlRW50cnk6OmZpbGUoUmVmUHRyPEZpbGVDYWxsYmFjaz4mJiwg
UmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYpCit2b2lkIEZpbGVTeXN0ZW1GaWxlRW50cnk6OmZpbGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmUHRyPEZpbGVDYWxsYmFjaz4mJiwg
UmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYgZXJyb3JDYWxsYmFjaykKIHsKKyAgICBpZiAoZXJyb3JD
YWxsYmFjaykKKyAgICAgICAgZXJyb3JDYWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0
LCBET01FeGNlcHRpb246OmNyZWF0ZShOb3RTdXBwb3J0ZWRFcnJvcikpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJp
ZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaAppbmRleCAwNGUyYzMxNTFhZGU3ZTE2MGIwNGRj
YTkyODIxZDA0NmE0NjZkODQyLi4xZmEzYWNjNTljZDMwZDY0YTI0ZTM2NTllY2U5ZmUxMmM0MDE2
YWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbUZpbGVFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9G
aWxlU3lzdGVtRmlsZUVudHJ5LmgKQEAgLTMxLDIwICszMSwyNSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEVycm9yQ2FsbGJhY2s7CiBjbGFzcyBGaWxlQ2FsbGJhY2s7CitjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBGaWxlU3lzdGVtRmlsZUVudHJ5IGZpbmFs
IDogcHVibGljIEZpbGVTeXN0ZW1FbnRyeSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxGaWxl
U3lzdGVtRmlsZUVudHJ5PiBjcmVhdGUoRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSkKKyAgICBz
dGF0aWMgUmVmPEZpbGVTeXN0ZW1GaWxlRW50cnk+IGNyZWF0ZShET01GaWxlU3lzdGVtJiBmaWxl
c3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgRmlsZVN5c3RlbUZpbGVFbnRyeShmaWxlc3lzdGVtKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEZpbGVTeXN0ZW1GaWxlRW50cnkoZmlsZXN5c3RlbSwgdmly
dHVhbFBhdGgpKTsKICAgICB9CiAKLSAgICB2b2lkIGZpbGUoUmVmUHRyPEZpbGVDYWxsYmFjaz4m
JiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYgPSBudWxscHRyKTsKKyAgICB2b2lkIGZpbGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZlB0cjxGaWxlQ2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJv
ckNhbGxiYWNrPiYmID0gbnVsbHB0cik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc0ZpbGUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICBleHBsaWNpdCBGaWxlU3lzdGVtRmls
ZUVudHJ5KERPTUZpbGVTeXN0ZW0mKTsKKyAgICBGaWxlU3lzdGVtRmlsZUVudHJ5KERPTUZpbGVT
eXN0ZW0mLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpGaWxlU3lz
dGVtRmlsZUVudHJ5KQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpGaWxl
U3lzdGVtRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc0ZpbGUoKTsgfQorU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaWRsCmluZGV4IDFkOGVjNzg5ZWI0NDkx
ZTg3ZDJhYzM0NTc5Yjg2Y2U4NTViMTEzNmQuLjEzMjUzYzc0MTc0NmViNzVmOGZkMjA4MzZmNDZj
MjNmYTEyMjkyZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRmlsZUVudHJ5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKQEAgLTI2LDUgKzI2LDUgQEAKIFsKICAg
ICBFbmFibGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9hZCwKIF0gaW50ZXJmYWNlIEZpbGVTeXN0
ZW1GaWxlRW50cnkgOiBGaWxlU3lzdGVtRW50cnkgewotICAgIHZvaWQgZmlsZShGaWxlQ2FsbGJh
Y2s/IHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFj
ayk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgZmlsZShGaWxl
Q2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JD
YWxsYmFjayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDk1NzRiY2VhZjI0MDllN2Y1N2RmYmU2MzA0MGYxYzBlM2QzODc4
NWEuLmE2NWQ4Njg2ZDNmYjU1OTg4YTYyNjdiNjA0YjgxNWI3Njg4NGNlOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM0MDcs
NiArMzQwNyw5IEBACiAJCTgzMDAzMEY1MUI3RDMzQjUwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVk
SFRNTENvbGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODMwMDMwRjMxQjdEMzNBNjAwRUQzQUFDIC8qIEdlbmVyaWNDYWNoZWRIVE1MQ29s
bGVjdGlvbi5jcHAgKi87IH07CiAJCTgzMDAzMEY2MUI3RDMzQjUwMEVEM0FBQyAvKiBHZW5lcmlj
Q2FjaGVkSFRNTENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzMDAzMEY0MUI3RDMzQTYwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVkSFRN
TENvbGxlY3Rpb24uaCAqLzsgfTsKIAkJODMwMDMwRjgxQjdEM0I3ODAwRUQzQUFDIC8qIENhY2hl
ZEhUTUxDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4MzAwMzBGNzFCN0QzOTg4MDBFRDNBQUMgLyogQ2FjaGVkSFRNTENvbGxlY3Rpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4MzAz
MzUwMTFGNTQ5MDU3MDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzAzMzRGQjFGNTQ5
MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi87IH07CisJCTgz
MDMzNTAyMUY1NDkwNTcwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzAzMzRGQzFGNTQ5
MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oICovOyB9OworCQk4MzAz
MzUwMzFGNTQ5MDVBMDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMwMzM0RkUxRjU0OTA1
MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCAqLzsgfTsKIAkJODMwNTE5
OTUxQkIwRjExMDAwRjM3NzJFIC8qIEhUTUxUaW1lRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzA1MTk5MjFCQjBGMEU3MDBGMzc3MkUg
LyogSFRNTFRpbWVFbGVtZW50LmNwcCAqLzsgfTsKIAkJODMwNTE5OTYxQkIwRjExMDAwRjM3NzJF
IC8qIEhUTUxUaW1lRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODMwNTE5OTMxQkIwRjBFNzAwRjM3NzJFIC8qIEhUTUxUaW1lRWxlbWVudC5o
ICovOyB9OwogCQk4MzA2RUZGMTFCOEJDRUE1MDAzMUQwMzIgLyogTmF0aXZlTm9kZUZpbHRlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzA2RUZG
MDFCOEJDRTdDMDAzMUQwMzIgLyogTmF0aXZlTm9kZUZpbHRlci5jcHAgKi87IH07CkBAIC0zNDM1
LDkgKzM0MzgsMTQgQEAKIAkJODM1NjU3QzcxRUNBQjEwNzAwQ0RFNzJEIC8qIEpTRE9NTWF0cml4
SW5pdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
MzU2NTdDNjFFQ0FCMEU4MDBDREU3MkQgLyogSlNET01NYXRyaXhJbml0LmNwcCAqLzsgfTsKIAkJ
ODM1OENCNkYxQzUzMjc3MjAwRTBDMkQ4IC8qIEpTWE1MRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNGNTcwQUUxQzUzMjY4RTAwN0ZE
NkNCIC8qIEpTWE1MRG9jdW1lbnQuY3BwICovOyB9OwogCQk4MzU4Q0I3MDFDNTMyNzc1MDBFMEMy
RDggLyogSlNYTUxEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODNGNTcwQUQxQzUzMjY4RTAwN0ZENkNCIC8qIEpTWE1MRG9jdW1lbnQuaCAq
LzsgfTsKKwkJODM1QjY4MTAxRjU0OEJFMTAwNzFGN0Y2IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgz
NUI2ODBFMUY1NDhCREUwMDcxRjdGNiAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHAgKi87
IH07CiAJCTgzNUQzNjM3MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJDdXN0b20uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNUQzNjM2MTlG
RjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJDdXN0b20uaCAqLzsgfTsKIAkJODM1RDU0QzQx
RjRERTUzODAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzVENTRDMTFGNERFNTM0MDBFNjA2NzEgLyog
RmlsZUxpc3RDcmVhdG9yLmNwcCAqLzsgfTsKIAkJODM1RDU0QzUxRjRERTUzODAwRTYwNjcxIC8q
IEZpbGVMaXN0Q3JlYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODM1RDU0QzIxRjRERTUzNDAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5oICov
OyB9OworCQk4MzY1ODlERDFGNTRBNzY2MDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5
UmVhZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzNjU4OURCMUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIu
Y3BwICovOyB9OworCQk4MzY1ODlERTFGNTRBNzY5MDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGly
ZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4MzY1ODlEOTFGNTRBNzYyMDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVh
ZGVyLmggKi87IH07CisJCTgzNjU4OURGMUY1NEE3NkMwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1F
bnRyaWVzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODM2NTg5REExRjU0QTc2MjAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXND
YWxsYmFjay5jcHAgKi87IH07CisJCTgzNjU4OUUwMUY1NEE3NkUwMERDMzFGNCAvKiBKU0ZpbGVT
eXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzNjU4OUQ4MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRy
aWVzQ2FsbGJhY2suaCAqLzsgfTsKIAkJODM2NzU4N0UxQzU2RTk5QjAwOEExMDg3IC8qIEpTSFRN
TERhdGFFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDgzNEI4NkE5MUM1NkU5M0UwMEYzRjBFMyAvKiBKU0hUTUxEYXRhRWxlbWVudC5jcHAg
Ki87IH07CiAJCTgzNjc1ODdGMUM1NkU5OUIwMDhBMTA4NyAvKiBKU0hUTUxEYXRhRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM0Qjg2QTgx
QzU2RTkzRTAwRjNGMEUzIC8qIEpTSFRNTERhdGFFbGVtZW50LmggKi87IH07CiAJCTgzNkFDRUMy
MUVDQTYyQzgwMDRCRDAxMiAvKiBET01NYXRyaXhSZWFkT25seS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZBQ0VCRjFFQ0E2MkIwMDA0QkQwMTIg
LyogRE9NTWF0cml4UmVhZE9ubHkuY3BwICovOyB9OwpAQCAtMzQ2NSw2ICszNDczLDcgQEAKIAkJ
ODM3MDU2OTAxRjUwOTE1QzAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzA1Njg5MUY1
MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmggKi87IH07CiAJCTgz
NzFBQzNCMUY1MDlCRTQwMEZCRjI4NCAvKiBFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzcxQUMzOTFGNTA5QkREMDBGQkYyODQg
LyogRXJyb3JDYWxsYmFjay5oICovOyB9OwogCQk4MzcyREIzMTFBNjc4MEE4MDBDNjk3QzUgLyog
RGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4MzcyREIzMDFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3Rp
Y0xvZ2dpbmdSZXN1bHRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJODM3NjA5Q0ExRjU0Q0MxODAwMEMxMjJEIC8qIEVycm9yQ2FsbGJhY2su
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3NjA5
QzgxRjU0Q0MxMzAwMEMxMjJEIC8qIEVycm9yQ2FsbGJhY2suY3BwICovOyB9OwogCQk4Mzc2NUY5
NTFEQUM1MjJGMDBDMDY1MzcgLyogTW91c2VFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzY1Rjk0MURBQzUyMTgwMEMwNjUzNyAvKiBN
b3VzZUV2ZW50SW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTgzN0E4MDEzMUUxRTEyNzMwMDAyNkI5RiAvKiBMb2NhbGl6YWJsZS5zdHJpbmdz
ZGljdCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3
QTgwMTExRTFFMTI3MzAwMDI2QjlGIC8qIExvY2FsaXphYmxlLnN0cmluZ3NkaWN0ICovOyB9Owog
CQk4MzdCN0QyMDFEQzNGNTUwMDBEMDUxRkMgLyogVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzN0I3RDFGMURDM0Y1
NEMwMEQwNTFGQyAvKiBWYWxpZGF0aW9uQnViYmxlSU9TLm1tICovOyB9OwpAQCAtMzQ3Nyw2ICsz
NDg2LDcgQEAKIAkJODM4RUY1M0MxREMxNEE3QzAwOEYwQzM5IC8qIEpTSURCVHJhbnNhY3Rpb25N
b2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzhF
RjUzQTFEQzE0QTc1MDA4RjBDMzkgLyogSlNJREJUcmFuc2FjdGlvbk1vZGUuaCAqLzsgfTsKIAkJ
ODM4Rjg2REExRjUwOUU3NDAwRThDRkM1IC8qIEZpbGVDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM4Rjg2RDgxRjUwOUU2QzAwRThDRkM1
IC8qIEZpbGVDYWxsYmFjay5oICovOyB9OwogCQk4MzhGODZEQjFGNTA5RTdCMDBFOENGQzUgLyog
RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDgzOEY4NkQ3MUY1MDlFNkMwMEU4Q0ZDNSAvKiBGaWxlU3lzdGVtRW50
cnlDYWxsYmFjay5oICovOyB9OworCQk4Mzk2ODBCNDFGNTRDNkFEMDA3NTI2OTAgLyogRmlsZVN5
c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4Mzk2ODBCMjFGNTRDNkE4MDA3NTI2OTAgLyogRmlsZVN5c3RlbUVudHJp
ZXNDYWxsYmFjay5jcHAgKi87IH07CiAJCTgzOTk0NzBCMUY1MEI2M0UwMEU5RDg2QiAvKiBET01G
aWxlU3lzdGVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDgzOTk0NzA5MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmNwcCAqLzsgfTsK
IAkJODM5OTQ3MEMxRjUwQjYzRTAwRTlEODZCIC8qIERPTUZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzOTk0NzA3MUY1MEI2MzgwMEU5
RDg2QiAvKiBET01GaWxlU3lzdGVtLmggKi87IH07CiAJCTgzOTk0NzBGMUY1MEI2RkEwMEU5RDg2
QiAvKiBKU0RPTUZpbGVTeXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODM5OTQ3MEQxRjUwQjZGMzAwRTlEODZCIC8qIEpTRE9NRmlsZVN5c3Rl
bS5jcHAgKi87IH07CkBAIC0xMTU1Niw2ICsxMTU2NiwxMSBAQAogCQk4MzAwMzBGMzFCN0QzM0E2
MDBFRDNBQUMgLyogR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMDAzMEY0MUI3RDMzQTYwMEVEM0FBQyAv
KiBHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTgzMDAzMEY3MUI3RDM5ODgwMEVEM0FBQyAvKiBDYWNoZWRIVE1MQ29sbGVj
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRIVE1MQ29sbGVj
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzAzMzRGQjFGNTQ5MDUyMDA0
REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODMwMzM0RkMxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVT
eXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4MzAzMzRGRDFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzMDMzNEZFMUY1NDkwNTIwMDRERjcwNyAv
KiBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJODMwMzM0RkYxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzA1MTk5MjFCQjBGMEU3MDBG
Mzc3MkUgLyogSFRNTFRpbWVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEhUTUxUaW1lRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTgzMDUxOTkzMUJCMEYwRTcwMEYzNzcyRSAvKiBIVE1MVGltZUVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFRpbWVFbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTgzMDUxOTk0MUJCMEYwRTcwMEYzNzcyRSAvKiBIVE1MVGltZUVs
ZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxUaW1lRWxlbWVudC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTU5MCwxMCArMTE2MDUsMTUgQEAKIAkJODM1
MEMzRTgxREE1OUI2MjAwMzU2NDQ2IC8qIFNjcm9sbFRvT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gU2Nyb2xsVG9PcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8qIENTU0ZvbnRGYW1pbHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTRm9udEZhbWlseS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk4MzU2NTdDNjFFQ0FCMEU4MDBDREU3MkQgLyogSlNET01NYXRyaXhJ
bml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NTWF0cml4
SW5pdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNUI2ODBFMUY1NDhCREUw
MDcxRjdGNiAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNUQzNjM2MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1
aWxkZXJDdXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVCdWls
ZGVyQ3VzdG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNUQ1NEMxMUY0REU1
MzQwMEU2MDY3MSAvKiBGaWxlTGlzdENyZWF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRmlsZUxpc3RDcmVhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM1RDU0QzIxRjRERTUzNDAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlTGlzdENyZWF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM1RjhCMjYxRDJEOTBCQTAwRTQwOEVDIC8qIFNsb3Rh
YmxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTbG90YWJsZS5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTgzNjU4OUQ4MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0
ZW1FbnRyaWVzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNG
aWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTgzNjU4OUQ5MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lzdGVtRGlyZWN0b3J5
UmVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNjU4OURBMUY1NEE3NjIw
MERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2NTg5REIxRjU0QTc2MjAwREMzMUY0IC8q
IEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4MzY5RTU4RjFBRkREMDMwMDA4N0RGNjggLyogTm9uRG9jdW1l
bnRUeXBlQ2hpbGROb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGUuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZBQ0VCRjFFQ0E2MkIwMDA0QkQwMTIgLyog
RE9NTWF0cml4UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRE9NTWF0cml4UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
MzZBQ0VDMDFFQ0E2MkIwMDA0QkQwMTIgLyogRE9NTWF0cml4UmVhZE9ubHkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTWF0cml4UmVhZE9ubHkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTExNjI4LDYgKzExNjQ4LDcgQEAKIAkJODM3MUFDMzgxRjUwOUJE
RDAwRkJGMjg0IC8qIEZpbGVDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRmls
ZUNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3MUFDMzkxRjUw
OUJERDAwRkJGMjg0IC8qIEVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
MzcyREIzMDFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpYWdub3N0aWNMb2dnaW5nUmVzdWx0
VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4Mzc2MDlDODFGNTRDQzEzMDAw
QzEyMkQgLyogRXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODM3NjVGOTMxREFDNTIxODAwQzA2NTM3IC8qIE1vdXNlRXZlbnRJbml0LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBNb3VzZUV2ZW50SW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTgzNzY1Rjk0MURBQzUyMTgwMEMwNjUzNyAvKiBNb3VzZUV2ZW50SW5pdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb3VzZUV2ZW50SW5pdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk4MzdBODAxMjFFMUUxMjczMDAwMjZCOUYgLyogRW5nbGlzaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxp
c3Quc3RyaW5nc2RpY3Q7IG5hbWUgPSBFbmdsaXNoOyBwYXRoID0gRW5nbGlzaC5scHJvai9Mb2Nh
bGl6YWJsZS5zdHJpbmdzZGljdDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwpAQCAtMTE2
NDMsNiArMTE2NjQsNyBAQAogCQk4MzhFRjUzQTFEQzE0QTc1MDA4RjBDMzkgLyogSlNJREJUcmFu
c2FjdGlvbk1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJREJUcmFu
c2FjdGlvbk1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM4Rjg2RDcxRjUw
OUU2QzAwRThDRkM1IC8qIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTgzOEY4NkQ4MUY1MDlFNkMwMEU4Q0ZDNSAvKiBGaWxlQ2FsbGJh
Y2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmlsZUNhbGxiYWNrLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzOTY4MEIyMUY1NEM2QTgwMDc1MjY5MCAvKiBG
aWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4Mzk5NDcwNzFGNTBCNjM4MDBFOUQ4NkIgLyogRE9NRmlsZVN5c3RlbS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01GaWxlU3lzdGVtLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzOTk0NzA4MUY1MEI2MzgwMEU5RDg2QiAvKiBET01G
aWxlU3lzdGVtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01GaWxlU3lzdGVtLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM5OTQ3MDkxRjUwQjYzODAwRTlEODZCIC8q
IERPTUZpbGVTeXN0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RE9NRmlsZVN5c3RlbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTg3OSw2
ICsxOTkwMSw3IEBACiAJCQkJRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0
b20uaCAqLywKIAkJCQlCQzYwOTAxRTBFOTFCOEVDMDAwQzY4QjUgLyogSlNFdmVudFRhcmdldEN1
c3RvbS5jcHAgKi8sCiAJCQkJNDZCNjNGNkIxQzZFOENERjAwMkU5MTRCIC8qIEpTRXZlbnRUYXJn
ZXRDdXN0b20uaCAqLywKKwkJCQk4MzVCNjgwRTFGNTQ4QkRFMDA3MUY3RjYgLyogSlNGaWxlU3lz
dGVtRW50cnlDdXN0b20uY3BwICovLAogCQkJCUJDQ0JBRDNBMEMxOEJGRjgwMENFODkwRiAvKiBK
U0hUTUxDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzUxNTgwQTBDMDNENDA0MDA4QkIw
RUUgLyogSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwICovLAogCQkJCUQ2Rjc5NjBDMTY2RkZFQ0Uw
MDc2REQxOCAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwICovLApAQCAtMjAwNTcs
NiArMjAwODAsNyBAQAogCQkJCTgzOTk0NzA5MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lz
dGVtLmNwcCAqLywKIAkJCQk4Mzk5NDcwNzFGNTBCNjM4MDBFOUQ4NkIgLyogRE9NRmlsZVN5c3Rl
bS5oICovLAogCQkJCTgzOTk0NzA4MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmlk
bCAqLywKKwkJCQk4Mzc2MDlDODFGNTRDQzEzMDAwQzEyMkQgLyogRXJyb3JDYWxsYmFjay5jcHAg
Ki8sCiAJCQkJODM3MUFDMzkxRjUwOUJERDAwRkJGMjg0IC8qIEVycm9yQ2FsbGJhY2suaCAqLywK
IAkJCQk4MzcxQUMzNzFGNTA5QkREMDBGQkYyODQgLyogRXJyb3JDYWxsYmFjay5pZGwgKi8sCiAJ
CQkJODM4Rjg2RDgxRjUwOUU2QzAwRThDRkM1IC8qIEZpbGVDYWxsYmFjay5oICovLApAQCAtMjAw
NjQsNiArMjAwODgsMTIgQEAKIAkJCQk4M0ZCMzM2QjFGNTA4QTRFMDA5ODZFNTQgLyogRmlsZVN5
c3RlbURpcmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJCQk4M0ZCMzM2RDFGNTA4QTRFMDA5ODZFNTQg
LyogRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmggKi8sCiAJCQkJODNGQjMzNkExRjUwOEE0RTAw
OTg2RTU0IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwgKi8sCisJCQkJODMwMzM0RkIx
RjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwICovLAorCQkJ
CTgzMDMzNEZDMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmgg
Ki8sCisJCQkJODMwMzM0RkYxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIuaWRsICovLAorCQkJCTgzOTY4MEIyMUY1NEM2QTgwMDc1MjY5MCAvKiBGaWxlU3lzdGVt
RW50cmllc0NhbGxiYWNrLmNwcCAqLywKKwkJCQk4MzAzMzRGRTFGNTQ5MDUyMDA0REY3MDcgLyog
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oICovLAorCQkJCTgzMDMzNEZEMUY1NDkwNTIwMDRE
RjcwNyAvKiBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbCAqLywKIAkJCQk4M0ZCMzM2RTFG
NTA4QTRFMDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmNwcCAqLywKIAkJCQk4M0ZCMzM2RjFG
NTA4QTRFMDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmggKi8sCiAJCQkJODNGQjMzNjgxRjUw
OEE0RTAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1FbnRyeS5pZGwgKi8sCkBAIC0yMDA4Nyw2ICsyMDEx
NywxMCBAQAogCQkJCTgzNzA1NjhCMUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVDYWxsYmFjay5o
ICovLAogCQkJCTgzM0I5RTJCMUY1MDhEODAwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeS5jcHAgKi8sCiAJCQkJODMzQjlFMkYxRjUwOEQ4MDAwRTBFNDI4IC8qIEpTRmlsZVN5
c3RlbURpcmVjdG9yeUVudHJ5LmggKi8sCisJCQkJODM2NTg5REIxRjU0QTc2MjAwREMzMUY0IC8q
IEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi8sCisJCQkJODM2NTg5RDkxRjU0QTc2
MjAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oICovLAorCQkJCTgzNjU4
OURBMUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwICov
LAorCQkJCTgzNjU4OUQ4MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2Fs
bGJhY2suaCAqLywKIAkJCQk4MzNCOUUyRTFGNTA4RDgwMDBFMEU0MjggLyogSlNGaWxlU3lzdGVt
RW50cnkuY3BwICovLAogCQkJCTgzM0I5RTJBMUY1MDhEODAwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0
ZW1FbnRyeS5oICovLAogCQkJCTgzNzA1NjhBMUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVTeXN0
ZW1FbnRyeUNhbGxiYWNrLmNwcCAqLywKQEAgLTI3NTM5LDYgKzI3NTczLDggQEAKIAkJCQkyRUYx
QkZGOTEyMUNCMENFMDBDMjc2MjcgLyogRmlsZVN0cmVhbUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE0QjNGNzMwQzcyMjA0NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTgzRkIzMzcxMUY1MDhBNTQwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5
RW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTgzMDMzNTAyMUY1NDkwNTcwMDRERjcwNyAvKiBG
aWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk4MzAzMzUwMzFG
NTQ5MDVBMDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODNGQjMzNzMxRjUwOEE1ODAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1FbnRyeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODM4Rjg2REIxRjUwOUU3QjAwRThDRkM1IC8qIEZpbGVTeXN0ZW1F
bnRyeUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0ZCMzM3NTFGNTA4QTVCMDA5ODZF
NTQgLyogRmlsZVN5c3RlbUZpbGVFbnRyeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODIzMSw2ICsy
ODI2Nyw4IEBACiAJCQkJMkU5NEY0M0MxMTkyMDdEQTAwQjdGNzVEIC8qIEpTRmlsZVJlYWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODk4Nzg1RjUxMjJFMUVBQzAwM0FBQkRBIC8qIEpTRmlsZVJl
YWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzM0I5RTMyMUY1MDhEODUwMEUwRTQyOCAv
KiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODM2NTg5
REUxRjU0QTc2OTAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODM2NTg5RTAxRjU0QTc2RTAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVu
dHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMzQjlFMzQxRjUwOEQ4NTAwRTBF
NDI4IC8qIEpTRmlsZVN5c3RlbUVudHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzcwNTY5MDFG
NTA5MTVDMDBEOTM0MjUgLyogSlNGaWxlU3lzdGVtRW50cnlDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODMzQjlFMzYxRjUwOEQ4NTAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbUZpbGVFbnRy
eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTQ3OSw2ICszMTUxNyw3IEBACiAJCQkJRjUyQUQ1RTQx
NTM0MjQ1RjAwNTlGQkU2IC8qIEVtcHR5Q2xpZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MTVCRTE4RjFENTRGNUZCMDBERDdDNjggLyogRW1wdHlHYW1lcGFkUHJvdmlkZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkQzMTYwOTIxMkIwMjZGNzAwQzFBMzU5IC8qIEVxdWFsUG93ZXJQYW5u
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM3NjA5Q0ExRjU0Q0MxODAwMEMxMjJEIC8qIEVy
cm9yQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVDRjdBRTExMDE2MkI1ODAwNDI3
REU3IC8qIEVycm9yRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODUwMzFCNDEwQTQ0RUZD
NzAwRjk5MkUwIC8qIEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMzhEMzM2MTI0NDA1
NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTU1MSw2
ICszMTU5MCw4IEBACiAJCQkJNTE2MDMwNkMwQ0M0MzYyMzAwQzhBQzI1IC8qIEZpbGVTeXN0ZW1D
Ri5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTRCM0Y3NjBDNzIyMDU1MDAwNTMwREYgLyogRmls
ZVN5c3RlbUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODNGQjMzNzAxRjUwOEE1NDAwOTg2
RTU0IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4
MzAzMzUwMTFGNTQ5MDU3MDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk4Mzk2ODBCNDFGNTRDNkFEMDA3NTI2OTAgLyogRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0ZCMzM3MjFGNTA4QTU4
MDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzRkIz
Mzc0MUY1MDhBNUIwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRmlsZUVudHJ5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTI2QzE3QTNGMTQ5MUQyRDQwMEQxMkJBMiAvKiBGaWxlU3lzdGVtSU9TLm1tIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMjIyNCw4ICszMjI2NSwxMSBAQAogCQkJCTJFOTRGNDNCMTE5MjA3
REEwMEI3Rjc1RCAvKiBKU0ZpbGVSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1
RjQxMjJFMUVBQzAwM0FBQkRBIC8qIEpTRmlsZVJlYWRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJODMzQjlFMzExRjUwOEQ4NTAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeUVu
dHJ5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTgzNjU4OUREMUY1NEE3NjYwMERDMzFGNCAvKiBK
U0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM2NTg5
REYxRjU0QTc2QzAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk4MzNCOUUzMzFGNTA4RDg1MDBFMEU0MjggLyogSlNGaWxlU3lzdGVt
RW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODM3MDU2OEYxRjUwOTE1OTAwRDkzNDI1IC8q
IEpTRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM1QjY4
MTAxRjU0OEJFMTAwNzFGN0Y2IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTgzM0I5RTM1MUY1MDhEODUwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1GaWxl
RW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8q
IEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMjgwODM0MDFDNkRDMjc1MDAx
NDUxQjYgLyogSlNGb250RmFjZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IGQ5MDE0MmVmMzhh
M2E4YWU1YjdmNzQ0ODhkNzNiOTg4Njc0OGIxODAuLmUzNjZjNTZkMTg2NTVlMGMyMjU4ZDY2Mjc5
YmQ2ZmM2N2Y4N2Q4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
QmluZGluZ3NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNC
aW5kaW5nc0FsbEluT25lLmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIkpTRXZlbnRD
dXN0b20uY3BwIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5jcHAiCiAjaW5jbHVkZSAiSlNF
dmVudFRhcmdldEN1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlU3lzdGVtRW50cnlDdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwIgogI2luY2x1ZGUgIkpT
SFRNTERvY3VtZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0hUTUxFbGVtZW50Q3VzdG9tLmNw
cCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVu
dHJ5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVu
dHJ5Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDZmNzUxZWUxOGZjNjA4ZWU4ZjhjMzcyMTJhZjY5
NjM2NmFmNGMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNGaWxlU3lzdGVtRW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNGaWxlU3lzdGVtRW50cnkuaCIKKwor
I2luY2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0
ZW1GaWxlRW50cnkuaCIKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0Zp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkpTRmlsZVN5c3RlbUZpbGVFbnRy
eS5oIgorCit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pT
VmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFJlZjxGaWxlU3lzdGVtRW50cnk+JiYgZW50cnkpCit7CisgICAgaWYg
KGlzPEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4oZW50cnkpKQorICAgICAgICByZXR1cm4gY3Jl
YXRlV3JhcHBlcjxGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZShlbnRyeSkpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEZpbGVTeXN0ZW1GaWxlRW50cnk+
KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworfQorCitKU1ZhbHVlIHRvSlMoRXhlY1N0
YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRmlsZVN5c3RlbUVu
dHJ5JiBlbnRyeSkKK3sKKyAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBlbnRy
eSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJh
bnNmZXJJdGVtLmNwcAppbmRleCAxMjMyZTgxZTU3ZGVkMmM4OTg0OWQ0NGY2MzQ5NzM4N2Q0NjQz
ODE0Li5kNDU2OTI5MjhkNzRmM2M4NzNmOGViMmJhZmE5MTU2ZDI3MTZkNDU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uY3BwCkBAIC0zMiwxMCArMzIsMTUgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEYXRhVHJhbnNmZXJJdGVtLmgiCiAKKyNpbmNsdWRl
ICJET01GaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRGF0YVRyYW5zZmVySXRlbUxpc3QuaCIKICNp
bmNsdWRlICJGaWxlLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1GaWxlRW50cnkuaCIK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU3RyaW5nQ2Fs
bGJhY2suaCIKKyNpbmNsdWRlIDx3dGYvVVVJRC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTEwMSw0ICsxMDYsMTggQEAgUmVmUHRyPEZpbGU+IERhdGFUcmFuc2Zlckl0ZW06OmdldEFz
RmlsZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fZmlsZS5jb3B5UmVmKCk7CiB9CiAKK1JlZlB0cjxG
aWxlU3lzdGVtRW50cnk+IERhdGFUcmFuc2Zlckl0ZW06OmdldEFzRW50cnkoKSBjb25zdAorewor
ICAgIGlmICghbV9saXN0IHx8ICFtX2xpc3QtPmRhdGFUcmFuc2ZlcigpLmNhblJlYWREYXRhKCkg
fHwgIW1fZmlsZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBpZiAoIW1fZmlsZVN5
c3RlbSkKKyAgICAgICAgbV9maWxlU3lzdGVtID0gRE9NRmlsZVN5c3RlbTo6Y3JlYXRlKGNyZWF0
ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSk7CisKKyAgICBTdHJpbmcgdmlydHVhbFBhdGggPSAiLyIg
KyBtX2ZpbGUtPm5hbWUoKTsKKyAgICBpZiAobV9maWxlLT5pc0RpcmVjdG9yeSgpKQorICAgICAg
ICByZXR1cm4gRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjpjcmVhdGUoKm1fZmlsZVN5c3RlbSwg
dmlydHVhbFBhdGgpOworICAgIHJldHVybiBGaWxlU3lzdGVtRmlsZUVudHJ5OjpjcmVhdGUoKm1f
ZmlsZVN5c3RlbSwgdmlydHVhbFBhdGgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaAppbmRleCBkOGI4NGExN2QxYjU0YjgyYTI3
NDI1ZTQ4MWZmZDZmZjFjZGUzNGY2Li5iZWExY2YxZTRjMDc5ZjRmY2MwZTNlNmFhNTk0YTExMGYw
MWI5ZTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmgKQEAgLTQwLDggKzQw
LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRE9NRmlsZVN5c3RlbTsKIGNs
YXNzIERhdGFUcmFuc2Zlckxpc3RJdGVtOwogY2xhc3MgRmlsZTsKK2NsYXNzIEZpbGVTeXN0ZW1F
bnRyeTsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBTdHJpbmdDYWxsYmFj
azsKIApAQCAtNTksNiArNjEsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIHR5cGUoKSBjb25zdDsK
ICAgICB2b2lkIGdldEFzU3RyaW5nKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWZQdHI8U3Ry
aW5nQ2FsbGJhY2s+JiYpIGNvbnN0OwogICAgIFJlZlB0cjxGaWxlPiBnZXRBc0ZpbGUoKSBjb25z
dDsKKyAgICBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5PiBnZXRBc0VudHJ5KCkgY29uc3Q7CiAKIHBy
aXZhdGU6CiAgICAgRGF0YVRyYW5zZmVySXRlbShXZWFrUHRyPERhdGFUcmFuc2Zlckl0ZW1MaXN0
PiYmLCBjb25zdCBTdHJpbmcmKTsKQEAgLTY5LDYgKzcyLDcgQEAgcHJpdmF0ZToKICAgICBXZWFr
UHRyPERhdGFUcmFuc2Zlckl0ZW1MaXN0PiBtX2xpc3Q7CiAgICAgY29uc3QgU3RyaW5nIG1fdHlw
ZTsKICAgICBSZWZQdHI8RmlsZT4gbV9maWxlOworICAgIG11dGFibGUgUmVmUHRyPERPTUZpbGVT
eXN0ZW0+IG1fZmlsZVN5c3RlbTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNm
ZXJJdGVtLmlkbAppbmRleCA3Mzk3YTdmZjBiMDgzMDMzMzM3MDBkOThkN2FiODQxOTkwM2FhMDQ4
Li5jZDUyZjUwNmZiOTM4YWZmZWJmZTVjYWRmODc2MjkwYjQyMjJlYThmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsCkBAIC0zOCw1ICszOCw4IEBACiAKICAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gdm9pZCBnZXRBc1N0cmluZyhTdHJpbmdDYWxs
YmFjaz8gY2FsbGJhY2spOwogICAgIEZpbGUgZ2V0QXNGaWxlKCk7CisKKyAgICAvLyBodHRwczov
L3dpY2cuZ2l0aHViLmlvL2VudHJpZXMtYXBpLyNodG1sLWRhdGEKKyAgICBbSW1wbGVtZW50ZWRB
cz1nZXRBc0VudHJ5XSBGaWxlU3lzdGVtRW50cnk/IHdlYmtpdEdldEFzRW50cnkoKTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuY3BwCmluZGV4IDJjOTA5
ZTA4MDM4YmNlOGVlOGU2ZTMwYjMxMzhiODZkZjk5MTNkMzQuLjI4ZWQ2OWI1MTU3ZTg2YWExY2Fj
ZmQzYjdlMDY1MTgwZmQzNDBhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRh
VHJhbnNmZXJJdGVtTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ckl0ZW1MaXN0LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiRGF0YVRyYW5zZmVy
SXRlbS5oIgogI2luY2x1ZGUgIkZpbGVMaXN0LmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgog
I2luY2x1ZGUgIlBhc3RlYm9hcmQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTM0LDcg
KzEzNSw3IEBAIFZlY3RvcjxSZWY8RGF0YVRyYW5zZmVySXRlbT4+JiBEYXRhVHJhbnNmZXJJdGVt
TGlzdDo6ZW5zdXJlSXRlbXMoKSBjb25zdAogICAgIGZvciAodW5zaWduZWQgaSA9IDAsIGxlbmd0
aCA9IGZpbGVzLmxlbmd0aCgpOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICAgRmlsZSYgZmls
ZSA9ICpmaWxlcy5pdGVtKGkpOwogICAgICAgICBTdHJpbmcgdHlwZSA9IEZpbGU6OmNvbnRlbnRU
eXBlRm9yRmlsZShmaWxlLnBhdGgoKSkuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKTsKLSAgICAg
ICAgaWYgKGlzU3VwcG9ydGVkVHlwZSh0eXBlKSkKKyAgICAgICAgaWYgKGlzU3VwcG9ydGVkVHlw
ZSh0eXBlKSB8fCBmaWxlLmlzRGlyZWN0b3J5KCkpCiAgICAgICAgICAgICBpdGVtcy5hcHBlbmQo
RGF0YVRyYW5zZmVySXRlbTo6Y3JlYXRlKG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0cigp
LCB0eXBlLCBmaWxlKSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcAppbmRleCBlNTY1
MDBhZGEzMjdmZjE0NWYxYmY1MTk3YmU2Yjg0MmMwOTc5N2IzLi5iNTA4YWJmNDZkMTFmZTJlM2Y5
NGY3NzIxYjA3YTk0ODdkYmMxMWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0ZpbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAKQEAgLTEyNyw0
ICsxMjcsMTEgQEAgU3RyaW5nIEZpbGU6OmNvbnRlbnRUeXBlRm9yRmlsZShjb25zdCBTdHJpbmcm
IHBhdGgpCiAgICAgcmV0dXJuIHR5cGU7CiB9CiAKK2Jvb2wgRmlsZTo6aXNEaXJlY3RvcnkoKSBj
b25zdAoreworICAgIGlmICghbV9pc0RpcmVjdG9yeSkKKyAgICAgICAgbV9pc0RpcmVjdG9yeSA9
IGZpbGVJc0RpcmVjdG9yeShtX3BhdGgpOworICAgIHJldHVybiAqbV9pc0RpcmVjdG9yeTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaAppbmRleCAyMjZhZjhj
MTc2YmVmNTgxNGIxNjM4ZGI4N2E0ZTJhMDU4ZjQ4MWEyLi5hOTYwMWY1ODRmOTUyMjBiOWJmZjM5
MTMzMTkyYWZhZDg1MjMzNmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Zp
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaApAQCAtODEsNiArODEsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgc2hvdWxkUmVwbGFjZUZpbGUoY29uc3QgU3RyaW5n
JiBwYXRoKTsKICNlbmRpZgogCisgICAgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0OworCiBwcml2
YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIGV4cGxpY2l0IEZpbGUoY29uc3QgU3RyaW5nJiBwYXRo
KTsKICAgICBGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyaW5nJiBuYW1lT3ZlcnJp
ZGUpOwpAQCAtOTgsNiArMTAwLDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9uYW1lOwogCiAg
ICAgc3RkOjpvcHRpb25hbDxpbnQ2NF90PiBtX292ZXJyaWRlTGFzdE1vZGlmaWVkRGF0ZTsKKyAg
ICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV9pc0RpcmVjdG9yeTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMuaAppbmRleCAxOGNiMjZhNWRmZmM5Zjk0ZjNjYjUyMjdhMmE2ZTQ0ZmU3
MzkxMTU3Li4xYjkyZGQ2OWQ3YTNjOTQ1YTM1YTI3ZTNlOGFjNGM1MjBmYTBmYWFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0y
NzcsNyArMjc3LDYgQEAKICAgICBtYWNybyhMYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQs
IGxhcmdlSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIi
KSBcCiAgICAgbWFjcm8oQW5pbWF0ZWRJbWFnZUFzeW5jRGVjb2RpbmdFbmFibGVkLCBhbmltYXRl
ZEltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAog
ICAgIG1hY3JvKEN1c3RvbUVsZW1lbnRzRW5hYmxlZCwgY3VzdG9tRWxlbWVudHNFbmFibGVkLCBC
b29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKLSAgICBtYWNybyhEYXRhVHJhbnNmZXJJdGVtc0Vu
YWJsZWQsIGRhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICJEYXRh
IFRyYW5zZmVyIEl0ZW1zIiwgIkVuYWJsZXMgRGF0YVRyYW5zZmVySXRlbSBpbiB0aGUgY2xpcGJv
YXJkIEFQSSIpIFwKICAgICBtYWNybyhFbmNyeXB0ZWRNZWRpYUFQSUVuYWJsZWQsIGVuY3J5cHRl
ZE1lZGlhQVBJRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAogICAgIG1hY3Jv
KE1lZGlhUHJlbG9hZGluZ0VuYWJsZWQsIG1lZGlhUHJlbG9hZGluZ0VuYWJsZWQsIEJvb2wsIGJv
b2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBtYWNybyhJbnRlcnNlY3Rpb25PYnNlcnZlckVuYWJs
ZWQsIGludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICJJbnRl
cnNlY3Rpb24gT2JzZXJ2ZXIiLCAiRW5hYmxlIEludGVyc2VjdGlvbiBPYnNlcnZlciBzdXBwb3J0
IikgXApAQCAtMzc2LDYgKzM3NSw3IEBACiAgICAgbWFjcm8oV2ViR0wyRW5hYmxlZCwgd2ViR0wy
RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICJXZWJHTCAyLjAiLCAiV2ViR0wgMiBwcm90b3R5
cGUiKSBcCiAgICAgbWFjcm8oV2ViR1BVRW5hYmxlZCwgd2ViR1BVRW5hYmxlZCwgQm9vbCwgYm9v
bCwgZmFsc2UsICJXZWJHUFUiLCAiV2ViR1BVIHByb3RvdHlwZSIpIFwKICAgICBtYWNybyhEaXJl
Y3RvcnlVcGxvYWRFbmFibGVkLCBkaXJlY3RvcnlVcGxvYWRFbmFibGVkLCBCb29sLCBib29sLCBm
YWxzZSwgIkRpcmVjdG9yeSBVcGxvYWQiLCAiaW5wdXQud2Via2l0ZGlyZWN0b3J5IikgXAorICAg
IG1hY3JvKERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCwgZGF0YVRyYW5zZmVySXRlbXNFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSwgIkRhdGEgVHJhbnNmZXIgSXRlbXMiLCAiRW5hYmxlcyBEYXRh
VHJhbnNmZXJJdGVtIGluIHRoZSBjbGlwYm9hcmQgQVBJIikgXAogICAgIG1hY3JvKEFzeW5jRnJh
bWVTY3JvbGxpbmdFbmFibGVkLCBhc3luY0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZCwgQm9vbCwgYm9v
bCwgZmFsc2UsICJBc3luYyBGcmFtZSBTY3JvbGxpbmciLCAiUGVyZm9ybSBmcmFtZSBzY3JvbGxp
bmcgaW4gYSBkZWRpY2F0ZWQgdGhyZWFkIG9yIHByb2Nlc3MiKSBcCiAgICAgXAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
OWRkNmY2NDU4YTZjMDRlODk2NzFmZWUyMjNjZTQ0NjFjMjBhZmY5NS4uNGUzMGJlZjA0NjgxNWY0
NWRkMTkzMzYxYzY3Y2U4ODFmNWVkNzNiMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTA4
LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluaXRp
YWwgc3VwcG9ydCBmb3IgZGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5KCkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjAzOAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzQxMjEwOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0
ZW1zLWRyb3AtZ2V0QXNFbnRyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRp
bmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5Lmh0bWw6IEFk
ZGVkLgorICAgICAgICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBodHRw
L3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmViYXNl
bGluZSB0ZXN0IG5vdyB0aGF0IHdlIHN1cHBvcnQgbW9yZSBvZiB0aGUgQVBJLgorCisgICAgICAg
ICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFNraXAgbmV3IHRlc3Qg
b24gV0syIGJlY2F1c2UgaXQgcmVsaWVzIG9uIGJlZ2luRHJhZ1dpdGhGaWxlcygpLgorCiAyMDE3
LTA4LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGFuZCBz
dHVicyBmb3IgRmlsZSBhbmQgRGlyZWN0b3J5IEVudHJpZXMgQVBJIGludGVyZmFjZXMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMt
ZHJvcC1nZXRBc0VudHJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42YjY4ZGUwMTY4N2ZiNzZmNDExOTQwYzZjYjBlMDk0MmFkOWNhMWFmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1p
dGVtcy1kcm9wLWdldEFzRW50cnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK0Jhc2lj
IHRlc3QgY292ZXJhZ2UgZm9yIGRhdGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRhdGFUcmFuc2Zlci5pdGVtcy5s
ZW5ndGggaXMgMgorUEFTUyBmaXJzdERhdGFUcmFuc2Zlckl0ZW0ua2luZCBpcyAiZmlsZSIKK1BB
U1MgZmlyc3REYXRhVHJhbnNmZXJJdGVtLnR5cGUgaXMgInRleHQvcGxhaW4iCitQQVNTIGZpcnN0
RmlsZS5uYW1lIGlzICJ0ZXN0LnR4dCIKK1BBU1MgZmlyc3RGaWxlLnNpemUgaXMgNQorUEFTUyBm
aXJzdEZpbGUudHlwZSBpcyAidGV4dC9wbGFpbiIKK1BBU1MgZmlyc3RFbnRyeS5pc0RpcmVjdG9y
eSBpcyBmYWxzZQorUEFTUyBmaXJzdEVudHJ5LmlzRmlsZSBpcyB0cnVlCitQQVNTIGZpcnN0RW50
cnkubmFtZSBpcyAidGVzdC50eHQiCitQQVNTIGZpcnN0RW50cnkuZnVsbFBhdGggaXMgIi90ZXN0
LnR4dCIKK1BBU1Mgc2Vjb25kRGF0YVRyYW5zZmVySXRlbS5raW5kIGlzICJmaWxlIgorUEFTUyBz
ZWNvbmREYXRhVHJhbnNmZXJJdGVtLnR5cGUgaXMgIiIKK1BBU1Mgc2Vjb25kRmlsZS5uYW1lIGlz
ICJ0ZXN0RmlsZXMiCitQQVNTIHNlY29uZEZpbGUuc2l6ZSBpcyAyMDQKK1BBU1Mgc2Vjb25kRmls
ZS50eXBlIGlzICIiCitQQVNTIHNlY29uZEVudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1Mg
c2Vjb25kRW50cnkuaXNGaWxlIGlzIGZhbHNlCitQQVNTIHNlY29uZEVudHJ5Lm5hbWUgaXMgInRl
c3RGaWxlcyIKK1BBU1Mgc2Vjb25kRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMiCitQQVNT
IGZpbGVTeXN0ZW1Sb290LmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1MgZmlsZVN5c3RlbVJvb3Qu
aXNGaWxlIGlzIGZhbHNlCitQQVNTIGZpbGVTeXN0ZW1Sb290Lm5hbWUgaXMgIiIKK1BBU1MgZmls
ZVN5c3RlbVJvb3QuZnVsbFBhdGggaXMgIi8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldEFzRW50cnkuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0Vu
dHJ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBiODM1NjI3NGE3NTRlYjg0NzBlMTcxODhkYzZlY2EzNDY5
ZTRiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9k
YXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5Lmh0bWwKQEAgLTAsMCArMSw4MSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZHJv
cHpvbmUiIHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29s
b3I6IGdyZXk7Ij48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQmFzaWMgdGVzdCBjb3Zl
cmFnZSBmb3IgZGF0YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5KCkiKTsKK2pzVGVzdElz
QXN5bmMgPSB0cnVlOworCitmdW5jdGlvbiBtb3ZlTW91c2VUb0NlbnRlck9mRWxlbWVudChlbGVt
ZW50KSB7CisgICAgdmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9m
ZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxl
bWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGNlbnRl
clgsIGNlbnRlclkpOworfQorCitmdW5jdGlvbiBkcmFnRmlsZXNPbnRvRWxlbWVudChlbGVtZW50
LCBmaWxlcykgeworICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMoZmlsZXMpOworICAgIG1vdmVN
b3VzZVRvQ2VudGVyT2ZFbGVtZW50KGVsZW1lbnQpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKK30KKwordmFyIGRyb3B6b25lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3B6b25l
Jyk7Citkcm9wem9uZS5vbmRyb3AgPSBmdW5jdGlvbihlKSB7CisgICAgZS5wcmV2ZW50RGVmYXVs
dCgpOworICAgIGRhdGFUcmFuc2ZlciA9IGUuZGF0YVRyYW5zZmVyOworCisgICAgc2hvdWxkQmUo
ImRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGgiLCAiMiIpOworCisgICAgZmlyc3REYXRhVHJhbnNm
ZXJJdGVtID0gZGF0YVRyYW5zZmVyLml0ZW1zWzBdOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZmlyc3REYXRhVHJhbnNmZXJJdGVtLmtpbmQiLCAiZmlsZSIpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZmlyc3REYXRhVHJhbnNmZXJJdGVtLnR5cGUiLCAidGV4dC9wbGFpbiIpOwor
ICAgIGZpcnN0RmlsZSA9IGZpcnN0RGF0YVRyYW5zZmVySXRlbS5nZXRBc0ZpbGUoKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImZpcnN0RmlsZS5uYW1lIiwgInRlc3QudHh0Iik7CisgICAg
c2hvdWxkQmUoImZpcnN0RmlsZS5zaXplIiwgIjUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImZpcnN0RmlsZS50eXBlIiwgInRleHQvcGxhaW4iKTsKKworICAgIGZpcnN0RW50cnkgPSBm
aXJzdERhdGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpOworICAgIHNob3VsZEJlRmFs
c2UoImZpcnN0RW50cnkuaXNEaXJlY3RvcnkiKTsKKyAgICBzaG91bGRCZVRydWUoImZpcnN0RW50
cnkuaXNGaWxlIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdEVudHJ5Lm5hbWUi
LCAidGVzdC50eHQiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpcnN0RW50cnkuZnVs
bFBhdGgiLCAiL3Rlc3QudHh0Iik7CisKKyAgICAvLyBTZWNvbmQgaXRlbS4KKyAgICBzZWNvbmRE
YXRhVHJhbnNmZXJJdGVtID0gZGF0YVRyYW5zZmVyLml0ZW1zWzFdOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygic2Vjb25kRGF0YVRyYW5zZmVySXRlbS5raW5kIiwgImZpbGUiKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInNlY29uZERhdGFUcmFuc2Zlckl0ZW0udHlwZSIsICIiKTsK
KyAgICBzZWNvbmRGaWxlID0gc2Vjb25kRGF0YVRyYW5zZmVySXRlbS5nZXRBc0ZpbGUoKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlY29uZEZpbGUubmFtZSIsICJ0ZXN0RmlsZXMiKTsK
KyAgICBzaG91bGRCZSgic2Vjb25kRmlsZS5zaXplIiwgIjIwNCIpOyAvLyBDaHJvbWUgcmV0dXJu
cyBmb2xkZXIgc2l6ZSwgRmlyZWZveCByZXR1cm5zIDAuCisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJzZWNvbmRGaWxlLnR5cGUiLCAiIik7CisKKyAgICBzZWNvbmRFbnRyeSA9IHNlY29uZERh
dGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpOworICAgIHNob3VsZEJlVHJ1ZSgic2Vj
b25kRW50cnkuaXNEaXJlY3RvcnkiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJzZWNvbmRFbnRyeS5p
c0ZpbGUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlY29uZEVudHJ5Lm5hbWUiLCAi
dGVzdEZpbGVzIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmRFbnRyeS5mdWxs
UGF0aCIsICIvdGVzdEZpbGVzIik7CisKKyAgICBmaWxlU3lzdGVtUm9vdCA9IHNlY29uZEVudHJ5
LmZpbGVzeXN0ZW0ucm9vdDsKKyAgICBzaG91bGRCZVRydWUoImZpbGVTeXN0ZW1Sb290LmlzRGly
ZWN0b3J5Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiZmlsZVN5c3RlbVJvb3QuaXNGaWxlIik7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaWxlU3lzdGVtUm9vdC5uYW1lIiwgIiIpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlsZVN5c3RlbVJvb3QuZnVsbFBhdGgiLCAiLyIpOwor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9OworCitkcm9wem9uZS5vbmRyYWdvdmVyID0gZnVuY3Rp
b24oZXYpIHsKKyAgICBldi5wcmV2ZW50RGVmYXVsdCgpOworfQorCitvbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICBkcmFnRmlsZXNPbnRvRWxlbWVudChkcm9wem9uZSwgWycuLi8uLi9mYXN0L2Zv
cm1zL3Jlc291cmNlcy90ZXN0LnR4dCcsICcuLi8uLi9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3VyY2Vz
L3Rlc3RGaWxlcyddKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvZW50cmllcy1hcGkvaW50ZXJmYWNlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVk
LnR4dAppbmRleCBlNTA1MzQ3ZmEyMWY1NmZhMzQwMjgxMDgzNGQ3NDI5MmFlZDVjMzQxLi5lNzFi
OWVlNTg0YmI3ZmIyNDU0OTVjNTg5NDVlZDkwODNmZWUwZGY4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApA
QCAtMjEsMTkgKzIxLDE5IEBAIFBBU1MgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBB
U1MgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSAKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFjZTogb3BlcmF0aW9u
IGNyZWF0ZVJlYWRlcigpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImNy
ZWF0ZVJlYWRlciIgbWlzc2luZworUEFTUyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkgaW50ZXJm
YWNlOiBvcGVyYXRpb24gY3JlYXRlUmVhZGVyKCkgCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlF
bnRyeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRGaWxlKFVTVlN0cmluZyxGaWxlU3lzdGVtRmxh
Z3MsRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2ssRXJyb3JDYWxsYmFjaykgCiBQQVNTIEZpbGVTeXN0
ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXREaXJlY3RvcnkoVVNWU3Ry
aW5nLEZpbGVTeXN0ZW1GbGFncyxGaWxlU3lzdGVtRW50cnlDYWxsYmFjayxFcnJvckNhbGxiYWNr
KSAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2sgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCiBQQVNTIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgaW50
ZXJmYWNlOiBvcGVyYXRpb24gaGFuZGxlRXZlbnQoRmlsZVN5c3RlbUVudHJ5KSAKLUZBSUwgRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIiIGV4cGVjdGVkIHBy
b3BlcnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIiBtaXNzaW5nCi1GQUlMIEZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIiIG1p
c3NpbmcKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXIiIG1pc3NpbmcKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZVN5
c3RlbURpcmVjdG9yeVJlYWRlciIgbWlzc2luZwotRkFJTCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVh
ZGVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVh
ZGVyIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgbWlzc2lu
ZwotRkFJTCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZTogb3BlcmF0aW9uIHJl
YWRFbnRyaWVzKEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2ssRXJyb3JDYWxsYmFjaykgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZVN5c3Rl
bURpcmVjdG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIiIG1pc3NpbmcKK1BBU1MgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBGaWxl
U3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBGaWxl
U3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRmlsZVN5
c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgRmlsZVN5c3RlbURpcmVjdG9yeVJl
YWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIEZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVhZEVudHJpZXMoRmlsZVN5c3Rl
bUVudHJpZXNDYWxsYmFjayxFcnJvckNhbGxiYWNrKSAKIFBBU1MgRmlsZVN5c3RlbUVudHJpZXND
YWxsYmFjayBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAogUEFTUyBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBG
aWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKQEAgLTY1LDUgKzY1LDUgQEAgUEFTUyBIVE1MSW5wdXRFbGVtZW50IG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgZmlsZV9pbnB1dAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZmlsZV9p
bnB1dCAKIFBBU1MgSFRNTElucHV0RWxlbWVudCBpbnRlcmZhY2U6IGZpbGVfaW5wdXQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJ3ZWJraXRkaXJlY3RvcnkiIHdpdGggdGhlIHByb3BlciB0eXBlICgw
KSAKIEZBSUwgSFRNTElucHV0RWxlbWVudCBpbnRlcmZhY2U6IGZpbGVfaW5wdXQgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJ3ZWJraXRFbnRyaWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAid2Via2l0RW50cmllcyIgbm90IGZvdW5kIGluIHByb3Rv
dHlwZSBjaGFpbgotRkFJTCBEYXRhVHJhbnNmZXJJdGVtIGludGVyZmFjZTogb3BlcmF0aW9uIHdl
YmtpdEdldEFzRW50cnkoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJ3
ZWJraXRHZXRBc0VudHJ5IiBtaXNzaW5nCitQQVNTIERhdGFUcmFuc2Zlckl0ZW0gaW50ZXJmYWNl
OiBvcGVyYXRpb24gd2Via2l0R2V0QXNFbnRyeSgpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dr
Mi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVlZDU1ZTM5YTAzOWMyMThlOTA0YTU0NWQxNWQ2ZGY3
YjkzMDc0YTIuLmY4NGZhODFlMTUxZjViNzA5Nzg3MDIxMzQ1MjU3MTVkZTQ4MDA4NmYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC01NjMsNiArNTYzLDcg
QEAgcGxhdGZvcm0vbWFjL2Zhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBpLmh0bWwKIAogIyBXZWJL
aXRUZXN0UnVubmVyIG5lZWRzIGFuIGltcGxlbWVudGF0aW9uIG9mIGV2ZW50U2VuZGVyLmJlZ2lu
RHJhZ1dpdGhGaWxlcwogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjQyODUKK2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0Vu
dHJ5Lmh0bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1wbGFp
bnRleHQtZmlsZS5odG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZmlsZS1kcmFnLXRvLWVkaXRhYmxl
Lmh0bWwgWyBTa2lwIF0KIGVkaXRpbmcvcGFzdGVib2FyZC9maWxlLWlucHV0LWZpbGVzLWFjY2Vz
cy5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319254</attachid>
            <date>2017-08-29 09:16:44 -0700</date>
            <delta_ts>2017-08-29 10:00:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176038-20170829091643.patch</filename>
            <type>text/plain</type>
            <size>78769</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
ZWJkOWYyZDU3ZDNkNTRkZmUxMzBlNjgyMDQxMjk4MGUxN2QxN2EyLi43ZWZhNDAyODE0M2IwNTMy
ZjUzYzg5MTk3YTdkYzkxODg1MGViOGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxNy0wOC0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGRhdGFUcmFuc2Zlckl0ZW0ud2Via2l0
R2V0QXNFbnRyeSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzYwMzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM0MTIxMDk1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAgICBBZGQgQ29tbW9uSWRlbnRpZmll
ciBuZWVkZWQgYnkgW0VuYWJsZWRBdFJ1bnRpbWVdLgorCisgICAgICAgICogcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5oOgorCiAyMDE3LTA4LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgTGFuZCBzdHVicyBmb3IgRmlsZSBhbmQgRGlyZWN0b3J5IEVudHJp
ZXMgQVBJIGludGVyZmFjZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhYTllOTVkZDQxM2IzOGE2NjM5YjE3MzA3
YjI4OTBkNTEwMjE5ODZiLi45MmIxYWVhODMwNjE0ZTM4NmFiYTc3OTVhZDZkYzg5NzMwNTkxNmU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTEwIEBACisyMDE3LTA4LTI4ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgZGF0
YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NjAzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzQxMjEwOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAg
IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGRhdGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRy
eSgpIGFzIHBlcjoKKyAgICAgICAgLSBodHRwczovL3dpY2cuZ2l0aHViLmlvL2VudHJpZXMtYXBp
LyNodG1sLWRhdGEKKworICAgICAgICBUaGUgbWV0aG9kIHdvcmtzIGFzIGV4cGVjdGVkIGFuZCBy
ZXR1cm5zIGEgRmlsZVN5c3RlbUVudHJ5LiBUaGUgZW50cnkKKyAgICAgICAgY2FuIGJlIGVpdGhl
ciBhIGZpbGUgb3IgYSBkaXJlY3RvcnkuIEFsbCBvZiB0aGUgYXR0cmlidXRlcyBleHBvc2VkIG9u
CisgICAgICAgIHRoZSBGaWxlU3lzdGVtRW50cnkgcmV0dXJuIGNvcnJlY3QgdmFsdWVzLgorCisg
ICAgICAgIFdoYXQgcmVtYWlucyB0byBiZSBpbXBsZW1lbnRlZCBmb3IgdGhpcyBuZXcgQVBJIHRv
IGFjdHVhbGx5IGJlIHVzZWZ1bDoKKyAgICAgICAgLSBkaXJlY3RvcnkuZ2V0RmlsZSgpIC8gZGly
ZWN0b3J5LmdldERpcmVjdG9yeSgpCisgICAgICAgIC0gZmlsZS5maWxlKCkKKyAgICAgICAgLSBl
bnRyeS5nZXRQYXJlbnQoKQorICAgICAgICAtIGRpcmVjdG9yeVJlYWRlci5yZWFkRW50cmllcygp
CisKKyAgICAgICAgVGVzdDogZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1k
cm9wLWdldEFzRW50cnkuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNCaW5kaW5nc0FsbEluT25lLmNw
cDoKKyAgICAgICAgQWRkIG5ldyBmaWxlcyB0byBwcm9qZWN0cy4KKworICAgICAgICAqIE1vZHVs
ZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUZp
bGVTeXN0ZW06OkRPTUZpbGVTeXN0ZW0pOgorICAgICAgICAqIE1vZHVsZXMvZW50cmllc2FwaS9E
T01GaWxlU3lzdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lzdGVtOjpjcmVhdGUp
OgorICAgICAgICBET01GaWxlU3lzdGVtIGZhY3Rvcnkgbm93IHRha2VzIGEgbmFtZSBwYXJhbWV0
ZXIuIFRoaXMgbmFtZSBpcyBhIFVVSUQsIGFzIHN1Z2dlc3RlZCBpbgorICAgICAgICB0aGUgc3Bl
Y2lmaWNhdGlvbiBhbmQgaW1wbGVtZW50ZWQgYnkgRmlyZWZveC4KKworICAgICAgICAqIE1vZHVs
ZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmNwcDogQWRkZWQuCisgICAgICAgICogTW9kdWxl
cy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suaDoKKyAgICAgICAgQWRkIHNjaGVkdWxlQ2FsbGJh
Y2soKSBjb252ZW5pZW5jZSBtZXRob2QgYXMgd2Ugb2Z0ZW4gbmVlZCB0byBjYWxsIHRoaXMgY2Fs
bGJhY2sKKyAgICAgICAgYXN5bmNocm9ub3VzbHkuCisKKyAgICAgICAgKiBNb2R1bGVzL2VudHJp
ZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Y3JlYXRlUmVhZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OmdldERpcmVjdG9yeSk6Cisg
ICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oOgor
ICAgICAgICAtIEFkZCBpbXBsZW1lbnRhdGlvbiBmb3IgY3JlYXRlUmVhZGVyKCkuCisgICAgICAg
IC0gVXBkYXRlIGdldEZpbGUoKSAvIGdldERpcmVjdG9yeSgpIHRvIGNhbGwgdGhlIGVycm9yIGNh
bGxiYWNrIGZvciBub3cgYXMgdGhleSBhcmUKKyAgICAgICAgICB1bmltcGxlbWVudGVkLgorICAg
ICAgICAtIEhhdmUgdGhlIGZhY3RvcnkgdGFrZSB0aGUgdmlydHVhbCBwYXRoIG9mIHRoZSBlbnRy
eSBzbyB0aGF0IGl0IGNhbiBiZQorICAgICAgICAgIGV4cG9zZWQgdmlhIHRoZSBmdWxsUGF0aCBh
dHRyaWJ1dGUgaW4gSURMLgorCisgICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0
ZW1EaXJlY3RvcnlFbnRyeS5pZGw6CisgICAgICAgIEV4cG9zZSBjcmVhdGVSZWFkZXIoKSBub3cg
dGhhdCB3ZSBoYXZlIHN0dWJzIGZvciBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLgorCisgICAg
ICAgICogTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJl
YWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURp
cmVjdG9yeVJlYWRlci5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW50cmllc2FwaS9G
aWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRsOiBBZGRlZC4K
KyAgICAgICAgTGFuZCBzdHVicyBmb3IgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBhbmQgaXRz
IEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suCisKKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1FbnRy
eTo6RmlsZVN5c3RlbUVudHJ5KToKKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5
c3RlbUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtRW50cnk6OnZpcnR1YWxQ
YXRoIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5
LmlkbDoKKyAgICAgICAgVXBkYXRlIGNvbnN0cnVjdG9yIHRvIHRha2UgYSB2aXJ0dWFsIHBhdGgs
IHdoaWNoIGlzIGV4cG9zZWQgdmlhIGZ1bGxQYXRoCisgICAgICAgIGF0dHJpYnV0ZSBpbiBJREwu
CisKKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtRmlsZUVudHJ5OjpGaWxlU3lzdGVtRmlsZUVu
dHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1GaWxlRW50cnk6OmZpbGUpOgorICAg
ICAgICAqIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5Lmg6CisgICAgICAg
IChpc1R5cGUpOgorICAgICAgICAqIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVu
dHJ5LmlkbDoKKyAgICAgICAgLSBVcGRhdGUgZmlsZSgpIHRvIGNhbGwgdGhlIGVycm9yIGNhbGxi
YWNrIGZvciBub3cgYXMgdGhleSBhcmUKKyAgICAgICAgICB1bmltcGxlbWVudGVkLgorICAgICAg
ICAtIEhhdmUgdGhlIGZhY3RvcnkgdGFrZSB0aGUgdmlydHVhbCBwYXRoIG9mIHRoZSBlbnRyeSBz
byB0aGF0IGl0IGNhbiBiZQorICAgICAgICAgIGV4cG9zZWQgdmlhIHRoZSBmdWxsUGF0aCBhdHRy
aWJ1dGUgaW4gSURMLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNGaWxlU3lzdGVtRW50cnlD
dXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIEFkZCBjdXN0b20gaW1wbGVtZW50YXRp
b24gb2YgRmlsZVN5c3RlbUVudHJ5J3MgdG9KUygpIGZ1bmN0aW9uLiBUaGlzIGlzCisgICAgICAg
IG5lZWRlZCBiZWNhdXNlIEZpbGVTeXN0ZW1FbnRyeSBoYXMgMiBzdWJjbGFzc2VzIGFuZCB3ZSBu
ZWVkIHRvIHR5cGUgY2hlY2sKKyAgICAgICAgYXQgcnVudGltZSB0byBjb25zdHJ1Y3QgdGhlIHJp
Z2h0IHdyYXBwZXIuCisKKyAgICAgICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXJJdGVtOjpnZXRBc0VudHJ5IGNvbnN0KToKKyAgICAg
ICAgKiBkb20vRGF0YVRyYW5zZmVySXRlbS5oOgorICAgICAgICAqIGRvbS9EYXRhVHJhbnNmZXJJ
dGVtLmlkbDoKKyAgICAgICAgQWRkIGluaXRpYWwgaW1wbGVtZW50YXRpb24gZm9yIGdldEFzRW50
cnkoKSwgY3VycmVudGx5IGV4cG9zZWQgYXMKKyAgICAgICAgd2Via2l0R2V0QXNFbnRyeSgpLgor
CisgICAgICAgICogZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRhdGFUcmFuc2Zlckl0ZW1MaXN0OjplbnN1cmVJdGVtcyBjb25zdCk6CisgICAgICAgIENv
bnN0cnVjdCBhIERhdGFUcmFuc2Zlckl0ZW0gaWYgdGhlIGZpbGUgaXMgYSBkaXJlY3Rvcnkgbm93
IHRoYXQgd2UKKyAgICAgICAgc3VwcG9ydCBnZXRBc0VudHJ5KCkuCisKKyAgICAgICAgKiBmaWxl
YXBpL0ZpbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZTo6aXNEaXJlY3RvcnkgY29uc3Qp
OgorICAgICAgICAqIGZpbGVhcGkvRmlsZS5oOgorICAgICAgICBBZGQgY29udmVuaWVuY2UgbWV0
aG9kIHRvIHF1ZXJ5IGlmIGEgRmlsZSBpcyBhIGRpcmVjdG9yeS4KKwogMjAxNy0wOC0yNSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIExhbmQgc3R1YnMgZm9yIEZp
bGUgYW5kIERpcmVjdG9yeSBFbnRyaWVzIEFQSSBpbnRlcmZhY2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyOGNj
ZTE5YTI3ZGYwY2EyMDkyODU5YzFmOWE5NTc4NzhjYmNhZTMuLjYzODEyZjQwNzhiNmFlZWJjYzQz
NThhZjg1MzY4NmJlZDlmN2I5MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDgt
MjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5pdGlh
bCBzdXBwb3J0IGZvciBkYXRhVHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MDM4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zNDEyMTA5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24g
SHNpZWguCisKKyAgICAgICAgTWFrZSBkYXRhVHJhbnNmZXIuaXRlbXMgYW4gZXhwZXJpbWVudGFs
IGZlYXR1cmUgc28gdGhhdCBpdCBjYW4gYmUgZWFzaWx5CisgICAgICAgIHR1cm5lZCBvbiBmcm9t
IHRoZSBEZXZlbG9wIG1lbnUsIGZvciB0ZXN0aW5nIGNvbnZlbmllbmNlLgorCisgICAgICAgICog
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKwogMjAxNy0wOC0yNSAgQnJpYW4g
QnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgQXV0b21hdGlvbjogYWRkIGNh
cGFiaWxpdGllcyB0byBjb250cm9sIElDRSBjYW5kaWRhdGUgZmlsdGVyaW5nIGFuZCBpbnNlY3Vy
ZSBtZWRpYSBjYXB0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
bW9uSWRlbnRpZmllcnMuaAppbmRleCAyZTc4MjhmMDE4Yjk4ZmY4OGIwYTU0OWIyN2M3ZTBmNWUx
NDk0OWY5Li5kZjNmMDVkYzM1NGM3OGExM2IwMjQxM2I4MWM2MGZjZWQwODcwOWYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAg
LTUxLDYgKzUxLDcgQEAKICAgICBtYWNybyhGZWRlcmF0ZWRDcmVkZW50aWFsKSBcCiAgICAgbWFj
cm8oRmlsZVN5c3RlbSkgXAogICAgIG1hY3JvKEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSkgXAor
ICAgIG1hY3JvKEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIpIFwKICAgICBtYWNybyhGaWxlU3lz
dGVtRW50cnkpIFwKICAgICBtYWNybyhGaWxlU3lzdGVtRmlsZUVudHJ5KSBcCiAgICAgbWFjcm8o
RnVuY3Rpb24pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTNhOWIyOGFhOTlhMTI3MDEyMjhj
Mzg5YTcwNGMyMzE0N2I4YTQwNC4uNmY2N2M0NzYxMjJmZTllM2MzY2ZkNTJiMWY5M2E5YzBkY2Rh
MjNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIwNCw2ICsyMDQsOCBAQCBzZXQoV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNr
LmlkbAogICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlQ2FsbGJhY2suaWRsCiAgICAgTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwKKyAgICBNb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKKyAgICBNb2R1bGVzL2VudHJp
ZXNhcGkvRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmlkbAogICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVt
RW50cnlDYWxsYmFjay5pZGwKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVF
bnRyeS5pZGwKQEAgLTkxOSw4ICs5MjEsMTEgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIE1v
ZHVsZXMvY3JlZGVudGlhbHMvTmF2aWdhdG9yQ3JlZGVudGlhbHMuY3BwCiAgICAgTW9kdWxlcy9j
cmVkZW50aWFscy9QYXNzd29yZENyZWRlbnRpYWwuY3BwCiAKKyAgICBNb2R1bGVzL2VudHJpZXNh
cGkvRXJyb3JDYWxsYmFjay5jcHAKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3Rl
bS5jcHAKICAgICBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmNw
cAorICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcAor
ICAgIE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcAogICAg
IE1vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuY3BwCiAgICAgTW9kdWxlcy9lbnRy
aWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuY3BwCiAKQEAgLTEyMzAsNiArMTIzNSw3IEBAIHNl
dChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50Q3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTRXZlbnRMaXN0ZW5lci5jcHAKICAgICBiaW5kaW5ncy9qcy9KU0V2ZW50
VGFyZ2V0Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVudHJ5Q3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwCiAgICAgYmlu
ZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNIVE1M
RWxlbWVudEN1c3RvbS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDEwNjgy
ODgyZGFiNDgxMTA1NGVmOWVkMWVkZGZjNTNhNzJjY2NjZDIuLjZlNzQ3Nzc5ODBlYmM0YWIzZTNk
NzUyZWRlYTNmYTU3N2JhZDM3Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MTM4LDYgKzEzOCw4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2VudHJpZXNhcGkvRmlsZUNhbGxiYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmlkbCBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnlDYWxs
YmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1G
aWxlRW50cnkuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9ET01GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9ET01GaWxlU3lzdGVtLmNwcAppbmRleCA4MTc0YWE3YTViZmJmZDQ5NTFjNjg0MzNmYWM1NzA0
ZWJkYmUyNjU3Li5hODM5YTUyODUwZjkwZDhmM2I2OWM0MzNmZDg5Y2ZjNzI5ODBiOTI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0u
Y3BwCkBAIC0zMCw4ICszMCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRE9NRmlsZVN5
c3RlbTo6RE9NRmlsZVN5c3RlbSgpCi0gICAgOiBtX3Jvb3QoRmlsZVN5c3RlbURpcmVjdG9yeUVu
dHJ5OjpjcmVhdGUoKnRoaXMpKQorRE9NRmlsZVN5c3RlbTo6RE9NRmlsZVN5c3RlbShjb25zdCBT
dHJpbmcmIG5hbWUpCisgICAgOiBtX25hbWUobmFtZSkKKyAgICAsIG1fcm9vdChGaWxlU3lzdGVt
RGlyZWN0b3J5RW50cnk6OmNyZWF0ZSgqdGhpcywgQVNDSUlMaXRlcmFsKCIvIikpKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5
c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0RPTUZpbGVTeXN0ZW0u
aAppbmRleCA0ODVjZDA1MDI2MzhmMjc3OTA2NDA4MTNmZTY2MTgzZTZiNDI0YjY1Li5mMzY4YzBk
ZjQ1OGUwM2U4Y2Y2OThjN2NiZDM2MmZlMzYwMTQxNTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRE9NRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW50cmllc2FwaS9ET01GaWxlU3lzdGVtLmgKQEAgLTMyLDEyICszMiwxMyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk7
CitjbGFzcyBGaWxlU3lzdGVtRW50cnk7CiAKIGNsYXNzIERPTUZpbGVTeXN0ZW0gOiBwdWJsaWMg
U2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxET01GaWxlU3lzdGVtPiB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxET01GaWxlU3lzdGVtPiBjcmVhdGUoKQorICAgIHN0YXRpYyBS
ZWY8RE9NRmlsZVN5c3RlbT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IERPTUZpbGVTeXN0ZW0pOworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBET01GaWxlU3lzdGVtKG5hbWUpKTsKICAgICB9CiAKICAgICB+RE9NRmls
ZVN5c3RlbSgpOwpAQCAtNDYsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgRmlsZVN5c3RlbURpcmVj
dG9yeUVudHJ5JiByb290KCkgY29uc3QgeyByZXR1cm4gbV9yb290OyB9CiAKIHByaXZhdGU6Ci0g
ICAgRE9NRmlsZVN5c3RlbSgpOworICAgIGV4cGxpY2l0IERPTUZpbGVTeXN0ZW0oY29uc3QgU3Ry
aW5nJiBuYW1lKTsKIAogICAgIFN0cmluZyBtX25hbWU7CiAgICAgUmVmPEZpbGVTeXN0ZW1EaXJl
Y3RvcnlFbnRyeT4gbV9yb290OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0Vycm9yQ2FsbGJhY2suY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwZjk2ZTU4ZjZhZDMyYjI3NWI0
YzZiZmI3YTlhZjRiYjJiZDI4MjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VudHJpZXNhcGkvRXJyb3JDYWxsYmFjay5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFcnJvckNhbGxiYWNrLmgi
CisKKyNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBFcnJvckNhbGxiYWNrOjpz
Y2hlZHVsZUNhbGxiYWNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxET01F
eGNlcHRpb24+JiYgZXhjZXB0aW9uKQoreworICAgIGNvbnRleHQucG9zdFRhc2soW3Byb3RlY3Rl
ZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZXhjZXB0aW9uID0gV1RGTW92ZShleGNlcHRpb24pXSAo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpIHsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+aGFuZGxl
RXZlbnQoZXhjZXB0aW9uKTsKKyAgICB9KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Vycm9yQ2FsbGJhY2suaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW50cmllc2FwaS9FcnJvckNhbGxiYWNrLmgKaW5kZXggOWIyMDNjY2FkNzdkOTBk
MGJmZWU2NjFjMzcwODgwNGU1ZTgzMTM0Yy4uOGMxZWFmZjlhNmFjYWJkM2M2YTFmNTk4NmJlNDlk
MWEwZGVlMjk2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBp
L0Vycm9yQ2FsbGJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RXJyb3JDYWxsYmFjay5oCkBAIC0zOSw2ICszOSw5IEBAIHB1YmxpYzoKICAgICB1c2luZyBBY3Rp
dmVET01DYWxsYmFjazo6QWN0aXZlRE9NQ2FsbGJhY2s7CiAKICAgICB2aXJ0dWFsIENhbGxiYWNr
UmVzdWx0PHZvaWQ+IGhhbmRsZUV2ZW50KERPTUV4Y2VwdGlvbiYpID0gMDsKKworICAgIC8vIEhl
bHBlciB0byBwb3N0IGNhbGxiYWNrIHRhc2suCisgICAgdm9pZCBzY2hlZHVsZUNhbGxiYWNrKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8RE9NRXhjZXB0aW9uPiYmKTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50
cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKaW5kZXggZGY5NTk4
MjgyMTYxMzM2ODQ1N2U5ZGM1NDc5ZGQzNjE3MTNhYzNkYi4uZDcwZDJkMDU3YjI2ODAwNTYxZjAy
MTg5ZmQxYzM5NmZjOTk1YTRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAKQEAgLTI2
LDIwICsyNiwzMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW1E
aXJlY3RvcnlFbnRyeS5oIgogCisjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAi
RXJyb3JDYWxsYmFjay5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCIK
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OkZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtKQotICAgIDogRmls
ZVN5c3RlbUVudHJ5KGZpbGVzeXN0ZW0pCitGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6OkZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJp
bmcmIHZpcnR1YWxQYXRoKQorICAgIDogRmlsZVN5c3RlbUVudHJ5KGZpbGVzeXN0ZW0sIHZpcnR1
YWxQYXRoKQogewogfQogCi12b2lkIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Z2V0RmlsZShj
b25zdCBTdHJpbmcmLCBjb25zdCBGbGFncyYsIFJlZlB0cjxGaWxlU3lzdGVtRW50cnlDYWxsYmFj
az4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYpCitSZWY8RmlsZVN5c3RlbURpcmVjdG9yeVJl
YWRlcj4gRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjpjcmVhdGVSZWFkZXIoKQogeworICAgIHJl
dHVybiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyOjpjcmVhdGUoKnRoaXMpOwogfQogCi12b2lk
IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeTo6Z2V0RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYsIGNv
bnN0IEZsYWdzJiwgUmVmUHRyPEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJy
b3JDYWxsYmFjaz4mJikKK3ZvaWQgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5OjpnZXRGaWxlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IEZsYWdz
JiwgUmVmUHRyPEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFj
az4mJiBlcnJvckNhbGxiYWNrKQogeworICAgIGlmIChlcnJvckNhbGxiYWNrKQorICAgICAgICBl
cnJvckNhbGxiYWNrLT5zY2hlZHVsZUNhbGxiYWNrKGNvbnRleHQsIERPTUV4Y2VwdGlvbjo6Y3Jl
YXRlKE5vdFN1cHBvcnRlZEVycm9yKSk7Cit9CiAKK3ZvaWQgRmlsZVN5c3RlbURpcmVjdG9yeUVu
dHJ5OjpnZXREaXJlY3RvcnkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
U3RyaW5nJiwgY29uc3QgRmxhZ3MmLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s+JiYs
IFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmIGVycm9yQ2FsbGJhY2spCit7CisgICAgaWYgKGVycm9y
Q2FsbGJhY2spCisgICAgICAgIGVycm9yQ2FsbGJhY2stPnNjaGVkdWxlQ2FsbGJhY2soY29udGV4
dCwgRE9NRXhjZXB0aW9uOjpjcmVhdGUoTm90U3VwcG9ydGVkRXJyb3IpKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oCmluZGV4IDEzMjk5ZTcwZTNh
YzE5M2ExMTY4YjlkMTViYjAwN2RjMjBkZTQ2N2UuLmY0NzRjNjk0NmRjODUxMDM4NWNkMWRkODM0
MzJhNzZjMzc2MDc3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmll
c2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmgKQEAgLTMwLDI3ICszMCwz
NSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFcnJvckNhbGxiYWNrOworY2xhc3Mg
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcjsKIGNsYXNzIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNr
OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogY2xhc3MgRmlsZVN5c3RlbURpcmVj
dG9yeUVudHJ5IGZpbmFsIDogcHVibGljIEZpbGVTeXN0ZW1FbnRyeSB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFJlZjxGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk+IGNyZWF0ZShET01GaWxlU3lzdGVt
JiBmaWxlc3lzdGVtKQorICAgIHN0YXRpYyBSZWY8RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5PiBj
cmVhdGUoRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSwgY29uc3QgU3RyaW5nJiB2aXJ0dWFsUGF0
aCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZpbGVTeXN0ZW1EaXJlY3Rv
cnlFbnRyeShmaWxlc3lzdGVtKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZpbGVT
eXN0ZW1EaXJlY3RvcnlFbnRyeShmaWxlc3lzdGVtLCB2aXJ0dWFsUGF0aCkpOwogICAgIH0KIAor
ICAgIFJlZjxGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyPiBjcmVhdGVSZWFkZXIoKTsKKwogICAg
IHN0cnVjdCBGbGFncyB7CiAgICAgICAgIGJvb2wgY3JlYXRlIHsgZmFsc2UgfTsKICAgICAgICAg
Ym9vbCBleGNsdXNpdmUgeyBmYWxzZSB9OwogICAgIH07CiAKLSAgICB2b2lkIGdldEZpbGUoY29u
c3QgU3RyaW5nJiBwYXRoLCBjb25zdCBGbGFncyYgb3B0aW9ucywgUmVmUHRyPEZpbGVTeXN0ZW1F
bnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJik7Ci0gICAgdm9pZCBnZXRE
aXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBGbGFncyYgb3B0aW9ucywgUmVmUHRy
PEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJik7Cisg
ICAgdm9pZCBnZXRGaWxlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHBh
dGgsIGNvbnN0IEZsYWdzJiBvcHRpb25zLCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s+
JiYsIFJlZlB0cjxFcnJvckNhbGxiYWNrPiYmKTsKKyAgICB2b2lkIGdldERpcmVjdG9yeShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBGbGFncyYgb3B0
aW9ucywgUmVmUHRyPEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxs
YmFjaz4mJik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KIAotICAgIGV4cGxpY2l0IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eShET01GaWxlU3lzdGVtJik7CisgICAgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5KERPTUZpbGVT
eXN0ZW0mLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpGaWxlU3lz
dGVtRGlyZWN0b3J5RW50cnkpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6
OkZpbGVTeXN0ZW1FbnRyeSYgZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzRGlyZWN0b3J5KCk7IH0K
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwK
aW5kZXggMmU2OGRjYjM1MWQwM2VlYjRhZGU0MmZhYjkwNTE4M2RhYTc5MGU1My4uMjhiZGZjNzky
ODA5N2E1MjNkMWYyMjU3YmJmZmRmMjgwMTkzM2E5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eS5pZGwKQEAgLTI2LDE0ICsyNiwxNCBAQAogWwogICAgIEVuYWJsZWRBdFJ1bnRpbWU9RGlyZWN0
b3J5VXBsb2FkLAogXSBpbnRlcmZhY2UgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IDogRmlsZVN5
c3RlbUVudHJ5IHsKLSAgICAvLyBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGNyZWF0ZVJlYWRl
cigpOworICAgIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIgY3JlYXRlUmVhZGVyKCk7CiAKLSAg
ICB2b2lkIGdldEZpbGUob3B0aW9uYWwgVVNWU3RyaW5nPyBwYXRoLAorICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lkIGdldEZpbGUob3B0aW9uYWwgVVNWU3RyaW5nPyBw
YXRoLAogICAgICAgICBvcHRpb25hbCBGaWxlU3lzdGVtRmxhZ3Mgb3B0aW9ucywKICAgICAgICAg
b3B0aW9uYWwgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAg
ICAgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiAKLSAgICB2b2lkIGdl
dERpcmVjdG9yeShvcHRpb25hbCBVU1ZTdHJpbmc/IHBhdGgsCisgICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgZ2V0RGlyZWN0b3J5KG9wdGlvbmFsIFVTVlN0cmluZz8g
cGF0aCwKICAgICAgICAgb3B0aW9uYWwgRmlsZVN5c3RlbUZsYWdzIG9wdGlvbnMsCiAgICAgICAg
IG9wdGlvbmFsIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2ssCiAgICAg
ICAgIG9wdGlvbmFsIEVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJl
Y3RvcnlSZWFkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkOWVlNjNjMzk3NWVlOGYzNmI0ODAzYmNlZTUz
ZmRkYjUyN2Y2MTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
dHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAKQEAgLTAsMCArMSw1MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtRGly
ZWN0b3J5UmVhZGVyLmgiCisKKyNpbmNsdWRlICJET01FeGNlcHRpb24uaCIKKyNpbmNsdWRlICJF
cnJvckNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmgiCisj
aW5jbHVkZSAiRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXI6OkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIoRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5JiBkaXJlY3RvcnkpCisgICAgOiBtX2RpcmVjdG9y
eShkaXJlY3RvcnkpCit7Cit9CisKK0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXI6On5GaWxlU3lz
dGVtRGlyZWN0b3J5UmVhZGVyKCkKK3sKK30KKwordm9pZCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVh
ZGVyOjpyZWFkRW50cmllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8Rmls
ZVN5c3RlbUVudHJpZXNDYWxsYmFjaz4mJiwgUmVmUHRyPEVycm9yQ2FsbGJhY2s+JiYgZXJyb3JD
YWxsYmFjaykKK3sKKyAgICBpZiAoZXJyb3JDYWxsYmFjaykKKyAgICAgICAgZXJyb3JDYWxsYmFj
ay0+c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0LCBET01FeGNlcHRpb246OmNyZWF0ZShOb3RTdXBw
b3J0ZWRFcnJvcikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3Rv
cnlSZWFkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTA5OTQ0YWQ5NWQ1NWVkNmE3MzhkYmQ5N2M2MzFhNWNm
ZDJkZWRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVz
YXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaApAQCAtMCwwICsxLDU2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUuaCIKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVycm9yQ2FsbGJhY2s7CitjbGFzcyBGaWxl
U3lzdGVtRGlyZWN0b3J5RW50cnk7CitjbGFzcyBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrOwor
Y2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlciA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPEZpbGVT
eXN0ZW1EaXJlY3RvcnlSZWFkZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEZpbGVTeXN0
ZW1EaXJlY3RvcnlSZWFkZXI+IGNyZWF0ZShGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkmIGRpcmVj
dG9yeSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEZpbGVTeXN0ZW1EaXJl
Y3RvcnlSZWFkZXIoZGlyZWN0b3J5KSk7CisgICAgfQorCisgICAgfkZpbGVTeXN0ZW1EaXJlY3Rv
cnlSZWFkZXIoKTsKKworICAgIHZvaWQgcmVhZEVudHJpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYsIFJlZjxGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrPiYmLCBSZWZQdHI8RXJyb3JDYWxsYmFj
az4mJik7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRl
cihGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkmKTsKKworICAgIFJlZjxGaWxlU3lzdGVtRGlyZWN0
b3J5RW50cnk+IG1fZGlyZWN0b3J5OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRkMGNiMDRkZDU1NTMzZGY0MzVjMDhjMDMxZTUwOWY2ZDBiZTc2ZDIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlci5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBFbmFibGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9hZCwKKyAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlLAorXSBpbnRlcmZhY2UgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciB7
CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgcmVhZEVudHJpZXMo
RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIG9wdGlvbmFsIEVycm9y
Q2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45NTVjOTQzMjNkNDNmNTdjOWU4M2JiZWQ3NTc2MzA4MzI4OThjZjIyCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVT
eXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5o
IgorCisjaW5jbHVkZSAiRmlsZVN5c3RlbUVudHJ5LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBWZWN0b3I8UmVm
PEZpbGVTeXN0ZW1FbnRyeT4+IGNvcHlWZWN0b3IoY29uc3QgVmVjdG9yPFJlZjxGaWxlU3lzdGVt
RW50cnk+PiYgZW50cmllcykKK3sKKyAgICBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+IGVu
dHJpZXNDb3B5OworICAgIGVudHJpZXNDb3B5LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoZW50cmll
cy5zaXplKCkpOworICAgIGZvciAoYXV0byYgZW50cnkgOiBlbnRyaWVzKQorICAgICAgICBlbnRy
aWVzQ29weS51bmNoZWNrZWRBcHBlbmQoZW50cnkuY29weVJlZigpKTsKKyAgICByZXR1cm4gZW50
cmllc0NvcHk7Cit9CisKK3ZvaWQgRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjazo6c2NoZWR1bGVD
YWxsYmFjayhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBWZWN0b3I8UmVm
PEZpbGVTeXN0ZW1FbnRyeT4+JiBlbnRyaWVzKQoreworICAgIGNvbnRleHQucG9zdFRhc2soW3By
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgZW50cmllcyA9IGNvcHlWZWN0b3IoZW50cmll
cyldIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgeworICAgICAgICBwcm90ZWN0ZWRUaGlzLT5o
YW5kbGVFdmVudChlbnRyaWVzKTsKKyAgICB9KTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cmllc0NhbGxi
YWNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzY1NzhlYjg5M2UzYjU3NTg5N2Y5Y2IwYjMyMmMwNjUxZDM2YTkz
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9G
aWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWN0aXZlRE9NQ2FsbGJhY2suaCIKKyNpbmNsdWRl
ICJDYWxsYmFja1Jlc3VsdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgRmlsZVN5c3RlbUVudHJ5OworCitjbGFzcyBGaWxlU3lzdGVtRW50
cmllc0NhbGxiYWNrIDogcHVibGljIFJlZkNvdW50ZWQ8RmlsZVN5c3RlbUVudHJpZXNDYWxsYmFj
az4sIHB1YmxpYyBBY3RpdmVET01DYWxsYmFjayB7CitwdWJsaWM6CisgICAgdXNpbmcgQWN0aXZl
RE9NQ2FsbGJhY2s6OkFjdGl2ZURPTUNhbGxiYWNrOworCisgICAgdmlydHVhbCBDYWxsYmFja1Jl
c3VsdDx2b2lkPiBoYW5kbGVFdmVudChjb25zdCBWZWN0b3I8UmVmPEZpbGVTeXN0ZW1FbnRyeT4+
JikgPSAwOworCisgICAgLy8gSGVscGVyIHRvIHBvc3QgY2FsbGJhY2sgdGFzay4KKyAgICB2b2lk
IHNjaGVkdWxlQ2FsbGJhY2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFZlY3RvcjxS
ZWY8RmlsZVN5c3RlbUVudHJ5Pj4mKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50
cmllc0NhbGxiYWNrLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxl
U3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjM3YjQ5YWNjODc5OGJlODhl
ZDMwYmQyZjM0YjM1M2E5YjVlMGNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaWRsCkBAIC0wLDAg
KzEsMjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitjYWxsYmFjayBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNr
ID0gdm9pZCAoc2VxdWVuY2U8RmlsZVN5c3RlbUVudHJ5PiBlbnRyaWVzKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5jcHAKaW5k
ZXggOGM4ZmZlMWM5NGE5NTIzYzZhODEzMGRhNjgzOTk4ZTI5MmRhODQ4Yi4uYjA0OTYzYzlmODhm
ZTdjZTk1YTkyNDY4MmYzYTc3ZTJlMTUzZTczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5jcHAKQEAgLTI2LDEwICsyNiwx
NCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZpbGVTeXN0ZW1FbnRyeS5oIgog
CisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZpbGVT
eXN0ZW1FbnRyeTo6RmlsZVN5c3RlbUVudHJ5KERPTUZpbGVTeXN0ZW0mIGZpbGVzeXN0ZW0pCitG
aWxlU3lzdGVtRW50cnk6OkZpbGVTeXN0ZW1FbnRyeShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVt
LCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKQogICAgIDogbV9maWxlc3lzdGVtKGZpbGVzeXN0
ZW0pCisgICAgLCBtX25hbWUocGF0aEdldEZpbGVOYW1lKHZpcnR1YWxQYXRoKSkKKyAgICAsIG1f
dmlydHVhbFBhdGgodmlydHVhbFBhdGgpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaAppbmRleCA0MTU1YmIwMzY2ZmE3
NTE1YjZlZGQ5ZTZiZDhiYmY4MzBiNTdkMmU1Li4wMzFkYzI3MjQ4NmExODNkMjZhMjU1OTYwNjUx
ODZiNmI1ZTQ0OWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVz
YXBpL0ZpbGVTeXN0ZW1FbnRyeS5oCkBAIC00MSwxNiArNDEsMTYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBpc0RpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBj
b25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KLSAgICBjb25zdCBT
dHJpbmcmIGZ1bGxQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9mdWxsUGF0aDsgfQorICAgIGNvbnN0
IFN0cmluZyYgdmlydHVhbFBhdGgoKSBjb25zdCB7IHJldHVybiBtX3ZpcnR1YWxQYXRoOyB9CiAg
ICAgRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsZXN5c3Rl
bTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgRmlsZVN5c3RlbUVudHJ5KERPTUZpbGVT
eXN0ZW0mKTsKKyAgICBGaWxlU3lzdGVtRW50cnkoRE9NRmlsZVN5c3RlbSYsIGNvbnN0IFN0cmlu
ZyYgdmlydHVhbFBhdGgpOwogCiBwcml2YXRlOgotICAgIFN0cmluZyBtX25hbWU7Ci0gICAgU3Ry
aW5nIG1fZnVsbFBhdGg7CiAgICAgRE9NRmlsZVN5c3RlbSYgbV9maWxlc3lzdGVtOworICAgIFN0
cmluZyBtX25hbWU7CisgICAgU3RyaW5nIG1fdmlydHVhbFBhdGg7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2Fw
aS9GaWxlU3lzdGVtRW50cnkuaWRsCmluZGV4IGI5NDZkZTNiYWE5ZTZlODliOTc4NGFiODQxOThh
MjgxZWM2NzQ1NmQuLmY3MTY0MDE1YzA2YWYyZDY3YzI4NTlhMjNiMjU1ZmEyOTRkMzJhYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50
cnkuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVt
RW50cnkuaWRsCkBAIC0yNCwxMiArMjQsMTMgQEAKICAqLwogCiBbCisgICAgQ3VzdG9tVG9KU09i
amVjdCwKICAgICBFbmFibGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9hZCwKIF0gaW50ZXJmYWNl
IEZpbGVTeXN0ZW1FbnRyeSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNGaWxl
OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRGlyZWN0b3J5OwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgbmFtZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgVVNW
U3RyaW5nIGZ1bGxQYXRoOworICAgIFtJbXBsZW1lbnRlZEFzPXZpcnR1YWxQYXRoXSByZWFkb25s
eSBhdHRyaWJ1dGUgVVNWU3RyaW5nIGZ1bGxQYXRoOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01GaWxlU3lzdGVtIGZpbGVzeXN0ZW07CiAKICAgICAvLyB2b2lkIGdldFBhcmVudChvcHRpb25h
bCBGaWxlU3lzdGVtRW50cnlDYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2ssIG9wdGlvbmFsIEVycm9y
Q2FsbGJhY2sgZXJyb3JDYWxsYmFjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5jcHAKaW5kZXggMTNiNDE1ZTdl
Y2Q0YjY1ODFkYzRhZTRkY2YzNzM3ODc5YTU1YzlmNy4uNzgwYTVmMGEyNDc2ZWE3MzYzNzVjYjBl
ZWQwYTg3ZmQxYzQzMzIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRmlsZUVudHJ5LmNwcApAQCAtMjYsMTUgKzI2LDIwIEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRmlsZVN5c3RlbUZpbGVFbnRyeS5oIgog
CisjaW5jbHVkZSAiRE9NRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiRXJyb3JDYWxsYmFjay5oIgor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUZpbGVTeXN0ZW1GaWxlRW50cnk6OkZpbGVTeXN0ZW1G
aWxlRW50cnkoRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSkKLSAgICA6IEZpbGVTeXN0ZW1FbnRy
eShmaWxlc3lzdGVtKQorRmlsZVN5c3RlbUZpbGVFbnRyeTo6RmlsZVN5c3RlbUZpbGVFbnRyeShE
T01GaWxlU3lzdGVtJiBmaWxlc3lzdGVtLCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKQorICAg
IDogRmlsZVN5c3RlbUVudHJ5KGZpbGVzeXN0ZW0sIHZpcnR1YWxQYXRoKQogewogfQogCi12b2lk
IEZpbGVTeXN0ZW1GaWxlRW50cnk6OmZpbGUoUmVmUHRyPEZpbGVDYWxsYmFjaz4mJiwgUmVmUHRy
PEVycm9yQ2FsbGJhY2s+JiYpCit2b2lkIEZpbGVTeXN0ZW1GaWxlRW50cnk6OmZpbGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgUmVmUHRyPEZpbGVDYWxsYmFjaz4mJiwgUmVmUHRy
PEVycm9yQ2FsbGJhY2s+JiYgZXJyb3JDYWxsYmFjaykKIHsKKyAgICBpZiAoZXJyb3JDYWxsYmFj
aykKKyAgICAgICAgZXJyb3JDYWxsYmFjay0+c2NoZWR1bGVDYWxsYmFjayhjb250ZXh0LCBET01F
eGNlcHRpb246OmNyZWF0ZShOb3RTdXBwb3J0ZWRFcnJvcikpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbUZpbGVFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBp
L0ZpbGVTeXN0ZW1GaWxlRW50cnkuaAppbmRleCAwNGUyYzMxNTFhZGU3ZTE2MGIwNGRjYTkyODIx
ZDA0NmE0NjZkODQyLi4xZmEzYWNjNTljZDMwZDY0YTI0ZTM2NTllY2U5ZmUxMmM0MDE2YWQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUZp
bGVFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lz
dGVtRmlsZUVudHJ5LmgKQEAgLTMxLDIwICszMSwyNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEVycm9yQ2FsbGJhY2s7CiBjbGFzcyBGaWxlQ2FsbGJhY2s7CitjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogCiBjbGFzcyBGaWxlU3lzdGVtRmlsZUVudHJ5IGZpbmFsIDogcHVi
bGljIEZpbGVTeXN0ZW1FbnRyeSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxGaWxlU3lzdGVt
RmlsZUVudHJ5PiBjcmVhdGUoRE9NRmlsZVN5c3RlbSYgZmlsZXN5c3RlbSkKKyAgICBzdGF0aWMg
UmVmPEZpbGVTeXN0ZW1GaWxlRW50cnk+IGNyZWF0ZShET01GaWxlU3lzdGVtJiBmaWxlc3lzdGVt
LCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgRmlsZVN5c3RlbUZpbGVFbnRyeShmaWxlc3lzdGVtKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IEZpbGVTeXN0ZW1GaWxlRW50cnkoZmlsZXN5c3RlbSwgdmlydHVhbFBh
dGgpKTsKICAgICB9CiAKLSAgICB2b2lkIGZpbGUoUmVmUHRyPEZpbGVDYWxsYmFjaz4mJiwgUmVm
UHRyPEVycm9yQ2FsbGJhY2s+JiYgPSBudWxscHRyKTsKKyAgICB2b2lkIGZpbGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYsIFJlZlB0cjxGaWxlQ2FsbGJhY2s+JiYsIFJlZlB0cjxFcnJvckNhbGxi
YWNrPiYmID0gbnVsbHB0cik7CiAKIHByaXZhdGU6CiAgICAgYm9vbCBpc0ZpbGUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiB0cnVlOyB9CiAKLSAgICBleHBsaWNpdCBGaWxlU3lzdGVtRmlsZUVudHJ5
KERPTUZpbGVTeXN0ZW0mKTsKKyAgICBGaWxlU3lzdGVtRmlsZUVudHJ5KERPTUZpbGVTeXN0ZW0m
LCBjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpGaWxlU3lzdGVtRmls
ZUVudHJ5KQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpGaWxlU3lzdGVt
RW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc0ZpbGUoKTsgfQorU1BFQ0lBTElaRV9UWVBF
X1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVz
YXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRy
aWVzYXBpL0ZpbGVTeXN0ZW1GaWxlRW50cnkuaWRsCmluZGV4IDFkOGVjNzg5ZWI0NDkxZTg3ZDJh
YzM0NTc5Yjg2Y2U4NTViMTEzNmQuLjEzMjUzYzc0MTc0NmViNzVmOGZkMjA4MzZmNDZjMjNmYTEy
MjkyZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxl
U3lzdGVtRmlsZUVudHJ5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUZpbGVFbnRyeS5pZGwKQEAgLTI2LDUgKzI2LDUgQEAKIFsKICAgICBFbmFi
bGVkQXRSdW50aW1lPURpcmVjdG9yeVVwbG9hZCwKIF0gaW50ZXJmYWNlIEZpbGVTeXN0ZW1GaWxl
RW50cnkgOiBGaWxlU3lzdGVtRW50cnkgewotICAgIHZvaWQgZmlsZShGaWxlQ2FsbGJhY2s/IHN1
Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7Cisg
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHZvaWQgZmlsZShGaWxlQ2FsbGJh
Y2s/IHN1Y2Nlc3NDYWxsYmFjaywgb3B0aW9uYWwgRXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFj
ayk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDk1NzRiY2VhZjI0MDllN2Y1N2RmYmU2MzA0MGYxYzBlM2QzODc4NWEuLmE2
NWQ4Njg2ZDNmYjU1OTg4YTYyNjdiNjA0YjgxNWI3Njg4NGNlOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM0MDcsNiArMzQw
Nyw5IEBACiAJCTgzMDAzMEY1MUI3RDMzQjUwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVkSFRNTENv
bGxlY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODMwMDMwRjMxQjdEMzNBNjAwRUQzQUFDIC8qIEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlv
bi5jcHAgKi87IH07CiAJCTgzMDAzMEY2MUI3RDMzQjUwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVk
SFRNTENvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDgzMDAzMEY0MUI3RDMzQTYwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVkSFRNTENvbGxl
Y3Rpb24uaCAqLzsgfTsKIAkJODMwMDMwRjgxQjdEM0I3ODAwRUQzQUFDIC8qIENhY2hlZEhUTUxD
b2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4MzAwMzBGNzFCN0QzOTg4MDBFRDNBQUMgLyogQ2FjaGVkSFRNTENvbGxlY3Rpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk4MzAzMzUwMTFG
NTQ5MDU3MDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzAzMzRGQjFGNTQ5MDUyMDA0
REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi87IH07CisJCTgzMDMzNTAy
MUY1NDkwNTcwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzAzMzRGQzFGNTQ5MDUyMDA0
REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oICovOyB9OworCQk4MzAzMzUwMzFG
NTQ5MDVBMDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMwMzM0RkUxRjU0OTA1MjAwNERG
NzA3IC8qIEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaCAqLzsgfTsKIAkJODMwNTE5OTUxQkIw
RjExMDAwRjM3NzJFIC8qIEhUTUxUaW1lRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzA1MTk5MjFCQjBGMEU3MDBGMzc3MkUgLyogSFRN
TFRpbWVFbGVtZW50LmNwcCAqLzsgfTsKIAkJODMwNTE5OTYxQkIwRjExMDAwRjM3NzJFIC8qIEhU
TUxUaW1lRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODMwNTE5OTMxQkIwRjBFNzAwRjM3NzJFIC8qIEhUTUxUaW1lRWxlbWVudC5oICovOyB9
OwogCQk4MzA2RUZGMTFCOEJDRUE1MDAzMUQwMzIgLyogTmF0aXZlTm9kZUZpbHRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzA2RUZGMDFCOEJD
RTdDMDAzMUQwMzIgLyogTmF0aXZlTm9kZUZpbHRlci5jcHAgKi87IH07CkBAIC0zNDM1LDkgKzM0
MzgsMTQgQEAKIAkJODM1NjU3QzcxRUNBQjEwNzAwQ0RFNzJEIC8qIEpTRE9NTWF0cml4SW5pdC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzU2NTdD
NjFFQ0FCMEU4MDBDREU3MkQgLyogSlNET01NYXRyaXhJbml0LmNwcCAqLzsgfTsKIAkJODM1OENC
NkYxQzUzMjc3MjAwRTBDMkQ4IC8qIEpTWE1MRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODNGNTcwQUUxQzUzMjY4RTAwN0ZENkNCIC8q
IEpTWE1MRG9jdW1lbnQuY3BwICovOyB9OwogCQk4MzU4Q0I3MDFDNTMyNzc1MDBFMEMyRDggLyog
SlNYTUxEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODNGNTcwQUQxQzUzMjY4RTAwN0ZENkNCIC8qIEpTWE1MRG9jdW1lbnQuaCAqLzsgfTsK
KwkJODM1QjY4MTAxRjU0OEJFMTAwNzFGN0Y2IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q3VzdG9tLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNUI2ODBF
MUY1NDhCREUwMDcxRjdGNiAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHAgKi87IH07CiAJ
CTgzNUQzNjM3MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJDdXN0b20uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNUQzNjM2MTlGRjYxOTMw
MDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJDdXN0b20uaCAqLzsgfTsKIAkJODM1RDU0QzQxRjRERTUz
ODAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzVENTRDMTFGNERFNTM0MDBFNjA2NzEgLyogRmlsZUxp
c3RDcmVhdG9yLmNwcCAqLzsgfTsKIAkJODM1RDU0QzUxRjRERTUzODAwRTYwNjcxIC8qIEZpbGVM
aXN0Q3JlYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODM1RDU0QzIxRjRERTUzNDAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5oICovOyB9Owor
CQk4MzY1ODlERDFGNTRBNzY2MDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNjU4
OURCMUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwICov
OyB9OworCQk4MzY1ODlERTFGNTRBNzY5MDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5
UmVhZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
MzY1ODlEOTFGNTRBNzYyMDBEQzMxRjQgLyogSlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmgg
Ki87IH07CisJCTgzNjU4OURGMUY1NEE3NkMwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVz
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODM2NTg5REExRjU0QTc2MjAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFj
ay5jcHAgKi87IH07CisJCTgzNjU4OUUwMUY1NEE3NkUwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1F
bnRyaWVzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDgzNjU4OUQ4MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2Fs
bGJhY2suaCAqLzsgfTsKIAkJODM2NzU4N0UxQzU2RTk5QjAwOEExMDg3IC8qIEpTSFRNTERhdGFF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzNEI4NkE5MUM1NkU5M0UwMEYzRjBFMyAvKiBKU0hUTUxEYXRhRWxlbWVudC5jcHAgKi87IH07
CiAJCTgzNjc1ODdGMUM1NkU5OUIwMDhBMTA4NyAvKiBKU0hUTUxEYXRhRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM0Qjg2QTgxQzU2RTkz
RTAwRjNGMEUzIC8qIEpTSFRNTERhdGFFbGVtZW50LmggKi87IH07CiAJCTgzNkFDRUMyMUVDQTYy
QzgwMDRCRDAxMiAvKiBET01NYXRyaXhSZWFkT25seS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZBQ0VCRjFFQ0E2MkIwMDA0QkQwMTIgLyogRE9N
TWF0cml4UmVhZE9ubHkuY3BwICovOyB9OwpAQCAtMzQ2NSw2ICszNDczLDcgQEAKIAkJODM3MDU2
OTAxRjUwOTE1QzAwRDkzNDI1IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzA1Njg5MUY1MDkxNTAw
MEQ5MzQyNSAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmggKi87IH07CiAJCTgzNzFBQzNC
MUY1MDlCRTQwMEZCRjI4NCAvKiBFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzcxQUMzOTFGNTA5QkREMDBGQkYyODQgLyogRXJy
b3JDYWxsYmFjay5oICovOyB9OwogCQk4MzcyREIzMTFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25v
c3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4MzcyREIzMDFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xvZ2dp
bmdSZXN1bHRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJODM3NjA5Q0ExRjU0Q0MxODAwMEMxMjJEIC8qIEVycm9yQ2FsbGJhY2suY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3NjA5QzgxRjU0
Q0MxMzAwMEMxMjJEIC8qIEVycm9yQ2FsbGJhY2suY3BwICovOyB9OwogCQk4Mzc2NUY5NTFEQUM1
MjJGMDBDMDY1MzcgLyogTW91c2VFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNzY1Rjk0MURBQzUyMTgwMEMwNjUzNyAvKiBNb3VzZUV2
ZW50SW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTgzN0E4MDEzMUUxRTEyNzMwMDAyNkI5RiAvKiBMb2NhbGl6YWJsZS5zdHJpbmdzZGljdCBp
biBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM3QTgwMTEx
RTFFMTI3MzAwMDI2QjlGIC8qIExvY2FsaXphYmxlLnN0cmluZ3NkaWN0ICovOyB9OwogCQk4MzdC
N0QyMDFEQzNGNTUwMDBEMDUxRkMgLyogVmFsaWRhdGlvbkJ1YmJsZUlPUy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzN0I3RDFGMURDM0Y1NEMwMEQw
NTFGQyAvKiBWYWxpZGF0aW9uQnViYmxlSU9TLm1tICovOyB9OwpAQCAtMzQ3Nyw2ICszNDg2LDcg
QEAKIAkJODM4RUY1M0MxREMxNEE3QzAwOEYwQzM5IC8qIEpTSURCVHJhbnNhY3Rpb25Nb2RlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzhFRjUzQTFE
QzE0QTc1MDA4RjBDMzkgLyogSlNJREJUcmFuc2FjdGlvbk1vZGUuaCAqLzsgfTsKIAkJODM4Rjg2
REExRjUwOUU3NDAwRThDRkM1IC8qIEZpbGVDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM4Rjg2RDgxRjUwOUU2QzAwRThDRkM1IC8qIEZp
bGVDYWxsYmFjay5oICovOyB9OwogCQk4MzhGODZEQjFGNTA5RTdCMDBFOENGQzUgLyogRmlsZVN5
c3RlbUVudHJ5Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzOEY4NkQ3MUY1MDlFNkMwMEU4Q0ZDNSAvKiBGaWxlU3lzdGVtRW50cnlDYWxs
YmFjay5oICovOyB9OworCQk4Mzk2ODBCNDFGNTRDNkFEMDA3NTI2OTAgLyogRmlsZVN5c3RlbUVu
dHJpZXNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4Mzk2ODBCMjFGNTRDNkE4MDA3NTI2OTAgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxs
YmFjay5jcHAgKi87IH07CiAJCTgzOTk0NzBCMUY1MEI2M0UwMEU5RDg2QiAvKiBET01GaWxlU3lz
dGVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgz
OTk0NzA5MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmNwcCAqLzsgfTsKIAkJODM5
OTQ3MEMxRjUwQjYzRTAwRTlEODZCIC8qIERPTUZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzOTk0NzA3MUY1MEI2MzgwMEU5RDg2QiAv
KiBET01GaWxlU3lzdGVtLmggKi87IH07CiAJCTgzOTk0NzBGMUY1MEI2RkEwMEU5RDg2QiAvKiBK
U0RPTUZpbGVTeXN0ZW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODM5OTQ3MEQxRjUwQjZGMzAwRTlEODZCIC8qIEpTRE9NRmlsZVN5c3RlbS5jcHAg
Ki87IH07CkBAIC0xMTU1Niw2ICsxMTU2NiwxMSBAQAogCQk4MzAwMzBGMzFCN0QzM0E2MDBFRDNB
QUMgLyogR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMDAzMEY0MUI3RDMzQTYwMEVEM0FBQyAvKiBHZW5l
cmljQ2FjaGVkSFRNTENvbGxlY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTgzMDAzMEY3MUI3RDM5ODgwMEVEM0FBQyAvKiBDYWNoZWRIVE1MQ29sbGVjdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRIVE1MQ29sbGVjdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzAzMzRGQjFGNTQ5MDUyMDA0REY3MDcg
LyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODMwMzM0RkMxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1E
aXJlY3RvcnlSZWFkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmlsZVN5
c3RlbURpcmVjdG9yeVJlYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzAz
MzRGRDFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzMDMzNEZFMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxl
U3lzdGVtRW50cmllc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJODMwMzM0RkYxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzA1MTk5MjFCQjBGMEU3MDBGMzc3MkUg
LyogSFRNTFRpbWVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEhUTUxUaW1lRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgz
MDUxOTkzMUJCMEYwRTcwMEYzNzcyRSAvKiBIVE1MVGltZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFRpbWVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTgzMDUxOTk0MUJCMEYwRTcwMEYzNzcyRSAvKiBIVE1MVGltZUVsZW1lbnQu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxUaW1lRWxlbWVudC5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTU5MCwxMCArMTE2MDUsMTUgQEAKIAkJODM1MEMzRTgx
REE1OUI2MjAwMzU2NDQ2IC8qIFNjcm9sbFRvT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gU2Nyb2xsVG9PcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODM1MjBDN0QxQTcxQkZDQzAwNkJEMkFBIC8qIENTU0ZvbnRGYW1pbHkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTRm9udEZhbWlseS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4MzU2NTdDNjFFQ0FCMEU4MDBDREU3MkQgLyogSlNET01NYXRyaXhJbml0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NTWF0cml4SW5pdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNUI2ODBFMUY1NDhCREUwMDcxRjdG
NiAvKiBKU0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0ZpbGVTeXN0ZW1FbnRyeUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTgzNUQzNjM2MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJD
dXN0b20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVCdWlsZGVyQ3Vz
dG9tLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNUQ1NEMxMUY0REU1MzQwMEU2
MDY3MSAvKiBGaWxlTGlzdENyZWF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRmlsZUxpc3RDcmVhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODM1RDU0QzIxRjRERTUzNDAwRTYwNjcxIC8qIEZpbGVMaXN0Q3JlYXRvci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlTGlzdENyZWF0b3IuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODM1RjhCMjYxRDJEOTBCQTAwRTQwOEVDIC8qIFNsb3RhYmxlLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTbG90YWJsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTgzNjU4OUQ4MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRy
aWVzQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lz
dGVtRW50cmllc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNjU4
OUQ5MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzNjU4OURBMUY1NEE3NjIwMERDMzFG
NCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODM2NTg5REIxRjU0QTc2MjAwREMzMUY0IC8qIEpTRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4MzY5RTU4RjFBRkREMDMwMDA4N0RGNjggLyogTm9uRG9jdW1lbnRUeXBl
Q2hpbGROb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGUuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZBQ0VCRjFFQ0E2MkIwMDA0QkQwMTIgLyogRE9NTWF0
cml4UmVhZE9ubHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9N
TWF0cml4UmVhZE9ubHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZBQ0VD
MDFFQ0E2MkIwMDA0QkQwMTIgLyogRE9NTWF0cml4UmVhZE9ubHkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NTWF0cml4UmVhZE9ubHkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTExNjI4LDYgKzExNjQ4LDcgQEAKIAkJODM3MUFDMzgxRjUwOUJERDAwRkJG
Mjg0IC8qIEZpbGVDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRmlsZUNhbGxi
YWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3MUFDMzkxRjUwOUJERDAw
RkJGMjg0IC8qIEVycm9yQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRXJyb3JDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzcyREIz
MDFBNjc4MEE4MDBDNjk3QzUgLyogRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4Mzc2MDlDODFGNTRDQzEzMDAwQzEyMkQg
LyogRXJyb3JDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM3NjVG
OTMxREFDNTIxODAwQzA2NTM3IC8qIE1vdXNlRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBNb3VzZUV2ZW50SW5pdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTgzNzY1Rjk0MURBQzUyMTgwMEMwNjUzNyAvKiBNb3VzZUV2ZW50SW5pdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNb3VzZUV2ZW50SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk4MzdBODAxMjFFMUUxMjczMDAwMjZCOUYgLyogRW5nbGlzaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3Quc3Ry
aW5nc2RpY3Q7IG5hbWUgPSBFbmdsaXNoOyBwYXRoID0gRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJs
ZS5zdHJpbmdzZGljdDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwpAQCAtMTE2NDMsNiAr
MTE2NjQsNyBAQAogCQk4MzhFRjUzQTFEQzE0QTc1MDA4RjBDMzkgLyogSlNJREJUcmFuc2FjdGlv
bk1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJREJUcmFuc2FjdGlv
bk1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM4Rjg2RDcxRjUwOUU2QzAw
RThDRkM1IC8qIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTgzOEY4NkQ4MUY1MDlFNkMwMEU4Q0ZDNSAvKiBGaWxlQ2FsbGJhY2suaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmlsZUNhbGxiYWNrLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzOTY4MEIyMUY1NEM2QTgwMDc1MjY5MCAvKiBGaWxlU3lz
dGVtRW50cmllc0NhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4Mzk5NDcwNzFGNTBCNjM4MDBFOUQ4NkIgLyogRE9NRmlsZVN5c3RlbS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01GaWxlU3lzdGVtLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTgzOTk0NzA4MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lz
dGVtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01GaWxlU3lzdGVtLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM5OTQ3MDkxRjUwQjYzODAwRTlEODZCIC8qIERPTUZp
bGVTeXN0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NRmls
ZVN5c3RlbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTg3OSw2ICsxOTkw
MSw3IEBACiAJCQkJRTM0RUU0OUYxREMyRDU3NTAwRUFBOUQzIC8qIEpTRXZlbnRDdXN0b20uaCAq
LywKIAkJCQlCQzYwOTAxRTBFOTFCOEVDMDAwQzY4QjUgLyogSlNFdmVudFRhcmdldEN1c3RvbS5j
cHAgKi8sCiAJCQkJNDZCNjNGNkIxQzZFOENERjAwMkU5MTRCIC8qIEpTRXZlbnRUYXJnZXRDdXN0
b20uaCAqLywKKwkJCQk4MzVCNjgwRTFGNTQ4QkRFMDA3MUY3RjYgLyogSlNGaWxlU3lzdGVtRW50
cnlDdXN0b20uY3BwICovLAogCQkJCUJDQ0JBRDNBMEMxOEJGRjgwMENFODkwRiAvKiBKU0hUTUxD
b2xsZWN0aW9uQ3VzdG9tLmNwcCAqLywKIAkJCQlCQzUxNTgwQTBDMDNENDA0MDA4QkIwRUUgLyog
SlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwICovLAogCQkJCUQ2Rjc5NjBDMTY2RkZFQ0UwMDc2REQx
OCAvKiBKU0hUTUxUZW1wbGF0ZUVsZW1lbnRDdXN0b20uY3BwICovLApAQCAtMjAwNTcsNiArMjAw
ODAsNyBAQAogCQkJCTgzOTk0NzA5MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmNw
cCAqLywKIAkJCQk4Mzk5NDcwNzFGNTBCNjM4MDBFOUQ4NkIgLyogRE9NRmlsZVN5c3RlbS5oICov
LAogCQkJCTgzOTk0NzA4MUY1MEI2MzgwMEU5RDg2QiAvKiBET01GaWxlU3lzdGVtLmlkbCAqLywK
KwkJCQk4Mzc2MDlDODFGNTRDQzEzMDAwQzEyMkQgLyogRXJyb3JDYWxsYmFjay5jcHAgKi8sCiAJ
CQkJODM3MUFDMzkxRjUwOUJERDAwRkJGMjg0IC8qIEVycm9yQ2FsbGJhY2suaCAqLywKIAkJCQk4
MzcxQUMzNzFGNTA5QkREMDBGQkYyODQgLyogRXJyb3JDYWxsYmFjay5pZGwgKi8sCiAJCQkJODM4
Rjg2RDgxRjUwOUU2QzAwRThDRkM1IC8qIEZpbGVDYWxsYmFjay5oICovLApAQCAtMjAwNjQsNiAr
MjAwODgsMTIgQEAKIAkJCQk4M0ZCMzM2QjFGNTA4QTRFMDA5ODZFNTQgLyogRmlsZVN5c3RlbURp
cmVjdG9yeUVudHJ5LmNwcCAqLywKIAkJCQk4M0ZCMzM2RDFGNTA4QTRFMDA5ODZFNTQgLyogRmls
ZVN5c3RlbURpcmVjdG9yeUVudHJ5LmggKi8sCiAJCQkJODNGQjMzNkExRjUwOEE0RTAwOTg2RTU0
IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5pZGwgKi8sCisJCQkJODMwMzM0RkIxRjU0OTA1
MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwICovLAorCQkJCTgzMDMz
NEZDMUY1NDkwNTIwMDRERjcwNyAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmggKi8sCisJ
CQkJODMwMzM0RkYxRjU0OTA1MjAwNERGNzA3IC8qIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIu
aWRsICovLAorCQkJCTgzOTY4MEIyMUY1NEM2QTgwMDc1MjY5MCAvKiBGaWxlU3lzdGVtRW50cmll
c0NhbGxiYWNrLmNwcCAqLywKKwkJCQk4MzAzMzRGRTFGNTQ5MDUyMDA0REY3MDcgLyogRmlsZVN5
c3RlbUVudHJpZXNDYWxsYmFjay5oICovLAorCQkJCTgzMDMzNEZEMUY1NDkwNTIwMDRERjcwNyAv
KiBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrLmlkbCAqLywKIAkJCQk4M0ZCMzM2RTFGNTA4QTRF
MDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmNwcCAqLywKIAkJCQk4M0ZCMzM2RjFGNTA4QTRF
MDA5ODZFNTQgLyogRmlsZVN5c3RlbUVudHJ5LmggKi8sCiAJCQkJODNGQjMzNjgxRjUwOEE0RTAw
OTg2RTU0IC8qIEZpbGVTeXN0ZW1FbnRyeS5pZGwgKi8sCkBAIC0yMDA4Nyw2ICsyMDExNywxMCBA
QAogCQkJCTgzNzA1NjhCMUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVDYWxsYmFjay5oICovLAog
CQkJCTgzM0I5RTJCMUY1MDhEODAwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRy
eS5jcHAgKi8sCiAJCQkJODMzQjlFMkYxRjUwOEQ4MDAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbURp
cmVjdG9yeUVudHJ5LmggKi8sCisJCQkJODM2NTg5REIxRjU0QTc2MjAwREMzMUY0IC8qIEpTRmls
ZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgKi8sCisJCQkJODM2NTg5RDkxRjU0QTc2MjAwREMz
MUY0IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oICovLAorCQkJCTgzNjU4OURBMUY1
NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2suY3BwICovLAorCQkJ
CTgzNjU4OUQ4MUY1NEE3NjIwMERDMzFGNCAvKiBKU0ZpbGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2su
aCAqLywKIAkJCQk4MzNCOUUyRTFGNTA4RDgwMDBFMEU0MjggLyogSlNGaWxlU3lzdGVtRW50cnku
Y3BwICovLAogCQkJCTgzM0I5RTJBMUY1MDhEODAwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1FbnRy
eS5oICovLAogCQkJCTgzNzA1NjhBMUY1MDkxNTAwMEQ5MzQyNSAvKiBKU0ZpbGVTeXN0ZW1FbnRy
eUNhbGxiYWNrLmNwcCAqLywKQEAgLTI3NTM5LDYgKzI3NTczLDggQEAKIAkJCQkyRUYxQkZGOTEy
MUNCMENFMDBDMjc2MjcgLyogRmlsZVN0cmVhbUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE0QjNGNzMwQzcyMjA0NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzRkIzMzcxMUY1MDhBNTQwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnku
aCBpbiBIZWFkZXJzICovLAorCQkJCTgzMDMzNTAyMUY1NDkwNTcwMDRERjcwNyAvKiBGaWxlU3lz
dGVtRGlyZWN0b3J5UmVhZGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk4MzAzMzUwMzFGNTQ5MDVB
MDA0REY3MDcgLyogRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODNGQjMzNzMxRjUwOEE1ODAwOTg2RTU0IC8qIEZpbGVTeXN0ZW1FbnRyeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODM4Rjg2REIxRjUwOUU3QjAwRThDRkM1IC8qIEZpbGVTeXN0ZW1FbnRyeUNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0ZCMzM3NTFGNTA4QTVCMDA5ODZFNTQgLyog
RmlsZVN5c3RlbUZpbGVFbnRyeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODIzMSw2ICsyODI2Nyw4
IEBACiAJCQkJMkU5NEY0M0MxMTkyMDdEQTAwQjdGNzVEIC8qIEpTRmlsZVJlYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODk4Nzg1RjUxMjJFMUVBQzAwM0FBQkRBIC8qIEpTRmlsZVJlYWRlclN5
bmMuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzM0I5RTMyMUY1MDhEODUwMEUwRTQyOCAvKiBKU0Zp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJODM2NTg5REUxRjU0
QTc2OTAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJODM2NTg5RTAxRjU0QTc2RTAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXND
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODMzQjlFMzQxRjUwOEQ4NTAwRTBFNDI4IC8q
IEpTRmlsZVN5c3RlbUVudHJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzcwNTY5MDFGNTA5MTVD
MDBEOTM0MjUgLyogSlNGaWxlU3lzdGVtRW50cnlDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODMzQjlFMzYxRjUwOEQ4NTAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbUZpbGVFbnRyeS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMTQ3OSw2ICszMTUxNyw3IEBACiAJCQkJRjUyQUQ1RTQxNTM0MjQ1
RjAwNTlGQkU2IC8qIEVtcHR5Q2xpZW50cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTVCRTE4
RjFENTRGNUZCMDBERDdDNjggLyogRW1wdHlHYW1lcGFkUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRkQzMTYwOTIxMkIwMjZGNzAwQzFBMzU5IC8qIEVxdWFsUG93ZXJQYW5uZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJODM3NjA5Q0ExRjU0Q0MxODAwMEMxMjJEIC8qIEVycm9yQ2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVDRjdBRTExMDE2MkI1ODAwNDI3REU3IC8q
IEVycm9yRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODUwMzFCNDEwQTQ0RUZDNzAwRjk5
MkUwIC8qIEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxMzhEMzM2MTI0NDA1NDgwMDMy
M0QzMyAvKiBFdmVudENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMTU1MSw2ICszMTU5
MCw4IEBACiAJCQkJNTE2MDMwNkMwQ0M0MzYyMzAwQzhBQzI1IC8qIEZpbGVTeXN0ZW1DRi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MTRCM0Y3NjBDNzIyMDU1MDAwNTMwREYgLyogRmlsZVN5c3Rl
bUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODNGQjMzNzAxRjUwOEE1NDAwOTg2RTU0IC8q
IEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4MzAzMzUw
MTFGNTQ5MDU3MDA0REY3MDcgLyogRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk4Mzk2ODBCNDFGNTRDNkFEMDA3NTI2OTAgLyogRmlsZVN5c3RlbUVudHJp
ZXNDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4M0ZCMzM3MjFGNTA4QTU4MDA5ODZF
NTQgLyogRmlsZVN5c3RlbUVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzRkIzMzc0MUY1
MDhBNUIwMDk4NkU1NCAvKiBGaWxlU3lzdGVtRmlsZUVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTI2QzE3QTNGMTQ5MUQyRDQwMEQxMkJBMiAvKiBGaWxlU3lzdGVtSU9TLm1tIGluIFNvdXJj
ZXMgKi8sCkBAIC0zMjIyNCw4ICszMjI2NSwxMSBAQAogCQkJCTJFOTRGNDNCMTE5MjA3REEwMEI3
Rjc1RCAvKiBKU0ZpbGVSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODk4Nzg1RjQxMjJF
MUVBQzAwM0FBQkRBIC8qIEpTRmlsZVJlYWRlclN5bmMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODMzQjlFMzExRjUwOEQ4NTAwRTBFNDI4IC8qIEpTRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5LmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTgzNjU4OUREMUY1NEE3NjYwMERDMzFGNCAvKiBKU0ZpbGVT
eXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM2NTg5REYxRjU0
QTc2QzAwREMzMUY0IC8qIEpTRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjay5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk4MzNCOUUzMzFGNTA4RDg1MDBFMEU0MjggLyogSlNGaWxlU3lzdGVtRW50cnku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODM3MDU2OEYxRjUwOTE1OTAwRDkzNDI1IC8qIEpTRmls
ZVN5c3RlbUVudHJ5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODM1QjY4MTAxRjU0
OEJFMTAwNzFGN0Y2IC8qIEpTRmlsZVN5c3RlbUVudHJ5Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTgzM0I5RTM1MUY1MDhEODUwMEUwRTQyOCAvKiBKU0ZpbGVTeXN0ZW1GaWxlRW50cnku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9j
dXNFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMjgwODM0MDFDNkRDMjc1MDAxNDUxQjYg
LyogSlNGb250RmFjZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQmluZGluZ3NBbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0JpbmRpbmdzQWxsSW5PbmUuY3BwCmluZGV4IGQ5MDE0MmVmMzhhM2E4YWU1
YjdmNzQ0ODhkNzNiOTg4Njc0OGIxODAuLmUzNjZjNTZkMTg2NTVlMGMyMjU4ZDY2Mjc5YmQ2ZmM2
N2Y4N2Q4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQmluZGlu
Z3NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNCaW5kaW5n
c0FsbEluT25lLmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIkpTRXZlbnRDdXN0b20u
Y3BwIgogI2luY2x1ZGUgIkpTRXZlbnRMaXN0ZW5lci5jcHAiCiAjaW5jbHVkZSAiSlNFdmVudFRh
cmdldEN1c3RvbS5jcHAiCisjaW5jbHVkZSAiSlNGaWxlU3lzdGVtRW50cnlDdXN0b20uY3BwIgog
I2luY2x1ZGUgIkpTSFRNTENvbGxlY3Rpb25DdXN0b20uY3BwIgogI2luY2x1ZGUgIkpTSFRNTERv
Y3VtZW50Q3VzdG9tLmNwcCIKICNpbmNsdWRlICJKU0hUTUxFbGVtZW50Q3VzdG9tLmNwcCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVudHJ5Q3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRmlsZVN5c3RlbUVudHJ5Q3Vz
dG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NDZmNzUxZWUxOGZjNjA4ZWU4ZjhjMzcyMTJhZjY5NjM2NmFm
NGMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNGaWxl
U3lzdGVtRW50cnlDdXN0b20uY3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNGaWxlU3lzdGVtRW50cnkuaCIKKworI2luY2x1
ZGUgIkZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1GaWxl
RW50cnkuaCIKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0ZpbGVTeXN0
ZW1EaXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkpTRmlsZVN5c3RlbUZpbGVFbnRyeS5oIgor
Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTVmFsdWUg
dG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxGaWxlU3lzdGVtRW50cnk+JiYgZW50cnkpCit7CisgICAgaWYgKGlzPEZp
bGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4oZW50cnkpKQorICAgICAgICByZXR1cm4gY3JlYXRlV3Jh
cHBlcjxGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRy
eSkpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPEZpbGVTeXN0ZW1GaWxlRW50cnk+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworfQorCitKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBz
dGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRmlsZVN5c3RlbUVudHJ5JiBl
bnRyeSkKK3sKKyAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBlbnRyeSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EYXRhVHJhbnNmZXJJdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtLmNwcAppbmRleCAxMjMyZTgxZTU3ZGVkMmM4OTg0OWQ0NGY2MzQ5NzM4N2Q0NjQzODE0Li42
YjVkN2E1NzhiYWEwN2E5MTdkODhhNjgyMjEwY2Q2YTEzN2JmNjM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RhdGFUcmFuc2Zlckl0ZW0uY3BwCkBAIC0zMiwxMCArMzIsMTUgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJEYXRhVHJhbnNmZXJJdGVtLmgiCiAKKyNpbmNsdWRlICJET01G
aWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRGF0YVRyYW5zZmVySXRlbUxpc3QuaCIKICNpbmNsdWRl
ICJGaWxlLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1E
aXJlY3RvcnlFbnRyeS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0ZW1GaWxlRW50cnkuaCIKICNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU3RyaW5nQ2FsbGJhY2su
aCIKKyNpbmNsdWRlIDx3dGYvVVVJRC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEw
MSw0ICsxMDYsMTkgQEAgUmVmUHRyPEZpbGU+IERhdGFUcmFuc2Zlckl0ZW06OmdldEFzRmlsZSgp
IGNvbnN0CiAgICAgcmV0dXJuIG1fZmlsZS5jb3B5UmVmKCk7CiB9CiAKK1JlZlB0cjxGaWxlU3lz
dGVtRW50cnk+IERhdGFUcmFuc2Zlckl0ZW06OmdldEFzRW50cnkoKSBjb25zdAoreworICAgIGF1
dG8gZmlsZSA9IGdldEFzRmlsZSgpOworICAgIGlmICghZmlsZSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICBpZiAoIW1fZmlsZVN5c3RlbSkKKyAgICAgICAgbV9maWxlU3lzdGVtID0g
RE9NRmlsZVN5c3RlbTo6Y3JlYXRlKGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSk7CisKKyAg
ICBTdHJpbmcgdmlydHVhbFBhdGggPSAiLyIgKyBmaWxlLT5uYW1lKCk7CisgICAgaWYgKGZpbGUt
PmlzRGlyZWN0b3J5KCkpCisgICAgICAgIHJldHVybiBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnk6
OmNyZWF0ZSgqbV9maWxlU3lzdGVtLCB2aXJ0dWFsUGF0aCk7CisgICAgcmV0dXJuIEZpbGVTeXN0
ZW1GaWxlRW50cnk6OmNyZWF0ZSgqbV9maWxlU3lzdGVtLCB2aXJ0dWFsUGF0aCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRh
VHJhbnNmZXJJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5oCmlu
ZGV4IGQ4Yjg0YTE3ZDFiNTRiODJhMjc0MjVlNDgxZmZkNmZmMWNkZTM0ZjYuLmJlYTFjZjFlNGMw
NzlmNGZjYzBlM2U2YWE1OTRhMTEwZjAxYjllNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EYXRhVHJhbnNmZXJJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFu
c2Zlckl0ZW0uaApAQCAtNDAsOCArNDAsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitj
bGFzcyBET01GaWxlU3lzdGVtOwogY2xhc3MgRGF0YVRyYW5zZmVyTGlzdEl0ZW07CiBjbGFzcyBG
aWxlOworY2xhc3MgRmlsZVN5c3RlbUVudHJ5OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIGNsYXNzIFN0cmluZ0NhbGxiYWNrOwogCkBAIC01OSw2ICs2MSw3IEBAIHB1YmxpYzoKICAg
ICBTdHJpbmcgdHlwZSgpIGNvbnN0OwogICAgIHZvaWQgZ2V0QXNTdHJpbmcoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFJlZlB0cjxTdHJpbmdDYWxsYmFjaz4mJikgY29uc3Q7CiAgICAgUmVmUHRy
PEZpbGU+IGdldEFzRmlsZSgpIGNvbnN0OworICAgIFJlZlB0cjxGaWxlU3lzdGVtRW50cnk+IGdl
dEFzRW50cnkoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBEYXRhVHJhbnNmZXJJdGVtKFdlYWtQ
dHI8RGF0YVRyYW5zZmVySXRlbUxpc3Q+JiYsIGNvbnN0IFN0cmluZyYpOwpAQCAtNjksNiArNzIs
NyBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8RGF0YVRyYW5zZmVySXRlbUxpc3Q+IG1fbGlzdDsK
ICAgICBjb25zdCBTdHJpbmcgbV90eXBlOwogICAgIFJlZlB0cjxGaWxlPiBtX2ZpbGU7CisgICAg
bXV0YWJsZSBSZWZQdHI8RE9NRmlsZVN5c3RlbT4gbV9maWxlU3lzdGVtOwogfTsKIAogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsCmluZGV4IDczOTdhN2ZmMGIwODMwMzMz
MzcwMGQ5OGQ3YWI4NDE5OTAzYWEwNDguLmNkNTJmNTA2ZmI5MzhhZmZlYmZlNWNhZGY4NzYyOTBi
NDIyMmVhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVt
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGwKQEAgLTM4
LDUgKzM4LDggQEAKIAogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSB2b2lk
IGdldEFzU3RyaW5nKFN0cmluZ0NhbGxiYWNrPyBjYWxsYmFjayk7CiAgICAgRmlsZSBnZXRBc0Zp
bGUoKTsKKworICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZW50cmllcy1hcGkvI2h0bWwt
ZGF0YQorICAgIFtJbXBsZW1lbnRlZEFzPWdldEFzRW50cnldIEZpbGVTeXN0ZW1FbnRyeT8gd2Vi
a2l0R2V0QXNFbnRyeSgpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rh
dGFUcmFuc2Zlckl0ZW1MaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtTGlzdC5jcHAKaW5kZXggMmM5MDllMDgwMzhiY2U4ZWU4ZTZlMzBiMzEzOGI4NmRmOTkxM2Qz
NC4uZmRmZGEyNzJkZTc4MjQ1YzNiZDM5OGEyZWY5YjdmMjVmNmZlZGY4NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuY3BwCkBAIC0xMzQsNyArMTM0LDcgQEAg
VmVjdG9yPFJlZjxEYXRhVHJhbnNmZXJJdGVtPj4mIERhdGFUcmFuc2Zlckl0ZW1MaXN0OjplbnN1
cmVJdGVtcygpIGNvbnN0CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVuZ3RoID0gZmlsZXMu
bGVuZ3RoKCk7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICBGaWxlJiBmaWxlID0gKmZpbGVz
Lml0ZW0oaSk7CiAgICAgICAgIFN0cmluZyB0eXBlID0gRmlsZTo6Y29udGVudFR5cGVGb3JGaWxl
KGZpbGUucGF0aCgpKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpOwotICAgICAgICBpZiAoaXNT
dXBwb3J0ZWRUeXBlKHR5cGUpKQorICAgICAgICBpZiAoaXNTdXBwb3J0ZWRUeXBlKHR5cGUpIHx8
IGZpbGUuaXNEaXJlY3RvcnkoKSkKICAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChEYXRhVHJhbnNm
ZXJJdGVtOjpjcmVhdGUobV93ZWFrUHRyRmFjdG9yeS5jcmVhdGVXZWFrUHRyKCksIHR5cGUsIGZp
bGUpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwCmluZGV4IGU1NjUwMGFkYTMyN2Zm
MTQ1ZjFiZjUxOTdiZTZiODQyYzA5Nzk3YjMuLmI1MDhhYmY0NmQxMWZlMmUzZjk0Zjc3MjFiMDdh
OTQ4N2RiYzExYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcApAQCAtMTI3LDQgKzEyNywxMSBA
QCBTdHJpbmcgRmlsZTo6Y29udGVudFR5cGVGb3JGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCkKICAg
ICByZXR1cm4gdHlwZTsKIH0KIAorYm9vbCBGaWxlOjppc0RpcmVjdG9yeSgpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX2lzRGlyZWN0b3J5KQorICAgICAgICBtX2lzRGlyZWN0b3J5ID0gZmlsZUlzRGly
ZWN0b3J5KG1fcGF0aCk7CisgICAgcmV0dXJuICptX2lzRGlyZWN0b3J5OworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCmluZGV4IDIyNmFmOGMxNzZiZWY1ODE0
YjE2MzhkYjg3YTRlMmEwNThmNDgxYTIuLmE5NjAxZjU4NGY5NTIyMGI5YmZmMzkxMzMxOTJhZmFk
ODUyMzM2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCkBAIC04MSw2ICs4MSw4IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXBsYWNlRmlsZShjb25zdCBTdHJpbmcmIHBhdGgpOwog
I2VuZGlmCiAKKyAgICBib29sIGlzRGlyZWN0b3J5KCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAg
V0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgRmlsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogICAgIEZp
bGUoY29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBTdHJpbmcmIG5hbWVPdmVycmlkZSk7CkBAIC05
OCw2ICsxMDAsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX25hbWU7CiAKICAgICBzdGQ6Om9w
dGlvbmFsPGludDY0X3Q+IG1fb3ZlcnJpZGVMYXN0TW9kaWZpZWREYXRlOworICAgIG11dGFibGUg
c3RkOjpvcHRpb25hbDxib29sPiBtX2lzRGlyZWN0b3J5OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oCmluZGV4IDE4Y2IyNmE1ZGZmYzlmOTRmM2NiNTIyN2EyYTZlNDRmZTczOTExNTcuLjFi
OTJkZDY5ZDdhM2M5NDVhMzVhMjdlM2U4YWM0YzUyMGZhMGZhYWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTI3Nyw3ICsyNzcs
NiBAQAogICAgIG1hY3JvKExhcmdlSW1hZ2VBc3luY0RlY29kaW5nRW5hYmxlZCwgbGFyZ2VJbWFn
ZUFzeW5jRGVjb2RpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKICAgICBt
YWNybyhBbmltYXRlZEltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQsIGFuaW1hdGVkSW1hZ2VBc3lu
Y0RlY29kaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCiAgICAgbWFjcm8o
Q3VzdG9tRWxlbWVudHNFbmFibGVkLCBjdXN0b21FbGVtZW50c0VuYWJsZWQsIEJvb2wsIGJvb2ws
IHRydWUsICIiLCAiIikgXAotICAgIG1hY3JvKERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZCwgZGF0
YVRyYW5zZmVySXRlbXNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIkRhdGEgVHJhbnNmZXIg
SXRlbXMiLCAiRW5hYmxlcyBEYXRhVHJhbnNmZXJJdGVtIGluIHRoZSBjbGlwYm9hcmQgQVBJIikg
XAogICAgIG1hY3JvKEVuY3J5cHRlZE1lZGlhQVBJRW5hYmxlZCwgZW5jcnlwdGVkTWVkaWFBUElF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oTWVkaWFQcmVs
b2FkaW5nRW5hYmxlZCwgbWVkaWFQcmVsb2FkaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAogICAgIG1hY3JvKEludGVyc2VjdGlvbk9ic2VydmVyRW5hYmxlZCwgaW50ZXJz
ZWN0aW9uT2JzZXJ2ZXJFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIkludGVyc2VjdGlvbiBP
YnNlcnZlciIsICJFbmFibGUgSW50ZXJzZWN0aW9uIE9ic2VydmVyIHN1cHBvcnQiKSBcCkBAIC0z
NzYsNiArMzc1LDcgQEAKICAgICBtYWNybyhXZWJHTDJFbmFibGVkLCB3ZWJHTDJFbmFibGVkLCBC
b29sLCBib29sLCBmYWxzZSwgIldlYkdMIDIuMCIsICJXZWJHTCAyIHByb3RvdHlwZSIpIFwKICAg
ICBtYWNybyhXZWJHUFVFbmFibGVkLCB3ZWJHUFVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwg
IldlYkdQVSIsICJXZWJHUFUgcHJvdG90eXBlIikgXAogICAgIG1hY3JvKERpcmVjdG9yeVVwbG9h
ZEVuYWJsZWQsIGRpcmVjdG9yeVVwbG9hZEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiRGly
ZWN0b3J5IFVwbG9hZCIsICJpbnB1dC53ZWJraXRkaXJlY3RvcnkiKSBcCisgICAgbWFjcm8oRGF0
YVRyYW5zZmVySXRlbXNFbmFibGVkLCBkYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQsIEJvb2wsIGJv
b2wsIGZhbHNlLCAiRGF0YSBUcmFuc2ZlciBJdGVtcyIsICJFbmFibGVzIERhdGFUcmFuc2Zlckl0
ZW0gaW4gdGhlIGNsaXBib2FyZCBBUEkiKSBcCiAgICAgbWFjcm8oQXN5bmNGcmFtZVNjcm9sbGlu
Z0VuYWJsZWQsIGFzeW5jRnJhbWVTY3JvbGxpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwg
IkFzeW5jIEZyYW1lIFNjcm9sbGluZyIsICJQZXJmb3JtIGZyYW1lIHNjcm9sbGluZyBpbiBhIGRl
ZGljYXRlZCB0aHJlYWQgb3IgcHJvY2VzcyIpIFwKICAgICBcCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ZGQ2ZjY0NThh
NmMwNGU4OTY3MWZlZTIyM2NlNDQ2MWMyMGFmZjk1Li41N2JlNzYwNjIzMDQ5MWI5ODllNWJmZjhh
NDIyZTQ4MmE2NmRkNjJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMDgtMjggIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5pdGlhbCBzdXBwb3J0
IGZvciBkYXRhVHJhbnNmZXJJdGVtLndlYmtpdEdldEFzRW50cnkoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MDM4CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8zNDEyMTA5NT4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisK
KyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZGF0YXRyYW5zZmVyLWl0ZW1zLWRyb3AtZ2V0
QXNFbnRyeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2Fy
ZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICBBZGQgbGF5b3V0IHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBodHRwL3dwdC9lbnRyaWVz
LWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgUmViYXNlbGluZSB0ZXN0IG5v
dyB0aGF0IHdlIHN1cHBvcnQgbW9yZSBvZiB0aGUgQVBJLgorCisgICAgICAgICogcGxhdGZvcm0v
d2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFNraXAgbmV3IHRlc3Qgb24gV0syIGJlY2F1
c2UgaXQgcmVsaWVzIG9uIGJlZ2luRHJhZ1dpdGhGaWxlcygpLgorCiAyMDE3LTA4LTI1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTGFuZCBzdHVicyBmb3IgRmls
ZSBhbmQgRGlyZWN0b3J5IEVudHJpZXMgQVBJIGludGVyZmFjZXMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0Vu
dHJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJh
bnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjY4
ZGUwMTY4N2ZiNzZmNDExOTQwYzZjYjBlMDk0MmFkOWNhMWFmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RhdGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdl
dEFzRW50cnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK0Jhc2ljIHRlc3QgY292ZXJh
Z2UgZm9yIGRhdGFUcmFuc2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIGRhdGFUcmFuc2Zlci5pdGVtcy5sZW5ndGggaXMgMgor
UEFTUyBmaXJzdERhdGFUcmFuc2Zlckl0ZW0ua2luZCBpcyAiZmlsZSIKK1BBU1MgZmlyc3REYXRh
VHJhbnNmZXJJdGVtLnR5cGUgaXMgInRleHQvcGxhaW4iCitQQVNTIGZpcnN0RmlsZS5uYW1lIGlz
ICJ0ZXN0LnR4dCIKK1BBU1MgZmlyc3RGaWxlLnNpemUgaXMgNQorUEFTUyBmaXJzdEZpbGUudHlw
ZSBpcyAidGV4dC9wbGFpbiIKK1BBU1MgZmlyc3RFbnRyeS5pc0RpcmVjdG9yeSBpcyBmYWxzZQor
UEFTUyBmaXJzdEVudHJ5LmlzRmlsZSBpcyB0cnVlCitQQVNTIGZpcnN0RW50cnkubmFtZSBpcyAi
dGVzdC50eHQiCitQQVNTIGZpcnN0RW50cnkuZnVsbFBhdGggaXMgIi90ZXN0LnR4dCIKK1BBU1Mg
c2Vjb25kRGF0YVRyYW5zZmVySXRlbS5raW5kIGlzICJmaWxlIgorUEFTUyBzZWNvbmREYXRhVHJh
bnNmZXJJdGVtLnR5cGUgaXMgIiIKK1BBU1Mgc2Vjb25kRmlsZS5uYW1lIGlzICJ0ZXN0RmlsZXMi
CitQQVNTIHNlY29uZEZpbGUuc2l6ZSBpcyAyMDQKK1BBU1Mgc2Vjb25kRmlsZS50eXBlIGlzICIi
CitQQVNTIHNlY29uZEVudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1Mgc2Vjb25kRW50cnku
aXNGaWxlIGlzIGZhbHNlCitQQVNTIHNlY29uZEVudHJ5Lm5hbWUgaXMgInRlc3RGaWxlcyIKK1BB
U1Mgc2Vjb25kRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0RmlsZXMiCitQQVNTIGZpbGVTeXN0ZW1S
b290LmlzRGlyZWN0b3J5IGlzIHRydWUKK1BBU1MgZmlsZVN5c3RlbVJvb3QuaXNGaWxlIGlzIGZh
bHNlCitQQVNTIGZpbGVTeXN0ZW1Sb290Lm5hbWUgaXMgIiIKK1BBU1MgZmlsZVN5c3RlbVJvb3Qu
ZnVsbFBhdGggaXMgIi8iCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2Rh
dGF0cmFuc2Zlci1pdGVtcy1kcm9wLWdldEFzRW50cnkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRp
bmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzBiODM1NjI3NGE3NTRlYjg0NzBlMTcxODhkYzZlY2EzNDY5ZTRiZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXIt
aXRlbXMtZHJvcC1nZXRBc0VudHJ5Lmh0bWwKQEAgLTAsMCArMSw4MSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZHJvcHpvbmUiIHN0eWxl
PSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ij48
L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiQmFzaWMgdGVzdCBjb3ZlcmFnZSBmb3IgZGF0
YVRyYW5zZmVySXRlbS53ZWJraXRHZXRBc0VudHJ5KCkiKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCitmdW5jdGlvbiBtb3ZlTW91c2VUb0NlbnRlck9mRWxlbWVudChlbGVtZW50KSB7CisgICAg
dmFyIGNlbnRlclggPSBlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8g
MjsKKyAgICB2YXIgY2VudGVyWSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRI
ZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGNlbnRlclgsIGNlbnRlclkp
OworfQorCitmdW5jdGlvbiBkcmFnRmlsZXNPbnRvRWxlbWVudChlbGVtZW50LCBmaWxlcykgewor
ICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQorICAgICAgICByZXR1cm47CisKKyAgICBldmVu
dFNlbmRlci5iZWdpbkRyYWdXaXRoRmlsZXMoZmlsZXMpOworICAgIG1vdmVNb3VzZVRvQ2VudGVy
T2ZFbGVtZW50KGVsZW1lbnQpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKK30KKwordmFy
IGRyb3B6b25lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3B6b25lJyk7Citkcm9wem9u
ZS5vbmRyb3AgPSBmdW5jdGlvbihlKSB7CisgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIGRh
dGFUcmFuc2ZlciA9IGUuZGF0YVRyYW5zZmVyOworCisgICAgc2hvdWxkQmUoImRhdGFUcmFuc2Zl
ci5pdGVtcy5sZW5ndGgiLCAiMiIpOworCisgICAgZmlyc3REYXRhVHJhbnNmZXJJdGVtID0gZGF0
YVRyYW5zZmVyLml0ZW1zWzBdOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZmlyc3REYXRh
VHJhbnNmZXJJdGVtLmtpbmQiLCAiZmlsZSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
Zmlyc3REYXRhVHJhbnNmZXJJdGVtLnR5cGUiLCAidGV4dC9wbGFpbiIpOworICAgIGZpcnN0Rmls
ZSA9IGZpcnN0RGF0YVRyYW5zZmVySXRlbS5nZXRBc0ZpbGUoKTsKKyAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImZpcnN0RmlsZS5uYW1lIiwgInRlc3QudHh0Iik7CisgICAgc2hvdWxkQmUoImZp
cnN0RmlsZS5zaXplIiwgIjUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpcnN0Rmls
ZS50eXBlIiwgInRleHQvcGxhaW4iKTsKKworICAgIGZpcnN0RW50cnkgPSBmaXJzdERhdGFUcmFu
c2Zlckl0ZW0ud2Via2l0R2V0QXNFbnRyeSgpOworICAgIHNob3VsZEJlRmFsc2UoImZpcnN0RW50
cnkuaXNEaXJlY3RvcnkiKTsKKyAgICBzaG91bGRCZVRydWUoImZpcnN0RW50cnkuaXNGaWxlIik7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmaXJzdEVudHJ5Lm5hbWUiLCAidGVzdC50eHQi
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImZpcnN0RW50cnkuZnVsbFBhdGgiLCAiL3Rl
c3QudHh0Iik7CisKKyAgICAvLyBTZWNvbmQgaXRlbS4KKyAgICBzZWNvbmREYXRhVHJhbnNmZXJJ
dGVtID0gZGF0YVRyYW5zZmVyLml0ZW1zWzFdOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
c2Vjb25kRGF0YVRyYW5zZmVySXRlbS5raW5kIiwgImZpbGUiKTsKKyAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoInNlY29uZERhdGFUcmFuc2Zlckl0ZW0udHlwZSIsICIiKTsKKyAgICBzZWNvbmRG
aWxlID0gc2Vjb25kRGF0YVRyYW5zZmVySXRlbS5nZXRBc0ZpbGUoKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoInNlY29uZEZpbGUubmFtZSIsICJ0ZXN0RmlsZXMiKTsKKyAgICBzaG91bGRC
ZSgic2Vjb25kRmlsZS5zaXplIiwgIjIwNCIpOyAvLyBDaHJvbWUgcmV0dXJucyBmb2xkZXIgc2l6
ZSwgRmlyZWZveCByZXR1cm5zIDAuCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmRG
aWxlLnR5cGUiLCAiIik7CisKKyAgICBzZWNvbmRFbnRyeSA9IHNlY29uZERhdGFUcmFuc2Zlckl0
ZW0ud2Via2l0R2V0QXNFbnRyeSgpOworICAgIHNob3VsZEJlVHJ1ZSgic2Vjb25kRW50cnkuaXNE
aXJlY3RvcnkiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJzZWNvbmRFbnRyeS5pc0ZpbGUiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInNlY29uZEVudHJ5Lm5hbWUiLCAidGVzdEZpbGVzIik7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJzZWNvbmRFbnRyeS5mdWxsUGF0aCIsICIvdGVz
dEZpbGVzIik7CisKKyAgICBmaWxlU3lzdGVtUm9vdCA9IHNlY29uZEVudHJ5LmZpbGVzeXN0ZW0u
cm9vdDsKKyAgICBzaG91bGRCZVRydWUoImZpbGVTeXN0ZW1Sb290LmlzRGlyZWN0b3J5Iik7Cisg
ICAgc2hvdWxkQmVGYWxzZSgiZmlsZVN5c3RlbVJvb3QuaXNGaWxlIik7CisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJmaWxlU3lzdGVtUm9vdC5uYW1lIiwgIiIpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZmlsZVN5c3RlbVJvb3QuZnVsbFBhdGgiLCAiLyIpOworCisgICAgZmluaXNo
SlNUZXN0KCk7Cit9OworCitkcm9wem9uZS5vbmRyYWdvdmVyID0gZnVuY3Rpb24oZXYpIHsKKyAg
ICBldi5wcmV2ZW50RGVmYXVsdCgpOworfQorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICBk
cmFnRmlsZXNPbnRvRWxlbWVudChkcm9wem9uZSwgWycuLi8uLi9mYXN0L2Zvcm1zL3Jlc291cmNl
cy90ZXN0LnR4dCcsICcuLi8uLi9mYXN0L2Zvcm1zL2ZpbGUvcmVzb3VyY2VzL3Rlc3RGaWxlcydd
KTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvZW50cmllcy1hcGkvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAppbmRleCBl
NTA1MzQ3ZmEyMWY1NmZhMzQwMjgxMDgzNGQ3NDI5MmFlZDVjMzQxLi5lNzFiOWVlNTg0YmI3ZmIy
NDU0OTVjNTg5NDVlZDkwODNmZWUwZGY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9lbnRyaWVzLWFwaS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMjEsMTkgKzIx
LDE5IEBAIFBBU1MgRmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFjZSBvYmplY3QgbGVu
Z3RoCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
CiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgRmlsZVN5c3Rl
bURpcmVjdG9yeUVudHJ5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKLUZBSUwg
RmlsZVN5c3RlbURpcmVjdG9yeUVudHJ5IGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZVJlYWRl
cigpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Np
bmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImNyZWF0ZVJlYWRlciIg
bWlzc2luZworUEFTUyBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkgaW50ZXJmYWNlOiBvcGVyYXRp
b24gY3JlYXRlUmVhZGVyKCkgCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeSBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBnZXRGaWxlKFVTVlN0cmluZyxGaWxlU3lzdGVtRmxhZ3MsRmlsZVN5c3Rl
bUVudHJ5Q2FsbGJhY2ssRXJyb3JDYWxsYmFjaykgCiBQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlF
bnRyeSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXREaXJlY3RvcnkoVVNWU3RyaW5nLEZpbGVTeXN0
ZW1GbGFncyxGaWxlU3lzdGVtRW50cnlDYWxsYmFjayxFcnJvckNhbGxiYWNrKSAKIFBBU1MgRmls
ZVN5c3RlbUVudHJ5Q2FsbGJhY2sgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgCiBQQVNTIEZpbGVTeXN0ZW1FbnRyeUNhbGxiYWNrIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKIFBBU1MgRmlsZVN5c3RlbUVudHJ5Q2FsbGJhY2sgaW50ZXJmYWNlOiBvcGVy
YXRpb24gaGFuZGxlRXZlbnQoRmlsZVN5c3RlbUVudHJ5KSAKLUZBSUwgRmlsZVN5c3RlbURpcmVj
dG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIiIGV4cGVjdGVkIHByb3BlcnR5ICJGaWxl
U3lzdGVtRGlyZWN0b3J5UmVhZGVyIiBtaXNzaW5nCi1GQUlMIEZpbGVTeXN0ZW1EaXJlY3RvcnlS
ZWFkZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIiIG1pc3NpbmcKLUZBSUwg
RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZVN5c3RlbURp
cmVjdG9yeVJlYWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIiIG1pc3NpbmcKLUZBSUwgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlU3lz
dGVtRGlyZWN0b3J5UmVhZGVyIiBleHBlY3RlZCBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlciIgbWlzc2luZwotRkFJTCBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciIgbWlzc2luZwotRkFJTCBGaWxl
U3lzdGVtRGlyZWN0b3J5UmVhZGVyIGludGVyZmFjZTogb3BlcmF0aW9uIHJlYWRFbnRyaWVzKEZp
bGVTeXN0ZW1FbnRyaWVzQ2FsbGJhY2ssRXJyb3JDYWxsYmFjaykgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRmlsZVN5c3RlbURpcmVjdG9yeVJl
YWRlciIgZXhwZWN0ZWQgcHJvcGVydHkgIkZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIiIG1pc3Np
bmcKK1BBU1MgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBGaWxlU3lzdGVtRGlyZWN0
b3J5UmVhZGVyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBGaWxlU3lzdGVtRGlyZWN0
b3J5UmVhZGVyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRmlsZVN5c3RlbURpcmVjdG9y
eVJlYWRlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCAKK1BBU1MgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlciBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVhZEVudHJpZXMoRmlsZVN5c3RlbUVudHJpZXNDYWxs
YmFjayxFcnJvckNhbGxiYWNrKSAKIFBBU1MgRmlsZVN5c3RlbUVudHJpZXNDYWxsYmFjayBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFT
UyBGaWxlU3lzdGVtRW50cmllc0NhbGxiYWNrIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBGaWxlU3lzdGVtRW50
cmllc0NhbGxiYWNrIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKQEAgLTY1LDUg
KzY1LDUgQEAgUEFTUyBIVE1MSW5wdXRFbGVtZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2YgZmlsZV9pbnB1dAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgZmlsZV9pbnB1dCAKIFBBU1Mg
SFRNTElucHV0RWxlbWVudCBpbnRlcmZhY2U6IGZpbGVfaW5wdXQgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJ3ZWJraXRkaXJlY3RvcnkiIHdpdGggdGhlIHByb3BlciB0eXBlICgwKSAKIEZBSUwgSFRN
TElucHV0RWxlbWVudCBpbnRlcmZhY2U6IGZpbGVfaW5wdXQgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJ3ZWJraXRFbnRyaWVzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAoMSkgYXNzZXJ0X2luaGVyaXRz
OiBwcm9wZXJ0eSAid2Via2l0RW50cmllcyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgot
RkFJTCBEYXRhVHJhbnNmZXJJdGVtIGludGVyZmFjZTogb3BlcmF0aW9uIHdlYmtpdEdldEFzRW50
cnkoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNz
aW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJ3ZWJraXRHZXRBc0Vu
dHJ5IiBtaXNzaW5nCitQQVNTIERhdGFUcmFuc2Zlckl0ZW0gaW50ZXJmYWNlOiBvcGVyYXRpb24g
d2Via2l0R2V0QXNFbnRyeSgpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDVlZDU1ZTM5YTAzOWMyMThlOTA0YTU0NWQxNWQ2ZGY3YjkzMDc0YTIuLmY4
NGZhODFlMTUxZjViNzA5Nzg3MDIxMzQ1MjU3MTVkZTQ4MDA4NmYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC01NjMsNiArNTYzLDcgQEAgcGxhdGZvcm0v
bWFjL2Zhc3QvZXZlbnRzL29iamMtZXZlbnQtYXBpLmh0bWwKIAogIyBXZWJLaXRUZXN0UnVubmVy
IG5lZWRzIGFuIGltcGxlbWVudGF0aW9uIG9mIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxl
cwogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyODUKK2VkaXRp
bmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1nZXRBc0VudHJ5Lmh0bWwKIGVk
aXRpbmcvcGFzdGVib2FyZC9kYXRhdHJhbnNmZXItaXRlbXMtZHJvcC1wbGFpbnRleHQtZmlsZS5o
dG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZmlsZS1kcmFnLXRvLWVkaXRhYmxlLmh0bWwgWyBTa2lw
IF0KIGVkaXRpbmcvcGFzdGVib2FyZC9maWxlLWlucHV0LWZpbGVzLWFjY2Vzcy5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>