<?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>272278</bug_id>
          
          <creation_ts>2024-04-06 06:30:15 -0700</creation_ts>
          <short_desc>[RenderTreeBuilder][Cleanup] Make InternalMove internal to RenderTreeBuilder</short_desc>
          <delta_ts>2024-04-06 16:31:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2026507</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2024-04-06 06:30:15 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026508</commentid>
    <comment_count>1</comment_count>
      <attachid>470782</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-04-06 06:43:31 -0700</bug_when>
    <thetext>Created attachment 470782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026539</commentid>
    <comment_count>2</comment_count>
      <attachid>470791</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-04-06 11:18:16 -0700</bug_when>
    <thetext>Created attachment 470791
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026559</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-04-06 16:30:29 -0700</bug_when>
    <thetext>Committed 277167@main (7da867efe0f4): &lt;https://commits.webkit.org/277167@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 470791.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026560</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-04-06 16:31:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/126026717&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470782</attachid>
            <date>2024-04-06 06:43:31 -0700</date>
            <delta_ts>2024-04-06 11:18:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-272278-20240406064330.patch</filename>
            <type>text/plain</type>
            <size>33618</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA1Yjg2OGZhZmQwZjA3YjNhZTI0NGMzZmI5NzliMTZiNzAyMjRhNGYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgNiBBcHIgMjAyNCAwNjozNTo0NSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFtSZW5kZXJU
cmVlQnVpbGRlcl1bQ2xlYW51cF0gTWFrZSBJbnRlcm5hbE1vdmUgaW50ZXJuYWwgdG8KIFJlbmRl
clRyZWVCdWlsZGVyIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzIy
NzgKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKTGVhZiByZW5kZXJlcnMgc2hvdWxkIG5v
dCBiZSBpbnRlcmVzdGVkIGluIGludGVybmFsIHJlc2h1ZmZsZXMgKGUuZy4gY29uc3RydWN0aW5n
L2Ryb3BwaW5nIGFub255bW91cyByZW5kZXJlcnMpLgpDb250YWluZXJzIG1heSBiZSBydW5uaW5n
IHNvbWUgY2xlYW51cHMgdGhvdWdoICh0aGlzIGlzIHdlYmtpdC5vcmcvYi8yMjQxNDMpLgoKSW4g
dGhlIG1lYW50aW1lLCBsZXQncyBtb3ZlIHRoaXMgKGN1cnJlbnRseSB2ZXJ5IGxpbWl0ZWQpIGxv
Z2ljIG92ZXIgdG8gUmVuZGVyVHJlZUJ1aWxkZXIuCgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmNwcDoKKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omluc2VydGVkSW50
b1RyZWUpOgooV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToK
KiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgoqIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHA6CihXZWJDb3JlOjpSZW5k
ZXJGcmFnbWVudENvbnRhaW5lcjo6aW5zZXJ0ZWRJbnRvVHJlZSk6CihXZWJDb3JlOjpSZW5kZXJG
cmFnbWVudENvbnRhaW5lcjo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwOgooV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06Omlu
c2VydGVkSW50b1RyZWUpOiBEZWxldGVkLgooV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06OndpbGxC
ZVJlbW92ZWRGcm9tVHJlZSk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RJdGVtLmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OndpbGxCZVJlbW92
ZWRGcm9tVHJlZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvdy5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgooV2Vi
Q29yZTo6UmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKToKKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0Lmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNw
cDoKKFdlYkNvcmU6OlJlbmRlclF1b3RlOjppbnNlcnRlZEludG9UcmVlKToKKFdlYkNvcmU6OlJl
bmRlclF1b3RlOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJRdW90ZS5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNhcHRpb24uY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVDYXB0aW9uOjppbnNlcnRlZEludG9U
cmVlKToKKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2FwdGlvbjo6d2lsbEJlUmVtb3ZlZEZyb21UcmVl
KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmg6CiogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHA6CihXZWJDb3JlOjpSZW5k
ZXJUYWJsZUNlbGw6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSk6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZUNvbC5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZUNvbDo6aW5zZXJ0ZWRJbnRvVHJl
ZSk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZUNvbDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaDoKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6
OndpbGxCZVJlbW92ZWRGcm9tVHJlZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlUm93Lmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OndpbGxCZVJlbW92ZWRGcm9tVHJl
ZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3Bw
OgooV2ViQ29yZTo6TGVnYWN5UmVuZGVyU1ZHUm9vdDo6aW5zZXJ0ZWRJbnRvVHJlZSk6CihXZWJD
b3JlOjpMZWdhY3lSZW5kZXJTVkdSb290Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuaDoKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgoo
V2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OmF0dGFjaFRvUmVuZGVyRWxlbWVudEludGVybmFs
KToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjptb3ZlKToKKFdlYkNvcmU6OnJlc2V0UmVu
ZGVyZXJTdGF0ZU9uRGV0YWNoKToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpkZXRhY2hG
cm9tUmVuZGVyRWxlbWVudCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyLmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpJ
bmxpbmU6OnNwbGl0SW5saW5lcyk6Ci0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwICAgIHwgIDggKysrLS0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuaCAgICAgIHwgIDQgKystLQogLi4uL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVu
dENvbnRhaW5lci5jcHAgICAgIHwgIDggKysrLS0tLQogLi4uL3JlbmRlcmluZy9SZW5kZXJGcmFn
bWVudENvbnRhaW5lci5oICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RJdGVtLmNwcCAgIHwgMTYgLS0tLS0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmggICAgIHwgIDMgLS0tCiAuLi4vcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uRmxvdy5jcHAgICAgICAgfCAgNCArKy0tCiAuLi4vV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmggfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oICAgICAgIHwgIDUgKystLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclF1b3RlLmNwcCAgICAgIHwgIDggKysrLS0tLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclF1b3RlLmggICAgICAgIHwgIDQgKystLQogLi4uL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5jcHAgIHwgIDggKysrLS0tLQogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5oIHwgIDQgKystLQogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAgIHwgIDQgKystLQogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5jcHAgICB8ICA4ICsrKy0tLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oICAgICB8ICAyICstCiAuLi4vV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcCAgfCAgNCArKy0tCiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmggfCAgMiArLQogLi4uL3N2Zy9sZWdhY3kv
TGVnYWN5UmVuZGVyU1ZHUm9vdC5jcHAgICAgICAgIHwgIDggKysrLS0tLQogLi4uL3N2Zy9sZWdh
Y3kvTGVnYWN5UmVuZGVyU1ZHUm9vdC5oICAgICAgICAgIHwgIDQgKystLQogLi4uL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgIHwgMjMgKysrKysrKysrKystLS0tLS0t
LQogLi4uL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5oICAgIHwgIDUgKyst
LQogLi4uL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcCAgICAgIHwgIDIgKy0K
IDI3IGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDg0IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCBjZDQ2OTRkMGM4
NDMuLmIyNDNmYWI1MzFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcApAQCAtMTA0Nyw3ICsxMDQ3LDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjpzdHlsZURp
ZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFMKICAg
ICB9CiB9CiAKLXZvaWQgUmVuZGVyRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFs
TW92ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJl
ZSgpCiB7CiAgICAgLy8gS2VlcCBvdXIgbGF5ZXIgaGllcmFyY2h5IHVwZGF0ZWQuIE9wdGltaXpl
IGZvciB0aGUgY29tbW9uIGNhc2Ugd2hlcmUgd2UgZG9uJ3QgaGF2ZSBhbnkgY2hpbGRyZW4KICAg
ICAvLyBhbmQgZG9uJ3QgaGF2ZSBhIGxheWVyIGF0dGFjaGVkIHRvIG91cnNlbHZlcy4KQEAgLTEw
NjMsMTAgKzEwNjMsMTAgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKElz
SW50ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQogICAgICAgICAgICAgcGFyZW50TGF5ZXItPmRp
cnR5VmlzaWJsZUNvbnRlbnRTdGF0dXMoKTsKICAgICB9CiAKLSAgICBSZW5kZXJPYmplY3Q6Omlu
c2VydGVkSW50b1RyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlck9iamVjdDo6aW5zZXJ0
ZWRJbnRvVHJlZSgpOwogfQogCi12b2lkIFJlbmRlckVsZW1lbnQ6OndpbGxCZVJlbW92ZWRGcm9t
VHJlZShJc0ludGVybmFsTW92ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyRWxlbWVudDo6
d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKICAgICAvLyBJZiB3ZSByZW1vdmUgYSB2aXNpYmxl
IGNoaWxkIGZyb20gYW4gaW52aXNpYmxlIHBhcmVudCwgd2UgZG9uJ3Qga25vdyB0aGUgbGF5ZXIg
dmlzaWJpbGl0eSBhbnkgbW9yZS4KICAgICBpZiAocGFyZW50KCktPnN0eWxlKCkudXNlZFZpc2li
aWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmIHN0eWxlKCkudXNlZFZpc2liaWxpdHko
KSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmICFoYXNMYXllcigpKSB7CkBAIC0xMDgxLDcgKzEw
ODEsNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVy
bmFsTW92ZSBpc0ludGVybmFsTW92ZSkKICAgICBpZiAoaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkg
JiYgcGFyZW50KCktPmNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgIGNoZWNrZWRQYXJlbnQoKS0+
ZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoKnRoaXMpOwogCi0gICAgUmVuZGVyT2JqZWN0Ojp3
aWxsQmVSZW1vdmVkRnJvbVRyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlck9iamVjdDo6
d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7CiB9CiAKIGlubGluZSB2b2lkIFJlbmRlckVsZW1lbnQ6
OmNsZWFyU3VidHJlZUxheW91dFJvb3RJZk5lZWRlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCA3MTQ2NDA3N2I5OWMuLmE4YzgwYzVjNDcyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0zMDgsOCArMzA4
LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bGUpOwogICAgIHZpcnR1YWwgdm9p
ZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSk7CiAKLSAgICB2b2lkIGluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJy
aWRlOwotICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlKSBvdmVy
cmlkZTsKKyAgICB2b2lkIGluc2VydGVkSW50b1RyZWUoKSBvdmVycmlkZTsKKyAgICB2b2lkIHdp
bGxCZVJlbW92ZWRGcm9tVHJlZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgd2lsbEJlRGVzdHJveWVk
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYsIGNv
bnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAppbmRleCA1NmI0YzA3
YmQzNGUuLjE3MjdhZGVkNTNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCkBAIC0zNTgsMTYgKzM1OCwxNiBAQCBMYXlv
dXRVbml0IFJlbmRlckZyYWdtZW50Q29udGFpbmVyOjpsb2dpY2FsQm90dG9tT2ZGcmFnbWVudGVk
Rmxvd0NvbnRlbnRSZWN0KGNvbgogICAgIHJldHVybiBmcmFnbWVudGVkRmxvdygpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gcmVjdC5tYXhZKCkgOiByZWN0Lm1heFgoKTsKIH0KIAotdm9p
ZCBSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92
ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Omluc2VydGVk
SW50b1RyZWUoKQogewogICAgIGF0dGFjaEZyYWdtZW50KCk7CiAgICAgaWYgKGlzVmFsaWQoKSkK
LSAgICAgICAgUmVuZGVyQmxvY2tGbG93OjppbnNlcnRlZEludG9UcmVlKGlzSW50ZXJuYWxNb3Zl
KTsKKyAgICAgICAgUmVuZGVyQmxvY2tGbG93OjppbnNlcnRlZEludG9UcmVlKCk7CiB9CiAKLXZv
aWQgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVy
bmFsTW92ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Ondp
bGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVyQmxvY2tGbG93Ojp3aWxsQmVSZW1v
dmVkRnJvbVRyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlckJsb2NrRmxvdzo6d2lsbEJl
UmVtb3ZlZEZyb21UcmVlKCk7CiAKICAgICBkZXRhY2hGcmFnbWVudCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaAppbmRleCA0
OWM2Mjg5NTU1NzcuLmQzN2EzZmU5ZmFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmgKQEAgLTEzNiw4ICsxMzYsOCBAQCBwcm90
ZWN0ZWQ6CiBwcml2YXRlOgogICAgIEFTQ0lJTGl0ZXJhbCByZW5kZXJOYW1lKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gIlJlbmRlckZyYWdtZW50Q29udGFpbmVyIl9zOyB9CiAKLSAgICB2b2lk
IGluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJyaWRlOwotICAgIHZvaWQgd2ls
bEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlKSBvdmVycmlkZTsKKyAgICB2b2lkIGlu
c2VydGVkSW50b1RyZWUoKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJl
ZSgpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGluc3RhbGxGcmFnbWVudGVkRmxvdygp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAppbmRleCAw
ZGZmNjQzNTk0YWUuLjBkMjU0NTIzMzY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEl0ZW0uY3BwCkBAIC04OCwyMiArODgsNiBAQCBSZW5kZXJTdHlsZSBSZW5kZXJM
aXN0SXRlbTo6Y29tcHV0ZU1hcmtlclN0eWxlKCkgY29uc3QKICAgICByZXR1cm4gbWFya2VyU3R5
bGU7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEl0ZW06Omluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5h
bE1vdmUgaXNJbnRlcm5hbE1vdmUpCi17Ci0gICAgUmVuZGVyQmxvY2tGbG93OjppbnNlcnRlZElu
dG9UcmVlKGlzSW50ZXJuYWxNb3ZlKTsKLQotICAgIGlmIChpc0ludGVybmFsTW92ZSA9PSBJc0lu
dGVybmFsTW92ZTo6Tm8pCi0gICAgICAgIHVwZGF0ZUxpc3RNYXJrZXJOdW1iZXJzKCk7Ci19Ci0K
LXZvaWQgUmVuZGVyTGlzdEl0ZW06OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFsTW92
ZSBpc0ludGVybmFsTW92ZSkKLXsKLSAgICBSZW5kZXJCbG9ja0Zsb3c6OndpbGxCZVJlbW92ZWRG
cm9tVHJlZShpc0ludGVybmFsTW92ZSk7Ci0KLSAgICBpZiAoaXNJbnRlcm5hbE1vdmUgPT0gSXNJ
bnRlcm5hbE1vdmU6Ok5vKQotICAgICAgICB1cGRhdGVMaXN0TWFya2VyTnVtYmVycygpOwotfQot
CiBib29sIGlzSFRNTExpc3RFbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUpCiB7CiAgICAgcmV0dXJu
IGlzPEhUTUxVTGlzdEVsZW1lbnQ+KG5vZGUpIHx8IGlzPEhUTUxPTGlzdEVsZW1lbnQ+KG5vZGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaAppbmRleCA5NmQ5OTVh
MGExZmIuLmRiZWUyNWNlYmQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RJdGVtLmgKQEAgLTYxLDkgKzYxLDYgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBBU0NJSUxp
dGVyYWwgcmVuZGVyTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZW5kZXJMaXN0SXRlbSJf
czsgfQogICAgIAotICAgIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92ZSkgZmlu
YWw7Ci0gICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUpIGZpbmFs
OwotCiAgICAgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIGZpbmFs
OwogCiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKiBvbGRTdHlsZSkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCmluZGV4IGU5ZGI1ZTY1YzBkNS4uZjdkMjVkYWIw
ZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5GbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5GbG93LmNwcApAQCAtMTQzLDE0ICsxNDMsMTQgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZs
b3c6OmFkZEZyYWdtZW50VG9UaHJlYWQoUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIGZyYWdtZW4K
ICAgICBmcmFnbWVudENvbnRhaW5lci0+c2V0SXNWYWxpZCh0cnVlKTsKIH0KIAotdm9pZCBSZW5k
ZXJNdWx0aUNvbHVtbkZsb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFsTW92ZSBp
c0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp3aWxsQmVSZW1vdmVk
RnJvbVRyZWUoKQogewogICAgIC8vIERldGFjaCBhbGwgY29sdW1uIHNldHMgZnJvbSB0aGUgZmxv
dyB0aHJlYWQuIENhbm5vdCBkZXN0cm95IHRoZW0gYXQgdGhpcyBwb2ludCwgc2luY2UgdGhleQog
ICAgIC8vIGFyZSBzaWJsaW5ncyBvZiB0aGlzIG9iamVjdCwgYW5kIHRoZXJlIG1heSBiZSBwb2lu
dGVycyB0byB0aGlzIG9iamVjdCdzIHNpYmxpbmcgc29tZXdoZXJlCiAgICAgLy8gZnVydGhlciB1
cCBvbiB0aGUgY2FsbCBzdGFjay4KICAgICBmb3IgKFJlbmRlck11bHRpQ29sdW1uU2V0KiBjb2x1
bW5TZXQgPSBmaXJzdE11bHRpQ29sdW1uU2V0KCk7IGNvbHVtblNldDsgY29sdW1uU2V0ID0gY29s
dW1uU2V0LT5uZXh0U2libGluZ011bHRpQ29sdW1uU2V0KCkpCiAgICAgICAgIGNvbHVtblNldC0+
ZGV0YWNoRnJhZ21lbnQoKTsKLSAgICBSZW5kZXJGcmFnbWVudGVkRmxvdzo6d2lsbEJlUmVtb3Zl
ZEZyb21UcmVlKGlzSW50ZXJuYWxNb3ZlKTsKKyAgICBSZW5kZXJGcmFnbWVudGVkRmxvdzo6d2ls
bEJlUmVtb3ZlZEZyb21UcmVlKCk7CiB9CiAKIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojpm
cmFnbWVudGVkRmxvd0Rlc2NlbmRhbnRCb3hMYWlkT3V0KFJlbmRlckJveCogZGVzY2VuZGFudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaApp
bmRleCBhNmFhZDZjMTg5MjguLmU0ZmIzMTI2MDRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgQVNDSUlMaXRlcmFsIHJlbmRlck5hbWUoKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIGFkZEZyYWdtZW50VG9UaHJlYWQoUmVuZGVyRnJhZ21lbnRDb250YWlu
ZXIqKSBvdmVycmlkZTsKLSAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFs
TW92ZSkgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKSBvdmVycmlk
ZTsKICAgICB2b2lkIGZyYWdtZW50ZWRGbG93RGVzY2VuZGFudEJveExhaWRPdXQoUmVuZGVyQm94
Kikgb3ZlcnJpZGU7CiAgICAgTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzIGNvbXB1dGVMb2dp
Y2FsSGVpZ2h0KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgTGF5b3V0VW5pdCBsb2dpY2FsVG9w
KSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IGluaXRpYWxMb2dpY2FsV2lkdGgoKSBj
b25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
aW5kZXggMjMzOGU3YTkwNzk3Li41NWMxMzkwN2ZkODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xNzg5LDcgKzE3ODksNyBAQCBzdGF0aWMgdm9pZCBp
bnZhbGlkYXRlTGluZUxheW91dEFmdGVyVHJlZU11dGF0aW9uSWZOZWVkZWQoUmVuZGVyT2JqZWN0
JiByZW5kZXJlcgogICAgICAgICBjb250YWluZXItPmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aCgp
OwogfQogCi12b2lkIFJlbmRlck9iamVjdDo6aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92
ZSkKK3ZvaWQgUmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKCkKIHsKICAgICBpbnZhbGlk
YXRlTGluZUxheW91dEFmdGVyVHJlZU11dGF0aW9uSWZOZWVkZWQoKnRoaXMsIElzUmVtb3ZhbDo6
Tm8pOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgQVNTRVJUKGlzUm9vdGVkKCkpIGhlcmUgYnV0
IGdlbmVyYXRlZCBjb250ZW50IG1ha2VzIHNvbWUgb3V0LW9mLW9yZGVyIGluc2VydGlvbi4KQEAg
LTE3OTcsNyArMTc5Nyw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKElz
SW50ZXJuYWxNb3ZlKQogICAgICAgICBjaGVja2VkUGFyZW50KCktPmRpcnR5TGluZXNGcm9tQ2hh
bmdlZENoaWxkKCp0aGlzKTsKIH0KIAotdm9pZCBSZW5kZXJPYmplY3Q6OndpbGxCZVJlbW92ZWRG
cm9tVHJlZShJc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyT2JqZWN0Ojp3aWxsQmVSZW1vdmVk
RnJvbVRyZWUoKQogewogICAgIGludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJUcmVlTXV0YXRpb25J
Zk5lZWRlZCgqdGhpcywgSXNSZW1vdmFsOjpZZXMpOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
QVNTRVJUKGlzUm9vdGVkKCkpIGJ1dCB3ZSBoYXZlIHNvbWUgb3V0LW9mLW9yZGVyIHJlbW92YWxz
IHdoaWNoIHdvdWxkIG5lZWQgdG8gYmUgZml4ZWQgZmlyc3QuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggMjYxYWU3YzVhYWM0Li45MGQyMGVlZjEzOGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTExMDYsOSArMTEwNiw4IEBA
IHB1YmxpYzoKICAgICBMYXlvdXRSZWN0IGFic29sdXRlT3V0bGluZUJvdW5kcygpIGNvbnN0IHsg
cmV0dXJuIG91dGxpbmVCb3VuZHNGb3JSZXBhaW50KG51bGxwdHIpOyB9CiAKICAgICAvLyBGSVhN
RTogUmVuZGVyZXJzIHNob3VsZCBub3QgbmVlZCB0byBiZSBub3RpZmllZCBhYm91dCBpbnRlcm5h
bCByZXBhcmVudGluZyAod2Via2l0Lm9yZy9iLzIyNDE0MykuCi0gICAgZW51bSBjbGFzcyBJc0lu
dGVybmFsTW92ZSA6IGJvb2wgeyBObywgWWVzIH07Ci0gICAgdmlydHVhbCB2b2lkIGluc2VydGVk
SW50b1RyZWUoSXNJbnRlcm5hbE1vdmUgPSBJc0ludGVybmFsTW92ZTo6Tm8pOwotICAgIHZpcnR1
YWwgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUgPSBJc0ludGVybmFs
TW92ZTo6Tm8pOworICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9UcmVlKCk7CisgICAgdmly
dHVhbCB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOwogCiAgICAgdm9pZCByZXNldEZyYWdt
ZW50ZWRGbG93U3RhdGVPblJlbW92YWwoKTsKICAgICB2b2lkIGluaXRpYWxpemVGcmFnbWVudGVk
Rmxvd1N0YXRlT25JbnNlcnRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJRdW90ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVv
dGUuY3BwCmluZGV4IGU1ZWE3MzFlNjdlNy4uYjBjZWM4ZjQ0MzJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAKQEAgLTQ5LDE2ICs0OSwxNiBAQCBSZW5kZXJRdW90
ZTo6flJlbmRlclF1b3RlKCkKICAgICAvLyBEbyBub3QgYWRkIGFueSBjb2RlIGhlcmUuIEFkZCBp
dCB0byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFkLgogfQogCi12b2lkIFJlbmRlclF1b3RlOjpp
bnNlcnRlZEludG9UcmVlKElzSW50ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5k
ZXJRdW90ZTo6aW5zZXJ0ZWRJbnRvVHJlZSgpCiB7Ci0gICAgUmVuZGVySW5saW5lOjppbnNlcnRl
ZEludG9UcmVlKGlzSW50ZXJuYWxNb3ZlKTsKKyAgICBSZW5kZXJJbmxpbmU6Omluc2VydGVkSW50
b1RyZWUoKTsKICAgICB2aWV3KCkuc2V0SGFzUXVvdGVzTmVlZGluZ1VwZGF0ZSh0cnVlKTsKIH0K
IAotdm9pZCBSZW5kZXJRdW90ZTo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3Zl
IGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5kZXJRdW90ZTo6d2lsbEJlUmVtb3ZlZEZyb21UcmVl
KCkKIHsKICAgICB2aWV3KCkuc2V0SGFzUXVvdGVzTmVlZGluZ1VwZGF0ZSh0cnVlKTsKLSAgICBS
ZW5kZXJJbmxpbmU6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7CisgICAg
UmVuZGVySW5saW5lOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKIH0KIAogdm9pZCBSZW5kZXJR
dW90ZTo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0
eWxlKiBvbGRTdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJRdW90ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKaW5kZXgg
ZGYwODljMzcxMGNmLi4yMjU5MmYwMjJhYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJRdW90ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJRdW90ZS5oCkBAIC0zOCw4ICszOCw4IEBAIHByaXZhdGU6CiAgICAgQVNDSUlMaXRlcmFsIHJl
bmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyUXVvdGUiX3M7IH0KICAg
ICBib29sIGlzT3BlbigpIGNvbnN0OwogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZm
ZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSopIG92ZXJyaWRlOwotICAgIHZvaWQgaW5zZXJ0ZWRJ
bnRvVHJlZShJc0ludGVybmFsTW92ZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3aWxsQmVSZW1vdmVk
RnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJyaWRlOworICAgIHZvaWQgaW5zZXJ0ZWRJbnRv
VHJlZSgpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkgb3ZlcnJp
ZGU7CiAKICAgICBTdHJpbmcgY29tcHV0ZVRleHQoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRl
eHRSZW5kZXJlcihSZW5kZXJUcmVlQnVpbGRlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmNwcAppbmRleCBkOTQxNjhhMjcxYjMuLjdiNDM0YzFh
MGYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2Fw
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlv
bi5jcHAKQEAgLTM3LDE1ICszNywxNSBAQCBSZW5kZXJUYWJsZUNhcHRpb246OlJlbmRlclRhYmxl
Q2FwdGlvbihFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogCiBSZW5kZXJU
YWJsZUNhcHRpb246On5SZW5kZXJUYWJsZUNhcHRpb24oKSA9IGRlZmF1bHQ7CiAKLXZvaWQgUmVu
ZGVyVGFibGVDYXB0aW9uOjppbnNlcnRlZEludG9UcmVlKElzSW50ZXJuYWxNb3ZlIGlzSW50ZXJu
YWxNb3ZlKQordm9pZCBSZW5kZXJUYWJsZUNhcHRpb246Omluc2VydGVkSW50b1RyZWUoKQogewot
ICAgIFJlbmRlckJsb2NrRmxvdzo6aW5zZXJ0ZWRJbnRvVHJlZShpc0ludGVybmFsTW92ZSk7Cisg
ICAgUmVuZGVyQmxvY2tGbG93OjppbnNlcnRlZEludG9UcmVlKCk7CiAgICAgdGFibGUoKS0+YWRk
Q2FwdGlvbigqdGhpcyk7CiB9CiAKLXZvaWQgUmVuZGVyVGFibGVDYXB0aW9uOjp3aWxsQmVSZW1v
dmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUgaXNJbnRlcm5hbE1vdmUpCit2b2lkIFJlbmRlclRh
YmxlQ2FwdGlvbjo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCbG9ja0Zs
b3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7CisgICAgUmVuZGVyQmxv
Y2tGbG93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKICAgICB0YWJsZSgpLT5yZW1vdmVDYXB0
aW9uKCp0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2FwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q2FwdGlvbi5oCmluZGV4IDRmMjAzMmFjY2M1ZS4uZjkyZDc5Mzg5ZDE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5oCkBAIC0zNCw4ICszNCw4IEBA
IHB1YmxpYzoKICAgICBFbGVtZW50JiBlbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8
RWxlbWVudD4obm9kZUZvck5vbkFub255bW91cygpKTsgfQogCiBwcml2YXRlOgotICAgIHZvaWQg
aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92ZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3aWxs
QmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJyaWRlOworICAgIHZvaWQgaW5z
ZXJ0ZWRJbnRvVHJlZSgpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVl
KCkgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhG
b3JDb250ZW50KCkgY29uc3QgZmluYWw7CiAKICAgICBSZW5kZXJUYWJsZSogdGFibGUoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKaW5kZXgg
ZWMxMzIxOTJmNjdjLi5lNzBmMzI2OWU2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuY3BwCkBAIC05OCw5ICs5OCw5IEBAIFJlbmRlclRhYmxlQ2VsbDo6
UmVuZGVyVGFibGVDZWxsKERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkK
ICAgICBBU1NFUlQoaXNSZW5kZXJUYWJsZUNlbGwoKSk7CiB9CiAKLXZvaWQgUmVuZGVyVGFibGVD
ZWxsOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUgaXNJbnRlcm5hbE1vdmUp
Cit2b2lkIFJlbmRlclRhYmxlQ2VsbDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBS
ZW5kZXJCbG9ja0Zsb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7Cisg
ICAgUmVuZGVyQmxvY2tGbG93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKICAgICBpZiAoIXRh
YmxlKCkgfHwgIXNlY3Rpb24oKSkKICAgICAgICAgcmV0dXJuOwogICAgIFJlbmRlclRhYmxlU2Vj
dGlvbiogc2VjdGlvbiA9IHRoaXMtPnNlY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuaAppbmRleCBjYWVlMjA2NzgyZTUuLjJiZTFiY2JiZGI3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaApAQCAtMTQ0LDcgKzE0
NCw3IEBAIHByaXZhdGU6CiAKICAgICBBU0NJSUxpdGVyYWwgcmVuZGVyTmFtZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIChpc0Fub255bW91cygpIHx8IGlzUHNldWRvRWxlbWVudCgpKSA/ICJS
ZW5kZXJUYWJsZUNlbGwgKGFub255bW91cykiX3MgOiAiUmVuZGVyVGFibGVDZWxsIl9zOyB9CiAK
LSAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFsTW92ZSkgb3ZlcnJpZGU7
CisgICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKSBvdmVycmlkZTsKIAogICAgIHZvaWQg
dXBkYXRlTG9naWNhbFdpZHRoKCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVDb2wuY3BwCmluZGV4IDc0N2NiMDI0NDE2Yi4uZWFmMzg5OWY2YWViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5jcHAKQEAgLTEwNCwx
NSArMTA0LDE1IEBAIHZvaWQgUmVuZGVyVGFibGVDb2w6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAg
ICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiB9CiAKLXZvaWQgUmVu
ZGVyVGFibGVDb2w6Omluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5hbE1vdmUgaXNJbnRlcm5hbE1v
dmUpCit2b2lkIFJlbmRlclRhYmxlQ29sOjppbnNlcnRlZEludG9UcmVlKCkKIHsKLSAgICBSZW5k
ZXJCb3g6Omluc2VydGVkSW50b1RyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlckJveDo6
aW5zZXJ0ZWRJbnRvVHJlZSgpOwogICAgIHRhYmxlKCktPmFkZENvbHVtbih0aGlzKTsKIH0KIAot
dm9pZCBSZW5kZXJUYWJsZUNvbDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3Zl
IGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5kZXJUYWJsZUNvbDo6d2lsbEJlUmVtb3ZlZEZyb21U
cmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFs
TW92ZSk7CisgICAgUmVuZGVyQm94Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKICAgICBpZiAo
YXV0byogdGFibGUgPSB0aGlzLT50YWJsZSgpKSB7CiAgICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0
byBpbnZhbGlkYXRlIHRoZSBjb2x1bW4gY2FjaGUgd2hlbiBvbmx5IGluZGl2aWR1YWwgY29sdW1u
cyBhcmUgYmVpbmcgcmVtb3ZlZCAoYXMgb3Bwb3NlZCB0byB3aGVuIHRoZSBlbnRpcmUgdGFibGUg
aXMgYmVpbmcgY29sbGFwc2VkKS4KICAgICAgICAgdGFibGUtPmludmFsaWRhdGVDb2x1bW5zKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oCmluZGV4IGY3M2M0ZWEz
ZTU4ZC4uODcwM2ZiZjdjNzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDb2wuaApAQCAtNjksOCArNjksOCBAQCBwcml2YXRlOgogICAgIEFTQ0lJTGl0ZXJhbCByZW5k
ZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlclRhYmxlQ29sIl9zOyB9CiAg
ICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIG92ZXJyaWRlIHsgQVNTRVJU
X05PVF9SRUFDSEVEKCk7IH0KIAotICAgIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFs
TW92ZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5h
bE1vdmUpIG92ZXJyaWRlOworICAgIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZSgpIG92ZXJyaWRlOwor
ICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkgb3ZlcnJpZGU7CiAKICAgICBib29sIGlz
Q2hpbGRBbGxvd2VkKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFJlbmRlclN0eWxlJikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCmluZGV4IDA1NGJi
M2Q3NjFiNS4uY2FhNTA4OWYyMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5jcHAKQEAgLTYzLDkgKzYzLDkgQEAgUmVuZGVyVGFibGVSb3c6OlJlbmRlclRh
YmxlUm93KERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICBBU1NF
UlQoaXNSZW5kZXJUYWJsZVJvdygpKTsKIH0KIAotdm9pZCBSZW5kZXJUYWJsZVJvdzo6d2lsbEJl
UmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5k
ZXJUYWJsZVJvdzo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6Ondp
bGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7CisgICAgUmVuZGVyQm94Ojp3aWxs
QmVSZW1vdmVkRnJvbVRyZWUoKTsKIAogICAgIHNlY3Rpb24oKS0+c2V0TmVlZHNDZWxsUmVjYWxj
KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVS
b3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCmluZGV4IGQ1
MDUzOGE4ZDhiYy4uMzJmMmY2MmU0ODcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVSb3cuaApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgQVNDSUlMaXRl
cmFsIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAoaXNBbm9ueW1vdXMoKSB8
fCBpc1BzZXVkb0VsZW1lbnQoKSkgPyAiUmVuZGVyVGFibGVSb3cgKGFub255bW91cykiX3MgOiAi
UmVuZGVyVGFibGVSb3ciX3M7IH0KICAgICBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZShJ
c0ludGVybmFsTW92ZSkgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUo
KSBvdmVycmlkZTsKICAgICB2b2lkIGxheW91dCgpIG92ZXJyaWRlOwogCiAgICAgTGF5b3V0UmVj
dCBjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCmluZGV4IGQ0OTk2
MjYwMzViMS4uOGZmNmE5M2UyMjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVTZWN0aW9uLmNwcApAQCAtMTE3LDkgKzExNyw5IEBAIHZvaWQgUmVuZGVyVGFi
bGVTZWN0aW9uOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVu
ZGVyU3R5bGUqCiAgICAgICAgIHRhYmxlLT5pbnZhbGlkYXRlQ29sbGFwc2VkQm9yZGVycygpOwog
fQogCi12b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50
ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OndpbGxC
ZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVyQm94Ojp3aWxsQmVSZW1vdmVkRnJvbVRy
ZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlckJveDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVl
KCk7CiAKICAgICAvLyBQcmV2ZW50aXZlbHkgaW52YWxpZGF0ZSBvdXIgY2VsbHMgYXMgd2UgbWF5
IGJlIHJlLWluc2VydGVkIGludG8KICAgICAvLyBhIG5ldyB0YWJsZSB3aGljaCB3b3VsZCByZXF1
aXJlIHVzIHRvIHJlYnVpbGQgb3VyIHN0cnVjdHVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAppbmRleCAyNDlmMzI3N2E5ZWUuLmQ5M2RlNDUyNGY4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaApA
QCAtMTY1LDcgKzE2NSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGNhbkhhdmVDaGlsZHJlbigp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIHZvaWQgd2lsbEJlUmVtb3Zl
ZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbGxCZVJlbW92
ZWRGcm9tVHJlZSgpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9sZWdhY3kvTGVnYWN5UmVu
ZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2FjeS9MZWdh
Y3lSZW5kZXJTVkdSb290LmNwcAppbmRleCA1MTdiM2NiMjU1Y2UuLmYzNTA2NjY0ZmNkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9sZWdhY3kvTGVnYWN5UmVuZGVy
U1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9sZWdhY3kvTGVn
YWN5UmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTMyNSwxNiArMzI1LDE2IEBAIHZvaWQgTGVnYWN5UmVu
ZGVyU1ZHUm9vdDo6d2lsbEJlRGVzdHJveWVkKCkKICAgICBSZW5kZXJSZXBsYWNlZDo6d2lsbEJl
RGVzdHJveWVkKCk7CiB9CiAKLXZvaWQgTGVnYWN5UmVuZGVyU1ZHUm9vdDo6aW5zZXJ0ZWRJbnRv
VHJlZShJc0ludGVybmFsTW92ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgTGVnYWN5UmVuZGVyU1ZH
Um9vdDo6aW5zZXJ0ZWRJbnRvVHJlZSgpCiB7Ci0gICAgUmVuZGVyUmVwbGFjZWQ6Omluc2VydGVk
SW50b1RyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlclJlcGxhY2VkOjppbnNlcnRlZElu
dG9UcmVlKCk7CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVlKCp0
aGlzKTsKIH0KIAotdm9pZCBMZWdhY3lSZW5kZXJTVkdSb290Ojp3aWxsQmVSZW1vdmVkRnJvbVRy
ZWUoSXNJbnRlcm5hbE1vdmUgaXNJbnRlcm5hbE1vdmUpCit2b2lkIExlZ2FjeVJlbmRlclNWR1Jv
b3Q6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNs
aWVudFdpbGxCZVJlbW92ZWRGcm9tVHJlZSgqdGhpcyk7Ci0gICAgUmVuZGVyUmVwbGFjZWQ6Ondp
bGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7CisgICAgUmVuZGVyUmVwbGFjZWQ6
OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOwogfQogCiB2b2lkIExlZ2FjeVJlbmRlclNWR1Jvb3Q6
OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSog
b2xkU3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2Fj
eS9MZWdhY3lSZW5kZXJTVkdSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xl
Z2FjeS9MZWdhY3lSZW5kZXJTVkdSb290LmgKaW5kZXggMjU1ZDMyNjYyMGM5Li42NDNmMWQ3OTZi
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xlZ2Fj
eVJlbmRlclNWR1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2Fj
eS9MZWdhY3lSZW5kZXJTVkdSb290LmgKQEAgLTc4LDggKzc4LDggQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGluc2VydGVkSW50
b1RyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJyaWRlOwotICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZy
b21UcmVlKElzSW50ZXJuYWxNb3ZlKSBvdmVycmlkZTsKKyAgICB2b2lkIGluc2VydGVkSW50b1Ry
ZWUoKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZSgpIG92ZXJyaWRl
OwogCiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDMzM2FmMTgx
MzE3NS4uMThmYTJjNGFmMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKQEAgLTM5NSw3ICszOTUsNyBAQCB2
b2lkIFJlbmRlclRyZWVCdWlsZGVyOjphdHRhY2hUb1JlbmRlckVsZW1lbnQoUmVuZGVyRWxlbWVu
dCYgcGFyZW50LCBSZW5kZXJQdHI8UgogICAgIHBhcmVudC5kaWRBdHRhY2hDaGlsZChuZXdDaGls
ZCwgYmVmb3JlQ2hpbGQpOwogfQogCi12b2lkIFJlbmRlclRyZWVCdWlsZGVyOjphdHRhY2hUb1Jl
bmRlckVsZW1lbnRJbnRlcm5hbChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5k
ZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBSZW5kZXJPYmplY3Q6
OklzSW50ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6
YXR0YWNoVG9SZW5kZXJFbGVtZW50SW50ZXJuYWwoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5k
ZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKIHsK
ICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NBR0UoIXBhcmVudC52aWV3KCkuZnJhbWVWaWV3
KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCksICJMYXlvdXQgbXVzdCBub3QgbXV0YXRl
IHJlbmRlciB0cmVlIik7CiAgICAgQVNTRVJUKHBhcmVudC5jYW5IYXZlQ2hpbGRyZW4oKSB8fCBw
YXJlbnQuY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkpOwpAQCAtNDExLDE0ICs0MTEsMTYgQEAg
dm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6YXR0YWNoVG9SZW5kZXJFbGVtZW50SW50ZXJuYWwoUmVu
ZGVyRWxlbWVudCYgcGFyZW50LCBSZW4KICAgICAvLyBUYWtlIHRoZSBvd25lcnNoaXAuCiAgICAg
YXV0byogbmV3Q2hpbGQgPSBwYXJlbnQuYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChXVEZNb3ZlKGNo
aWxkKSwgYmVmb3JlQ2hpbGQpOwogCi0gICAgaWYgKG1faW50ZXJuYWxNb3Zlc1R5cGUgPT0gUmVu
ZGVyT2JqZWN0OjpJc0ludGVybmFsTW92ZTo6Tm8pCisgICAgaWYgKG1faW50ZXJuYWxNb3Zlc1R5
cGUgPT0gSXNJbnRlcm5hbE1vdmU6Ok5vKQogICAgICAgICBuZXdDaGlsZC0+aW5pdGlhbGl6ZUZy
YWdtZW50ZWRGbG93U3RhdGVPbkluc2VydGlvbigpOwogICAgIGlmICghcGFyZW50LnJlbmRlclRy
ZWVCZWluZ0Rlc3Ryb3llZCgpKSB7Ci0gICAgICAgIG5ld0NoaWxkLT5pbnNlcnRlZEludG9UcmVl
KGlzSW50ZXJuYWxNb3ZlKTsKKyAgICAgICAgbmV3Q2hpbGQtPmluc2VydGVkSW50b1RyZWUoKTsK
IAotICAgICAgICBpZiAobV9pbnRlcm5hbE1vdmVzVHlwZSA9PSBSZW5kZXJPYmplY3Q6OklzSW50
ZXJuYWxNb3ZlOjpObykgeworICAgICAgICBpZiAobV9pbnRlcm5hbE1vdmVzVHlwZSA9PSBJc0lu
dGVybmFsTW92ZTo6Tm8pIHsKICAgICAgICAgICAgIGlmIChDaGVja2VkUHRyIGZyYWdtZW50ZWRG
bG93ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlck11bHRpQ29sdW1uRmxvdz4obmV3Q2hpbGQtPmVu
Y2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkpKQogICAgICAgICAgICAgICAgIG11bHRpQ29sdW1uQnVp
bGRlcigpLm11bHRpQ29sdW1uRGVzY2VuZGFudEluc2VydGVkKCpmcmFnbWVudGVkRmxvdywgKm5l
d0NoaWxkKTsKKyAgICAgICAgICAgIGlmIChDaGVja2VkUHRyIGxpc3RJdGVtUmVuZGVyZXIgPSBk
eW5hbWljRG93bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KCpuZXdDaGlsZCkpCisgICAgICAgICAgICAg
ICAgbGlzdEl0ZW1SZW5kZXJlci0+dXBkYXRlTGlzdE1hcmtlck51bWJlcnMoKTsKICAgICAgICAg
fQogICAgIH0KIApAQCAtNDQ5LDcgKzQ1MSw3IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Om1v
dmUoUmVuZGVyQm94TW9kZWxPYmplY3QmIGZyb20sIFJlbmRlckJveE1vZGVsT2JqZWN0JiB0CiAg
ICAgICAgIGF1dG8gY2hpbGRUb01vdmUgPSBkZXRhY2hGcm9tUmVuZGVyRWxlbWVudChmcm9tLCBj
aGlsZCwgV2lsbEJlRGVzdHJveWVkOjpObyk7CiAgICAgICAgIGF0dGFjaCh0bywgV1RGTW92ZShj
aGlsZFRvTW92ZSksIGJlZm9yZUNoaWxkKTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIGlu
dGVybmFsTW92ZVNjb3BlID0gU2V0Rm9yU2NvcGUgeyBtX2ludGVybmFsTW92ZXNUeXBlLCBSZW5k
ZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlOjpZZXMgfTsKKyAgICAgICAgYXV0byBpbnRlcm5hbE1v
dmVTY29wZSA9IFNldEZvclNjb3BlIHsgbV9pbnRlcm5hbE1vdmVzVHlwZSwgSXNJbnRlcm5hbE1v
dmU6OlllcyB9OwogICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gZGV0YWNoRnJvbVJlbmRlckVs
ZW1lbnQoZnJvbSwgY2hpbGQsIFdpbGxCZURlc3Ryb3llZDo6Tm8pOwogICAgICAgICBhdHRhY2hU
b1JlbmRlckVsZW1lbnRJbnRlcm5hbCh0bywgV1RGTW92ZShjaGlsZFRvTW92ZSksIGJlZm9yZUNo
aWxkKTsKICAgICB9CkBAIC05MDMsNyArOTA1LDcgQEAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4g
UmVuZGVyVHJlZUJ1aWxkZXI6OmRldGFjaEZyb21SZW5kZXJHcmlkKFJlbmRlckdyaWQmIHBhcmUK
ICAgICByZXR1cm4gdGFrZW5DaGlsZDsKIH0KIAotc3RhdGljIHZvaWQgcmVzZXRSZW5kZXJlclN0
YXRlT25EZXRhY2goUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWxkLCBS
ZW5kZXJUcmVlQnVpbGRlcjo6V2lsbEJlRGVzdHJveWVkIHdpbGxCZURlc3Ryb3llZCwgUmVuZGVy
T2JqZWN0OjpJc0ludGVybmFsTW92ZSBpc0ludGVybmFsTW92ZSkKK3N0YXRpYyB2b2lkIHJlc2V0
UmVuZGVyZXJTdGF0ZU9uRGV0YWNoKFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyT2JqZWN0
JiBjaGlsZCwgUmVuZGVyVHJlZUJ1aWxkZXI6OldpbGxCZURlc3Ryb3llZCB3aWxsQmVEZXN0cm95
ZWQsIFJlbmRlclRyZWVCdWlsZGVyOjpJc0ludGVybmFsTW92ZSBpc0ludGVybmFsTW92ZSkKIHsK
ICAgICBpZiAoY2hpbGQuaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAg
ICBkb3duY2FzdDxSZW5kZXJCb3g+KGNoaWxkKS5yZW1vdmVGbG9hdGluZ09yUG9zaXRpb25lZENo
aWxkRnJvbUJsb2NrTGlzdHMoKTsKQEAgLTkxNyw3ICs5MTksNyBAQCBzdGF0aWMgdm9pZCByZXNl
dFJlbmRlcmVyU3RhdGVPbkRldGFjaChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlck9iamVj
dCYgY2hpbAogICAgIC8vIFNvIHRoYXQgd2UnbGwgZ2V0IHRoZSBhcHByb3ByaWF0ZSBkaXJ0eSBi
aXQgc2V0IChlaXRoZXIgdGhhdCBhIG5vcm1hbCBmbG93IGNoaWxkIGdvdCB5YW5rZWQgb3IKICAg
ICAvLyB0aGF0IGEgcG9zaXRpb25lZCBjaGlsZCBnb3QgeWFua2VkKS4gV2UgYWxzbyByZXBhaW50
LCBzbyB0aGF0IHRoZSBhcmVhIGV4cG9zZWQgd2hlbiB0aGUgY2hpbGQKICAgICAvLyBkaXNhcHBl
YXJzIGdldHMgcmVwYWludGVkIHByb3Blcmx5LgotICAgIGJvb2wgc2hvdWxkUmVwYWludCA9IGlz
SW50ZXJuYWxNb3ZlID09IFJlbmRlck9iamVjdDo6SXNJbnRlcm5hbE1vdmU6Ok5vICYmICFpczxS
ZW5kZXJNdWx0aUNvbHVtblNldD4oY2hpbGQucHJldmlvdXNTaWJsaW5nKCkpOworICAgIGJvb2wg
c2hvdWxkUmVwYWludCA9IGlzSW50ZXJuYWxNb3ZlID09IFJlbmRlclRyZWVCdWlsZGVyOjpJc0lu
dGVybmFsTW92ZTo6Tm8gJiYgIWlzPFJlbmRlck11bHRpQ29sdW1uU2V0PihjaGlsZC5wcmV2aW91
c1NpYmxpbmcoKSk7CiAgICAgaWYgKHNob3VsZFJlcGFpbnQpIHsKICAgICAgICAgYXV0byBzaG91
bGRGb3JjZVJlcGFpbnQgPSBbJl0gewogICAgICAgICAgICAgLy8gV2hlbiByZXBhaW50IGlzIHBy
b3BhZ2F0ZWQgdG8gb3VyIGxheWVyLCB3ZSBoYXZlIHRvIGZvcmNlIGl0IGluIGNhc2Ugb2YgZGV0
YWNoIChhcyB0aGlzIGxheWVyIG1heSBub3QgYmUgYXJvdW5kIHRvIGlzc3VlIGl0IF9hZmZ0ZXJf
IGxheW91dCkuCkBAIC05MzcsNiArOTM5LDkgQEAgc3RhdGljIHZvaWQgcmVzZXRSZW5kZXJlclN0
YXRlT25EZXRhY2goUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWwKICAg
ICBpZiAoQ2hlY2tlZFB0ciB0ZXh0UmVuZGVyZXIgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyVGV4
dD4oY2hpbGQpKQogICAgICAgICB0ZXh0UmVuZGVyZXItPnJlbW92ZUFuZERlc3Ryb3lUZXh0Qm94
ZXMoKTsKIAorICAgIGlmIChDaGVja2VkUHRyIGxpc3RJdGVtUmVuZGVyZXIgPSBkeW5hbWljRG93
bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KGNoaWxkKTsgbGlzdEl0ZW1SZW5kZXJlciAmJiBpc0ludGVy
bmFsTW92ZSA9PSBSZW5kZXJUcmVlQnVpbGRlcjo6SXNJbnRlcm5hbE1vdmU6Ok5vKQorICAgICAg
ICBsaXN0SXRlbVJlbmRlcmVyLT51cGRhdGVMaXN0TWFya2VyTnVtYmVycygpOworCiAgICAgLy8g
SWYgY2hpbGQgaXMgdGhlIHN0YXJ0IG9yIGVuZCBvZiB0aGUgc2VsZWN0aW9uLCB0aGVuIGNsZWFy
IHRoZSBzZWxlY3Rpb24gdG8KICAgICAvLyBhdm9pZCBwcm9ibGVtcyBvZiBpbnZhbGlkIHBvaW50
ZXJzLgogICAgIGlmICh3aWxsQmVEZXN0cm95ZWQgPT0gUmVuZGVyVHJlZUJ1aWxkZXI6OldpbGxC
ZURlc3Ryb3llZDo6WWVzICYmIGNoaWxkLmlzU2VsZWN0aW9uQm9yZGVyKCkpCkBAIC05NTYsMTAg
Kzk2MSwxMCBAQCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5kZXJUcmVlQnVpbGRlcjo6ZGV0
YWNoRnJvbVJlbmRlckVsZW1lbnQoUmVuZGVyRWxlbWVudAogICAgICAgICByZXNldFJlbmRlcmVy
U3RhdGVPbkRldGFjaChwYXJlbnQsIGNoaWxkLCB3aWxsQmVEZXN0cm95ZWQsIG1faW50ZXJuYWxN
b3Zlc1R5cGUpOwogCiAgICAgLy8gRklYTUU6IEZyYWdtZW50IHN0YXRlIHNob3VsZCBub3QgYmUg
c3VjaCBhIHNwZWNpYWwgY2FzZS4KLSAgICBpZiAobV9pbnRlcm5hbE1vdmVzVHlwZSA9PSBSZW5k
ZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlOjpObykKKyAgICBpZiAobV9pbnRlcm5hbE1vdmVzVHlw
ZSA9PSBJc0ludGVybmFsTW92ZTo6Tm8pCiAgICAgICAgIGNoaWxkLnJlc2V0RnJhZ21lbnRlZEZs
b3dTdGF0ZU9uUmVtb3ZhbCgpOwogCi0gICAgY2hpbGQud2lsbEJlUmVtb3ZlZEZyb21UcmVlKG1f
aW50ZXJuYWxNb3Zlc1R5cGUpOworICAgIGNoaWxkLndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOwog
ICAgIC8vIFdBUk5JTkc6IFRoZXJlIHNob3VsZCBiZSBubyBjb2RlIHJ1bm5pbmcgYmV0d2VlbiB3
aWxsQmVSZW1vdmVkRnJvbVRyZWUoKSBhbmQgdGhlIGFjdHVhbCByZW1vdmFsIGJlbG93LgogICAg
IC8vIFRoaXMgaXMgbmVlZGVkIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aGVyZSB3aWxsQmVS
ZW1vdmVkRnJvbVRyZWUoKSB3b3VsZCBkaXJ0eSB0aGUgdHJlZSdzIHN0cnVjdHVyZQogICAgIC8v
IGFuZCB0aGUgY29kZSBydW5uaW5nIGhlcmUgd291bGQgZm9yY2UgYW4gdW50aW1lbHkgcmVidWls
ZGluZywgbGVhdmluZyB8Y2hpbGR8IGRhbmdsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAppbmRleCBkNTMzMDFlNGVm
Y2QuLmE0ZGEwZTg2ZGQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBhdHRhY2goUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVy
T2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOwogCisgICAgZW51
bSBjbGFzcyBJc0ludGVybmFsTW92ZSA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgZW51bSBjbGFz
cyBXaWxsQmVEZXN0cm95ZWQgOiBib29sIHsgTm8sIFllcyB9OwogICAgIGVudW0gY2xhc3MgQ2Fu
Q29sbGFwc2VBbm9ueW1vdXNCbG9jayA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgUmVuZGVyUHRy
PFJlbmRlck9iamVjdD4gZGV0YWNoKFJlbmRlckVsZW1lbnQmLCBSZW5kZXJPYmplY3QmLCBXaWxs
QmVEZXN0cm95ZWQsIENhbkNvbGxhcHNlQW5vbnltb3VzQmxvY2sgPSBDYW5Db2xsYXBzZUFub255
bW91c0Jsb2NrOjpZZXMpIFdBUk5fVU5VU0VEX1JFVFVSTjsKQEAgLTcyLDcgKzczLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGF0dGFjaElnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlckVsZW1lbnQm
IHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4sIFJlbmRlck9iamVjdCogYmVmb3JlQ2hp
bGQgPSBudWxscHRyKTsKICAgICB2b2lkIGF0dGFjaFRvUmVuZGVyR3JpZChSZW5kZXJHcmlkJiBw
YXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9y
ZUNoaWxkID0gbnVsbHB0cik7CiAgICAgdm9pZCBhdHRhY2hUb1JlbmRlckVsZW1lbnQoUmVuZGVy
RWxlbWVudCYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2Jq
ZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOwotICAgIHZvaWQgYXR0YWNoVG9SZW5kZXJFbGVt
ZW50SW50ZXJuYWwoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0
PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIsIFJlbmRlck9iamVj
dDo6SXNJbnRlcm5hbE1vdmUgPSBSZW5kZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlOjpObyk7Cisg
ICAgdm9pZCBhdHRhY2hUb1JlbmRlckVsZW1lbnRJbnRlcm5hbChSZW5kZXJFbGVtZW50JiBwYXJl
bnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkID0gbnVsbHB0cik7CiAKICAgICBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBkZXRhY2hGcm9t
UmVuZGVyRWxlbWVudChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlck9iamVjdCYgY2hpbGQs
IFdpbGxCZURlc3Ryb3llZCkgV0FSTl9VTlVTRURfUkVUVVJOOwogICAgIFJlbmRlclB0cjxSZW5k
ZXJPYmplY3Q+IGRldGFjaEZyb21SZW5kZXJHcmlkKFJlbmRlckdyaWQmIHBhcmVudCwgUmVuZGVy
T2JqZWN0JiBjaGlsZCwgV2lsbEJlRGVzdHJveWVkKSBXQVJOX1VOVVNFRF9SRVRVUk47CkBAIC0x
NDYsNyArMTQ3LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250
aW51YXRpb24+IG1fY29udGludWF0aW9uQnVpbGRlcjsKICAgICBib29sIG1faGFzQnJva2VuQ29u
dGludWF0aW9uIHsgZmFsc2UgfTsKLSAgICBSZW5kZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlIG1f
aW50ZXJuYWxNb3Zlc1R5cGUgeyBSZW5kZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlOjpObyB9Owor
ICAgIElzSW50ZXJuYWxNb3ZlIG1faW50ZXJuYWxNb3Zlc1R5cGUgeyBJc0ludGVybmFsTW92ZTo6
Tm8gfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCmluZGV4IDZlNTE3OTI4ODBk
OC4uYjM2YzM4MGE0MDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTI2Nyw3ICsy
NjcsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OnNwbGl0RmxvdyhSZW5kZXJJ
bmxpbmUmIHBhcmVudCwgUmVuZGVyT2JqZWN0KiBiZQogCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVy
OjpJbmxpbmU6OnNwbGl0SW5saW5lcyhSZW5kZXJJbmxpbmUmIHBhcmVudCwgUmVuZGVyQmxvY2sq
IGZyb21CbG9jaywgUmVuZGVyQmxvY2sqIHRvQmxvY2ssIFJlbmRlckJsb2NrKiBtaWRkbGVCbG9j
aywgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCwgUmVuZGVyQm94TW9kZWxPYmplY3QqIG9sZENv
bnQpCiB7Ci0gICAgYXV0byBpbnRlcm5hbE1vdmVTY29wZSA9IFNldEZvclNjb3BlIHsgbV9idWls
ZGVyLm1faW50ZXJuYWxNb3Zlc1R5cGUsIFJlbmRlck9iamVjdDo6SXNJbnRlcm5hbE1vdmU6Olll
cyB9OworICAgIGF1dG8gaW50ZXJuYWxNb3ZlU2NvcGUgPSBTZXRGb3JTY29wZSB7IG1fYnVpbGRl
ci5tX2ludGVybmFsTW92ZXNUeXBlLCBJc0ludGVybmFsTW92ZTo6WWVzIH07CiAgICAgLy8gQ3Jl
YXRlIGEgY2xvbmUgb2YgdGhpcyBpbmxpbmUuCiAgICAgUmVuZGVyUHRyPFJlbmRlcklubGluZT4g
Y2xvbmVJbmxpbmUgPSBjbG9uZUFzQ29udGludWF0aW9uKHBhcmVudCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470791</attachid>
            <date>2024-04-06 11:18:16 -0700</date>
            <delta_ts>2024-04-06 16:30:31 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-272278-20240406111803.patch</filename>
            <type>text/plain</type>
            <size>33618</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAyNDAxMGJlNTRiYTdkNzI2MjEwNWY5ZjZkNDgwMTI5MDNiZmQ1MDFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFNhdCwgNiBBcHIgMjAyNCAwNjozNTo0NSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFtSZW5kZXJU
cmVlQnVpbGRlcl1bQ2xlYW51cF0gTWFrZSBJbnRlcm5hbE1vdmUgaW50ZXJuYWwgdG8KIFJlbmRl
clRyZWVCdWlsZGVyIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzIy
NzgKClJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKTGVhZiByZW5kZXJlcnMgc2hvdWxkIG5v
dCBiZSBpbnRlcmVzdGVkIGluIGludGVybmFsIHJlc2h1ZmZsZXMgKGUuZy4gY29uc3RydWN0aW5n
L2Ryb3BwaW5nIGFub255bW91cyByZW5kZXJlcnMpLgpDb250YWluZXJzIG1heSBiZSBydW5uaW5n
IHNvbWUgY2xlYW51cHMgdGhvdWdoICh0aGlzIGlzIHdlYmtpdC5vcmcvYi8yMjQxNDMpLgoKSW4g
dGhlIG1lYW50aW1lLCBsZXQncyBtb3ZlIHRoaXMgKGN1cnJlbnRseSB2ZXJ5IGxpbWl0ZWQpIGxv
Z2ljIG92ZXIgdG8gUmVuZGVyVHJlZUJ1aWxkZXIuCgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmNwcDoKKFdlYkNvcmU6OlJlbmRlckVsZW1lbnQ6Omluc2VydGVkSW50
b1RyZWUpOgooV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToK
KiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgoqIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudENvbnRhaW5lci5jcHA6CihXZWJDb3JlOjpSZW5k
ZXJGcmFnbWVudENvbnRhaW5lcjo6aW5zZXJ0ZWRJbnRvVHJlZSk6CihXZWJDb3JlOjpSZW5kZXJG
cmFnbWVudENvbnRhaW5lcjo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwOgooV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06Omlu
c2VydGVkSW50b1RyZWUpOiBEZWxldGVkLgooV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06OndpbGxC
ZVJlbW92ZWRGcm9tVHJlZSk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RJdGVtLmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OndpbGxCZVJlbW92
ZWRGcm9tVHJlZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvdy5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgooV2Vi
Q29yZTo6UmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKToKKFdlYkNvcmU6OlJlbmRlck9i
amVjdDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0Lmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmNw
cDoKKFdlYkNvcmU6OlJlbmRlclF1b3RlOjppbnNlcnRlZEludG9UcmVlKToKKFdlYkNvcmU6OlJl
bmRlclF1b3RlOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJRdW90ZS5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNhcHRpb24uY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVDYXB0aW9uOjppbnNlcnRlZEludG9U
cmVlKToKKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2FwdGlvbjo6d2lsbEJlUmVtb3ZlZEZyb21UcmVl
KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmg6CiogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHA6CihXZWJDb3JlOjpSZW5k
ZXJUYWJsZUNlbGw6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSk6CiogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZUNvbC5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZUNvbDo6aW5zZXJ0ZWRJbnRvVHJl
ZSk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZUNvbDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaDoKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6
OndpbGxCZVJlbW92ZWRGcm9tVHJlZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlUm93Lmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OndpbGxCZVJlbW92ZWRGcm9tVHJl
ZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5oOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3Bw
OgooV2ViQ29yZTo6TGVnYWN5UmVuZGVyU1ZHUm9vdDo6aW5zZXJ0ZWRJbnRvVHJlZSk6CihXZWJD
b3JlOjpMZWdhY3lSZW5kZXJTVkdSb290Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xlZ2FjeVJlbmRlclNWR1Jvb3QuaDoKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwOgoo
V2ViQ29yZTo6UmVuZGVyVHJlZUJ1aWxkZXI6OmF0dGFjaFRvUmVuZGVyRWxlbWVudEludGVybmFs
KToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjptb3ZlKToKKFdlYkNvcmU6OnJlc2V0UmVu
ZGVyZXJTdGF0ZU9uRGV0YWNoKToKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpkZXRhY2hG
cm9tUmVuZGVyRWxlbWVudCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVyLmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3VwZGF0aW5nL1Jl
bmRlclRyZWVCdWlsZGVySW5saW5lLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRyZWVCdWlsZGVyOjpJ
bmxpbmU6OnNwbGl0SW5saW5lcyk6Ci0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckVsZW1lbnQuY3BwICAgIHwgIDggKysrLS0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuaCAgICAgIHwgIDQgKystLQogLi4uL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVu
dENvbnRhaW5lci5jcHAgICAgIHwgIDggKysrLS0tLQogLi4uL3JlbmRlcmluZy9SZW5kZXJGcmFn
bWVudENvbnRhaW5lci5oICAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RJdGVtLmNwcCAgIHwgMTYgLS0tLS0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmggICAgIHwgIDMgLS0tCiAuLi4vcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uRmxvdy5jcHAgICAgICAgfCAgNCArKy0tCiAuLi4vV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmggfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgICAgIHwgIDQgKystLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oICAgICAgIHwgIDUgKystLQogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclF1b3RlLmNwcCAgICAgIHwgIDggKysrLS0tLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclF1b3RlLmggICAgICAgIHwgIDQgKystLQogLi4uL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5jcHAgIHwgIDggKysrLS0tLQogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5oIHwgIDQgKystLQogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAgIHwgIDQgKystLQogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5jcHAgICB8ICA4ICsrKy0tLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oICAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAgICB8ICA0ICsrLS0KIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oICAgICB8ICAyICstCiAuLi4vV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcCAgfCAgNCArKy0tCiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmggfCAgMiArLQogLi4uL3N2Zy9sZWdhY3kv
TGVnYWN5UmVuZGVyU1ZHUm9vdC5jcHAgICAgICAgIHwgIDggKysrLS0tLQogLi4uL3N2Zy9sZWdh
Y3kvTGVnYWN5UmVuZGVyU1ZHUm9vdC5oICAgICAgICAgIHwgIDQgKystLQogLi4uL3JlbmRlcmlu
Zy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgIHwgMjMgKysrKysrKysrKystLS0tLS0t
LQogLi4uL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5oICAgIHwgIDUgKyst
LQogLi4uL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVySW5saW5lLmNwcCAgICAgIHwgIDIgKy0K
IDI3IGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDg0IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAppbmRleCA2NTdkMzUxNzgw
ZmYuLmM3ZDk1Njk5YjFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmNwcApAQCAtMTA0Nyw3ICsxMDQ3LDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjpzdHlsZURp
ZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFMKICAg
ICB9CiB9CiAKLXZvaWQgUmVuZGVyRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFs
TW92ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyRWxlbWVudDo6aW5zZXJ0ZWRJbnRvVHJl
ZSgpCiB7CiAgICAgLy8gS2VlcCBvdXIgbGF5ZXIgaGllcmFyY2h5IHVwZGF0ZWQuIE9wdGltaXpl
IGZvciB0aGUgY29tbW9uIGNhc2Ugd2hlcmUgd2UgZG9uJ3QgaGF2ZSBhbnkgY2hpbGRyZW4KICAg
ICAvLyBhbmQgZG9uJ3QgaGF2ZSBhIGxheWVyIGF0dGFjaGVkIHRvIG91cnNlbHZlcy4KQEAgLTEw
NjMsMTAgKzEwNjMsMTAgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjppbnNlcnRlZEludG9UcmVlKElz
SW50ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQogICAgICAgICAgICAgcGFyZW50TGF5ZXItPmRp
cnR5VmlzaWJsZUNvbnRlbnRTdGF0dXMoKTsKICAgICB9CiAKLSAgICBSZW5kZXJPYmplY3Q6Omlu
c2VydGVkSW50b1RyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlck9iamVjdDo6aW5zZXJ0
ZWRJbnRvVHJlZSgpOwogfQogCi12b2lkIFJlbmRlckVsZW1lbnQ6OndpbGxCZVJlbW92ZWRGcm9t
VHJlZShJc0ludGVybmFsTW92ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyRWxlbWVudDo6
d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKICAgICAvLyBJZiB3ZSByZW1vdmUgYSB2aXNpYmxl
IGNoaWxkIGZyb20gYW4gaW52aXNpYmxlIHBhcmVudCwgd2UgZG9uJ3Qga25vdyB0aGUgbGF5ZXIg
dmlzaWJpbGl0eSBhbnkgbW9yZS4KICAgICBpZiAocGFyZW50KCktPnN0eWxlKCkudXNlZFZpc2li
aWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmIHN0eWxlKCkudXNlZFZpc2liaWxpdHko
KSA9PSBWaXNpYmlsaXR5OjpWaXNpYmxlICYmICFoYXNMYXllcigpKSB7CkBAIC0xMDgxLDcgKzEw
ODEsNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVy
bmFsTW92ZSBpc0ludGVybmFsTW92ZSkKICAgICBpZiAoaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkg
JiYgcGFyZW50KCktPmNoaWxkcmVuSW5saW5lKCkpCiAgICAgICAgIGNoZWNrZWRQYXJlbnQoKS0+
ZGlydHlMaW5lc0Zyb21DaGFuZ2VkQ2hpbGQoKnRoaXMpOwogCi0gICAgUmVuZGVyT2JqZWN0Ojp3
aWxsQmVSZW1vdmVkRnJvbVRyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlck9iamVjdDo6
d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7CiB9CiAKIGlubGluZSB2b2lkIFJlbmRlckVsZW1lbnQ6
OmNsZWFyU3VidHJlZUxheW91dFJvb3RJZk5lZWRlZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCA3MTQ2NDA3N2I5OWMuLmE4YzgwYzVjNDcyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC0zMDgsOCArMzA4
LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVE
aWZmZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bGUpOwogICAgIHZpcnR1YWwgdm9p
ZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSk7CiAKLSAgICB2b2lkIGluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJy
aWRlOwotICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlKSBvdmVy
cmlkZTsKKyAgICB2b2lkIGluc2VydGVkSW50b1RyZWUoKSBvdmVycmlkZTsKKyAgICB2b2lkIHdp
bGxCZVJlbW92ZWRGcm9tVHJlZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgd2lsbEJlRGVzdHJveWVk
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSYsIGNv
bnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAppbmRleCA1NmI0YzA3
YmQzNGUuLjE3MjdhZGVkNTNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuY3BwCkBAIC0zNTgsMTYgKzM1OCwxNiBAQCBMYXlv
dXRVbml0IFJlbmRlckZyYWdtZW50Q29udGFpbmVyOjpsb2dpY2FsQm90dG9tT2ZGcmFnbWVudGVk
Rmxvd0NvbnRlbnRSZWN0KGNvbgogICAgIHJldHVybiBmcmFnbWVudGVkRmxvdygpLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gcmVjdC5tYXhZKCkgOiByZWN0Lm1heFgoKTsKIH0KIAotdm9p
ZCBSZW5kZXJGcmFnbWVudENvbnRhaW5lcjo6aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92
ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Omluc2VydGVk
SW50b1RyZWUoKQogewogICAgIGF0dGFjaEZyYWdtZW50KCk7CiAgICAgaWYgKGlzVmFsaWQoKSkK
LSAgICAgICAgUmVuZGVyQmxvY2tGbG93OjppbnNlcnRlZEludG9UcmVlKGlzSW50ZXJuYWxNb3Zl
KTsKKyAgICAgICAgUmVuZGVyQmxvY2tGbG93OjppbnNlcnRlZEludG9UcmVlKCk7CiB9CiAKLXZv
aWQgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVy
bmFsTW92ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyRnJhZ21lbnRDb250YWluZXI6Ondp
bGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVyQmxvY2tGbG93Ojp3aWxsQmVSZW1v
dmVkRnJvbVRyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlckJsb2NrRmxvdzo6d2lsbEJl
UmVtb3ZlZEZyb21UcmVlKCk7CiAKICAgICBkZXRhY2hGcmFnbWVudCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRDb250YWluZXIuaAppbmRleCA0
OWM2Mjg5NTU1NzcuLmQzN2EzZmU5ZmFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50Q29udGFpbmVyLmgKQEAgLTEzNiw4ICsxMzYsOCBAQCBwcm90
ZWN0ZWQ6CiBwcml2YXRlOgogICAgIEFTQ0lJTGl0ZXJhbCByZW5kZXJOYW1lKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gIlJlbmRlckZyYWdtZW50Q29udGFpbmVyIl9zOyB9CiAKLSAgICB2b2lk
IGluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJyaWRlOwotICAgIHZvaWQgd2ls
bEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlKSBvdmVycmlkZTsKKyAgICB2b2lkIGlu
c2VydGVkSW50b1RyZWUoKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJl
ZSgpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGluc3RhbGxGcmFnbWVudGVkRmxvdygp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAppbmRleCAw
ZGZmNjQzNTk0YWUuLjBkMjU0NTIzMzY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEl0ZW0uY3BwCkBAIC04OCwyMiArODgsNiBAQCBSZW5kZXJTdHlsZSBSZW5kZXJM
aXN0SXRlbTo6Y29tcHV0ZU1hcmtlclN0eWxlKCkgY29uc3QKICAgICByZXR1cm4gbWFya2VyU3R5
bGU7CiB9CiAKLXZvaWQgUmVuZGVyTGlzdEl0ZW06Omluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5h
bE1vdmUgaXNJbnRlcm5hbE1vdmUpCi17Ci0gICAgUmVuZGVyQmxvY2tGbG93OjppbnNlcnRlZElu
dG9UcmVlKGlzSW50ZXJuYWxNb3ZlKTsKLQotICAgIGlmIChpc0ludGVybmFsTW92ZSA9PSBJc0lu
dGVybmFsTW92ZTo6Tm8pCi0gICAgICAgIHVwZGF0ZUxpc3RNYXJrZXJOdW1iZXJzKCk7Ci19Ci0K
LXZvaWQgUmVuZGVyTGlzdEl0ZW06OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFsTW92
ZSBpc0ludGVybmFsTW92ZSkKLXsKLSAgICBSZW5kZXJCbG9ja0Zsb3c6OndpbGxCZVJlbW92ZWRG
cm9tVHJlZShpc0ludGVybmFsTW92ZSk7Ci0KLSAgICBpZiAoaXNJbnRlcm5hbE1vdmUgPT0gSXNJ
bnRlcm5hbE1vdmU6Ok5vKQotICAgICAgICB1cGRhdGVMaXN0TWFya2VyTnVtYmVycygpOwotfQot
CiBib29sIGlzSFRNTExpc3RFbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUpCiB7CiAgICAgcmV0dXJu
IGlzPEhUTUxVTGlzdEVsZW1lbnQ+KG5vZGUpIHx8IGlzPEhUTUxPTGlzdEVsZW1lbnQ+KG5vZGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaAppbmRleCA5NmQ5OTVh
MGExZmIuLmRiZWUyNWNlYmQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RJdGVtLmgKQEAgLTYxLDkgKzYxLDYgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBBU0NJSUxp
dGVyYWwgcmVuZGVyTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZW5kZXJMaXN0SXRlbSJf
czsgfQogICAgIAotICAgIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92ZSkgZmlu
YWw7Ci0gICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUpIGZpbmFs
OwotCiAgICAgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpIGZpbmFs
OwogCiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKiBvbGRTdHlsZSkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCmluZGV4IGU5ZGI1ZTY1YzBkNS4uZjdkMjVkYWIw
ZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5GbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5GbG93LmNwcApAQCAtMTQzLDE0ICsxNDMsMTQgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZs
b3c6OmFkZEZyYWdtZW50VG9UaHJlYWQoUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIGZyYWdtZW4K
ICAgICBmcmFnbWVudENvbnRhaW5lci0+c2V0SXNWYWxpZCh0cnVlKTsKIH0KIAotdm9pZCBSZW5k
ZXJNdWx0aUNvbHVtbkZsb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFsTW92ZSBp
c0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp3aWxsQmVSZW1vdmVk
RnJvbVRyZWUoKQogewogICAgIC8vIERldGFjaCBhbGwgY29sdW1uIHNldHMgZnJvbSB0aGUgZmxv
dyB0aHJlYWQuIENhbm5vdCBkZXN0cm95IHRoZW0gYXQgdGhpcyBwb2ludCwgc2luY2UgdGhleQog
ICAgIC8vIGFyZSBzaWJsaW5ncyBvZiB0aGlzIG9iamVjdCwgYW5kIHRoZXJlIG1heSBiZSBwb2lu
dGVycyB0byB0aGlzIG9iamVjdCdzIHNpYmxpbmcgc29tZXdoZXJlCiAgICAgLy8gZnVydGhlciB1
cCBvbiB0aGUgY2FsbCBzdGFjay4KICAgICBmb3IgKFJlbmRlck11bHRpQ29sdW1uU2V0KiBjb2x1
bW5TZXQgPSBmaXJzdE11bHRpQ29sdW1uU2V0KCk7IGNvbHVtblNldDsgY29sdW1uU2V0ID0gY29s
dW1uU2V0LT5uZXh0U2libGluZ011bHRpQ29sdW1uU2V0KCkpCiAgICAgICAgIGNvbHVtblNldC0+
ZGV0YWNoRnJhZ21lbnQoKTsKLSAgICBSZW5kZXJGcmFnbWVudGVkRmxvdzo6d2lsbEJlUmVtb3Zl
ZEZyb21UcmVlKGlzSW50ZXJuYWxNb3ZlKTsKKyAgICBSZW5kZXJGcmFnbWVudGVkRmxvdzo6d2ls
bEJlUmVtb3ZlZEZyb21UcmVlKCk7CiB9CiAKIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojpm
cmFnbWVudGVkRmxvd0Rlc2NlbmRhbnRCb3hMYWlkT3V0KFJlbmRlckJveCogZGVzY2VuZGFudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaApp
bmRleCBhNmFhZDZjMTg5MjguLmU0ZmIzMTI2MDRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgQVNDSUlMaXRlcmFsIHJlbmRlck5hbWUoKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2b2lkIGFkZEZyYWdtZW50VG9UaHJlYWQoUmVuZGVyRnJhZ21lbnRDb250YWlu
ZXIqKSBvdmVycmlkZTsKLSAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFs
TW92ZSkgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKSBvdmVycmlk
ZTsKICAgICB2b2lkIGZyYWdtZW50ZWRGbG93RGVzY2VuZGFudEJveExhaWRPdXQoUmVuZGVyQm94
Kikgb3ZlcnJpZGU7CiAgICAgTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzIGNvbXB1dGVMb2dp
Y2FsSGVpZ2h0KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgTGF5b3V0VW5pdCBsb2dpY2FsVG9w
KSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IGluaXRpYWxMb2dpY2FsV2lkdGgoKSBj
b25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
aW5kZXggNDI5ZDJmOTBjMDI3Li4xM2ZjY2YzYzAzZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0xNzg5LDcgKzE3ODksNyBAQCBzdGF0aWMgdm9pZCBp
bnZhbGlkYXRlTGluZUxheW91dEFmdGVyVHJlZU11dGF0aW9uSWZOZWVkZWQoUmVuZGVyT2JqZWN0
JiByZW5kZXJlcgogICAgICAgICBjb250YWluZXItPmludmFsaWRhdGVMaW5lTGF5b3V0UGF0aCgp
OwogfQogCi12b2lkIFJlbmRlck9iamVjdDo6aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92
ZSkKK3ZvaWQgUmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKCkKIHsKICAgICBpbnZhbGlk
YXRlTGluZUxheW91dEFmdGVyVHJlZU11dGF0aW9uSWZOZWVkZWQoKnRoaXMsIElzUmVtb3ZhbDo6
Tm8pOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgQVNTRVJUKGlzUm9vdGVkKCkpIGhlcmUgYnV0
IGdlbmVyYXRlZCBjb250ZW50IG1ha2VzIHNvbWUgb3V0LW9mLW9yZGVyIGluc2VydGlvbi4KQEAg
LTE3OTcsNyArMTc5Nyw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKElz
SW50ZXJuYWxNb3ZlKQogICAgICAgICBjaGVja2VkUGFyZW50KCktPmRpcnR5TGluZXNGcm9tQ2hh
bmdlZENoaWxkKCp0aGlzKTsKIH0KIAotdm9pZCBSZW5kZXJPYmplY3Q6OndpbGxCZVJlbW92ZWRG
cm9tVHJlZShJc0ludGVybmFsTW92ZSkKK3ZvaWQgUmVuZGVyT2JqZWN0Ojp3aWxsQmVSZW1vdmVk
RnJvbVRyZWUoKQogewogICAgIGludmFsaWRhdGVMaW5lTGF5b3V0QWZ0ZXJUcmVlTXV0YXRpb25J
Zk5lZWRlZCgqdGhpcywgSXNSZW1vdmFsOjpZZXMpOwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
QVNTRVJUKGlzUm9vdGVkKCkpIGJ1dCB3ZSBoYXZlIHNvbWUgb3V0LW9mLW9yZGVyIHJlbW92YWxz
IHdoaWNoIHdvdWxkIG5lZWQgdG8gYmUgZml4ZWQgZmlyc3QuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggZjY5ZjExYmQ5N2QwLi42ODAyNDgxMTA2YTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTExMDYsOSArMTEwNiw4IEBA
IHB1YmxpYzoKICAgICBMYXlvdXRSZWN0IGFic29sdXRlT3V0bGluZUJvdW5kcygpIGNvbnN0IHsg
cmV0dXJuIG91dGxpbmVCb3VuZHNGb3JSZXBhaW50KG51bGxwdHIpOyB9CiAKICAgICAvLyBGSVhN
RTogUmVuZGVyZXJzIHNob3VsZCBub3QgbmVlZCB0byBiZSBub3RpZmllZCBhYm91dCBpbnRlcm5h
bCByZXBhcmVudGluZyAod2Via2l0Lm9yZy9iLzIyNDE0MykuCi0gICAgZW51bSBjbGFzcyBJc0lu
dGVybmFsTW92ZSA6IGJvb2wgeyBObywgWWVzIH07Ci0gICAgdmlydHVhbCB2b2lkIGluc2VydGVk
SW50b1RyZWUoSXNJbnRlcm5hbE1vdmUgPSBJc0ludGVybmFsTW92ZTo6Tm8pOwotICAgIHZpcnR1
YWwgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUgPSBJc0ludGVybmFs
TW92ZTo6Tm8pOworICAgIHZpcnR1YWwgdm9pZCBpbnNlcnRlZEludG9UcmVlKCk7CisgICAgdmly
dHVhbCB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOwogCiAgICAgdm9pZCByZXNldEZyYWdt
ZW50ZWRGbG93U3RhdGVPblJlbW92YWwoKTsKICAgICB2b2lkIGluaXRpYWxpemVGcmFnbWVudGVk
Rmxvd1N0YXRlT25JbnNlcnRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJRdW90ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVv
dGUuY3BwCmluZGV4IGU1ZWE3MzFlNjdlNy4uYjBjZWM4ZjQ0MzJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUXVvdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJRdW90ZS5jcHAKQEAgLTQ5LDE2ICs0OSwxNiBAQCBSZW5kZXJRdW90
ZTo6flJlbmRlclF1b3RlKCkKICAgICAvLyBEbyBub3QgYWRkIGFueSBjb2RlIGhlcmUuIEFkZCBp
dCB0byB3aWxsQmVEZXN0cm95ZWQoKSBpbnN0ZWFkLgogfQogCi12b2lkIFJlbmRlclF1b3RlOjpp
bnNlcnRlZEludG9UcmVlKElzSW50ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5k
ZXJRdW90ZTo6aW5zZXJ0ZWRJbnRvVHJlZSgpCiB7Ci0gICAgUmVuZGVySW5saW5lOjppbnNlcnRl
ZEludG9UcmVlKGlzSW50ZXJuYWxNb3ZlKTsKKyAgICBSZW5kZXJJbmxpbmU6Omluc2VydGVkSW50
b1RyZWUoKTsKICAgICB2aWV3KCkuc2V0SGFzUXVvdGVzTmVlZGluZ1VwZGF0ZSh0cnVlKTsKIH0K
IAotdm9pZCBSZW5kZXJRdW90ZTo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3Zl
IGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5kZXJRdW90ZTo6d2lsbEJlUmVtb3ZlZEZyb21UcmVl
KCkKIHsKICAgICB2aWV3KCkuc2V0SGFzUXVvdGVzTmVlZGluZ1VwZGF0ZSh0cnVlKTsKLSAgICBS
ZW5kZXJJbmxpbmU6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7CisgICAg
UmVuZGVySW5saW5lOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKIH0KIAogdm9pZCBSZW5kZXJR
dW90ZTo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0
eWxlKiBvbGRTdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJRdW90ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclF1b3RlLmgKaW5kZXgg
ZGYwODljMzcxMGNmLi4yMjU5MmYwMjJhYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJRdW90ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJRdW90ZS5oCkBAIC0zOCw4ICszOCw4IEBAIHByaXZhdGU6CiAgICAgQVNDSUlMaXRlcmFsIHJl
bmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyUXVvdGUiX3M7IH0KICAg
ICBib29sIGlzT3BlbigpIGNvbnN0OwogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZm
ZXJlbmNlLCBjb25zdCBSZW5kZXJTdHlsZSopIG92ZXJyaWRlOwotICAgIHZvaWQgaW5zZXJ0ZWRJ
bnRvVHJlZShJc0ludGVybmFsTW92ZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3aWxsQmVSZW1vdmVk
RnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJyaWRlOworICAgIHZvaWQgaW5zZXJ0ZWRJbnRv
VHJlZSgpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkgb3ZlcnJp
ZGU7CiAKICAgICBTdHJpbmcgY29tcHV0ZVRleHQoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVRl
eHRSZW5kZXJlcihSZW5kZXJUcmVlQnVpbGRlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmNwcAppbmRleCBkOTQxNjhhMjcxYjMuLjdiNDM0YzFh
MGYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2Fw
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlv
bi5jcHAKQEAgLTM3LDE1ICszNywxNSBAQCBSZW5kZXJUYWJsZUNhcHRpb246OlJlbmRlclRhYmxl
Q2FwdGlvbihFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogCiBSZW5kZXJU
YWJsZUNhcHRpb246On5SZW5kZXJUYWJsZUNhcHRpb24oKSA9IGRlZmF1bHQ7CiAKLXZvaWQgUmVu
ZGVyVGFibGVDYXB0aW9uOjppbnNlcnRlZEludG9UcmVlKElzSW50ZXJuYWxNb3ZlIGlzSW50ZXJu
YWxNb3ZlKQordm9pZCBSZW5kZXJUYWJsZUNhcHRpb246Omluc2VydGVkSW50b1RyZWUoKQogewot
ICAgIFJlbmRlckJsb2NrRmxvdzo6aW5zZXJ0ZWRJbnRvVHJlZShpc0ludGVybmFsTW92ZSk7Cisg
ICAgUmVuZGVyQmxvY2tGbG93OjppbnNlcnRlZEludG9UcmVlKCk7CiAgICAgdGFibGUoKS0+YWRk
Q2FwdGlvbigqdGhpcyk7CiB9CiAKLXZvaWQgUmVuZGVyVGFibGVDYXB0aW9uOjp3aWxsQmVSZW1v
dmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUgaXNJbnRlcm5hbE1vdmUpCit2b2lkIFJlbmRlclRh
YmxlQ2FwdGlvbjo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCbG9ja0Zs
b3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7CisgICAgUmVuZGVyQmxv
Y2tGbG93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKICAgICB0YWJsZSgpLT5yZW1vdmVDYXB0
aW9uKCp0aGlzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2FwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Q2FwdGlvbi5oCmluZGV4IDRmMjAzMmFjY2M1ZS4uZjkyZDc5Mzg5ZDE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDYXB0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2FwdGlvbi5oCkBAIC0zNCw4ICszNCw4IEBA
IHB1YmxpYzoKICAgICBFbGVtZW50JiBlbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8
RWxlbWVudD4obm9kZUZvck5vbkFub255bW91cygpKTsgfQogCiBwcml2YXRlOgotICAgIHZvaWQg
aW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFsTW92ZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3aWxs
QmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJyaWRlOworICAgIHZvaWQgaW5z
ZXJ0ZWRJbnRvVHJlZSgpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVl
KCkgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhG
b3JDb250ZW50KCkgY29uc3QgZmluYWw7CiAKICAgICBSZW5kZXJUYWJsZSogdGFibGUoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKaW5kZXgg
ZWMxMzIxOTJmNjdjLi5lNzBmMzI2OWU2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuY3BwCkBAIC05OCw5ICs5OCw5IEBAIFJlbmRlclRhYmxlQ2VsbDo6
UmVuZGVyVGFibGVDZWxsKERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkK
ICAgICBBU1NFUlQoaXNSZW5kZXJUYWJsZUNlbGwoKSk7CiB9CiAKLXZvaWQgUmVuZGVyVGFibGVD
ZWxsOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5hbE1vdmUgaXNJbnRlcm5hbE1vdmUp
Cit2b2lkIFJlbmRlclRhYmxlQ2VsbDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBS
ZW5kZXJCbG9ja0Zsb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7Cisg
ICAgUmVuZGVyQmxvY2tGbG93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKICAgICBpZiAoIXRh
YmxlKCkgfHwgIXNlY3Rpb24oKSkKICAgICAgICAgcmV0dXJuOwogICAgIFJlbmRlclRhYmxlU2Vj
dGlvbiogc2VjdGlvbiA9IHRoaXMtPnNlY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuaAppbmRleCBjYWVlMjA2NzgyZTUuLjJiZTFiY2JiZGI3MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaApAQCAtMTQ0LDcgKzE0
NCw3IEBAIHByaXZhdGU6CiAKICAgICBBU0NJSUxpdGVyYWwgcmVuZGVyTmFtZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIChpc0Fub255bW91cygpIHx8IGlzUHNldWRvRWxlbWVudCgpKSA/ICJS
ZW5kZXJUYWJsZUNlbGwgKGFub255bW91cykiX3MgOiAiUmVuZGVyVGFibGVDZWxsIl9zOyB9CiAK
LSAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZShJc0ludGVybmFsTW92ZSkgb3ZlcnJpZGU7
CisgICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKSBvdmVycmlkZTsKIAogICAgIHZvaWQg
dXBkYXRlTG9naWNhbFdpZHRoKCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVDb2wuY3BwCmluZGV4IDc0N2NiMDI0NDE2Yi4uZWFmMzg5OWY2YWViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5jcHAKQEAgLTEwNCwx
NSArMTA0LDE1IEBAIHZvaWQgUmVuZGVyVGFibGVDb2w6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAg
ICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiB9CiAKLXZvaWQgUmVu
ZGVyVGFibGVDb2w6Omluc2VydGVkSW50b1RyZWUoSXNJbnRlcm5hbE1vdmUgaXNJbnRlcm5hbE1v
dmUpCit2b2lkIFJlbmRlclRhYmxlQ29sOjppbnNlcnRlZEludG9UcmVlKCkKIHsKLSAgICBSZW5k
ZXJCb3g6Omluc2VydGVkSW50b1RyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlckJveDo6
aW5zZXJ0ZWRJbnRvVHJlZSgpOwogICAgIHRhYmxlKCktPmFkZENvbHVtbih0aGlzKTsKIH0KIAot
dm9pZCBSZW5kZXJUYWJsZUNvbDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3Zl
IGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5kZXJUYWJsZUNvbDo6d2lsbEJlUmVtb3ZlZEZyb21U
cmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6OndpbGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFs
TW92ZSk7CisgICAgUmVuZGVyQm94Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKICAgICBpZiAo
YXV0byogdGFibGUgPSB0aGlzLT50YWJsZSgpKSB7CiAgICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0
byBpbnZhbGlkYXRlIHRoZSBjb2x1bW4gY2FjaGUgd2hlbiBvbmx5IGluZGl2aWR1YWwgY29sdW1u
cyBhcmUgYmVpbmcgcmVtb3ZlZCAoYXMgb3Bwb3NlZCB0byB3aGVuIHRoZSBlbnRpcmUgdGFibGUg
aXMgYmVpbmcgY29sbGFwc2VkKS4KICAgICAgICAgdGFibGUtPmludmFsaWRhdGVDb2x1bW5zKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDb2wuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNvbC5oCmluZGV4IGY3M2M0ZWEz
ZTU4ZC4uODcwM2ZiZjdjNzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDb2wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDb2wuaApAQCAtNjksOCArNjksOCBAQCBwcml2YXRlOgogICAgIEFTQ0lJTGl0ZXJhbCByZW5k
ZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlclRhYmxlQ29sIl9zOyB9CiAg
ICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIG92ZXJyaWRlIHsgQVNTRVJU
X05PVF9SRUFDSEVEKCk7IH0KIAotICAgIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZShJc0ludGVybmFs
TW92ZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUoSXNJbnRlcm5h
bE1vdmUpIG92ZXJyaWRlOworICAgIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZSgpIG92ZXJyaWRlOwor
ICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkgb3ZlcnJpZGU7CiAKICAgICBib29sIGlz
Q2hpbGRBbGxvd2VkKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFJlbmRlclN0eWxlJikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCmluZGV4IDA1NGJi
M2Q3NjFiNS4uY2FhNTA4OWYyMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5jcHAKQEAgLTYzLDkgKzYzLDkgQEAgUmVuZGVyVGFibGVSb3c6OlJlbmRlclRh
YmxlUm93KERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKICAgICBBU1NF
UlQoaXNSZW5kZXJUYWJsZVJvdygpKTsKIH0KIAotdm9pZCBSZW5kZXJUYWJsZVJvdzo6d2lsbEJl
UmVtb3ZlZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5k
ZXJUYWJsZVJvdzo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6Ondp
bGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7CisgICAgUmVuZGVyQm94Ojp3aWxs
QmVSZW1vdmVkRnJvbVRyZWUoKTsKIAogICAgIHNlY3Rpb24oKS0+c2V0TmVlZHNDZWxsUmVjYWxj
KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVS
b3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCmluZGV4IGQ1
MDUzOGE4ZDhiYy4uMzJmMmY2MmU0ODcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVSb3cuaApAQCAtNzAsNyArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgQVNDSUlMaXRl
cmFsIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAoaXNBbm9ueW1vdXMoKSB8
fCBpc1BzZXVkb0VsZW1lbnQoKSkgPyAiUmVuZGVyVGFibGVSb3cgKGFub255bW91cykiX3MgOiAi
UmVuZGVyVGFibGVSb3ciX3M7IH0KICAgICBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZShJ
c0ludGVybmFsTW92ZSkgb3ZlcnJpZGU7CisgICAgdm9pZCB3aWxsQmVSZW1vdmVkRnJvbVRyZWUo
KSBvdmVycmlkZTsKICAgICB2b2lkIGxheW91dCgpIG92ZXJyaWRlOwogCiAgICAgTGF5b3V0UmVj
dCBjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCmluZGV4IGQ0OTk2
MjYwMzViMS4uOGZmNmE5M2UyMjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVTZWN0aW9uLmNwcApAQCAtMTE3LDkgKzExNyw5IEBAIHZvaWQgUmVuZGVyVGFi
bGVTZWN0aW9uOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVu
ZGVyU3R5bGUqCiAgICAgICAgIHRhYmxlLT5pbnZhbGlkYXRlQ29sbGFwc2VkQm9yZGVycygpOwog
fQogCi12b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKElzSW50
ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OndpbGxC
ZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVyQm94Ojp3aWxsQmVSZW1vdmVkRnJvbVRy
ZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlckJveDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVl
KCk7CiAKICAgICAvLyBQcmV2ZW50aXZlbHkgaW52YWxpZGF0ZSBvdXIgY2VsbHMgYXMgd2UgbWF5
IGJlIHJlLWluc2VydGVkIGludG8KICAgICAvLyBhIG5ldyB0YWJsZSB3aGljaCB3b3VsZCByZXF1
aXJlIHVzIHRvIHJlYnVpbGQgb3VyIHN0cnVjdHVyZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAppbmRleCAyNDlmMzI3N2E5ZWUuLmQ5M2RlNDUyNGY4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaApA
QCAtMTY1LDcgKzE2NSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGNhbkhhdmVDaGlsZHJlbigp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAotICAgIHZvaWQgd2lsbEJlUmVtb3Zl
ZEZyb21UcmVlKElzSW50ZXJuYWxNb3ZlKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbGxCZVJlbW92
ZWRGcm9tVHJlZSgpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9sZWdhY3kvTGVnYWN5UmVu
ZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2FjeS9MZWdh
Y3lSZW5kZXJTVkdSb290LmNwcAppbmRleCA1MTdiM2NiMjU1Y2UuLmYzNTA2NjY0ZmNkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9sZWdhY3kvTGVnYWN5UmVuZGVy
U1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9sZWdhY3kvTGVn
YWN5UmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTMyNSwxNiArMzI1LDE2IEBAIHZvaWQgTGVnYWN5UmVu
ZGVyU1ZHUm9vdDo6d2lsbEJlRGVzdHJveWVkKCkKICAgICBSZW5kZXJSZXBsYWNlZDo6d2lsbEJl
RGVzdHJveWVkKCk7CiB9CiAKLXZvaWQgTGVnYWN5UmVuZGVyU1ZHUm9vdDo6aW5zZXJ0ZWRJbnRv
VHJlZShJc0ludGVybmFsTW92ZSBpc0ludGVybmFsTW92ZSkKK3ZvaWQgTGVnYWN5UmVuZGVyU1ZH
Um9vdDo6aW5zZXJ0ZWRJbnRvVHJlZSgpCiB7Ci0gICAgUmVuZGVyUmVwbGFjZWQ6Omluc2VydGVk
SW50b1RyZWUoaXNJbnRlcm5hbE1vdmUpOworICAgIFJlbmRlclJlcGxhY2VkOjppbnNlcnRlZElu
dG9UcmVlKCk7CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNsaWVudFdhc0FkZGVkVG9UcmVlKCp0
aGlzKTsKIH0KIAotdm9pZCBMZWdhY3lSZW5kZXJTVkdSb290Ojp3aWxsQmVSZW1vdmVkRnJvbVRy
ZWUoSXNJbnRlcm5hbE1vdmUgaXNJbnRlcm5hbE1vdmUpCit2b2lkIExlZ2FjeVJlbmRlclNWR1Jv
b3Q6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGU6OmNs
aWVudFdpbGxCZVJlbW92ZWRGcm9tVHJlZSgqdGhpcyk7Ci0gICAgUmVuZGVyUmVwbGFjZWQ6Ondp
bGxCZVJlbW92ZWRGcm9tVHJlZShpc0ludGVybmFsTW92ZSk7CisgICAgUmVuZGVyUmVwbGFjZWQ6
OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOwogfQogCiB2b2lkIExlZ2FjeVJlbmRlclNWR1Jvb3Q6
OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSog
b2xkU3R5bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2Fj
eS9MZWdhY3lSZW5kZXJTVkdSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xl
Z2FjeS9MZWdhY3lSZW5kZXJTVkdSb290LmgKaW5kZXggMjU1ZDMyNjYyMGM5Li42NDNmMWQ3OTZi
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvbGVnYWN5L0xlZ2Fj
eVJlbmRlclNWR1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL2xlZ2Fj
eS9MZWdhY3lSZW5kZXJTVkdSb290LmgKQEAgLTc4LDggKzc4LDggQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgd2lsbEJlRGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGluc2VydGVkSW50
b1RyZWUoSXNJbnRlcm5hbE1vdmUpIG92ZXJyaWRlOwotICAgIHZvaWQgd2lsbEJlUmVtb3ZlZEZy
b21UcmVlKElzSW50ZXJuYWxNb3ZlKSBvdmVycmlkZTsKKyAgICB2b2lkIGluc2VydGVkSW50b1Ry
ZWUoKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbGxCZVJlbW92ZWRGcm9tVHJlZSgpIG92ZXJyaWRl
OwogCiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRl
clN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDMzM2FmMTgx
MzE3NS4uMThmYTJjNGFmMDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
dXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKQEAgLTM5NSw3ICszOTUsNyBAQCB2
b2lkIFJlbmRlclRyZWVCdWlsZGVyOjphdHRhY2hUb1JlbmRlckVsZW1lbnQoUmVuZGVyRWxlbWVu
dCYgcGFyZW50LCBSZW5kZXJQdHI8UgogICAgIHBhcmVudC5kaWRBdHRhY2hDaGlsZChuZXdDaGls
ZCwgYmVmb3JlQ2hpbGQpOwogfQogCi12b2lkIFJlbmRlclRyZWVCdWlsZGVyOjphdHRhY2hUb1Jl
bmRlckVsZW1lbnRJbnRlcm5hbChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlclB0cjxSZW5k
ZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkLCBSZW5kZXJPYmplY3Q6
OklzSW50ZXJuYWxNb3ZlIGlzSW50ZXJuYWxNb3ZlKQordm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6
YXR0YWNoVG9SZW5kZXJFbGVtZW50SW50ZXJuYWwoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5k
ZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCkKIHsK
ICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NBR0UoIXBhcmVudC52aWV3KCkuZnJhbWVWaWV3
KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCksICJMYXlvdXQgbXVzdCBub3QgbXV0YXRl
IHJlbmRlciB0cmVlIik7CiAgICAgQVNTRVJUKHBhcmVudC5jYW5IYXZlQ2hpbGRyZW4oKSB8fCBw
YXJlbnQuY2FuSGF2ZUdlbmVyYXRlZENoaWxkcmVuKCkpOwpAQCAtNDExLDE0ICs0MTEsMTYgQEAg
dm9pZCBSZW5kZXJUcmVlQnVpbGRlcjo6YXR0YWNoVG9SZW5kZXJFbGVtZW50SW50ZXJuYWwoUmVu
ZGVyRWxlbWVudCYgcGFyZW50LCBSZW4KICAgICAvLyBUYWtlIHRoZSBvd25lcnNoaXAuCiAgICAg
YXV0byogbmV3Q2hpbGQgPSBwYXJlbnQuYXR0YWNoUmVuZGVyZXJJbnRlcm5hbChXVEZNb3ZlKGNo
aWxkKSwgYmVmb3JlQ2hpbGQpOwogCi0gICAgaWYgKG1faW50ZXJuYWxNb3Zlc1R5cGUgPT0gUmVu
ZGVyT2JqZWN0OjpJc0ludGVybmFsTW92ZTo6Tm8pCisgICAgaWYgKG1faW50ZXJuYWxNb3Zlc1R5
cGUgPT0gSXNJbnRlcm5hbE1vdmU6Ok5vKQogICAgICAgICBuZXdDaGlsZC0+aW5pdGlhbGl6ZUZy
YWdtZW50ZWRGbG93U3RhdGVPbkluc2VydGlvbigpOwogICAgIGlmICghcGFyZW50LnJlbmRlclRy
ZWVCZWluZ0Rlc3Ryb3llZCgpKSB7Ci0gICAgICAgIG5ld0NoaWxkLT5pbnNlcnRlZEludG9UcmVl
KGlzSW50ZXJuYWxNb3ZlKTsKKyAgICAgICAgbmV3Q2hpbGQtPmluc2VydGVkSW50b1RyZWUoKTsK
IAotICAgICAgICBpZiAobV9pbnRlcm5hbE1vdmVzVHlwZSA9PSBSZW5kZXJPYmplY3Q6OklzSW50
ZXJuYWxNb3ZlOjpObykgeworICAgICAgICBpZiAobV9pbnRlcm5hbE1vdmVzVHlwZSA9PSBJc0lu
dGVybmFsTW92ZTo6Tm8pIHsKICAgICAgICAgICAgIGlmIChDaGVja2VkUHRyIGZyYWdtZW50ZWRG
bG93ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlck11bHRpQ29sdW1uRmxvdz4obmV3Q2hpbGQtPmVu
Y2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkpKQogICAgICAgICAgICAgICAgIG11bHRpQ29sdW1uQnVp
bGRlcigpLm11bHRpQ29sdW1uRGVzY2VuZGFudEluc2VydGVkKCpmcmFnbWVudGVkRmxvdywgKm5l
d0NoaWxkKTsKKyAgICAgICAgICAgIGlmIChDaGVja2VkUHRyIGxpc3RJdGVtUmVuZGVyZXIgPSBk
eW5hbWljRG93bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KCpuZXdDaGlsZCkpCisgICAgICAgICAgICAg
ICAgbGlzdEl0ZW1SZW5kZXJlci0+dXBkYXRlTGlzdE1hcmtlck51bWJlcnMoKTsKICAgICAgICAg
fQogICAgIH0KIApAQCAtNDQ5LDcgKzQ1MSw3IEBAIHZvaWQgUmVuZGVyVHJlZUJ1aWxkZXI6Om1v
dmUoUmVuZGVyQm94TW9kZWxPYmplY3QmIGZyb20sIFJlbmRlckJveE1vZGVsT2JqZWN0JiB0CiAg
ICAgICAgIGF1dG8gY2hpbGRUb01vdmUgPSBkZXRhY2hGcm9tUmVuZGVyRWxlbWVudChmcm9tLCBj
aGlsZCwgV2lsbEJlRGVzdHJveWVkOjpObyk7CiAgICAgICAgIGF0dGFjaCh0bywgV1RGTW92ZShj
aGlsZFRvTW92ZSksIGJlZm9yZUNoaWxkKTsKICAgICB9IGVsc2UgewotICAgICAgICBhdXRvIGlu
dGVybmFsTW92ZVNjb3BlID0gU2V0Rm9yU2NvcGUgeyBtX2ludGVybmFsTW92ZXNUeXBlLCBSZW5k
ZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlOjpZZXMgfTsKKyAgICAgICAgYXV0byBpbnRlcm5hbE1v
dmVTY29wZSA9IFNldEZvclNjb3BlIHsgbV9pbnRlcm5hbE1vdmVzVHlwZSwgSXNJbnRlcm5hbE1v
dmU6OlllcyB9OwogICAgICAgICBhdXRvIGNoaWxkVG9Nb3ZlID0gZGV0YWNoRnJvbVJlbmRlckVs
ZW1lbnQoZnJvbSwgY2hpbGQsIFdpbGxCZURlc3Ryb3llZDo6Tm8pOwogICAgICAgICBhdHRhY2hU
b1JlbmRlckVsZW1lbnRJbnRlcm5hbCh0bywgV1RGTW92ZShjaGlsZFRvTW92ZSksIGJlZm9yZUNo
aWxkKTsKICAgICB9CkBAIC05MDMsNyArOTA1LDcgQEAgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4g
UmVuZGVyVHJlZUJ1aWxkZXI6OmRldGFjaEZyb21SZW5kZXJHcmlkKFJlbmRlckdyaWQmIHBhcmUK
ICAgICByZXR1cm4gdGFrZW5DaGlsZDsKIH0KIAotc3RhdGljIHZvaWQgcmVzZXRSZW5kZXJlclN0
YXRlT25EZXRhY2goUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWxkLCBS
ZW5kZXJUcmVlQnVpbGRlcjo6V2lsbEJlRGVzdHJveWVkIHdpbGxCZURlc3Ryb3llZCwgUmVuZGVy
T2JqZWN0OjpJc0ludGVybmFsTW92ZSBpc0ludGVybmFsTW92ZSkKK3N0YXRpYyB2b2lkIHJlc2V0
UmVuZGVyZXJTdGF0ZU9uRGV0YWNoKFJlbmRlckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyT2JqZWN0
JiBjaGlsZCwgUmVuZGVyVHJlZUJ1aWxkZXI6OldpbGxCZURlc3Ryb3llZCB3aWxsQmVEZXN0cm95
ZWQsIFJlbmRlclRyZWVCdWlsZGVyOjpJc0ludGVybmFsTW92ZSBpc0ludGVybmFsTW92ZSkKIHsK
ICAgICBpZiAoY2hpbGQuaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpKQogICAgICAg
ICBkb3duY2FzdDxSZW5kZXJCb3g+KGNoaWxkKS5yZW1vdmVGbG9hdGluZ09yUG9zaXRpb25lZENo
aWxkRnJvbUJsb2NrTGlzdHMoKTsKQEAgLTkxNyw3ICs5MTksNyBAQCBzdGF0aWMgdm9pZCByZXNl
dFJlbmRlcmVyU3RhdGVPbkRldGFjaChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlck9iamVj
dCYgY2hpbAogICAgIC8vIFNvIHRoYXQgd2UnbGwgZ2V0IHRoZSBhcHByb3ByaWF0ZSBkaXJ0eSBi
aXQgc2V0IChlaXRoZXIgdGhhdCBhIG5vcm1hbCBmbG93IGNoaWxkIGdvdCB5YW5rZWQgb3IKICAg
ICAvLyB0aGF0IGEgcG9zaXRpb25lZCBjaGlsZCBnb3QgeWFua2VkKS4gV2UgYWxzbyByZXBhaW50
LCBzbyB0aGF0IHRoZSBhcmVhIGV4cG9zZWQgd2hlbiB0aGUgY2hpbGQKICAgICAvLyBkaXNhcHBl
YXJzIGdldHMgcmVwYWludGVkIHByb3Blcmx5LgotICAgIGJvb2wgc2hvdWxkUmVwYWludCA9IGlz
SW50ZXJuYWxNb3ZlID09IFJlbmRlck9iamVjdDo6SXNJbnRlcm5hbE1vdmU6Ok5vICYmICFpczxS
ZW5kZXJNdWx0aUNvbHVtblNldD4oY2hpbGQucHJldmlvdXNTaWJsaW5nKCkpOworICAgIGJvb2wg
c2hvdWxkUmVwYWludCA9IGlzSW50ZXJuYWxNb3ZlID09IFJlbmRlclRyZWVCdWlsZGVyOjpJc0lu
dGVybmFsTW92ZTo6Tm8gJiYgIWlzPFJlbmRlck11bHRpQ29sdW1uU2V0PihjaGlsZC5wcmV2aW91
c1NpYmxpbmcoKSk7CiAgICAgaWYgKHNob3VsZFJlcGFpbnQpIHsKICAgICAgICAgYXV0byBzaG91
bGRGb3JjZVJlcGFpbnQgPSBbJl0gewogICAgICAgICAgICAgLy8gV2hlbiByZXBhaW50IGlzIHBy
b3BhZ2F0ZWQgdG8gb3VyIGxheWVyLCB3ZSBoYXZlIHRvIGZvcmNlIGl0IGluIGNhc2Ugb2YgZGV0
YWNoIChhcyB0aGlzIGxheWVyIG1heSBub3QgYmUgYXJvdW5kIHRvIGlzc3VlIGl0IF9hZmZ0ZXJf
IGxheW91dCkuCkBAIC05MzcsNiArOTM5LDkgQEAgc3RhdGljIHZvaWQgcmVzZXRSZW5kZXJlclN0
YXRlT25EZXRhY2goUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJPYmplY3QmIGNoaWwKICAg
ICBpZiAoQ2hlY2tlZFB0ciB0ZXh0UmVuZGVyZXIgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyVGV4
dD4oY2hpbGQpKQogICAgICAgICB0ZXh0UmVuZGVyZXItPnJlbW92ZUFuZERlc3Ryb3lUZXh0Qm94
ZXMoKTsKIAorICAgIGlmIChDaGVja2VkUHRyIGxpc3RJdGVtUmVuZGVyZXIgPSBkeW5hbWljRG93
bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KGNoaWxkKTsgbGlzdEl0ZW1SZW5kZXJlciAmJiBpc0ludGVy
bmFsTW92ZSA9PSBSZW5kZXJUcmVlQnVpbGRlcjo6SXNJbnRlcm5hbE1vdmU6Ok5vKQorICAgICAg
ICBsaXN0SXRlbVJlbmRlcmVyLT51cGRhdGVMaXN0TWFya2VyTnVtYmVycygpOworCiAgICAgLy8g
SWYgY2hpbGQgaXMgdGhlIHN0YXJ0IG9yIGVuZCBvZiB0aGUgc2VsZWN0aW9uLCB0aGVuIGNsZWFy
IHRoZSBzZWxlY3Rpb24gdG8KICAgICAvLyBhdm9pZCBwcm9ibGVtcyBvZiBpbnZhbGlkIHBvaW50
ZXJzLgogICAgIGlmICh3aWxsQmVEZXN0cm95ZWQgPT0gUmVuZGVyVHJlZUJ1aWxkZXI6OldpbGxC
ZURlc3Ryb3llZDo6WWVzICYmIGNoaWxkLmlzU2VsZWN0aW9uQm9yZGVyKCkpCkBAIC05NTYsMTAg
Kzk2MSwxMCBAQCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBSZW5kZXJUcmVlQnVpbGRlcjo6ZGV0
YWNoRnJvbVJlbmRlckVsZW1lbnQoUmVuZGVyRWxlbWVudAogICAgICAgICByZXNldFJlbmRlcmVy
U3RhdGVPbkRldGFjaChwYXJlbnQsIGNoaWxkLCB3aWxsQmVEZXN0cm95ZWQsIG1faW50ZXJuYWxN
b3Zlc1R5cGUpOwogCiAgICAgLy8gRklYTUU6IEZyYWdtZW50IHN0YXRlIHNob3VsZCBub3QgYmUg
c3VjaCBhIHNwZWNpYWwgY2FzZS4KLSAgICBpZiAobV9pbnRlcm5hbE1vdmVzVHlwZSA9PSBSZW5k
ZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlOjpObykKKyAgICBpZiAobV9pbnRlcm5hbE1vdmVzVHlw
ZSA9PSBJc0ludGVybmFsTW92ZTo6Tm8pCiAgICAgICAgIGNoaWxkLnJlc2V0RnJhZ21lbnRlZEZs
b3dTdGF0ZU9uUmVtb3ZhbCgpOwogCi0gICAgY2hpbGQud2lsbEJlUmVtb3ZlZEZyb21UcmVlKG1f
aW50ZXJuYWxNb3Zlc1R5cGUpOworICAgIGNoaWxkLndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOwog
ICAgIC8vIFdBUk5JTkc6IFRoZXJlIHNob3VsZCBiZSBubyBjb2RlIHJ1bm5pbmcgYmV0d2VlbiB3
aWxsQmVSZW1vdmVkRnJvbVRyZWUoKSBhbmQgdGhlIGFjdHVhbCByZW1vdmFsIGJlbG93LgogICAg
IC8vIFRoaXMgaXMgbmVlZGVkIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aGVyZSB3aWxsQmVS
ZW1vdmVkRnJvbVRyZWUoKSB3b3VsZCBkaXJ0eSB0aGUgdHJlZSdzIHN0cnVjdHVyZQogICAgIC8v
IGFuZCB0aGUgY29kZSBydW5uaW5nIGhlcmUgd291bGQgZm9yY2UgYW4gdW50aW1lbHkgcmVidWls
ZGluZywgbGVhdmluZyB8Y2hpbGR8IGRhbmdsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuaAppbmRleCBkNTMzMDFlNGVm
Y2QuLmE0ZGEwZTg2ZGQ1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBhdHRhY2goUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVy
T2JqZWN0PiwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOwogCisgICAgZW51
bSBjbGFzcyBJc0ludGVybmFsTW92ZSA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgZW51bSBjbGFz
cyBXaWxsQmVEZXN0cm95ZWQgOiBib29sIHsgTm8sIFllcyB9OwogICAgIGVudW0gY2xhc3MgQ2Fu
Q29sbGFwc2VBbm9ueW1vdXNCbG9jayA6IGJvb2wgeyBObywgWWVzIH07CiAgICAgUmVuZGVyUHRy
PFJlbmRlck9iamVjdD4gZGV0YWNoKFJlbmRlckVsZW1lbnQmLCBSZW5kZXJPYmplY3QmLCBXaWxs
QmVEZXN0cm95ZWQsIENhbkNvbGxhcHNlQW5vbnltb3VzQmxvY2sgPSBDYW5Db2xsYXBzZUFub255
bW91c0Jsb2NrOjpZZXMpIFdBUk5fVU5VU0VEX1JFVFVSTjsKQEAgLTcyLDcgKzczLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGF0dGFjaElnbm9yaW5nQ29udGludWF0aW9uKFJlbmRlckVsZW1lbnQm
IHBhcmVudCwgUmVuZGVyUHRyPFJlbmRlck9iamVjdD4sIFJlbmRlck9iamVjdCogYmVmb3JlQ2hp
bGQgPSBudWxscHRyKTsKICAgICB2b2lkIGF0dGFjaFRvUmVuZGVyR3JpZChSZW5kZXJHcmlkJiBw
YXJlbnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9y
ZUNoaWxkID0gbnVsbHB0cik7CiAgICAgdm9pZCBhdHRhY2hUb1JlbmRlckVsZW1lbnQoUmVuZGVy
RWxlbWVudCYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBjaGlsZCwgUmVuZGVyT2Jq
ZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIpOwotICAgIHZvaWQgYXR0YWNoVG9SZW5kZXJFbGVt
ZW50SW50ZXJuYWwoUmVuZGVyRWxlbWVudCYgcGFyZW50LCBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0
PiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCA9IG51bGxwdHIsIFJlbmRlck9iamVj
dDo6SXNJbnRlcm5hbE1vdmUgPSBSZW5kZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlOjpObyk7Cisg
ICAgdm9pZCBhdHRhY2hUb1JlbmRlckVsZW1lbnRJbnRlcm5hbChSZW5kZXJFbGVtZW50JiBwYXJl
bnQsIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+IGNoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNo
aWxkID0gbnVsbHB0cik7CiAKICAgICBSZW5kZXJQdHI8UmVuZGVyT2JqZWN0PiBkZXRhY2hGcm9t
UmVuZGVyRWxlbWVudChSZW5kZXJFbGVtZW50JiBwYXJlbnQsIFJlbmRlck9iamVjdCYgY2hpbGQs
IFdpbGxCZURlc3Ryb3llZCkgV0FSTl9VTlVTRURfUkVUVVJOOwogICAgIFJlbmRlclB0cjxSZW5k
ZXJPYmplY3Q+IGRldGFjaEZyb21SZW5kZXJHcmlkKFJlbmRlckdyaWQmIHBhcmVudCwgUmVuZGVy
T2JqZWN0JiBjaGlsZCwgV2lsbEJlRGVzdHJveWVkKSBXQVJOX1VOVVNFRF9SRVRVUk47CkBAIC0x
NDYsNyArMTQ3LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250
aW51YXRpb24+IG1fY29udGludWF0aW9uQnVpbGRlcjsKICAgICBib29sIG1faGFzQnJva2VuQ29u
dGludWF0aW9uIHsgZmFsc2UgfTsKLSAgICBSZW5kZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlIG1f
aW50ZXJuYWxNb3Zlc1R5cGUgeyBSZW5kZXJPYmplY3Q6OklzSW50ZXJuYWxNb3ZlOjpObyB9Owor
ICAgIElzSW50ZXJuYWxNb3ZlIG1faW50ZXJuYWxNb3Zlc1R5cGUgeyBJc0ludGVybmFsTW92ZTo6
Tm8gfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRh
dGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCmluZGV4IDZlNTE3OTI4ODBk
OC4uYjM2YzM4MGE0MDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBk
YXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXJJbmxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlcklubGluZS5jcHAKQEAgLTI2Nyw3ICsy
NjcsNyBAQCB2b2lkIFJlbmRlclRyZWVCdWlsZGVyOjpJbmxpbmU6OnNwbGl0RmxvdyhSZW5kZXJJ
bmxpbmUmIHBhcmVudCwgUmVuZGVyT2JqZWN0KiBiZQogCiB2b2lkIFJlbmRlclRyZWVCdWlsZGVy
OjpJbmxpbmU6OnNwbGl0SW5saW5lcyhSZW5kZXJJbmxpbmUmIHBhcmVudCwgUmVuZGVyQmxvY2sq
IGZyb21CbG9jaywgUmVuZGVyQmxvY2sqIHRvQmxvY2ssIFJlbmRlckJsb2NrKiBtaWRkbGVCbG9j
aywgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZCwgUmVuZGVyQm94TW9kZWxPYmplY3QqIG9sZENv
bnQpCiB7Ci0gICAgYXV0byBpbnRlcm5hbE1vdmVTY29wZSA9IFNldEZvclNjb3BlIHsgbV9idWls
ZGVyLm1faW50ZXJuYWxNb3Zlc1R5cGUsIFJlbmRlck9iamVjdDo6SXNJbnRlcm5hbE1vdmU6Olll
cyB9OworICAgIGF1dG8gaW50ZXJuYWxNb3ZlU2NvcGUgPSBTZXRGb3JTY29wZSB7IG1fYnVpbGRl
ci5tX2ludGVybmFsTW92ZXNUeXBlLCBJc0ludGVybmFsTW92ZTo6WWVzIH07CiAgICAgLy8gQ3Jl
YXRlIGEgY2xvbmUgb2YgdGhpcyBpbmxpbmUuCiAgICAgUmVuZGVyUHRyPFJlbmRlcklubGluZT4g
Y2xvbmVJbmxpbmUgPSBjbG9uZUFzQ29udGludWF0aW9uKHBhcmVudCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>