<?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>205220</bug_id>
          
          <creation_ts>2019-12-13 15:20:26 -0800</creation_ts>
          <short_desc>Add remote media player message to load and play</short_desc>
          <delta_ts>2019-12-13 17:52:57 -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>Media</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>205123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1598522</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-12-13 15:20:26 -0800</bug_when>
    <thetext>Add WP -&gt; GPU process messages: PrepareForPlayback, Load, CancelLoad, Play, Pause, SetVolume, SetMuted
Add GPUP -&gt; WP message: PlaybackStateChanged</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598523</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-13 15:20:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/57927486&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598532</commentid>
    <comment_count>2</comment_count>
      <attachid>385650</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2019-12-13 15:39:11 -0800</bug_when>
    <thetext>Created attachment 385650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598579</commentid>
    <comment_count>3</comment_count>
      <attachid>385650</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-13 17:52:56 -0800</bug_when>
    <thetext>Comment on attachment 385650
Patch

Clearing flags on attachment: 385650

Committed r253516: &lt;https://trac.webkit.org/changeset/253516&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598580</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-13 17:52:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385650</attachid>
            <date>2019-12-13 15:39:11 -0800</date>
            <delta_ts>2019-12-13 17:52:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205220-20191213153909.patch</filename>
            <type>text/plain</type>
            <size>35375</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ5YjI1OTQ5YjkxNzNh
ZjAwODZjNDc1NjFlNjU1NTAyODI5M2FjMy4uNDJjMTBkYjI2MDhiYzEwNmEzZjI4NjI5OWY0NTcz
YmYyMTE5MTMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEyLTEzICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCByZW1vdGUg
bWVkaWEgcGxheWVyIG1lc3NhZ2UgdG8gbG9hZCBhbmQgcGxheQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MjIwCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS81NzkyNzQ4Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMuIFRlc3RlZCBtYW51YWxseSBiZWNhdXNlIGl0IGlzIG5vdCBw
b3NzaWJsZSB0byB0ZXN0IG9uIGEgYm90IHlldC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpsb2Fk
V2l0aE5leHRNZWRpYUVuZ2luZSk6IENhbGwgdGhlIG5ldyBtZXRob2QgcHJlcGFyZUZvclBsYXli
YWNrCisgICAgICAgIGluc3RlYWQgb2YgbWFraW5nIGZvdXIgY2FsbHMgdG8gc2V0IHByb3BlcnRp
ZXMgb24gYSBuZXcgcGxheWVyLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJm
YWNlOjpsb2FkKTogQWRkIGEgbG9hZCB2YXJpYW50IHRoYXQgdGFrZXMgYSBVUkwsCisgICAgICAg
IGNvbnRlbnRUeXBlLCBhbmQga2V5U3lzdGVtLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlOjpwcmVwYXJlRm9yUGxheWJhY2spOgorCiAyMDE5LTEyLTEzICBE
ZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWNDYXRhbHlzdCBidWls
ZCBvZiBsaWJBTkdMRSBpcyBpbnN0YWxsZWQgaW4gdGhlIGluY29ycmVjdCBsb2NhdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCBhNTRkMzk3MzQyYjljNGQ5YTVlMmM1YWIwMWUyYjZiYWFjZmQ1ZDYyLi4xMTVlYTg0
NmE4ZThjZTVhYmEyZWQ4Zjg1MGY2NjU3MmFhMWVmMDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDcy
IEBACisyMDE5LTEyLTEzICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCByZW1vdGUgbWVkaWEgcGxheWVyIG1lc3NhZ2UgdG8gbG9hZCBhbmQgcGxh
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MjIw
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzkyNzQ4Nj4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEFkZCBXUCAtPiBHUFUgcHJvY2Vz
cyBtZXNzYWdlczogUHJlcGFyZUZvclBsYXliYWNrLCBMb2FkLCBDYW5jZWxMb2FkLCBQbGF5LCBQ
YXVzZSwKKyAgICAgICAgU2V0Vm9sdW1lLCBhbmQgU2V0TXV0ZWQKKyAgICAgICAgQWRkIEdQVVAg
LT4gV1AgbWVzc2FnZTogUGxheWJhY2tTdGF0ZUNoYW5nZWQKKworICAgICAgICAqIEdQVVByb2Nl
c3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eTo6Y3JlYXRlTWVkaWFQbGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eTo6ZGVsZXRlTWVkaWFQbGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6cHJlcGFyZUZvclBsYXliYWNrKToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmxvYWQpOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6Y2FuY2VsTG9hZCk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpwbGF5KToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnBhdXNlKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZvbHVtZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRNdXRlZCk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojpsb2dDaGFu
bmVsIGNvbnN0KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
clByb3h5OjpncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzIGNvbnN0KToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OndlYlByb2Nlc3NDb25uZWN0aW9uIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlh
UGxheWVyUHJveHk6OlJlbW90ZU1lZGlhUGxheWVyUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVNZWRpYVBsYXllclByb3h5Ojpsb2FkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6cHJlcGFyZUZvclBsYXliYWNrKToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTWVkaWFQbGF5ZXJQcm94eTo6Y2FuY2VsTG9hZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU1lZGlhUGxheWVyUHJveHk6OnBsYXkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBs
YXllclByb3h5OjpwYXVzZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJv
eHk6OnNldFZvbHVtZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6
OnNldE11dGVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6bWVk
aWFQbGF5ZXJOZXR3b3JrU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFQbGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJSZWFkeVN0YXRlQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyVm9sdW1lQ2hhbmdlZCk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTXV0
ZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRp
YVBsYXllclRpbWVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVkaWFQbGF5ZXJQ
cm94eTo6bWVkaWFQbGF5ZXJEdXJhdGlvbkNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllclJhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBH
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQ
VS9tZWRpYS9NZWRpYVBsYXllclByaXZhdGVSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnByZXBhcmVGb3JQbGF5YmFjayk6CisgICAgICAgIChX
ZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
Ojpsb2FkKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpjYW5j
ZWxMb2FkKToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwbGF5
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0Vm9sdW1lRG91Ymxl
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRNdXRlZCk6
CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6bXV0ZUNoYW5nZWQp
OgorICAgICAgICAoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnRpbWVDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpwbGF5YmFja1N0
YXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6
cGF1c2VkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRpYS9N
ZWRpYVBsYXllclByaXZhdGVSZW1vdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcik6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6flJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
cik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6cGxheWJhY2tT
dGF0ZUNoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlci5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXI6OmRpZFJlY2VpdmVNZXNzYWdlRnJvbVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5tZXNzYWdlcy5pbjoKKwogMjAx
OS0xMi0xMyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBNRVNTQUdFX0NIRUNLKCkgZm9yIHNlbGVjdGVkSW5kZXggaW4gTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6U2hvd1BvcHVwTWVudQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IDI0NzJhMTFlNmIzYzYxOGMwZDAyY2EzMzU4YmQ5MWIw
ZGQ0YzZjODYuLjI3YjUyYmVkNDRhMzAxMWI5NTRkOGY4MDIzZjVlMGE0OGU4MTg5NjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAg
LTU1MywxMSArNTUzLDcgQEAgdm9pZCBNZWRpYVBsYXllcjo6bG9hZFdpdGhOZXh0TWVkaWFFbmdp
bmUoY29uc3QgTWVkaWFQbGF5ZXJGYWN0b3J5KiBjdXJyZW50KQogICAgICAgICBtX3ByaXZhdGUg
PSBlbmdpbmUtPmNyZWF0ZU1lZGlhRW5naW5lUGxheWVyKHRoaXMpOwogICAgICAgICBpZiAobV9w
cml2YXRlKSB7CiAgICAgICAgICAgICBjbGllbnQoKS5tZWRpYVBsYXllckVuZ2luZVVwZGF0ZWQo
KTsKLSAgICAgICAgICAgIG1fcHJpdmF0ZS0+c2V0UHJpdmF0ZUJyb3dzaW5nTW9kZShtX3ByaXZh
dGVCcm93c2luZyk7Ci0gICAgICAgICAgICBtX3ByaXZhdGUtPnNldFByZWxvYWQobV9wcmVsb2Fk
KTsKLSAgICAgICAgICAgIG1fcHJpdmF0ZS0+c2V0UHJlc2VydmVzUGl0Y2gocHJlc2VydmVzUGl0
Y2goKSk7Ci0gICAgICAgICAgICBpZiAobV9zaG91bGRQcmVwYXJlVG9SZW5kZXIpCi0gICAgICAg
ICAgICAgICAgbV9wcml2YXRlLT5wcmVwYXJlRm9yUmVuZGVyaW5nKCk7CisgICAgICAgICAgICBt
X3ByaXZhdGUtPnByZXBhcmVGb3JQbGF5YmFjayhtX3ByaXZhdGVCcm93c2luZywgbV9wcmVsb2Fk
LCBtX3ByZXNlcnZlc1BpdGNoLCBtX3Nob3VsZFByZXBhcmVUb1JlbmRlcik7CiAgICAgICAgIH0K
ICAgICB9CiAKQEAgLTU3Miw3ICs1NjgsNyBAQCB2b2lkIE1lZGlhUGxheWVyOjpsb2FkV2l0aE5l
eHRNZWRpYUVuZ2luZShjb25zdCBNZWRpYVBsYXllckZhY3RvcnkqIGN1cnJlbnQpCiAgICAgICAg
ICAgICBtX3ByaXZhdGUtPmxvYWQoKm1fbWVkaWFTdHJlYW0pOwogICAgICAgICBlbHNlCiAjZW5k
aWYKLSAgICAgICAgbV9wcml2YXRlLT5sb2FkKG1fdXJsLnN0cmluZygpKTsKKyAgICAgICAgbV9w
cml2YXRlLT5sb2FkKG1fdXJsLCBtX2NvbnRlbnRUeXBlLCBtX2tleVN5c3RlbSk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgbV9wcml2YXRlID0gbWFrZVVuaXF1ZTxOdWxsTWVkaWFQbGF5ZXJQcml2
YXRlPih0aGlzKTsKICAgICAgICAgaWYgKCFtX2FjdGl2ZUVuZ2luZUlkZW50aWZpZXIgJiYgaW5z
dGFsbGVkTWVkaWFFbmdpbmVzKCkuc2l6ZSgpID4gMSAmJiBuZXh0QmVzdE1lZGlhRW5naW5lKG1f
Y3VycmVudE1lZGlhRW5naW5lKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggZGJjYzA1ZmNlODIyODUxMGFkMTI3
MThhNjYwZGE4YjA5OTQ5Y2IzNy4uOTg5NGE2YzAyMzU2MzE5YWNhNzIyZDk3OTlkZmYwZjNlODdk
OGJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM4LDcgKzM4LDkgQEAgcHVibGljOgogICAgIE1lZGlhUGxh
eWVyUHJpdmF0ZUludGVyZmFjZSgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIH5NZWRpYVBsYXll
clByaXZhdGVJbnRlcmZhY2UoKSA9IGRlZmF1bHQ7CiAKLSAgICB2aXJ0dWFsIHZvaWQgbG9hZChj
b25zdCBTdHJpbmcmIHVybCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmlu
ZyYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250
ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYpIHsgbG9hZCh1cmwuc3RyaW5nKCkpOyB9CisKICNpZiBF
TkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYg
dXJsLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSA9IDA7CiAjZW5kaWYKQEAgLTQ2LDYgKzQ4
LDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChNZWRpYVN0cmVhbVByaXZhdGUm
KSA9IDA7CiAjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgpID0gMDsKKworICAg
IHZpcnR1YWwgdm9pZCBwcmVwYXJlRm9yUGxheWJhY2soYm9vbCBwcml2YXRlTW9kZSwgTWVkaWFQ
bGF5ZXI6OlByZWxvYWQgcHJlbG9hZCwgYm9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9vbCBwcmVwYXJl
KQorICAgIHsKKyAgICAgICAgc2V0UHJpdmF0ZUJyb3dzaW5nTW9kZShwcml2YXRlTW9kZSk7Cisg
ICAgICAgIHNldFByZWxvYWQocHJlbG9hZCk7CisgICAgICAgIHNldFByZXNlcnZlc1BpdGNoKHBy
ZXNlcnZlc1BpdGNoKTsKKyAgICAgICAgaWYgKHByZXBhcmUpCisgICAgICAgICAgICBwcmVwYXJl
Rm9yUmVuZGVyaW5nKCk7CisgICAgfQogICAgIAogICAgIHZpcnR1YWwgdm9pZCBwcmVwYXJlVG9Q
bGF5KCkgeyB9CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29u
c3QgeyByZXR1cm4gMDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKaW5kZXggOGM3
NmU2YmNmYmJjODNmYzE5ODJiZDBhNjA5YTYyMjA5Y2I4NGE5Zi4uNjc1OGY0YzkzMTJlNDQzYjcy
YTY4MzdhZDljYTJjNjBjNWZkNjMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3Bw
CkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllclByaXZhdGUu
aD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAKLSNkZWZpbmUgTUVTU0FHRV9DSEVDS19D
T05URVhUSUQoaWRlbnRpZmllcikgTUVTU0FHRV9DSEVDS19CQVNFKG1fcHJveGllcy5pc1ZhbGlk
S2V5KGlkZW50aWZpZXIpLCAmbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCkpCisj
ZGVmaW5lIE1FU1NBR0VfQ0hFQ0tfQ09OVEVYVElEKGlkZW50aWZpZXIpIE1FU1NBR0VfQ0hFQ0tf
QkFTRShtX3Byb3hpZXMuaXNWYWxpZEtleShpZGVudGlmaWVyKSwgJm1fZ3B1Q29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkpCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CkBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyBSZWZQdHI8TG9nZ2VyPiYg
bnVsbExvZ2dlcigpCiAjZW5kaWYKIAogUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OlJl
bW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5KEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNv
bm5lY3Rpb24pCi0gICAgOiBtX3dlYlByb2Nlc3NDb25uZWN0aW9uKGNvbm5lY3Rpb24pCisgICAg
OiBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoY29ubmVjdGlvbikKICNpZiAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKICAgICAsIG1fbG9nSWRlbnRpZmllcihXVEY6OkxvZ2dlckhlbHBlcjo6dW5p
cXVlTG9nSWRlbnRpZmllcigpKQogI2VuZGlmCkBAIC02MiwxNyArNjIsMTcgQEAgUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHk6On5SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSgpCiB7
CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmNyZWF0ZU1lZGlhUGxh
eWVyKGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXImIGlkLCBNZWRpYVBs
YXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgZW5naW5lSWRlbnRpZmllciwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2NlZWRlZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2
b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpjcmVhdGVNZWRpYVBsYXllcihNZWRp
YVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkLCBNZWRpYVBsYXllckVudW1zOjpNZWRp
YUVuZ2luZUlkZW50aWZpZXIgZW5naW5lSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sIHN1Y2NlZWRlZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgTUVTU0FHRV9D
SEVDS19DT05URVhUSUQoaWQpOwogCiAgICAgQVNTRVJUKCFtX3Byb3hpZXMuY29udGFpbnMoaWQp
KTsKLSAgICBtX3Byb3hpZXMuYWRkKGlkLCBtYWtlVW5pcXVlPFJlbW90ZU1lZGlhUGxheWVyUHJv
eHk+KCp0aGlzLCBpZCwgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbi5jb25uZWN0aW9uKCksIGVuZ2lu
ZUlkZW50aWZpZXIpKTsKKyAgICBtX3Byb3hpZXMuYWRkKGlkLCBtYWtlVW5pcXVlPFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk+KCp0aGlzLCBpZCwgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNv
bm5lY3Rpb24oKSwgZW5naW5lSWRlbnRpZmllcikpOwogCiAgICAgY29tcGxldGlvbkhhbmRsZXIo
dHJ1ZSk7CiB9CiAKLXZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmRlbGV0ZU1l
ZGlhUGxheWVyKGNvbnN0IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXImIGlkKQor
dm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZGVsZXRlTWVkaWFQbGF5ZXIoTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCkKIHsKICAgICBpZiAoYXV0byBwcm94
eSA9IG1fcHJveGllcy50YWtlKGlkKSkKICAgICAgICAgcHJveHktPmludmFsaWRhdGUoKTsKQEAg
LTE2Niw2ICsxNjYsNDggQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6c3Vw
cG9ydHNLZXlTeXN0ZW0oTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmcKICAgICBjb21wbGV0aW9u
SGFuZGxlcihyZXN1bHQpOwogfQogCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5
OjpwcmVwYXJlRm9yUGxheWJhY2soTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBp
ZCwgYm9vbCBwcml2YXRlTW9kZSwgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6UHJlbG9hZCBw
cmVsb2FkLCBib29sIHByZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmVGb3JSZW5kZXJpbmcpCit7
CisgICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChpZCkpCisgICAgICAgIHBsYXll
ci0+cHJlcGFyZUZvclBsYXliYWNrKHByaXZhdGVNb2RlLCBwcmVsb2FkLCBwcmVzZXJ2ZXNQaXRj
aCwgcHJlcGFyZUZvclJlbmRlcmluZyk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyUHJveHk6OmxvYWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCwgVVJM
JiYgdXJsLCBXZWJDb3JlOjpDb250ZW50VHlwZSYmIGNvbnRlbnRUeXBlLCBTdHJpbmcmJiBrZXlT
eXN0ZW0pCit7CisgICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChpZCkpCisgICAg
ICAgIHBsYXllci0+bG9hZChXVEZNb3ZlKHVybCksIFdURk1vdmUoY29udGVudFR5cGUpLCBXVEZN
b3ZlKGtleVN5c3RlbSkpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5
OjpjYW5jZWxMb2FkKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7Cisg
ICAgaWYgKGF1dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChpZCkpCisgICAgICAgIHBsYXllci0+
Y2FuY2VsTG9hZCgpOworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojpw
bGF5KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQpCit7CisgICAgaWYgKGF1
dG8gcGxheWVyID0gbV9wcm94aWVzLmdldChpZCkpCisgICAgICAgIHBsYXllci0+cGxheSgpOwor
fQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpwYXVzZShNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkKQoreworICAgIGlmIChhdXRvIHBsYXllciA9IG1f
cHJveGllcy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXItPnBhdXNlKCk7Cit9CisKK3ZvaWQgUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OnNldFZvbHVtZShNZWRpYVBsYXllclByaXZhdGVS
ZW1vdGVJZGVudGlmaWVyIGlkLCBkb3VibGUgdm9sdW1lKQoreworICAgIGlmIChhdXRvIHBsYXll
ciA9IG1fcHJveGllcy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXItPnNldFZvbHVtZSh2b2x1bWUp
OworfQorCit2b2lkIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpzZXRNdXRlZChNZWRp
YVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkLCBib29sIG11dGVkKQoreworICAgIGlm
IChhdXRvIHBsYXllciA9IG1fcHJveGllcy5nZXQoaWQpKQorICAgICAgICBwbGF5ZXItPnNldE11
dGVkKG11dGVkKTsKK30KKwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogY29uc3QgTG9nZ2Vy
JiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6bG9nZ2VyKCkgY29uc3QKIHsKQEAgLTE4
Miw3ICsyMjQsNiBAQCBXVEZMb2dDaGFubmVsJiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eTo6bG9nQ2hhbm5lbCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFdlYktpdDJMb2dXZWJSVEM7CiB9
Ci0KICNlbmRpZgogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oCmluZGV4IDgxZmFiYmE4
NDg5YjIzOGU5NDAxYjU0MjRlNjdlMWMzY2ViZDdmNDUuLmQ2Y2Q3MGMzZmNmOTNhYmExNzkwYzhi
OTMzZjUxNTlhZjY0MDRjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oCkBAIC00OSw3
ICs0OSw3IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQ
cm94eShHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CiAgICAgflJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5KCk7CiAKLSAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiB3ZWJQcm9j
ZXNzQ29ubmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb247IH0K
KyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
KCkgY29uc3QgeyByZXR1cm4gbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOyB9CiAgICAgdm9p
ZCBjbGVhcigpOwogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21XZWJQcm9jZXNzKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKSB7IGRpZFJl
Y2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOyB9CkBAIC02NywxOSArNjcsMzAgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQ
Qzo6RGVjb2RlciYpIGZpbmFsOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+
JikgZmluYWw7CiAKLSAgICB2b2lkIGNyZWF0ZU1lZGlhUGxheWVyKGNvbnN0IE1lZGlhUGxheWVy
UHJpdmF0ZVJlbW90ZUlkZW50aWZpZXImLCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRp
YUVuZ2luZUlkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwotICAg
IHZvaWQgZGVsZXRlTWVkaWFQbGF5ZXIoY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRl
bnRpZmllciYpOworICAgIHZvaWQgY3JlYXRlTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXJQcml2YXRl
UmVtb3RlSWRlbnRpZmllciwgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJ
ZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyAgICB2b2lkIGRl
bGV0ZU1lZGlhUGxheWVyKE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIpOwogCisg
ICAgLy8gTWVkaWEgcGxheWVyIGZhY3RvcnkKICAgICB2b2lkIGdldFN1cHBvcnRlZFR5cGVzKFdl
YkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJik7CiAgICAgdm9pZCBzdXBwb3J0c1R5
cGUoV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBjb25z
dCBXZWJDb3JlOjpNZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzJiYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSk+JiYpOwotCiAgICAg
dm9pZCBvcmlnaW5zSW5NZWRpYUNhY2hlKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlh
RW5naW5lSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
VmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4mJik+JiYpOwogICAgIHZvaWQgY2xl
YXJNZWRpYUNhY2hlKFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiYsIFdhbGxUaW1lKTsKICAgICB2b2lkIGNsZWFyTWVkaWFDYWNo
ZUZvck9yaWdpbnMoV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmJiwgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4m
Jik7CiAgICAgdm9pZCBzdXBwb3J0c0tleVN5c3RlbShXZWJDb3JlOjpNZWRpYVBsYXllckVudW1z
OjpNZWRpYUVuZ2luZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYmLCBjb25zdCBTdHJpbmcmJiwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAKKyAgICB2b2lkIGxvYWQoTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgVVJMJiYsIFdlYkNvcmU6OkNvbnRlbnRUeXBl
JiYsIFN0cmluZyYmKTsKKyAgICB2b2lkIGNhbmNlbExvYWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlSWRlbnRpZmllcik7CisKKyAgICB2b2lkIHByZXBhcmVGb3JQbGF5YmFjayhNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVJZGVudGlmaWVyLCBib29sIHByaXZhdGVNb2RlLCBXZWJDb3JlOjpNZWRp
YVBsYXllckVudW1zOjpQcmVsb2FkLCBib29sIHByZXNlcnZlc1BpdGNoLCBib29sIHByZXBhcmVG
b3JSZW5kZXJpbmcpOworCisgICAgdm9pZCBwbGF5KE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlk
ZW50aWZpZXIpOworICAgIHZvaWQgcGF1c2UoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRp
Zmllcik7CisKKyAgICB2b2lkIHNldFZvbHVtZShNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVu
dGlmaWVyLCBkb3VibGUpOworICAgIHZvaWQgc2V0TXV0ZWQoTWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlSWRlbnRpZmllciwgYm9vbCk7CisKICAgICBIYXNoTWFwPE1lZGlhUGxheWVyUHJpdmF0ZVJl
bW90ZUlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxSZW1vdGVNZWRpYVBsYXllclByb3h5Pj4g
bV9wcm94aWVzOwotICAgIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fd2ViUHJvY2Vzc0Nv
bm5lY3Rpb247CisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9ncHVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzOwogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAgICAgY29uc3Qgdm9p
ZCogbV9sb2dJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IDAxYTQ0Mjc1NzhmOWI1Nzg4ZTA4NDdhNGM1YWY0MmU4YTFmZjc4YTgu
LjkxYWM0YzUyM2NiYjY0NzAzNjYxNWVkMjYwNWE2MTEyMDJkY2VlNWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTI4LDExICsyOCwyMiBAQCBt
ZXNzYWdlcyAtPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eSBOb3RSZWZDb3VudGVkIHsK
ICAgICBEZWxldGVNZWRpYVBsYXllcihXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlk
ZW50aWZpZXIgaWQpCiAKICAgICBHZXRTdXBwb3J0ZWRUeXBlcyhlbnVtOnVpbnQ4X3QgV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyIHJlbW90ZUVuZ2luZUlk
ZW50aWZpZXIpIC0+IChWZWN0b3I8U3RyaW5nPiB0eXBlcykgU3luY2hyb25vdXMKLSAgICBTdXBw
b3J0c1R5cGUoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5n
aW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6TWVk
aWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyB0eXBlKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6
Ok1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydCkgU3luY2hyb25vdXMKKyAgICBTdXBw
b3J0c1R5cGUoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5n
aW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6TWVk
aWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyB0eXBlKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6
Ok1lZGlhUGxheWVyRW51bXM6OlN1cHBvcnRzVHlwZSBzdXBwb3J0KSBTeW5jaHJvbm91cwogICAg
IE9yaWdpbnNJbk1lZGlhQ2FjaGUoZW51bTp1aW50OF90IFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51
bXM6Ok1lZGlhRW5naW5lSWRlbnRpZmllciByZW1vdGVFbmdpbmVJZGVudGlmaWVyLCBTdHJpbmcg
cGF0aCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnMpIFN5
bmNocm9ub3VzCiAgICAgQ2xlYXJNZWRpYUNhY2hlKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRp
YVBsYXllckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmll
ciwgU3RyaW5nIHBhdGgsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UpCiAgICAgQ2xlYXJNZWRpYUNh
Y2hlRm9yT3JpZ2lucyhlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6TWVk
aWFFbmdpbmVJZGVudGlmaWVyIHJlbW90ZUVuZ2luZUlkZW50aWZpZXIsIFN0cmluZyBwYXRoLCBW
ZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zKQogICAgIFN1cHBvcnRz
S2V5U3lzdGVtKGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXllckVudW1zOjpNZWRpYUVu
Z2luZUlkZW50aWZpZXIgcmVtb3RlRW5naW5lSWRlbnRpZmllciwgU3RyaW5nIGtleVN5c3RlbSwg
U3RyaW5nIG1pbWVUeXBlKSAtPiAoYm9vbCBzdXBwb3J0cykgU3luY2hyb25vdXMKKworICAgIFBy
ZXBhcmVGb3JQbGF5YmFjayhXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZp
ZXIgaWQsIGJvb2wgcHJpdmF0ZU1vZGUsIGVudW06dWludDhfdCBXZWJDb3JlOjpNZWRpYVBsYXll
ckVudW1zOjpQcmVsb2FkIHByZWxvYWQsIGJvb2wgcHJlc2VydmVzUGl0Y2gsIGJvb2wgcHJlcGFy
ZUZvclJlbmRlcmluZykKKworICAgIExvYWQoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1v
dGVJZGVudGlmaWVyIGlkLCBVUkwgdXJsLCBXZWJDb3JlOjpDb250ZW50VHlwZSBjb250ZW50VHlw
ZSwgU3RyaW5nIGtleVN5c3RlbSkKKyAgICBDYW5jZWxMb2FkKFdlYktpdDo6TWVkaWFQbGF5ZXJQ
cml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCkKKworICAgIFBsYXkoV2ViS2l0OjpNZWRpYVBsYXll
clByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkKQorICAgIFBhdXNlKFdlYktpdDo6TWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCkKKworICAgIFNldFZvbHVtZShXZWJLaXQ6Ok1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQsIGRvdWJsZSB2b2x1bWUpCisgICAg
U2V0TXV0ZWQoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkLCBi
b29sIG11dGVkKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllclByb3h5LmNwcAppbmRleCBmY2U5MzM1NTEw
OTNmYTZkODQ1ZjMzMmE0YTA2M2FmMTFmOWUwY2FhLi4yZmM3MGFhYjMwNWUwMTk1MjY2M2Y5YWM0
NDk0NjIyMTRlZWI0NTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJveHkuY3BwCkBAIC0zNiwxNiArMzYsMTYgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1SZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpSZW1vdGVNZWRpYVBsYXllclByb3h5KFJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5JiBtYW5hZ2VyLCBjb25zdCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVu
dGlmaWVyJiBpZCwgUmVmPElQQzo6Q29ubmVjdGlvbj4mJiBjb25uZWN0aW9uLCBNZWRpYVBsYXll
ckVudW1zOjpNZWRpYUVuZ2luZUlkZW50aWZpZXIgZW5naW5lSWRlbnRpZmllcikKK1JlbW90ZU1l
ZGlhUGxheWVyUHJveHk6OlJlbW90ZU1lZGlhUGxheWVyUHJveHkoUmVtb3RlTWVkaWFQbGF5ZXJN
YW5hZ2VyUHJveHkmIG1hbmFnZXIsIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIg
aWQsIFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYgY29ubmVjdGlvbiwgTWVkaWFQbGF5ZXJFbnVtczo6
TWVkaWFFbmdpbmVJZGVudGlmaWVyIGVuZ2luZUlkZW50aWZpZXIpCiAgICAgOiBtX2lkKGlkKQot
ICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCisgICAgLCBtX3dlYlByb2Nl
c3NDb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCiAgICAgLCBtX21hbmFnZXIobWFuYWdl
cikKICAgICAsIG1fZW5naW5lSWRlbnRpZmllcihlbmdpbmVJZGVudGlmaWVyKQogI2lmICFSRUxF
QVNFX0xPR19ESVNBQkxFRAotICAgICwgbV9sb2dnZXIobWFuYWdlci5sb2dnZXIoKSkKKyAgICAs
IG1fbG9nZ2VyKG1fbWFuYWdlci5sb2dnZXIoKSkKICNlbmRpZgogewotICAgIG1fcGxheWVyID0g
TWVkaWFQbGF5ZXI6OmNyZWF0ZSgqdGhpcywgZW5naW5lSWRlbnRpZmllcik7CisgICAgbV9wbGF5
ZXIgPSBNZWRpYVBsYXllcjo6Y3JlYXRlKCp0aGlzLCBtX2VuZ2luZUlkZW50aWZpZXIpOwogfQog
CiB2b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OmludmFsaWRhdGUoKQpAQCAtNTMsMzkgKzUz
LDc4IEBAIHZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6aW52YWxpZGF0ZSgpCiAgICAgbV9w
bGF5ZXItPmludmFsaWRhdGUoKTsKIH0KIAordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5Ojps
b2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVudFR5cGUsIGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtKQoreworICAgIG1fcGxheWVyLT5sb2FkKHVybCwgY29udGVudFR5
cGUsIGtleVN5c3RlbSk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6cHJlcGFy
ZUZvclBsYXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIFdlYkNvcmU6Ok1lZGlhUGxheWVyRW51bXM6
OlByZWxvYWQgcHJlbG9hZCwgYm9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9vbCBwcmVwYXJlRm9yUmVu
ZGVyaW5nKQoreworICAgIG1fcGxheWVyLT5zZXRQcml2YXRlQnJvd3NpbmdNb2RlKHByaXZhdGVN
b2RlKTsKKyAgICBtX3BsYXllci0+c2V0UHJlbG9hZChwcmVsb2FkKTsKKyAgICBtX3BsYXllci0+
c2V0UHJlc2VydmVzUGl0Y2gocHJlc2VydmVzUGl0Y2gpOworICAgIG1fcGxheWVyLT5wcmVwYXJl
Rm9yUmVuZGVyaW5nKCk7Cit9CisKK3ZvaWQgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6Y2FuY2Vs
TG9hZCgpCit7CisgICAgbV9wbGF5ZXItPmNhbmNlbExvYWQoKTsKK30KKwordm9pZCBSZW1vdGVN
ZWRpYVBsYXllclByb3h5OjpwbGF5KCkKK3sKKyAgICBtX3BsYXllci0+cGxheSgpOworfQorCit2
b2lkIFJlbW90ZU1lZGlhUGxheWVyUHJveHk6OnBhdXNlKCkKK3sKKyAgICBtX3BsYXllci0+cGF1
c2UoKTsKK30KKwordm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjpzZXRWb2x1bWUoZG91Ymxl
IHZvbHVtZSkKK3sKKyAgICBtX3BsYXllci0+c2V0Vm9sdW1lKHZvbHVtZSk7Cit9CisKK3ZvaWQg
UmVtb3RlTWVkaWFQbGF5ZXJQcm94eTo6c2V0TXV0ZWQoYm9vbCBtdXRlZCkKK3sKKyAgICBtX3Bs
YXllci0+c2V0TXV0ZWQobXV0ZWQpOworfQorCisvLyBNZWRpYVBsYXllckNsaWVudAogdm9pZCBS
ZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRpYVBsYXllck5ldHdvcmtTdGF0ZUNoYW5nZWQoKQog
ewotICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5h
Z2VyOjpOZXR3b3JrU3RhdGVDaGFuZ2VkKG1faWQsIG1fcGxheWVyLT5uZXR3b3JrU3RhdGUoKSks
IDApOworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlcjo6TmV0d29ya1N0YXRlQ2hhbmdlZChtX2lkLCBtX3BsYXllci0+bmV0
d29ya1N0YXRlKCkpLCAwKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRpYVBsYXllclByb3h5OjptZWRp
YVBsYXllclJlYWR5U3RhdGVDaGFuZ2VkKCkKIHsKLSAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVz
c2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6UmVhZHlTdGF0ZUNoYW5nZWQobV9pZCwg
bV9wbGF5ZXItPnJlYWR5U3RhdGUoKSksIDApOworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb24t
PnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6UmVhZHlTdGF0ZUNoYW5n
ZWQobV9pZCwgbV9wbGF5ZXItPnJlYWR5U3RhdGUoKSksIDApOwogfQogCiB2b2lkIFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyVm9sdW1lQ2hhbmdlZCgpCiB7Ci0gICAgbV9jb25u
ZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OlZvbHVtZUNo
YW5nZWQobV9pZCwgbV9wbGF5ZXItPnZvbHVtZSgpKSwgMCk7CisgICAgbV93ZWJQcm9jZXNzQ29u
bmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpWb2x1bWVD
aGFuZ2VkKG1faWQsIG1fcGxheWVyLT52b2x1bWUoKSksIDApOwogfQogCiB2b2lkIFJlbW90ZU1l
ZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyTXV0ZUNoYW5nZWQoKQogewotICAgIG1fY29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpNdXRlQ2hhbmdl
ZChtX2lkLCBtX3BsYXllci0+bXV0ZWQoKSksIDApOworICAgIG1fd2ViUHJvY2Vzc0Nvbm5lY3Rp
b24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6TXV0ZUNoYW5nZWQo
bV9pZCwgbV9wbGF5ZXItPm11dGVkKCkpLCAwKTsKIH0KIAogdm9pZCBSZW1vdGVNZWRpYVBsYXll
clByb3h5OjptZWRpYVBsYXllclRpbWVDaGFuZ2VkKCkKIHsKLSAgICBtX2Nvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6VGltZUNoYW5nZWQobV9pZCwg
bV9wbGF5ZXItPmN1cnJlbnRUaW1lKCkpLCAwKTsKKyAgICBtX3dlYlByb2Nlc3NDb25uZWN0aW9u
LT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OlRpbWVDaGFuZ2VkKG1f
aWQsIG1fcGxheWVyLT5jdXJyZW50VGltZSgpKSwgMCk7CiB9CiAKIHZvaWQgUmVtb3RlTWVkaWFQ
bGF5ZXJQcm94eTo6bWVkaWFQbGF5ZXJEdXJhdGlvbkNoYW5nZWQoKQogewotICAgIG1fY29ubmVj
dGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpEdXJhdGlvbkNo
YW5nZWQobV9pZCwgbV9wbGF5ZXItPmR1cmF0aW9uKCkpLCAwKTsKKyAgICBtX3dlYlByb2Nlc3ND
b25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OkR1cmF0
aW9uQ2hhbmdlZChtX2lkLCBtX3BsYXllci0+ZHVyYXRpb24oKSksIDApOwogfQogCiB2b2lkIFJl
bW90ZU1lZGlhUGxheWVyUHJveHk6Om1lZGlhUGxheWVyUmF0ZUNoYW5nZWQoKQogewotICAgIG1f
Y29ubmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpSYXRl
Q2hhbmdlZChtX2lkLCBtX3BsYXllci0+cmF0ZSgpKSwgMCk7CisgICAgbV93ZWJQcm9jZXNzQ29u
bmVjdGlvbi0+c2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpSYXRlQ2hh
bmdlZChtX2lkLCBtX3BsYXllci0+cmF0ZSgpKSwgMCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVN
ZWRpYVBsYXllclByb3h5LmgKaW5kZXggN2UxYTI3YzdlYmVjZTczMjM4ZjlkMGQwNmZjMTI0OGY0
ZTNiYjhhYi4uNWJmNzE3ZWE3OTkwMTg3ZjAxNzhiNmFmNmZjYzU0MDY2NGY5MTI2NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5
ZXJQcm94eS5oCkBAIC00OCwxMyArNDgsMjQgQEAgY2xhc3MgUmVtb3RlTWVkaWFQbGF5ZXJQcm94
eQogICAgIDogcHVibGljIE1lZGlhUGxheWVyQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKLSAgICBSZW1vdGVNZWRpYVBsYXllclByb3h5KFJlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5JiwgY29uc3QgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRp
ZmllciYsIFJlZjxJUEM6OkNvbm5lY3Rpb24+JiYsIE1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5n
aW5lSWRlbnRpZmllcik7CisgICAgUmVtb3RlTWVkaWFQbGF5ZXJQcm94eShSZW1vdGVNZWRpYVBs
YXllck1hbmFnZXJQcm94eSYsIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIFJl
ZjxJUEM6OkNvbm5lY3Rpb24+JiYsIE1lZGlhUGxheWVyRW51bXM6Ok1lZGlhRW5naW5lSWRlbnRp
Zmllcik7CiAgICAgdmlydHVhbCB+UmVtb3RlTWVkaWFQbGF5ZXJQcm94eSgpCiAgICAgewogICAg
IH0KIAogICAgIHZvaWQgaW52YWxpZGF0ZSgpOwogCisgICAgdm9pZCBwcmVwYXJlRm9yUGxheWJh
Y2soYm9vbCBwcml2YXRlTW9kZSwgV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6UHJlbG9hZCwg
Ym9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9vbCBwcmVwYXJlRm9yUmVuZGVyaW5nKTsKKworICAgIHZv
aWQgbG9hZChjb25zdCBVUkwmLCBjb25zdCBDb250ZW50VHlwZSYsIGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgY2FuY2VsTG9hZCgpOworCisgICAgdm9pZCBwbGF5KCk7CisgICAgdm9pZCBwYXVz
ZSgpOworCisgICAgdm9pZCBzZXRWb2x1bWUoZG91YmxlKTsKKyAgICB2b2lkIHNldE11dGVkKGJv
b2wpOworCiBwcml2YXRlOgogICAgIC8vIE1lZGlhUGxheWVyQ2xpZW50CiAgICAgdm9pZCBtZWRp
YVBsYXllck5ldHdvcmtTdGF0ZUNoYW5nZWQoKSBmaW5hbDsKQEAgLTcxLDkgKzgyLDggQEAgcHJp
dmF0ZToKICAgICBjb25zdCBMb2dnZXImIG1lZGlhUGxheWVyTG9nZ2VyKCkgZmluYWwgeyByZXR1
cm4gbV9sb2dnZXI7IH0KICNlbmRpZgogCi1wcm90ZWN0ZWQ6CiAgICAgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlSWRlbnRpZmllciBtX2lkOwotICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29u
bmVjdGlvbjsKKyAgICBSZWY8SVBDOjpDb25uZWN0aW9uPiBtX3dlYlByb2Nlc3NDb25uZWN0aW9u
OwogICAgIFJlZlB0cjxNZWRpYVBsYXllcj4gbV9wbGF5ZXI7CiAgICAgUmVtb3RlTWVkaWFQbGF5
ZXJNYW5hZ2VyUHJveHkmIG1fbWFuYWdlcjsKICAgICBNZWRpYVBsYXllckVudW1zOjpNZWRpYUVu
Z2luZUlkZW50aWZpZXIgbV9lbmdpbmVJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAxNzg1NDVi
ZmUxMmQ2ODhkOTljOTdkMzY4YThlMzUzMjM5MWU3ODc2Li41ODRhMWIzZGY2M2Q4Mzc5ZmQ2ODli
Y2NmODdkODY3NTZkZWQ5MmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMzAsNiArMzAsOCBAQAogCiAjaW5j
bHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oIgorI2lu
Y2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgIldl
YlBhZ2VNZXNzYWdlcy5oIgpAQCAtNTgsNiArNjAsMTQgQEAgdm9pZCBHUFVQcm9jZXNzQ29ubmVj
dGlvbjo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3Ry
aW4KIHsKIH0KIAordm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCit7Cisg
ICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcj4o
KS0+ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tV2ViUHJvY2Vzcyhjb25uZWN0aW9uLCBkZWNvZGVyKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNl
bmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggZTdkYTcyZTUzMDUwOWJlODc5
NWE0ZWE1MmIyZDQzMWNkMzgyOTJmYS4uOGI3NDI5OWU0YWE2Yjc2MzY4MDcxNTg3NmYwZDRlNTc0
MmE3MzJkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24uaApAQCAtNTIsNiArNTIsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gSVBD
OjpDb25uZWN0aW9uOjpDbGllbnQKICAgICB2b2lkIGRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYp
IG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlSW52YWxpZE1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVy
TmFtZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZU5hbWUpIG92ZXJyaWRlOwogCiAgICAg
Ly8gVGhlIGNvbm5lY3Rpb24gZnJvbSBhIHdlYiBwcm9jZXNzIHRvIHRoaXMgR1BVIHByb2Nlc3Mu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlh
L01lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZS5jcHAKaW5kZXggODNhYWMxYThmNGZhYTZmMTA4MTkx
ODI4NjgzMjQ1NDI4YjMyOGRjYi4uMDkwM2IzMjM3MDI3MmU3ODFhNDAzZGY5YzRmOTQyMTI4NGNk
MTgxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRp
YVBsYXllclByaXZhdGVSZW1vdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlLmNwcApAQCAtNjMsMTUgKzYzLDE0IEBA
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6fk1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZSgpCiAg
ICAgbV9tYW5hZ2VyLmRlbGV0ZVJlbW90ZU1lZGlhUGxheWVyKG1faWQpOwogfQogCi12b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpsb2FkKGNv
bnN0IFN0cmluZyYpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cHJlcGFyZUZvclBs
YXliYWNrKGJvb2wgcHJpdmF0ZU1vZGUsIE1lZGlhUGxheWVyOjpQcmVsb2FkIHByZWxvYWQsIGJv
b2wgcHJlc2VydmVzUGl0Y2gsIGJvb2wgcHJlcGFyZSkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OwotICAgIGNhbGxPbk1haW5UaHJlYWQoW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0
aGlzXSB7Ci0gICAgICAgIGlmICghd2Vha1RoaXMpCi0gICAgICAgICAgICByZXR1cm47CisgICAg
bV9tYW5hZ2VyLmdwdVByb2Nlc3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHk6OlByZXBhcmVGb3JQbGF5YmFjayhtX2lkLCBwcml2YXRlTW9k
ZSwgcHJlbG9hZCwgcHJlc2VydmVzUGl0Y2gsIHByZXBhcmUpLCAwKTsKK30KIAotICAgICAgICBu
ZXR3b3JrU3RhdGVDaGFuZ2VkKE1lZGlhUGxheWVyOjpOZXR3b3JrU3RhdGU6OkZvcm1hdEVycm9y
KTsKLSAgICB9KTsKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpNZWRpYVBsYXllclBy
aXZhdGVSZW1vdGU6OmxvYWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBjb250
ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0pCit7CisgICAgbV9tYW5hZ2VyLmdwdVBy
b2Nlc3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2Vy
UHJveHk6OkxvYWQobV9pZCwgdXJsLCBjb250ZW50VHlwZSwga2V5U3lzdGVtKSwgMCk7CiB9CiAK
ICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQpAQCAtMTAyLDEwICsxMDEsOSBAQCB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6bG9hZChNZWRpYVN0cmVhbVByaXZhdGUmKQogCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6Y2FuY2VsTG9hZCgpCiB7Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICBtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2Vz
OjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6Q2FuY2VsTG9hZChtX2lkKSwgMCk7CiB9
CiAKLQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnByZXBhcmVUb1BsYXkoKQogewog
ICAgIG5vdEltcGxlbWVudGVkKCk7CkBAIC0xNzYsMTIgKzE3NCwxMiBAQCBsb25nIE1lZGlhUGxh
eWVyUHJpdmF0ZVJlbW90ZTo6cGxhdGZvcm1FcnJvckNvZGUoKSBjb25zdAogCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6cGxheSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eTo6UGxheShtX2lkKSwgMCk7CiB9CiAKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpwYXVzZSgpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICBtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVN
ZWRpYVBsYXllck1hbmFnZXJQcm94eTo6UGF1c2UobV9pZCksIDApOwogfQogCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0QnVmZmVyaW5nUG9saWN5KE1lZGlhUGxheWVyOjpCdWZm
ZXJpbmdQb2xpY3kpCkBAIC0yODYsMjAgKzI4NCwxNCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZTo6c2V0UHJlc2VydmVzUGl0Y2goYm9vbCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwog
fQogCi1ib29sIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cGF1c2VkKCkgY29uc3QKK3ZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRWb2x1bWVEb3VibGUoZG91YmxlIHZvbHVtZSkK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OnNldFZvbHVtZURvdWJsZShkb3VibGUpCi17Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBtX21hbmFnZXIuZ3B1UHJvY2Vzc0Nvbm5lY3Rpb24oKS5z
ZW5kKE1lc3NhZ2VzOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6U2V0Vm9sdW1lKG1f
aWQsIHZvbHVtZSksIDApOwogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6c2V0
TXV0ZWQoYm9vbCkKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlOjpzZXRNdXRlZChib29s
IG11dGVkKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgbV9tYW5hZ2VyLmdwdVByb2Nl
c3NDb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHk6OlNldE11dGVkKG1faWQsIG11dGVkKSwgMCk7CiB9CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2
YXRlUmVtb3RlOjpoYXNDbG9zZWRDYXB0aW9ucygpIGNvbnN0CkBAIC03NjMsMTkgKzc1NSwxOCBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dm9sdW1lQ2hhbmdlZChkb3VibGUgdm9s
dW1lKQogICAgIG1fcGxheWVyLT52b2x1bWVDaGFuZ2VkKHZvbHVtZSk7CiB9CiAKLQotdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVSZW1vdGU6Om11dGVDaGFuZ2VkKGJvb2wgbXV0ZSkKK3ZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlOjptdXRlQ2hhbmdlZChib29sIG11dGVkKQogewotICAgIG1f
bXV0ZSA9IG11dGU7Ci0gICAgbV9wbGF5ZXItPm11dGVDaGFuZ2VkKG11dGUpOworICAgIG1fbXV0
ZWQgPSBtdXRlZDsKKyAgICBtX3BsYXllci0+bXV0ZUNoYW5nZWQobXV0ZWQpOwogfQogCiB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6dGltZUNoYW5nZWQoTWVkaWFUaW1lIHRpbWUpCiB7
CisgICAgLy8gRklYTUU6IHNob3VsZCB3ZSBjYWNoZSB0aGUgY3VycmVudCB0aW1lIGhlcmUgZm9y
IHNvbWUgYW1vdW50IG9mIHRpbWU/CiAgICAgbV9wbGF5ZXItPnRpbWVDaGFuZ2VkKCk7CiB9CiAK
LQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVSZW1vdGU6OmR1cmF0aW9uQ2hhbmdlZChNZWRpYVRp
bWUgZHVyYXRpb24pCiB7CiAgICAgbV9kdXJhdGlvbiA9IGR1cmF0aW9uOwpAQCAtNzg4LDYgKzc3
OSwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZTo6cmF0ZUNoYW5nZWQoZG91Ymxl
IHJhdGUpCiAgICAgbV9wbGF5ZXItPnJhdGVDaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlUmVtb3RlOjpwbGF5YmFja1N0YXRlQ2hhbmdlZChib29sIHBhdXNlZCkKK3sKKyAg
ICBtX3BhdXNlZCA9IHBhdXNlZDsKKyAgICBtX3BsYXllci0+cGxheWJhY2tTdGF0ZUNoYW5nZWQo
KTsKK30KKwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogV1RGTG9nQ2hhbm5lbCYgTWVkaWFQ
bGF5ZXJQcml2YXRlUmVtb3RlOjpsb2dDaGFubmVsKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL01lZGlhUGxheWVyUHJpdmF0
ZVJlbW90ZS5oCmluZGV4IDA0ZWI4ODVhMGNkMGUxZDY3ZjQ5OTNmODY2OWQwZWJiYTRiYWEzMTEu
LmIwMzIxMjViODk2ODkxMzI0YWU2MmQ3OTI3YmI1YjdjMDhkMWU5MGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3Rl
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9NZWRpYVBsYXllclBy
aXZhdGVSZW1vdGUuaApAQCAtNjIsNiArNjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB0aW1lQ2hh
bmdlZChNZWRpYVRpbWUpOwogICAgIHZvaWQgZHVyYXRpb25DaGFuZ2VkKE1lZGlhVGltZSk7CiAg
ICAgdm9pZCByYXRlQ2hhbmdlZChkb3VibGUpOworICAgIHZvaWQgcGxheWJhY2tTdGF0ZUNoYW5n
ZWQoYm9vbCk7CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICBjb25zdCBMb2dnZXIm
IGxvZ2dlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICptX2xvZ2dlcjsgfQpAQCAtNzEsOCArNzIs
OSBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKKyAgICB2b2lkIGxvYWQoY29uc3QgVVJM
JiwgY29uc3QgQ29udGVudFR5cGUmLCBjb25zdCBTdHJpbmcmKSBmaW5hbDsKKyAgICB2b2lkIHBy
ZXBhcmVGb3JQbGF5YmFjayhib29sIHByaXZhdGVNb2RlLCBNZWRpYVBsYXllcjo6UHJlbG9hZCwg
Ym9vbCBwcmVzZXJ2ZXNQaXRjaCwgYm9vbCBwcmVwYXJlKSBmaW5hbDsKIAotICAgIHZvaWQgbG9h
ZChjb25zdCBTdHJpbmcmKSBmaW5hbDsKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKQogICAgIHZv
aWQgbG9hZChjb25zdCBTdHJpbmcmLCBNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQqKSBmaW5hbDsK
ICNlbmRpZgpAQCAtODAsNyArODIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbG9hZChNZWRpYVN0
cmVhbVByaXZhdGUmKSBmaW5hbDsKICNlbmRpZgogICAgIHZvaWQgY2FuY2VsTG9hZCgpIGZpbmFs
OwotICAgIAorCiAgICAgdm9pZCBwcmVwYXJlVG9QbGF5KCkgZmluYWw7CiAgICAgUGxhdGZvcm1M
YXllciogcGxhdGZvcm1MYXllcigpIGNvbnN0IGZpbmFsOwogCkBAIC0xMzUsNyArMTM3LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgc2V0UHJlc2VydmVzUGl0Y2goYm9vbCkgZmluYWw7CiAKLSAg
ICBib29sIHBhdXNlZCgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgcGF1c2VkKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9wYXVzZWQ7IH0KIAogICAgIHZvaWQgc2V0Vm9sdW1lRG91YmxlKGRvdWJs
ZSkgZmluYWw7CiAKQEAgLTI5Nyw5ICsyOTksMTAgQEAgcHJpdmF0ZToKICAgICBNZWRpYVBsYXll
cjo6TmV0d29ya1N0YXRlIG1fbmV0d29ya1N0YXRlIHsgTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0
ZTo6RW1wdHkgfTsKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZSBtX3JlYWR5U3RhdGUgeyBN
ZWRpYVBsYXllcjo6UmVhZHlTdGF0ZTo6SGF2ZU5vdGhpbmcgfTsKICAgICBkb3VibGUgbV92b2x1
bWUgeyAxIH07Ci0gICAgYm9vbCBtX211dGUgeyBmYWxzZSB9OworICAgIGJvb2wgbV9tdXRlZCB7
IGZhbHNlIH07CiAgICAgTWVkaWFUaW1lIG1fZHVyYXRpb247CiAgICAgZG91YmxlIG1fcmF0ZSB7
IDEgfTsKKyAgICBib29sIG1fcGF1c2VkIHsgZmFsc2UgfTsKIAogI2lmICFSRUxFQVNFX0xPR19E
SVNBQkxFRAogICAgIFJlZlB0cjxjb25zdCBMb2dnZXI+IG1fbG9nZ2VyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllck1hbmFnZXIuY3BwCmluZGV4IDVlODU0NmM5NjNkNzQzYzhlNzMyYWQ5NzMzMDc2NzBjNzBj
YWQ1YWYuLjJkNzY4YTdkZjFjNWE1NmY2MDJhYzJjODY0ZDBiOWM4MWY2M2Y2ZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyTWFuYWdlci5jcHAKQEAgLTk1LDEyICs5NSwxMCBAQCBwcml2YXRlOgogUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjpSZW1vdGVNZWRpYVBsYXllck1hbmFnZXIoV2ViUHJvY2Vz
cyYgcHJvY2VzcykKICAgICA6IG1fcHJvY2Vzcyhwcm9jZXNzKQogewotICAgIG1fcHJvY2Vzcy5h
ZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCAqdGhpcyk7CiB9CiAKIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdl
cjo6flJlbW90ZU1lZGlhUGxheWVyTWFuYWdlcigpCiB7Ci0gICAgbV9wcm9jZXNzLnJlbW92ZU1l
c3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6UmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyOjptZXNzYWdl
UmVjZWl2ZXJOYW1lKCkpOwogfQogCiBjb25zdCBjaGFyKiBSZW1vdGVNZWRpYVBsYXllck1hbmFn
ZXI6OnN1cHBsZW1lbnROYW1lKCkKQEAgLTIzMyw2ICsyMzEsMTIgQEAgdm9pZCBSZW1vdGVNZWRp
YVBsYXllck1hbmFnZXI6OnJhdGVDaGFuZ2VkKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVt
b3RlSWRlbnQKICAgICAgICAgcGxheWVyLT5yYXRlQ2hhbmdlZChyYXRlKTsKIH0KIAordm9pZCBS
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXI6OnBsYXliYWNrU3RhdGVDaGFuZ2VkKFdlYktpdDo6TWVk
aWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciBpZCwgYm9vbCBwYXVzZWQpCit7CisgICAg
aWYgKGF1dG8gcGxheWVyID0gbV9wbGF5ZXJzLmdldChpZCkpCisgICAgICAgIHBsYXllci0+cGxh
eWJhY2tTdGF0ZUNoYW5nZWQocGF1c2VkKTsKK30KKwogdm9pZCBSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXI6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFNldHRpbmdzJiBzZXR0aW5ncykKIHsKICAg
ICBhdXRvIHJlZ2lzdGVyRW5naW5lID0gW3RoaXNdKE1lZGlhRW5naW5lUmVnaXN0cmFyIHJlZ2lz
dHJhciwgTWVkaWFQbGF5ZXJFbnVtczo6TWVkaWFFbmdpbmVJZGVudGlmaWVyIHJlbW90ZUVuZ2lu
ZUlkZW50aWZpZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5oCmluZGV4IDA3YjViM2VjNDA5
MmVhOWYxZWIyODFmMzEzNzRlNzI3ZTIyNjQ0MWEuLjc5NGEzOGZlNDNmMzgxODQwNTA2MjhhY2Y1
MTQxZTJmZmE2MGZkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIuaApAQCAtNTYsNiArNTYs
OCBAQCBwdWJsaWM6CiAKICAgICBJUEM6OkNvbm5lY3Rpb24mIGdwdVByb2Nlc3NDb25uZWN0aW9u
KCkgY29uc3Q7CiAKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbVdlYlByb2Nlc3MoSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpIHsgZGlkUmVj
ZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7IH0KKwogICAgIHZvaWQgZGVsZXRlUmVt
b3RlTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllcik7CiAKIHBy
aXZhdGU6CkBAIC03NSw2ICs3Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB0aW1lQ2hhbmdlZChX
ZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIsIE1lZGlhVGltZSYmKTsK
ICAgICB2b2lkIGR1cmF0aW9uQ2hhbmdlZChXZWJLaXQ6Ok1lZGlhUGxheWVyUHJpdmF0ZVJlbW90
ZUlkZW50aWZpZXIsIE1lZGlhVGltZSYmKTsKICAgICB2b2lkIHJhdGVDaGFuZ2VkKFdlYktpdDo6
TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRpZmllciwgZG91YmxlKTsKKyAgICB2b2lkIHBs
YXliYWNrU3RhdGVDaGFuZ2VkKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRp
ZmllciwgYm9vbCk7CiAKICAgICBmcmllbmQgY2xhc3MgTWVkaWFQbGF5ZXJSZW1vdGVGYWN0b3J5
OwogICAgIHZvaWQgZ2V0U3VwcG9ydGVkVHlwZXMoV2ViQ29yZTo6TWVkaWFQbGF5ZXJFbnVtczo6
TWVkaWFFbmdpbmVJZGVudGlmaWVyLCBIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5zaXRp
dmVIYXNoPiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5tZXNzYWdlcy5pbgpp
bmRleCBmYTcxNjI3NWE1NDFkMzI3YjY0OWM3NWU4ZDU0OTYwZmM3OTllNDU2Li4wM2RmMTIyYzgy
OTg5YTAxN2FkY2Y2ZWFmZjFjZDQxOTZiNzk3Njc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlci5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMzIsNiArMzIsNyBAQCBtZXNzYWdlcyAtPiBSZW1v
dGVNZWRpYVBsYXllck1hbmFnZXIgTm90UmVmQ291bnRlZCB7CiAgICAgVGltZUNoYW5nZWQoV2Vi
S2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJZGVudGlmaWVyIGlkLCBNZWRpYVRpbWUgdGlt
ZSkKICAgICBEdXJhdGlvbkNoYW5nZWQoV2ViS2l0OjpNZWRpYVBsYXllclByaXZhdGVSZW1vdGVJ
ZGVudGlmaWVyIGlkLCBNZWRpYVRpbWUgdGltZSkKICAgICBSYXRlQ2hhbmdlZChXZWJLaXQ6Ok1l
ZGlhUGxheWVyUHJpdmF0ZVJlbW90ZUlkZW50aWZpZXIgaWQsIGRvdWJsZSByYXRlKQorICAgIFBs
YXliYWNrU3RhdGVDaGFuZ2VkKFdlYktpdDo6TWVkaWFQbGF5ZXJQcml2YXRlUmVtb3RlSWRlbnRp
ZmllciBpZCwgYm9vbCBwYXVzZWQpCiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>