<?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>126305</bug_id>
          
          <creation_ts>2013-12-30 14:23:47 -0800</creation_ts>
          <short_desc>Replace remaning CoreIPC namespace to IPC</short_desc>
          <delta_ts>2013-12-30 15:31:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>zan</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>963383</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2013-12-30 14:23:47 -0800</bug_when>
    <thetext>Since r161147, CoreIPC namespace was removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963384</commentid>
    <comment_count>1</comment_count>
      <attachid>220127</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2013-12-30 14:28:29 -0800</bug_when>
    <thetext>Created attachment 220127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963386</commentid>
    <comment_count>2</comment_count>
      <attachid>220128</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2013-12-30 14:50:25 -0800</bug_when>
    <thetext>Created attachment 220128
rebased for gtk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963392</commentid>
    <comment_count>3</comment_count>
      <attachid>220128</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2013-12-30 15:30:58 -0800</bug_when>
    <thetext>Comment on attachment 220128
rebased for gtk

Clearing flags on attachment: 220128

Committed r161156: &lt;http://trac.webkit.org/changeset/161156&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963393</commentid>
    <comment_count>4</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2013-12-30 15:31:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220127</attachid>
            <date>2013-12-30 14:28:29 -0800</date>
            <delta_ts>2013-12-30 14:50:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126305-20131231072828.patch</filename>
            <type>text/plain</type>
            <size>69790</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzA2NzYwMGFmMzQ0MTdi
NDczMjRjYjBjZjg0NTFiNWYyOGZhYjFhYi4uZmU5MmZiOGQ3OWZlODBiOWNiZDdjZjJjMGJhNWIw
MDIwZGRlNmViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMyBAQAorMjAxMy0xMi0zMCAgUnl1
YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmVwbGFjZSByZW1h
bmluZyBDb3JlSVBDIG5hbWVzcGFjZSB0byBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVwbGFjZXMgQ29yZUlQQyB0byBJUEMg
aW4gYnVpbGQgc2NyaXB0cyBhbmQgc291cmNlIGNvZGVzIHRvIGZpeAorICAgICAgICBidWlsZCBi
cmVhayBvbiBDTWFrZSBiYXNlZCBwb3J0cyBhbmQgR3RrIChhbmQgbWF5YmUgSU9TKS4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogUGxhdGZvcm0vSVBDL3VuaXgvQXR0
YWNobWVudFVuaXguY3BwOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25V
bml4LmNwcDoKKyAgICAgICAgKiBQbGF0Zm9ybS91bml4L1NoYXJlZE1lbW9yeVVuaXguY3BwOgor
ICAgICAgICAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZTo6ZW5jb2RlKToKKyAgICAgICAg
KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGU6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6
OlNoYXJlZE1lbW9yeTo6SGFuZGxlOjpyZWxlYXNlVG9BdHRhY2htZW50KToKKyAgICAgICAgKiBQ
bGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAg
KiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNvb3JkaW5hdGVkU3VyZmFjZTo6SGFuZGxlOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDb29yZGluYXRlZFN1cmZhY2U6OkhhbmRsZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQv
Q29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaDoKKyAgICAgICAgKiBT
aGFyZWQvRG93bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RG93bmxvYWRDbGllbnQ6OmRvd25sb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYktpdDo6RG93bmxv
YWQ6OmNhbmNlbCk6CisgICAgICAgICogU2hhcmVkL1dlYkJhdHRlcnlTdGF0dXMuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhOjplbmNvZGUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJCYXR0ZXJ5U3RhdHVzLmg6CisgICAgICAgICogU2hhcmVkL1dlYk5ldHdvcmtJbmZvLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViTmV0d29ya0luZm86OkRhdGE6OmVuY29kZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5ldHdvcmtJbmZvOjpEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNo
YXJlZC9XZWJOZXR3b3JrSW5mby5oOgorICAgICAgICAqIFNoYXJlZC9jYWlyby9MYXllclRyZWVD
b250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb250ZXh0OjplbmNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb250ZXh0OjpkZWNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9lZmwvTGF5ZXJUcmVlQ29udGV4dEVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZUNvbnRleHQ6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNv
bnRleHQ6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL2d0ay9Bcmd1bWVudENvZGVyc0d0ay5j
cHA6CisgICAgICAgICogU2hhcmVkL2d0ay9Bcmd1bWVudENvZGVyc0d0ay5oOgorICAgICAgICAq
IFNoYXJlZC9ndGsvTGF5ZXJUcmVlQ29udGV4dEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUNvbnRleHQ6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvbnRl
eHQ6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL2lvcy9XZWJQbGF0Zm9ybVRvdWNoUG9pbnRJ
T1MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OmVuY29kZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtVG91Y2hQb2ludDo6ZGVjb2RlKToKKyAgICAg
ICAgKiBTaGFyZWQvaW9zL1dlYlRvdWNoRXZlbnRJT1MuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJUb3VjaEV2ZW50OjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJUb3VjaEV2ZW50Ojpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2Fs
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok9wZW5TeXNjYWxsOjplbmNvZGUpOgorICAgICAgICAo
V2ViS2l0OjpPcGVuU3lzY2FsbDo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6T3BlblN5c2Nh
bGxSZXN1bHQ6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6Ok9wZW5TeXNjYWxsUmVzdWx0Ojpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2Fs
bC5oOgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJva2Vy
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2VjY29tcEJyb2tlckNsaWVudDo6ZGlzcGF0Y2gpOgor
ICAgICAgICAoV2ViS2l0OjpTZWNjb21wQnJva2VyOjpydW5Mb29wKToKKyAgICAgICAgKiBTaGFy
ZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN5
c2NhbGw6OmNyZWF0ZUZyb21EZWNvZGVyKToKKyAgICAgICAgKFdlYktpdDo6U3lzY2FsbFJlc3Vs
dDo6Y3JlYXRlRnJvbURlY29kZXIpOgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9TeXNjYWxsLmg6CisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZv
Pjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+
OjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06Cisg
ICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjphY2Nlc3NpYmlsaXR5V2ViUHJvY2Vzc1Rv
a2VuUmVjZWl2ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9s
bGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW06
CisgICAgICAgIChXZWJLaXQ6OmNvbnZlcnRQb3N0U2NyaXB0RGF0YVNvdXJjZVRvUERGKToKKyAg
ICAgICAgKFdlYktpdDo6UERGVmlld0NvbnRyb2xsZXI6OnNldFBERkRvY3VtZW50RGF0YSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5n
QXJlYVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OnJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW5z
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzYXZlUERGVG9UZW1wb3JhcnlGb2xk
ZXJBbmRPcGVuV2l0aE5hdGl2ZUFwcGxpY2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mvc291
cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQmF0
dGVyeS9XZWJCYXR0ZXJ5TWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29ya0lu
Zm8vV2ViTmV0d29ya0luZm9NYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9ndGsvV2ViRWRpdG9yQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
RWRpdG9yQ2xpZW50OjpnZXRFZGl0b3JDb21tYW5kc0ZvcktleUV2ZW50KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdB
cmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWREcmF3aW5nQXJlYTo6ZGlkUmVj
ZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGlu
YXRlZExheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpyZWdpc3RlclVJUHJvY2Vzc0FjY2Vzc2li
aWxpdHlUb2tlbnMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvaW9zL1dlYlByb2Nlc3NJT1MubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
ICAgICAgICAqIFdlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OmRpZEhhbmRsZVVSSVJlcXVlc3Qp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OmRpZFJlY2VpdmVVUklS
ZXF1ZXN0RGF0YSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFu
YWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIu
bWVzc2FnZXMuaW46CisKIDIwMTMtMTItMzAgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZW1wdHkgZGlyZWN0b3JpZXMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlz
dHMudHh0CmluZGV4IDY4MDU1ODk1NTgyNWJkNjhlNDU1NzZkNDhlZTg2OGViN2VlZjFlMzcuLjA4
MGIwZGE0ZjNhYmExYWRlYWNiOWUwY2JmMTY5YjI3NDcxYzkxYjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMu
dHh0CkBAIC00LDcgKzQsNiBAQCBzZXQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzIgogICAgICIke1dFQktJVDJfRElSfS9OZXR3
b3JrUHJvY2Vzcy9GaWxlQVBJIgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybSIKLSAgICAi
JHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vQ29yZUlQQyIKICAgICAiJHtXRUJLSVQyX0RJUn0vUGxh
dGZvcm0vSVBDIgogICAgICIke1dFQktJVDJfRElSfS9QbHVnaW5Qcm9jZXNzIgogICAgICIke1dF
QktJVDJfRElSfS9TaGFyZWQiCkBAIC0xNjIsMTYgKzE2MSwxNSBAQCBzZXQoV2ViS2l0Ml9TT1VS
Q0VTCiAgICAgUGxhdGZvcm0vTW9kdWxlLmNwcAogICAgIFBsYXRmb3JtL1dvcmtRdWV1ZS5jcHAK
IAotICAgIFBsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuY3BwCi0gICAgUGxhdGZvcm0v
Q29yZUlQQy9Bcmd1bWVudERlY29kZXIuY3BwCi0gICAgUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dEVuY29kZXIuY3BwCi0gICAgUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmNwcAotICAgIFBs
YXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5jcHAKLSAgICBQbGF0Zm9ybS9Db3JlSVBDL01lc3Nh
Z2VEZWNvZGVyLmNwcAotICAgIFBsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUVuY29kZXIuY3BwCi0g
ICAgUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuY3BwCi0KKyAgICBQbGF0Zm9y
bS9JUEMvQXJndW1lbnRDb2RlcnMuY3BwCisgICAgUGxhdGZvcm0vSVBDL0FyZ3VtZW50RGVjb2Rl
ci5jcHAKKyAgICBQbGF0Zm9ybS9JUEMvQXJndW1lbnRFbmNvZGVyLmNwcAorICAgIFBsYXRmb3Jt
L0lQQy9BdHRhY2htZW50LmNwcAorICAgIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAogICAg
IFBsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNlLmNwcAorICAgIFBsYXRmb3JtL0lQQy9NZXNzYWdl
RGVjb2Rlci5jcHAKKyAgICBQbGF0Zm9ybS9JUEMvTWVzc2FnZUVuY29kZXIuY3BwCisgICAgUGxh
dGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5jcHAKICAgICBQbGF0Zm9ybS9JUEMvTWVzc2Fn
ZVNlbmRlci5jcHAKICAgICBQbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNwcAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJLaXQyL0dO
VW1ha2VmaWxlLmFtCmluZGV4IGE1YzgxOTg4ZjQxMWVmN2M0MjU3NmUyNmU1NTY0M2NlNjIxYTY2
ZGYuLjFiMWZlZDYzZTE3YmNkYzQwNGZkODdmMThjYWMyZjM0YzAzMmU2MTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1h
a2VmaWxlLmFtCkBAIC01MCw4ICs1MCw3IEBAIGxpYldlYktpdDJQbGF0Zm9ybV9sYV9DUFBGTEFH
UyA9IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XVEYgXAog
CS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtIFwKLQktSSQoc3JjZGlyKS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDIFwKLQktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ayBcCisJLUkkKHNyY2RpcikvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL2d0ayBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
IFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsgXAogCS1JJCh0b3Bf
YnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZSBcCkBAIC05MCw4ICs4OSw3
IEBAIGxpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdU
S19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ1BQCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL0ZpbGVBUEkgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtIFwKLQkt
SSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDIFwKLQktSSQoc3JjZGly
KS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ayBcCisJLUkkKHNyY2RpcikvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL2d0ayBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9n
dGsgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MgXApAQCAtNzE4
LDcgKzcxNiw2IEBAIFByb2dyYW1zX1dlYktpdFBsdWdpblByb2Nlc3NfQ1BQRkxBR1MgPSBcCiAJ
LWluY2x1ZGUgJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1dlYktpdDJQcmVmaXguaCBcCiAJLUkk
KHNyY2RpcikvU291cmNlL1dlYktpdDIgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtIFwKLQktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDLyBc
CiAJLUkkKHNyY2RpcikvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDIFwKIAktSSQoc3JjZGly
KS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzLyBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy91bml4IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IGEyYWZlOWFmNzZmYjFiZGFhOTVjYTFjMzNlYmFjZDU0MmFmMzJjNTUuLmM1MzUxNThhZGQ1
MDRhMWRmNjRiYWU3YjM0ZGY4Y2U3MzQ0ZWNhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMjgxLDI5ICsyODEsMjkgQEAgd2Via2l0Mmd0a19idWlsdF9zb3VyY2VzICs9IFwK
IAlEZXJpdmVkU291cmNlcy9XZWJLaXQyL3dlYmtpdDJndGsvd2Via2l0Mi9XZWJLaXRWZXJzaW9u
LmgKIAogd2Via2l0MnBsYXRmb3JtX3NvdXJjZXMgKz0gXAotCVNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvQXJndW1lbnRDb2Rlci5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0FyZ3VtZW50Q29kZXJzLmNwcCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9Bcmd1bWVudENvZGVycy5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0FyZ3VtZW50RGVjb2Rlci5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
QXJndW1lbnREZWNvZGVyLmggXAotCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJn
dW1lbnRFbmNvZGVyLmNwcCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudEVuY29kZXIuaCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dHMuaCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmNwcCBc
Ci0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmggXAotCVNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5jcHAgXAotCVNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2UuaCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9NZXNzYWdlRGVjb2Rlci5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0Nv
cmVJUEMvTWVzc2FnZURlY29kZXIuaCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9NZXNzYWdlRW5jb2Rlci5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
TWVzc2FnZUVuY29kZXIuaCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNz
YWdlRmxhZ3MuaCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlUmVj
ZWl2ZXIuaCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlUmVjZWl2
ZXJNYXAuY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VSZWNl
aXZlck1hcC5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL3VuaXgvQXR0YWNo
bWVudFVuaXguY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL3VuaXgvQ29u
bmVjdGlvblVuaXguY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRD
b2Rlci5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuY3Bw
IFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRDb2RlcnMuaCBcCisJU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAgXAorCVNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1bWVudERlY29kZXIuaCBcCisJU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9Bcmd1bWVudEVuY29kZXIuaCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0FyZ3VtZW50cy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXR0YWNobWVudC5j
cHAgXAorCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9BdHRhY2htZW50LmggXAorCVNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcCBcCisJU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0hhbmRsZU1lc3NhZ2UuaCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VE
ZWNvZGVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VEZWNvZGVy
LmggXAorCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9NZXNzYWdlRW5jb2Rlci5jcHAgXAor
CVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9NZXNzYWdlRW5jb2Rlci5oIFwKKwlTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvTWVzc2FnZUZsYWdzLmggXAorCVNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9NZXNzYWdlUmVjZWl2ZXIuaCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL01lc3NhZ2VSZWNlaXZlck1hcC5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9NZXNzYWdlUmVjZWl2ZXJNYXAuaCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL3Vu
aXgvQXR0YWNobWVudFVuaXguY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvdW5p
eC9Db25uZWN0aW9uVW5peC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9EYXRh
UmVmZXJlbmNlLmNwcCBcCiAJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVu
Y2UuaCBcCiAJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuY3BwIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRV
bml4LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRVbml4
LmNwcAppbmRleCA2Yjc3MGI3N2FmMDEyMzA4NjZiMjg4YzVkNGIxOTlmMDAyYTE0Zjc5Li4wMjJj
NzJkNDFmMjY2NDIxNzY4Y2I4ZGMzNjk0YTQ3ZjU0MDFlODJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL3VuaXgvQXR0YWNobWVudFVuaXguY3BwCkBAIC0yOSw3ICsy
OSw3IEBACiAKICNpbmNsdWRlIDx3dGYvVW5pU3RkRXh0cmFzLmg+CiAKLW5hbWVzcGFjZSBDb3Jl
SVBDIHsKK25hbWVzcGFjZSBJUEMgewogCiBBdHRhY2htZW50OjpBdHRhY2htZW50KGludCBmaWxl
RGVzY3JpcHRvciwgc2l6ZV90IHNpemUpCiAgICAgOiBtX3R5cGUoTWFwcGVkTWVtb3J5VHlwZSkK
QEAgLTUxLDQgKzUxLDQgQEAgdm9pZCBBdHRhY2htZW50OjpkaXNwb3NlKCkKICAgICAgICAgY2xv
c2VXaXRoUmV0cnkobV9maWxlRGVzY3JpcHRvcik7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIENvcmVJ
UEMKK30gLy8gbmFtZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCmluZGV4IGY5NDc2OTIxOWRlNTRiNmJkYzM3ZDYx
YTMxZDIyNGE4NTU3ZjM2OWEuLjI2Y2IwNmI2ZThjMmQxYzdjM2UwMjQ2ZTQ0OTQ2OTkyZTdhNzEx
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rp
b25Vbml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0
aW9uVW5peC5jcHAKQEAgLTUzLDcgKzUzLDcgQEAKICNlbmRpZgogI2VuZGlmIC8vIFNPQ0tfU0VR
UEFDS0VUCiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKK25hbWVzcGFjZSBJUEMgewogCiBzdGF0aWMg
Y29uc3Qgc2l6ZV90IG1lc3NhZ2VNYXhTaXplID0gNDA5NjsKIHN0YXRpYyBjb25zdCBzaXplX3Qg
YXR0YWNobWVudE1heEFtb3VudCA9IDI1NTsKQEAgLTUzMyw0ICs1MzMsNCBAQCBDb25uZWN0aW9u
OjpTb2NrZXRQYWlyIENvbm5lY3Rpb246OmNyZWF0ZVBsYXRmb3JtQ29ubmVjdGlvbigpCiAgICAg
cmV0dXJuIHNvY2tldFBhaXI7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIENvcmVJUEMKK30gLy8gbmFt
ZXNwYWNlIElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vdW5peC9TaGFy
ZWRNZW1vcnlVbml4LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3VuaXgvU2hhcmVkTWVt
b3J5VW5peC5jcHAKaW5kZXggNzYwYThhYjFjODg2OGNkOWM3MjFiMGZiNGZhZmVmNDFkOGNkY2E0
Zi4uNjM4MGNjZDBlYzYyYzYzNjAxYzZkNDdjYWUzMDkxYmYzMzFkMmE0YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vdW5peC9TaGFyZWRNZW1vcnlVbml4LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS91bml4L1NoYXJlZE1lbW9yeVVuaXguY3BwCkBAIC02Mywx
NyArNjMsMTcgQEAgYm9vbCBTaGFyZWRNZW1vcnk6OkhhbmRsZTo6aXNOdWxsKCkgY29uc3QKICAg
ICByZXR1cm4gbV9maWxlRGVzY3JpcHRvciA9PSAtMTsKIH0KIAotdm9pZCBTaGFyZWRNZW1vcnk6
OkhhbmRsZTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QK
K3ZvaWQgU2hhcmVkTWVtb3J5OjpIYW5kbGU6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IHJlbGVhc2VUb0F0dGFjaG1lbnQoKTsK
IH0KIAotYm9vbCBTaGFyZWRNZW1vcnk6OkhhbmRsZTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgSGFuZGxlJiBoYW5kbGUpCitib29sIFNoYXJlZE1lbW9yeTo6SGFu
ZGxlOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIEhhbmRsZSYgaGFuZGxl
KQogewogICAgIEFTU0VSVF9BUkcoaGFuZGxlLCAhaGFuZGxlLm1fc2l6ZSk7CiAgICAgQVNTRVJU
X0FSRyhoYW5kbGUsIGhhbmRsZS5pc051bGwoKSk7CiAKLSAgICBDb3JlSVBDOjpBdHRhY2htZW50
IGF0dGFjaG1lbnQ7CisgICAgSVBDOjpBdHRhY2htZW50IGF0dGFjaG1lbnQ7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShhdHRhY2htZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC04
MSwxMSArODEsMTEgQEAgYm9vbCBTaGFyZWRNZW1vcnk6OkhhbmRsZTo6ZGVjb2RlKENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgSGFuZGxlJiBoYW4KICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotQ29yZUlQQzo6QXR0YWNobWVudCBTaGFyZWRNZW1vcnk6OkhhbmRsZTo6cmVsZWFzZVRv
QXR0YWNobWVudCgpIGNvbnN0CitJUEM6OkF0dGFjaG1lbnQgU2hhcmVkTWVtb3J5OjpIYW5kbGU6
OnJlbGVhc2VUb0F0dGFjaG1lbnQoKSBjb25zdAogewogICAgIGludCB0ZW1wID0gbV9maWxlRGVz
Y3JpcHRvcjsKICAgICBtX2ZpbGVEZXNjcmlwdG9yID0gLTE7Ci0gICAgcmV0dXJuIENvcmVJUEM6
OkF0dGFjaG1lbnQodGVtcCwgbV9zaXplKTsKKyAgICByZXR1cm4gSVBDOjpBdHRhY2htZW50KHRl
bXAsIG1fc2l6ZSk7CiB9CiAKIHZvaWQgU2hhcmVkTWVtb3J5OjpIYW5kbGU6OmFkb3B0RnJvbUF0
dGFjaG1lbnQoaW50IGZpbGVEZXNjcmlwdG9yLCBzaXplX3Qgc2l6ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1F
ZmwuY21ha2UKaW5kZXggMzQ0YWJmMGQzZmY2YWFmMDY0YWUzZTZjNjdhOTlmMzgxZmFlNTQ0My4u
NjM5NmRjNGZlMGJjZjcyNjdlNzVmMTZmMmYwNzI4MGVmZjI2ZGI3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm1FZmwuY21ha2UKQEAgLTUsOCArNSw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwog
CiAgICAgTmV0d29ya1Byb2Nlc3MvdW5peC9OZXR3b3JrUHJvY2Vzc01haW5Vbml4LmNwcAogCi0g
ICAgUGxhdGZvcm0vQ29yZUlQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcAotICAgIFBsYXRmb3Jt
L0NvcmVJUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKKyAgICBQbGF0Zm9ybS9JUEMvdW5peC9B
dHRhY2htZW50VW5peC5jcHAKKyAgICBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5j
cHAKIAogICAgIFBsYXRmb3JtL2VmbC9EaXNwYXRjaFF1ZXVlRWZsLmNwcAogICAgIFBsYXRmb3Jt
L2VmbC9Mb2dnaW5nRWZsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1H
VEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCA4N2FjNTEw
YTIwYjVlYzRkNDI3NjhiOTc5ZjM5NWUwYmU0YzM1OTc1Li41NmRiYzFmMmQ1Mzc0YjQ5ZDYzZGQz
NWZhODVlZjhhMmI3YzJlMTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTgsOCAr
MTgsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICAke0RFUklWRURfU09VUkNF
U19XRUJLSVQyR1RLX0FQSV9ESVJ9L1dlYktpdEVudW1UeXBlcy5jcHAKICAgICAke0RFUklWRURf
U09VUkNFU19XRUJLSVQyR1RLX0FQSV9ESVJ9L1dlYktpdE1hcnNoYWwuY3BwCiAKLSAgICBQbGF0
Zm9ybS9Db3JlSVBDL3VuaXgvQXR0YWNobWVudFVuaXguY3BwCi0gICAgUGxhdGZvcm0vQ29yZUlQ
Qy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAorICAgIFBsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1l
bnRVbml4LmNwcAorICAgIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAogCiAg
ICAgUGxhdGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwCiAgICAgUGxhdGZvcm0vZ3RrL01vZHVsZUd0
ay5jcHAKQEAgLTUwNCwyMiArNTA0LDIxIEBAIGlmIChFTkFCTEVfUExVR0lOX1BST0NFU1MpCiAg
ICAgICAgIFBsYXRmb3JtL01vZHVsZS5jcHAKICAgICAgICAgUGxhdGZvcm0vV29ya1F1ZXVlLmNw
cAogCi0gICAgICAgIFBsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuY3BwCi0gICAgICAg
IFBsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmNwcAotICAgICAgICBQbGF0Zm9ybS9D
b3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAKLSAgICAgICAgUGxhdGZvcm0vQ29yZUlQQy9BdHRh
Y2htZW50LmNwcAotICAgICAgICBQbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uY3BwCi0gICAg
ICAgIFBsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZURlY29kZXIuY3BwCi0gICAgICAgIFBsYXRmb3Jt
L0NvcmVJUEMvTWVzc2FnZUVuY29kZXIuY3BwCi0gICAgICAgIFBsYXRmb3JtL0NvcmVJUEMvTWVz
c2FnZVJlY2VpdmVyTWFwLmNwcAotCi0gICAgICAgIFBsYXRmb3JtL0NvcmVJUEMvdW5peC9BdHRh
Y2htZW50VW5peC5jcHAKLSAgICAgICAgUGxhdGZvcm0vQ29yZUlQQy91bml4L0Nvbm5lY3Rpb25V
bml4LmNwcAotCisgICAgICAgIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKKyAgICAg
ICAgUGxhdGZvcm0vSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKKyAgICAgICAgUGxhdGZvcm0vSVBD
L0FyZ3VtZW50RW5jb2Rlci5jcHAKKyAgICAgICAgUGxhdGZvcm0vSVBDL0F0dGFjaG1lbnQuY3Bw
CisgICAgICAgIFBsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAogICAgICAgICBQbGF0Zm9ybS9J
UEMvRGF0YVJlZmVyZW5jZS5jcHAKKyAgICAgICAgUGxhdGZvcm0vSVBDL01lc3NhZ2VEZWNvZGVy
LmNwcAorICAgICAgICBQbGF0Zm9ybS9JUEMvTWVzc2FnZUVuY29kZXIuY3BwCisgICAgICAgIFBs
YXRmb3JtL0lQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuY3BwCiAgICAgICAgIFBsYXRmb3JtL0lQQy9N
ZXNzYWdlU2VuZGVyLmNwcAogICAgICAgICBQbGF0Zm9ybS9JUEMvU3RyaW5nUmVmZXJlbmNlLmNw
cAogCisgICAgICAgIFBsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcAorICAgICAg
ICBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKKwogICAgICAgICBQbGF0Zm9y
bS9ndGsvTG9nZ2luZ0d0ay5jcHAKICAgICAgICAgUGxhdGZvcm0vZ3RrL01vZHVsZUd0ay5jcHAK
ICAgICAgICAgUGxhdGZvcm0vZ3RrL1dvcmtRdWV1ZUd0ay5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NB
cmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDNiYTQ2NmJj
NTAxNzAyZjk4NDA3MjcyZTM0MWEzM2QzYjE0YmNjZGQuLjMwNzNkY2U1YThlOTJkY2QwM2M2YWIx
MDdiMzFmY2ViMDQ3YmVmYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRH
cmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcApAQCAtNzcsNyArNzcsNyBAQAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1uYW1lc3BhY2UgQ29yZUlQ
QyB7CituYW1lc3BhY2UgSVBDIHsKIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKIHZvaWQgQXJn
dW1lbnRDb2RlcjxXZWJDb3JlOjpGaWx0ZXJPcGVyYXRpb25zPjo6ZW5jb2RlKEFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucyYgZmlsdGVycykK
QEAgLTExODQsNiArMTE4NCw2IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxDb29yZGluYXRlZEdyYXBo
aWNzU3RhdGU+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLX0gLy8gbmFtZXNwYWNlIENvcmVJUEMKK30gLy8gbmFtZXNwYWNlIElQQwog
CiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0Fy
Z3VtZW50Q29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuaAppbmRleCA2ZTBkNjljZTg0Yzc4
MWNjNWVhOTc2YjcyM2YzMWI0YTBmZTQ3M2VhLi5hM2NkYzA0MWQxZDNmNWMwZDkzOWI4MjQyNDFl
ZjJlNDY4NmJjMjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNz
QXJndW1lbnRDb2RlcnMuaApAQCAtNTcsNyArNTcsNyBAQCBzdHJ1Y3QgR3JhcGhpY3NTdXJmYWNl
VG9rZW47CiAjZW5kaWYKIH0KIAotbmFtZXNwYWNlIENvcmVJUEMgeworbmFtZXNwYWNlIElQQyB7
CiAKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+IHsKQEAgLTEyMCw3ICsxMjAsNyBAQCB0ZW1w
bGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NT
dGF0ZT4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3Jl
OjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmKTsKIH07CiAKLX0gLy8gbmFtZXNwYWNlIENvcmVJ
UEMKK30gLy8gbmFtZXNwYWNlIElQQwogCiAjZW5kaWYgLy8gVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvV2ViQ29vcmRpbmF0ZWRTdXJmYWNlLmNwcAppbmRleCAxYTBmYTJi
MTRhYjU3NTc3ODk3MzUwZTU0Y2M3NWRkOTg5ODE0MjZhLi5mNDY0N2NiMTZjZjE1YTQxNjJiNjA2
YjI3ZjYyMmFmOGMyZmMxNWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5j
cHAKQEAgLTM5LDcgKzM5LDcgQEAgV2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpIYW5kbGU6OkhhbmRs
ZSgpCiB7CiB9CiAKLXZvaWQgV2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpIYW5kbGU6OmVuY29kZShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit2b2lkIFdlYkNvb3JkaW5h
dGVkU3VyZmFjZTo6SGFuZGxlOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBtX3NpemUgPDwgbV9mbGFnczsKICNpZiBVU0UoR1JB
UEhJQ1NfU1VSRkFDRSkKQEAgLTUwLDcgKzUwLDcgQEAgdm9pZCBXZWJDb29yZGluYXRlZFN1cmZh
Y2U6OkhhbmRsZTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY28K
ICAgICBlbmNvZGVyIDw8IG1fYml0bWFwSGFuZGxlOwogfQogCi1ib29sIFdlYkNvb3JkaW5hdGVk
U3VyZmFjZTo6SGFuZGxlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBIYW5kbGUmIGhhbmRsZSkKK2Jvb2wgV2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpIYW5kbGU6OmRl
Y29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgSGFuZGxlJiBoYW5kbGUpCiB7CiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShoYW5kbGUubV9zaXplKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViQ29vcmRpbmF0ZWRTdXJmYWNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRp
bmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaAppbmRleCAwZDgxMGY2OTBmNDQy
MzUyNjljM2E5ODQ2NjJhMWU3MzE4ZGQ1MGUxLi5hNDMwMzkyOGZlMDBkNTUzNTg5ZTU0YzkxYTMw
OGZhZDJjZTE5M2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaApAQCAtNDMs
OCArNDMsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKIAotICAg
ICAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICAg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIEhhbmRsZSYp
OworICAgICAgICB2b2lkIGVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OworICAg
ICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImLCBIYW5kbGUmKTsK
IAogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQogICAgICAgICBXZWJDb3JlOjpHcmFwaGljc1N1
cmZhY2VUb2tlbiBncmFwaGljc1N1cmZhY2VUb2tlbigpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhcGhp
Y3NTdXJmYWNlVG9rZW47IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3du
bG9hZHMvc291cC9Eb3dubG9hZFNvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25s
b2Fkcy9zb3VwL0Rvd25sb2FkU291cC5jcHAKaW5kZXggZDBlZWJiNWRlNTJiMzI5MDM4ZTAxZjVm
N2U4NjhiNmU1ODRmZTE1Mi4uYTVhMDhiNjE5N2ZmMjVkYmIzZjNlMzEzMjVjZDA5ODE3ZDhkNjdm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rvd25s
b2FkU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rv
d25sb2FkU291cC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBkb3du
bG9hZEZhaWxlZChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKICAgICB7Ci0gICAgICAgIG1f
ZG93bmxvYWQtPmRpZEZhaWwoZXJyb3IsIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoKSk7CisgICAg
ICAgIG1fZG93bmxvYWQtPmRpZEZhaWwoZXJyb3IsIElQQzo6RGF0YVJlZmVyZW5jZSgpKTsKICAg
ICB9CiAKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShSZXNvdXJjZUhhbmRsZSosIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQpAQCAtMjA0LDcgKzIwNCw3IEBAIHZvaWQgRG93
bmxvYWQ6OmNhbmNlbCgpCiAgICAgaWYgKCFtX3Jlc291cmNlSGFuZGxlKQogICAgICAgICByZXR1
cm47CiAgICAgbV9yZXNvdXJjZUhhbmRsZS0+Y2FuY2VsKCk7Ci0gICAgZGlkQ2FuY2VsKENvcmVJ
UEM6OkRhdGFSZWZlcmVuY2UoKSk7CisgICAgZGlkQ2FuY2VsKElQQzo6RGF0YVJlZmVyZW5jZSgp
KTsKICAgICBtX3Jlc291cmNlSGFuZGxlID0gMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkJhdHRlcnlTdGF0dXMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYkJhdHRlcnlTdGF0dXMuY3BwCmluZGV4IGNiMDE3ZGMxYTExNjU2YjA5N2Q4ZmI1ZWJhZDIz
MjA0ZGVjNjQ1ZGIuLmQwMTJkNzA2M2I2MDViZDQxMTM4M2ZkYjNkNTJiOGZhNzM2Yjk3OWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJCYXR0ZXJ5U3RhdHVzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQmF0dGVyeVN0YXR1cy5jcHAKQEAgLTQ1LDcgKzQ1
LDcgQEAgV2ViQmF0dGVyeVN0YXR1czo6fldlYkJhdHRlcnlTdGF0dXMoKQogewogfQogCi12b2lk
IFdlYkJhdHRlcnlTdGF0dXM6OkRhdGE6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIm
IGVuY29kZXIpIGNvbnN0Cit2b2lkIFdlYkJhdHRlcnlTdGF0dXM6OkRhdGE6OmVuY29kZShJUEM6
OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IGlzQ2hh
cmdpbmc7CiAgICAgZW5jb2RlciA8PCBjaGFyZ2luZ1RpbWU7CkBAIC01Myw3ICs1Myw3IEBAIHZv
aWQgV2ViQmF0dGVyeVN0YXR1czo6RGF0YTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rl
ciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IGxldmVsOwogfQogCi1ib29sIFdlYkJh
dHRlcnlTdGF0dXM6OkRhdGE6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29k
ZXIsIERhdGEmIHJlc3VsdCkKK2Jvb2wgV2ViQmF0dGVyeVN0YXR1czo6RGF0YTo6ZGVjb2RlKElQ
Qzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBEYXRhJiByZXN1bHQpCiB7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQuaXNDaGFyZ2luZykpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJCYXR0ZXJ5U3RhdHVzLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQmF0dGVyeVN0YXR1cy5oCmluZGV4IDgzNmU0NGU3MTA4
YjNjMDIzNzQ3NTU1OWQ5NWNkNDM2MTkwYTJjZGQuLmFhNjBiOGZhNzJhYjA5ZTNiODlkYjQxMTJk
MGFmZDFhOWJjMTc5NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJCYXR0
ZXJ5U3RhdHVzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkJhdHRlcnlTdGF0dXMu
aApAQCAtMzgsOCArMzgsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkJhdHRlcnlT
dGF0dXMgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpCYXR0ZXJ5
U3RhdHVzPiB7CiBwdWJsaWM6CiAgICAgc3RydWN0IERhdGEgewotICAgICAgICB2b2lkIGVuY29k
ZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICAgICAgc3RhdGljIGJvb2wg
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIERhdGEmKTsKKyAgICAgICAgdm9pZCBl
bmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKKyAgICAgICAgc3RhdGljIGJvb2wg
ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiwgRGF0YSYpOwogCiAgICAgICAgIGJvb2wgaXND
aGFyZ2luZzsKICAgICAgICAgZG91YmxlIGNoYXJnaW5nVGltZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJOZXR3b3JrSW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViTmV0d29ya0luZm8uY3BwCmluZGV4IDVlYjY2YTdmM2MzY2RjYTlkYTJjODNkNmEyNDZi
NTJjNzNlYTczMzIuLjA0ZmNlODk5ODFmMzBkYThiZDIxYzQ0NTVhYTU2OGY4ZGQ1ZmExYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJOZXR3b3JrSW5mby5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk5ldHdvcmtJbmZvLmNwcApAQCAtNDMsMTMgKzQzLDEz
IEBAIFdlYk5ldHdvcmtJbmZvOjp+V2ViTmV0d29ya0luZm8oKQogewogfQogCi12b2lkIFdlYk5l
dHdvcmtJbmZvOjpEYXRhOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAordm9pZCBXZWJOZXR3b3JrSW5mbzo6RGF0YTo6ZW5jb2RlKElQQzo6QXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewogICAgIGVuY29kZXIgPDwgYmFuZHdpZHRoOwogICAg
IGVuY29kZXIgPDwgbWV0ZXJlZDsKIH0KIAotYm9vbCBXZWJOZXR3b3JrSW5mbzo6RGF0YTo6ZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgRGF0YSYgcmVzdWx0KQorYm9v
bCBXZWJOZXR3b3JrSW5mbzo6RGF0YTo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNv
ZGVyLCBEYXRhJiByZXN1bHQpCiB7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuYmFu
ZHdpZHRoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYk5ldHdvcmtJbmZvLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTmV0
d29ya0luZm8uaAppbmRleCA2MWFjNWVlOTY3Zjg2MjAwMWQwMjIyYjlkOGY2MDYyNWM5MDRiNWM5
Li5lYzU3NWQwZGJmM2UzM2EyOTE2Yzk2Zjg3MjU3ZjViMjM4OTZjOWQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTmV0d29ya0luZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViTmV0d29ya0luZm8uaApAQCAtMzgsOCArMzgsOCBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIGNsYXNzIFdlYk5ldHdvcmtJbmZvIDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6
Ok9iamVjdDo6VHlwZTo6TmV0d29ya0luZm8+IHsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgRGF0YSB7
Ci0gICAgICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owot
ICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgRGF0
YSYpOworICAgICAgICB2b2lkIGVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owor
ICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImLCBEYXRhJik7
CiAKICAgICAgICAgZG91YmxlIGJhbmR3aWR0aDsKICAgICAgICAgYm9vbCBtZXRlcmVkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2NhaXJvL0xheWVyVHJlZUNvbnRleHRDYWly
by5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2Fpcm8vTGF5ZXJUcmVlQ29udGV4dENhaXJv
LmNwcAppbmRleCA1Mjk3MmE1YzdhYzhiOTg2NzI4M2Q4Nzg4ZTgxMjljMDQyMjEzODYzLi5kZGVj
ZDUwZTc5NjNkNDY2OTI1ZDg3NWY0N2NhZTc5NTc0NTAyZWNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvY2Fpcm8vTGF5ZXJUcmVlQ29udGV4dENhaXJvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvY2Fpcm8vTGF5ZXJUcmVlQ29udGV4dENhaXJvLmNwcApAQCAtNDAs
MTIgKzQwLDEyIEBAIExheWVyVHJlZUNvbnRleHQ6On5MYXllclRyZWVDb250ZXh0KCkKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIExheWVyVHJlZUNvbnRleHQ6OmVuY29kZShDb3Jl
SVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdAordm9pZCBMYXllclRyZWVDb250ZXh0OjplbmNv
ZGUoSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdAogewogICAgIG5vdEltcGxlbWVudGVkKCk7
CiB9CiAKLWJvb2wgTGF5ZXJUcmVlQ29udGV4dDo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciYsIExheWVyVHJlZUNvbnRleHQmKQorYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNvZGUo
SVBDOjpBcmd1bWVudERlY29kZXImLCBMYXllclRyZWVDb250ZXh0JikKIHsKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL2VmbC9MYXllclRyZWVDb250ZXh0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9lZmwvTGF5ZXJUcmVlQ29udGV4dEVmbC5jcHAKaW5kZXggODRkN2JlZDQ4YWM5MTcyYTA5YjJj
ZDdlYTkyZjJlMDcxOWZiMmUzNi4uYzI3MjQyMGRjMjMzYTBhN2Q5ZTdkYWQwMDYxY2JkMzA1NDM5
ODBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9MYXllclRyZWVDb250
ZXh0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL0xheWVyVHJlZUNvbnRl
eHRFZmwuY3BwCkBAIC00MCwxMiArNDAsMTIgQEAgTGF5ZXJUcmVlQ29udGV4dDo6fkxheWVyVHJl
ZUNvbnRleHQoKQogewogfQogCi12b2lkIExheWVyVHJlZUNvbnRleHQ6OmVuY29kZShDb3JlSVBD
OjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit2b2lkIExheWVyVHJlZUNvbnRleHQ6
OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNv
ZGVyIDw8IGNvb3JkaW5hdGVkTGF5ZXJJRDsKIH0KIAotYm9vbCBMYXllclRyZWVDb250ZXh0Ojpk
ZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBMYXllclRyZWVDb250ZXh0
JiBjb250ZXh0KQorYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNvZGUoSVBDOjpBcmd1bWVudERl
Y29kZXImIGRlY29kZXIsIExheWVyVHJlZUNvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgcmV0dXJu
IGRlY29kZXIuZGVjb2RlKGNvbnRleHQuY29vcmRpbmF0ZWRMYXllcklEKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvQXJndW1lbnRDb2RlcnNHdGsuY3BwIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Bcmd1bWVudENvZGVyc0d0ay5jcHAKaW5kZXggMjUyYjdi
MDM3Yzk5M2I1ZWYwMmU1MjM3MzhhM2JkMTlhYjk0ZWJiYy4uMTEyZTc5ODNhNDdmOThkZDM0YzAz
NTEyODA3MzMwZGU2ODQ2ZmZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0
ay9Bcmd1bWVudENvZGVyc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9B
cmd1bWVudENvZGVyc0d0ay5jcHAKQEAgLTM5LDcgKzM5LDcgQEAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotbmFtZXNwYWNlIENvcmVJUEMgewor
bmFtZXNwYWNlIElQQyB7CiAKIHN0YXRpYyB2b2lkIGVuY29kZUltYWdlKEFyZ3VtZW50RW5jb2Rl
ciYgZW5jb2RlciwgY29uc3QgR2RrUGl4YnVmKiBwaXhidWYpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL0FyZ3VtZW50Q29kZXJzR3RrLmggYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvZ3RrL0FyZ3VtZW50Q29kZXJzR3RrLmgKaW5kZXggZmJhYWE5NGVhYTBmYmFhN2E5
OWY4NjVkNDk0ZDgzYTU1NmM5MTAwNy4uZWNiMjFhYTJkZDZhMjU3ZTIyZjNlZWM0OGFmNjcwMWI3
MjViNjQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Bcmd1bWVudENv
ZGVyc0d0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvQXJndW1lbnRDb2RlcnNH
dGsuaApAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBEYXRhT2JqZWN0R3RrOwogY2xhc3MgRHJhZ0Rh
dGE7CiB9CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKK25hbWVzcGFjZSBJUEMgewogCiB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkRyYWdEYXRhPiB7CiAgICAgc3RhdGlj
IHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkRyYWdEYXRhJik7
CkBAIC01MCw2ICs1MCw2IEBAIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIEdSZWZQdHI8
R3RrUHJpbnRTZXR0aW5ncz4mKTsKIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIEd0a1Bh
Z2VTZXR1cCopOwogYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgR1JlZlB0cjxHdGtQYWdl
U2V0dXA+Jik7CiAKLX0gLy8gbmFtZXNwYWNlIENvcmVJUEMKK30gLy8gbmFtZXNwYWNlIElQQwog
CiAjZW5kaWYgLy8gQXJndW1lbnRDb2RlcnNHdGtfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL2d0ay9MYXllclRyZWVDb250ZXh0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9ndGsvTGF5ZXJUcmVlQ29udGV4dEd0ay5jcHAKaW5kZXggYmZkNDU5MmNjZmExMGQzNDEz
OThkNWY4NzM0MjJiMjhkZmZjYTYxNC4uNWJhNzlkMzM3MjUzMjM5Mzk0NWZkMzU0YzNmNjgwNDUz
MGUzNDQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9MYXllclRyZWVD
b250ZXh0R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL0xheWVyVHJlZUNv
bnRleHRHdGsuY3BwCkBAIC00MCwxMiArNDAsMTIgQEAgTGF5ZXJUcmVlQ29udGV4dDo6fkxheWVy
VHJlZUNvbnRleHQoKQogewogfQogCi12b2lkIExheWVyVHJlZUNvbnRleHQ6OmVuY29kZShDb3Jl
SVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit2b2lkIExheWVyVHJlZUNvbnRl
eHQ6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBl
bmNvZGVyIDw8IHdpbmRvd0hhbmRsZTsKIH0KIAotYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNv
ZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBMYXllclRyZWVDb250ZXh0JiBj
b250ZXh0KQorYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29k
ZXImIGRlY29kZXIsIExheWVyVHJlZUNvbnRleHQmIGNvbnRleHQpCiB7CiAgICAgcmV0dXJuIGRl
Y29kZXIuZGVjb2RlKGNvbnRleHQud2luZG93SGFuZGxlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9pb3MvV2ViUGxhdGZvcm1Ub3VjaFBvaW50SU9TLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9pb3MvV2ViUGxhdGZvcm1Ub3VjaFBvaW50SU9TLmNwcAppbmRleCA3
ZDYwZmViYTk0N2VhMzcyMTJmOThiYjcxYTQyZjRmMzJiODc0MDFmLi4wYmE5NzAxOGQyNTI2YWYx
N2M5MTQ0NWI1MDBhZTVjYjZjMjBlNjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvaW9zL1dlYlBsYXRmb3JtVG91Y2hQb2ludElPUy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL2lvcy9XZWJQbGF0Zm9ybVRvdWNoUG9pbnRJT1MuY3BwCkBAIC0zNSwxNCArMzUsMTQg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi12b2lk
IFdlYlBsYXRmb3JtVG91Y2hQb2ludDo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKK3ZvaWQgV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjplbmNvZGUoSVBDOjpB
cmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBtX2lkZW50
aWZpZXI7CiAgICAgZW5jb2RlciA8PCBtX2xvY2F0aW9uOwogICAgIGVuY29kZXIgPDwgbV9waGFz
ZTsKIH0KIAotYm9vbCBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OmRlY29kZShDb3JlSVBDOjpBcmd1
bWVudERlY29kZXImIGRlY29kZXIsIFdlYlBsYXRmb3JtVG91Y2hQb2ludCYgcmVzdWx0KQorYm9v
bCBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OmRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgV2ViUGxhdGZvcm1Ub3VjaFBvaW50JiByZXN1bHQpCiB7CiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShyZXN1bHQubV9pZGVudGlmaWVyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9XZWJUb3VjaEV2ZW50SU9TLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvV2ViVG91Y2hFdmVudElPUy5jcHAKaW5kZXggZTY2
ZDA4ODJiYTMzMTMzNmRiMjhiYzRiNzhlYzhhYjNkYTBmN2Y3Yy4uZWU0YWE3ODhiYTliNGFlMDg5
OTQ0ZWJjMWMwYTJiMmQ0NGY0YTRkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L2lvcy9XZWJUb3VjaEV2ZW50SU9TLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9z
L1dlYlRvdWNoRXZlbnRJT1MuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi12b2lkIFdlYlRvdWNoRXZlbnQ6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0Cit2b2lkIFdlYlRvdWNoRXZlbnQ6OmVuY29kZShJUEM6OkFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBXZWJFdmVudDo6ZW5jb2RlKGVuY29k
ZXIpOwogCkBAIC00NSw3ICs0NSw3IEBAIHZvaWQgV2ViVG91Y2hFdmVudDo6ZW5jb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fZ2Vz
dHVyZVJvdGF0aW9uOwogfQogCi1ib29sIFdlYlRvdWNoRXZlbnQ6OmRlY29kZShDb3JlSVBDOjpB
cmd1bWVudERlY29kZXImIGRlY29kZXIsIFdlYlRvdWNoRXZlbnQmIHJlc3VsdCkKK2Jvb2wgV2Vi
VG91Y2hFdmVudDo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBXZWJUb3Vj
aEV2ZW50JiByZXN1bHQpCiB7CiAgICAgaWYgKCFXZWJFdmVudDo6ZGVjb2RlKGRlY29kZXIsIHJl
c3VsdCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvT3BlblN5c2NhbGwuY3BwCmluZGV4IDMw
MjBlYWUyNDEzMzM4NzljZTM3N2ViMDNkMmE0YzllMjEzYWE3YTUuLmZkZTQ4ZTMxMjZiYmIxYTBl
MDY2NmM0NmVjZDg4Y2EwZWM3ZDU4YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL09wZW5TeXNjYWxsLmNwcApAQCAtMTYxLDcg
KzE2MSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsUmVzdWx0PiBPcGVuU3lzY2FsbDo6ZXhl
Y3V0ZShjb25zdCBTeXNjYWxsUG9saWN5JiBwb2xpY3kpCiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91
bmlxdWU8T3BlblN5c2NhbGxSZXN1bHQ+KGZkLCBlcnJvck51bWJlcik7CiB9CiAKLXZvaWQgT3Bl
blN5c2NhbGw6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Cit2b2lkIE9wZW5TeXNjYWxsOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCB0eXBlKCk7CiAgICAgZW5jb2RlciA8PCBtX3BhdGg7
CkBAIC0xNjksNyArMTY5LDcgQEAgdm9pZCBPcGVuU3lzY2FsbDo6ZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fbW9kZTsKIH0K
IAotYm9vbCBPcGVuU3lzY2FsbDo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVj
b2RlcikKK2Jvb2wgT3BlblN5c2NhbGw6OmRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVj
b2RlcikKIHsKICAgICAvLyBtX3R5cGUgYWxyZWFkeSBkZWNvZGVkIGJ5IHRoZSBwYXJlbnQgY2xh
c3MuCiAKQEAgLTE5NCwxOSArMTk0LDE5IEBAIE9wZW5TeXNjYWxsUmVzdWx0Ojp+T3BlblN5c2Nh
bGxSZXN1bHQoKQogICAgICAgICBjbG9zZShtX2ZkKTsKIH0KIAotdm9pZCBPcGVuU3lzY2FsbFJl
c3VsdDo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3Zv
aWQgT3BlblN5c2NhbGxSZXN1bHQ6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IHR5cGUoKTsKIAogICAgIGlmIChtX2ZkID49IDAp
IHsKLSAgICAgICAgQ29yZUlQQzo6QXR0YWNobWVudCBhdHRhY2htZW50KG1fZmQpOworICAgICAg
ICBJUEM6OkF0dGFjaG1lbnQgYXR0YWNobWVudChtX2ZkKTsKICAgICAgICAgZW5jb2Rlci5hZGRB
dHRhY2htZW50KGF0dGFjaG1lbnQpOwogICAgIH0KIAogICAgIGVuY29kZXIgPDwgbV9lcnJvck51
bWJlcjsKIH0KIAotYm9vbCBPcGVuU3lzY2FsbFJlc3VsdDo6ZGVjb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciogZGVjb2RlciwgaW50IGZkKQorYm9vbCBPcGVuU3lzY2FsbFJlc3VsdDo6ZGVj
b2RlKElQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBpbnQgZmQpCiB7CiAgICAgaWYgKGZk
ID49IDApCiAgICAgICAgIG1fZmQgPSBmZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2FsbC5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL09wZW5TeXNjYWxsLmgKaW5kZXggZTY0NmQxYmY4
MTQ2NTM0OTQzZDg4ZGEzNDZkMTg0NmUzYWJjZjEzOC4uNjZlNTI5MjJlOTZjN2M5NGZhNjdhZjk0
MmMzMzQ4Mjk2NzVlNTAyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4
L1NlY2NvbXBGaWx0ZXJzL09wZW5TeXNjYWxsLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L2xpbnV4L1NlY2NvbXBGaWx0ZXJzL09wZW5TeXNjYWxsLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNp
bmNsdWRlICJTeXNjYWxsLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi1uYW1l
c3BhY2UgQ29yZUlQQyB7CituYW1lc3BhY2UgSVBDIHsKIGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsK
IGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKIH0KQEAgLTUyLDggKzUyLDggQEAgcHVibGljOgogICAg
IC8vIFN5c2NhbGwgaW1wbGVtZW50YXRpb24uCiAgICAgdmlydHVhbCB2b2lkIHNldFJlc3VsdChj
b25zdCBTeXNjYWxsUmVzdWx0Kik7CiAgICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8U3lzY2Fs
bFJlc3VsdD4gZXhlY3V0ZShjb25zdCBTeXNjYWxsUG9saWN5Jik7Ci0gICAgdmlydHVhbCB2b2lk
IGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJv
b2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOworICAgIHZpcnR1YWwgdm9pZCBl
bmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgZGVj
b2RlKElQQzo6QXJndW1lbnREZWNvZGVyKik7CiAKIHByaXZhdGU6CiAgICAgQ1N0cmluZyBtX3Bh
dGg7CkBAIC03MCw4ICs3MCw4IEBAIHB1YmxpYzoKICAgICBpbnQgZXJyb3JOdW1iZXIoKSBjb25z
dCB7IHJldHVybiBtX2Vycm9yTnVtYmVyOyB9CiAKICAgICAvLyBTeXNjYWxsUmVzdWx0IGltcGxl
bWVudGF0aW9uLgotICAgIHZpcnR1YWwgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNv
ZGVyJikgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERl
Y29kZXIqLCBpbnQgZmQpOworICAgIHZpcnR1YWwgdm9pZCBlbmNvZGUoSVBDOjpBcmd1bWVudEVu
Y29kZXImKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlKElQQzo6QXJndW1lbnREZWNv
ZGVyKiwgaW50IGZkKTsKIAogcHJpdmF0ZToKICAgICBpbnQgbV9mZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJva2VyLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJv
a2VyLmNwcAppbmRleCBkOWQzYjg4ZjIyZTRlNTAzZDc0MmQyZDY0ZmZkZGNiNjI2M2Y3ZmI1Li41
Y2NhYjE2MTFiNmIwNGU4Mzg2MjliODY5YTBmZjk4M2NmYzMxYmFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1NlY2NvbXBC
cm9rZXIuY3BwCkBAIC0xOTYsNyArMTk2LDcgQEAgU2VjY29tcEJyb2tlckNsaWVudDo6flNlY2Nv
bXBCcm9rZXJDbGllbnQoKQogCiB2b2lkIFNlY2NvbXBCcm9rZXJDbGllbnQ6OmRpc3BhdGNoKFN5
c2NhbGwqIHN5c2NhbGwpIGNvbnN0CiB7Ci0gICAgYXV0byBlbmNvZGVyID0gc3RkOjptYWtlX3Vu
aXF1ZTxDb3JlSVBDOjpBcmd1bWVudEVuY29kZXI+KCk7CisgICAgYXV0byBlbmNvZGVyID0gc3Rk
OjptYWtlX3VuaXF1ZTxJUEM6OkFyZ3VtZW50RW5jb2Rlcj4oKTsKICAgICBlbmNvZGVyLT5lbmNv
ZGUoKnN5c2NhbGwpOwogCiAgICAgY2hhciBidWZmZXJbbWVzc2FnZU1heFNpemVdOwpAQCAtMjE5
LDcgKzIxOSw3IEBAIHZvaWQgU2VjY29tcEJyb2tlckNsaWVudDo6ZGlzcGF0Y2goU3lzY2FsbCog
c3lzY2FsbCkgY29uc3QKIAogICAgIG1fc29ja2V0TG9jay51bmxvY2soKTsKIAotICAgIGF1dG8g
ZGVjb2RlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyPigoY29u
c3QgdWludDhfdCopIGJ1ZmZlciwgcmVjZWl2ZWRCeXRlcyk7CisgICAgYXV0byBkZWNvZGVyID0g
c3RkOjptYWtlX3VuaXF1ZTxJUEM6OkFyZ3VtZW50RGVjb2Rlcj4oKGNvbnN0IHVpbnQ4X3QqKSBi
dWZmZXIsIHJlY2VpdmVkQnl0ZXMpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsUmVzdWx0
PiByZXN1bHQgPSBTeXNjYWxsUmVzdWx0OjpjcmVhdGVGcm9tRGVjb2RlcihkZWNvZGVyLmdldCgp
LCBmZCk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIENSQVNIKCk7CkBAIC0zMjQsNyArMzI0
LDcgQEAgTk9fUkVUVVJOIHZvaWQgU2VjY29tcEJyb2tlcjo6cnVuTG9vcChpbnQgc29ja2V0KQog
ICAgICAgICBpZiAocmVjZWl2ZWRCeXRlcyA8PSAwKQogICAgICAgICAgICAgZXhpdChyZWNlaXZl
ZEJ5dGVzID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKIAotICAgICAgICBhdXRvIGRl
Y29kZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlcj4oKGNvbnN0
IHVpbnQ4X3QqKSBidWZmZXIsIHJlY2VpdmVkQnl0ZXMpOworICAgICAgICBhdXRvIGRlY29kZXIg
PSBzdGQ6Om1ha2VfdW5pcXVlPElQQzo6QXJndW1lbnREZWNvZGVyPigoY29uc3QgdWludDhfdCop
IGJ1ZmZlciwgcmVjZWl2ZWRCeXRlcyk7CiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxs
PiBzeXNjYWxsID0gU3lzY2FsbDo6Y3JlYXRlRnJvbURlY29kZXIoZGVjb2Rlci5nZXQoKSk7CiAg
ICAgICAgIGlmICghc3lzY2FsbCkKICAgICAgICAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKQEAg
LTMzMywxMCArMzMzLDEwIEBAIE5PX1JFVFVSTiB2b2lkIFNlY2NvbXBCcm9rZXI6OnJ1bkxvb3Ao
aW50IHNvY2tldCkKICAgICAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICAgICBleGl0KEVYSVRf
RkFJTFVSRSk7CiAKLSAgICAgICAgYXV0byBlbmNvZGVyID0gc3RkOjptYWtlX3VuaXF1ZTxDb3Jl
SVBDOjpBcmd1bWVudEVuY29kZXI+KCk7CisgICAgICAgIGF1dG8gZW5jb2RlciA9IHN0ZDo6bWFr
ZV91bmlxdWU8SVBDOjpBcmd1bWVudEVuY29kZXI+KCk7CiAgICAgICAgIGVuY29kZXItPmVuY29k
ZSgqcmVzdWx0KTsKIAotICAgICAgICBWZWN0b3I8Q29yZUlQQzo6QXR0YWNobWVudD4gYXR0YWNo
bWVudHMgPSBlbmNvZGVyLT5yZWxlYXNlQXR0YWNobWVudHMoKTsKKyAgICAgICAgVmVjdG9yPElQ
Qzo6QXR0YWNobWVudD4gYXR0YWNobWVudHMgPSBlbmNvZGVyLT5yZWxlYXNlQXR0YWNobWVudHMo
KTsKICAgICAgICAgaW50IGZkID0gYXR0YWNobWVudHMuc2l6ZSgpID09IDEgPyBhdHRhY2htZW50
c1swXS5maWxlRGVzY3JpcHRvcigpIDogLTE7CiAKICAgICAgICAgLy8gVGhlIGNsaWVudCBpcyBk
b3duLCB0aGUgYnJva2VyIHNob3VsZCBnbyBhd2F5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCmluZGV4IGI4NGQ2YTE3
NGE1YTIyMGNmNTkyNmQ4MGIwY2RkMWFhZjJlZGNkZjEuLjBkNGFmZDBkZDIyMzA5ZDkwZWJlZmEz
ZWU2N2I0NjEzODMzNGE1ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51
eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHAKQEAgLTYwLDcgKzYwLDcgQEAgc3RkOjp1
bmlxdWVfcHRyPFN5c2NhbGw+IFN5c2NhbGw6OmNyZWF0ZUZyb21Db250ZXh0KHVjb250ZXh0X3Qq
IHVjb250ZXh0KQogICAgIHJldHVybiBudWxscHRyOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8U3lz
Y2FsbD4gU3lzY2FsbDo6Y3JlYXRlRnJvbURlY29kZXIoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
KiBkZWNvZGVyKQorc3RkOjp1bmlxdWVfcHRyPFN5c2NhbGw+IFN5c2NhbGw6OmNyZWF0ZUZyb21E
ZWNvZGVyKElQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyKQogewogICAgIGludCB0eXBlOwog
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHR5cGUpKQpAQCAtODIsNyArODIsNyBAQCBTeXNjYWxs
OjpTeXNjYWxsKGludCB0eXBlLCBtY29udGV4dF90KiBjb250ZXh0KQogewogfQogCi1zdGQ6OnVu
aXF1ZV9wdHI8U3lzY2FsbFJlc3VsdD4gU3lzY2FsbFJlc3VsdDo6Y3JlYXRlRnJvbURlY29kZXIo
Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBpbnQgZmQpCitzdGQ6OnVuaXF1ZV9w
dHI8U3lzY2FsbFJlc3VsdD4gU3lzY2FsbFJlc3VsdDo6Y3JlYXRlRnJvbURlY29kZXIoSVBDOjpB
cmd1bWVudERlY29kZXIqIGRlY29kZXIsIGludCBmZCkKIHsKICAgICBpbnQgdHlwZTsKICAgICBp
ZiAoIWRlY29kZXItPmRlY29kZSh0eXBlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5oCmluZGV4IGNhYTk2MTVjZGVhMjRkM2Iy
YTNmZmM3ZDAwNzliZGMxZDYzYTZjNTguLjVmZTE3NmE2OTNiMDA3YzdjNGE5ODBhYTI1Y2UxYWIx
ZjQ0M2U3N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21w
RmlsdGVycy9TeXNjYWxsLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2Nv
bXBGaWx0ZXJzL1N5c2NhbGwuaApAQCAtNDksNyArNDksNyBAQAogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAotbmFtZXNwYWNlIENv
cmVJUEMgeworbmFtZXNwYWNlIElQQyB7CiBjbGFzcyBBcmd1bWVudERlY29kZXI7CiBjbGFzcyBB
cmd1bWVudEVuY29kZXI7CiB9CkBAIC02Niw3ICs2Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5TeXNjYWxsKCkgeyB9CiAKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFN5c2NhbGw+IGNy
ZWF0ZUZyb21Db250ZXh0KHVjb250ZXh0X3QqKTsKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PFN5c2NhbGw+IGNyZWF0ZUZyb21EZWNvZGVyKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwor
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U3lzY2FsbD4gY3JlYXRlRnJvbURlY29kZXIoSVBD
OjpBcmd1bWVudERlY29kZXIqKTsKIAogICAgIGludCB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlOyB9CiAKQEAgLTc1LDggKzc1LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNl
dFJlc3VsdChjb25zdCBTeXNjYWxsUmVzdWx0KikgPSAwOwogICAgIHZpcnR1YWwgc3RkOjp1bmlx
dWVfcHRyPFN5c2NhbGxSZXN1bHQ+IGV4ZWN1dGUoY29uc3QgU3lzY2FsbFBvbGljeSYpID0gMDsK
LSAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0
ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlciop
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJikgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXIqKSA9
IDA7CiAKIHByb3RlY3RlZDoKICAgICBTeXNjYWxsKGludCB0eXBlLCBtY29udGV4dF90Kik7CkBA
IC05MiwxMiArOTIsMTIgQEAgY2xhc3MgU3lzY2FsbFJlc3VsdCB7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+U3lzY2FsbFJlc3VsdCgpIHsgfQogCi0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxT
eXNjYWxsUmVzdWx0PiBjcmVhdGVGcm9tRGVjb2RlcihDb3JlSVBDOjpBcmd1bWVudERlY29kZXIq
LCBpbnQgZmQpOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U3lzY2FsbFJlc3VsdD4gY3Jl
YXRlRnJvbURlY29kZXIoSVBDOjpBcmd1bWVudERlY29kZXIqLCBpbnQgZmQpOwogCiAgICAgaW50
IHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBlbmNv
ZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9v
bCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgaW50IGZkPS0xKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0ID0gMDsKKyAg
ICB2aXJ0dWFsIGJvb2wgZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyKiwgaW50IGZkPS0xKSA9
IDA7CiAKIHByb3RlY3RlZDoKICAgICBTeXNjYWxsUmVzdWx0KGludCB0eXBlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAu
Y3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291
cC5jcHAKaW5kZXggYmJjZGRkMmZhNjY0N2YxMTUzMTg3YjIzODI4NDNhZmFlMjc5N2U3My4uNzU2
NWFhMmI4ZTM4YzE5MmY5NDMzM2U3MjAxZDgzNGM3MTE3NmQ5MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAK
QEAgLTM3LDcgKzM3LDcgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLW5hbWVzcGFj
ZSBDb3JlSVBDIHsKK25hbWVzcGFjZSBJUEMgewogCiB2b2lkIEFyZ3VtZW50Q29kZXI8UmVzb3Vy
Y2VSZXF1ZXN0Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2Rlciwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QpCiB7CkBAIC04NCw3ICs4NCw3
IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGUoQXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyLCBjb25zdCBDZXJ0CiAKICAgICBlbmNvZGVyIDw8IHRydWU7CiAgICAg
R1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURh
dGEpOwotICAgIGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6
RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0YSwgY2VydGlmaWNhdGUtPmxlbikpOworICAg
IGVuY29kZXIuZW5jb2RlVmFyaWFibGVMZW5ndGhCeXRlQXJyYXkoSVBDOjpEYXRhUmVmZXJlbmNl
KGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0aWZpY2F0ZS0+bGVuKSk7CiAgICAgZW5jb2RlciA8PCBz
dGF0aWNfY2FzdDx1aW50MzJfdD4oY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpKTsKIH0KIApA
QCAtOTcsNyArOTcsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdAogICAgIGlmICghaGFzQ2Vy
dGlmaWNhdGUpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZSBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2U7CisgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGNl
cnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVM
ZW5ndGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFn
ZUNsaWVudEltcGxJT1MuaAppbmRleCBhYzY1NDFiMTg5NDQ0ODZmZjY5NTJiZGY0MDBjOTNiNDc4
YzRjZjYyLi5jMjZhMmZiOTZhOWI4ZTY5OTI3Zjc2YjFkYjllY2Y3MjkwODExODE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
LmgKQEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJBbGxF
ZGl0Q29tbWFuZHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuVW5kb1JlZG8oV2Vi
UGFnZVByb3h5OjpVbmRvT3JSZWRvKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0
ZVVuZG9SZWRvKFdlYlBhZ2VQcm94eTo6VW5kb09yUmVkbykgT1ZFUlJJREU7Ci0gICAgdmlydHVh
bCB2b2lkIGFjY2Vzc2liaWxpdHlXZWJQcm9jZXNzVG9rZW5SZWNlaXZlZChjb25zdCBDb3JlSVBD
OjpEYXRhUmVmZXJlbmNlJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGFjY2Vzc2liaWxp
dHlXZWJQcm9jZXNzVG9rZW5SZWNlaXZlZChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGJvb2wgaW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudCYsIFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+JikgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBib29sIGV4ZWN1dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9yKGNvbnN0
IFN0cmluZyYgc2VsZWN0b3IpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXREcmFnSW1h
Z2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBQYXNzUmVmUHRyPFNo
YXJlYWJsZUJpdG1hcD4gZHJhZ0ltYWdlLCBib29sIGlzTGlua0RyYWcpIE9WRVJSSURFOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQppbmRleCBlZTFjMDFkZDFjMmM0NzkyN2E0MGMxM2JiYzk4MjBjOThkZjRhYmNjLi5iNmQz
ZmZiZDY1ODc0NGQxNGE2NGEyYjIxY2EyMjE0Mzk4OTk2NGJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMTkx
LDcgKzE5MSw3IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmV4ZWN1dGVVbmRvUmVkbyhXZWJQYWdl
UHJveHk6OlVuZG9PclJlZG8pCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBQYWdl
Q2xpZW50SW1wbDo6YWNjZXNzaWJpbGl0eVdlYlByb2Nlc3NUb2tlblJlY2VpdmVkKGNvbnN0IENv
cmVJUEM6OkRhdGFSZWZlcmVuY2UmKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6YWNjZXNzaWJpbGl0
eVdlYlByb2Nlc3NUb2tlblJlY2VpdmVkKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpCiB7CiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL21hYy9QREZWaWV3Q29udHJvbGxlci5oCmluZGV4IDI2NWQ3ZDY5MmJmN2RkYjE2NzFj
ODI1ODYwMmIxY2JhZmJmODNkZjMuLjhiZjVhYjJlMDk4ODU3OTQzNmU1OTQ3NmRlODU1NTZkZDVj
ZTRkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZp
ZXdDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUERG
Vmlld0NvbnRyb2xsZXIuaApAQCAtMzcsNyArMzcsNyBAQAogQGNsYXNzIFdLVmlldzsKIEBjbGFz
cyBXS1BERlZpZXc7CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKK25hbWVzcGFjZSBJUEMgewogICAg
IGNsYXNzIERhdGFSZWZlcmVuY2U7CiB9CiAKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAg
IFdlYlBhZ2VQcm94eSogcGFnZSgpIGNvbnN0OwogICAgIE5TVmlldyogcGRmVmlldygpIGNvbnN0
OwogICAgIAotICAgIHZvaWQgc2V0UERGRG9jdW1lbnREYXRhKGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5hbWUsIGNvbnN0IENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UmKTsKKyAgICB2b2lkIHNldFBERkRvY3VtZW50RGF0YShjb25zdCBTdHJpbmcmIG1p
bWVUeXBlLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYW1lLCBjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmKTsKIAogICAgIGRvdWJsZSB6b29tRmFjdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBz
ZXRab29tRmFjdG9yKGRvdWJsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL21hYy9QREZWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tCmluZGV4IDg0MzZjNWRjODdkNWZmMjEyMWNi
NmYzZTk5ZTAyZTU4NTdiNWQwMjcuLjFmMWJhMzk1ZWFmZDQ4MGQ1YzMwNDE2YjNiMWE2ODg4MjMw
NzI5ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZp
ZXdDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BE
RlZpZXdDb250cm9sbGVyLm1tCkBAIC00MjYsNyArNDI2LDcgQEAgTlNWaWV3KiBQREZWaWV3Q29u
dHJvbGxlcjo6cGRmVmlldygpIGNvbnN0CiAgICAgcmV0dXJuIG1fd2tQREZWaWV3LmdldCgpOyAK
IH0KICAgICAKLXN0YXRpYyBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBjb252ZXJ0UG9zdFNjcmlwdERh
dGFTb3VyY2VUb1BERihjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhUmVmZXJlbmNl
KQorc3RhdGljIFJldGFpblB0cjxDRkRhdGFSZWY+IGNvbnZlcnRQb3N0U2NyaXB0RGF0YVNvdXJj
ZVRvUERGKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YVJlZmVyZW5jZSkKIHsKICAgICAv
LyBDb252ZXJ0IFBvc3RTY3JpcHQgdG8gUERGIHVzaW5nIFF1YXJ0eiAyRCBBUEkKICAgICAvLyBo
dHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9kb2N1bWVudGF0aW9uL0dyYXBoaWNzSW1hZ2luZy9D
b25jZXB0dWFsL2RyYXdpbmd3aXRocXVhcnR6MmQvZHFfcHNfY29udmVydC9jaGFwdGVyXzE2X3Nl
Y3Rpb25fMS5odG1sCkBAIC00NTQsNyArNDU0LDcgQEAgc3RhdGljIFJldGFpblB0cjxDRkRhdGFS
ZWY+IGNvbnZlcnRQb3N0U2NyaXB0RGF0YVNvdXJjZVRvUERGKGNvbnN0IENvcmVJUEM6OkRhdGEK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIFBERlZpZXdDb250cm9sbGVyOjpzZXRQREZE
b2N1bWVudERhdGEoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiBzdWdnZXN0
ZWRGaWxlbmFtZSwgY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YVJlZmVyZW5jZSkK
K3ZvaWQgUERGVmlld0NvbnRyb2xsZXI6OnNldFBERkRvY3VtZW50RGF0YShjb25zdCBTdHJpbmcm
IG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYW1lLCBjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmIGRhdGFSZWZlcmVuY2UpCiB7CiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KG1pbWVUeXBlLCAiYXBwbGljYXRpb24vcG9zdHNjcmlwdCIpKSB7CiAgICAgICAgIG1fcGRmRGF0
YSA9IGNvbnZlcnRQb3N0U2NyaXB0RGF0YVNvdXJjZVRvUERGKGRhdGFSZWZlcmVuY2UpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkuaAppbmRleCBiNmFm
ZTE4MWU1ZmI0YWM2OGE1NTcyMmUzNDZlNTk1MDc5OWM0YTUxLi45YWE0M2M1NDlhYWQyOWNlYjEy
NjdmOTU5NzZhZTJiZGJiNWQ1MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZERyYXdpbmdBcmVhUHJveHkuaApAQCAtNzQsNyArNzQsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBzZXRCYWNraW5nU3RvcmVJc0Rpc2NhcmRhYmxlKGJvb2wpOwogICAgIHZpcnR1YWwg
dm9pZCB3YWl0Rm9yQmFja2luZ1N0b3JlVXBkYXRlT25OZXh0UGFpbnQoKTsKIAotICAgIC8vIENv
cmVJUEMgbWVzc2FnZSBoYW5kbGVycworICAgIC8vIElQQyBtZXNzYWdlIGhhbmRsZXJzCiAgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBjb25zdCBV
cGRhdGVJbmZvJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRl
KHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mLCBjb25zdCBM
YXllclRyZWVDb250ZXh0Jik7CiAgICAgdmlydHVhbCB2b2lkIGVudGVyQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ01vZGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVl
Q29udGV4dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5LmgKaW5kZXggMGY3NzBiNDRiN2FlOTEyZTUyYWM4NWNkMmRhZTI3MTBiMDU4YTA2Ny4u
MjA4YjI2NGU2Yzg3NWQzOTU0ZWRkMDRhZDdhOGZmZTIxZGRhYmJmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCkBAIC0zNyw3ICszNyw3
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDb29yZGluYXRlZERyYXdpbmdBcmVhUHJv
eHk7CiAKLWNsYXNzIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5IDogcHVibGljIFdlYkNv
cmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNsaWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3Nh
Z2VSZWNlaXZlciB7CitjbGFzcyBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSA6IHB1Ymxp
YyBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmVDbGllbnQsIHB1YmxpYyBJUEM6Ok1l
c3NhZ2VSZWNlaXZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpA
QCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBkaXNwYXRjaFVw
ZGF0ZShjb25zdCBGdW5jdGlvbjx2b2lkKCk+Jik7CiAKLSAgICAvLyBDb3JlSVBDOjpNZXNzYWdl
UmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29u
bmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisgICAgLy8gSVBD
OjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCiAgICAgQ29v
cmRpbmF0ZWREcmF3aW5nQXJlYVByb3h5KiBtX2RyYXdpbmdBcmVhUHJveHk7CiAgICAgUmVmUHRy
PFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZT4gbV9zY2VuZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggZTg1ZjY5ZWQz
NmZmMzZlMzZjMWY1M2U2M2EwZjA0ZGJkMGY0MDRjOS4uMjI0ZWE5MTA5NWI4OTlkM2ZiYzI0ZGZh
NjJhMzQwNDRkMGVjZDAyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmgKQEAgLTU5LDcgKzU5LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgc2V0QmFja2luZ1N0b3JlSXNEaXNjYXJkYWJsZShib29sKTsKICAgICB2aXJ0dWFsIHZv
aWQgd2FpdEZvckJhY2tpbmdTdG9yZVVwZGF0ZU9uTmV4dFBhaW50KCk7CiAKLSAgICAvLyBDb3Jl
SVBDIG1lc3NhZ2UgaGFuZGxlcnMKKyAgICAvLyBJUEMgbWVzc2FnZSBoYW5kbGVycwogICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgVXBk
YXRlSW5mbyYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZSh1
aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBjb25zdCBVcGRhdGVJbmZvJiwgY29uc3QgTGF5
ZXJUcmVlQ29udGV4dCYpOwogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IExheWVyVHJlZUNv
bnRleHQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5
TWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5oCmluZGV4IDZmYmE5NTAxY2QyMjQ0M2I5NmFmMTlkMGQ0ZTEwMzE3Yjk0ODY2Y2Mu
LjJhYjE3ZTc4ZDIxYjRjY2VjNTg3MjY1NGRlMjBmYzM4NTEzMTVlNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHkuaApAQCAtMzksNyAr
MzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkNvbnRleHQ7CiBjbGFzcyBXZWJC
YXR0ZXJ5U3RhdHVzOwogCi1jbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5IDogcHVibGljIEFQ
STo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6QmF0dGVyeU1hbmFnZXI+LCBwdWJsaWMg
V2ViQ29udGV4dFN1cHBsZW1lbnQsIHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsK
K2NsYXNzIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQ
STo6T2JqZWN0OjpUeXBlOjpCYXR0ZXJ5TWFuYWdlcj4sIHB1YmxpYyBXZWJDb250ZXh0U3VwcGxl
bWVudCwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CiAKQEAgLTYzLDggKzYzLDggQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZXZWJDb250ZXh0U3VwcGxlbWVudCgpIE9WRVJSSURFOwog
Ci0gICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2Rl
ciYpIE9WRVJSSURFOworICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29k
ZXImKSBPVkVSUklERTsKIAogICAgIHZvaWQgc3RhcnRVcGRhdGluZygpOwogICAgIHZvaWQgc3Rv
cFVwZGF0aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTmV0
d29ya0luZm9NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOZXR3
b3JrSW5mb01hbmFnZXJQcm94eS5oCmluZGV4IDFhMTJkYTgzOGJmMzEzYjU0YTU4ZmQzYzBmYWVh
Y2I0OTU5OWUwNTkuLjBkYTFkYTBhM2JhN2Q2ZjY0MTkzZWVhMTYwZmNiOGI1ZjFjOWI4ZTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOZXR3b3JrSW5mb01hbmFnZXJQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOZXR3b3JrSW5mb01hbmFn
ZXJQcm94eS5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2Vi
Q29udGV4dDsKIGNsYXNzIFdlYk5ldHdvcmtJbmZvOwogCi1jbGFzcyBXZWJOZXR3b3JrSW5mb01h
bmFnZXJQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6Ok5l
dHdvcmtJbmZvTWFuYWdlcj4sIHB1YmxpYyBXZWJDb250ZXh0U3VwcGxlbWVudCwgcHJpdmF0ZSBD
b3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgV2ViTmV0d29ya0luZm9NYW5hZ2VyUHJv
eHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpOZXR3b3JrSW5m
b01hbmFnZXI+LCBwdWJsaWMgV2ViQ29udGV4dFN1cHBsZW1lbnQsIHByaXZhdGUgSVBDOjpNZXNz
YWdlUmVjZWl2ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50
TmFtZSgpOwogCkBAIC02Miw5ICs2Miw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJl
ZldlYkNvbnRleHRTdXBwbGVtZW50KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVm
V2ViQ29udGV4dFN1cHBsZW1lbnQoKSBPVkVSUklERTsKIAotICAgIC8vIENvcmVJUEM6Ok1lc3Nh
Z2VSZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpD
b25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKLSAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3Jl
SVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxDb3JlSVBDOjpNZXNzYWdlRW5j
b2Rlcj4mKSBPVkVSUklERTsKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZpcnR1
YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VE
ZWNvZGVyJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRy
PElQQzo6TWVzc2FnZUVuY29kZXI+JikgT1ZFUlJJREU7CiAKICAgICB2b2lkIHN0YXJ0VXBkYXRp
bmcoKTsKICAgICB2b2lkIHN0b3BVcGRhdGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViVmlicmF0aW9uUHJveHkuaAppbmRleCA1OWYzZjUwYjQzNWEzNjdmMDY4NjA2MjNjNGE3
ZTU3YzkyOGU1MGVmLi5hM2FiOTU3ZjhjMzU0MzUyMmJlZmRlNGJhZjdiNGRhZWQyMmIzNThhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkuaApAQCAtMzcs
NyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViUGFnZVByb3h5OwogCi1j
bGFzcyBXZWJWaWJyYXRpb25Qcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmpl
Y3Q6OlR5cGU6OlZpYnJhdGlvbj4sIHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsK
K2NsYXNzIFdlYlZpYnJhdGlvblByb3h5IDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9i
amVjdDo6VHlwZTo6VmlicmF0aW9uPiwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViVmlicmF0aW9uUHJveHk+IGNyZWF0ZShX
ZWJQYWdlUHJveHkqKTsKICAgICB2aXJ0dWFsIH5XZWJWaWJyYXRpb25Qcm94eSgpOwpAQCAtNDks
OCArNDksOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdlYlZpYnJhdGlvblBy
b3h5KFdlYlBhZ2VQcm94eSopOwogCi0gICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCi0g
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBD
b3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOworICAgIC8vIElQQzo6TWVzc2FnZVJl
Y2VpdmVyCisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biosIElQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKIAogICAgIHZvaWQgdmlicmF0ZSh1
aW50MzJfdCB2aWJyYXRpb25UaW1lKTsKICAgICB2b2lkIGNhbmNlbFZpYnJhdGlvbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA5
YWZiYjEwOTQwYWQ1ODkwZjQ1NDk1MWY1ZmMwZTY3ZWEyOGJkNzY3Li42OTNmZTQwMmJmYTE2OGY0
MTIwNzk5YjFkMzdkMDU5YTI0OTc0OWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMzAxLDcgKzMwMSw3IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjpzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoYm9vbCkKICAgICBub3RJbXBsZW1l
bnRlZCgpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6cmVnaXN0ZXJXZWJQcm9jZXNzQWNjZXNz
aWJpbGl0eVRva2VuKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmKQordm9pZCBXZWJQYWdl
UHJveHk6OnJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbihjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9ICAgIApAQCAtMzExLDcg
KzMxMSw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjptYWtlRmlyc3RSZXNwb25kZXIoKQogICAgIG5v
dEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZWdpc3RlclVJUHJvY2Vz
c0FjY2Vzc2liaWxpdHlUb2tlbnMoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0
IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmKQordm9pZCBXZWJQYWdlUHJveHk6OnJlZ2lzdGVyVUlQ
cm9jZXNzQWNjZXNzaWJpbGl0eVRva2Vucyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CkBAIC0z
OTYsNyArMzk2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9v
a3VwKGNvbnN0IEF0dHJpYnV0ZWRTdHJpbmcmLCBjb25zdCBEaWMKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6c2F2ZVBERlRvVGVtcG9yYXJ5Rm9sZGVyQW5k
T3BlbldpdGhOYXRpdmVBcHBsaWNhdGlvbihjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBj
b25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJikKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpzYXZlUERGVG9UZW1wb3JhcnlGb2xkZXJBbmRPcGVuV2l0aE5hdGl2ZUFwcGxpY2F0
aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5j
ZSYsIGNvbnN0IFN0cmluZyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlclBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFn
ZXJQcm94eS5oCmluZGV4IGViNGFkMzk2OTYyOTgzNDE1NGNmZGU4ZmM5YmEzNWIwYjdlNjJlZTku
LmZmZWFmZjM5NDI3YTEyNGEyMzVkY2I1NzAzMzg2OGMxOGM0ZGIwNWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2Vy
UHJveHkuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2Vi
Q29udGV4dDsKIAotY2xhc3MgV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkgOiBwdWJsaWMgQVBJ
OjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpTb3VwUmVxdWVzdE1hbmFnZXI+LCBwdWJs
aWMgV2ViQ29udGV4dFN1cHBsZW1lbnQsIHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVy
IHsKK2NsYXNzIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5IDogcHVibGljIEFQSTo6T2JqZWN0
SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6U291cFJlcXVlc3RNYW5hZ2VyPiwgcHVibGljIFdlYkNv
bnRleHRTdXBwbGVtZW50LCBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKIApAQCAtNjYsOCArNjYs
OCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZWZXZWJDb250ZXh0U3VwcGxlbWVudCgp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkZXJlZldlYkNvbnRleHRTdXBwbGVtZW50KCkg
T1ZFUlJJREU7CiAKLSAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisgICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCiAgICAgdm9pZCBkaWRGYWlsVG9Mb2FkVVJJUmVx
dWVzdCh1aW50NjRfdCByZXF1ZXN0SUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0JhdHRlcnkvV2ViQmF0dGVyeU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0ZXJ5TWFuYWdlci5oCmluZGV4IGVlM2IxNzBkMWQzNjky
ZmMwNjYxZTViZDU1YTcxYjA3NjBjNzRjMWUuLjUxMGE5ZTBjNjJiN2RiODcxNjk5MGIyMDg1Yjhi
NmMyNGFjZGIyNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQmF0dGVy
eS9XZWJCYXR0ZXJ5TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQmF0
dGVyeS9XZWJCYXR0ZXJ5TWFuYWdlci5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogY2xhc3MgV2ViUGFnZTsKIGNsYXNzIFdlYlByb2Nlc3M7CiAKLWNsYXNzIFdlYkJhdHRl
cnlNYW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwcml2YXRlIENvcmVJUEM6
Ok1lc3NhZ2VSZWNlaXZlciB7CitjbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlciA6IHB1YmxpYyBXZWJQ
cm9jZXNzU3VwcGxlbWVudCwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoV2ViQmF0dGVyeU1hbmFnZXIpOwogCiBwdWJsaWM6CkBAIC01Nyw4
ICs1Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUJhdHRlcnlTdGF0dXMoY29uc3QgV2Vi
QmF0dGVyeVN0YXR1czo6RGF0YSYpOwogCiBwcml2YXRlOgotICAgIC8vIENvcmVJUEM6Ok1lc3Nh
Z2VSZWNlaXZlcgotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisgICAgLy8gSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKIAogICAgIFdlYlByb2Nlc3MqIG1fcHJv
Y2VzczsKICAgICBIYXNoU2V0PFdlYlBhZ2UqPiBtX3BhZ2VTZXQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrSW5mby9XZWJOZXR3b3JrSW5mb01h
bmFnZXIuaAppbmRleCAyNzY4MTUzYzg1ODQ3NTQ4OTExZmRmM2Q2MzhkMTdhYjkwODc2MmU2Li43
ZWUwODNlYjUyOTZlNzc5YmY4MjkxN2M2NzI0MTM0Mjk1MTIxM2Y5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmtJbmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29ya0luZm8vV2ViTmV0d29ya0lu
Zm9NYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBX
ZWJQYWdlOwogY2xhc3MgV2ViUHJvY2VzczsKIAotY2xhc3MgV2ViTmV0d29ya0luZm9NYW5hZ2Vy
IDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CitjbGFzcyBXZWJOZXR3b3JrSW5mb01hbmFnZXIgOiBwdWJsaWMgV2ViUHJvY2Vz
c1N1cHBsZW1lbnQsIHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYk5ldHdvcmtJbmZvTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgV2ViTmV0d29ya0luZm9NYW5hZ2VyKFdlYlByb2Nlc3MqKTsKQEAgLTU1LDggKzU1LDggQEAg
cHVibGljOgogICAgIGRvdWJsZSBiYW5kd2lkdGgoV2ViUGFnZSopIGNvbnN0OwogICAgIGJvb2wg
bWV0ZXJlZChXZWJQYWdlKikgY29uc3Q7CiBwcml2YXRlOgotICAgIC8vIENvcmVJUEM6Ok1lc3Nh
Z2VSZWNlaXZlcgotICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisgICAgLy8gSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbios
IElQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKIAogICAgIHZvaWQgZGlkQ2hhbmdlTmV0
d29ya0luZm9ybWF0aW9uKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBXZWJO
ZXR3b3JrSW5mbzo6RGF0YSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJFZGl0b3JDbGllbnRHdGsuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRWRpdG9yQ2xpZW50R3RrLmNw
cAppbmRleCAyY2EzNTU5MmE5YzUwNTU0NmE5OWQ1MWM4ZWNlOGZlNTAzYjk0MzdkLi4zZjkyZDkx
MjMxYjQ4N2YxMzdkMDNjY2E4NjNmMTViNTA1NDBjNGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJFZGl0b3JDbGllbnRHdGsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVk
aXRvckNsaWVudEd0ay5jcHAKQEAgLTQzLDcgKzQzLDcgQEAgdm9pZCBXZWJFZGl0b3JDbGllbnQ6
OmdldEVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZlbnQs
IFYKICAgICAgICBVSSBuZWVkcyB0byByZWNlaXZlIGV2ZW50IHR5cGUgYmVjYXVzZSBvbmx5IGtu
b3dzIGN1cnJlbnQgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC4qLwogICAgIFdlYlByb2Nlc3M6OnNo
YXJlZCgpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkdldEVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQoZXZlbnQtPnR5cGUoKSksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpHZXRFZGl0b3JDb21tYW5kc0ZvcktleUV2ZW50OjpSZXBseShwZW5kaW5n
RWRpdG9yQ29tbWFuZHMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbV9wYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Tm9UaW1lb3V0
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFn
ZS0+cGFnZUlEKCksIElQQzo6Q29ubmVjdGlvbjo6Tm9UaW1lb3V0KTsKIH0KIAogYm9vbCBXZWJF
ZGl0b3JDbGllbnQ6OmV4ZWN1dGVQZW5kaW5nRWRpdG9yQ29tbWFuZHMoRnJhbWUqIGZyYW1lLCBW
ZWN0b3I8V1RGOjpTdHJpbmc+IHBlbmRpbmdFZGl0b3JDb21tYW5kcywgYm9vbCBhbGxvd1RleHRJ
bnNlcnRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
RHJhd2luZ0FyZWEuY3BwCmluZGV4IDFlZDRjMzUxZDI2ODcwMDUyN2E2NmE2Y2ExY2Q5OTA1MDM0
ZWU2MWUuLmEzYmRiMzUwYzE1OWUxZjVmMzM4MGRhNmNiMzM2YTJiNzkyZjVkOGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3Bw
CkBAIC02MjcsNyArNjI3LDcgQEAgdm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpkaXNwbGF5
KFVwZGF0ZUluZm8mIHVwZGF0ZUluZm8pCiAgICAgbV9kaXNwbGF5VGltZXIuc3RvcCgpOwogfQog
Ci12b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpZFJlY2VpdmVDb29yZGluYXRlZExheWVy
VHJlZUhvc3RNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6
Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBDb29yZGluYXRlZERyYXdpbmdBcmVhOjpk
aWRSZWNlaXZlQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24q
IGNvbm5lY3Rpb24sIElQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKG1f
bGF5ZXJUcmVlSG9zdCkKICAgICAgICAgbV9sYXllclRyZWVIb3N0LT5kaWRSZWNlaXZlQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaAppbmRleCA5
Mzk2MjZjZjgxODM1ZmI2Y2FhMTc2NzQ3ZWEwZDA2OWUwOTlhM2EwLi4zZTdlZDA3YWE2ZDI2OGU2
OWQwMzkzZjMwMGZiZTM0MjAyNzE3ZTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVh
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCkBAIC02OSw5ICs2OSw5IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdMYXllckZsdXNoKCkgT1ZFUlJJ
REU7CiAjZW5kaWYKIAotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURl
Y29kZXImKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCi0g
ICAgLy8gQ29yZUlQQyBtZXNzYWdlIGhhbmRsZXJzLgorICAgIC8vIElQQyBtZXNzYWdlIGhhbmRs
ZXJzLgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBi
YWNraW5nU3RvcmVTdGF0ZUlELCBib29sIHJlc3BvbmRJbW1lZGlhdGVseSwgZmxvYXQgZGV2aWNl
U2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiBzY3JvbGxPZmZzZXQpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGUoKTsKICAgICB2
aXJ0dWFsIHZvaWQgc3VzcGVuZFBhaW50aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCmluZGV4IGY3ZGIxYjE0NmE2NWEy
ZGM4NDdmZDEyMDBlNjgzOTQ1MzkzMmI1NjQuLmQ1ODU5NTU0OGJiNWNkZGY2MzY5MzBjYWFlZjli
NzYxNTI1MGRkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdC5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCB2b2lkIHBhZ2VCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5Q2hhbmdlZCgpIE9WRVJSSURF
OwogCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwor
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdmlydHVhbCBX
ZWJDb3JlOjpHcmFwaGljc0xheWVyRmFjdG9yeSogZ3JhcGhpY3NMYXllckZhY3RvcnkoKSBPVkVS
UklERTsKICAgICBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIqIG1haW5Db250ZW50
c0xheWVyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuaAppbmRleCAxYjEzZWQwNzVlMDBlYTczYzY0MjBkM2UxODgzNWE1Y2Ew
ZjNmZDE0Li4zMzc3OGRkN2VmM2RjNzYzMTVlMmNmNzFjYWRiMjAzZjgzOTljZGI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5o
CkBAIC03Myw3ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29t
cG9zaXRpbmdMYXllckZsdXNoKCkgT1ZFUlJJREU7CiAjZW5kaWYKIAotICAgIC8vIENvcmVJUEMg
bWVzc2FnZSBoYW5kbGVycy4KKyAgICAvLyBJUEMgbWVzc2FnZSBoYW5kbGVycy4KICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgYmFja2luZ1N0b3JlU3Rh
dGVJRCwgYm9vbCByZXNwb25kSW1tZWRpYXRlbHksIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yLCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zm
c2V0KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIHN1
c3BlbmRQYWludGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDgzYjE5ZmVmMmVmYTc3YjM5ZmE2YjRmZjJmZGUy
YTM1NjJiZDA1NmUuLmFiNTFkZjI4OGMyMjBjOTIwMzUwNjM3MzYxYWU4NzhiOWViNjM0OWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlP
Uy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJ
T1MubW0KQEAgLTIwMiw3ICsyMDIsNyBAQCBib29sIFdlYlBhZ2U6OnBlcmZvcm1EZWZhdWx0QmVo
YXZpb3JGb3JLZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JikKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLXZvaWQgV2ViUGFnZTo6cmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9r
ZW5zKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBDb3JlSVBDOjpEYXRhUmVm
ZXJlbmNlJikKK3ZvaWQgV2ViUGFnZTo6cmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9r
ZW5zKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvaW9zL1dlYlByb2Nlc3NJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL2lvcy9XZWJQcm9jZXNzSU9TLm1tCmluZGV4IDgzYjcyZDlkNWQwNGNlM2Q5NGU5NzU4Mjhk
NmIxNjgyM2Y2Yzk4MzEuLjMyMmZiOTY5YTJlMDY4NzkwZDA2ODI1NzMyN2ZiNjVhYWIyMzBkYTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvaW9zL1dlYlByb2Nlc3NJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc0lPUy5tbQpA
QCAtNTIsNyArNTIsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtQ2xlYXJSZXNvdXJjZUNh
Y2hlcyhSZXNvdXJjZUNhY2hlc1RvQ2xlYXIpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAot
dm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpCit2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyYsIElQQzo6TWVzc2FnZURlY29kZXImKQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3Nv
dXAvV2ViUHJvY2Vzc1NvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dl
YlByb2Nlc3NTb3VwLmNwcAppbmRleCBiMzAzN2Y1ZjAzMDRmZWIwNTViNzViZjU1NTAxMTI5ZTNl
NWI3MzMyLi5iN2NkYzRkYTU1ZDliNDg1ODFiM2ZjZWY2ZWQxNWRmYjFlMWEwYjNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKQEAg
LTE4Nyw3ICsxODcsNyBAQCBzdGF0aWMgdm9pZCBsYW5ndWFnZUNoYW5nZWQodm9pZCopCiAgICAg
c2V0U291cFNlc3Npb25BY2NlcHRMYW5ndWFnZShXZWJDb3JlOjp1c2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzKCkpOwogfQogCi12b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ29yZUlQ
Qzo6TWVzc2FnZURlY29kZXImKQordm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMs
IElQQzo6TWVzc2FnZURlY29kZXImKQogewogI2lmIEVOQUJMRShTRUNDT01QX0ZJTFRFUlMpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBS
ZXF1ZXN0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291
cFJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCAwZjhjYjYzNDU3NmNhOGVhYTE4YmM2MGE2Zjc3ZGJj
ZDFjODFkMDlkLi5iZDBjZjYyM2Q5NzI1YjM5MTM2MTk2NzUxODFmZWU5YmI5M2Y0MGU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVl
c3RNYW5hZ2VyLmNwcApAQCAtMTA0LDcgKzEwNCw3IEBAIHZvaWQgV2ViU291cFJlcXVlc3RNYW5h
Z2VyOjpyZWdpc3RlclVSSVNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSkKICAgICBzb3VwX3Nl
c3Npb25fYWRkX2ZlYXR1cmVfYnlfdHlwZShzZXNzaW9uLCBXRUJLSVRfVFlQRV9TT1VQX1JFUVVF
U1RfR0VORVJJQyk7CiB9CiAKLXZvaWQgV2ViU291cFJlcXVlc3RNYW5hZ2VyOjpkaWRIYW5kbGVV
UklSZXF1ZXN0KGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIHJlcXVlc3REYXRhLCB1aW50
NjRfdCBjb250ZW50TGVuZ3RoLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50NjRfdCByZXF1
ZXN0SUQpCit2b2lkIFdlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6ZGlkSGFuZGxlVVJJUmVxdWVzdChj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHJlcXVlc3REYXRhLCB1aW50NjRfdCBjb250ZW50TGVu
Z3RoLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50NjRfdCByZXF1ZXN0SUQpCiB7CiAgICAg
V2ViU291cFJlcXVlc3RBc3luY0RhdGEqIGRhdGEgPSBtX3JlcXVlc3RNYXAuZ2V0KHJlcXVlc3RJ
RCk7CiAgICAgQVNTRVJUKGRhdGEpOwpAQCAtMTMzLDcgKzEzMyw3IEBAIHZvaWQgV2ViU291cFJl
cXVlc3RNYW5hZ2VyOjpkaWRIYW5kbGVVUklSZXF1ZXN0KGNvbnN0IENvcmVJUEM6OkRhdGFSZWZl
cmVuY2UmIHJlCiAgICAgZ190YXNrX3JldHVybl9wb2ludGVyKHRhc2suZ2V0KCksIGRhdGFTdHJl
YW0sIGdfb2JqZWN0X3VucmVmKTsKIH0KIAotdm9pZCBXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OmRp
ZFJlY2VpdmVVUklSZXF1ZXN0RGF0YShjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlJiByZXF1
ZXN0RGF0YSwgdWludDY0X3QgcmVxdWVzdElEKQordm9pZCBXZWJTb3VwUmVxdWVzdE1hbmFnZXI6
OmRpZFJlY2VpdmVVUklSZXF1ZXN0RGF0YShjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHJlcXVl
c3REYXRhLCB1aW50NjRfdCByZXF1ZXN0SUQpCiB7CiAgICAgV2ViU291cFJlcXVlc3RBc3luY0Rh
dGEqIGRhdGEgPSBtX3JlcXVlc3RNYXAuZ2V0KHJlcXVlc3RJRCk7CiAgICAgLy8gVGhlIGRhdGEg
bWlnaHQgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgcmVxdWVzdCBtYXAgaWYgYSBwcmV2aW91
cyBjaHVuayBmYWlsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291
cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291
cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuaAppbmRleCBjNmRlNDQ3ZDIyOTM3YzdkZTc4NjFjZTc1
ZjcyM2FhM2I3NDcwYzY5Li5mZTQ3M2Q3ZGExY2UzOTMzNzk1NWJiNDhjOWNkYTI2ZTJkNzczNDcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVl
c3RNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBS
ZXF1ZXN0TWFuYWdlci5oCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xh
c3MgV2ViUHJvY2VzczsKIHN0cnVjdCBXZWJTb3VwUmVxdWVzdEFzeW5jRGF0YTsKIAotY2xhc3Mg
V2ViU291cFJlcXVlc3RNYW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwcml2
YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CitjbGFzcyBXZWJTb3VwUmVxdWVzdE1hbmFn
ZXIgOiBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBsZW1lbnQsIHByaXZhdGUgSVBDOjpNZXNzYWdlUmVj
ZWl2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvdXBSZXF1ZXN0TWFuYWdlcik7
CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgV2ViU291cFJlcXVlc3RNYW5hZ2VyKFdlYlByb2Nlc3Mq
KTsKQEAgLTUyLDExICs1MiwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWdpc3RlclVSSVNjaGVt
ZShjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiAKIHByaXZhdGU6Ci0gICAgLy8gQ29yZUlQQzo6TWVz
c2FnZVJlY2VpdmVyCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0
aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKKyAgICAvLyBJUEM6Ok1l
c3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCi0gICAgdm9pZCBkaWRIYW5kbGVV
UklSZXF1ZXN0KGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCB1aW50NjRfdCBjb250ZW50
TGVuZ3RoLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50NjRfdCByZXF1ZXN0SUQpOwotICAg
IHZvaWQgZGlkUmVjZWl2ZVVSSVJlcXVlc3REYXRhKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UmLCB1aW50NjRfdCByZXF1ZXN0SUQpOworICAgIHZvaWQgZGlkSGFuZGxlVVJJUmVxdWVzdChj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCB1aW50NjRfdCBjb250ZW50TGVuZ3RoLCBjb25zdCBT
dHJpbmcmIG1pbWVUeXBlLCB1aW50NjRfdCByZXF1ZXN0SUQpOworICAgIHZvaWQgZGlkUmVjZWl2
ZVVSSVJlcXVlc3REYXRhKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIHVpbnQ2NF90IHJlcXVl
c3RJRCk7CiAgICAgdm9pZCBkaWRGYWlsVVJJUmVxdWVzdChjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yJiwgdWludDY0X3QgcmVxdWVzdElEKTsKIAogICAgIFdlYlByb2Nlc3MqIG1fcHJvY2Vz
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVx
dWVzdE1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAv
V2ViU291cFJlcXVlc3RNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDJhMDdlZTJhYTg3MGViNzVm
MWQxNjE2MjFlMmMzODlmNDQ3ZTFlZmEuLjI0YWZhOTUyYTFjYTg2Y2M0MDNkY2Q4YjkxZGI0ZTgz
MDg1MzI5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJT
b3VwUmVxdWVzdE1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjIsNyArMjIs
NyBAQAogCiBtZXNzYWdlcyAtPiBXZWJTb3VwUmVxdWVzdE1hbmFnZXIgewogICAgIFJlZ2lzdGVy
VVJJU2NoZW1lKFN0cmluZyB1cmlTY2hlbWUpOwotICAgIERpZEhhbmRsZVVSSVJlcXVlc3QoQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSByZXF1ZXN0RGF0YSwgdWludDY0X3QgY29udGVudExlbmd0aCwg
U3RyaW5nIG1pbWVUeXBlLCB1aW50NjRfdCByZXF1ZXN0SUQpOwotICAgIERpZFJlY2VpdmVVUklS
ZXF1ZXN0RGF0YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIHJlcXVlc3REYXRhLCB1aW50NjRfdCBy
ZXF1ZXN0SUQpOworICAgIERpZEhhbmRsZVVSSVJlcXVlc3QoSVBDOjpEYXRhUmVmZXJlbmNlIHJl
cXVlc3REYXRhLCB1aW50NjRfdCBjb250ZW50TGVuZ3RoLCBTdHJpbmcgbWltZVR5cGUsIHVpbnQ2
NF90IHJlcXVlc3RJRCk7CisgICAgRGlkUmVjZWl2ZVVSSVJlcXVlc3REYXRhKElQQzo6RGF0YVJl
ZmVyZW5jZSByZXF1ZXN0RGF0YSwgdWludDY0X3QgcmVxdWVzdElEKTsKICAgICBEaWRGYWlsVVJJ
UmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCB1aW50NjRfdCByZXF1ZXN0SUQp
OwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDZjODI0ZTViNzFjMzA5NGFmM2EyN2E0ODA0N2IzODIyZmFmNmMzYjIuLjcwZDI4NjlmZjQ0YTU4
MTFkMGJjMTNlZDcxZWQ2MjA4ODgxOWNkMmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0xMi0zMCAgUnl1YW4g
Q2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmVwbGFjZSByZW1hbmlu
ZyBDb3JlSVBDIG5hbWVzcGFjZSB0byBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNjMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dDogUmVwbGFj
ZWQgQ29yZUlQQyBpbmNsdWRlcyB0byBJUEMuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9lZmwv
UGxhdGZvcm1XZWJWaWV3LmNwcDogUmVtb3ZlZCB0ZW1wb3JhbCBkZWZpbmUgZm9yIElQQy4KKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0NNYWtlTGlzdHMudHh0OiBSZXBsYWNlZCBDb3JlSVBD
IGluY2x1ZGVzIHRvIElQQy4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9y
bVdlYlZpZXdFZmwuY3BwOiBSZW1vdmVkIHRlbXBvcmFsIGRlZmluZSBmb3IgSVBDLgorCiAyMDEz
LTEyLTMwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBTcGxpdCBXZWJLaXQyQVBJVGVzdHMvVGVzdFdlYktpdFdlYlZpZXcKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL0NNYWtlTGlzdHMudHh0CmluZGV4IDZiNDE1MGVmNzJlMjQ3NWNmZGFlY2QzNzliYWEy
OTcxYWE0YzRhZWEuLjQyZmM4NmRlNjRjNTlhNjFlMWFmYWIwYWJmZjA0ZGM1ODdjZWFhNDQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dApAQCAtMTQsNyArMTQsNyBAQCBpbmNsdWRlX2Rp
cmVjdG9yaWVzKCR7Q01BS0VfQklOQVJZX0RJUn0KICAgICAke1dFQkNPUkVfRElSfS9wbGF0Zm9y
bS9ncmFwaGljcwogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL3RleHQKICAgICAke1dFQkNP
UkVfRElSfS9wbGF0Zm9ybS9uZXR3b3JrCi0gICAgJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vQ29y
ZUlQQworICAgICR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL0lQQwogICAgICR7V0VCS0lUMl9ESVJ9
L1NoYXJlZAogICAgICR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9BUEkvYwogICAgICR7V0VCS0lUMl9E
SVJ9L1NoYXJlZC9QbHVnaW5zCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2VmbC9Q
bGF0Zm9ybVdlYlZpZXcuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9lZmwvUGxhdGZvcm1XZWJW
aWV3LmNwcAppbmRleCBmNjNiZDVjMmUwOTkwZTE1MWMxYWIyNWY5NzAxMWZiNTIyODEyODI0Li41
YTNhYTZiMWUzYTk5NzUwOWY3MWI5NzVlY2NhMTYwMjNkZWI2NjI1IDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL2VmbC9QbGF0Zm9ybVdlYlZpZXcuY3BwCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvZWZsL1BsYXRmb3JtV2ViVmlldy5jcHAKQEAgLTI0LDkgKzI0LDYgQEAKICAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0vLyBGSVhNRTogUmVtb3ZlIHRo
aXMgb25jZSBldmVyeXRoaW5nIGhhcyBiZWVuIG1vdmVkIG92ZXIgdG8gdGhlIElQQyBuYW1lc3Bh
Y2UuCi0jZGVmaW5lIENvcmVJUEMgSVBDCi0KICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJld2tfdmlld19wcml2YXRlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9DTWFrZUxpc3RzLnR4dAppbmRleCBmNjU5NTA2ODlkYWVmNjFlMmRhMmM2
MzY4NGJhZjk5MjY5MWI5MDhjLi41YTM0NmQ3NDA1M2QxNTk1MjMzMTBhZDk2ZjI3MDZhZWI0NzUw
MzllIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ01ha2VMaXN0cy50eHQKQEAgLTM2LDcgKzM2LDcg
QEAgc2V0KFdlYktpdFRlc3RSdW5uZXJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICR7V0VCQ09S
RV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsKICAgICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS90ZXh0
CiAgICAgJHtXRUJDT1JFX0RJUn0vdGVzdGluZy9qcwotICAgICR7V0VCS0lUMl9ESVJ9L1BsYXRm
b3JtL0NvcmVJUEMKKyAgICAke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9JUEMKICAgICAke1dFQktJ
VDJfRElSfS9TaGFyZWQKICAgICAke1dFQktJVDJfRElSfS9TaGFyZWQvQVBJL2MKICAgICAke1dF
QktJVDJfRElSfS9TaGFyZWQvUGx1Z2lucwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
ZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAKaW5kZXggNWY0MzkzODJlZTI3YzIzOTBjOWE3MzU3
YzQ4N2EwODE0NjI1NmNhYS4uZWFjMTUzYzc3YjkxYjJiYjAwZTYzZDc1YmJlMTI4YjE4NTM5MzE2
ZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3
RWZsLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdF
ZmwuY3BwCkBAIC0xOCw5ICsxOCw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
ICAqLwogCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBldmVyeXRoaW5nIGhhcyBiZWVuIG1v
dmVkIG92ZXIgdG8gdGhlIElQQyBuYW1lc3BhY2UuCi0jZGVmaW5lIENvcmVJUEMgSVBDCi0KICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJld2tfdmlld19wcml2YXRlLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1XZWJWaWV3LmgiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220128</attachid>
            <date>2013-12-30 14:50:25 -0800</date>
            <delta_ts>2013-12-30 15:30:57 -0800</delta_ts>
            <desc>rebased for gtk</desc>
            <filename>bug-126305-20131231075024.patch</filename>
            <type>text/plain</type>
            <size>68568</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxMTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDQyNDQ4ZGFkY2JkY2Vh
OWQxNjEyYjRmOTBkYmUyMzI4NTExYzdlOS4uM2YyOWUyOTZjNWM1YTQyMmIzNTcyZTk2ZjA2MzRj
NmEzZTgyNWQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDExMyBAQAogMjAxMy0xMi0zMCAgUnl1
YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CiAKKyAgICAgICAgUmVwbGFjZSByZW1h
bmluZyBDb3JlSVBDIG5hbWVzcGFjZSB0byBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVwbGFjZXMgQ29yZUlQQyB0byBJUEMg
aW4gYnVpbGQgc2NyaXB0cyBhbmQgc291cmNlIGNvZGVzIHRvIGZpeAorICAgICAgICBidWlsZCBi
cmVhayBvbiBDTWFrZSBiYXNlZCBwb3J0cyBhbmQgR3RrIChhbmQgbWF5YmUgSU9TKS4KKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogUGxhdGZvcm0vSVBDL3VuaXgvQXR0
YWNobWVudFVuaXguY3BwOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25V
bml4LmNwcDoKKyAgICAgICAgKiBQbGF0Zm9ybS91bml4L1NoYXJlZE1lbW9yeVVuaXguY3BwOgor
ICAgICAgICAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZTo6ZW5jb2RlKToKKyAgICAgICAg
KFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGU6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6
OlNoYXJlZE1lbW9yeTo6SGFuZGxlOjpyZWxlYXNlVG9BdHRhY2htZW50KToKKyAgICAgICAgKiBQ
bGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAg
KiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5oOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNvb3JkaW5hdGVkU3VyZmFjZTo6SGFuZGxlOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJDb29yZGluYXRlZFN1cmZhY2U6OkhhbmRsZTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQv
Q29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaDoKKyAgICAgICAgKiBT
aGFyZWQvRG93bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
RG93bmxvYWRDbGllbnQ6OmRvd25sb2FkRmFpbGVkKToKKyAgICAgICAgKFdlYktpdDo6RG93bmxv
YWQ6OmNhbmNlbCk6CisgICAgICAgICogU2hhcmVkL1dlYkJhdHRlcnlTdGF0dXMuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhOjplbmNvZGUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJl
ZC9XZWJCYXR0ZXJ5U3RhdHVzLmg6CisgICAgICAgICogU2hhcmVkL1dlYk5ldHdvcmtJbmZvLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViTmV0d29ya0luZm86OkRhdGE6OmVuY29kZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYk5ldHdvcmtJbmZvOjpEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNo
YXJlZC9XZWJOZXR3b3JrSW5mby5oOgorICAgICAgICAqIFNoYXJlZC9jYWlyby9MYXllclRyZWVD
b250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb250ZXh0OjplbmNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb250ZXh0OjpkZWNvZGUpOgorICAgICAg
ICAqIFNoYXJlZC9lZmwvTGF5ZXJUcmVlQ29udGV4dEVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkxheWVyVHJlZUNvbnRleHQ6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNv
bnRleHQ6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL2d0ay9Bcmd1bWVudENvZGVyc0d0ay5j
cHA6CisgICAgICAgICogU2hhcmVkL2d0ay9Bcmd1bWVudENvZGVyc0d0ay5oOgorICAgICAgICAq
IFNoYXJlZC9ndGsvTGF5ZXJUcmVlQ29udGV4dEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUNvbnRleHQ6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvbnRl
eHQ6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL2lvcy9XZWJQbGF0Zm9ybVRvdWNoUG9pbnRJ
T1MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVRvdWNoUG9pbnQ6OmVuY29kZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtVG91Y2hQb2ludDo6ZGVjb2RlKToKKyAgICAg
ICAgKiBTaGFyZWQvaW9zL1dlYlRvdWNoRXZlbnRJT1MuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJUb3VjaEV2ZW50OjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJUb3VjaEV2ZW50Ojpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2Fs
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok9wZW5TeXNjYWxsOjplbmNvZGUpOgorICAgICAgICAo
V2ViS2l0OjpPcGVuU3lzY2FsbDo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6T3BlblN5c2Nh
bGxSZXN1bHQ6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6Ok9wZW5TeXNjYWxsUmVzdWx0Ojpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVuU3lzY2Fs
bC5oOgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TZWNjb21wQnJva2Vy
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2VjY29tcEJyb2tlckNsaWVudDo6ZGlzcGF0Y2gpOgor
ICAgICAgICAoV2ViS2l0OjpTZWNjb21wQnJva2VyOjpydW5Mb29wKToKKyAgICAgICAgKiBTaGFy
ZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN5
c2NhbGw6OmNyZWF0ZUZyb21EZWNvZGVyKToKKyAgICAgICAgKFdlYktpdDo6U3lzY2FsbFJlc3Vs
dDo6Y3JlYXRlRnJvbURlY29kZXIpOgorICAgICAgICAqIFNoYXJlZC9saW51eC9TZWNjb21wRmls
dGVycy9TeXNjYWxsLmg6CisgICAgICAgICogU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzU291cC5jcHA6CisgICAgICAgIChJUEM6OkFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZv
Pjo6ZW5jb2RlKToKKyAgICAgICAgKElQQzo6QXJndW1lbnRDb2RlcjxDZXJ0aWZpY2F0ZUluZm8+
OjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06Cisg
ICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjphY2Nlc3NpYmlsaXR5V2ViUHJvY2Vzc1Rv
a2VuUmVjZWl2ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9s
bGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW06
CisgICAgICAgIChXZWJLaXQ6OmNvbnZlcnRQb3N0U2NyaXB0RGF0YVNvdXJjZVRvUERGKToKKyAg
ICAgICAgKFdlYktpdDo6UERGVmlld0NvbnRyb2xsZXI6OnNldFBERkRvY3VtZW50RGF0YSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5n
QXJlYVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OnJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW5z
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzYXZlUERGVG9UZW1wb3JhcnlGb2xk
ZXJBbmRPcGVuV2l0aE5hdGl2ZUFwcGxpY2F0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3Mvc291
cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvQmF0
dGVyeS9XZWJCYXR0ZXJ5TWFuYWdlci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29ya0lu
Zm8vV2ViTmV0d29ya0luZm9NYW5hZ2VyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpZFJlY2VpdmVDb29yZGluYXRlZExh
eWVyVHJlZUhvc3RNZXNzYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6cmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW5zKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL2lvcy9XZWJQcm9jZXNzSU9TLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
U291cFJlcXVlc3RNYW5hZ2VyOjpkaWRIYW5kbGVVUklSZXF1ZXN0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViU291cFJlcXVlc3RNYW5hZ2VyOjpkaWRSZWNlaXZlVVJJUmVxdWVzdERhdGEpOgorICAg
ICAgICAqIFdlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLm1lc3NhZ2VzLmluOgorCisy
MDEzLTEyLTMwICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwogICAgICAg
ICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhdHRlbXB0IG9uIEdUSyBwb3J0IGFmdGVyIDE2MTE1Mgog
CiAgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRWRpdG9yQ2xpZW50
R3RrLmNwcDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggNjgwNTU4OTU1ODI1YmQ2OGU0NTU3NmQ0
OGVlODY4ZWI3ZWVmMWUzNy4uMDgwYjBkYTRmM2FiYTFhZGVhY2I5ZTBjYmYxNjliMjc0NzFjOTFi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTQsNyArNCw2IEBAIHNldChXZWJLaXQyX0lOQ0xV
REVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MiCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL0ZpbGVBUEkiCiAgICAgIiR7V0VCS0lUMl9E
SVJ9L1BsYXRmb3JtIgotICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9Db3JlSVBDIgogICAg
ICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9JUEMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsdWdp
blByb2Nlc3MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1NoYXJlZCIKQEAgLTE2MiwxNiArMTYxLDE1
IEBAIHNldChXZWJLaXQyX1NPVVJDRVMKICAgICBQbGF0Zm9ybS9Nb2R1bGUuY3BwCiAgICAgUGxh
dGZvcm0vV29ya1F1ZXVlLmNwcAogCi0gICAgUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVy
cy5jcHAKLSAgICBQbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKLSAgICBQbGF0
Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAKLSAgICBQbGF0Zm9ybS9Db3JlSVBDL0F0
dGFjaG1lbnQuY3BwCi0gICAgUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNwcAotICAgIFBs
YXRmb3JtL0NvcmVJUEMvTWVzc2FnZURlY29kZXIuY3BwCi0gICAgUGxhdGZvcm0vQ29yZUlQQy9N
ZXNzYWdlRW5jb2Rlci5jcHAKLSAgICBQbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VSZWNlaXZlck1h
cC5jcHAKLQorICAgIFBsYXRmb3JtL0lQQy9Bcmd1bWVudENvZGVycy5jcHAKKyAgICBQbGF0Zm9y
bS9JUEMvQXJndW1lbnREZWNvZGVyLmNwcAorICAgIFBsYXRmb3JtL0lQQy9Bcmd1bWVudEVuY29k
ZXIuY3BwCisgICAgUGxhdGZvcm0vSVBDL0F0dGFjaG1lbnQuY3BwCisgICAgUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uY3BwCiAgICAgUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuY3BwCisgICAg
UGxhdGZvcm0vSVBDL01lc3NhZ2VEZWNvZGVyLmNwcAorICAgIFBsYXRmb3JtL0lQQy9NZXNzYWdl
RW5jb2Rlci5jcHAKKyAgICBQbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmNwcAogICAg
IFBsYXRmb3JtL0lQQy9NZXNzYWdlU2VuZGVyLmNwcAogICAgIFBsYXRmb3JtL0lQQy9TdHJpbmdS
ZWZlcmVuY2UuY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFt
IGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KaW5kZXggYTVjODE5ODhmNDExZWY3YzQy
NTc2ZTI2ZTU1NjQzY2U2MjFhNjZkZi4uMWIxZmVkNjNlMTdiY2RjNDA0ZmQ4N2YxOGNhYzJmMzRj
MDMyZTYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KKysrIGIv
U291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KQEAgLTUwLDggKzUwLDcgQEAgbGliV2ViS2l0
MlBsYXRmb3JtX2xhX0NQUEZMQUdTID0gXAogCS1JJChzcmNkaXIpL1NvdXJjZSBcCiAJLUkkKHNy
Y2RpcikvU291cmNlL1dURiBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYktpdDIvUGxhdGZvcm0g
XAotCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMgXAotCS1JJChz
cmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrIFwKKwktSSQoc3JjZGly
KS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvZ3RrIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2d0ayBcCiAJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNs
dWRlIFwKQEAgLTkwLDggKzg5LDcgQEAgbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpP
Ul9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DUFAKIAktSSQoc3Jj
ZGlyKS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2VzcyBcCiAJLUkkKHNyY2RpcikvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvRmlsZUFQSSBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0gXAotCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0Nv
cmVJUEMgXAotCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3Rr
IFwKKwktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvZ3RrIFwKIAktSSQo
c3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMgXAogCS1JJChzcmNkaXIpL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL2d0ayBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2VzcyBcCkBAIC03MTgsNyArNzE2LDYgQEAgUHJvZ3JhbXNfV2ViS2l0UGx1Z2luUHJv
Y2Vzc19DUFBGTEFHUyA9IFwKIAktaW5jbHVkZSAkKHNyY2RpcikvU291cmNlL1dlYktpdDIvV2Vi
S2l0MlByZWZpeC5oIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0MiBcCiAJLUkkKHNyY2Rp
cikvU291cmNlL1dlYktpdDIvUGxhdGZvcm0gXAotCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvIFwKIAkt
SSQoc3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3VuaXggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYTJhZmU5YWY3NmZiMWJkYWE5NWNhMWMzM2ViYWNkNTQy
YWYzMmM1NS4uYzUzNTE1OGFkZDUwNGExZGY2NGJhZTdiMzRkZjhjZTczNDRlY2E1NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yODEsMjkgKzI4MSwyOSBAQCB3ZWJraXQyZ3Rr
X2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvd2Via2l0Mmd0ay93
ZWJraXQyL1dlYktpdFZlcnNpb24uaAogCiB3ZWJraXQycGxhdGZvcm1fc291cmNlcyArPSBcCi0J
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVyLmggXAotCVNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuY3BwIFwKLQlTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmggXAotCVNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmNwcCBcCi0JU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuaCBcCi0JU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0FyZ3VtZW50cy5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0F0dGFjaG1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0F0
dGFjaG1lbnQuaCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9u
LmNwcCBcCi0JU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmggXAot
CVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oIFwKLQlTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VEZWNvZGVyLmNwcCBcCi0JU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlRGVjb2Rlci5oIFwKLQlTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VFbmNvZGVyLmNwcCBcCi0JU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlRW5jb2Rlci5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VGbGFncy5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL01lc3NhZ2VSZWNlaXZlci5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmggXAotCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAgXAotCVNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9Bcmd1bWVudENvZGVyLmggXAorCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQ
Qy9Bcmd1bWVudENvZGVycy5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Bcmd1
bWVudENvZGVycy5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnREZWNv
ZGVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50RGVjb2Rlci5o
IFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRFbmNvZGVyLmNwcCBcCisJ
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50RW5jb2Rlci5oIFwKKwlTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQXJndW1lbnRzLmggXAorCVNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy9BdHRhY2htZW50LmNwcCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0F0
dGFjaG1lbnQuaCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3Bw
IFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIFwKKwlTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvTWVzc2FnZURlY29kZXIuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvTWVzc2FnZURlY29kZXIuaCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01l
c3NhZ2VFbmNvZGVyLmNwcCBcCisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VF
bmNvZGVyLmggXAorCVNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9NZXNzYWdlRmxhZ3MuaCBc
CisJU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlci5oIFwKKwlTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmNwcCBcCisJU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5oIFwKKwlTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAgXAorCVNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcCBcCiAJU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL0RhdGFSZWZlcmVuY2UuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9JUEMvRGF0YVJlZmVyZW5jZS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMv
TWVzc2FnZVNlbmRlci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL3VuaXgvQXR0YWNobWVudFVuaXguY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L3VuaXgvQXR0YWNobWVudFVuaXguY3BwCmluZGV4IDZiNzcwYjc3YWYwMTIzMDg2NmIyODhjNWQ0
YjE5OWYwMDJhMTRmNzkuLjAyMmM3MmQ0MWYyNjY0MjE3NjhjYjhkYzM2OTRhNDdmNTQwMWU4MmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRV
bml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9BdHRhY2htZW50
VW5peC5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9VbmlTdGRFeHRyYXMu
aD4KIAotbmFtZXNwYWNlIENvcmVJUEMgeworbmFtZXNwYWNlIElQQyB7CiAKIEF0dGFjaG1lbnQ6
OkF0dGFjaG1lbnQoaW50IGZpbGVEZXNjcmlwdG9yLCBzaXplX3Qgc2l6ZSkKICAgICA6IG1fdHlw
ZShNYXBwZWRNZW1vcnlUeXBlKQpAQCAtNTEsNCArNTEsNCBAQCB2b2lkIEF0dGFjaG1lbnQ6OmRp
c3Bvc2UoKQogICAgICAgICBjbG9zZVdpdGhSZXRyeShtX2ZpbGVEZXNjcmlwdG9yKTsKIH0KIAot
fSAvLyBuYW1lc3BhY2UgQ29yZUlQQworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKaW5kZXggZjk0
NzY5MjE5ZGU1NGI2YmRjMzdkNjFhMzFkMjI0YTg1NTdmMzY5YS4uMjZjYjA2YjZlOGMyZDFjN2Mz
ZTAyNDZlNDQ5NDY5OTJlN2E3MTFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcApAQCAtNTMsNyArNTMsNyBAQAogI2VuZGlm
CiAjZW5kaWYgLy8gU09DS19TRVFQQUNLRVQKIAotbmFtZXNwYWNlIENvcmVJUEMgeworbmFtZXNw
YWNlIElQQyB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgbWVzc2FnZU1heFNpemUgPSA0MDk2Owog
c3RhdGljIGNvbnN0IHNpemVfdCBhdHRhY2htZW50TWF4QW1vdW50ID0gMjU1OwpAQCAtNTMzLDQg
KzUzMyw0IEBAIENvbm5lY3Rpb246OlNvY2tldFBhaXIgQ29ubmVjdGlvbjo6Y3JlYXRlUGxhdGZv
cm1Db25uZWN0aW9uKCkKICAgICByZXR1cm4gc29ja2V0UGFpcjsKIH0KIAotfSAvLyBuYW1lc3Bh
Y2UgQ29yZUlQQworfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS91bml4L1NoYXJlZE1lbW9yeVVuaXguY3BwIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vdW5peC9TaGFyZWRNZW1vcnlVbml4LmNwcAppbmRleCA3NjBhOGFiMWM4ODY4Y2Q5Yzcy
MWIwZmI0ZmFmZWY0MWQ4Y2RjYTRmLi42MzgwY2NkMGVjNjJjNjM2MDFjNmQ0N2NhZTMwOTFiZjMz
MWQyYTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS91bml4L1NoYXJlZE1l
bW9yeVVuaXguY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3VuaXgvU2hhcmVkTWVt
b3J5VW5peC5jcHAKQEAgLTYzLDE3ICs2MywxNyBAQCBib29sIFNoYXJlZE1lbW9yeTo6SGFuZGxl
Ojppc051bGwoKSBjb25zdAogICAgIHJldHVybiBtX2ZpbGVEZXNjcmlwdG9yID09IC0xOwogfQog
Ci12b2lkIFNoYXJlZE1lbW9yeTo6SGFuZGxlOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAordm9pZCBTaGFyZWRNZW1vcnk6OkhhbmRsZTo6ZW5jb2RlKElQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewogICAgIGVuY29kZXIgPDwgcmVs
ZWFzZVRvQXR0YWNobWVudCgpOwogfQogCi1ib29sIFNoYXJlZE1lbW9yeTo6SGFuZGxlOjpkZWNv
ZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBIYW5kbGUmIGhhbmRsZSkKK2Jv
b2wgU2hhcmVkTWVtb3J5OjpIYW5kbGU6OmRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVj
b2RlciwgSGFuZGxlJiBoYW5kbGUpCiB7CiAgICAgQVNTRVJUX0FSRyhoYW5kbGUsICFoYW5kbGUu
bV9zaXplKTsKICAgICBBU1NFUlRfQVJHKGhhbmRsZSwgaGFuZGxlLmlzTnVsbCgpKTsKIAotICAg
IENvcmVJUEM6OkF0dGFjaG1lbnQgYXR0YWNobWVudDsKKyAgICBJUEM6OkF0dGFjaG1lbnQgYXR0
YWNobWVudDsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGF0dGFjaG1lbnQpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKQEAgLTgxLDExICs4MSwxMSBAQCBib29sIFNoYXJlZE1lbW9yeTo6SGFu
ZGxlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBIYW5kbGUmIGhh
bgogICAgIHJldHVybiB0cnVlOwogfQogCi1Db3JlSVBDOjpBdHRhY2htZW50IFNoYXJlZE1lbW9y
eTo6SGFuZGxlOjpyZWxlYXNlVG9BdHRhY2htZW50KCkgY29uc3QKK0lQQzo6QXR0YWNobWVudCBT
aGFyZWRNZW1vcnk6OkhhbmRsZTo6cmVsZWFzZVRvQXR0YWNobWVudCgpIGNvbnN0CiB7CiAgICAg
aW50IHRlbXAgPSBtX2ZpbGVEZXNjcmlwdG9yOwogICAgIG1fZmlsZURlc2NyaXB0b3IgPSAtMTsK
LSAgICByZXR1cm4gQ29yZUlQQzo6QXR0YWNobWVudCh0ZW1wLCBtX3NpemUpOworICAgIHJldHVy
biBJUEM6OkF0dGFjaG1lbnQodGVtcCwgbV9zaXplKTsKIH0KIAogdm9pZCBTaGFyZWRNZW1vcnk6
OkhhbmRsZTo6YWRvcHRGcm9tQXR0YWNobWVudChpbnQgZmlsZURlc2NyaXB0b3IsIHNpemVfdCBz
aXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAzNDRhYmYwZDNmZjZhYWYwNjRhZTNl
NmM2N2E5OWYzODFmYWU1NDQzLi42Mzk2ZGM0ZmUwYmNmNzI2N2U3NWYxNmYyZjA3MjgwZWZmMjZk
YjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtNSw4ICs1LDggQEAgbGlzdChBUFBF
TkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBOZXR3b3JrUHJvY2Vzcy91bml4L05ldHdvcmtQcm9j
ZXNzTWFpblVuaXguY3BwCiAKLSAgICBQbGF0Zm9ybS9Db3JlSVBDL3VuaXgvQXR0YWNobWVudFVu
aXguY3BwCi0gICAgUGxhdGZvcm0vQ29yZUlQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAorICAg
IFBsYXRmb3JtL0lQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcAorICAgIFBsYXRmb3JtL0lQQy91
bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAogCiAgICAgUGxhdGZvcm0vZWZsL0Rpc3BhdGNoUXVldWVF
ZmwuY3BwCiAgICAgUGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RL
LmNtYWtlCmluZGV4IDg3YWM1MTBhMjBiNWVjNGQ0Mjc2OGI5NzlmMzk1ZTBiZTRjMzU5NzUuLjU2
ZGJjMWYyZDUzNzRiNDlkNjNkZDM1ZmE4NWVmOGEyYjdjMmUxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
R1RLLmNtYWtlCkBAIC0xOCw4ICsxOCw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwog
ICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJHVEtfQVBJX0RJUn0vV2ViS2l0RW51bVR5cGVz
LmNwcAogICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJHVEtfQVBJX0RJUn0vV2ViS2l0TWFy
c2hhbC5jcHAKIAotICAgIFBsYXRmb3JtL0NvcmVJUEMvdW5peC9BdHRhY2htZW50VW5peC5jcHAK
LSAgICBQbGF0Zm9ybS9Db3JlSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCisgICAgUGxhdGZv
cm0vSVBDL3VuaXgvQXR0YWNobWVudFVuaXguY3BwCisgICAgUGxhdGZvcm0vSVBDL3VuaXgvQ29u
bmVjdGlvblVuaXguY3BwCiAKICAgICBQbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKICAgICBQ
bGF0Zm9ybS9ndGsvTW9kdWxlR3RrLmNwcApAQCAtNTA0LDIyICs1MDQsMjEgQEAgaWYgKEVOQUJM
RV9QTFVHSU5fUFJPQ0VTUykKICAgICAgICAgUGxhdGZvcm0vTW9kdWxlLmNwcAogICAgICAgICBQ
bGF0Zm9ybS9Xb3JrUXVldWUuY3BwCiAKLSAgICAgICAgUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dENvZGVycy5jcHAKLSAgICAgICAgUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuY3Bw
Ci0gICAgICAgIFBsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcAotICAgICAgICBQ
bGF0Zm9ybS9Db3JlSVBDL0F0dGFjaG1lbnQuY3BwCi0gICAgICAgIFBsYXRmb3JtL0NvcmVJUEMv
Q29ubmVjdGlvbi5jcHAKLSAgICAgICAgUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlRGVjb2Rlci5j
cHAKLSAgICAgICAgUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlRW5jb2Rlci5jcHAKLSAgICAgICAg
UGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlUmVjZWl2ZXJNYXAuY3BwCi0KLSAgICAgICAgUGxhdGZv
cm0vQ29yZUlQQy91bml4L0F0dGFjaG1lbnRVbml4LmNwcAotICAgICAgICBQbGF0Zm9ybS9Db3Jl
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCi0KKyAgICAgICAgUGxhdGZvcm0vSVBDL0FyZ3Vt
ZW50Q29kZXJzLmNwcAorICAgICAgICBQbGF0Zm9ybS9JUEMvQXJndW1lbnREZWNvZGVyLmNwcAor
ICAgICAgICBQbGF0Zm9ybS9JUEMvQXJndW1lbnRFbmNvZGVyLmNwcAorICAgICAgICBQbGF0Zm9y
bS9JUEMvQXR0YWNobWVudC5jcHAKKyAgICAgICAgUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3Bw
CiAgICAgICAgIFBsYXRmb3JtL0lQQy9EYXRhUmVmZXJlbmNlLmNwcAorICAgICAgICBQbGF0Zm9y
bS9JUEMvTWVzc2FnZURlY29kZXIuY3BwCisgICAgICAgIFBsYXRmb3JtL0lQQy9NZXNzYWdlRW5j
b2Rlci5jcHAKKyAgICAgICAgUGxhdGZvcm0vSVBDL01lc3NhZ2VSZWNlaXZlck1hcC5jcHAKICAg
ICAgICAgUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuY3BwCiAgICAgICAgIFBsYXRmb3JtL0lQ
Qy9TdHJpbmdSZWZlcmVuY2UuY3BwCiAKKyAgICAgICAgUGxhdGZvcm0vSVBDL3VuaXgvQXR0YWNo
bWVudFVuaXguY3BwCisgICAgICAgIFBsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNw
cAorCiAgICAgICAgIFBsYXRmb3JtL2d0ay9Mb2dnaW5nR3RrLmNwcAogICAgICAgICBQbGF0Zm9y
bS9ndGsvTW9kdWxlR3RrLmNwcAogICAgICAgICBQbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRHcmFwaGljc0FyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVy
cy5jcHAKaW5kZXggM2JhNDY2YmM1MDE3MDJmOTg0MDcyNzJlMzQxYTMzZDNiMTRiY2NkZC4uMzA3
M2RjZTVhOGU5MmRjZDAzYzZhYjEwN2IzMWZjZWIwNDdiZWZhYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc0Fy
Z3VtZW50Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwCkBAIC03Nyw3ICs3
Nyw3IEBACiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKK25hbWVzcGFjZSBJUEMgewogCiAjaWYgRU5BQkxFKENT
U19GSUxURVJTKQogdm9pZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZpbHRlck9wZXJhdGlvbnM+
OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpGaWx0ZXJP
cGVyYXRpb25zJiBmaWx0ZXJzKQpAQCAtMTE4NCw2ICsxMTg0LDYgQEAgYm9vbCBBcmd1bWVudENv
ZGVyPENvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZT46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIEMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgQ29yZUlQQwor
fSAvLyBuYW1lc3BhY2UgSVBDCiAKICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5o
CmluZGV4IDZlMGQ2OWNlODRjNzgxY2M1ZWE5NzZiNzIzZjMxYjRhMGZlNDczZWEuLmEzY2RjMDQx
ZDFkM2Y1YzBkOTM5YjgyNDI0MWVmMmU0Njg2YmMyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVu
dENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3NBcmd1bWVudENvZGVycy5oCkBAIC01Nyw3ICs1Nyw3IEBAIHN0
cnVjdCBHcmFwaGljc1N1cmZhY2VUb2tlbjsKICNlbmRpZgogfQogCi1uYW1lc3BhY2UgQ29yZUlQ
QyB7CituYW1lc3BhY2UgSVBDIHsKIAogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RmlsdGVyT3BlcmF0aW9ucz4gewpAQCAt
MTIwLDcgKzEyMCw3IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6
Q29vcmRpbmF0ZWRHcmFwaGljc1N0YXRlPiB7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3Vt
ZW50RGVjb2RlciYsIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTdGF0ZSYpOwogfTsKIAot
fSAvLyBuYW1lc3BhY2UgQ29yZUlQQworfSAvLyBuYW1lc3BhY2UgSVBDCiAKICNlbmRpZiAvLyBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZh
Y2UuY3BwCmluZGV4IDFhMGZhMmIxNGFiNTc1Nzc4OTczNTBlNTRjYzc1ZGQ5ODk4MTQyNmEuLmY0
NjQ3Y2IxNmNmMTVhNDE2MmI2MDZiMjdmNjIyYWY4YzJmYzE1ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFj
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Q29vcmRpbmF0ZWRTdXJmYWNlLmNwcApAQCAtMzksNyArMzksNyBAQCBXZWJDb29yZGluYXRlZFN1
cmZhY2U6OkhhbmRsZTo6SGFuZGxlKCkKIHsKIH0KIAotdm9pZCBXZWJDb29yZGluYXRlZFN1cmZh
Y2U6OkhhbmRsZTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29u
c3QKK3ZvaWQgV2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpIYW5kbGU6OmVuY29kZShJUEM6OkFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IG1fc2l6ZSA8PCBt
X2ZsYWdzOwogI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQpAQCAtNTAsNyArNTAsNyBAQCB2b2lk
IFdlYkNvb3JkaW5hdGVkU3VyZmFjZTo6SGFuZGxlOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRF
bmNvZGVyJiBlbmNvZGVyKSBjbwogICAgIGVuY29kZXIgPDwgbV9iaXRtYXBIYW5kbGU7CiB9CiAK
LWJvb2wgV2ViQ29vcmRpbmF0ZWRTdXJmYWNlOjpIYW5kbGU6OmRlY29kZShDb3JlSVBDOjpBcmd1
bWVudERlY29kZXImIGRlY29kZXIsIEhhbmRsZSYgaGFuZGxlKQorYm9vbCBXZWJDb29yZGluYXRl
ZFN1cmZhY2U6OkhhbmRsZTo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBI
YW5kbGUmIGhhbmRsZSkKIHsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhbmRsZS5tX3NpemUp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJDb29yZGluYXRlZFN1cmZhY2UuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5o
CmluZGV4IDBkODEwZjY5MGY0NDIzNTI2OWMzYTk4NDY2MmExZTczMThkZDUwZTEuLmE0MzAzOTI4
ZmUwMGQ1NTM1ODllNTRjOTFhMzA4ZmFkMmNlMTkzZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5hdGVkU3VyZmFjZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL1dlYkNvb3JkaW5h
dGVkU3VyZmFjZS5oCkBAIC00Myw4ICs0Myw4IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAg
ICAgIEhhbmRsZSgpOwogCi0gICAgICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5j
b2RlciYpIGNvbnN0OwotICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyJiwgSGFuZGxlJik7CisgICAgICAgIHZvaWQgZW5jb2RlKElQQzo6QXJndW1lbnRF
bmNvZGVyJikgY29uc3Q7CisgICAgICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6OkFyZ3VtZW50
RGVjb2RlciYsIEhhbmRsZSYpOwogCiAjaWYgVVNFKEdSQVBISUNTX1NVUkZBQ0UpCiAgICAgICAg
IFdlYkNvcmU6OkdyYXBoaWNzU3VyZmFjZVRva2VuIGdyYXBoaWNzU3VyZmFjZVRva2VuKCkgY29u
c3QgeyByZXR1cm4gbV9ncmFwaGljc1N1cmZhY2VUb2tlbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9zb3VwL0Rvd25sb2FkU291cC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcAppbmRleCBkMGVl
YmI1ZGU1MmIzMjkwMzhlMDFmNWY3ZTg2OGI2ZTU4NGZlMTUyLi5hNWEwOGI2MTk3ZmYyNWRiYjNm
M2UzMTMyNWNkMDk4MTdkOGQ2N2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
RG93bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvRG93bmxvYWRzL3NvdXAvRG93bmxvYWRTb3VwLmNwcApAQCAtNjEsNyArNjEsNyBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGRvd25sb2FkRmFpbGVkKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9y
KQogICAgIHsKLSAgICAgICAgbV9kb3dubG9hZC0+ZGlkRmFpbChlcnJvciwgQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZSgpKTsKKyAgICAgICAgbV9kb3dubG9hZC0+ZGlkRmFpbChlcnJvciwgSVBDOjpE
YXRhUmVmZXJlbmNlKCkpOwogICAgIH0KIAogICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFJl
c291cmNlSGFuZGxlKiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCkBAIC0yMDQs
NyArMjA0LDcgQEAgdm9pZCBEb3dubG9hZDo6Y2FuY2VsKCkKICAgICBpZiAoIW1fcmVzb3VyY2VI
YW5kbGUpCiAgICAgICAgIHJldHVybjsKICAgICBtX3Jlc291cmNlSGFuZGxlLT5jYW5jZWwoKTsK
LSAgICBkaWRDYW5jZWwoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSgpKTsKKyAgICBkaWRDYW5jZWwo
SVBDOjpEYXRhUmVmZXJlbmNlKCkpOwogICAgIG1fcmVzb3VyY2VIYW5kbGUgPSAwOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQmF0dGVyeVN0YXR1cy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQmF0dGVyeVN0YXR1cy5jcHAKaW5kZXggY2IwMTdkYzFh
MTE2NTZiMDk3ZDhmYjVlYmFkMjMyMDRkZWM2NDVkYi4uZDAxMmQ3MDYzYjYwNWJkNDExMzgzZmRi
M2Q1MmI4ZmE3MzZiOTc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkJh
dHRlcnlTdGF0dXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJCYXR0ZXJ5U3Rh
dHVzLmNwcApAQCAtNDUsNyArNDUsNyBAQCBXZWJCYXR0ZXJ5U3RhdHVzOjp+V2ViQmF0dGVyeVN0
YXR1cygpCiB7CiB9CiAKLXZvaWQgV2ViQmF0dGVyeVN0YXR1czo6RGF0YTo6ZW5jb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3ZvaWQgV2ViQmF0dGVyeVN0YXR1
czo6RGF0YTo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewog
ICAgIGVuY29kZXIgPDwgaXNDaGFyZ2luZzsKICAgICBlbmNvZGVyIDw8IGNoYXJnaW5nVGltZTsK
QEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhOjplbmNvZGUoQ29y
ZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbGV2
ZWw7CiB9CiAKLWJvb2wgV2ViQmF0dGVyeVN0YXR1czo6RGF0YTo6ZGVjb2RlKENvcmVJUEM6OkFy
Z3VtZW50RGVjb2RlciYgZGVjb2RlciwgRGF0YSYgcmVzdWx0KQorYm9vbCBXZWJCYXR0ZXJ5U3Rh
dHVzOjpEYXRhOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIERhdGEmIHJl
c3VsdCkKIHsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pc0NoYXJnaW5nKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YkJhdHRlcnlTdGF0dXMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJCYXR0ZXJ5U3RhdHVz
LmgKaW5kZXggODM2ZTQ0ZTcxMDhiM2MwMjM3NDc1NTU5ZDk1Y2Q0MzYxOTBhMmNkZC4uYWE2MGI4
ZmE3MmFiMDllM2I4OWRiNDExMmQwYWZkMWE5YmMxNzk0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkJhdHRlcnlTdGF0dXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViQmF0dGVyeVN0YXR1cy5oCkBAIC0zOCw4ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogY2xhc3MgV2ViQmF0dGVyeVN0YXR1cyA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpP
YmplY3Q6OlR5cGU6OkJhdHRlcnlTdGF0dXM+IHsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgRGF0YSB7
Ci0gICAgICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owot
ICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgRGF0
YSYpOworICAgICAgICB2b2lkIGVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owor
ICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImLCBEYXRhJik7
CiAKICAgICAgICAgYm9vbCBpc0NoYXJnaW5nOwogICAgICAgICBkb3VibGUgY2hhcmdpbmdUaW1l
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk5ldHdvcmtJbmZvLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJOZXR3b3JrSW5mby5jcHAKaW5kZXggNWViNjZhN2Yz
YzNjZGNhOWRhMmM4M2Q2YTI0NmI1MmM3M2VhNzMzMi4uMDRmY2U4OTk4MWYzMGRhOGJkMjFjNDQ1
NWFhNTY4ZjhkZDVmYTFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk5l
dHdvcmtJbmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTmV0d29ya0luZm8u
Y3BwCkBAIC00MywxMyArNDMsMTMgQEAgV2ViTmV0d29ya0luZm86On5XZWJOZXR3b3JrSW5mbygp
CiB7CiB9CiAKLXZvaWQgV2ViTmV0d29ya0luZm86OkRhdGE6OmVuY29kZShDb3JlSVBDOjpBcmd1
bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit2b2lkIFdlYk5ldHdvcmtJbmZvOjpEYXRhOjpl
bmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2Rl
ciA8PCBiYW5kd2lkdGg7CiAgICAgZW5jb2RlciA8PCBtZXRlcmVkOwogfQogCi1ib29sIFdlYk5l
dHdvcmtJbmZvOjpEYXRhOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBEYXRhJiByZXN1bHQpCitib29sIFdlYk5ldHdvcmtJbmZvOjpEYXRhOjpkZWNvZGUoSVBDOjpB
cmd1bWVudERlY29kZXImIGRlY29kZXIsIERhdGEmIHJlc3VsdCkKIHsKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5iYW5kd2lkdGgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTmV0d29ya0luZm8uaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJOZXR3b3JrSW5mby5oCmluZGV4IDYxYWM1ZWU5NjdmODYyMDAxZDAy
MjJiOWQ4ZjYwNjI1YzkwNGI1YzkuLmVjNTc1ZDBkYmYzZTMzYTI5MTZjOTZmODcyNTdmNWIyMzg5
NmM5ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJOZXR3b3JrSW5mby5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJOZXR3b3JrSW5mby5oCkBAIC0zOCw4ICsz
OCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViTmV0d29ya0luZm8gOiBwdWJsaWMg
QVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpOZXR3b3JrSW5mbz4gewogcHVibGlj
OgogICAgIHN0cnVjdCBEYXRhIHsKLSAgICAgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1l
bnRFbmNvZGVyJikgY29uc3Q7Ci0gICAgICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpB
cmd1bWVudERlY29kZXImLCBEYXRhJik7CisgICAgICAgIHZvaWQgZW5jb2RlKElQQzo6QXJndW1l
bnRFbmNvZGVyJikgY29uc3Q7CisgICAgICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6OkFyZ3Vt
ZW50RGVjb2RlciYsIERhdGEmKTsKIAogICAgICAgICBkb3VibGUgYmFuZHdpZHRoOwogICAgICAg
ICBib29sIG1ldGVyZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2Fpcm8v
TGF5ZXJUcmVlQ29udGV4dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9M
YXllclRyZWVDb250ZXh0Q2Fpcm8uY3BwCmluZGV4IDUyOTcyYTVjN2FjOGI5ODY3MjgzZDg3ODhl
ODEyOWMwNDIyMTM4NjMuLmRkZWNkNTBlNzk2M2Q0NjY5MjVkODc1ZjQ3Y2FlNzk1NzQ1MDJlY2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9MYXllclRyZWVDb250ZXh0
Q2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9jYWlyby9MYXllclRyZWVDb250
ZXh0Q2Fpcm8uY3BwCkBAIC00MCwxMiArNDAsMTIgQEAgTGF5ZXJUcmVlQ29udGV4dDo6fkxheWVy
VHJlZUNvbnRleHQoKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgTGF5ZXJUcmVl
Q29udGV4dDo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Cit2b2lkIExh
eWVyVHJlZUNvbnRleHQ6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0CiB7CiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNvZGUo
Q29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgTGF5ZXJUcmVlQ29udGV4dCYpCitib29sIExheWVy
VHJlZUNvbnRleHQ6OmRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYsIExheWVyVHJlZUNvbnRl
eHQmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL0xheWVyVHJlZUNvbnRleHRFZmwuY3BwIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9MYXllclRyZWVDb250ZXh0RWZsLmNwcAppbmRleCA4
NGQ3YmVkNDhhYzkxNzJhMDliMmNkN2VhOTJmMmUwNzE5ZmIyZTM2Li5jMjcyNDIwZGMyMzNhMGE3
ZDllN2RhZDAwNjFjYmQzMDU0Mzk4MGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZWZsL0xheWVyVHJlZUNvbnRleHRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9lZmwvTGF5ZXJUcmVlQ29udGV4dEVmbC5jcHAKQEAgLTQwLDEyICs0MCwxMiBAQCBMYXllclRy
ZWVDb250ZXh0Ojp+TGF5ZXJUcmVlQ29udGV4dCgpCiB7CiB9CiAKLXZvaWQgTGF5ZXJUcmVlQ29u
dGV4dDo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3Zv
aWQgTGF5ZXJUcmVlQ29udGV4dDo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAogewogICAgIGVuY29kZXIgPDwgY29vcmRpbmF0ZWRMYXllcklEOwogfQogCi1ib29s
IExheWVyVHJlZUNvbnRleHQ6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29k
ZXIsIExheWVyVHJlZUNvbnRleHQmIGNvbnRleHQpCitib29sIExheWVyVHJlZUNvbnRleHQ6OmRl
Y29kZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgTGF5ZXJUcmVlQ29udGV4dCYgY29u
dGV4dCkKIHsKICAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUoY29udGV4dC5jb29yZGluYXRlZExh
eWVySUQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Bcmd1bWVu
dENvZGVyc0d0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL0FyZ3VtZW50Q29kZXJz
R3RrLmNwcAppbmRleCAyNTJiN2IwMzdjOTkzYjVlZjAyZTUyMzczOGEzYmQxOWFiOTRlYmJjLi4x
MTJlNzk4M2E0N2Y5OGRkMzRjMDM1MTI4MDczMzBkZTY4NDZmZmVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL0FyZ3VtZW50Q29kZXJzR3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvZ3RrL0FyZ3VtZW50Q29kZXJzR3RrLmNwcApAQCAtMzksNyArMzksNyBA
QAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi1u
YW1lc3BhY2UgQ29yZUlQQyB7CituYW1lc3BhY2UgSVBDIHsKIAogc3RhdGljIHZvaWQgZW5jb2Rl
SW1hZ2UoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBHZGtQaXhidWYqIHBpeGJ1ZikK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvQXJndW1lbnRDb2RlcnNH
dGsuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvQXJndW1lbnRDb2RlcnNHdGsuaAppbmRl
eCBmYmFhYTk0ZWFhMGZiYWE3YTk5Zjg2NWQ0OTRkODNhNTU2YzkxMDA3Li5lY2IyMWFhMmRkNmEy
NTdlMjJmM2VlYzQ4YWY2NzAxYjcyNWI2NDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvZ3RrL0FyZ3VtZW50Q29kZXJzR3RrLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L2d0ay9Bcmd1bWVudENvZGVyc0d0ay5oCkBAIC0zNyw3ICszNyw3IEBAIGNsYXNzIERhdGFPYmpl
Y3RHdGs7CiBjbGFzcyBEcmFnRGF0YTsKIH0KIAotbmFtZXNwYWNlIENvcmVJUEMgeworbmFtZXNw
YWNlIElQQyB7CiAKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6RHJh
Z0RhdGE+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3Qg
V2ViQ29yZTo6RHJhZ0RhdGEmKTsKQEAgLTUwLDYgKzUwLDYgQEAgYm9vbCBkZWNvZGUoQXJndW1l
bnREZWNvZGVyJiwgR1JlZlB0cjxHdGtQcmludFNldHRpbmdzPiYpOwogdm9pZCBlbmNvZGUoQXJn
dW1lbnRFbmNvZGVyJiwgR3RrUGFnZVNldHVwKik7CiBib29sIGRlY29kZShBcmd1bWVudERlY29k
ZXImLCBHUmVmUHRyPEd0a1BhZ2VTZXR1cD4mKTsKIAotfSAvLyBuYW1lc3BhY2UgQ29yZUlQQwor
fSAvLyBuYW1lc3BhY2UgSVBDCiAKICNlbmRpZiAvLyBBcmd1bWVudENvZGVyc0d0a19oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL0xheWVyVHJlZUNvbnRleHRHdGsuY3Bw
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9MYXllclRyZWVDb250ZXh0R3RrLmNwcAppbmRl
eCBiZmQ0NTkyY2NmYTEwZDM0MTM5OGQ1Zjg3MzQyMmIyOGRmZmNhNjE0Li41YmE3OWQzMzcyNTMy
MzkzOTQ1ZmQzNTRjM2Y2ODA0NTMwZTM0NDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvZ3RrL0xheWVyVHJlZUNvbnRleHRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9ndGsvTGF5ZXJUcmVlQ29udGV4dEd0ay5jcHAKQEAgLTQwLDEyICs0MCwxMiBAQCBMYXll
clRyZWVDb250ZXh0Ojp+TGF5ZXJUcmVlQ29udGV4dCgpCiB7CiB9CiAKLXZvaWQgTGF5ZXJUcmVl
Q29udGV4dDo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QK
K3ZvaWQgTGF5ZXJUcmVlQ29udGV4dDo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogewogICAgIGVuY29kZXIgPDwgd2luZG93SGFuZGxlOwogfQogCi1ib29sIExh
eWVyVHJlZUNvbnRleHQ6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIs
IExheWVyVHJlZUNvbnRleHQmIGNvbnRleHQpCitib29sIExheWVyVHJlZUNvbnRleHQ6OmRlY29k
ZShJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgTGF5ZXJUcmVlQ29udGV4dCYgY29udGV4
dCkKIHsKICAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUoY29udGV4dC53aW5kb3dIYW5kbGUpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9XZWJQbGF0Zm9ybVRvdWNo
UG9pbnRJT1MuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9XZWJQbGF0Zm9ybVRvdWNo
UG9pbnRJT1MuY3BwCmluZGV4IDdkNjBmZWJhOTQ3ZWEzNzIxMmY5OGJiNzFhNDJmNGYzMmI4NzQw
MWYuLjBiYTk3MDE4ZDI1MjZhZjE3YzkxNDQ1YjUwMGFlNWNiNmMyMGU2MGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvV2ViUGxhdGZvcm1Ub3VjaFBvaW50SU9TLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL1dlYlBsYXRmb3JtVG91Y2hQb2ludElPUy5j
cHAKQEAgLTM1LDE0ICszNSwxNCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLXZvaWQgV2ViUGxhdGZvcm1Ub3VjaFBvaW50OjplbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAordm9pZCBXZWJQbGF0Zm9ybVRvdWNo
UG9pbnQ6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAg
ICBlbmNvZGVyIDw8IG1faWRlbnRpZmllcjsKICAgICBlbmNvZGVyIDw8IG1fbG9jYXRpb247CiAg
ICAgZW5jb2RlciA8PCBtX3BoYXNlOwogfQogCi1ib29sIFdlYlBsYXRmb3JtVG91Y2hQb2ludDo6
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgV2ViUGxhdGZvcm1Ub3Vj
aFBvaW50JiByZXN1bHQpCitib29sIFdlYlBsYXRmb3JtVG91Y2hQb2ludDo6ZGVjb2RlKElQQzo6
QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBXZWJQbGF0Zm9ybVRvdWNoUG9pbnQmIHJlc3VsdCkK
IHsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX2lkZW50aWZpZXIpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL1dl
YlRvdWNoRXZlbnRJT1MuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9XZWJUb3VjaEV2
ZW50SU9TLmNwcAppbmRleCBlNjZkMDg4MmJhMzMxMzM2ZGIyOGJjNGI3OGVjOGFiM2RhMGY3Zjdj
Li5lZTRhYTc4OGJhOWI0YWUwODk5NDRlYmMxYzBhMmIyZDQ0ZjRhNGQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL1dlYlRvdWNoRXZlbnRJT1MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9pb3MvV2ViVG91Y2hFdmVudElPUy5jcHAKQEAgLTM0LDcgKzM0LDcg
QEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgV2ViVG91Y2hFdmVudDo6ZW5jb2RlKENv
cmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3ZvaWQgV2ViVG91Y2hFdmVu
dDo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewogICAgIFdl
YkV2ZW50OjplbmNvZGUoZW5jb2Rlcik7CiAKQEAgLTQ1LDcgKzQ1LDcgQEAgdm9pZCBXZWJUb3Vj
aEV2ZW50OjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAog
ICAgIGVuY29kZXIgPDwgbV9nZXN0dXJlUm90YXRpb247CiB9CiAKLWJvb2wgV2ViVG91Y2hFdmVu
dDo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgV2ViVG91Y2hFdmVu
dCYgcmVzdWx0KQorYm9vbCBXZWJUb3VjaEV2ZW50OjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29k
ZXImIGRlY29kZXIsIFdlYlRvdWNoRXZlbnQmIHJlc3VsdCkKIHsKICAgICBpZiAoIVdlYkV2ZW50
OjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL09wZW5TeXNj
YWxsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9PcGVu
U3lzY2FsbC5jcHAKaW5kZXggMzAyMGVhZTI0MTMzMzg3OWNlMzc3ZWIwM2QyYTRjOWUyMTNhYTdh
NS4uZmRlNDhlMzEyNmJiYjFhMGUwNjY2YzQ2ZWNkODhjYTBlYzdkNThiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL09wZW5TeXNjYWxsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvT3BlblN5
c2NhbGwuY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFN5c2NhbGxSZXN1
bHQ+IE9wZW5TeXNjYWxsOjpleGVjdXRlKGNvbnN0IFN5c2NhbGxQb2xpY3kmIHBvbGljeSkKICAg
ICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxPcGVuU3lzY2FsbFJlc3VsdD4oZmQsIGVycm9yTnVt
YmVyKTsKIH0KIAotdm9pZCBPcGVuU3lzY2FsbDo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5j
b2RlciYgZW5jb2RlcikgY29uc3QKK3ZvaWQgT3BlblN5c2NhbGw6OmVuY29kZShJUEM6OkFyZ3Vt
ZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IHR5cGUoKTsKICAg
ICBlbmNvZGVyIDw8IG1fcGF0aDsKQEAgLTE2OSw3ICsxNjksNyBAQCB2b2lkIE9wZW5TeXNjYWxs
OjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgbV9tb2RlOwogfQogCi1ib29sIE9wZW5TeXNjYWxsOjpkZWNvZGUoQ29yZUlQQzo6
QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyKQorYm9vbCBPcGVuU3lzY2FsbDo6ZGVjb2RlKElQQzo6
QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyKQogewogICAgIC8vIG1fdHlwZSBhbHJlYWR5IGRlY29k
ZWQgYnkgdGhlIHBhcmVudCBjbGFzcy4KIApAQCAtMTk0LDE5ICsxOTQsMTkgQEAgT3BlblN5c2Nh
bGxSZXN1bHQ6On5PcGVuU3lzY2FsbFJlc3VsdCgpCiAgICAgICAgIGNsb3NlKG1fZmQpOwogfQog
Ci12b2lkIE9wZW5TeXNjYWxsUmVzdWx0OjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAordm9pZCBPcGVuU3lzY2FsbFJlc3VsdDo6ZW5jb2RlKElQQzo6QXJn
dW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewogICAgIGVuY29kZXIgPDwgdHlwZSgpOwog
CiAgICAgaWYgKG1fZmQgPj0gMCkgewotICAgICAgICBDb3JlSVBDOjpBdHRhY2htZW50IGF0dGFj
aG1lbnQobV9mZCk7CisgICAgICAgIElQQzo6QXR0YWNobWVudCBhdHRhY2htZW50KG1fZmQpOwog
ICAgICAgICBlbmNvZGVyLmFkZEF0dGFjaG1lbnQoYXR0YWNobWVudCk7CiAgICAgfQogCiAgICAg
ZW5jb2RlciA8PCBtX2Vycm9yTnVtYmVyOwogfQogCi1ib29sIE9wZW5TeXNjYWxsUmVzdWx0Ojpk
ZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBpbnQgZmQpCitib29sIE9w
ZW5TeXNjYWxsUmVzdWx0OjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIGlu
dCBmZCkKIHsKICAgICBpZiAoZmQgPj0gMCkKICAgICAgICAgbV9mZCA9IGZkOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL09wZW5TeXNjYWxs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvT3BlblN5c2Nh
bGwuaAppbmRleCBlNjQ2ZDFiZjgxNDY1MzQ5NDNkODhkYTM0NmQxODQ2ZTNhYmNmMTM4Li42NmU1
MjkyMmU5NmM3Yzk0ZmE2N2FmOTQyYzMzNDgyOTY3NWU1MDIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvT3BlblN5c2NhbGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvT3BlblN5c2NhbGwuaApA
QCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIlN5c2NhbGwuaCIKICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAKLW5hbWVzcGFjZSBDb3JlSVBDIHsKK25hbWVzcGFjZSBJUEMgewogY2xh
c3MgQXJndW1lbnREZWNvZGVyOwogY2xhc3MgQXJndW1lbnRFbmNvZGVyOwogfQpAQCAtNTIsOCAr
NTIsOCBAQCBwdWJsaWM6CiAgICAgLy8gU3lzY2FsbCBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0
dWFsIHZvaWQgc2V0UmVzdWx0KGNvbnN0IFN5c2NhbGxSZXN1bHQqKTsKICAgICB2aXJ0dWFsIHN0
ZDo6dW5pcXVlX3B0cjxTeXNjYWxsUmVzdWx0PiBleGVjdXRlKGNvbnN0IFN5c2NhbGxQb2xpY3km
KTsKLSAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNv
bnN0OwotICAgIHZpcnR1YWwgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKik7
CisgICAgdmlydHVhbCB2b2lkIGVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0Owor
ICAgIHZpcnR1YWwgYm9vbCBkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXIqKTsKIAogcHJpdmF0
ZToKICAgICBDU3RyaW5nIG1fcGF0aDsKQEAgLTcwLDggKzcwLDggQEAgcHVibGljOgogICAgIGlu
dCBlcnJvck51bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JOdW1iZXI7IH0KIAogICAgIC8v
IFN5c2NhbGxSZXN1bHQgaW1wbGVtZW50YXRpb24uCi0gICAgdmlydHVhbCB2b2lkIGVuY29kZShD
b3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgZGVjb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIGludCBmZCk7CisgICAgdmlydHVhbCB2b2lkIGVu
Y29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBkZWNv
ZGUoSVBDOjpBcmd1bWVudERlY29kZXIqLCBpbnQgZmQpOwogCiBwcml2YXRlOgogICAgIGludCBt
X2ZkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0
ZXJzL1NlY2NvbXBCcm9rZXIuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2Nv
bXBGaWx0ZXJzL1NlY2NvbXBCcm9rZXIuY3BwCmluZGV4IGQ5ZDNiODhmMjJlNGU1MDNkNzQyZDJk
NjRmZmRkY2I2MjYzZjdmYjUuLjVjY2FiMTYxMWI2YjA0ZTgzODYyOWI4NjlhMGZmOTgzY2ZjMzFi
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVy
cy9TZWNjb21wQnJva2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2Vj
Y29tcEZpbHRlcnMvU2VjY29tcEJyb2tlci5jcHAKQEAgLTE5Niw3ICsxOTYsNyBAQCBTZWNjb21w
QnJva2VyQ2xpZW50Ojp+U2VjY29tcEJyb2tlckNsaWVudCgpCiAKIHZvaWQgU2VjY29tcEJyb2tl
ckNsaWVudDo6ZGlzcGF0Y2goU3lzY2FsbCogc3lzY2FsbCkgY29uc3QKIHsKLSAgICBhdXRvIGVu
Y29kZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rlcj4oKTsKKyAg
ICBhdXRvIGVuY29kZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElQQzo6QXJndW1lbnRFbmNvZGVyPigp
OwogICAgIGVuY29kZXItPmVuY29kZSgqc3lzY2FsbCk7CiAKICAgICBjaGFyIGJ1ZmZlclttZXNz
YWdlTWF4U2l6ZV07CkBAIC0yMTksNyArMjE5LDcgQEAgdm9pZCBTZWNjb21wQnJva2VyQ2xpZW50
OjpkaXNwYXRjaChTeXNjYWxsKiBzeXNjYWxsKSBjb25zdAogCiAgICAgbV9zb2NrZXRMb2NrLnVu
bG9jaygpOwogCi0gICAgYXV0byBkZWNvZGVyID0gc3RkOjptYWtlX3VuaXF1ZTxDb3JlSVBDOjpB
cmd1bWVudERlY29kZXI+KChjb25zdCB1aW50OF90KikgYnVmZmVyLCByZWNlaXZlZEJ5dGVzKTsK
KyAgICBhdXRvIGRlY29kZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPElQQzo6QXJndW1lbnREZWNvZGVy
PigoY29uc3QgdWludDhfdCopIGJ1ZmZlciwgcmVjZWl2ZWRCeXRlcyk7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFN5c2NhbGxSZXN1bHQ+IHJlc3VsdCA9IFN5c2NhbGxSZXN1bHQ6OmNyZWF0ZUZyb21E
ZWNvZGVyKGRlY29kZXIuZ2V0KCksIGZkKTsKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgQ1JB
U0goKTsKQEAgLTMyNCw3ICszMjQsNyBAQCBOT19SRVRVUk4gdm9pZCBTZWNjb21wQnJva2VyOjpy
dW5Mb29wKGludCBzb2NrZXQpCiAgICAgICAgIGlmIChyZWNlaXZlZEJ5dGVzIDw9IDApCiAgICAg
ICAgICAgICBleGl0KHJlY2VpdmVkQnl0ZXMgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1Mp
OwogCi0gICAgICAgIGF1dG8gZGVjb2RlciA9IHN0ZDo6bWFrZV91bmlxdWU8Q29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyPigoY29uc3QgdWludDhfdCopIGJ1ZmZlciwgcmVjZWl2ZWRCeXRlcyk7Cisg
ICAgICAgIGF1dG8gZGVjb2RlciA9IHN0ZDo6bWFrZV91bmlxdWU8SVBDOjpBcmd1bWVudERlY29k
ZXI+KChjb25zdCB1aW50OF90KikgYnVmZmVyLCByZWNlaXZlZEJ5dGVzKTsKICAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFN5c2NhbGw+IHN5c2NhbGwgPSBTeXNjYWxsOjpjcmVhdGVGcm9tRGVjb2Rl
cihkZWNvZGVyLmdldCgpKTsKICAgICAgICAgaWYgKCFzeXNjYWxsKQogICAgICAgICAgICAgZXhp
dChFWElUX0ZBSUxVUkUpOwpAQCAtMzMzLDEwICszMzMsMTAgQEAgTk9fUkVUVVJOIHZvaWQgU2Vj
Y29tcEJyb2tlcjo6cnVuTG9vcChpbnQgc29ja2V0KQogICAgICAgICBpZiAoIXJlc3VsdCkKICAg
ICAgICAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKIAotICAgICAgICBhdXRvIGVuY29kZXIgPSBz
dGQ6Om1ha2VfdW5pcXVlPENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rlcj4oKTsKKyAgICAgICAgYXV0
byBlbmNvZGVyID0gc3RkOjptYWtlX3VuaXF1ZTxJUEM6OkFyZ3VtZW50RW5jb2Rlcj4oKTsKICAg
ICAgICAgZW5jb2Rlci0+ZW5jb2RlKCpyZXN1bHQpOwogCi0gICAgICAgIFZlY3RvcjxDb3JlSVBD
OjpBdHRhY2htZW50PiBhdHRhY2htZW50cyA9IGVuY29kZXItPnJlbGVhc2VBdHRhY2htZW50cygp
OworICAgICAgICBWZWN0b3I8SVBDOjpBdHRhY2htZW50PiBhdHRhY2htZW50cyA9IGVuY29kZXIt
PnJlbGVhc2VBdHRhY2htZW50cygpOwogICAgICAgICBpbnQgZmQgPSBhdHRhY2htZW50cy5zaXpl
KCkgPT0gMSA/IGF0dGFjaG1lbnRzWzBdLmZpbGVEZXNjcmlwdG9yKCkgOiAtMTsKIAogICAgICAg
ICAvLyBUaGUgY2xpZW50IGlzIGRvd24sIHRoZSBicm9rZXIgc2hvdWxkIGdvIGF3YXkuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2Fs
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2Fs
bC5jcHAKaW5kZXggYjg0ZDZhMTc0YTVhMjIwY2Y1OTI2ZDgwYjBjZGQxYWFmMmVkY2RmMS4uMGQ0
YWZkMGRkMjIzMDlkOTBlYmVmYTNlZTY3YjQ2MTM4MzM0YTVlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcApAQCAt
NjAsNyArNjAsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8U3lzY2FsbD4gU3lzY2FsbDo6Y3JlYXRlRnJv
bUNvbnRleHQodWNvbnRleHRfdCogdWNvbnRleHQpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAK
LXN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsPiBTeXNjYWxsOjpjcmVhdGVGcm9tRGVjb2RlcihDb3Jl
SVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIpCitzdGQ6OnVuaXF1ZV9wdHI8U3lzY2FsbD4g
U3lzY2FsbDo6Y3JlYXRlRnJvbURlY29kZXIoSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIp
CiB7CiAgICAgaW50IHR5cGU7CiAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodHlwZSkpCkBAIC04
Miw3ICs4Miw3IEBAIFN5c2NhbGw6OlN5c2NhbGwoaW50IHR5cGUsIG1jb250ZXh0X3QqIGNvbnRl
eHQpCiB7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsUmVzdWx0PiBTeXNjYWxsUmVzdWx0
OjpjcmVhdGVGcm9tRGVjb2RlcihDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIGlu
dCBmZCkKK3N0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsUmVzdWx0PiBTeXNjYWxsUmVzdWx0OjpjcmVh
dGVGcm9tRGVjb2RlcihJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgaW50IGZkKQogewog
ICAgIGludCB0eXBlOwogICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHR5cGUpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuaCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmgKaW5k
ZXggY2FhOTYxNWNkZWEyNGQzYjJhM2ZmYzdkMDA3OWJkYzFkNjNhNmM1OC4uNWZlMTc2YTY5M2Iw
MDdjN2M0YTk4MGFhMjVjZTFhYjFmNDQzZTc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL2xpbnV4L1NlY2NvbXBGaWx0ZXJzL1N5c2NhbGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbGludXgvU2VjY29tcEZpbHRlcnMvU3lzY2FsbC5oCkBAIC00OSw3ICs0OSw3IEBA
CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogCi1uYW1lc3BhY2UgQ29yZUlQQyB7CituYW1lc3BhY2UgSVBDIHsKIGNsYXNzIEFyZ3Vt
ZW50RGVjb2RlcjsKIGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKIH0KQEAgLTY2LDcgKzY2LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgflN5c2NhbGwoKSB7IH0KIAogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U3lzY2FsbD4gY3JlYXRlRnJvbUNvbnRleHQodWNvbnRleHRfdCopOwotICAgIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U3lzY2FsbD4gY3JlYXRlRnJvbURlY29kZXIoQ29yZUlQQzo6
QXJndW1lbnREZWNvZGVyKik7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTeXNjYWxsPiBj
cmVhdGVGcm9tRGVjb2RlcihJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogCiAgICAgaW50IHR5cGUo
KSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIApAQCAtNzUsOCArNzUsOCBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVzdWx0KGNvbnN0IFN5c2NhbGxSZXN1bHQqKSA9IDA7CiAg
ICAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8U3lzY2FsbFJlc3VsdD4gZXhlY3V0ZShjb25zdCBT
eXNjYWxsUG9saWN5JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJn
dW1lbnRFbmNvZGVyJikgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBlbmNvZGUoSVBDOjpB
cmd1bWVudEVuY29kZXImKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGRlY29kZShJUEM6
OkFyZ3VtZW50RGVjb2RlciopID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFN5c2NhbGwoaW50IHR5
cGUsIG1jb250ZXh0X3QqKTsKQEAgLTkyLDEyICs5MiwxMiBAQCBjbGFzcyBTeXNjYWxsUmVzdWx0
IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TeXNjYWxsUmVzdWx0KCkgeyB9CiAKLSAgICBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPFN5c2NhbGxSZXN1bHQ+IGNyZWF0ZUZyb21EZWNvZGVyKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciosIGludCBmZCk7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0
cjxTeXNjYWxsUmVzdWx0PiBjcmVhdGVGcm9tRGVjb2RlcihJUEM6OkFyZ3VtZW50RGVjb2Rlcios
IGludCBmZCk7CiAKICAgICBpbnQgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCi0g
ICAgdmlydHVhbCB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdCA9
IDA7Ci0gICAgdmlydHVhbCBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBp
bnQgZmQ9LTEpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZW5jb2RlKElQQzo6QXJndW1lbnRFbmNv
ZGVyJikgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGUoSVBDOjpBcmd1bWVudERl
Y29kZXIqLCBpbnQgZmQ9LTEpID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFN5c2NhbGxSZXN1bHQo
aW50IHR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJD
b3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcAppbmRleCBiYmNkZGQyZmE2NjQ3ZjExNTMxODdiMjM4
Mjg0M2FmYWUyNzk3ZTczLi43NTY1YWEyYjhlMzhjMTkyZjk0MzMzZTcyMDFkODM0YzcxMTc2ZDky
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRD
b2RlcnNTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNTb3VwLmNwcApAQCAtMzcsNyArMzcsNyBAQAogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAotbmFtZXNwYWNlIENvcmVJUEMgeworbmFtZXNwYWNlIElQQyB7CiAKIHZvaWQg
QXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1l
bnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVz
dCkKIHsKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5m
bz46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnQKIAogICAgIGVu
Y29kZXIgPDwgdHJ1ZTsKICAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNlcnRpZmljYXRlID0gYWRv
cHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7Ci0gICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0
aEJ5dGVBcnJheShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlKGNlcnRpZmljYXRlLT5kYXRhLCBjZXJ0
aWZpY2F0ZS0+bGVuKSk7CisgICAgZW5jb2Rlci5lbmNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJh
eShJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNhdGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4p
KTsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8u
dGxzRXJyb3JzKCkpOwogfQogCkBAIC05Nyw3ICs5Nyw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxD
ZXJ0aWZpY2F0ZUluZm8+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBDZXJ0aWZp
Y2F0CiAgICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAg
ICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRpZmljYXRlRGF0YVJlZmVyZW5jZTsKKyAgICBJ
UEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOwogICAgIGlmICghZGVj
b2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURhdGFSZWZlcmVu
Y2UpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IGFjNjU0MWIxODk0NDQ4
NmZmNjk1MmJkZjQwMGM5M2I0NzhjNGNmNjIuLmMyNmEyZmI5NmE5YjhlNjk5MjdmNzZiMWRiOWVj
ZjcyOTA4MTE4MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9p
b3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtNzEsNyArNzEsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBjbGVhckFsbEVkaXRDb21tYW5kcygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBjYW5VbmRvUmVkbyhXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8pIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBleGVjdXRlVW5kb1JlZG8oV2ViUGFnZVByb3h5OjpVbmRvT3JSZWRvKSBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzaWJpbGl0eVdlYlByb2Nlc3NUb2tlblJl
Y2VpdmVkKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmKSBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIHZvaWQgYWNjZXNzaWJpbGl0eVdlYlByb2Nlc3NUb2tlblJlY2VpdmVkKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpbnRlcnByZXRLZXlF
dmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiwgVmVjdG9yPFdlYkNvcmU6OktleXBy
ZXNzQ29tbWFuZD4mKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgZXhlY3V0ZVNhdmVkQ29t
bWFuZEJ5U2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvcikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIHNldERyYWdJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9z
aXRpb24sIFBhc3NSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBkcmFnSW1hZ2UsIGJvb2wgaXNMaW5r
RHJhZykgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGVlMWMwMWRkMWMyYzQ3OTI3YTQwYzEzYmJj
OTgyMGM5OGRmNGFiY2MuLmI2ZDNmZmJkNjU4NzQ0ZDE0YTY0YTJiMjFjYTIyMTQzOTg5OTY0YmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tCkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZXhl
Y3V0ZVVuZG9SZWRvKFdlYlBhZ2VQcm94eTo6VW5kb09yUmVkbykKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjphY2Nlc3NpYmlsaXR5V2ViUHJvY2Vzc1Rv
a2VuUmVjZWl2ZWQoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYpCit2b2lkIFBhZ2VDbGll
bnRJbXBsOjphY2Nlc3NpYmlsaXR5V2ViUHJvY2Vzc1Rva2VuUmVjZWl2ZWQoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLmgKaW5kZXgg
MjY1ZDdkNjkyYmY3ZGRiMTY3MWM4MjU4NjAyYjFjYmFmYmY4M2RmMy4uOGJmNWFiMmUwOTg4NTc5
NDM2ZTU5NDc2ZGU4NTU1NmRkNWNlNGQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL21hYy9QREZWaWV3Q29udHJvbGxlci5oCkBAIC0zNyw3ICszNyw3IEBACiBA
Y2xhc3MgV0tWaWV3OwogQGNsYXNzIFdLUERGVmlldzsKIAotbmFtZXNwYWNlIENvcmVJUEMgewor
bmFtZXNwYWNlIElQQyB7CiAgICAgY2xhc3MgRGF0YVJlZmVyZW5jZTsKIH0KIApAQCAtNTYsNyAr
NTYsNyBAQCBwdWJsaWM6CiAgICAgV2ViUGFnZVByb3h5KiBwYWdlKCkgY29uc3Q7CiAgICAgTlNW
aWV3KiBwZGZWaWV3KCkgY29uc3Q7CiAgICAgCi0gICAgdm9pZCBzZXRQREZEb2N1bWVudERhdGEo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFtZSwg
Y29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYpOworICAgIHZvaWQgc2V0UERGRG9jdW1lbnRE
YXRhKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5h
bWUsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpOwogCiAgICAgZG91YmxlIHpvb21GYWN0b3Io
KSBjb25zdDsKICAgICB2b2lkIHNldFpvb21GYWN0b3IoZG91YmxlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW0KaW5kZXgg
ODQzNmM1ZGM4N2Q1ZmYyMTIxY2I2ZjNlOTllMDJlNTg1N2I1ZDAyNy4uMWYxYmEzOTVlYWZkNDgw
ZDVjMzA0MTZiM2IxYTY4ODgyMzA3MjlkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW0KQEAgLTQyNiw3ICs0MjYsNyBA
QCBOU1ZpZXcqIFBERlZpZXdDb250cm9sbGVyOjpwZGZWaWV3KCkgY29uc3QKICAgICByZXR1cm4g
bV93a1BERlZpZXcuZ2V0KCk7IAogfQogICAgIAotc3RhdGljIFJldGFpblB0cjxDRkRhdGFSZWY+
IGNvbnZlcnRQb3N0U2NyaXB0RGF0YVNvdXJjZVRvUERGKGNvbnN0IENvcmVJUEM6OkRhdGFSZWZl
cmVuY2UmIGRhdGFSZWZlcmVuY2UpCitzdGF0aWMgUmV0YWluUHRyPENGRGF0YVJlZj4gY29udmVy
dFBvc3RTY3JpcHREYXRhU291cmNlVG9QREYoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRh
UmVmZXJlbmNlKQogewogICAgIC8vIENvbnZlcnQgUG9zdFNjcmlwdCB0byBQREYgdXNpbmcgUXVh
cnR6IDJEIEFQSQogICAgIC8vIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRp
b24vR3JhcGhpY3NJbWFnaW5nL0NvbmNlcHR1YWwvZHJhd2luZ3dpdGhxdWFydHoyZC9kcV9wc19j
b252ZXJ0L2NoYXB0ZXJfMTZfc2VjdGlvbl8xLmh0bWwKQEAgLTQ1NCw3ICs0NTQsNyBAQCBzdGF0
aWMgUmV0YWluUHRyPENGRGF0YVJlZj4gY29udmVydFBvc3RTY3JpcHREYXRhU291cmNlVG9QREYo
Y29uc3QgQ29yZUlQQzo6RGF0YQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQgUERGVmll
d0NvbnRyb2xsZXI6OnNldFBERkRvY3VtZW50RGF0YShjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBj
b25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYW1lLCBjb25zdCBDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlJiBkYXRhUmVmZXJlbmNlKQordm9pZCBQREZWaWV3Q29udHJvbGxlcjo6c2V0UERGRG9jdW1l
bnREYXRhKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkRmls
ZW5hbWUsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YVJlZmVyZW5jZSkKIHsKICAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UobWltZVR5cGUsICJhcHBsaWNhdGlvbi9wb3N0c2NyaXB0Iikp
IHsKICAgICAgICAgbV9wZGZEYXRhID0gY29udmVydFBvc3RTY3JpcHREYXRhU291cmNlVG9QREYo
ZGF0YVJlZmVyZW5jZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0Fy
ZWFQcm94eS5oCmluZGV4IGI2YWZlMTgxZTVmYjRhYzY4YTU1NzIyZTM0NmU1OTUwNzk5YzRhNTEu
LjlhYTQzYzU0OWFhZDI5Y2ViMTI2N2Y5NTk3NmFlMmJkYmI1ZDUzMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJh
d2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWFQcm94eS5oCkBAIC03NCw3ICs3NCw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldEJhY2tpbmdTdG9yZUlzRGlzY2FyZGFibGUo
Ym9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHdhaXRGb3JCYWNraW5nU3RvcmVVcGRhdGVPbk5leHRQ
YWludCgpOwogCi0gICAgLy8gQ29yZUlQQyBtZXNzYWdlIGhhbmRsZXJzCisgICAgLy8gSVBDIG1l
c3NhZ2UgaGFuZGxlcnMKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlKHVpbnQ2NF90IGJhY2tpbmdT
dG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBk
YXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3Qg
VXBkYXRlSW5mbyYsIGNvbnN0IExheWVyVHJlZUNvbnRleHQmKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0
ZUlELCBjb25zdCBMYXllclRyZWVDb250ZXh0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRleCAwZjc3MGI0NGI3YWU5MTJlNTJhYzg1
Y2QyZGFlMjcxMGIwNThhMDY3Li4yMDhiMjY0ZTZjODc1ZDM5NTRlZGQwNGFkN2E4ZmZlMjFkZGFi
YmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmgKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIENvb3Jk
aW5hdGVkRHJhd2luZ0FyZWFQcm94eTsKIAotY2xhc3MgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
UHJveHkgOiBwdWJsaWMgV2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lQ2xpZW50LCBw
dWJsaWMgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKK2NsYXNzIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5IDogcHVibGljIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNs
aWVudCwgcHVibGljIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk7CiAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoK
ICAgICB2b2lkIGRpc3BhdGNoVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKIAotICAg
IC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBP
VkVSUklERTsKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikg
T1ZFUlJJREU7CiAKICAgICBDb29yZGluYXRlZERyYXdpbmdBcmVhUHJveHkqIG1fZHJhd2luZ0Fy
ZWFQcm94eTsKICAgICBSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBt
X3NjZW5lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUlt
cGwuaAppbmRleCBlODVmNjllZDM2ZmYzNmUzNmMxZjUzZTYzYTBmMDRkYmQwZjQwNGM5Li4yMjRl
YTkxMDk1Yjg5OWQzZmJjMjRkZmE2MmEzNDA0NGQwZWNkMDI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaApAQCAtNTksNyArNTksNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXRCYWNraW5nU3RvcmVJc0Rpc2NhcmRhYmxlKGJv
b2wpOwogICAgIHZpcnR1YWwgdm9pZCB3YWl0Rm9yQmFja2luZ1N0b3JlVXBkYXRlT25OZXh0UGFp
bnQoKTsKIAotICAgIC8vIENvcmVJUEMgbWVzc2FnZSBoYW5kbGVycworICAgIC8vIElQQyBtZXNz
YWdlIGhhbmRsZXJzCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZSh1aW50NjRfdCBiYWNraW5nU3Rv
cmVTdGF0ZUlELCBjb25zdCBVcGRhdGVJbmZvJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0
ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVw
ZGF0ZUluZm8mLCBjb25zdCBMYXllclRyZWVDb250ZXh0Jik7CiAgICAgdmlydHVhbCB2b2lkIGVu
dGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJ
RCwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmgKaW5kZXggNmZiYTk1MDFjZDIyNDQzYjk2YWYx
OWQwZDRlMTAzMTdiOTQ4NjZjYy4uMmFiMTdlNzhkMjFiNGNjZWM1ODcyNjU0ZGUyMGZjMzg1MTMx
NWU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlNYW5h
Z2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFn
ZXJQcm94eS5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2Vi
Q29udGV4dDsKIGNsYXNzIFdlYkJhdHRlcnlTdGF0dXM7CiAKLWNsYXNzIFdlYkJhdHRlcnlNYW5h
Z2VyUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpCYXR0
ZXJ5TWFuYWdlcj4sIHB1YmxpYyBXZWJDb250ZXh0U3VwcGxlbWVudCwgcHJpdmF0ZSBDb3JlSVBD
OjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXJQcm94eSA6IHB1Ymxp
YyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkJhdHRlcnlNYW5hZ2VyPiwgcHVi
bGljIFdlYkNvbnRleHRTdXBwbGVtZW50LCBwcml2YXRlIElQQzo6TWVzc2FnZVJlY2VpdmVyIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKIApAQCAt
NjMsOCArNjMsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZWZXZWJDb250ZXh0U3Vw
cGxlbWVudCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkZXJlZldlYkNvbnRleHRTdXBw
bGVtZW50KCkgT1ZFUlJJREU7CiAKLSAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENv
cmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CisgICAgLy8gSVBDOjpNZXNzYWdlUmVj
ZWl2ZXIKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
KiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCiAgICAgdm9pZCBzdGFydFVwZGF0
aW5nKCk7CiAgICAgdm9pZCBzdG9wVXBkYXRpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYk5ldHdvcmtJbmZvTWFuYWdlclByb3h5LmgKaW5kZXggMWExMmRhODM4
YmYzMTNiNTRhNThmZDNjMGZhZWFjYjQ5NTk5ZTA1OS4uMGRhMWRhMGEzYmE3ZDZmNjQxOTNlZWEx
NjBmY2I4YjVmMWM5YjhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
Yk5ldHdvcmtJbmZvTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYk5ldHdvcmtJbmZvTWFuYWdlclByb3h5LmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiBjbGFzcyBXZWJDb250ZXh0OwogY2xhc3MgV2ViTmV0d29ya0luZm87CiAKLWNs
YXNzIFdlYk5ldHdvcmtJbmZvTWFuYWdlclByb3h5IDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxB
UEk6Ok9iamVjdDo6VHlwZTo6TmV0d29ya0luZm9NYW5hZ2VyPiwgcHVibGljIFdlYkNvbnRleHRT
dXBwbGVtZW50LCBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CitjbGFzcyBXZWJO
ZXR3b3JrSW5mb01hbmFnZXJQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmpl
Y3Q6OlR5cGU6Ok5ldHdvcmtJbmZvTWFuYWdlcj4sIHB1YmxpYyBXZWJDb250ZXh0U3VwcGxlbWVu
dCwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIHN1cHBsZW1lbnROYW1lKCk7CiAKQEAgLTYyLDkgKzYyLDkgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgcmVmV2ViQ29udGV4dFN1cHBsZW1lbnQoKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGVyZWZXZWJDb250ZXh0U3VwcGxlbWVudCgpIE9WRVJSSURFOwogCi0g
ICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoQ29yZUlQ
Qzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRy
PENvcmVJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIE9WRVJSSURFOworICAgIC8vIElQQzo6TWVzc2Fn
ZVJlY2VpdmVyCisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6TWVzc2FnZURlY29k
ZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBPVkVSUklERTsKIAog
ICAgIHZvaWQgc3RhcnRVcGRhdGluZygpOwogICAgIHZvaWQgc3RvcFVwZGF0aW5nKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm94eS5oCmluZGV4IDU5ZjNmNTBi
NDM1YTM2N2YwNjg2MDYyM2M0YTdlNTdjOTI4ZTUwZWYuLmEzYWI5NTdmOGMzNTQzNTIyYmVmZGU0
YmFmN2I0ZGFlZDIyYjM1OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJWaWJyYXRpb25Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJy
YXRpb25Qcm94eS5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBXZWJQYWdlUHJveHk7CiAKLWNsYXNzIFdlYlZpYnJhdGlvblByb3h5IDogcHVibGljIEFQSTo6
T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6VmlicmF0aW9uPiwgcHJpdmF0ZSBDb3JlSVBD
OjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgV2ViVmlicmF0aW9uUHJveHkgOiBwdWJsaWMgQVBJ
OjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpWaWJyYXRpb24+LCBwcml2YXRlIElQQzo6
TWVzc2FnZVJlY2VpdmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJWaWJy
YXRpb25Qcm94eT4gY3JlYXRlKFdlYlBhZ2VQcm94eSopOwogICAgIHZpcnR1YWwgfldlYlZpYnJh
dGlvblByb3h5KCk7CkBAIC00OSw4ICs0OSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgZXhw
bGljaXQgV2ViVmlicmF0aW9uUHJveHkoV2ViUGFnZVByb3h5Kik7CiAKLSAgICAvLyBDb3JlSVBD
OjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29y
ZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7Cisg
ICAgLy8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwog
CiAgICAgdm9pZCB2aWJyYXRlKHVpbnQzMl90IHZpYnJhdGlvblRpbWUpOwogICAgIHZvaWQgY2Fu
Y2VsVmlicmF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCmluZGV4IDlhZmJiMTA5NDBhZDU4OTBmNDU0OTUxZjVmYzBlNjdlYTI4YmQ3
NjcuLjY5M2ZlNDAyYmZhMTY4ZjQxMjA3OTliMWQzN2QwNTlhMjQ5NzQ5Y2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC0zMDEsNyAr
MzAxLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChi
b29sKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpyZWdp
c3RlcldlYlByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW4oY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZSYpCit2b2lkIFdlYlBhZ2VQcm94eTo6cmVnaXN0ZXJXZWJQcm9jZXNzQWNjZXNzaWJpbGl0
eVRva2VuKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0gICAgCkBAIC0zMTEsNyArMzExLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1ha2VGaXJz
dFJlc3BvbmRlcigpCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJv
eHk6OnJlZ2lzdGVyVUlQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2Vucyhjb25zdCBDb3JlSVBDOjpE
YXRhUmVmZXJlbmNlJiwgY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYpCit2b2lkIFdlYlBh
Z2VQcm94eTo6cmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW5zKGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYpCiB7CiAgICAgbm90SW1w
bGVtZW50ZWQoKTsKIH0KQEAgLTM5Niw3ICszOTYsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
UGVyZm9ybURpY3Rpb25hcnlMb29rdXAoY29uc3QgQXR0cmlidXRlZFN0cmluZyYsIGNvbnN0IERp
YwogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpzYXZlUERG
VG9UZW1wb3JhcnlGb2xkZXJBbmRPcGVuV2l0aE5hdGl2ZUFwcGxpY2F0aW9uKGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBT
dHJpbmcmKQordm9pZCBXZWJQYWdlUHJveHk6OnNhdmVQREZUb1RlbXBvcmFyeUZvbGRlckFuZE9w
ZW5XaXRoTmF0aXZlQXBwbGljYXRpb24oY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJikKIHsKICAgICBub3RJbXBsZW1l
bnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2Vi
U291cFJlcXVlc3RNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3Vw
L1dlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5LmgKaW5kZXggZWI0YWQzOTY5NjI5ODM0MTU0Y2Zk
ZThmYzliYTM1YjBiN2U2MmVlOS4uZmZlYWZmMzk0MjdhMTI0YTIzNWRjYjU3MDMzODY4YzE4YzRk
YjA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViU291cFJl
cXVlc3RNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9X
ZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBjbGFzcyBXZWJDb250ZXh0OwogCi1jbGFzcyBXZWJTb3VwUmVxdWVzdE1hbmFn
ZXJQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OlNvdXBS
ZXF1ZXN0TWFuYWdlcj4sIHB1YmxpYyBXZWJDb250ZXh0U3VwcGxlbWVudCwgcHJpdmF0ZSBDb3Jl
SVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkg
OiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpTb3VwUmVxdWVzdE1h
bmFnZXI+LCBwdWJsaWMgV2ViQ29udGV4dFN1cHBsZW1lbnQsIHByaXZhdGUgSVBDOjpNZXNzYWdl
UmVjZWl2ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFt
ZSgpOwogCkBAIC02Niw4ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHJlZldl
YkNvbnRleHRTdXBwbGVtZW50KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmV2Vi
Q29udGV4dFN1cHBsZW1lbnQoKSBPVkVSUklERTsKIAotICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlcgotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25u
ZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKKyAgICAvLyBJUEM6
Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKICAgICB2b2lk
IGRpZEZhaWxUb0xvYWRVUklSZXF1ZXN0KHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQmF0dGVyeS9XZWJCYXR0ZXJ5TWFuYWdlci5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmgK
aW5kZXggZWUzYjE3MGQxZDM2OTJmYzA2NjFlNWJkNTVhNzFiMDc2MGM3NGMxZS4uNTEwYTllMGM2
MmI3ZGI4NzE2OTkwYjIwODViOGI2YzI0YWNkYjI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9CYXR0ZXJ5L1dlYkJhdHRlcnlNYW5hZ2VyLmgKQEAgLTQxLDcgKzQx
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJQYWdlOwogY2xhc3MgV2ViUHJvY2Vz
czsKIAotY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXIgOiBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBsZW1l
bnQsIHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKK2NsYXNzIFdlYkJhdHRlcnlN
YW5hZ2VyIDogcHVibGljIFdlYlByb2Nlc3NTdXBwbGVtZW50LCBwcml2YXRlIElQQzo6TWVzc2Fn
ZVJlY2VpdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJCYXR0ZXJ5TWFuYWdlcik7
CiAKIHB1YmxpYzoKQEAgLTU3LDggKzU3LDggQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlQmF0
dGVyeVN0YXR1cyhjb25zdCBXZWJCYXR0ZXJ5U3RhdHVzOjpEYXRhJik7CiAKIHByaXZhdGU6Ci0g
ICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklE
RTsKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCiAg
ICAgV2ViUHJvY2VzcyogbV9wcm9jZXNzOwogICAgIEhhc2hTZXQ8V2ViUGFnZSo+IG1fcGFnZVNl
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29ya0luZm8vV2Vi
TmV0d29ya0luZm9NYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmtJ
bmZvL1dlYk5ldHdvcmtJbmZvTWFuYWdlci5oCmluZGV4IDI3NjgxNTNjODU4NDc1NDg5MTFmZGYz
ZDYzOGQxN2FiOTA4NzYyZTYuLjdlZTA4M2ViNTI5NmU3NzliZjgyOTE3YzY3MjQxMzQyOTUxMjEz
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29ya0luZm8vV2Vi
TmV0d29ya0luZm9NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrSW5mby9XZWJOZXR3b3JrSW5mb01hbmFnZXIuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIFdlYlBhZ2U7CiBjbGFzcyBXZWJQcm9jZXNzOwogCi1jbGFzcyBX
ZWJOZXR3b3JrSW5mb01hbmFnZXIgOiBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBsZW1lbnQsIHByaXZh
dGUgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyIHsKK2NsYXNzIFdlYk5ldHdvcmtJbmZvTWFuYWdl
ciA6IHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNl
aXZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViTmV0d29ya0luZm9NYW5hZ2VyKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBXZWJOZXR3b3JrSW5mb01hbmFnZXIoV2ViUHJvY2Vzcyop
OwpAQCAtNTUsOCArNTUsOCBAQCBwdWJsaWM6CiAgICAgZG91YmxlIGJhbmR3aWR0aChXZWJQYWdl
KikgY29uc3Q7CiAgICAgYm9vbCBtZXRlcmVkKFdlYlBhZ2UqKSBjb25zdDsKIHByaXZhdGU6Ci0g
ICAgLy8gQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyCi0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklE
RTsKKyAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uKiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOwogCiAg
ICAgdm9pZCBkaWRDaGFuZ2VOZXR3b3JrSW5mb3JtYXRpb24oY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIGNvbnN0IFdlYk5ldHdvcmtJbmZvOjpEYXRhJik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3Jk
aW5hdGVkRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKaW5kZXggMWVk
NGMzNTFkMjY4NzAwNTI3YTY2YTZjYTFjZDk5MDUwMzRlZTYxZS4uYTNiZGIzNTBjMTU5ZTFmNWYz
MzgwZGE2Y2IzMzZhMmI3OTJmNWQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAKQEAgLTYyNyw3ICs2MjcsNyBAQCB2b2lk
IENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpc3BsYXkoVXBkYXRlSW5mbyYgdXBkYXRlSW5mbykK
ICAgICBtX2Rpc3BsYXlUaW1lci5zdG9wKCk7CiB9CiAKLXZvaWQgQ29vcmRpbmF0ZWREcmF3aW5n
QXJlYTo6ZGlkUmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIp
Cit2b2lkIENvb3JkaW5hdGVkRHJhd2luZ0FyZWE6OmRpZFJlY2VpdmVDb29yZGluYXRlZExheWVy
VHJlZUhvc3RNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdl
RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAobV9sYXllclRyZWVIb3N0KQogICAgICAgICBt
X2xheWVyVHJlZUhvc3QtPmRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdl
KGNvbm5lY3Rpb24sIGRlY29kZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWREcmF3aW5nQXJlYS5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWREcmF3aW5nQXJlYS5oCmluZGV4IDkzOTYyNmNmODE4MzVmYjZjYWExNzY3NDdl
YTBkMDY5ZTA5OWEzYTAuLjNlN2VkMDdhYTZkMjY4ZTY5ZDAzOTNmMzAwZmJlMzQyMDI3MTdlM2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdB
cmVhLmgKQEAgLTY5LDkgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1
bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKSBPVkVSUklERTsKICNlbmRpZgogCi0gICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKENvcmVJUEM6
OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOworICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAKLSAgICAvLyBDb3JlSVBDIG1lc3NhZ2UgaGFu
ZGxlcnMuCisgICAgLy8gSVBDIG1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdmlydHVhbCB2b2lkIHVw
ZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGJvb2wg
cmVzcG9uZEltbWVkaWF0ZWx5LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciwgY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNjcm9sbE9mZnNldCk7CiAgICAg
dmlydHVhbCB2b2lkIGRpZFVwZGF0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzdXNwZW5kUGFpbnRp
bmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmgKaW5kZXggZjdkYjFiMTQ2YTY1YTJkYzg0N2ZkMTIwMGU2ODM5NDUzOTMyYjU2
NC4uZDU4NTk1NTQ4YmI1Y2RkZjYzNjkzMGNhYWVmOWI3NjE1MjUwZGQwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmgKQEAg
LTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZUJhY2tncm91
bmRUcmFuc3BhcmVuY3lDaGFuZ2VkKCkgT1ZFUlJJREU7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiosIElQQzo6
TWVzc2FnZURlY29kZXImKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJGYWN0
b3J5KiBncmFwaGljc0xheWVyRmFjdG9yeSgpIE9WRVJSSURFOwogICAgIFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NMYXllciogbWFpbkNvbnRlbnRzTGF5ZXIoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCmluZGV4IDFi
MTNlZDA3NWUwMGVhNzNjNjQyMGQzZTE4ODM1YTVjYTBmM2ZkMTQuLjMzNzc4ZGQ3ZWYzZGM3NjMx
NWUyY2Y3MWNhZGIyMDNmODM5OWNkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKSBPVkVS
UklERTsKICNlbmRpZgogCi0gICAgLy8gQ29yZUlQQyBtZXNzYWdlIGhhbmRsZXJzLgorICAgIC8v
IElQQyBtZXNzYWdlIGhhbmRsZXJzLgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCYWNraW5nU3Rv
cmVTdGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBib29sIHJlc3BvbmRJbW1lZGlh
dGVseSwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxPZmZzZXQpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRVcGRhdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZFBhaW50aW5nKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5k
ZXggODNiMTlmZWYyZWZhNzdiMzlmYTZiNGZmMmZkZTJhMzU2MmJkMDU2ZS4uYWI1MWRmMjg4YzIy
MGM5MjAzNTA2MzczNjFhZTg3OGI5ZWI2MzQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtMjAyLDcgKzIwMiw3IEBA
IGJvb2wgV2ViUGFnZTo6cGVyZm9ybURlZmF1bHRCZWhhdmlvckZvcktleUV2ZW50KGNvbnN0IFdl
YktleWJvYXJkRXZlbnQmKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBXZWJQYWdlOjpy
ZWdpc3RlclVJUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbnMoY29uc3QgQ29yZUlQQzo6RGF0YVJl
ZmVyZW5jZSYsIGNvbnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmKQordm9pZCBXZWJQYWdlOjpy
ZWdpc3RlclVJUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbnMoY29uc3QgSVBDOjpEYXRhUmVmZXJl
bmNlJiwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9pb3MvV2ViUHJvY2Vz
c0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvaW9zL1dlYlByb2Nlc3NJT1MubW0K
aW5kZXggODNiNzJkOWQ1ZDA0Y2UzZDk0ZTk3NTgyOGQ2YjE2ODIzZjZjOTgzMS4uMzIyZmI5Njlh
MmUwNjg3OTBkMDY4MjU3MzI3ZmI2NWFhYjIzMGRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9pb3MvV2ViUHJvY2Vzc0lPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL2lvcy9XZWJQcm9jZXNzSU9TLm1tCkBAIC01Miw3ICs1Miw3IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6cGxhdGZvcm1DbGVhclJlc291cmNlQ2FjaGVzKFJlc291cmNlQ2FjaGVzVG9DbGVh
cikKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3Jt
SW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYs
IENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikKK3ZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiwgSVBD
OjpNZXNzYWdlRGVjb2RlciYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1NvdXAuY3BwCmluZGV4IGIz
MDM3ZjVmMDMwNGZlYjA1NWI3NWJmNTU1MDExMjllM2U1YjczMzIuLmI3Y2RjNGRhNTVkOWI0ODU4
MWIzZmNlZjZlZDE1ZGZiMWUxYTBiM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3Mvc291cC9XZWJQcm9jZXNzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9zb3VwL1dlYlByb2Nlc3NTb3VwLmNwcApAQCAtMTg3LDcgKzE4Nyw3IEBAIHN0YXRpYyB2
b2lkIGxhbmd1YWdlQ2hhbmdlZCh2b2lkKikKICAgICBzZXRTb3VwU2Vzc2lvbkFjY2VwdExhbmd1
YWdlKFdlYkNvcmU6OnVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKSk7CiB9CiAKLXZvaWQgV2ViUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpCit2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywgSVBDOjpNZXNzYWdlRGVjb2RlciYpCiB7
CiAjaWYgRU5BQkxFKFNFQ0NPTVBfRklMVEVSUykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCmluZGV4
IDBmOGNiNjM0NTc2Y2E4ZWFhMThiYzYwYTZmNzdkYmNkMWM4MWQwOWQuLmJkMGNmNjIzZDk3MjVi
MzkxMzYxOTY3NTE4MWZlZTliYjkzZjQwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC0xMDQsNyAr
MTA0LDcgQEAgdm9pZCBXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OnJlZ2lzdGVyVVJJU2NoZW1lKGNv
bnN0IFN0cmluZyYgc2NoZW1lKQogICAgIHNvdXBfc2Vzc2lvbl9hZGRfZmVhdHVyZV9ieV90eXBl
KHNlc3Npb24sIFdFQktJVF9UWVBFX1NPVVBfUkVRVUVTVF9HRU5FUklDKTsKIH0KIAotdm9pZCBX
ZWJTb3VwUmVxdWVzdE1hbmFnZXI6OmRpZEhhbmRsZVVSSVJlcXVlc3QoY29uc3QgQ29yZUlQQzo6
RGF0YVJlZmVyZW5jZSYgcmVxdWVzdERhdGEsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIGNvbnN0
IFN0cmluZyYgbWltZVR5cGUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKK3ZvaWQgV2ViU291cFJlcXVl
c3RNYW5hZ2VyOjpkaWRIYW5kbGVVUklSZXF1ZXN0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYg
cmVxdWVzdERhdGEsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIGNvbnN0IFN0cmluZyYgbWltZVR5
cGUsIHVpbnQ2NF90IHJlcXVlc3RJRCkKIHsKICAgICBXZWJTb3VwUmVxdWVzdEFzeW5jRGF0YSog
ZGF0YSA9IG1fcmVxdWVzdE1hcC5nZXQocmVxdWVzdElEKTsKICAgICBBU1NFUlQoZGF0YSk7CkBA
IC0xMzMsNyArMTMzLDcgQEAgdm9pZCBXZWJTb3VwUmVxdWVzdE1hbmFnZXI6OmRpZEhhbmRsZVVS
SVJlcXVlc3QoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYgcmUKICAgICBnX3Rhc2tfcmV0
dXJuX3BvaW50ZXIodGFzay5nZXQoKSwgZGF0YVN0cmVhbSwgZ19vYmplY3RfdW5yZWYpOwogfQog
Ci12b2lkIFdlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZVVSSVJlcXVlc3REYXRhKGNv
bnN0IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UmIHJlcXVlc3REYXRhLCB1aW50NjRfdCByZXF1ZXN0
SUQpCit2b2lkIFdlYlNvdXBSZXF1ZXN0TWFuYWdlcjo6ZGlkUmVjZWl2ZVVSSVJlcXVlc3REYXRh
KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgcmVxdWVzdERhdGEsIHVpbnQ2NF90IHJlcXVlc3RJ
RCkKIHsKICAgICBXZWJTb3VwUmVxdWVzdEFzeW5jRGF0YSogZGF0YSA9IG1fcmVxdWVzdE1hcC5n
ZXQocmVxdWVzdElEKTsKICAgICAvLyBUaGUgZGF0YSBtaWdodCBoYXZlIGJlZW4gcmVtb3ZlZCBm
cm9tIHRoZSByZXF1ZXN0IG1hcCBpZiBhIHByZXZpb3VzIGNodW5rIGZhaWxlZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5o
CmluZGV4IGM2ZGU0NDdkMjI5MzdjN2RlNzg2MWNlNzVmNzIzYWEzYjc0NzBjNjkuLmZlNDczZDdk
YTFjZTM5MzM3OTU1YmI0OGM5Y2RhMjZlMmQ3NzM0NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLmgKQEAgLTM4LDcg
KzM4LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJQcm9jZXNzOwogc3RydWN0IFdl
YlNvdXBSZXF1ZXN0QXN5bmNEYXRhOwogCi1jbGFzcyBXZWJTb3VwUmVxdWVzdE1hbmFnZXIgOiBw
dWJsaWMgV2ViUHJvY2Vzc1N1cHBsZW1lbnQsIHByaXZhdGUgQ29yZUlQQzo6TWVzc2FnZVJlY2Vp
dmVyIHsKK2NsYXNzIFdlYlNvdXBSZXF1ZXN0TWFuYWdlciA6IHB1YmxpYyBXZWJQcm9jZXNzU3Vw
cGxlbWVudCwgcHJpdmF0ZSBJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2ViU291cFJlcXVlc3RNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBX
ZWJTb3VwUmVxdWVzdE1hbmFnZXIoV2ViUHJvY2VzcyopOwpAQCAtNTIsMTEgKzUyLDExIEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlZ2lzdGVyVVJJU2NoZW1lKGNvbnN0IFN0cmluZyYgc2NoZW1lKTsK
IAogcHJpdmF0ZToKLSAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlRGVj
b2RlciYpIE9WRVJSSURFOworICAgIC8vIElQQzo6TWVzc2FnZVJlY2VpdmVyCisgICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24qLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikg
T1ZFUlJJREU7CiAKLSAgICB2b2lkIGRpZEhhbmRsZVVSSVJlcXVlc3QoY29uc3QgQ29yZUlQQzo6
RGF0YVJlZmVyZW5jZSYsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIGNvbnN0IFN0cmluZyYgbWlt
ZVR5cGUsIHVpbnQ2NF90IHJlcXVlc3RJRCk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlVVJJUmVxdWVz
dERhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIHVpbnQ2NF90IHJlcXVlc3RJRCk7
CisgICAgdm9pZCBkaWRIYW5kbGVVUklSZXF1ZXN0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYs
IHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQ2NF90
IHJlcXVlc3RJRCk7CisgICAgdm9pZCBkaWRSZWNlaXZlVVJJUmVxdWVzdERhdGEoY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiwgdWludDY0X3QgcmVxdWVzdElEKTsKICAgICB2b2lkIGRpZEZhaWxV
UklSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCB1aW50NjRfdCByZXF1ZXN0
SUQpOwogCiAgICAgV2ViUHJvY2VzcyogbV9wcm9jZXNzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIubWVz
c2FnZXMuaW4KaW5kZXggMmEwN2VlMmFhODcwZWI3NWYxZDE2MTYyMWUyYzM4OWY0NDdlMWVmYS4u
MjRhZmE5NTJhMWNhODZjYzQwM2RjZDhiOTFkYjRlODMwODUzMjkyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RN
YW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMiw3ICsyMiw3IEBACiAKIG1lc3NhZ2VzIC0+IFdlYlNv
dXBSZXF1ZXN0TWFuYWdlciB7CiAgICAgUmVnaXN0ZXJVUklTY2hlbWUoU3RyaW5nIHVyaVNjaGVt
ZSk7Ci0gICAgRGlkSGFuZGxlVVJJUmVxdWVzdChDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIHJlcXVl
c3REYXRhLCB1aW50NjRfdCBjb250ZW50TGVuZ3RoLCBTdHJpbmcgbWltZVR5cGUsIHVpbnQ2NF90
IHJlcXVlc3RJRCk7Ci0gICAgRGlkUmVjZWl2ZVVSSVJlcXVlc3REYXRhKENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgcmVxdWVzdERhdGEsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CisgICAgRGlkSGFuZGxl
VVJJUmVxdWVzdChJUEM6OkRhdGFSZWZlcmVuY2UgcmVxdWVzdERhdGEsIHVpbnQ2NF90IGNvbnRl
bnRMZW5ndGgsIFN0cmluZyBtaW1lVHlwZSwgdWludDY0X3QgcmVxdWVzdElEKTsKKyAgICBEaWRS
ZWNlaXZlVVJJUmVxdWVzdERhdGEoSVBDOjpEYXRhUmVmZXJlbmNlIHJlcXVlc3REYXRhLCB1aW50
NjRfdCByZXF1ZXN0SUQpOwogICAgIERpZEZhaWxVUklSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNl
RXJyb3IgZXJyb3IsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNmM4MjRlNWI3MWMzMDk0YWYzYTI3YTQ4
MDQ3YjM4MjJmYWY2YzNiMi4uNzBkMjg2OWZmNDRhNTgxMWQwYmMxM2VkNzFlZDYyMDg4ODE5Y2Qy
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEzLTEyLTMwICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5n
LmNvbT4KKworICAgICAgICBSZXBsYWNlIHJlbWFuaW5nIENvcmVJUEMgbmFtZXNwYWNlIHRvIElQ
QworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2MzA1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0OiBSZXBsYWNlZCBDb3JlSVBDIGluY2x1ZGVzIHRvIElQ
Qy4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL2VmbC9QbGF0Zm9ybVdlYlZpZXcuY3BwOiBSZW1v
dmVkIHRlbXBvcmFsIGRlZmluZSBmb3IgSVBDLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
Q01ha2VMaXN0cy50eHQ6IFJlcGxhY2VkIENvcmVJUEMgaW5jbHVkZXMgdG8gSVBDLgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHA6IFJlbW92ZWQg
dGVtcG9yYWwgZGVmaW5lIGZvciBJUEMuCisKIDIwMTMtMTItMzAgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFNwbGl0IFdlYktpdDJB
UElUZXN0cy9UZXN0V2ViS2l0V2ViVmlldwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKaW5k
ZXggNmI0MTUwZWY3MmUyNDc1Y2ZkYWVjZDM3OWJhYTI5NzFhYTRjNGFlYS4uNDJmYzg2ZGU2NGM1
OWE2MWUxYWZhYjBhYmZmMDRkYzU4N2NlYWE0NCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMu
dHh0CkBAIC0xNCw3ICsxNCw3IEBAIGluY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9CSU5BUllf
RElSfQogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzCiAgICAgJHtXRUJDT1JF
X0RJUn0vcGxhdGZvcm0vdGV4dAogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsK
LSAgICAke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9Db3JlSVBDCisgICAgJHtXRUJLSVQyX0RJUn0v
UGxhdGZvcm0vSVBDCiAgICAgJHtXRUJLSVQyX0RJUn0vU2hhcmVkCiAgICAgJHtXRUJLSVQyX0RJ
Un0vU2hhcmVkL0FQSS9jCiAgICAgJHtXRUJLSVQyX0RJUn0vU2hhcmVkL1BsdWdpbnMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZWZsL1BsYXRmb3JtV2ViVmlldy5jcHAgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL2VmbC9QbGF0Zm9ybVdlYlZpZXcuY3BwCmluZGV4IGY2M2JkNWMyZTA5
OTBlMTUxYzFhYjI1Zjk3MDExZmI1MjI4MTI4MjQuLjVhM2FhNmIxZTNhOTk3NTA5ZjcxYjk3NWVj
Y2ExNjAyM2RlYjY2MjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvZWZsL1BsYXRm
b3JtV2ViVmlldy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9lZmwvUGxhdGZvcm1XZWJW
aWV3LmNwcApAQCAtMjQsOSArMjQsNiBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIGV2ZXJ5dGhpbmcgaGFzIGJl
ZW4gbW92ZWQgb3ZlciB0byB0aGUgSVBDIG5hbWVzcGFjZS4KLSNkZWZpbmUgQ29yZUlQQyBJUEMK
LQogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NNYWtlTGlzdHMu
dHh0CmluZGV4IGY2NTk1MDY4OWRhZWY2MWUyZGEyYzYzNjg0YmFmOTkyNjkxYjkwOGMuLjVhMzQ2
ZDc0MDUzZDE1OTUyMzMxMGFkOTZmMjcwNmFlYjQ3NTAzOWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9DTWFrZUxpc3RzLnR4dApAQCAtMzYsNyArMzYsNyBAQCBzZXQoV2ViS2l0VGVzdFJ1bm5lcl9J
TkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vbmV0d29yawog
ICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL3RleHQKICAgICAke1dFQkNPUkVfRElSfS90ZXN0
aW5nL2pzCi0gICAgJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vQ29yZUlQQworICAgICR7V0VCS0lU
Ml9ESVJ9L1BsYXRmb3JtL0lQQwogICAgICR7V0VCS0lUMl9ESVJ9L1NoYXJlZAogICAgICR7V0VC
S0lUMl9ESVJ9L1NoYXJlZC9BUEkvYwogICAgICR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9QbHVnaW5z
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdF
ZmwuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvUGxhdGZvcm1XZWJWaWV3RWZsLmNw
cAppbmRleCA1ZjQzOTM4MmVlMjdjMjM5MGM5YTczNTdjNDg3YTA4MTQ2MjU2Y2FhLi5lYWMxNTNj
NzdiOTFiMmJiMDBlNjNkNzViYmUxMjhiMTg1MzkzMTZkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL2VmbC9QbGF0Zm9ybVdlYlZpZXdFZmwuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvZWZsL1BsYXRmb3JtV2ViVmlld0VmbC5jcHAKQEAgLTE4LDkgKzE4LDYgQEAK
ICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKLS8vIEZJWE1FOiBSZW1vdmUg
dGhpcyBvbmNlIGV2ZXJ5dGhpbmcgaGFzIGJlZW4gbW92ZWQgb3ZlciB0byB0aGUgSVBDIG5hbWVz
cGFjZS4KLSNkZWZpbmUgQ29yZUlQQyBJUEMKLQogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIK
</data>

          </attachment>
      

    </bug>

</bugzilla>