<?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>121511</bug_id>
          
          <creation_ts>2013-09-17 12:03:52 -0700</creation_ts>
          <short_desc>Stop explicitly using PassOwnPtr in WebCore/html</short_desc>
          <delta_ts>2013-09-17 15:03:04 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930334</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-17 12:03:52 -0700</bug_when>
    <thetext>Stop explicitly using PassOwnPtr in WebCore/html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930338</commentid>
    <comment_count>1</comment_count>
      <attachid>211930</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-17 12:05:29 -0700</bug_when>
    <thetext>Created attachment 211930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930340</commentid>
    <comment_count>2</comment_count>
      <attachid>211930</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-17 12:06:58 -0700</bug_when>
    <thetext>Comment on attachment 211930
Patch

r=me assuming it builds!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930388</commentid>
    <comment_count>3</comment_count>
      <attachid>211930</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-09-17 14:17:34 -0700</bug_when>
    <thetext>Comment on attachment 211930
Patch

Attachment 211930 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1896788</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930418</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-17 15:03:04 -0700</bug_when>
    <thetext>Committed r156004: &lt;http://trac.webkit.org/changeset/156004&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211930</attachid>
            <date>2013-09-17 12:05:29 -0700</date>
            <delta_ts>2013-09-17 14:17:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121511-20130917120529.patch</filename>
            <type>text/plain</type>
            <size>95534</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU1OTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNmMDQ2NGUzZDQxZWI4MDI1NDY2YzA2
N2U0YThhMjU3M2Y4YWNjZWEuLmVkZmQ0MThhN2QzMGNjMjc1MjVmNDkzMTUyNmFhYzk0NGMyMmUx
YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDktMTcgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIGV4cGxpY2l0bHkgdXNpbmcgUGFzc093
blB0ciBpbiBXZWJDb3JlL2h0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMTUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2Ugb3BlcmF0b3I9IHdvcmsgd29yayBmb3IgZGlmZmVyZW50IHR5cGVz
IG9mIE93blB0cnMuCisKKyAgICAgICAgKiB3dGYvT3duUHRyLmg6CisKIDIwMTMtMDktMTcgIERh
cmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgU1ZHVHJhbnNmb3Jt
Ojp2YWx1ZUFzU3RyaW5nIHVzZSBTdHJpbmdCdWlsZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDYzZDZkY2Mw
NGRmYjFjNTVjOTgxYmNjZDQyYzQzMmUxM2VhODFjNy4uZDY4OGI2OTI5MTEzNThlYjE3MGI0OTUz
YzU2NmVkYjM4Y2M0ZjE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwNiBAQAorMjAxMy0wOS0x
NyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFN0b3Ag
ZXhwbGljaXRseSB1c2luZyBQYXNzT3duUHRyIGluIFdlYkNvcmUvaHRtbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNTExCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISku
CisKKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50UmFyZURhdGE6OnNldENsYXNzTGlzdCk6CisgICAgICAgICogaHRtbC9CdXR0b25JbnB1
dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QnV0dG9uSW5wdXRUeXBlOjpjcmVhdGUpOgor
ICAgICAgICAqIGh0bWwvQnV0dG9uSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9DaGVja2Jv
eElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaGVja2JveElucHV0VHlwZTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNoZWNrYm94SW5wdXRUeXBlOjp3aWxsRGlzcGF0Y2hD
bGljayk6CisgICAgICAgICogaHRtbC9DaGVja2JveElucHV0VHlwZS5oOgorICAgICAgICAqIGh0
bWwvQ2xhc3NMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNzTGlzdDo6Y3JlYXRlKToK
KyAgICAgICAgKiBodG1sL0NsYXNzTGlzdC5oOgorICAgICAgICAqIGh0bWwvQ29sb3JJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29sb3JJbnB1dFR5cGU6OmNyZWF0ZSk6CisgICAg
ICAgICogaHRtbC9Db2xvcklucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvRGF0ZUlucHV0VHlw
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlSW5wdXRUeXBlOjpjcmVhdGUpOgorICAgICAg
ICAqIGh0bWwvRGF0ZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5
cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1dFR5cGU6OmNyZWF0ZSk6Cisg
ICAgICAgICogaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvRGF0ZVRp
bWVMb2NhbElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUxvY2FsSW5w
dXRUeXBlOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5o
OgorICAgICAgICAqIGh0bWwvRW1haWxJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RW1haWxJbnB1dFR5cGU6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9FbWFpbElucHV0VHlwZS5o
OgorICAgICAgICAqIGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
aWxlSW5wdXRUeXBlOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvRmlsZUlucHV0VHlwZS5oOgor
ICAgICAgICAqIGh0bWwvRm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZvcm1BdHRyaWJ1dGVUYXJnZXRPYnNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1s
L0Zvcm1Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNhdmVkRm9ybVN0YXRlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2F2ZWRGb3JtU3RhdGU6OmRlc2VyaWFsaXplKToK
KyAgICAgICAgKFdlYkNvcmU6OkZvcm1LZXlHZW5lcmF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpGb3JtQ29udHJvbGxlcjo6Y3JlYXRlU2F2ZWRGb3JtU3RhdGVNYXApOgorICAgICAg
ICAqIGh0bWwvRm9ybUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZvcm1Db250cm9s
bGVyOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMaXN0QXR0cmlidXRlVGFyZ2V0T2JzZXJ2ZXI6OmNyZWF0ZSk6CisgICAg
ICAgICogaHRtbC9IaWRkZW5JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlkZGVu
SW5wdXRUeXBlOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvSGlkZGVuSW5wdXRUeXBlLmg6Cisg
ICAgICAgICogaHRtbC9JbWFnZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFn
ZUlucHV0VHlwZTo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL0ltYWdlSW5wdXRUeXBlLmg6Cisg
ICAgICAgICogaHRtbC9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBl
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBlOjpjcmVhdGVUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6d2lsbERpc3BhdGNoQ2xpY2spOgorICAgICAgICAq
IGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9Nb250aElucHV0VHlwZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNb250aElucHV0VHlwZTo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1s
L01vbnRoSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TnVtYmVySW5wdXRUeXBlOjpjcmVhdGUpOgorICAgICAgICAqIGh0
bWwvTnVtYmVySW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9QYXNzd29yZElucHV0VHlwZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpQYXNzd29yZElucHV0VHlwZTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBodG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9QdWJsaWNVUkxN
YW5hZ2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpQdWJsaWNVUkxNYW5hZ2VyOjpjcmVhdGUpOgor
ICAgICAgICAqIGh0bWwvUmFkaW9JbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmFk
aW9JbnB1dFR5cGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSYWRpb0lucHV0VHlwZTo6
d2lsbERpc3BhdGNoQ2xpY2spOgorICAgICAgICAqIGh0bWwvUmFkaW9JbnB1dFR5cGUuaDoKKyAg
ICAgICAgKiBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJhbmdl
SW5wdXRUeXBlOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvUmFuZ2VJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKiBodG1sL1Jlc2V0SW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc2V0
SW5wdXRUeXBlOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvUmVzZXRJbnB1dFR5cGUuaDoKKyAg
ICAgICAgKiBodG1sL1NlYXJjaElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWFy
Y2hJbnB1dFR5cGU6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9TZWFyY2hJbnB1dFR5cGUuaDoK
KyAgICAgICAgKiBodG1sL1N1Ym1pdElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dWJtaXRJbnB1dFR5cGU6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9TdWJtaXRJbnB1dFR5cGUu
aDoKKyAgICAgICAgKiBodG1sL1RlbGVwaG9uZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpUZWxlcGhvbmVJbnB1dFR5cGU6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9UZWxlcGhv
bmVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL1RleHRJbnB1dFR5cGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VGV4dElucHV0VHlwZTo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL1RleHRJ
bnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGltZUlucHV0VHlwZTo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL1RpbWVJbnB1
dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL1VSTElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpVUkxJbnB1dFR5cGU6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9VUkxJbnB1dFR5cGUu
aDoKKyAgICAgICAgKiBodG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlZhbGlkYXRpb25NZXNzYWdlOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvVmFsaWRhdGlv
bk1lc3NhZ2UuaDoKKyAgICAgICAgKiBodG1sL1ZhbGlkaXR5U3RhdGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlZhbGlkaXR5U3RhdGU6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9XZWVrSW5wdXRU
eXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlZWtJbnB1dFR5cGU6OmNyZWF0ZSk6CisgICAg
ICAgICogaHRtbC9XZWVrSW5wdXRUeXBlLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRDo6Y3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0VYVERy
YXdCdWZmZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVYVERyYXdCdWZmZXJzOjpjcmVhdGUp
OgorICAgICAgICAqIGh0bWwvY2FudmFzL0VYVERyYXdCdWZmZXJzLmg6CisgICAgICAgICogaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYzo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9FU0VsZW1l
bnRJbmRleFVpbnQ6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvT0VTRWxlbWVudElu
ZGV4VWludC5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6T0VTU3RhbmRhcmREZXJpdmF0aXZlczo6Y3JlYXRlKToK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmg6CisgICAgICAg
ICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9F
U1RleHR1cmVGbG9hdDo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9PRVNUZXh0dXJl
RmxvYXQuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok9FU1RleHR1cmVIYWxmRmxvYXQ6OmNyZWF0ZSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUhhbGZGbG9hdC5oOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9FU1ZlcnRl
eEFycmF5T2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL09FU1ZlcnRleEFy
cmF5T2JqZWN0Lmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVy
ZUFUQy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDOjpj
cmVhdGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMu
aDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDOjpjcmVhdGUp
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5oOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDOjpjcmVhdGUpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmg6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTERlYnVnUmVuZGVyZXJJbmZvOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMRGVidWdSZW5kZXJlckluZm8uaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TERlYnVnU2hhZGVycy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTERlYnVnU2hhZGVyczo6
Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTERlYnVnU2hhZGVycy5oOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRGVwdGhUZXh0dXJlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMRGVwdGhUZXh0dXJlOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdMRGVwdGhUZXh0dXJlLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xMb3NlQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTExvc2VDb250ZXh0OjpjcmVhdGUpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMTG9zZUNvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0JhY2tncm91bmRIVE1MUGFy
c2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tncm91bmRIVE1MUGFyc2VyOjpCYWNrZ3Jv
dW5kSFRNTFBhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpCYWNrZ3JvdW5kSFRNTFBhcnNlcjo6
cmVzdW1lRnJvbSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tncm91bmRIVE1MUGFyc2VyOjpjcmVhdGUpOgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNrZ3Jv
dW5kUGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6dmFsaWRh
dGVTcGVjdWxhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpk
aXNjYXJkU3BlY3VsYXRpb25zQW5kUmVzdW1lRnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
RG9jdW1lbnRQYXJzZXI6OnByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKToK
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxF
bGVtZW50U3RhY2s6OkVsZW1lbnRSZWNvcmQ6OkVsZW1lbnRSZWNvcmQpOgorICAgICAgICAqIGh0
bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVt
ZW50U3RhY2s6OkVsZW1lbnRSZWNvcmQ6OnJlbGVhc2VOZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxFbGVtZW50U3RhY2s6OkVsZW1lbnRSZWNvcmQ6OnNldE5leHQpOgorICAgICAgICAqIGh0
bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1ldGFDaGFyc2V0UGFyc2VyOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJTY2hlZHVsZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQYXJzZXJTY2hlZHVsZXI6
OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFBhcnNlclRocmVhZC5oOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFBhcnNlclRocmVhZDo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VG9rZW5Q
cmVsb2FkU2Nhbm5lcjo6U3RhcnRUYWdTY2FubmVyOjpjcmVhdGVQcmVsb2FkUmVxdWVzdCk6Cisg
ICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFJlc291cmNlUHJlbG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxSZXNvdXJjZVByZWxvYWRlcjo6cHJlbG9hZCk6CisgICAgICAgICogaHRt
bC9wYXJzZXIvSFRNTFJlc291cmNlUHJlbG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpQcmVs
b2FkUmVxdWVzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MU2NyaXB0UnVu
bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2NyaXB0UnVubmVyOjpjcmVhdGUpOgorICAg
ICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUb2tlbi5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRv
a2VuOjpyZWxlYXNlRG9jdHlwZURhdGEpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUb2tl
bml6ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6OmNyZWF0ZSk6CisgICAg
ICAgICogaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJlZUJ1aWxkZXI6OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYU1NBdWRpdG9yOjpmaWx0ZXJUb2tlbik6CisgICAg
ICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL1hT
U0F1ZGl0b3JEZWxlZ2F0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6WFNTSW5mbzo6Y3JlYXRlKToK
KyAgICAgICAgKiBodG1sL3RyYWNrL1dlYlZUVFBhcnNlci5oOgorICAgICAgICAoV2ViQ29yZTo6
V2ViVlRUUGFyc2VyOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvdHJhY2svV2ViVlRUVG9rZW5p
emVyLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJWVFRUb2tlbml6ZXI6OmNyZWF0ZSk6CisKIDIw
MTMtMDktMTcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bmRlckJSIHNob3VsZCBub3QgYmUgUmVuZGVyVGV4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvT3duUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Pd25QdHIuaAppbmRleCAyMGJmYTZjMjcwYjc2
MjNmNDZiMTVmOWIwYzExOTQ2ZTRhNzg4NDkxLi45NmJjZTlkMGEyNTI1MzI4NGRjYjliMDQ0OTEz
Mjg3NDZjNTIyMjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Pd25QdHIuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9Pd25QdHIuaApAQCAtMTQ5LDcgKzE0OSw2IEBAIG5hbWVzcGFjZSBXVEYg
ewogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCi0jaWYgQ09NUElMRVJfU1VQUE9SVFMo
Q1hYX1JWQUxVRV9SRUZFUkVOQ0VTKQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBP
d25QdHI8VD46Ok93blB0cihPd25QdHI8VD4mJiBvKQogICAgICAgICA6IG1fcHRyKG8ubGVha1B0
cigpKQogICAgIHsKQEAgLTE2MCwyMiArMTU5LDIxIEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHsK
ICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgT3duUHRyPFQ+JiBPd25Q
dHI8VD46Om9wZXJhdG9yPShPd25QdHI8VD4mJiBvKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGlubGluZSBhdXRvIE93blB0cjxUPjo6b3BlcmF0b3I9KE93blB0ciYmIG8pIC0+IE93blB0ciYK
ICAgICB7CiAgICAgICAgIEFTU0VSVCghbyB8fCBvICE9IG1fcHRyKTsKLSAgICAgICAgYXV0byBw
dHIgPSBzdGQ6Om1vdmUobyk7CisgICAgICAgIE93blB0ciBwdHIgPSBzdGQ6Om1vdmUobyk7CiAg
ICAgICAgIHN3YXAocHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGluZSBPd25QdHI8VD4m
IE93blB0cjxUPjo6b3BlcmF0b3I9KE93blB0cjxVPiYmIG8pCisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gdGVtcGxhdGU8dHlwZW5hbWUgVT4gaW5saW5lIGF1dG8gT3duUHRyPFQ+OjpvcGVyYXRv
cj0oT3duUHRyPFU+JiYgbykgLT4gT3duUHRyJgogICAgIHsKICAgICAgICAgQVNTRVJUKCFvIHx8
IG8gIT0gbV9wdHIpOwotICAgICAgICBhdXRvIHB0ciA9IHN0ZDo6bW92ZShvKTsKKyAgICAgICAg
T3duUHRyIHB0ciA9IHN0ZDo6bW92ZShvKTsKICAgICAgICAgc3dhcChwdHIpOwogICAgICAgICBy
ZXR1cm4gKnRoaXM7CiAgICAgfQotI2VuZGlmCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBp
bmxpbmUgdm9pZCBzd2FwKE93blB0cjxUPiYgYSwgT3duUHRyPFQ+JiBiKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCA3ZTAxNjFkNTJkODUxNGI0YWRiMjU5N2Nk
ZjVlMjJhNzQyOWZlNTE3Li5iNTU2ODY3YTIyYzAyM2RjNDEwODA5NTYzMzVhOGYwODIxMjdhM2Q2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0xMDQsNyArMTA0LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0Q29tcHV0ZWRTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0eWxl
PiBjb21wdXRlZFN0eWxlKSB7IG1fY29tcHV0ZWRTdHlsZSA9IGNvbXB1dGVkU3R5bGU7IH0KIAog
ICAgIENsYXNzTGlzdCogY2xhc3NMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc0xpc3QuZ2V0
KCk7IH0KLSAgICB2b2lkIHNldENsYXNzTGlzdChQYXNzT3duUHRyPENsYXNzTGlzdD4gY2xhc3NM
aXN0KSB7IG1fY2xhc3NMaXN0ID0gY2xhc3NMaXN0OyB9CisgICAgdm9pZCBzZXRDbGFzc0xpc3Qo
T3duUHRyPENsYXNzTGlzdD4gY2xhc3NMaXN0KSB7IG1fY2xhc3NMaXN0ID0gc3RkOjptb3ZlKGNs
YXNzTGlzdCk7IH0KICAgICB2b2lkIGNsZWFyQ2xhc3NMaXN0VmFsdWVGb3JRdWlya3NNb2RlKCkK
ICAgICB7CiAgICAgICAgIGlmICghbV9jbGFzc0xpc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0J1dHRvbklucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0J1dHRv
bklucHV0VHlwZS5jcHAKaW5kZXggMWJlYTYwMTNmMjBhYTM4MjM3ZjMxMTUzZWY2OGY4MjgyMWIz
Njg4Ny4uOWNlMjgwYzg1MjRiOWFiY2FkOWM1ZDMzYjNjYTI3MjlmYTEzZmQ1YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CdXR0b25JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQnV0dG9uSW5wdXRUeXBlLmNwcApAQCAtMzYsNyArMzYsNyBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8SW5wdXRUeXBlPiBCdXR0b25JbnB1dFR5cGU6
OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQorT3duUHRyPElucHV0VHlwZT4gQnV0
dG9uSW5wdXRUeXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IEJ1dHRvbklucHV0VHlwZShlbGVtZW50KSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0J1dHRvbklucHV0VHlwZS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9CdXR0b25JbnB1dFR5cGUuaAppbmRleCBiOGI0NWRiZTBhZWVhNDI5ZjI3MzFhYjM1
MjhjNWZlNjhjMGU2NDgyLi5iNGU5NDgwNTk2ZmQzMDkzNThmOTJmOTNkODc5ZmFiMTEzNTczNWFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0J1dHRvbklucHV0VHlwZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQnV0dG9uSW5wdXRUeXBlLmgKQEAgLTM3LDcgKzM3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCdXR0b25JbnB1dFR5cGUgOiBwdWJsaWMgQmFz
ZUJ1dHRvbklucHV0VHlwZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRU
eXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOworICAgIHN0YXRpYyBPd25QdHI8SW5wdXRU
eXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOwogCiBwcml2YXRlOgogICAgIEJ1dHRvbklu
cHV0VHlwZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KSA6IEJhc2VCdXR0b25JbnB1dFR5cGUo
ZWxlbWVudCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NoZWNrYm94SW5w
dXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuY3BwCmlu
ZGV4IGUyMzNhOGY5YzgwZjNhZjA2YTBlZTgxNmJlM2RiMDNhNWVkZGJmNjYuLjhjOGNmYTIyN2Ux
ZjVjMDM0ODI2Y2RkNzU0MTk3YWQ3ODE4ODI3MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQ2hlY2tib3hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2hl
Y2tib3hJbnB1dFR5cGUuY3BwCkBAIC00MCw3ICs0MCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotUGFzc093blB0cjxJbnB1dFR5cGU+IENoZWNrYm94SW5wdXRUeXBlOjpjcmVhdGUoSFRN
TElucHV0RWxlbWVudCYgZWxlbWVudCkKK093blB0cjxJbnB1dFR5cGU+IENoZWNrYm94SW5wdXRU
eXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkKIHsKICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IENoZWNrYm94SW5wdXRUeXBlKGVsZW1lbnQpKTsKIH0KQEAgLTY4LDcgKzY4LDcg
QEAgdm9pZCBDaGVja2JveElucHV0VHlwZTo6aGFuZGxlS2V5dXBFdmVudChLZXlib2FyZEV2ZW50
KiBldmVudCkKICAgICBkaXNwYXRjaFNpbXVsYXRlZENsaWNrSWZBY3RpdmUoZXZlbnQpOwogfQog
Ci1QYXNzT3duUHRyPENsaWNrSGFuZGxpbmdTdGF0ZT4gQ2hlY2tib3hJbnB1dFR5cGU6OndpbGxE
aXNwYXRjaENsaWNrKCkKK093blB0cjxDbGlja0hhbmRsaW5nU3RhdGU+IENoZWNrYm94SW5wdXRU
eXBlOjp3aWxsRGlzcGF0Y2hDbGljaygpCiB7CiAgICAgLy8gQW4gZXZlbnQgaGFuZGxlciBjYW4g
dXNlIHByZXZlbnREZWZhdWx0IG9yICJyZXR1cm4gZmFsc2UiIHRvIHJldmVyc2UgdGhlIGNoZWNr
aW5nIHdlIGRvIGhlcmUuCiAgICAgLy8gVGhlIENsaWNrSGFuZGxpbmdTdGF0ZSBvYmplY3QgY29u
dGFpbnMgd2hhdCB3ZSBuZWVkIHRvIHVuZG8gd2hhdCB3ZSBkaWQgaGVyZSBpbiBkaWREaXNwYXRj
aENsaWNrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9DaGVja2JveElucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DaGVja2JveElucHV0VHlwZS5oCmluZGV4IGQ3N2Jm
YTY4ZGUxOWFkNTBkM2JmZDBiNDc2ODI4NzVmZmQ2ZTEyN2IuLjdlY2JkMDhiYzY0ZmMzZjAzZjgx
NTMzNzY1NGUyNGE1NjNmZDA0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2hl
Y2tib3hJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NoZWNrYm94SW5wdXRU
eXBlLmgKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDaGVj
a2JveElucHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hlY2thYmxlSW5wdXRUeXBlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
Jik7CisgICAgc3RhdGljIE93blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
Jik7CiAKIHByaXZhdGU6CiAgICAgQ2hlY2tib3hJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYg
ZWxlbWVudCkgOiBCYXNlQ2hlY2thYmxlSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQpAQCAtNDUsNyAr
NDUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoY29uc3QgU3Ry
aW5nJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJpbmcgdmFsdWVNaXNzaW5nVGV4
dCgpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVLZXl1cEV2ZW50KEtl
eWJvYXJkRXZlbnQqKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2xpY2tIYW5k
bGluZ1N0YXRlPiB3aWxsRGlzcGF0Y2hDbGljaygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgT3du
UHRyPENsaWNrSGFuZGxpbmdTdGF0ZT4gd2lsbERpc3BhdGNoQ2xpY2soKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkRGlzcGF0Y2hDbGljayhFdmVudCosIGNvbnN0IENsaWNrSGFuZGxp
bmdTdGF0ZSYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc0NoZWNrYm94KCkgY29uc3Qg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzSW5kZXRlcm1pbmF0ZUFwcGVhcmFu
Y2UoKSBjb25zdCBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2xh
c3NMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ2xhc3NMaXN0LmNwcAppbmRleCAyNTAy
MzIwYTM3ZTA3MGY3OGUwOWQxZTMwZTlmZWUzMGNiZmI4MWZlLi5jYjcxYTU2MzNjYTE3YmI2MjRj
OTIzODM0MDYwMGNiODhlN2JjZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Ns
YXNzTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuY3BwCkBAIC0z
Miw3ICszMiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc093blB0cjxDbGFzc0xp
c3Q+IENsYXNzTGlzdDo6Y3JlYXRlKEVsZW1lbnQqIGVsZW1lbnQpCitPd25QdHI8Q2xhc3NMaXN0
PiBDbGFzc0xpc3Q6OmNyZWF0ZShFbGVtZW50KiBlbGVtZW50KQogewogICAgIHJldHVybiBhZG9w
dFB0cihuZXcgQ2xhc3NMaXN0KGVsZW1lbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQ2xhc3NMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NsYXNzTGlzdC5oCmlu
ZGV4IGM2ZWZlNzRjZDZhZDAzMzRhMjBjNDFiMzU1NjBiZmI4ZjNmZjEzODEuLmI4NTA2MmU5Y2Nl
MTAyZjU4NjlmYWMyNzZmZTlkZTYzNDZmMDI0NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvQ2xhc3NMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9DbGFzc0xpc3QuaApA
QCAtMzUsNyArMzUsNyBAQCBjbGFzcyBFbGVtZW50OwogCiBjbGFzcyBDbGFzc0xpc3QgOiBwdWJs
aWMgRE9NVG9rZW5MaXN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxDbGFzc0xp
c3Q+IGNyZWF0ZShFbGVtZW50Kik7CisgICAgc3RhdGljIE93blB0cjxDbGFzc0xpc3Q+IGNyZWF0
ZShFbGVtZW50Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgT1ZFUlJJREUgRklOQUw7CiAg
ICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgT1ZFUlJJREUgRklOQUw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Q29sb3JJbnB1dFR5cGUuY3BwCmluZGV4IDI0NDYyMzM1OGQ2ZTc0MTMxZjZkM2Y2MWFjYzdkNTNj
MmQ4YWZkMzEuLmMzMjVmYzg1ZWYxMTEwMmZjNjMyZWFkM2Y4YWU3ZWZiMWM5ZWE2YmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUuY3BwCkBAIC02Niw3ICs2Niw3IEBAIHN0YXRp
YyBib29sIGlzVmFsaWRDb2xvclN0cmluZyhjb25zdCBTdHJpbmcmIHZhbHVlKQogICAgIHJldHVy
biBjb2xvci5pc1ZhbGlkKCkgJiYgIWNvbG9yLmhhc0FscGhhKCk7CiB9CiAKLVBhc3NPd25QdHI8
SW5wdXRUeXBlPiBDb2xvcklucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1l
bnQpCitPd25QdHI8SW5wdXRUeXBlPiBDb2xvcklucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVs
ZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDb2xvcklucHV0VHlw
ZShlbGVtZW50KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5w
dXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbG9ySW5wdXRUeXBlLmgKaW5kZXggNjZm
NDAwZWFjOGZlNzk1ZDY1NGI0NGEzMDE3ZGE2NjZmNGY3NGViNy4uMDBhM2Y1YjI1MTU5N2RlZDM2
OTQyYzY5NmYyOTQ4ODY5MzhkNGVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9D
b2xvcklucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sb3JJbnB1dFR5cGUu
aApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbG9ySW5w
dXRUeXBlIDogcHVibGljIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLCBwdWJsaWMgQ29s
b3JDaG9vc2VyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5
cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CisgICAgc3RhdGljIE93blB0cjxJbnB1dFR5
cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CiAgICAgdmlydHVhbCB+Q29sb3JJbnB1dFR5
cGUoKTsKIAogICAgIC8vIENvbG9yQ2hvb3NlckNsaWVudCBpbXBsZW1lbnRhdGlvbi4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDVhMmVhZTAxZTM5NmY1MDg4MzQwZDBl
MjQ2YTcxZTRmM2IxZWI4NTMuLjEyZmEwNDA5Mzk2MTgxNWQ5YWJlOTU5NmVkOTUxMmYyZTQyMDkz
ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtNTEsNyArNTEsNyBA
QCBpbmxpbmUgRGF0ZUlucHV0VHlwZTo6RGF0ZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50JiBl
bGVtZW50KQogewogfQogCi1QYXNzT3duUHRyPElucHV0VHlwZT4gRGF0ZUlucHV0VHlwZTo6Y3Jl
YXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCitPd25QdHI8SW5wdXRUeXBlPiBEYXRlSW5w
dXRUeXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkKIHsKICAgICByZXR1cm4g
YWRvcHRQdHIobmV3IERhdGVJbnB1dFR5cGUoZWxlbWVudCkpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Rh
dGVJbnB1dFR5cGUuaAppbmRleCBhOWQwNTE2OTIzOGU4NGRlODg1MzM3MDI1N2M2NzBmYjczYzY2
NTk1Li40YTBjMjNkMTllMTFmZTNkZWZlZDgwZDhlMDdkN2JjZjBlMzE5ZjJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVJbnB1dFR5cGUuaApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIERhdGVJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZUNob29zZXJPbmx5RGF0ZUFu
ZFRpbWVJbnB1dFR5cGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlw
ZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKKyAgICBzdGF0aWMgT3duUHRyPElucHV0VHlw
ZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBE
YXRlSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRl
VGltZUlucHV0VHlwZS5jcHAKaW5kZXggMDljZGU1ODM1YjMzODBhM2Q0MmI3MDhkMDFjOWU1NjU4
ZmZlN2UwZi4uMTFmN2U5ZWFiODFkYTlmY2FiOTdiOWRkNTUyOWQ4Y2Y5NTg5OWViYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAg
c3RhdGljIGNvbnN0IGludCBkYXRlVGltZURlZmF1bHRTdGVwID0gNjA7CiBzdGF0aWMgY29uc3Qg
aW50IGRhdGVUaW1lRGVmYXVsdFN0ZXBCYXNlID0gMDsKIHN0YXRpYyBjb25zdCBpbnQgZGF0ZVRp
bWVTdGVwU2NhbGVGYWN0b3IgPSAxMDAwOwogCi1QYXNzT3duUHRyPElucHV0VHlwZT4gRGF0ZVRp
bWVJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQorT3duUHRyPElu
cHV0VHlwZT4gRGF0ZVRpbWVJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVt
ZW50KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgRGF0ZVRpbWVJbnB1dFR5cGUoZWxlbWVu
dCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5oCmluZGV4IDJlOGQz
ZTAzY2U5OTUzMTE0MGI5NGNjZGMxNDBjMTM0ZTdlZDkzNDAuLjIwZjRkZGY5MWQwYjdiZWY1YTkx
MTA3MDBkZDJhNjJjYTcwNGM5MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0
ZVRpbWVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRU
eXBlLmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRl
VGltZUlucHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlw
ZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRN
TElucHV0RWxlbWVudCYpOworICAgIHN0YXRpYyBPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRN
TElucHV0RWxlbWVudCYpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IERhdGVUaW1lSW5wdXRU
eXBlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpIDogQmFzZURhdGVUaW1lSW5wdXRUeXBlKGVs
ZW1lbnQpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2Fs
SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlw
ZS5jcHAKaW5kZXggNTVhMGI1MWFiZDI2NWExZWU1NmM5NTIzYTk3NzA2NDZmN2MzNWUzZi4uNTVk
NGQwOTMwNjMyOWQ4N2Q1MjdkNzI2MTgwYTYyYjM4NzVlOTI3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCkBAIC00Niw3ICs0Niw3IEBAIHN0
YXRpYyBjb25zdCBpbnQgZGF0ZVRpbWVMb2NhbERlZmF1bHRTdGVwID0gNjA7CiBzdGF0aWMgY29u
c3QgaW50IGRhdGVUaW1lTG9jYWxEZWZhdWx0U3RlcEJhc2UgPSAwOwogc3RhdGljIGNvbnN0IGlu
dCBkYXRlVGltZUxvY2FsU3RlcFNjYWxlRmFjdG9yID0gMTAwMDsKIAotUGFzc093blB0cjxJbnB1
dFR5cGU+IERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBl
bGVtZW50KQorT3duUHRyPElucHV0VHlwZT4gRGF0ZVRpbWVMb2NhbElucHV0VHlwZTo6Y3JlYXRl
KEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBE
YXRlVGltZUxvY2FsSW5wdXRUeXBlKGVsZW1lbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKaW5kZXggMTYxNDg3MzYzMzYyZGE0M2FhMWMyNzli
YTk3YTE3NTQ1YThmMmJjYi4uNjlmMmJiYTYzOTI3YTg5MzQxNWFkNmMwZGMzMTQyZDM0NjRlMzFk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmgKQEAg
LTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEYXRlVGltZUxvY2Fs
SW5wdXRUeXBlIDogcHVibGljIEJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlIHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5w
dXRFbGVtZW50Jik7CisgICAgc3RhdGljIE93blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5w
dXRFbGVtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgRGF0ZVRpbWVMb2NhbElucHV0
VHlwZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KSA6IEJhc2VEYXRlVGltZUxvY2FsSW5wdXRU
eXBlKGVsZW1lbnQpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9FbWFpbElu
cHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0VtYWlsSW5wdXRUeXBlLmNwcAppbmRl
eCBkN2M5NjRjNTc0NWUzZDdkOTFhMjJiN2NlZWRhMjI1YmJiNjgwZjc5Li4yN2RlOGQ0NWY2ZDhm
MDBhYjY4NTZlYjZkNWNhMzRmYzYwMWVlY2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0VtYWlsSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0VtYWlsSW5w
dXRUeXBlLmNwcApAQCAtNTMsNyArNTMsNyBAQCBzdGF0aWMgYm9vbCBpc1ZhbGlkRW1haWxBZGRy
ZXNzKGNvbnN0IFN0cmluZyYgYWRkcmVzcykKICAgICByZXR1cm4gIW1hdGNoT2Zmc2V0ICYmIG1h
dGNoTGVuZ3RoID09IGFkZHJlc3NMZW5ndGg7CiB9CiAKLVBhc3NPd25QdHI8SW5wdXRUeXBlPiBF
bWFpbElucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCitPd25QdHI8
SW5wdXRUeXBlPiBFbWFpbElucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1l
bnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFbWFpbElucHV0VHlwZShlbGVtZW50KSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0VtYWlsSW5wdXRUeXBlLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0VtYWlsSW5wdXRUeXBlLmgKaW5kZXggNWYxNDdmYTI3NmNjZmYz
ZGVkODk5OWMwZTQ5OWMwOWMwNTFlM2FkMi4uZTBkMjEzMTg2ZDk5YjhlMDVjNDFlYmVkYjA4MjIw
N2YwYmI0ZGJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9FbWFpbElucHV0VHlw
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRW1haWxJbnB1dFR5cGUuaApAQCAtMzcsNyAr
MzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVtYWlsSW5wdXRUeXBlIDogcHVi
bGljIEJhc2VUZXh0SW5wdXRUeXBlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CisgICAgc3RhdGljIE93blB0cjxJ
bnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgZXhw
bGljaXQgRW1haWxJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkgOiBCYXNlVGV4
dElucHV0VHlwZShlbGVtZW50KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmlsZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3Bw
CmluZGV4IGUwMTQ4MzExYmI2ZTRkZDk5NjRlNWNiNjIzMjJjNGFkNGI3ZWZlOWQuLjM1YTg3NDFl
ZjJmYjBlNGQwYjIwZTAyZTZiZmQ2OGFmZDgyZDBlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxl
SW5wdXRUeXBlLmNwcApAQCAtODUsNyArODUsNyBAQCBjb25zdCBBdG9taWNTdHJpbmcmIFVwbG9h
ZEJ1dHRvbkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKICAgICByZXR1cm4gcHNldWRv
SWQ7CiB9CiAKLVBhc3NPd25QdHI8SW5wdXRUeXBlPiBGaWxlSW5wdXRUeXBlOjpjcmVhdGUoSFRN
TElucHV0RWxlbWVudCYgZWxlbWVudCkKK093blB0cjxJbnB1dFR5cGU+IEZpbGVJbnB1dFR5cGU6
OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQogewogICAgIHJldHVybiBhZG9wdFB0
cihuZXcgRmlsZUlucHV0VHlwZShlbGVtZW50KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0
VHlwZS5oCmluZGV4IDk5OTYzOTk1M2ZjNGY3YmI4NjQ5MGY2YjdiOThhN2ExMDMzMWM1OTYuLjE1
NDA4MmI0MDg0YzIzOTU1NGIwZjRlNmMzNmNlNDJlMWI2MzBlNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
RmlsZUlucHV0VHlwZS5oCkBAIC00NCw3ICs0NCw3IEBAIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFz
cyBGaWxlSW5wdXRUeXBlIDogcHVibGljIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLCBw
cml2YXRlIEZpbGVDaG9vc2VyQ2xpZW50LCBwcml2YXRlIEZpbGVJY29uTG9hZGVyQ2xpZW50IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5w
dXRFbGVtZW50Jik7CisgICAgc3RhdGljIE93blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5w
dXRFbGVtZW50Jik7CiAgICAgdmlydHVhbCB+RmlsZUlucHV0VHlwZSgpOwogCiAgICAgc3RhdGlj
IFZlY3RvcjxGaWxlQ2hvb3NlckZpbGVJbmZvPiBmaWxlc0Zyb21Gb3JtQ29udHJvbFN0YXRlKGNv
bnN0IEZvcm1Db250cm9sU3RhdGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Rm9ybUFzc29jaWF0ZWRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUFzc29j
aWF0ZWRFbGVtZW50LmNwcAppbmRleCBjN2RlMWVhMDQ0NWNmNWVmN2JlNmVlZmQxZDQxMWIyNzJi
Y2M3MWUyLi4xZjNjNjM3ZWEzODA0ZDQ4Mzk5ZTM5NTRiZWFjNzgyZmUyYTAzN2E1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Bc3NvY2lhdGVkRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQXNzb2NpYXRlZEVsZW1lbnQuY3BwCkBAIC00Miw3ICs0
Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBjbGFzcyBGb3JtQXR0cmlidXRlVGFy
Z2V0T2JzZXJ2ZXIgOiBJZFRhcmdldE9ic2VydmVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxGb3JtQXR0cmlidXRlVGFyZ2V0
T2JzZXJ2ZXI+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBGb3JtQXNzb2NpYXRlZEVs
ZW1lbnQqKTsKKyAgICBzdGF0aWMgT3duUHRyPEZvcm1BdHRyaWJ1dGVUYXJnZXRPYnNlcnZlcj4g
Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEZvcm1Bc3NvY2lhdGVkRWxlbWVudCopOwog
ICAgIHZpcnR1YWwgdm9pZCBpZFRhcmdldENoYW5nZWQoKSBPVkVSUklERTsKIAogcHJpdmF0ZToK
QEAgLTI3Myw3ICsyNzMsNyBAQCBib29sIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDo6aXNGb3JtQ29u
dHJvbEVsZW1lbnRXaXRoU3RhdGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotUGFz
c093blB0cjxGb3JtQXR0cmlidXRlVGFyZ2V0T2JzZXJ2ZXI+IEZvcm1BdHRyaWJ1dGVUYXJnZXRP
YnNlcnZlcjo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEZvcm1Bc3NvY2lhdGVkRWxl
bWVudCogZWxlbWVudCkKK093blB0cjxGb3JtQXR0cmlidXRlVGFyZ2V0T2JzZXJ2ZXI+IEZvcm1B
dHRyaWJ1dGVUYXJnZXRPYnNlcnZlcjo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEZv
cm1Bc3NvY2lhdGVkRWxlbWVudCogZWxlbWVudCkKIHsKICAgICByZXR1cm4gYWRvcHRQdHIobmV3
IEZvcm1BdHRyaWJ1dGVUYXJnZXRPYnNlcnZlcihpZCwgZWxlbWVudCkpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Zvcm1Db250cm9sbGVyLmNwcAppbmRleCBiOTEzYzNjNTI0NTNmNTVlMGFhYjEwN2E0
ZmVkZjgyZDNhYzgzZTZlLi4yNGEzNzM4MGM1OTljNWRlMjJkNjkzNzU5NGI0NDM2NTBlMzIxNmE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmNwcApAQCAtMTc1LDggKzE3NSw4
IEBAIGNsYXNzIFNhdmVkRm9ybVN0YXRlIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IAogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNhdmVkRm9ybVN0YXRlPiBjcmVhdGUo
KTsKLSAgICBzdGF0aWMgUGFzc093blB0cjxTYXZlZEZvcm1TdGF0ZT4gZGVzZXJpYWxpemUoY29u
c3QgVmVjdG9yPFN0cmluZz4mLCBzaXplX3QmIGluZGV4KTsKKyAgICBzdGF0aWMgT3duUHRyPFNh
dmVkRm9ybVN0YXRlPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgT3duUHRyPFNhdmVkRm9ybVN0YXRl
PiBkZXNlcmlhbGl6ZShjb25zdCBWZWN0b3I8U3RyaW5nPiYsIHNpemVfdCYgaW5kZXgpOwogICAg
IHZvaWQgc2VyaWFsaXplVG8oVmVjdG9yPFN0cmluZz4mKSBjb25zdDsKICAgICBib29sIGlzRW1w
dHkoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlRm9yTmV3Rm9ybUVsZW1lbnRzLmlzRW1wdHkoKTsg
fQogICAgIHZvaWQgYXBwZW5kQ29udHJvbFN0YXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwg
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBGb3JtQ29udHJvbFN0YXRlJik7CkBAIC0x
OTIsNyArMTkyLDcgQEAgcHJpdmF0ZToKICAgICBzaXplX3QgbV9jb250cm9sU3RhdGVDb3VudDsK
IH07CiAKLVBhc3NPd25QdHI8U2F2ZWRGb3JtU3RhdGU+IFNhdmVkRm9ybVN0YXRlOjpjcmVhdGUo
KQorT3duUHRyPFNhdmVkRm9ybVN0YXRlPiBTYXZlZEZvcm1TdGF0ZTo6Y3JlYXRlKCkKIHsKICAg
ICByZXR1cm4gYWRvcHRQdHIobmV3IFNhdmVkRm9ybVN0YXRlKTsKIH0KQEAgLTIwMiw3ICsyMDIs
NyBAQCBzdGF0aWMgYm9vbCBpc05vdEZvcm1Db250cm9sVHlwZUNoYXJhY3RlcihVQ2hhciBjaCkK
ICAgICByZXR1cm4gY2ggIT0gJy0nICYmIChjaCA+ICd6JyB8fCBjaCA8ICdhJyk7CiB9CiAKLVBh
c3NPd25QdHI8U2F2ZWRGb3JtU3RhdGU+IFNhdmVkRm9ybVN0YXRlOjpkZXNlcmlhbGl6ZShjb25z
dCBWZWN0b3I8U3RyaW5nPiYgc3RhdGVWZWN0b3IsIHNpemVfdCYgaW5kZXgpCitPd25QdHI8U2F2
ZWRGb3JtU3RhdGU+IFNhdmVkRm9ybVN0YXRlOjpkZXNlcmlhbGl6ZShjb25zdCBWZWN0b3I8U3Ry
aW5nPiYgc3RhdGVWZWN0b3IsIHNpemVfdCYgaW5kZXgpCiB7CiAgICAgaWYgKGluZGV4ID49IHN0
YXRlVmVjdG9yLnNpemUoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0yOTEsNyArMjkx
LDcgQEAgY2xhc3MgRm9ybUtleUdlbmVyYXRvciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxGb3JtS2V5R2VuZXJhdG9yPiBj
cmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgRm9ybUtleUdlbmVyYXRvcik7IH0KKyAgICBz
dGF0aWMgT3duUHRyPEZvcm1LZXlHZW5lcmF0b3I+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRy
KG5ldyBGb3JtS2V5R2VuZXJhdG9yKTsgfQogICAgIEF0b21pY1N0cmluZyBmb3JtS2V5KGNvbnN0
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUmKTsKICAgICB2b2lkIHdpbGxEZWxldGVG
b3JtKEhUTUxGb3JtRWxlbWVudCopOwogCkBAIC0zOTAsNyArMzkwLDcgQEAgc3RhdGljIFN0cmlu
ZyBmb3JtU3RhdGVTaWduYXR1cmUoKQogICAgIHJldHVybiBzaWduYXR1cmU7CiB9CiAKLVBhc3NP
d25QdHI8Rm9ybUNvbnRyb2xsZXI6OlNhdmVkRm9ybVN0YXRlTWFwPiBGb3JtQ29udHJvbGxlcjo6
Y3JlYXRlU2F2ZWRGb3JtU3RhdGVNYXAoY29uc3QgRm9ybUVsZW1lbnRMaXN0SGFzaFNldCYgY29u
dHJvbExpc3QpCitPd25QdHI8Rm9ybUNvbnRyb2xsZXI6OlNhdmVkRm9ybVN0YXRlTWFwPiBGb3Jt
Q29udHJvbGxlcjo6Y3JlYXRlU2F2ZWRGb3JtU3RhdGVNYXAoY29uc3QgRm9ybUVsZW1lbnRMaXN0
SGFzaFNldCYgY29udHJvbExpc3QpCiB7CiAgICAgT3duUHRyPEZvcm1LZXlHZW5lcmF0b3I+IGtl
eUdlbmVyYXRvciA9IEZvcm1LZXlHZW5lcmF0b3I6OmNyZWF0ZSgpOwogICAgIE93blB0cjxTYXZl
ZEZvcm1TdGF0ZU1hcD4gc3RhdGVNYXAgPSBhZG9wdFB0cihuZXcgU2F2ZWRGb3JtU3RhdGVNYXAp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQ29udHJvbGxlci5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQ29udHJvbGxlci5oCmluZGV4IDUxYmUzZWQ4M2U4ODc4YzM3
ZGNhNGNmYzdkODdkNmQ0N2NhNDBkNmIuLjJjZTk0ZGMzNDg0YTlmZTExZTdkOGE3ZmM3MTdlMDc5
ZDg2NDFkMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Zvcm1Db250cm9sbGVyLmgKQEAgLTc0LDcgKzc0
LDcgQEAgaW5saW5lIHZvaWQgRm9ybUNvbnRyb2xTdGF0ZTo6YXBwZW5kKGNvbnN0IFN0cmluZyYg
dmFsdWUpCiBjbGFzcyBGb3JtQ29udHJvbGxlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8Rm9ybUNvbnRyb2xsZXI+IGNyZWF0
ZSgpCisgICAgc3RhdGljIE93blB0cjxGb3JtQ29udHJvbGxlcj4gY3JlYXRlKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRm9ybUNvbnRyb2xsZXIpOwogICAgIH0KQEAgLTk5
LDcgKzk5LDcgQEAgcHJpdmF0ZToKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPEF0b21pY1N0
cmluZ0ltcGw+LCBPd25QdHI8U2F2ZWRGb3JtU3RhdGU+ID4gU2F2ZWRGb3JtU3RhdGVNYXA7CiAK
ICAgICBGb3JtQ29udHJvbGxlcigpOwotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNhdmVkRm9ybVN0
YXRlTWFwPiBjcmVhdGVTYXZlZEZvcm1TdGF0ZU1hcChjb25zdCBGb3JtRWxlbWVudExpc3RIYXNo
U2V0Jik7CisgICAgc3RhdGljIE93blB0cjxTYXZlZEZvcm1TdGF0ZU1hcD4gY3JlYXRlU2F2ZWRG
b3JtU3RhdGVNYXAoY29uc3QgRm9ybUVsZW1lbnRMaXN0SGFzaFNldCYpOwogICAgIEZvcm1Db250
cm9sU3RhdGUgdGFrZVN0YXRlRm9yRm9ybUVsZW1lbnQoY29uc3QgSFRNTEZvcm1Db250cm9sRWxl
bWVudFdpdGhTdGF0ZSYpOwogICAgIHN0YXRpYyB2b2lkIGZvcm1TdGF0ZXNGcm9tU3RhdGVWZWN0
b3IoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBTYXZlZEZvcm1TdGF0ZU1hcCYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBhOTFmNzdhMzYyYjJmZDQ5ZWI2
MWIyMTcxZTA1ZDVmM2MwNGY2ODVhLi5lNjcyMzJhNTVkNzIzNmJhNjgyZmU1MmI0ZTM5NjU5ODU3
ODc5OTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTky
LDcgKzkyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIGNsYXNzIExpc3RBdHRyaWJ1
dGVUYXJnZXRPYnNlcnZlciA6IElkVGFyZ2V0T2JzZXJ2ZXIgewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPExpc3RBdHRyaWJ1dGVU
YXJnZXRPYnNlcnZlcj4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEhUTUxJbnB1dEVs
ZW1lbnQqKTsKKyAgICBzdGF0aWMgT3duUHRyPExpc3RBdHRyaWJ1dGVUYXJnZXRPYnNlcnZlcj4g
Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEhUTUxJbnB1dEVsZW1lbnQqKTsKICAgICB2
aXJ0dWFsIHZvaWQgaWRUYXJnZXRDaGFuZ2VkKCkgT1ZFUlJJREU7CiAKIHByaXZhdGU6CkBAIC0x
OTA0LDcgKzE5MDQsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFdpZHRoKHVuc2lnbmVk
IHdpZHRoKQogfQogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCi1QYXNzT3duUHRyPExp
c3RBdHRyaWJ1dGVUYXJnZXRPYnNlcnZlcj4gTGlzdEF0dHJpYnV0ZVRhcmdldE9ic2VydmVyOjpj
cmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBpZCwgSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkK
K093blB0cjxMaXN0QXR0cmlidXRlVGFyZ2V0T2JzZXJ2ZXI+IExpc3RBdHRyaWJ1dGVUYXJnZXRP
YnNlcnZlcjo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaWQsIEhUTUxJbnB1dEVsZW1lbnQq
IGVsZW1lbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBMaXN0QXR0cmlidXRlVGFyZ2V0
T2JzZXJ2ZXIoaWQsIGVsZW1lbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSGlkZGVuSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRU
eXBlLmNwcAppbmRleCA1NDY5MGU1N2M3NWNiNmVmMDViOWVlYWNiYWM1MWRkMTE5NzJmZjdiLi5l
MzQ2MDE2NjY4NTllMjFhOTZkNmE2YjkyYTNjNWVmNzM5ZGY0ZTM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hpZGRlbklucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IaWRkZW5JbnB1dFR5cGUuY3BwCkBAIC00Myw3ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotUGFzc093blB0cjxJbnB1dFR5
cGU+IEhpZGRlbklucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCitP
d25QdHI8SW5wdXRUeXBlPiBIaWRkZW5JbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
JiBlbGVtZW50KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgSGlkZGVuSW5wdXRUeXBlKGVs
ZW1lbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlkZGVuSW5wdXRU
eXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hpZGRlbklucHV0VHlwZS5oCmluZGV4IDQ0N2E5
NDk4OTMxMDc2OThiOWE2YWZmMWQwYmM1YTRhNjVjOTIxYTYuLmY1MDkxY2NiNzMyNTM4NzdhMzQ3
ZTY2MWU5ZGQwYmE0M2ZmYTc2NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSGlk
ZGVuSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IaWRkZW5JbnB1dFR5cGUu
aApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhpZGRlbklu
cHV0VHlwZSA6IHB1YmxpYyBJbnB1dFR5cGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3du
UHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKKyAgICBzdGF0aWMgT3du
UHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKIAogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBIaWRkZW5JbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkgOiBJ
bnB1dFR5cGUoZWxlbWVudCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lt
YWdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3Bw
CmluZGV4IDJhM2Q4MTRlNjhiY2ZiODZhODYzYTZmOGFhMTczZjFhNmU1NTIzMzIuLmIxOWNkMGFm
NmY1NTQ2MDJmZjI2NzAxY2ExMDdiYzJjYWExODhiOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1h
Z2VJbnB1dFR5cGUuY3BwCkBAIC00NCw3ICs0NCw3IEBAIGlubGluZSBJbWFnZUlucHV0VHlwZTo6
SW1hZ2VJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkKIHsKIH0KIAotUGFzc093
blB0cjxJbnB1dFR5cGU+IEltYWdlSW5wdXRUeXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCYg
ZWxlbWVudCkKK093blB0cjxJbnB1dFR5cGU+IEltYWdlSW5wdXRUeXBlOjpjcmVhdGUoSFRNTElu
cHV0RWxlbWVudCYgZWxlbWVudCkKIHsKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEltYWdlSW5w
dXRUeXBlKGVsZW1lbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1h
Z2VJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VJbnB1dFR5cGUuaAppbmRl
eCBjNjAyMzM4MGQ2MDhlNGZkZWNhY2I0NWZlY2RjOWRkNzcyNDAzYTg5Li5mM2I1MGM0ODVmNDUx
MDkwZGFiNDdjZjg2NTUzYzM5NjU1ZTEwM2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0ltYWdlSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUlucHV0
VHlwZS5oCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW1h
Z2VJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZUJ1dHRvbklucHV0VHlwZSB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOwor
ICAgIHN0YXRpYyBPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOwog
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEltYWdlSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCA3NWU0Mjc2YTdlOTdjOGJkNTZlZWIz
NDBkODc4OGNhNmZhMDg4MzgxLi4zODY4NjhhMjBjOTU1YjZkMWVkMDI4OGI1OGE5YWRmMzZiYjM5
ZTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC04NCw3ICs4NCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwogCi10eXBlZGVmIFBhc3NPd25QdHI8SW5wdXRUeXBlPiAoKklucHV0VHlwZUZhY3Rv
cnlGdW5jdGlvbikoSFRNTElucHV0RWxlbWVudCYpOwordHlwZWRlZiBPd25QdHI8SW5wdXRUeXBl
PiAoKklucHV0VHlwZUZhY3RvcnlGdW5jdGlvbikoSFRNTElucHV0RWxlbWVudCYpOwogdHlwZWRl
ZiBIYXNoTWFwPEF0b21pY1N0cmluZywgSW5wdXRUeXBlRmFjdG9yeUZ1bmN0aW9uLCBDYXNlRm9s
ZGluZ0hhc2g+IElucHV0VHlwZUZhY3RvcnlNYXA7CiAKIHN0YXRpYyBPd25QdHI8SW5wdXRUeXBl
RmFjdG9yeU1hcD4gY3JlYXRlSW5wdXRUeXBlRmFjdG9yeU1hcCgpCkBAIC0xNDAsMTYgKzE0MCwx
NiBAQCBzdGF0aWMgT3duUHRyPElucHV0VHlwZUZhY3RvcnlNYXA+IGNyZWF0ZUlucHV0VHlwZUZh
Y3RvcnlNYXAoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLVBhc3NPd25QdHI8SW5wdXRUeXBlPiBJ
bnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50LCBjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGVOYW1lKQorT3duUHRyPElucHV0VHlwZT4gSW5wdXRUeXBlOjpjcmVhdGUoSFRN
TElucHV0RWxlbWVudCYgZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlTmFtZSkKIHsK
ICAgICBzdGF0aWMgY29uc3QgSW5wdXRUeXBlRmFjdG9yeU1hcCogZmFjdG9yeU1hcCA9IGNyZWF0
ZUlucHV0VHlwZUZhY3RvcnlNYXAoKS5sZWFrUHRyKCk7Ci0gICAgUGFzc093blB0cjxJbnB1dFR5
cGU+ICgqZmFjdG9yeSkoSFRNTElucHV0RWxlbWVudCYpID0gdHlwZU5hbWUuaXNFbXB0eSgpID8g
MCA6IGZhY3RvcnlNYXAtPmdldCh0eXBlTmFtZSk7CisgICAgT3duUHRyPElucHV0VHlwZT4gKCpm
YWN0b3J5KShIVE1MSW5wdXRFbGVtZW50JikgPSB0eXBlTmFtZS5pc0VtcHR5KCkgPyAwIDogZmFj
dG9yeU1hcC0+Z2V0KHR5cGVOYW1lKTsKICAgICBpZiAoIWZhY3RvcnkpCiAgICAgICAgIGZhY3Rv
cnkgPSBUZXh0SW5wdXRUeXBlOjpjcmVhdGU7CiAgICAgcmV0dXJuIGZhY3RvcnkoZWxlbWVudCk7
CiB9CiAKLVBhc3NPd25QdHI8SW5wdXRUeXBlPiBJbnB1dFR5cGU6OmNyZWF0ZVRleHQoSFRNTElu
cHV0RWxlbWVudCYgZWxlbWVudCkKK093blB0cjxJbnB1dFR5cGU+IElucHV0VHlwZTo6Y3JlYXRl
VGV4dChIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQogewogICAgIHJldHVybiBUZXh0SW5wdXRU
eXBlOjpjcmVhdGUoZWxlbWVudCk7CiB9CkBAIC02ODIsNyArNjgyLDcgQEAgYm9vbCBJbnB1dFR5
cGU6OmNhblNldFZhbHVlKGNvbnN0IFN0cmluZyYpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLVBh
c3NPd25QdHI8Q2xpY2tIYW5kbGluZ1N0YXRlPiBJbnB1dFR5cGU6OndpbGxEaXNwYXRjaENsaWNr
KCkKK093blB0cjxDbGlja0hhbmRsaW5nU3RhdGU+IElucHV0VHlwZTo6d2lsbERpc3BhdGNoQ2xp
Y2soKQogewogICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5k
ZXggMjQ2ZThlZjQxODE2ODBmZDUwZDFkMzM3MDZhZDRkYTQzNGZlMzBiNi4uMTZkZTJiZjEzNGM2
YjM4MGQwYTdjNjNhMjdlY2NjNGIxMmQwNGFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBA
IC04Miw4ICs4Miw4IEBAIGNsYXNzIElucHV0VHlwZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0
ZShIVE1MSW5wdXRFbGVtZW50JiwgY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgc3RhdGljIFBh
c3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQmKTsKKyAgICBz
dGF0aWMgT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmLCBjb25zdCBB
dG9taWNTdHJpbmcmKTsKKyAgICBzdGF0aWMgT3duUHRyPElucHV0VHlwZT4gY3JlYXRlVGV4dChI
VE1MSW5wdXRFbGVtZW50Jik7CiAgICAgdmlydHVhbCB+SW5wdXRUeXBlKCk7CiAKICAgICBzdGF0
aWMgYm9vbCB0aGVtZVN1cHBvcnRzRGF0YUxpc3RVSShJbnB1dFR5cGUqKTsKQEAgLTE4Niw3ICsx
ODYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQ2xpY2tFdmVudChNb3Vz
ZUV2ZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlRG93bkV2ZW50KE1vdXNlRXZl
bnQqKTsKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2xpY2tIYW5kbGluZ1N0YXRlPiB3aWxsRGlz
cGF0Y2hDbGljaygpOworICAgIHZpcnR1YWwgT3duUHRyPENsaWNrSGFuZGxpbmdTdGF0ZT4gd2ls
bERpc3BhdGNoQ2xpY2soKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzcGF0Y2hDbGljayhFdmVu
dCosIGNvbnN0IENsaWNrSGFuZGxpbmdTdGF0ZSYpOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVE
T01BY3RpdmF0ZUV2ZW50KEV2ZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUtleWRvd25F
dmVudChLZXlib2FyZEV2ZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01v
bnRoSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3Bw
CmluZGV4IGI2YzYwNWQ4M2U2ZTRiMTU5Y2YyNGM0MWVlODg3MjAyYjVhZDgzNzUuLjQ4ZWFkMWZl
OGUyNDE0YjY1NTFmNDdiMzNmNTljYjc0Y2JiNTE1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9u
dGhJbnB1dFR5cGUuY3BwCkBAIC00OSw3ICs0OSw3IEBAIHN0YXRpYyBjb25zdCBpbnQgbW9udGhE
ZWZhdWx0U3RlcCA9IDE7CiBzdGF0aWMgY29uc3QgaW50IG1vbnRoRGVmYXVsdFN0ZXBCYXNlID0g
MDsKIHN0YXRpYyBjb25zdCBpbnQgbW9udGhTdGVwU2NhbGVGYWN0b3IgPSAxOwogCi1QYXNzT3du
UHRyPElucHV0VHlwZT4gTW9udGhJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBl
bGVtZW50KQorT3duUHRyPElucHV0VHlwZT4gTW9udGhJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5w
dXRFbGVtZW50JiBlbGVtZW50KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgTW9udGhJbnB1
dFR5cGUoZWxlbWVudCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250
aElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElucHV0VHlwZS5oCmluZGV4
IGU1N2IxNmQ2YzNhMTZjYTY4MmVhYzFlYzdmZDUyZjM3MGFiOGU1YmQuLjliNTRlMGI2MDRhMWQy
M2YzOGU2MzBhY2UzMDYxMzJkMWJjZDNlZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTW9udGhJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRU
eXBlLmgKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBNb250
aElucHV0VHlwZSA6IHB1YmxpYyBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZSB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElu
cHV0RWxlbWVudCYpOworICAgIHN0YXRpYyBPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElu
cHV0RWxlbWVudCYpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IE1vbnRoSW5wdXRUeXBlKEhU
TUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpIDogQmFzZU1vbnRoSW5wdXRUeXBlKGVsZW1lbnQpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuY3BwCmluZGV4IDc2YjVhMWNkYzg3
ZmI1OTU4ZTNhN2M0OTc3OGRiMjRiM2NmNzIwYzEuLjZmNTVkZmI5YzAyNDM5NmVkODI5MDAwMzI0
ZWYyYzlmZjRhYmFhMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5w
dXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5jcHAK
QEAgLTk0LDcgKzk0LDcgQEAgc3RhdGljIFJlYWxOdW1iZXJSZW5kZXJTaXplIGNhbGN1bGF0ZVJl
bmRlclNpemUoY29uc3QgRGVjaW1hbCYgdmFsdWUpCiAgICAgcmV0dXJuIFJlYWxOdW1iZXJSZW5k
ZXJTaXplKHNpemVPZlNpZ24gKyBzaXplT2ZaZXJvICwgbnVtYmVyT2ZaZXJvQWZ0ZXJEZWNpbWFs
UG9pbnQgKyBzaXplT2ZEaWdpdHMpOwogfQogCi1QYXNzT3duUHRyPElucHV0VHlwZT4gTnVtYmVy
SW5wdXRUeXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkKK093blB0cjxJbnB1
dFR5cGU+IE51bWJlcklucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQp
CiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBOdW1iZXJJbnB1dFR5cGUoZWxlbWVudCkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5cGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTnVtYmVySW5wdXRUeXBlLmgKaW5kZXggOTc0ZDI5N2NhNGEyZjQw
YWZhZDhlODg3N2Y3Y2ZiNzRkYjViMDRjOC4uZjk5YTY2Zjc3YjQ5YTcxMzVkYmFhYjhiNzJlOTE5
ZTdhN2U0ZGRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9OdW1iZXJJbnB1dFR5
cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL051bWJlcklucHV0VHlwZS5oCkBAIC0zNyw3
ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTnVtYmVySW5wdXRUeXBlIDog
cHVibGljIFRleHRGaWVsZElucHV0VHlwZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOworICAgIHN0YXRpYyBPd25Q
dHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOwogCiBwcml2YXRlOgogICAg
IE51bWJlcklucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KSA6IFRleHRGaWVsZElu
cHV0VHlwZShlbGVtZW50KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUGFz
c3dvcmRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9QYXNzd29yZElucHV0VHlw
ZS5jcHAKaW5kZXggNjYzN2EyNWU1YTEwMTQxMGIwYjMzOGNhYjAyYWE3NTYwODBkOGE2Yi4uZmI1
N2EzYTdmNjI3ZmE3NTNkZGZhMDY5ZTFiYzliY2Y4MWU1NTQxNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9QYXNzd29yZElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9QYXNzd29yZElucHV0VHlwZS5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1QYXNzT3duUHRyPElucHV0VHlwZT4gUGFzc3dvcmRJbnB1dFR5cGU6OmNy
ZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQorT3duUHRyPElucHV0VHlwZT4gUGFzc3dv
cmRJbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQogewogICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgUGFzc3dvcmRJbnB1dFR5cGUoZWxlbWVudCkpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9QYXNzd29yZElucHV0VHlwZS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9QYXNzd29yZElucHV0VHlwZS5oCmluZGV4IDMwZDc3ZjAyM2RkY2ZjYzFmMDlk
MjQyYjFhMWZkMDVkNzI0ZTlmYTEuLmVhZjE0OGVmZTZkYzcxY2YxMjk1MTYxNzBlNjlmYzRkMzk4
MTZjMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUGFzc3dvcmRJbnB1dFR5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmgKQEAgLTM3LDcg
KzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYXNzd29yZElucHV0VHlwZSA6
IHB1YmxpYyBCYXNlVGV4dElucHV0VHlwZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOworICAgIHN0YXRpYyBPd25Q
dHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOwogCiBwcml2YXRlOgogICAg
IFBhc3N3b3JkSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpIDogQmFzZVRleHRJ
bnB1dFR5cGUoZWxlbWVudCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1B1
YmxpY1VSTE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUHVibGljVVJMTWFuYWdlci5o
CmluZGV4IGUxN2U0NmE4ZDZiYWY3ZGI2Y2E0NWRmNzgyNWIwMTc4NWIyYjZkNGYuLjA4NzE4ZDYw
ZWZhYjcwN2JlOWU5YmE0YTIxZDhhYWQzZmFkZDYyYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvUHVibGljVVJMTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUHVi
bGljVVJMTWFuYWdlci5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CiBjbGFzcyBQdWJsaWNVUkxNYW5hZ2VyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxQdWJsaWNVUkxNYW5hZ2VyPiBj
cmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgUHVibGljVVJMTWFuYWdlcik7IH0KKyAgICBz
dGF0aWMgT3duUHRyPFB1YmxpY1VSTE1hbmFnZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRy
KG5ldyBQdWJsaWNVUkxNYW5hZ2VyKTsgfQogICAgIHZvaWQgY29udGV4dERlc3Ryb3llZCgpCiAg
ICAgewogICAgICAgICBIYXNoU2V0PFN0cmluZz46Oml0ZXJhdG9yIGJsb2JVUkxzRW5kID0gbV9i
bG9iVVJMcy5lbmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0VHlwZS5jcHAKaW5kZXgg
MDA1YmU2NjNmZGJjYWIwNmNkZTJiNzY3YWY1NGUzMDEyODVlZjRmNS4uMmI4ZTk0MTJlZjdkNTY3
YWRhNmExNmViYjhiZjUwYTlkYTVmOWRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9SYWRpb0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0
VHlwZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBu
YW1lc3BhY2UgSFRNTE5hbWVzOwogCi1QYXNzT3duUHRyPElucHV0VHlwZT4gUmFkaW9JbnB1dFR5
cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQorT3duUHRyPElucHV0VHlwZT4g
UmFkaW9JbnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQogewogICAg
IHJldHVybiBhZG9wdFB0cihuZXcgUmFkaW9JbnB1dFR5cGUoZWxlbWVudCkpOwogfQpAQCAtMTQ1
LDcgKzE0NSw3IEBAIGJvb2wgUmFkaW9JbnB1dFR5cGU6OnNob3VsZFNlbmRDaGFuZ2VFdmVudEFm
dGVyQ2hlY2tlZENoYW5nZWQoKQogICAgIHJldHVybiBlbGVtZW50KCkuY2hlY2tlZCgpOwogfQog
Ci1QYXNzT3duUHRyPENsaWNrSGFuZGxpbmdTdGF0ZT4gUmFkaW9JbnB1dFR5cGU6OndpbGxEaXNw
YXRjaENsaWNrKCkKK093blB0cjxDbGlja0hhbmRsaW5nU3RhdGU+IFJhZGlvSW5wdXRUeXBlOjp3
aWxsRGlzcGF0Y2hDbGljaygpCiB7CiAgICAgLy8gQW4gZXZlbnQgaGFuZGxlciBjYW4gdXNlIHBy
ZXZlbnREZWZhdWx0IG9yICJyZXR1cm4gZmFsc2UiIHRvIHJldmVyc2UgdGhlIHNlbGVjdGlvbiB3
ZSBkbyBoZXJlLgogICAgIC8vIFRoZSBDbGlja0hhbmRsaW5nU3RhdGUgb2JqZWN0IGNvbnRhaW5z
IHdoYXQgd2UgbmVlZCB0byB1bmRvIHdoYXQgd2UgZGlkIGhlcmUgaW4gZGlkRGlzcGF0Y2hDbGlj
ay4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9JbnB1dFR5cGUuaAppbmRleCBhNWZlMzIzODY0MzA0YWU3
MWJiZjI0NTYzMmYzZGRlN2FkNmI4MjkxLi4wNWNhMTAyZjRlMTI4MmUyYzM3NmMxNjg1NGQ5OGQy
ZGIxNjllOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1JhZGlvSW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb0lucHV0VHlwZS5oCkBAIC0zNyw3ICsz
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmFkaW9JbnB1dFR5cGUgOiBwdWJs
aWMgQmFzZUNoZWNrYWJsZUlucHV0VHlwZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOworICAgIHN0YXRpYyBPd25Q
dHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCYpOwogCiBwcml2YXRlOgogICAg
IGV4cGxpY2l0IFJhZGlvSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpIDogQmFz
ZUNoZWNrYWJsZUlucHV0VHlwZShlbGVtZW50KSB7IH0KQEAgLTQ5LDcgKzQ5LDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5dXBFdmVudChLZXlib2FyZEV2ZW50KikgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVu
dCopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRTZW5kQ2hhbmdlRXZl
bnRBZnRlckNoZWNrZWRDaGFuZ2VkKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBQYXNzT3duUHRy
PENsaWNrSGFuZGxpbmdTdGF0ZT4gd2lsbERpc3BhdGNoQ2xpY2soKSBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIE93blB0cjxDbGlja0hhbmRsaW5nU3RhdGU+IHdpbGxEaXNwYXRjaENsaWNrKCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc3BhdGNoQ2xpY2soRXZlbnQqLCBjb25zdCBD
bGlja0hhbmRsaW5nU3RhdGUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSYWRpb0J1
dHRvbigpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0luZGV0ZXJt
aW5hdGVBcHBlYXJhbmNlKCkgY29uc3QgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1JhbmdlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJ
bnB1dFR5cGUuY3BwCmluZGV4IGE3ZGFlNzI5OTJlYjY0YWU3NDFlYzlmZjAzOThiYzkxYjZjNDVi
NWYuLmIwMTVjMjhlMTU3ZjNlYTY1MWFjMzAwYjZhMThjODVmZmIyMTgwOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCkBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBEZWNp
bWFsIGVuc3VyZU1heGltdW0oY29uc3QgRGVjaW1hbCYgcHJvcG9zZWRWYWx1ZSwgY29uc3QgRGVj
aW1hbCYgbWluaW11CiAgICAgcmV0dXJuIHByb3Bvc2VkVmFsdWUgPj0gbWluaW11bSA/IHByb3Bv
c2VkVmFsdWUgOiBzdGQ6Om1heChtaW5pbXVtLCBmYWxsYmFja1ZhbHVlKTsKIH0KIAotUGFzc093
blB0cjxJbnB1dFR5cGU+IFJhbmdlSW5wdXRUeXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCYg
ZWxlbWVudCkKK093blB0cjxJbnB1dFR5cGU+IFJhbmdlSW5wdXRUeXBlOjpjcmVhdGUoSFRNTElu
cHV0RWxlbWVudCYgZWxlbWVudCkKIHsKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFJhbmdlSW5w
dXRUeXBlKGVsZW1lbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFu
Z2VJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFuZ2VJbnB1dFR5cGUuaAppbmRl
eCA4MzI3ZmIyNzIxNGE5OTdiZmI5NTIyYmE1MzliZmY4ZTg4ZTVmY2Y0Li5mY2M2MTFiZTI0Nzky
M2E5OTUyOTk0Y2ZhZTI3NDJlZjM4YmM0ZTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1JhbmdlSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYW5nZUlucHV0
VHlwZS5oCkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIFNsaWRlclRodW1iRWxlbWVudDsKIAogY2xh
c3MgUmFuZ2VJbnB1dFR5cGUgOiBwdWJsaWMgSW5wdXRUeXBlIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CisgICAg
c3RhdGljIE93blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CiAKIHBy
aXZhdGU6CiAgICAgZXhwbGljaXQgUmFuZ2VJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SZXNldElucHV0VHlwZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1Jlc2V0SW5wdXRUeXBlLmNwcAppbmRleCBmZmQ4Y2MzM2Y2ODg1ZDRj
ZThiOTA1Mjg5MThlYjM2MDdjODFkMTkyLi4xMDU2ZjFjYjYxMGYxNTdkM2VmMjk0YzEwZTI4NDEx
M2U1N2IwMGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Jlc2V0SW5wdXRUeXBl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Jlc2V0SW5wdXRUeXBlLmNwcApAQCAtNDEs
NyArNDEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8SW5wdXRUeXBl
PiBSZXNldElucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCitPd25Q
dHI8SW5wdXRUeXBlPiBSZXNldElucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVs
ZW1lbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBSZXNldElucHV0VHlwZShlbGVtZW50
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Jlc2V0SW5wdXRUeXBlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Jlc2V0SW5wdXRUeXBlLmgKaW5kZXggNmRmMDVlZTc2ODky
NTkzMTIxZjZiYzU1ZjE5MWUzMmU3ZWE5ZjA2Zi4uNDVhODlhYjMzYjI5MTYzMjM3N2M5OTU0NWU5
YzY5NWU5MDE2MWMwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9SZXNldElucHV0
VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVzZXRJbnB1dFR5cGUuaApAQCAtMzcs
NyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlc2V0SW5wdXRUeXBlIDog
cHVibGljIEJhc2VCdXR0b25JbnB1dFR5cGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3du
UHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKKyAgICBzdGF0aWMgT3du
UHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKIAogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBSZXNldElucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KSA6IEJh
c2VCdXR0b25JbnB1dFR5cGUoZWxlbWVudCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElu
cHV0VHlwZS5jcHAKaW5kZXggNmU5MTZiNjhjN2EzNGZjOWY0NjUwNDNiNjBkNmIzZjg0YTM3YmIw
Yy4uOTg4ZmJjYzM5MTQ0Mzc5OTgxZjMyYzZlZDE1NGQxOTVjMTdjNDliYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcApAQCAtNTIsNyArNTIsNyBAQCBpbmxpbmUgU2Vh
cmNoSW5wdXRUeXBlOjpTZWFyY2hJbnB1dFR5cGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkK
IHsKIH0KIAotUGFzc093blB0cjxJbnB1dFR5cGU+IFNlYXJjaElucHV0VHlwZTo6Y3JlYXRlKEhU
TUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCitPd25QdHI8SW5wdXRUeXBlPiBTZWFyY2hJbnB1dFR5
cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQogewogICAgIHJldHVybiBhZG9w
dFB0cihuZXcgU2VhcmNoSW5wdXRUeXBlKGVsZW1lbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Nl
YXJjaElucHV0VHlwZS5oCmluZGV4IGFiZjMwNDhiZTQ0YTc0OGNhOWVjN2FkNjhmMDRhZjMyMTI3
YWIyODUuLjlkMTk1MDQ2ZGI3NTQ3ODc5OGEzNWE0OTA3NjQ2OTk5YWU5MjFlMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBTZWFy
Y2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OwogCiBjbGFzcyBTZWFyY2hJbnB1dFR5cGUgOiBw
dWJsaWMgQmFzZVRleHRJbnB1dFR5cGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRy
PElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKKyAgICBzdGF0aWMgT3duUHRy
PElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKIAogICAgIHZvaWQgc3RvcFNl
YXJjaEV2ZW50VGltZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJt
aXRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuY3Bw
CmluZGV4IDEwMGEwYjM5OTdjM2FiZWNkN2E2OWVkYTM3YzIwMjI0NzJjMmI5ZTAuLjY2YTJhNGZi
YzVjN2Q1NDg5ZDQxNzk1N2ViYTk4OWE5NGI1NzFmMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvU3VibWl0SW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N1
Ym1pdElucHV0VHlwZS5jcHAKQEAgLTQyLDcgKzQyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1QYXNzT3duUHRyPElucHV0VHlwZT4gU3VibWl0SW5wdXRUeXBlOjpjcmVhdGUoSFRNTElu
cHV0RWxlbWVudCYgZWxlbWVudCkKK093blB0cjxJbnB1dFR5cGU+IFN1Ym1pdElucHV0VHlwZTo6
Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBTdWJtaXRJbnB1dFR5cGUoZWxlbWVudCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3VibWl0
SW5wdXRUeXBlLmgKaW5kZXggYWMyM2JlYTFhMzQyZTNkYzI5MzhlZDkxMmUyZWY4NWJmZTZiYzFl
Ny4uZDlkODdhMTc1NDJhOTMzZDBjYzBlNDg4MzBiY2YzZjJhZjcwYTdkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9TdWJtaXRJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1N1Ym1pdElucHV0VHlwZS5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgU3VibWl0SW5wdXRUeXBlIDogcHVibGljIEJhc2VCdXR0b25JbnB1dFR5
cGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhU
TUxJbnB1dEVsZW1lbnQmKTsKKyAgICBzdGF0aWMgT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhU
TUxJbnB1dEVsZW1lbnQmKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBTdWJtaXRJbnB1dFR5
cGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkgOiBCYXNlQnV0dG9uSW5wdXRUeXBlKGVsZW1l
bnQpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZWxlcGhvbmVJbnB1dFR5
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZWxlcGhvbmVJbnB1dFR5cGUuY3BwCmluZGV4
IDk2MGMyZDk3NThiNjlmZGUwNDA1Y2U1ZDc1MDliY2NjZTYyNjc3MzkuLjJkODdkMmY4ZDdhMGI4
MTc1MTRjMzgyNTU4NWUwMzI0YTY0Zjk1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVGVsZXBob25lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RlbGVw
aG9uZUlucHV0VHlwZS5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1QYXNzT3duUHRyPElucHV0VHlwZT4gVGVsZXBob25lSW5wdXRUeXBlOjpjcmVhdGUoSFRN
TElucHV0RWxlbWVudCYgZWxlbWVudCkKK093blB0cjxJbnB1dFR5cGU+IFRlbGVwaG9uZUlucHV0
VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBUZWxlcGhvbmVJbnB1dFR5cGUoZWxlbWVudCkpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9UZWxlcGhvbmVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVGVsZXBob25lSW5wdXRUeXBlLmgKaW5kZXggNmQ0ZGQyZTQzYjVkMTE3MmUwNDc3ZmQ5
YTM3NjAyOTFjNjBhZDk0OS4uYWE0YWE1MjdhNjkzZGE1MGJiMzc2NGFiMmJiNGZmOTcwMTIxN2U5
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZWxlcGhvbmVJbnB1dFR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RlbGVwaG9uZUlucHV0VHlwZS5oCkBAIC0zNyw3ICsz
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGVsZXBob25lSW5wdXRUeXBlIDog
cHVibGljIEJhc2VUZXh0SW5wdXRUeXBlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0
cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CisgICAgc3RhdGljIE93blB0
cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CiAKIHByaXZhdGU6CiAgICAg
ZXhwbGljaXQgVGVsZXBob25lSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpIDog
QmFzZVRleHRJbnB1dFR5cGUoZWxlbWVudCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1RleHRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0SW5wdXRU
eXBlLmNwcAppbmRleCAyNDYxNDAwNjA1ZWM2OTc4OTYzOGM5M2VhYzdlY2VmMzFhMjRlNGJiLi5j
NWYzYThmYWQ1MTEzMmZmZWQxZTc1NTk5Y2VjZjgzODhkMjIxOWQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1RleHRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVGV4dElucHV0VHlwZS5jcHAKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1QYXNzT3duUHRyPElucHV0VHlwZT4g
VGV4dElucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCitPd25QdHI8
SW5wdXRUeXBlPiBUZXh0SW5wdXRUeXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVu
dCkKIHsKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFRleHRJbnB1dFR5cGUoZWxlbWVudCkpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UZXh0SW5wdXRUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1RleHRJbnB1dFR5cGUuaAppbmRleCAxZjBkN2NlNjlkMDI1Y2Y2NTEy
ODgzZWEyNDJhZjM4ODBiZGFhYzk1Li5iYTI0Y2E5MjI2MmRhNmJjMGVmYjNlYWU5OGRjZDZhZDdk
ODIyZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRJbnB1dFR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRJbnB1dFR5cGUuaApAQCAtMzcsNyArMzcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRleHRJbnB1dFR5cGUgOiBwdWJsaWMgQmFz
ZVRleHRJbnB1dFR5cGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlw
ZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKKyAgICBzdGF0aWMgT3duUHRyPElucHV0VHlw
ZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBU
ZXh0SW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpIDogQmFzZVRleHRJbnB1dFR5
cGUoZWxlbWVudCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1
dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmNwcAppbmRleCA0
ODJkNjNkYTYzNDBhZmQwYjcxYTQ5YmU5MDQxN2YzOTI4NDM0MDJkLi5lNzczOTM0OTk4MzNhMzkw
NWViNzY2YjVjM2FiMGVmNTM3MzA3M2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGltZUlucHV0VHlw
ZS5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgVGltZUlucHV0VHlwZTo6VGltZUlucHV0VHlwZShIVE1M
SW5wdXRFbGVtZW50JiBlbGVtZW50KQogewogfQogCi1QYXNzT3duUHRyPElucHV0VHlwZT4gVGlt
ZUlucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCitPd25QdHI8SW5w
dXRUeXBlPiBUaW1lSW5wdXRUeXBlOjpjcmVhdGUoSFRNTElucHV0RWxlbWVudCYgZWxlbWVudCkK
IHsKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFRpbWVJbnB1dFR5cGUoZWxlbWVudCkpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9UaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaAppbmRleCAxMjZhMmFlNDAwZTAwMTMzYTk2NmVj
ZDdjYjllOWQ0OGNlYTk5Mzk2Li4xOTU4ZDc3OThkZWUyOWY3ODdkMmZmZGEyNmQwNjQ4NWRlNmNm
OGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RpbWVJbnB1dFR5cGUuaApAQCAtMzgsNyArMzgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVJbnB1dFR5cGUgOiBwdWJsaWMgQmFzZUNo
b29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
T3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKKyAgICBzdGF0aWMg
T3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmKTsKIAogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBUaW1lSW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVVJMSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVVJMSW5wdXRUeXBlLmNwcAppbmRleCA1MDdlMWE1OTNmZDFkYjlmODRlMjg5ZmI3NjQ0
NTU0YzQzMDZlNjA0Li5lYjVhOTdiZDMzY2E5NThmOGQ0M2I5NmE4ODAzMmM2N2JmODgzM2ExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1VSTElucHV0VHlwZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9VUkxJbnB1dFR5cGUuY3BwCkBAIC0zOSw3ICszOSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc093blB0cjxJbnB1dFR5cGU+IFVSTElucHV0VHlwZTo6
Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCitPd25QdHI8SW5wdXRUeXBlPiBVUkxJ
bnB1dFR5cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQogewogICAgIHJldHVy
biBhZG9wdFB0cihuZXcgVVJMSW5wdXRUeXBlKGVsZW1lbnQpKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvVVJMSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1VS
TElucHV0VHlwZS5oCmluZGV4IGUzZWY2YjhjMjUwMGJkMmQ2YTU2ZjcyYWEyZGZkYjZiMmI4OWY5
YzguLmI3YWI2NzRhNDQ5NDg0ZGQxNmZkNDgzMjljY2EwNTkxMGFhN2M0NWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVVJMSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9VUkxJbnB1dFR5cGUuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFVSTElucHV0VHlwZSA6IHB1YmxpYyBCYXNlVGV4dElucHV0VHlwZSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxl
bWVudCYpOworICAgIHN0YXRpYyBPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxl
bWVudCYpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFVSTElucHV0VHlwZShIVE1MSW5wdXRF
bGVtZW50JiBlbGVtZW50KSA6IEJhc2VUZXh0SW5wdXRUeXBlKGVsZW1lbnQpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAppbmRleCA3NDQ2MmU5ZjQ1OTI0NDAy
YmE2OWNmY2NiNDQzNTdlOTcyYTc3ZTdlLi5iMzhjNzRjNTgwYjViYTk5MjY3NDU2Y2I4YjVhOTQw
MDE3MGM1M2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNz
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApA
QCAtNjgsNyArNjgsNyBAQCBWYWxpZGF0aW9uTWVzc2FnZTo6flZhbGlkYXRpb25NZXNzYWdlKCkK
ICAgICBkZWxldGVCdWJibGVUcmVlKCk7CiB9CiAKLVBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3Nh
Z2U+IFZhbGlkYXRpb25NZXNzYWdlOjpjcmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCogZWxl
bWVudCkKK093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gVmFsaWRhdGlvbk1lc3NhZ2U6OmNyZWF0
ZShIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBlbGVtZW50KQogewogICAgIHJldHVybiBhZG9wdFB0
cihuZXcgVmFsaWRhdGlvbk1lc3NhZ2UoZWxlbWVudCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9W
YWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IDBiODE2OGRlMWRkOWI5YzcwN2EwZDE4YzI1OWJmMTlk
M2ZkNjY1ODAuLmU5YWFiNDNlYzgzYmNmMTgzMTQ2YTYwOGEzY2E0NWU5YjRmYzhjZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgY2xh
c3MgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQ7CiBjbGFzcyBWYWxpZGF0aW9uTWVzc2FnZSB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRhdGlvbk1lc3NhZ2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVz
c2FnZT4gY3JlYXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKKyAgICBzdGF0aWMgT3duUHRy
PFZhbGlkYXRpb25NZXNzYWdlPiBjcmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCopOwogICAg
IH5WYWxpZGF0aW9uTWVzc2FnZSgpOwogICAgIHZvaWQgdXBkYXRlVmFsaWRhdGlvbk1lc3NhZ2Uo
Y29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCByZXF1ZXN0VG9IaWRlTWVzc2FnZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAppbmRleCA0NTI3MzlhNzczNzhiOTM4OGU4ZTViZmJiZGY2
OTdmMDg2YTdlYjcwLi4wYzJhYTY4ZTRhOWVhNjdjMmYyYTFiOWM4OTczMzRiNjAwOWQ3ODc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBWYWxpZGl0eVN0YXRlIDogcHVibGljIFNjcmlwdFdyYXBwYWJs
ZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkaXR5U3Rh
dGU+IGNyZWF0ZShGb3JtQXNzb2NpYXRlZEVsZW1lbnQqIGNvbnRyb2wpCisgICAgc3RhdGljIE93
blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9s
KQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBWYWxpZGl0eVN0YXRlKGNvbnRy
b2wpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcAppbmRleCA0YWVk
MGZiNmUyMWM5YjhjZDYwMGViMDZlMWI5ZmFhYWZlNjc4ODk2Li41MTlkZjVhNDQ1MTM4Mjk2ZjI2
OWJhNmYxMjVkYjVmYmJmODA2NDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dl
ZWtJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5j
cHAKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RhdGljIGNvbnN0IGludCB3ZWVrRGVmYXVsdFN0ZXBCYXNl
ID0gLTI1OTIwMDAwMDsgLy8gVGhlIGZpcnN0IGRheSBvZiAxOTcwLVcwMS4KIHN0YXRpYyBjb25z
dCBpbnQgd2Vla0RlZmF1bHRTdGVwID0gMTsKIHN0YXRpYyBjb25zdCBpbnQgd2Vla1N0ZXBTY2Fs
ZUZhY3RvciA9IDYwNDgwMDAwMDsKIAotUGFzc093blB0cjxJbnB1dFR5cGU+IFdlZWtJbnB1dFR5
cGU6OmNyZWF0ZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KQorT3duUHRyPElucHV0VHlwZT4g
V2Vla0lucHV0VHlwZTo6Y3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBXZWVrSW5wdXRUeXBlKGVsZW1lbnQpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9XZWVrSW5wdXRUeXBlLmgKaW5kZXggMzUxNzQ4NGUxNzJiZTdhMmU3NDQyMmQ5OTdjY2Vm
NTVmMjVhZGZkMy4uY2FlNzllOTFiYjlhMDdiYTY0ZDQwM2E0NGU2NmY5ZTgxNTllMmIyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9XZWVrSW5wdXRUeXBlLmgKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBXZWVrSW5wdXRUeXBlIDogcHVibGljIEJhc2VDaG9vc2VyT25s
eURhdGVBbmRUaW1lSW5wdXRUeXBlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CisgICAgc3RhdGljIE93blB0cjxJ
bnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50Jik7CiAKIHByaXZhdGU6CiAgICAgZXhw
bGljaXQgV2Vla0lucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50JiBlbGVtZW50KSA6IEJhc2VDaG9v
c2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlKGVsZW1lbnQpIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5k
ZXggNTZmZjAzYjdlY2E5Y2NhYjlkNmE4MGYxODA3MTM0Mzg2MDA2YTU0MS4uZTNjMmY1ZTQyMTdk
NDI2YmQ4Yzg3ZWU3MjA0MDFhZjNmMjczNzc5OSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCkBAIC0xNTQ5LDcg
KzE1NDksNyBAQCB0ZW1wbGF0ZTxjbGFzcyBUPiBJbnRSZWN0IENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRDo6Y2FsY3VsYXRlQ29tcG9zaXRpbmdCdWZmZXJSZQogICAgIHJldHVybiBidWZmZXJSZWN0
OwogfQogCi1QYXNzT3duUHRyPEltYWdlQnVmZmVyPiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6
OmNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKGNvbnN0IEludFJlY3QmIGJ1ZmZlclJlY3QpCitPd25Q
dHI8SW1hZ2VCdWZmZXI+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlQ29tcG9zaXRp
bmdCdWZmZXIoY29uc3QgSW50UmVjdCYgYnVmZmVyUmVjdCkKIHsKICAgICBSZW5kZXJpbmdNb2Rl
IHJlbmRlck1vZGUgPSBpc0FjY2VsZXJhdGVkKCkgPyBBY2NlbGVyYXRlZCA6IFVuYWNjZWxlcmF0
ZWQ7CiAgICAgcmV0dXJuIEltYWdlQnVmZmVyOjpjcmVhdGUoYnVmZmVyUmVjdC5zaXplKCksIDEs
IENvbG9yU3BhY2VEZXZpY2VSR0IsIHJlbmRlck1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAppbmRleCBlMTIyZjVl
NDhhYjk4MjI3MmRmMTQxMzM0ZmI5Mzg4MGY0NTVkZGI1Li5kMTY3YTdkODcxMTMwOTcwZTJlOWVm
MzYxZDViNDAxZDVkYjRkZWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaApAQCAtNjEsNyArNjEsNyBAQCB0eXBlZGVm
IGludCBFeGNlcHRpb25Db2RlOwogCiBjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgOiBw
dWJsaWMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCwgcHVibGljIENhbnZhc1BhdGhNZXRob2RzIHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+
IGNyZWF0ZShIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBib29sIHVzZXNDU1NDb21wYXRpYmls
aXR5UGFyc2VNb2RlLCBib29sIHVzZXNEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSkKKyAgICBz
dGF0aWMgT3duUHRyPENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRD4gY3JlYXRlKEhUTUxDYW52YXNF
bGVtZW50KiBjYW52YXMsIGJvb2wgdXNlc0NTU0NvbXBhdGliaWxpdHlQYXJzZU1vZGUsIGJvb2wg
dXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQoY2FudmFzLCB1c2VzQ1NTQ29tcGF0
aWJpbGl0eVBhcnNlTW9kZSwgdXNlc0Rhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKSk7CiAgICAg
fQpAQCAtMzEyLDcgKzMxMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCByZWN0Q29udGFpbnNDYW52
YXMoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7CiAKICAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBJbnRS
ZWN0IGNhbGN1bGF0ZUNvbXBvc2l0aW5nQnVmZmVyUmVjdChjb25zdCBUJiwgSW50U2l6ZSopOwot
ICAgIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKGNvbnN0
IEludFJlY3QmKTsKKyAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUNvbXBvc2l0aW5nQnVm
ZmVyKGNvbnN0IEludFJlY3QmKTsKICAgICB2b2lkIGNvbXBvc2l0ZUJ1ZmZlcihJbWFnZUJ1ZmZl
ciosIGNvbnN0IEludFJlY3QmLCBDb21wb3NpdGVPcGVyYXRvcik7CiAKICAgICB2b2lkIGluZmxh
dGVTdHJva2VSZWN0KEZsb2F0UmVjdCYpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvRVhURHJhd0J1ZmZlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvRVhURHJhd0J1ZmZlcnMuY3BwCmluZGV4IDNiMmEwMGUzNmMxYTc0N2MwYzA5ZGVjNTU3
NDA5NzA2YjI3MGVhOGMuLjFhMmJiZjFhOTI1Njg3Y2RjYWMxYmRiOWY5ODNjYjYzNTIyZGY1NTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0VYVERyYXdCdWZmZXJzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9FWFREcmF3QnVmZmVycy5jcHAKQEAg
LTQ3LDcgKzQ3LDcgQEAgV2ViR0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUgRVhURHJhd0J1ZmZl
cnM6OmdldE5hbWUoKSBjb25zdAogICAgIHJldHVybiBXZWJHTEV4dGVuc2lvbjo6RVhURHJhd0J1
ZmZlcnNOYW1lOwogfQogCi1QYXNzT3duUHRyPEVYVERyYXdCdWZmZXJzPiBFWFREcmF3QnVmZmVy
czo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK093blB0cjxFWFREcmF3
QnVmZmVycz4gRVhURHJhd0J1ZmZlcnM6OmNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNv
bnRleHQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFWFREcmF3QnVmZmVycyhjb250ZXh0
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9FWFREcmF3QnVm
ZmVycy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhURHJhd0J1ZmZlcnMuaAppbmRl
eCA1ODFlZTc0ODM0NjdmNjViMzAzMDE1MGI0NzYyMDYxNTY1ODM4ODkwLi5iMTM0NzI4YWQxYzZl
NGE1MjJlNDIxZmNhYmZkMzM2NmVkNTllZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9FWFREcmF3QnVmZmVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0VYVERyYXdCdWZmZXJzLmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBFWFREcmF3QnVmZmVycyA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RVhURHJhd0J1ZmZlcnM+IGNyZWF0ZShXZWJHTFJl
bmRlcmluZ0NvbnRleHQqKTsKKyAgICBzdGF0aWMgT3duUHRyPEVYVERyYXdCdWZmZXJzPiBjcmVh
dGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0ZWQo
V2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuY3BwCmluZGV4IDI2NTM4
ZTk0ZTY4MWQxNzBhZWI1YWI4OGNkOTlkZmVkODZkZmJmZGYuLjhhZTI0OTQ1Njc4ZTE5ZWJiZGE1
NmVlNmVhZjcwMGNlYmU5Yjk2MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcApAQCAtNDUsNyArNDUs
NyBAQCBXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBFWFRUZXh0dXJlRmlsdGVyQW5pc290
cm9waWM6OmdldE5hbWUoKSBjb25zdAogICAgIHJldHVybiBFWFRUZXh0dXJlRmlsdGVyQW5pc290
cm9waWNOYW1lOwogfQogCi1QYXNzT3duUHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4g
RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0
KiBjb250ZXh0KQorT3duUHRyPEVYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYz4gRVhUVGV4dHVy
ZUZpbHRlckFuaXNvdHJvcGljOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0
KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGlj
KGNvbnRleHQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0VY
VFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmgKaW5kZXggYmYwZDM3YzljZmY4MTFhYzdjODlh
NmJjNzI1ZjRmMTFlYjUzZGZmMC4uNDk2NWMwNjY3YzJhNmNkMTZlZWM2NmVkZDZlNzg5ZjNlZWYz
Y2IxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZp
bHRlckFuaXNvdHJvcGljLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4
dHVyZUZpbHRlckFuaXNvdHJvcGljLmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBFWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMgOiBwdWJsaWMgV2ViR0xF
eHRlbnNpb24gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEVYVFRleHR1cmVGaWx0
ZXJBbmlzb3Ryb3BpYz4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworICAgIHN0YXRp
YyBPd25QdHI8RVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljPiBjcmVhdGUoV2ViR0xSZW5kZXJp
bmdDb250ZXh0Kik7CiAKICAgICB2aXJ0dWFsIH5FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMo
KTsKICAgICB2aXJ0dWFsIEV4dGVuc2lvbk5hbWUgZ2V0TmFtZSgpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcAppbmRleCBm
OWRmMGJjMTVjMzkxNjE3Y2Q5MGI3ZjI0ZDc1ODQxY2UxMjIxOTg4Li42NjAyNDE1M2FmYzc0MmFh
NjRhZDhiZGQ0ZDk3NDhiY2MxNzA4MzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcApAQCAtNDUsNyArNDUsNyBAQCBXZWJHTEV4
dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBPRVNFbGVtZW50SW5kZXhVaW50OjpnZXROYW1lKCkgY29u
c3QKICAgICByZXR1cm4gT0VTRWxlbWVudEluZGV4VWludE5hbWU7CiB9CiAKLVBhc3NPd25QdHI8
T0VTRWxlbWVudEluZGV4VWludD4gT0VTRWxlbWVudEluZGV4VWludDo6Y3JlYXRlKFdlYkdMUmVu
ZGVyaW5nQ29udGV4dCogY29udGV4dCkKK093blB0cjxPRVNFbGVtZW50SW5kZXhVaW50PiBPRVNF
bGVtZW50SW5kZXhVaW50OjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQog
ewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgT0VTRWxlbWVudEluZGV4VWludChjb250ZXh0KSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5k
ZXhVaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50
LmgKaW5kZXggYzJkNDI4NzNhMjA1NGQwNTg4M2E3MzkzODExNjgzZjkxOGVlZWJjNC4uN2Y1Yzg2
MzVhMTFkZjlhZmE1M2M4OGNjZTliZjc5MTgwNTRhNGRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL09FU0VsZW1lbnRJbmRleFVpbnQuaApAQCAtMzMsNyArMzMsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE9FU0VsZW1lbnRJbmRleFVpbnQgOiBwdWJsaWMg
V2ViR0xFeHRlbnNpb24gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPE9FU0VsZW1l
bnRJbmRleFVpbnQ+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKKyAgICBzdGF0aWMg
T3duUHRyPE9FU0VsZW1lbnRJbmRleFVpbnQ+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQq
KTsKIAogICAgIHZpcnR1YWwgfk9FU0VsZW1lbnRJbmRleFVpbnQoKTsKICAgICB2aXJ0dWFsIEV4
dGVuc2lvbk5hbWUgZ2V0TmFtZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcAppbmRleCBhOTFjMTkzZDViMTJl
YjNmNjY5YmU1OTlhOTMzYTNkNWE2NjkzM2FkLi4wZjJjODc2Yzc1YWViNDExZGRlZjc2N2UyMWE0
NDkyNjU2NjBkZjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNT
dGFuZGFyZERlcml2YXRpdmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9P
RVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcApAQCAtNDUsNyArNDUsNyBAQCBXZWJHTEV4dGVuc2lv
bjo6RXh0ZW5zaW9uTmFtZSBPRVNTdGFuZGFyZERlcml2YXRpdmVzOjpnZXROYW1lKCkgY29uc3QK
ICAgICByZXR1cm4gT0VTU3RhbmRhcmREZXJpdmF0aXZlc05hbWU7CiB9CiAKLVBhc3NPd25QdHI8
T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gT0VTU3RhbmRhcmREZXJpdmF0aXZlczo6Y3JlYXRlKFdl
YkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK093blB0cjxPRVNTdGFuZGFyZERlcml2YXRp
dmVzPiBPRVNTdGFuZGFyZERlcml2YXRpdmVzOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0
KiBjb250ZXh0KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgT0VTU3RhbmRhcmREZXJpdmF0
aXZlcyhjb250ZXh0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9P
RVNTdGFuZGFyZERlcml2YXRpdmVzLmgKaW5kZXggYWYyZWExNGI5N2RiNTg2OGFiMDYxZDZiNDEz
MTdiNDA0ZmJkM2U2YS4uMGI2YjUxZmNmMDBjMmVhOTYzNTFjNTZjZjhkOGMwMGU1NTRjZDU3YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0
aXZlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZh
dGl2ZXMuaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE9F
U1N0YW5kYXJkRGVyaXZhdGl2ZXMgOiBwdWJsaWMgV2ViR0xFeHRlbnNpb24gewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzT3duUHRyPE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXM+IGNyZWF0ZShXZWJH
TFJlbmRlcmluZ0NvbnRleHQqKTsKKyAgICBzdGF0aWMgT3duUHRyPE9FU1N0YW5kYXJkRGVyaXZh
dGl2ZXM+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKIAogICAgIHZpcnR1YWwgfk9F
U1N0YW5kYXJkRGVyaXZhdGl2ZXMoKTsKICAgICB2aXJ0dWFsIEV4dGVuc2lvbk5hbWUgZ2V0TmFt
ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4
dHVyZUZsb2F0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9h
dC5jcHAKaW5kZXggM2JhMTUwYjA3ZDY1MjkyNDYwNTlkZTliMDdmODM1MGVjYTU0ZDhlNy4uMjIz
MTM2YzQyN2M5MGRjYmFmNzkwYTdhMzZlYTM0ZjEwNzU4NjFhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwCkBAIC00NSw3ICs0NSw3IEBAIFdl
YkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIE9FU1RleHR1cmVGbG9hdDo6Z2V0TmFtZSgpIGNv
bnN0CiAgICAgcmV0dXJuIE9FU1RleHR1cmVGbG9hdE5hbWU7CiB9CiAKLVBhc3NPd25QdHI8T0VT
VGV4dHVyZUZsb2F0PiBPRVNUZXh0dXJlRmxvYXQ6OmNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRl
eHQqIGNvbnRleHQpCitPd25QdHI8T0VTVGV4dHVyZUZsb2F0PiBPRVNUZXh0dXJlRmxvYXQ6OmNy
ZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBPRVNUZXh0dXJlRmxvYXQoY29udGV4dCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaAppbmRleCAyMWRhMzFjMDhmMTBjMjdiODk3OTdj
ZTE5ZjU3NTA5ODkzMTE0ODcwLi44ZWQwMDg3N2ExODM2ZmEyNDA0ODVjNTVlNDlkYTUwNGM1MTNh
YWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxv
YXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaApA
QCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE9FU1RleHR1cmVG
bG9hdCA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NP
d25QdHI8T0VTVGV4dHVyZUZsb2F0PiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7Cisg
ICAgc3RhdGljIE93blB0cjxPRVNUZXh0dXJlRmxvYXQ+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0Nv
bnRleHQqKTsKIAogICAgIHZpcnR1YWwgfk9FU1RleHR1cmVGbG9hdCgpOwogICAgIHZpcnR1YWwg
RXh0ZW5zaW9uTmFtZSBnZXROYW1lKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuY3BwCmluZGV4IDBiZGYwMTZmOWMxMGI5MWRl
Yzk3MjYwMzRjNTc4NDUxYTZlZTM4MzguLmZkMmUyNWJkMmZmMjk3MDkwYjYyZDZiODEzMDc0NTgw
Yzg2YzIyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1
cmVIYWxmRmxvYXQuY3BwCkBAIC00NSw3ICs0NSw3IEBAIFdlYkdMRXh0ZW5zaW9uOjpFeHRlbnNp
b25OYW1lIE9FU1RleHR1cmVIYWxmRmxvYXQ6OmdldE5hbWUoKSBjb25zdAogICAgIHJldHVybiBP
RVNUZXh0dXJlSGFsZkZsb2F0TmFtZTsKIH0KIAotUGFzc093blB0cjxPRVNUZXh0dXJlSGFsZkZs
b2F0PiBPRVNUZXh0dXJlSGFsZkZsb2F0OjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBj
b250ZXh0KQorT3duUHRyPE9FU1RleHR1cmVIYWxmRmxvYXQ+IE9FU1RleHR1cmVIYWxmRmxvYXQ6
OmNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBPRVNUZXh0dXJlSGFsZkZsb2F0KGNvbnRleHQpKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaAppbmRleCA0MDk3ODE5
OTA1OGFkOTI3YWQwYjgyYmViMDFjZDUyM2QwNzM2OTA3Li4yNDZkZWZhZGMzOGNmNDkwOTdmYWFm
MzU3YWMyYWIxMWRkMmZhNjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9PRVNUZXh0dXJlSGFsZkZsb2F0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
T0VTVGV4dHVyZUhhbGZGbG9hdC5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgT0VTVGV4dHVyZUhhbGZGbG9hdCA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8T0VTVGV4dHVyZUhhbGZGbG9hdD4gY3Jl
YXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworICAgIHN0YXRpYyBPd25QdHI8T0VTVGV4dHVy
ZUhhbGZGbG9hdD4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwogCiAgICAgdmlydHVh
bCB+T0VTVGV4dHVyZUhhbGZGbG9hdCgpOwogICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFtZSBnZXRO
YW1lKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNW
ZXJ0ZXhBcnJheU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0
ZXhBcnJheU9iamVjdC5jcHAKaW5kZXggZDlhMzk1NjBkYTRlNzAzNmMyMGZkNTUxY2FmZTUzNmQ4
OWFjZjQyNi4uNjg3YzU1ODU2OTQxNmQ2OTQ4NTc3NDM1MDlmYzdjNTZmNjE0ZTNiYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmNw
cApAQCAtNDksNyArNDksNyBAQCBXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBPRVNWZXJ0
ZXhBcnJheU9iamVjdDo6Z2V0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuIE9FU1ZlcnRleEFycmF5
T2JqZWN0TmFtZTsKIH0KIAotUGFzc093blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVjdD4gT0VTVmVy
dGV4QXJyYXlPYmplY3Q6OmNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCitP
d25QdHI8T0VTVmVydGV4QXJyYXlPYmplY3Q+IE9FU1ZlcnRleEFycmF5T2JqZWN0OjpjcmVhdGUo
V2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQogewogICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgT0VTVmVydGV4QXJyYXlPYmplY3QoY29udGV4dCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVmVydGV4QXJyYXlPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmgKaW5kZXggMjY1ZWQ1NWM4Njlj
MTNmNmZjN2E1YTQ5YTNmZjZhYTViOGVkYmRmZS4uNThjYzBhMTJmZTI2ZGQ3Yjk5NTc4NDIyNGJl
OTNjMzI2Yzk1M2U0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VT
VmVydGV4QXJyYXlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNW
ZXJ0ZXhBcnJheU9iamVjdC5oCkBAIC0zOSw3ICszOSw3IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlv
bkNvZGU7CiAKIGNsYXNzIE9FU1ZlcnRleEFycmF5T2JqZWN0IDogcHVibGljIFdlYkdMRXh0ZW5z
aW9uIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxPRVNWZXJ0ZXhBcnJheU9iamVj
dD4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworICAgIHN0YXRpYyBPd25QdHI8T0VT
VmVydGV4QXJyYXlPYmplY3Q+IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKIAogICAg
IHZpcnR1YWwgfk9FU1ZlcnRleEFycmF5T2JqZWN0KCk7CiAgICAgdmlydHVhbCBFeHRlbnNpb25O
YW1lIGdldE5hbWUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAKaW5kZXggZDU1ODYzNjA0ZTNmNjAx
M2IyZWIzYTk0NjlkZDcyOTdiZjgxZjE0ZC4uNzE4ODFiYTA5OTIwODljYjQwYTY1ZDhhYmVhMTU3
NzMyZWYwMjkwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAKQEAgLTUwLDcgKzUwLDcgQEAgV2ViR0xFeHRl
bnNpb246OkV4dGVuc2lvbk5hbWUgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6Z2V0TmFtZSgp
IGNvbnN0CiAgICAgcmV0dXJuIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVENOYW1lOwogfQogCi1Q
YXNzT3duUHRyPFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEM+IFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEM6OmNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCitPd25QdHI8V2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQz4gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQzo6Y3JlYXRl
KFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKIHsKICAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMoY29udGV4dCkpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oCmlu
ZGV4IGUwNWY0ODE0N2NkOGJlOWUxYzU3OGRkMWY2ZTAzOTEzOTU5YmZlYjYuLjE2N2IzODJjNDgw
ZDI0NDM3M2YxMmY5Yzk3MmI2NmEyNDQxNzU5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmgKQEAgLTM1LDcgKzM1
LDcgQEAgY2xhc3MgV2ViR0xUZXh0dXJlOwogCiBjbGFzcyBXZWJHTENvbXByZXNzZWRUZXh0dXJl
QVRDIDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093
blB0cjxXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDPiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250
ZXh0Kik7CisgICAgc3RhdGljIE93blB0cjxXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDPiBjcmVh
dGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0ZWQo
V2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwCmluZGV4IGQ0NTky
MGU3ZjE1ODU4MTdmYzdkYmNjYzZiNzQyODg0OWFlZWQ1OTQuLmQwNWQ0MTc4YjU2ZDJmODIxYzNi
MjgxZWNkZGIzOTFjMTg4YzJiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcApAQCAtNTIsNyArNTIs
NyBAQCBXZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBXZWJHTENvbXByZXNzZWRUZXh0dXJl
UFZSVEM6OmdldE5hbWUoKSBjb25zdAogICAgIHJldHVybiBXZWJHTENvbXByZXNzZWRUZXh0dXJl
UFZSVENOYW1lOwogfQogCi1QYXNzT3duUHRyPFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQz4g
V2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0
KiBjb250ZXh0KQorT3duUHRyPFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQz4gV2ViR0xDb21w
cmVzc2VkVGV4dHVyZVBWUlRDOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0
KQogewogICAgIHJldHVybiBhZG9wdFB0cihuZXcgV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRD
KGNvbnRleHQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmgKaW5kZXggZDdlNGUyZWRhNmFjNzAwMzA5ZmZi
ZTFkNDhjYjg5ZjQ2ZTY0NDRiZi4uYjBjOTQwNjJjY2E2YzdiZTMxOWQwMGY0OWUxN2IzYTYwM2Fm
M2Q2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVz
c2VkVGV4dHVyZVBWUlRDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xD
b21wcmVzc2VkVGV4dHVyZVBWUlRDLmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMgOiBwdWJsaWMgV2ViR0xF
eHRlbnNpb24gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFdlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVQVlJUQz4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworICAgIHN0YXRp
YyBPd25QdHI8V2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDPiBjcmVhdGUoV2ViR0xSZW5kZXJp
bmdDb250ZXh0Kik7CiAKICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0ZWQoV2ViR0xSZW5kZXJpbmdD
b250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
Q29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmNwcAppbmRleCBiNjA4OGViMzYxYzM4NDliZDM1NDQ1
ZDI5NmRmNjExZGY5ZjRlYWI4Li5iY2YxYTMyNjc4NjFiZTAyZDMyNmZlMTIzNWYzYmNlYzc2MWIy
ODc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNz
ZWRUZXh0dXJlUzNUQy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xD
b21wcmVzc2VkVGV4dHVyZVMzVEMuY3BwCkBAIC01Miw3ICs1Miw3IEBAIFdlYkdMRXh0ZW5zaW9u
OjpFeHRlbnNpb25OYW1lIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDOjpnZXROYW1lKCkgY29u
c3QKICAgICByZXR1cm4gV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVENOYW1lOwogfQogCi1QYXNz
T3duUHRyPFdlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDPiBXZWJHTENvbXByZXNzZWRUZXh0dXJl
UzNUQzo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKK093blB0cjxXZWJH
TENvbXByZXNzZWRUZXh0dXJlUzNUQz4gV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEM6OmNyZWF0
ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBXZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQyhjb250ZXh0KSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMu
aAppbmRleCA5MzYxMDk5NTExNmE1ZDc5MTA5NzBmYzg1YzAwNjM3ZGU4MzcxZjdlLi4yMDJmODI4
ZTM1NzRmNDZlZDI2NmQ3MDhiYmU0ZWI2ZmExZTA3YTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmgKQEAgLTM1
LDcgKzM1LDcgQEAgY2xhc3MgV2ViR0xUZXh0dXJlOwogCiBjbGFzcyBXZWJHTENvbXByZXNzZWRU
ZXh0dXJlUzNUQyA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NPd25QdHI8V2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEM+IGNyZWF0ZShXZWJHTFJlbmRl
cmluZ0NvbnRleHQqKTsKKyAgICBzdGF0aWMgT3duUHRyPFdlYkdMQ29tcHJlc3NlZFRleHR1cmVT
M1RDPiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKICAgICBzdGF0aWMgYm9vbCBz
dXBwb3J0ZWQoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVidWdSZW5kZXJlckluZm8uY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAKaW5kZXggZjU3MTVi
NjgxMjcwMzBhOWFmODFmYzljZWZlODVmM2VjZGEwY2FjMC4uMmZlNWYxNzFkNmE2MTIzMGFhMWE2
YzY4MDU5NTMwNDZlZTAxNzI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgV2ViR0xF
eHRlbnNpb246OkV4dGVuc2lvbk5hbWUgV2ViR0xEZWJ1Z1JlbmRlcmVySW5mbzo6Z2V0TmFtZSgp
IGNvbnN0CiAgICAgcmV0dXJuIFdlYkdMRGVidWdSZW5kZXJlckluZm9OYW1lOwogfQogCi1QYXNz
T3duUHRyPFdlYkdMRGVidWdSZW5kZXJlckluZm8+IFdlYkdMRGVidWdSZW5kZXJlckluZm86OmNy
ZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCitPd25QdHI8V2ViR0xEZWJ1Z1Jl
bmRlcmVySW5mbz4gV2ViR0xEZWJ1Z1JlbmRlcmVySW5mbzo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5n
Q29udGV4dCogY29udGV4dCkKIHsKICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFdlYkdMRGVidWdS
ZW5kZXJlckluZm8oY29udGV4dCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oCmluZGV4IGI5NmMwMmI3NDMwNmRmNTE1YWY5
OGUxZTA0ZDVmMDk3NmVmMWQyYTQuLmIwOGJhODQ2N2NhM2ZhNTQwNjI3ZDc5YWE0ZDUwNWVmNTI1
Mzk2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVidWdS
ZW5kZXJlckluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERlYnVn
UmVuZGVyZXJJbmZvLmgKQEAgLTM4LDcgKzM4LDcgQEAgcHVibGljOgogICAgICAgICBVTk1BU0tF
RF9SRU5ERVJFUl9XRUJHTCA9IDB4OTI0NgogICAgIH07CiAKLSAgICBzdGF0aWMgUGFzc093blB0
cjxXZWJHTERlYnVnUmVuZGVyZXJJbmZvPiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7
CisgICAgc3RhdGljIE93blB0cjxXZWJHTERlYnVnUmVuZGVyZXJJbmZvPiBjcmVhdGUoV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Kik7CiAKICAgICB2aXJ0dWFsIH5XZWJHTERlYnVnUmVuZGVyZXJJbmZv
KCk7CiAgICAgdmlydHVhbCBFeHRlbnNpb25OYW1lIGdldE5hbWUoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVidWdTaGFkZXJzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVidWdTaGFkZXJzLmNwcAppbmRleCBiNmMw
ZTNmMDc5OTM3ZWY0MmRlMmI4YTBkMjJlZDQ4NzE5NmViOGYwLi4wYzAyODI2NWNlYTliMmJlYmVi
MTkxMGE4MGRlOWYxMTE4NGMwYjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTERlYnVnU2hhZGVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwCkBAIC00OSw3ICs0OSw3IEBAIFdlYkdMRXh0ZW5zaW9u
OjpFeHRlbnNpb25OYW1lIFdlYkdMRGVidWdTaGFkZXJzOjpnZXROYW1lKCkgY29uc3QKICAgICBy
ZXR1cm4gV2ViR0xEZWJ1Z1NoYWRlcnNOYW1lOwogfQogCi1QYXNzT3duUHRyPFdlYkdMRGVidWdT
aGFkZXJzPiBXZWJHTERlYnVnU2hhZGVyczo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCog
Y29udGV4dCkKK093blB0cjxXZWJHTERlYnVnU2hhZGVycz4gV2ViR0xEZWJ1Z1NoYWRlcnM6OmNy
ZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBXZWJHTERlYnVnU2hhZGVycyhjb250ZXh0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERlYnVnU2hhZGVycy5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1NoYWRlcnMuaAppbmRleCAyMDY4YzZkZmQ1MTRjMGFi
NzNkYTljZmIwYjJmZGIwZWRkYmYyOTJmLi5iYWIxYmY3MGE3N2FjMzlkMzg1ZGE2NjM0MjMwZjk1
ZjBiZTlkZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERl
YnVnU2hhZGVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVidWdT
aGFkZXJzLmgKQEAgLTM3LDcgKzM3LDcgQEAgdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAog
Y2xhc3MgV2ViR0xEZWJ1Z1NoYWRlcnMgOiBwdWJsaWMgV2ViR0xFeHRlbnNpb24gewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFdlYkdMRGVidWdTaGFkZXJzPiBjcmVhdGUoV2ViR0xS
ZW5kZXJpbmdDb250ZXh0Kik7CisgICAgc3RhdGljIE93blB0cjxXZWJHTERlYnVnU2hhZGVycz4g
Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwogCiAgICAgdmlydHVhbCB+V2ViR0xEZWJ1
Z1NoYWRlcnMoKTsKICAgICB2aXJ0dWFsIEV4dGVuc2lvbk5hbWUgZ2V0TmFtZSgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZXB0aFRleHR1cmUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZXB0aFRleHR1cmUuY3BwCmlu
ZGV4IDQ2NjQ0ZjViODg5YzFkNjEzOGJkNzA5YWMxYzdhY2QwNzlkNjg1NzcuLjcxYThkYTdkNDI0
Mjc0OTg2NTc1YTIwZTdiNzVlYWM2NzE5NTZkM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMRGVwdGhUZXh0dXJlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTERlcHRoVGV4dHVyZS5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgV2ViR0xF
eHRlbnNpb246OkV4dGVuc2lvbk5hbWUgV2ViR0xEZXB0aFRleHR1cmU6OmdldE5hbWUoKSBjb25z
dAogICAgIHJldHVybiBXZWJHTERlcHRoVGV4dHVyZU5hbWU7CiB9CiAKLVBhc3NPd25QdHI8V2Vi
R0xEZXB0aFRleHR1cmU+IFdlYkdMRGVwdGhUZXh0dXJlOjpjcmVhdGUoV2ViR0xSZW5kZXJpbmdD
b250ZXh0KiBjb250ZXh0KQorT3duUHRyPFdlYkdMRGVwdGhUZXh0dXJlPiBXZWJHTERlcHRoVGV4
dHVyZTo6Y3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCogY29udGV4dCkKIHsKICAgICByZXR1
cm4gYWRvcHRQdHIobmV3IFdlYkdMRGVwdGhUZXh0dXJlKGNvbnRleHQpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVwdGhUZXh0dXJlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERlcHRoVGV4dHVyZS5oCmluZGV4IGJhYzZhYWJm
ZjRkZmUwOTRjZTZiNTExNzgzYjk3YjRjZmE5MjQ1NGMuLmQwMjI2MzcxYWUxMGIwYTNkOTRiMGM3
YWM4NTQxMjVlMTRlZTE4YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMRGVwdGhUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xEZXB0aFRleHR1cmUuaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFdlYkdMRGVwdGhUZXh0dXJlIDogcHVibGljIFdlYkdMRXh0ZW5zaW9uIHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxXZWJHTERlcHRoVGV4dHVyZT4gY3JlYXRlKFdlYkdM
UmVuZGVyaW5nQ29udGV4dCopOworICAgIHN0YXRpYyBPd25QdHI8V2ViR0xEZXB0aFRleHR1cmU+
IGNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqKTsKIAogICAgIHN0YXRpYyBib29sIHN1cHBv
cnRlZChHcmFwaGljc0NvbnRleHQzRCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTExvc2VDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMTG9zZUNvbnRleHQuY3BwCmluZGV4IDViOTZiZDdjZjgxZTQ2MDEzMTBjZjE1Mzcx
ZDk3YzY4MmNkM2M5N2UuLjlmNGUwYjAxZTk4YmFkZjAxYWYwMWEyMjE3MTJjYzVjYTc0YTQ0ZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMTG9zZUNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMTG9zZUNvbnRleHQuY3Bw
CkBAIC00Nyw3ICs0Nyw3IEBAIFdlYkdMRXh0ZW5zaW9uOjpFeHRlbnNpb25OYW1lIFdlYkdMTG9z
ZUNvbnRleHQ6OmdldE5hbWUoKSBjb25zdAogICAgIHJldHVybiBXZWJHTExvc2VDb250ZXh0TmFt
ZTsKIH0KIAotUGFzc093blB0cjxXZWJHTExvc2VDb250ZXh0PiBXZWJHTExvc2VDb250ZXh0Ojpj
cmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQorT3duUHRyPFdlYkdMTG9zZUNv
bnRleHQ+IFdlYkdMTG9zZUNvbnRleHQ6OmNyZWF0ZShXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNv
bnRleHQpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBXZWJHTExvc2VDb250ZXh0KGNvbnRl
eHQpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMTG9z
ZUNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMTG9zZUNvbnRleHQu
aAppbmRleCBhMzI2ZTA4NTJjZWI3ZTIzYWNiNTlmYzk5OTg1NTVkZWVlOTYzOTZkLi5hYmM0MDBl
MDQzZmQyYjljZmRhOTMzNzllODFjMGY5NDljY2I2NDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTExvc2VDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xMb3NlQ29udGV4dC5oCkBAIC0zNSw3ICszNSw3IEBAIGNsYXNzIFdl
YkdMUmVuZGVyaW5nQ29udGV4dDsKIAogY2xhc3MgV2ViR0xMb3NlQ29udGV4dCA6IHB1YmxpYyBX
ZWJHTEV4dGVuc2lvbiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8V2ViR0xMb3Nl
Q29udGV4dD4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOworICAgIHN0YXRpYyBPd25Q
dHI8V2ViR0xMb3NlQ29udGV4dD4gY3JlYXRlKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwogCiAg
ICAgdmlydHVhbCB+V2ViR0xMb3NlQ29udGV4dCgpOwogICAgIHZpcnR1YWwgRXh0ZW5zaW9uTmFt
ZSBnZXROYW1lKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBhMDQ2MDQ5MmRjYjg4OWE5ZmEyMjBlNzQ1
N2I0ODc2YjlmMDYwM2M4Li4wYTZlZGI5NmUwMGZiODQ3MWMyMDdhZjI0YjMzZWNhNDMwZWMzMjk5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAKQEAgLTQwNCw3ICs0MDQsNyBAQCBwcml2YXRlOgogICAgIFdlYkdMUmVuZGVy
aW5nQ29udGV4dCogbV9jb250ZXh0OwogfTsKIAotUGFzc093blB0cjxXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ+IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKEhUTUxDYW52YXNFbGVtZW50KiBj
YW52YXMsIFdlYkdMQ29udGV4dEF0dHJpYnV0ZXMqIGF0dHJzKQorT3duUHRyPFdlYkdMUmVuZGVy
aW5nQ29udGV4dD4gV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUoSFRNTENhbnZhc0VsZW1l
bnQqIGNhbnZhcywgV2ViR0xDb250ZXh0QXR0cmlidXRlcyogYXR0cnMpCiB7CiAgICAgRG9jdW1l
bnQmIGRvY3VtZW50ID0gY2FudmFzLT5kb2N1bWVudCgpOwogICAgIEZyYW1lKiBmcmFtZSA9IGRv
Y3VtZW50LmZyYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDU2OTM0MTVmOGQ5YzdhMmY0ZGY1YjExZGM5YmYxY2Ey
MTA2Y2ViNTEuLjY1ODcyOGJkMDkyZTY5ZDViMmM0ZDQyNWFlY2NlZjY2ZmI5ZmZjOWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5o
CkBAIC04MSw3ICs4MSw3IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIGNsYXNzIFdl
YkdMUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBDYW52YXNSZW5kZXJpbmdDb250ZXh0LCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxXZWJH
TFJlbmRlcmluZ0NvbnRleHQ+IGNyZWF0ZShIVE1MQ2FudmFzRWxlbWVudCosIFdlYkdMQ29udGV4
dEF0dHJpYnV0ZXMqKTsKKyAgICBzdGF0aWMgT3duUHRyPFdlYkdMUmVuZGVyaW5nQ29udGV4dD4g
Y3JlYXRlKEhUTUxDYW52YXNFbGVtZW50KiwgV2ViR0xDb250ZXh0QXR0cmlidXRlcyopOwogICAg
IHZpcnR1YWwgfldlYkdMUmVuZGVyaW5nQ29udGV4dCgpOwogCiAgICAgdmlydHVhbCBib29sIGlz
M2QoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9CYWNrZ3JvdW5kSFRNTFBhcnNlci5jcHAKaW5kZXggN2E1OTNkOTllYWU4NWMyODk5
YzdjYTdjYWQ1YjBhNmZiNzhhNTliNS4uNDJjYzAxMTA3NWEyNWVkM2E5YjNhY2FjOTM1OTlhM2Fk
MWEwNmJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3Vu
ZEhUTUxQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tncm91
bmRIVE1MUGFyc2VyLmNwcApAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgdm9pZCBjaGVja1RoYXRQ
cmVsb2Fkc0FyZVNhZmVUb1NlbmRUb0Fub3RoZXJUaHJlYWQoY29uc3QgUHJlbG9hZFJlcXVlc3RT
dAogCiAjZW5kaWYKIAotQmFja2dyb3VuZEhUTUxQYXJzZXI6OkJhY2tncm91bmRIVE1MUGFyc2Vy
KFBhc3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxCYWNrZ3JvdW5kSFRNTFBhcnNlcj4gPiByZWZlcmVu
Y2UsIFBhc3NPd25QdHI8Q29uZmlndXJhdGlvbj4gY29uZmlnKQorQmFja2dyb3VuZEhUTUxQYXJz
ZXI6OkJhY2tncm91bmRIVE1MUGFyc2VyKFBhc3NSZWZQdHI8V2Vha1JlZmVyZW5jZTxCYWNrZ3Jv
dW5kSFRNTFBhcnNlcj4gPiByZWZlcmVuY2UsIE93blB0cjxDb25maWd1cmF0aW9uPiBjb25maWcp
CiAgICAgOiBtX3dlYWtGYWN0b3J5KHJlZmVyZW5jZSwgdGhpcykKICAgICAsIG1fdG9rZW4oYWRv
cHRQdHIobmV3IEhUTUxUb2tlbikpCiAgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpj
cmVhdGUoY29uZmlnLT5vcHRpb25zKSkKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBCYWNrZ3JvdW5k
SFRNTFBhcnNlcjo6YXBwZW5kKGNvbnN0IFN0cmluZyYgaW5wdXQpCiAgICAgcHVtcFRva2VuaXpl
cigpOwogfQogCi12b2lkIEJhY2tncm91bmRIVE1MUGFyc2VyOjpyZXN1bWVGcm9tKFBhc3NPd25Q
dHI8Q2hlY2twb2ludD4gY2hlY2twb2ludCkKK3ZvaWQgQmFja2dyb3VuZEhUTUxQYXJzZXI6OnJl
c3VtZUZyb20oT3duUHRyPENoZWNrcG9pbnQ+IGNoZWNrcG9pbnQpCiB7CiAgICAgbV9wYXJzZXIg
PSBjaGVja3BvaW50LT5wYXJzZXI7CiAgICAgbV90b2tlbiA9IGNoZWNrcG9pbnQtPnRva2VuLnJl
bGVhc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tncm91
bmRIVE1MUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9CYWNrZ3JvdW5kSFRN
TFBhcnNlci5oCmluZGV4IGM1ZTlhNzZiZTQ2OGUxOTk2ODYxZDI3MTg0MzRlNmEyZWFlZWZmNjcu
LmZhMzIwMzEzNjczZjY0NWZhNmNmMzMzOTVkMzY1OTllYzE5YTM4NTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0JhY2tncm91bmRIVE1MUGFyc2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQmFja2dyb3VuZEhUTUxQYXJzZXIuaApAQCAtNTUsNyAr
NTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIE93blB0cjxUb2tlblByZWxvYWRTY2FubmVyPiBwcmVs
b2FkU2Nhbm5lcjsKICAgICB9OwogCi0gICAgc3RhdGljIHZvaWQgY3JlYXRlKFBhc3NSZWZQdHI8
V2Vha1JlZmVyZW5jZTxCYWNrZ3JvdW5kSFRNTFBhcnNlcj4gPiByZWZlcmVuY2UsIFBhc3NPd25Q
dHI8Q29uZmlndXJhdGlvbj4gY29uZmlnKQorICAgIHN0YXRpYyB2b2lkIGNyZWF0ZShQYXNzUmVm
UHRyPFdlYWtSZWZlcmVuY2U8QmFja2dyb3VuZEhUTUxQYXJzZXI+ID4gcmVmZXJlbmNlLCBPd25Q
dHI8Q29uZmlndXJhdGlvbj4gY29uZmlnKQogICAgIHsKICAgICAgICAgbmV3IEJhY2tncm91bmRI
VE1MUGFyc2VyKHJlZmVyZW5jZSwgY29uZmlnKTsKICAgICAgICAgLy8gQ2FsbGVyIG11c3QgZnJl
ZSBieSBjYWxsaW5nIHN0b3AoKS4KQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgIH07CiAK
ICAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHJlc3VtZUZyb20oUGFz
c093blB0cjxDaGVja3BvaW50Pik7CisgICAgdm9pZCByZXN1bWVGcm9tKE93blB0cjxDaGVja3Bv
aW50Pik7CiAgICAgdm9pZCBzdGFydGVkQ2h1bmtXaXRoQ2hlY2twb2ludChIVE1MSW5wdXRDaGVj
a3BvaW50KTsKICAgICB2b2lkIGZpbmlzaCgpOwogICAgIHZvaWQgc3RvcCgpOwpAQCAtODAsNyAr
ODAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmb3JjZVBsYWludGV4dEZvclRleHREb2N1bWVudCgp
OwogCiBwcml2YXRlOgotICAgIEJhY2tncm91bmRIVE1MUGFyc2VyKFBhc3NSZWZQdHI8V2Vha1Jl
ZmVyZW5jZTxCYWNrZ3JvdW5kSFRNTFBhcnNlcj4gPiwgUGFzc093blB0cjxDb25maWd1cmF0aW9u
Pik7CisgICAgQmFja2dyb3VuZEhUTUxQYXJzZXIoUGFzc1JlZlB0cjxXZWFrUmVmZXJlbmNlPEJh
Y2tncm91bmRIVE1MUGFyc2VyPiA+LCBPd25QdHI8Q29uZmlndXJhdGlvbj4pOwogCiAgICAgdm9p
ZCBtYXJrRW5kT2ZGaWxlKCk7CiAgICAgdm9pZCBwdW1wVG9rZW5pemVyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCAxNGE1
ZmVlYTYzOGI1Nzc4NjZhODZjZTE3MmNmNGMwMDg5YjI1YmRhLi4xNWJiODgyZTQ1YjEwZGU1ODRl
Y2E4MmI2ZjFlZWZhNGU0OTI3YzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKQEAgLTMxMSw3ICszMTEsNyBAQCBib29sIEhUTUxE
b2N1bWVudFBhcnNlcjo6Y2FuVGFrZU5leHRUb2tlbihTeW5jaHJvbm91c01vZGUgbW9kZSwgUHVt
cFNlc3Npb24mIHNlcwogCiAjaWYgRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VSKQogCi12b2lk
IEhUTUxEb2N1bWVudFBhcnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENodW5rRnJvbUJhY2tncm91bmRQ
YXJzZXIoUGFzc093blB0cjxQYXJzZWRDaHVuaz4gY2h1bmspCit2b2lkIEhUTUxEb2N1bWVudFBh
cnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIoT3duUHRyPFBh
cnNlZENodW5rPiBjaHVuaykKIHsKICAgICBpZiAoaXNXYWl0aW5nRm9yU2NyaXB0cygpIHx8ICFt
X3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpIHsKICAgICAgICAgbV9wcmVsb2FkZXItPnRha2VBbmRQ
cmVsb2FkKGNodW5rLT5wcmVsb2Fkcyk7CkBAIC0zMzIsNyArMzMyLDcgQEAgdm9pZCBIVE1MRG9j
dW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBh
c3NPd25QdHI8UGEKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTChj
b29raWUsIGxpbmVOdW1iZXIoKS56ZXJvQmFzZWRJbnQoKSk7CiB9CiAKLXZvaWQgSFRNTERvY3Vt
ZW50UGFyc2VyOjp2YWxpZGF0ZVNwZWN1bGF0aW9ucyhQYXNzT3duUHRyPFBhcnNlZENodW5rPiBj
aHVuaykKK3ZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjp2YWxpZGF0ZVNwZWN1bGF0aW9ucyhPd25Q
dHI8UGFyc2VkQ2h1bms+IGNodW5rKQogewogICAgIEFTU0VSVChjaHVuayk7CiAgICAgaWYgKGlz
V2FpdGluZ0ZvclNjcmlwdHMoKSkgewpAQCAtMzcxLDcgKzM3MSw3IEBAIHZvaWQgSFRNTERvY3Vt
ZW50UGFyc2VyOjp2YWxpZGF0ZVNwZWN1bGF0aW9ucyhQYXNzT3duUHRyPFBhcnNlZENodW5rPiBj
aHVuaykKICAgICBkaXNjYXJkU3BlY3VsYXRpb25zQW5kUmVzdW1lRnJvbShjaHVuaywgdG9rZW4u
cmVsZWFzZSgpLCB0b2tlbml6ZXIucmVsZWFzZSgpKTsKIH0KIAotdm9pZCBIVE1MRG9jdW1lbnRQ
YXJzZXI6OmRpc2NhcmRTcGVjdWxhdGlvbnNBbmRSZXN1bWVGcm9tKFBhc3NPd25QdHI8UGFyc2Vk
Q2h1bms+IGxhc3RDaHVua0JlZm9yZVNjcmlwdCwgUGFzc093blB0cjxIVE1MVG9rZW4+IHRva2Vu
LCBQYXNzT3duUHRyPEhUTUxUb2tlbml6ZXI+IHRva2VuaXplcikKK3ZvaWQgSFRNTERvY3VtZW50
UGFyc2VyOjpkaXNjYXJkU3BlY3VsYXRpb25zQW5kUmVzdW1lRnJvbShPd25QdHI8UGFyc2VkQ2h1
bms+IGxhc3RDaHVua0JlZm9yZVNjcmlwdCwgT3duUHRyPEhUTUxUb2tlbj4gdG9rZW4sIE93blB0
cjxIVE1MVG9rZW5pemVyPiB0b2tlbml6ZXIpCiB7CiAgICAgbV93ZWFrRmFjdG9yeS5yZXZva2VB
bGwoKTsKICAgICBtX3NwZWN1bGF0aW9ucy5jbGVhcigpOwpAQCAtMzkwLDcgKzM5MCw3IEBAIHZv
aWQgSFRNTERvY3VtZW50UGFyc2VyOjpkaXNjYXJkU3BlY3VsYXRpb25zQW5kUmVzdW1lRnJvbShQ
YXNzT3duUHRyPFBhcnNlZENodW5rCiAgICAgSFRNTFBhcnNlclRocmVhZDo6c2hhcmVkKCktPnBv
c3RUYXNrKGJpbmQoJkJhY2tncm91bmRIVE1MUGFyc2VyOjpyZXN1bWVGcm9tLCBtX2JhY2tncm91
bmRQYXJzZXIsIGNoZWNrcG9pbnQucmVsZWFzZSgpKSk7CiB9CiAKLXZvaWQgSFRNTERvY3VtZW50
UGFyc2VyOjpwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihQYXNzT3duUHRy
PFBhcnNlZENodW5rPiBwb3BDaHVuaykKK3ZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwcm9jZXNz
UGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihPd25QdHI8UGFyc2VkQ2h1bms+IHBvcENo
dW5rKQogewogICAgIC8vIEFTU0VSVCB0aGF0IHRoaXMgb2JqZWN0IGlzIGJvdGggYXR0YWNoZWQg
dG8gdGhlIERvY3VtZW50IGFuZCBwcm90ZWN0ZWQuCiAgICAgQVNTRVJUKHJlZkNvdW50KCkgPj0g
Mik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5o
CmluZGV4IDVhNjhjMzVkZTRlOGFlOWZhOGYyZmZiNjc4ZDI2ZjJmYWIwZmFkYzYuLjgxMTM4ZDMw
NDM1MmY5ZDIwMGZkMjUxNGJlNWNiNjFmNGYzNjZjMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCkBAIC05NSw3ICs5NSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgSFRNTElucHV0Q2hlY2twb2ludCBpbnB1dENoZWNrcG9pbnQ7CiAgICAgICAg
IFRva2VuUHJlbG9hZFNjYW5uZXJDaGVja3BvaW50IHByZWxvYWRTY2FubmVyQ2hlY2twb2ludDsK
ICAgICB9OwotICAgIHZvaWQgZGlkUmVjZWl2ZVBhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJz
ZXIoUGFzc093blB0cjxQYXJzZWRDaHVuaz4pOworICAgIHZvaWQgZGlkUmVjZWl2ZVBhcnNlZENo
dW5rRnJvbUJhY2tncm91bmRQYXJzZXIoT3duUHRyPFBhcnNlZENodW5rPik7CiAjZW5kaWYKIAog
cHJvdGVjdGVkOgpAQCAtMTQyLDkgKzE0Miw5IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFRIUkVB
REVEX0hUTUxfUEFSU0VSKQogICAgIHZvaWQgc3RhcnRCYWNrZ3JvdW5kUGFyc2VyKCk7CiAgICAg
dm9pZCBzdG9wQmFja2dyb3VuZFBhcnNlcigpOwotICAgIHZvaWQgdmFsaWRhdGVTcGVjdWxhdGlv
bnMoUGFzc093blB0cjxQYXJzZWRDaHVuaz4gbGFzdENodW5rKTsKLSAgICB2b2lkIGRpc2NhcmRT
cGVjdWxhdGlvbnNBbmRSZXN1bWVGcm9tKFBhc3NPd25QdHI8UGFyc2VkQ2h1bms+IGxhc3RDaHVu
aywgUGFzc093blB0cjxIVE1MVG9rZW4+LCBQYXNzT3duUHRyPEhUTUxUb2tlbml6ZXI+KTsKLSAg
ICB2b2lkIHByb2Nlc3NQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5kUGFyc2VyKFBhc3NPd25QdHI8
UGFyc2VkQ2h1bms+KTsKKyAgICB2b2lkIHZhbGlkYXRlU3BlY3VsYXRpb25zKE93blB0cjxQYXJz
ZWRDaHVuaz4gbGFzdENodW5rKTsKKyAgICB2b2lkIGRpc2NhcmRTcGVjdWxhdGlvbnNBbmRSZXN1
bWVGcm9tKE93blB0cjxQYXJzZWRDaHVuaz4gbGFzdENodW5rLCBPd25QdHI8SFRNTFRva2VuPiwg
T3duUHRyPEhUTUxUb2tlbml6ZXI+KTsKKyAgICB2b2lkIHByb2Nlc3NQYXJzZWRDaHVua0Zyb21C
YWNrZ3JvdW5kUGFyc2VyKE93blB0cjxQYXJzZWRDaHVuaz4pOwogICAgIHZvaWQgcHVtcFBlbmRp
bmdTcGVjdWxhdGlvbnMoKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxFbGVtZW50U3RhY2suY3BwCmluZGV4IDBjNzQxYTRlZjI2NWY2NjRjZmQ3NDJhYjNj
YWNlNjU4YTMxNDVmNTguLmFjNzY5NWU3YzhhMTEwYjE5MGU5NDhkODNhMTg0MGI3YzgyN2RlZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2su
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3Bw
CkBAIC0xMzAsOSArMTMwLDkgQEAgaW5saW5lIGJvb2wgaXNTZWxlY3RTY29wZU1hcmtlcihIVE1M
U3RhY2tJdGVtKiBpdGVtKQogCiB9CiAKLUhUTUxFbGVtZW50U3RhY2s6OkVsZW1lbnRSZWNvcmQ6
OkVsZW1lbnRSZWNvcmQoUGFzc1JlZlB0cjxIVE1MU3RhY2tJdGVtPiBpdGVtLCBQYXNzT3duUHRy
PEVsZW1lbnRSZWNvcmQ+IG5leHQpCitIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkOjpF
bGVtZW50UmVjb3JkKFBhc3NSZWZQdHI8SFRNTFN0YWNrSXRlbT4gaXRlbSwgT3duUHRyPEVsZW1l
bnRSZWNvcmQ+IG5leHQpCiAgICAgOiBtX2l0ZW0oaXRlbSkKLSAgICAsIG1fbmV4dChuZXh0KQor
ICAgICwgbV9uZXh0KHN0ZDo6bW92ZShuZXh0KSkKIHsKICAgICBBU1NFUlQobV9pdGVtKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2su
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAppbmRleCBi
ODYyZjdiNzI0YzZkZDgzY2IxM2VhNDIyYjMyNjc1Y2E1OWUwNWJmLi42ZDgxNTcyNjBkNzIyNjRl
ZTI2NWFmZDE2ZWVkNjRkNTVjYWU4MTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTEVsZW1lbnRTdGFjay5oCkBAIC02NiwxMCArNjYsMTAgQEAgcHVibGljOgogICAgIHBy
aXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBIVE1MRWxlbWVudFN0YWNrOwogCi0gICAgICAg
IEVsZW1lbnRSZWNvcmQoUGFzc1JlZlB0cjxIVE1MU3RhY2tJdGVtPiwgUGFzc093blB0cjxFbGVt
ZW50UmVjb3JkPik7CisgICAgICAgIEVsZW1lbnRSZWNvcmQoUGFzc1JlZlB0cjxIVE1MU3RhY2tJ
dGVtPiwgT3duUHRyPEVsZW1lbnRSZWNvcmQ+KTsKIAotICAgICAgICBQYXNzT3duUHRyPEVsZW1l
bnRSZWNvcmQ+IHJlbGVhc2VOZXh0KCkgeyByZXR1cm4gbV9uZXh0LnJlbGVhc2UoKTsgfQotICAg
ICAgICB2b2lkIHNldE5leHQoUGFzc093blB0cjxFbGVtZW50UmVjb3JkPiBuZXh0KSB7IG1fbmV4
dCA9IG5leHQ7IH0KKyAgICAgICAgT3duUHRyPEVsZW1lbnRSZWNvcmQ+IHJlbGVhc2VOZXh0KCkg
eyByZXR1cm4gbV9uZXh0LnJlbGVhc2UoKTsgfQorICAgICAgICB2b2lkIHNldE5leHQoT3duUHRy
PEVsZW1lbnRSZWNvcmQ+IG5leHQpIHsgbV9uZXh0ID0gc3RkOjptb3ZlKG5leHQpOyB9CiAKICAg
ICAgICAgUmVmUHRyPEhUTUxTdGFja0l0ZW0+IG1faXRlbTsKICAgICAgICAgT3duUHRyPEVsZW1l
bnRSZWNvcmQ+IG1fbmV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TE1ldGFDaGFyc2V0UGFyc2VyLmgKaW5kZXggNDM2ZWE3OTI2NzE5Y2I1NjgyYWU5OGYwNzU3M2Zl
NzhjZWI0NWM1Zi4uNGEyYzQ2MTk5ZTI3MWE5MTcyOGQyOWEyOTkwNWQ5YmIzZTQ3NWZkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2Vy
LmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgVGV4dENvZGVjOwogY2xhc3MgSFRNTE1ldGFDaGFy
c2V0UGFyc2VyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MTWV0YUNoYXJzZXRQYXJz
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093
blB0cjxIVE1MTWV0YUNoYXJzZXRQYXJzZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5l
dyBIVE1MTWV0YUNoYXJzZXRQYXJzZXIoKSk7IH0KKyAgICBzdGF0aWMgT3duUHRyPEhUTUxNZXRh
Q2hhcnNldFBhcnNlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxNZXRhQ2hh
cnNldFBhcnNlcigpKTsgfQogCiAgICAgfkhUTUxNZXRhQ2hhcnNldFBhcnNlcigpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXgg
YzIxNWNiMDhlYTVkYmVkMGEwYjZjMWRlMjdhODIzZWE2Nzk4NTk0My4uNTExMjYzY2RiOWJlMDc2
NmIyM2UwZWU3MDhhN2NjZjUwMGM2YWYxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiBj
bGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1M
UGFyc2VyU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFBhc3NPd25QdHI8SFRNTFBhcnNlclNjaGVkdWxlcj4gY3JlYXRlKEhUTUxEb2N1bWVu
dFBhcnNlciogcGFyc2VyKQorICAgIHN0YXRpYyBPd25QdHI8SFRNTFBhcnNlclNjaGVkdWxlcj4g
Y3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFyc2VyKQogICAgIHsKICAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBIVE1MUGFyc2VyU2NoZWR1bGVyKHBhcnNlcikpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJUaHJlYWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJUaHJlYWQuaAppbmRleCBmMzAxYzFk
NzkzNmFkODEwMjZmNzU0ZDk0NzljYzc2NjdjMmRjZmZiLi5lM2FlZmE2MWQ1NmI2MTY3NDFiYmY3
MTIwYzQ0MzdjMzg3ODU4NGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUGFyc2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFBhcnNlclRocmVhZC5oCkBAIC00Niw3ICs0Niw3IEBAIHR5cGVkZWYgRnVuY3Rpb248dm9pZCgp
PiBDbG9zdXJlOwogCiBjbGFzcyBIVE1MUGFyc2VyVGhyZWFkIHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc093blB0cjxIVE1MUGFyc2VyVGhyZWFkPiBjcmVhdGUoKQorICAgIHN0YXRpYyBPd25Q
dHI8SFRNTFBhcnNlclRocmVhZD4gY3JlYXRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgSFRNTFBhcnNlclRocmVhZCgpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAppbmRleCA1NDk2YTkzNmJkMzhm
MjdiZmI5OTk0NmRlN2QxNTk1YzI4MmFiNmU3Li40MWVlMjAxNjFiZTc2ZGE2OWQ4YWIwOTZkMmIx
ZjU5ZjFmNjY3Mzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5jcHAKQEAgLTE0Miw3ICsxNDIsNyBAQCBwdWJsaWM6CiAgICAgfQogI2Vu
ZGlmCiAKLSAgICBQYXNzT3duUHRyPFByZWxvYWRSZXF1ZXN0PiBjcmVhdGVQcmVsb2FkUmVxdWVz
dChjb25zdCBLVVJMJiBwcmVkaWN0ZWRCYXNlVVJMKQorICAgIE93blB0cjxQcmVsb2FkUmVxdWVz
dD4gY3JlYXRlUHJlbG9hZFJlcXVlc3QoY29uc3QgS1VSTCYgcHJlZGljdGVkQmFzZVVSTCkKICAg
ICB7CiAgICAgICAgIGlmICghc2hvdWxkUHJlbG9hZCgpKQogICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3Vy
Y2VQcmVsb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFJlc291cmNl
UHJlbG9hZGVyLmNwcAppbmRleCAyZmVhMWEwZGY3YTNhYWUxZjNlOWI0MDJlNmEzNmU4MGE4NDVk
ODFhLi4zNjMzNDFhYTAwM2JiZTY1OTA2YjE1NzZlZTQ5MTRiYmUwN2JkNzM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3VyY2VQcmVsb2FkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxSZXNvdXJjZVByZWxvYWRlci5jcHAK
QEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIGJvb2wgbWVkaWFBdHRyaWJ1dGVNYXRjaGVzKEZyYW1l
KiBmcmFtZSwgUmVuZGVyU3R5bGUqIHJlbmRlclN0eWxlLCBjb25zdAogICAgIHJldHVybiBtZWRp
YVF1ZXJ5RXZhbHVhdG9yLmV2YWwobWVkaWFRdWVyaWVzLmdldCgpKTsKIH0KIAotdm9pZCBIVE1M
UmVzb3VyY2VQcmVsb2FkZXI6OnByZWxvYWQoUGFzc093blB0cjxQcmVsb2FkUmVxdWVzdD4gcHJl
bG9hZCkKK3ZvaWQgSFRNTFJlc291cmNlUHJlbG9hZGVyOjpwcmVsb2FkKE93blB0cjxQcmVsb2Fk
UmVxdWVzdD4gcHJlbG9hZCkKIHsKICAgICBBU1NFUlQobV9kb2N1bWVudC0+ZnJhbWUoKSk7CiAg
ICAgQVNTRVJUKG1fZG9jdW1lbnQtPnJlbmRlclZpZXcoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUmVzb3VyY2VQcmVsb2FkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxSZXNvdXJjZVByZWxvYWRlci5oCmluZGV4IGFlYzc4Y2Q3MmQx
ZDMzZGNlYjAwYTQ1MGQ4OTY4OTUxYzdmOGY4YzkuLmVmOTMzOTViMTMwNmI4YmU5MmQ2NDQxYjFk
OWM1MmNlOWVhYzU2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxSZXNvdXJjZVByZWxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxSZXNvdXJjZVByZWxvYWRlci5oCkBAIC0zMywxMiArMzMsMTIgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBQcmVsb2FkUmVxdWVzdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NP
d25QdHI8UHJlbG9hZFJlcXVlc3Q+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGluaXRpYXRvciwgY29u
c3QgU3RyaW5nJiByZXNvdXJjZVVSTCwgY29uc3QgS1VSTCYgYmFzZVVSTCwgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUgcmVzb3VyY2VUeXBlLCBjb25zdCBTdHJpbmcmIG1lZGlhQXR0cmlidXRlKQorICAg
IHN0YXRpYyBPd25QdHI8UHJlbG9hZFJlcXVlc3Q+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGluaXRp
YXRvciwgY29uc3QgU3RyaW5nJiByZXNvdXJjZVVSTCwgY29uc3QgS1VSTCYgYmFzZVVSTCwgQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUgcmVzb3VyY2VUeXBlLCBjb25zdCBTdHJpbmcmIG1lZGlhQXR0cmli
dXRlKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBQcmVsb2FkUmVxdWVzdChp
bml0aWF0b3IsIHJlc291cmNlVVJMLCBiYXNlVVJMLCByZXNvdXJjZVR5cGUsIG1lZGlhQXR0cmli
dXRlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFBhc3NPd25QdHI8UHJlbG9hZFJlcXVlc3Q+IGNy
ZWF0ZShjb25zdCBTdHJpbmcmIGluaXRpYXRvciwgY29uc3QgU3RyaW5nJiByZXNvdXJjZVVSTCwg
Y29uc3QgS1VSTCYgYmFzZVVSTCwgQ2FjaGVkUmVzb3VyY2U6OlR5cGUgcmVzb3VyY2VUeXBlKQor
ICAgIHN0YXRpYyBPd25QdHI8UHJlbG9hZFJlcXVlc3Q+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGlu
aXRpYXRvciwgY29uc3QgU3RyaW5nJiByZXNvdXJjZVVSTCwgY29uc3QgS1VSTCYgYmFzZVVSTCwg
Q2FjaGVkUmVzb3VyY2U6OlR5cGUgcmVzb3VyY2VUeXBlKQogICAgIHsKICAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBQcmVsb2FkUmVxdWVzdChpbml0aWF0b3IsIHJlc291cmNlVVJMLCBiYXNl
VVJMLCByZXNvdXJjZVR5cGUsIFN0cmluZygpKSk7CiAgICAgfQpAQCAtODcsNyArODcsNyBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgdm9pZCB0YWtlQW5kUHJlbG9hZChQcmVsb2FkUmVxdWVzdFN0
cmVhbSYpOwotICAgIHZvaWQgcHJlbG9hZChQYXNzT3duUHRyPFByZWxvYWRSZXF1ZXN0Pik7Cisg
ICAgdm9pZCBwcmVsb2FkKE93blB0cjxQcmVsb2FkUmVxdWVzdD4pOwogCiAgICAgV2Vha1B0cjxI
VE1MUmVzb3VyY2VQcmVsb2FkZXI+IGNyZWF0ZVdlYWtQdHIoKSB7IHJldHVybiBtX3dlYWtGYWN0
b3J5LmNyZWF0ZVdlYWtQdHIoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MU2NyaXB0UnVubmVyLmgKaW5kZXggYTU2NjkzNjhhZmRjMzVmOWU4OGQzNGM4MDFhZmRjN2Jj
YTE1YmQ2Yy4uMjYzMGNkMzg5NmZjZmFlZGE0NTY3ZjQyM2JlNjQyM2EzMWY1MDlkOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaApAQCAtNDQsNyAr
NDQsNyBAQCBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRS
dW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBo
b3N0KQorICAgIHN0YXRpYyBPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgSFRNTFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewogICAgICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxTY3JpcHRSdW5uZXIoZG9jdW1lbnQsIGhvc3QpKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IGU0MDNlN2YyOTUy
MTNiMjg5ZGNkMmMxMWM5ZjkyNjgzOGE3NzllN2YuLjAzNjNlM2E2MTA0M2NkMDFlN2EzYzY0MWZl
ZmQyNjg3ZWExODJhNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCkBA
IC0yMjYsNyArMjI2LDcgQEAgcHVibGljOgogICAgICAgICBtX2RvY3R5cGVEYXRhLT5tX3N5c3Rl
bUlkZW50aWZpZXIuYXBwZW5kKGNoYXJhY3Rlcik7CiAgICAgfQogCi0gICAgUGFzc093blB0cjxE
b2N0eXBlRGF0YT4gcmVsZWFzZURvY3R5cGVEYXRhKCkKKyAgICBPd25QdHI8RG9jdHlwZURhdGE+
IHJlbGVhc2VEb2N0eXBlRGF0YSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV9kb2N0eXBlRGF0
YS5yZWxlYXNlKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuaXplci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
aXplci5oCmluZGV4IDhhNDNkNjA2ODA4OTRhNTE3YWI5OTQ1NDg5ZDA4YjI3ZWQ4ODQyMDIuLmVj
ODViZDAzOWUzMTJjYWE0Yjk2OGUwNzFiMzY1OTA2ZGM4ZTBlYzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgSFRN
TFRva2VuaXplciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuaXplcik7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8SFRNTFRva2VuaXplcj4gY3JlYXRlKGNvbnN0IEhUTUxQYXJzZXJPcHRpb25zJiBvcHRpb25z
KSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXplcihvcHRpb25zKSk7IH0KKyAgICBz
dGF0aWMgT3duUHRyPEhUTUxUb2tlbml6ZXI+IGNyZWF0ZShjb25zdCBIVE1MUGFyc2VyT3B0aW9u
cyYgb3B0aW9ucykgeyByZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxUb2tlbml6ZXIob3B0aW9ucykp
OyB9CiAgICAgfkhUTUxUb2tlbml6ZXIoKTsKIAogICAgIHZvaWQgcmVzZXQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKaW5kZXggZjliNTI4ODgzZDEw
ZDI5M2ZlZTIwMGZiNDAzMjgzNGEyZDY0N2VkMy4uMWJjYTMwMjhiNWVkMGIzMWJjNDNjMWY3Zjhm
OTQ2YzM5OTY3ZGI5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRyZWVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmgKQEAgLTU3LDExICs1NywxMSBAQCBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiBj
bGFzcyBIVE1MVHJlZUJ1aWxkZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUcmVl
QnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFy
c2VyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNv
bnRlbnRQb2xpY3ksIGJvb2wgcmVwb3J0RXJyb3JzLCBjb25zdCBIVE1MUGFyc2VyT3B0aW9ucyYg
b3B0aW9ucykKKyAgICBzdGF0aWMgT3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxE
b2N1bWVudFBhcnNlciogcGFyc2VyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBQYXJzZXJDb250
ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3ksIGJvb2wgcmVwb3J0RXJyb3JzLCBjb25zdCBI
VE1MUGFyc2VyT3B0aW9ucyYgb3B0aW9ucykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgSFRNTFRyZWVCdWlsZGVyKHBhcnNlciwgZG9jdW1lbnQsIHBhcnNlckNvbnRlbnRQb2xp
Y3ksIHJlcG9ydEVycm9ycywgb3B0aW9ucykpOwogICAgIH0KLSAgICBzdGF0aWMgUGFzc093blB0
cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlciwgRG9j
dW1lbnRGcmFnbWVudCogZnJhZ21lbnQsIEVsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBQYXJzZXJD
b250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3ksIGNvbnN0IEhUTUxQYXJzZXJPcHRpb25z
JiBvcHRpb25zKQorICAgIHN0YXRpYyBPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRN
TERvY3VtZW50UGFyc2VyKiBwYXJzZXIsIERvY3VtZW50RnJhZ21lbnQqIGZyYWdtZW50LCBFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCwgUGFyc2VyQ29udGVudFBvbGljeSBwYXJzZXJDb250ZW50UG9s
aWN5LCBjb25zdCBIVE1MUGFyc2VyT3B0aW9ucyYgb3B0aW9ucykKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgSFRNTFRyZWVCdWlsZGVyKHBhcnNlciwgZnJhZ21lbnQsIGNvbnRl
eHRFbGVtZW50LCBwYXJzZXJDb250ZW50UG9saWN5LCBvcHRpb25zKSk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcAppbmRleCA4NjI0NjdiNTFiODdlZGY0
MTZlZDY5YTg2YjkxMjU5ZmE5MTEzMjQzLi5kM2ZlMzFiYjRhM2JlMjliZjlhYWVhNjkyNmM5NDBi
NzFmMjU3ZWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRp
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmNwcApA
QCAtMzIwLDcgKzMyMCw3IEBAIHZvaWQgWFNTQXVkaXRvcjo6aW5pdChEb2N1bWVudCogZG9jdW1l
bnQsIFhTU0F1ZGl0b3JEZWxlZ2F0ZSogYXVkaXRvckRlbGVnYXRlKQogICAgIH0KIH0KIAotUGFz
c093blB0cjxYU1NJbmZvPiBYU1NBdWRpdG9yOjpmaWx0ZXJUb2tlbihjb25zdCBGaWx0ZXJUb2tl
blJlcXVlc3QmIHJlcXVlc3QpCitPd25QdHI8WFNTSW5mbz4gWFNTQXVkaXRvcjo6ZmlsdGVyVG9r
ZW4oY29uc3QgRmlsdGVyVG9rZW5SZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIEFTU0VSVChtX3N0
YXRlID09IEluaXRpYWxpemVkKTsKICAgICBpZiAoIW1faXNFbmFibGVkIHx8IG1feHNzUHJvdGVj
dGlvbiA9PSBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkFsbG93UmVmbGVjdGVkWFNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5oCmluZGV4IDA3ZTg0NjU5ZDcyNTQ2YjEzNGY1
MzJkMzM2YTJhMDY3NTc1OWQ5MGQuLjA2OTBiZTkyOGIzNzIzODJjNzczODY3NGIxMTIyMTdmNWUw
NjFhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL1hTU0F1ZGl0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yLmgKQEAgLTYxLDcg
KzYxLDcgQEAgcHVibGljOgogICAgIHZvaWQgaW5pdChEb2N1bWVudCosIFhTU0F1ZGl0b3JEZWxl
Z2F0ZSopOwogICAgIHZvaWQgaW5pdEZvckZyYWdtZW50KCk7CiAKLSAgICBQYXNzT3duUHRyPFhT
U0luZm8+IGZpbHRlclRva2VuKGNvbnN0IEZpbHRlclRva2VuUmVxdWVzdCYpOworICAgIE93blB0
cjxYU1NJbmZvPiBmaWx0ZXJUb2tlbihjb25zdCBGaWx0ZXJUb2tlblJlcXVlc3QmKTsKICAgICBi
b29sIGlzU2FmZVRvU2VuZFRvQW5vdGhlclRocmVhZCgpIGNvbnN0OwogCiBwcml2YXRlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuaAppbmRleCA5
YWQyZTVlZjQ5ZTc3NTIyZDgzODNiNzU0ZGY5YTRlZTIzYTk0MzI4Li4xZDhjN2Q4ODBlZDRiMmY4
NDFmYzgyNzUyYTE0YTdkODc3MTczNTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9YU1NBdWRpdG9yRGVsZWdhdGUuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBGb3JtRGF0
YTsKIAogY2xhc3MgWFNTSW5mbyB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8WFNT
SW5mbz4gY3JlYXRlKGJvb2wgZGlkQmxvY2tFbnRpcmVQYWdlLCBib29sIGRpZFNlbmRYU1NQcm90
ZWN0aW9uSGVhZGVyLCBib29sIGRpZFNlbmRDU1BIZWFkZXIpCisgICAgc3RhdGljIE93blB0cjxY
U1NJbmZvPiBjcmVhdGUoYm9vbCBkaWRCbG9ja0VudGlyZVBhZ2UsIGJvb2wgZGlkU2VuZFhTU1By
b3RlY3Rpb25IZWFkZXIsIGJvb2wgZGlkU2VuZENTUEhlYWRlcikKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgWFNTSW5mbyhkaWRCbG9ja0VudGlyZVBhZ2UsIGRpZFNlbmRYU1NQ
cm90ZWN0aW9uSGVhZGVyLCBkaWRTZW5kQ1NQSGVhZGVyKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvdHJhY2svV2ViVlRUUGFyc2VyLmgKaW5kZXggNWI4ODg4M2E4MTljNTA4MzhlYjEzNThi
YjA5NjEyNmE2MTBjYjVkYS4uYzA5YmI0MzJkMmEzZGQ3NjNmZDMxM2ExZDNlNTZhNWFhOTE3ZWJh
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRQYXJzZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1dlYlZUVFBhcnNlci5oCkBAIC0xMDgsNyAr
MTA4LDcgQEAgcHVibGljOgogICAgICAgICBCYWRDdWUKICAgICB9OwogCi0gICAgc3RhdGljIFBh
c3NPd25QdHI8V2ViVlRUUGFyc2VyPiBjcmVhdGUoV2ViVlRUUGFyc2VyQ2xpZW50KiBjbGllbnQs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgc3RhdGljIE93blB0cjxXZWJW
VFRQYXJzZXI+IGNyZWF0ZShXZWJWVFRQYXJzZXJDbGllbnQqIGNsaWVudCwgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
V2ViVlRUUGFyc2VyKGNsaWVudCwgY29udGV4dCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUVG9rZW5pemVyLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1dlYlZUVFRva2VuaXplci5oCmluZGV4IGM4ZmY5MjM1ZmU1NjU3MmUzMmYyOGY1
NWExY2U3ZjIxMmFjODFjMjcuLjc5ZWUwNmIyNmVjNDIxNDc4MTgyMmJkMThhZGJhZGEyOGExNTBj
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svV2ViVlRUVG9rZW5pemVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9XZWJWVFRUb2tlbml6ZXIuaApAQCAt
NTgsNyArNTgsNyBAQCBjbGFzcyBXZWJWVFRUb2tlbml6ZXIgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdlYlZUVFRva2VuaXplcik7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8V2ViVlRUVG9rZW5pemVyPiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFB0cihuZXcgV2ViVlRUVG9rZW5pemVyKTsgfQorICAgIHN0YXRpYyBPd25Q
dHI8V2ViVlRUVG9rZW5pemVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgV2ViVlRU
VG9rZW5pemVyKTsgfQogCiAgICAgdHlwZWRlZiBXZWJWVFRUb2tlbml6ZXJTdGF0ZSBTdGF0ZTsK
IAo=
</data>
<flag name="review"
          id="234068"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="234080"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>