<?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>219208</bug_id>
          
          <creation_ts>2020-11-20 09:25:05 -0800</creation_ts>
          <short_desc>[LFC][Integration] Remove redundant lineBoxWidth from Line</short_desc>
          <delta_ts>2020-11-21 06:03:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>koivisto</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>1709510</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-11-20 09:25:05 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709512</commentid>
    <comment_count>1</comment_count>
      <attachid>414690</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-11-20 09:34:48 -0800</bug_when>
    <thetext>Created attachment 414690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709681</commentid>
    <comment_count>2</comment_count>
      <attachid>414736</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-11-20 15:33:52 -0800</bug_when>
    <thetext>Created attachment 414736
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709690</commentid>
    <comment_count>3</comment_count>
      <attachid>414741</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-11-20 15:55:39 -0800</bug_when>
    <thetext>Created attachment 414741
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709752</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-21 06:02:22 -0800</bug_when>
    <thetext>Committed r270145: &lt;https://trac.webkit.org/changeset/270145&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414741.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709753</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-21 06:03:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/71654774&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414690</attachid>
            <date>2020-11-20 09:34:48 -0800</date>
            <delta_ts>2020-11-20 14:31:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219208-20201120093447.patch</filename>
            <type>text/plain</type>
            <size>18939</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY5YjZhZjMyMTk1MDgy
ZGIwNDQyZTA4NDMyNThjZDUxZDA1ZjkwYi4uOWQ3ZDQ3NDdmNjE2OGRmZjYyZDcyM2M3ZWJmMjZj
MzI2YjU3NzBiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIwLTExLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IFJlbW92ZSByZWR1bmRhbnQgbGluZUJveFdpZHRoIGZyb20gTGluZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjA4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGluZTo6bGluZUJveFdpZHQoKSB3YXMg
aW5jb3JyZWN0bHkgcmV0dXJuaW5nIHRoZSBjb250ZW50IGxvZ2ljYWwgd2lkdGguIEJ5IGRlZmlu
aXRpb24gaXQgaXMgdGhlIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlCisgICAgICAgIGZvciB0
aGUgY29udGVudCBhbmQgdGhlcmVmb3JlIGl0IGVxdWFscyB0byBMaW5lOjpyZWN0KCkud2lkdGgo
KS4KKyAgICAgICAgMS4gSW5pdGlhbGl6ZSB0aGUgTGluZUJveCB3aXRoIHRoZSBsaW5lIHdpZHRo
IChhbmQgbm90IHdpdGggdGhlIGxpbmUgY29udGVudCB3aWR0aCkuCisgICAgICAgIDIuIFJldGFp
biB0aGUgY29udGVudCBsb2dpY2FsIHdpZHRoIGluIElubGluZUxpbmVHZW9tZXRyeSB0byBiZSBh
YmxlIHRvIGNvbXB1dGUgdGhlIHNjcm9sbGFibGUgb3ZlcmZsb3cgZm9yIHRoZSBEaXNwbGF5OjpM
aW5lLgorCisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
Q29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQpOgorICAgICAgICAqIGxheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6YnVpbGQpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNv
bXB1dGVkTGluZUxvZ2ljYWxSZWN0IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJveDo6TGluZUJveCk6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5l
TGluZUJ1aWxkZXIuaDoKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lR2VvbWV0cnkuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21l
dHJ5Ojpsb2dpY2FsUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGlu
ZUxpbmVHZW9tZXRyeTo6Y29udGVudExvZ2ljYWxXaWR0aCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OklubGluZUxpbmVHZW9tZXRyeTo6bW92ZVZlcnRpY2FsbHkpOgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMaW5lR2VvbWV0cnk6OklubGluZUxpbmVHZW9tZXRy
eSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUxpbmVHZW9tZXRyeTo6bGluZUJv
eExvZ2ljYWxTaXplIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6bGluZU92ZXJmbG93V2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpjb21wdXRl
TGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxh
eUxpbmVzIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25MaW5lLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZTo6
TGluZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZTo6cmVjdCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZTo6bGluZUJv
eFdpZHRoIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5
b3V0SW50ZWdyYXRpb25MaW5lSXRlcmF0b3JNb2Rlcm5QYXRoLmg6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXRJbnRlZ3JhdGlvbjo6TGluZUl0ZXJhdG9yTW9kZXJuUGF0aDo6bG9naWNhbFJpZ2h0
IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Q
YWdpbmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjptYWtl
QWRqdXN0ZWRDb250ZW50KToKKwogMjAyMC0xMS0yMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTW92ZSBob3Jpem9udGFsIHNwYWNlIHRyYWNr
aW5nIGZyb20gTGluZSB0byBMaW5lQnVpbGRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCmluZGV4IGQ2YzExNzczZjk2Y2IyYzlmYjBkNGQzZGNjNTY4MWQ4YTA1YzkzNmIuLmE0
OGVmNGYzZDg1NzRmNGI1YWRmNzY1NjdhNDFhZjdlZjFhZjhiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVG
b3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTQ5Myw3ICs0OTMsNyBAQCBJbmxpbmVSZWN0IElubGlu
ZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBM
aW5lQnVpbAogICAgIHVwZGF0ZUJveEdlb21ldHJ5KCk7CiAKICAgICBhdXRvIGNvbnN0cnVjdExp
bmVHZW9tZXRyeSA9IFsmXSB7Ci0gICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lKHsgbGlu
ZUxvZ2ljYWxSZWN0LCBsaW5lQm94LmxvZ2ljYWxTaXplKCksIGxpbmVCb3guYWxpZ25tZW50QmFz
ZWxpbmUoKSwgbGluZUJveC5ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkudmFsdWVPcihJbmxp
bmVMYXlvdXRVbml0IHsgfSkgfSk7CisgICAgICAgIGZvcm1hdHRpbmdTdGF0ZS5hZGRMaW5lKHsg
bGluZUxvZ2ljYWxSZWN0LCBsaW5lQ29udGVudC5jb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQm94
LmFsaWdubWVudEJhc2VsaW5lKCksIGxpbmVCb3guaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCgp
LnZhbHVlT3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pIH0pOwogICAgIH07CiAgICAgY29uc3RydWN0
TGluZUdlb21ldHJ5KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHAKaW5kZXggNDc4YWViOGQ1ZTVkODhiMWU1NGZmMzdmMzYxYzhjZTQyYjYwYjkw
Zi4uNTE5MDVmYTA2N2ViNDYxZjc4NDdjZDU3NjQ3MDc0OTIyMWY2ZDExZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1h
dHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTE1NSwxMSArMTU1
LDEwIEBAIExpbmVCb3ggTGluZUJveEJ1aWxkZXI6OmJ1aWxkKGNvbnN0IExpbmVCdWlsZGVyOjpM
aW5lQ29udGVudCYgbGluZUNvbnRlbnQpCiB7CiAgICAgYXV0byYgcnVucyA9IGxpbmVDb250ZW50
LnJ1bnM7CiAgICAgYXV0byBsaW5lTG9naWNhbFdpZHRoID0gbGluZUNvbnRlbnQubGluZUxvZ2lj
YWxXaWR0aDsKLSAgICBhdXRvIGNvbnRlbnRMb2dpY2FsV2lkdGggPSBsaW5lQ29udGVudC5saW5l
Q29udGVudExvZ2ljYWxXaWR0aDsKICAgICBhdXRvIGlzTGluZUNvbnNpZGVyZWRFbXB0eSA9IGxp
bmVDb250ZW50LmlzTGluZUNvbnNpZGVyZWRFbXB0eSA/IExpbmVCb3g6OklzTGluZUNvbnNpZGVy
ZWRFbXB0eTo6WWVzIDogTGluZUJveDo6SXNMaW5lQ29uc2lkZXJlZEVtcHR5OjpObzsKLSAgICBh
dXRvIGxpbmVCb3ggPSBMaW5lQm94IHsgY29udGVudExvZ2ljYWxXaWR0aCwgaXNMaW5lQ29uc2lk
ZXJlZEVtcHR5IH07CisgICAgYXV0byBsaW5lQm94ID0gTGluZUJveCB7IGxpbmVMb2dpY2FsV2lk
dGgsIGlzTGluZUNvbnNpZGVyZWRFbXB0eSB9OwogCi0gICAgaWYgKGF1dG8gaG9yaXpvbnRhbEFs
aWdubWVudE9mZnNldCA9IExheW91dDo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChydW5zLCBy
b290Qm94KCkuc3R5bGUoKS50ZXh0QWxpZ24oKSwgbGluZUxvZ2ljYWxXaWR0aCwgY29udGVudExv
Z2ljYWxXaWR0aCwgbGluZUNvbnRlbnQuaXNMYXN0TGluZVdpdGhJbmxpbmVDb250ZW50KSkKKyAg
ICBpZiAoYXV0byBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0ID0gTGF5b3V0Ojpob3Jpem9udGFs
QWxpZ25tZW50T2Zmc2V0KHJ1bnMsIHJvb3RCb3goKS5zdHlsZSgpLnRleHRBbGlnbigpLCBsaW5l
TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudC5jb250ZW50TG9naWNhbFdpZHRoLCBsaW5lQ29udGVu
dC5pc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQpKQogICAgICAgICBsaW5lQm94LnNldEhvcml6
b250YWxBbGlnbm1lbnRPZmZzZXQoKmhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQpOwogICAgIGNv
bnN0cnVjdElubGluZUxldmVsQm94ZXMobGluZUJveCwgcnVucyk7CiAgICAgY29tcHV0ZUxpbmVC
b3hIZWlnaHRBbmRhbGlnbklubGluZUxldmVsQm94ZXNWZXJ0aWNhbGx5KGxpbmVCb3gpOwpAQCAt
NTMwLDcgKzUyOSw3IEBAIExpbmVCb3ggSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
OjpsaW5lQm94Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWxkCiAKIElubGluZVJlY3QgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZExpbmVMb2dpY2FsUmVjdChj
b25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmIGxp
bmVDb250ZW50KSBjb25zdAogewotICAgIHJldHVybiB7IGxpbmVDb250ZW50LmxvZ2ljYWxUb3BM
ZWZ0LCBsaW5lQ29udGVudC5saW5lTG9naWNhbFdpZHRoLCBsaW5lQm94LmxvZ2ljYWxIZWlnaHQo
KSB9OworICAgIHJldHVybiB7IGxpbmVDb250ZW50LmxvZ2ljYWxUb3BMZWZ0LCBsaW5lQm94Lmxv
Z2ljYWxXaWR0aCgpLCBsaW5lQm94LmxvZ2ljYWxIZWlnaHQoKSB9OwogfQogCiBJbmxpbmVMYXlv
dXRVbml0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6bG9naWNhbFRvcEZvck5l
eHRMaW5lKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQsIElubGlu
ZUxheW91dFVuaXQgcHJldmlvdXNMaW5lTG9naWNhbEJvdHRvbSwgY29uc3QgRmxvYXRpbmdDb250
ZXh0JiBmbG9hdGluZ0NvbnRleHQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwCmluZGV4IDVhMzUwNjBl
NjE5YzlhYzAzZmZjMTFlMDFlMDU0MDc5MWQ4NjA2MjIuLjc4YmE5ZjI1NjNjYmU2MTZlMGFlNjlj
ZDAxMzczZjk1ZTlmOTQ4MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxp
bmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guY3BwCkBAIC03NSw4ICs3NSw4IEBAIGJv
b2wgTGluZUJveDo6SW5saW5lTGV2ZWxCb3g6Omhhc0xpbmVCb3hSZWxhdGl2ZUFsaWdubWVudCgp
IGNvbnN0CiAgICAgcmV0dXJuIHZlcnRpY2FsQWxpZ25tZW50ID09IFZlcnRpY2FsQWxpZ246OlRv
cCB8fCB2ZXJ0aWNhbEFsaWdubWVudCA9PSBWZXJ0aWNhbEFsaWduOjpCb3R0b207CiB9CiAKLUxp
bmVCb3g6OkxpbmVCb3goSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoLCBJc0xp
bmVDb25zaWRlcmVkRW1wdHkgaXNMaW5lQ29uc2lkZXJlZEVtcHR5KQotICAgIDogbV9sb2dpY2Fs
U2l6ZShjb250ZW50TG9naWNhbFdpZHRoLCB7IH0pCitMaW5lQm94OjpMaW5lQm94KElubGluZUxh
eW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwgSXNMaW5lQ29uc2lkZXJlZEVtcHR5IGlzTGluZUNv
bnNpZGVyZWRFbXB0eSkKKyAgICA6IG1fbG9naWNhbFNpemUobGluZUxvZ2ljYWxXaWR0aCwgeyB9
KQogICAgICwgbV9pc0NvbnNpZGVyZWRFbXB0eShpc0xpbmVDb25zaWRlcmVkRW1wdHkgPT0gSXNM
aW5lQ29uc2lkZXJlZEVtcHR5OjpZZXMpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRleCA5
NzZkM2FhMWM1M2U5NDI4NDViYzcwODQxYTE2Mzk3MDAyMGUyOTk0Li5mMDU5ZmNkMWI0NzUzNmM2
NDUzNDQzMGUwY2UzOTU5Yjg2Nzc5NmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCdWlsZGVyLmgKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogICAgICAgICBib29sIGhhc0ludHJ1c2l2ZUZsb2F0IHsgZmFsc2Ug
fTsKICAgICAgICAgSW5saW5lTGF5b3V0UG9pbnQgbG9naWNhbFRvcExlZnQ7CiAgICAgICAgIElu
bGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aDsKLSAgICAgICAgSW5saW5lTGF5b3V0VW5p
dCBsaW5lQ29udGVudExvZ2ljYWxXaWR0aDsKKyAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBjb250
ZW50TG9naWNhbFdpZHRoOwogICAgICAgICBib29sIGlzTGluZUNvbnNpZGVyZWRFbXB0eSB7IHRy
dWUgfTsKICAgICAgICAgYm9vbCBpc0xhc3RMaW5lV2l0aElubGluZUNvbnRlbnQgeyB0cnVlIH07
CiAgICAgICAgIGNvbnN0IExpbmU6OlJ1bkxpc3QmIHJ1bnM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVHZW9tZXRyeS5o
CmluZGV4IDM4YzEzNDc0NWUyZGRhZjNhNmU2OTEyZjIzOTA0MTkzYzE5NzQzMTIuLmYwMzcwZWE1
MDU3OGZkZjEwZTc4YzM1Mzc4YWU5ODk4OTc3OGRhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVHZW9tZXRyeS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVHZW9tZXRyeS5o
CkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgSW5saW5lTGluZUdl
b21ldHJ5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJbmxp
bmVMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJ
bmxpbmVMYXlvdXRTaXplJiBsaW5lQm94TG9naWNhbFNpemUsIElubGluZUxheW91dFVuaXQgYWxp
Z21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0
KTsKKyAgICBJbmxpbmVMaW5lR2VvbWV0cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2lj
YWxSZWN0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgsIElubGluZUxheW91
dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25t
ZW50T2Zmc2V0KTsKIAogICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbExlZnQoKSBjb25zdCB7
IHJldHVybiBsb2dpY2FsUmVjdCgpLmxlZnQoKTsgfTsKICAgICBJbmxpbmVMYXlvdXRVbml0IGxv
Z2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxSZWN0KCkucmlnaHQoKTsgfTsKQEAg
LTQ2LDI0ICs0NiwyNSBAQCBwdWJsaWM6CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lk
dGgoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLndpZHRoKCk7IH07CiAgICAgSW5saW5l
TGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS5o
ZWlnaHQoKTsgfTsKIAotICAgIGNvbnN0IElubGluZVJlY3QmIGxvZ2ljYWxSZWN0KCkgY29uc3Qg
eyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQotICAgIGNvbnN0IElubGluZUxheW91dFNpemUmIGxp
bmVCb3hMb2dpY2FsU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJveExvZ2ljYWxTaXplOyB9
CisgICAgY29uc3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xp
bmVCb3hMb2dpY2FsUmVjdDsgfQorCisgICAgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNh
bFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50TG9naWNhbFdpZHRoOyB9CiAKICAgICBJ
bmxpbmVMYXlvdXRVbml0IGJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9hbGlnbWVudEJhc2Vs
aW5lOyB9CiAgICAgSW5saW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkg
Y29uc3QgeyByZXR1cm4gbV9ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0OyB9CiAKLSAgICB2b2lk
IG1vdmVWZXJ0aWNhbGx5KElubGluZUxheW91dFVuaXQgb2Zmc2V0KSB7IG1fbG9naWNhbFJlY3Qu
bW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsgfQorICAgIHZvaWQgbW92ZVZlcnRpY2FsbHkoSW5saW5l
TGF5b3V0VW5pdCBvZmZzZXQpIHsgbV9saW5lQm94TG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHko
b2Zmc2V0KTsgfQogCiBwcml2YXRlOgotICAgIElubGluZVJlY3QgbV9sb2dpY2FsUmVjdDsKLSAg
ICBJbmxpbmVMYXlvdXRTaXplIG1fbGluZUJveExvZ2ljYWxTaXplOworICAgIElubGluZVJlY3Qg
bV9saW5lQm94TG9naWNhbFJlY3Q7CisgICAgSW5saW5lTGF5b3V0VW5pdCBtX2NvbnRlbnRMb2dp
Y2FsV2lkdGg7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2FsaWdtZW50QmFzZWxpbmUgeyAwIH07
CiAgICAgSW5saW5lTGF5b3V0VW5pdCBtX2hvcml6b250YWxBbGlnbm1lbnRPZmZzZXQgeyAwIH07
CiB9OwogCi1pbmxpbmUgSW5saW5lTGluZUdlb21ldHJ5OjpJbmxpbmVMaW5lR2VvbWV0cnkoY29u
c3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVMYXlvdXRTaXplJiBs
aW5lQm94TG9naWNhbFNpemUsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5s
aW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQotICAgIDogbV9sb2dpY2Fs
UmVjdChsaW5lTG9naWNhbFJlY3QpCi0gICAgLCBtX2xpbmVCb3hMb2dpY2FsU2l6ZShsaW5lQm94
TG9naWNhbFNpemUpCitpbmxpbmUgSW5saW5lTGluZUdlb21ldHJ5OjpJbmxpbmVMaW5lR2VvbWV0
cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExvZ2ljYWxSZWN0LCBJbmxpbmVMYXlvdXRVbml0
IGNvbnRlbnRMb2dpY2FsV2lkdGgsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwg
SW5saW5lTGF5b3V0VW5pdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQorICAgIDogbV9saW5l
Qm94TG9naWNhbFJlY3QobGluZUJveExvZ2ljYWxSZWN0KQorICAgICwgbV9jb250ZW50TG9naWNh
bFdpZHRoKGNvbnRlbnRMb2dpY2FsV2lkdGgpCiAgICAgLCBtX2FsaWdtZW50QmFzZWxpbmUoYWxp
Z21lbnRCYXNlbGluZSkKICAgICAsIG1faG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChob3Jpem9u
dGFsQWxpZ25tZW50T2Zmc2V0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5l
Q29udGVudEJ1aWxkZXIuY3BwCmluZGV4IGZmZTczMzc5MmI3ZTg2ZmNmNmNlODE4YWY4ZmE3ODVl
OGEzYWY5MmUuLjk2ZWIwYTBjOGY5NDg5NmM3YjI3OTM1NWJkMDliNjg1MTc2NWM3MjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKQEAgLTQ4
LDcgKzQ4LDcgQEAgc3RydWN0IExpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVucyB7CiAg
ICAgYm9vbCBuZWVkc1RyYWlsaW5nQ29udGVudFJlcGxhY2VtZW50IHsgZmFsc2UgfTsKIH07CiAK
LWlubGluZSBzdGF0aWMgZmxvYXQgbGluZU92ZXJmbG93V2lkdGgoY29uc3QgUmVuZGVyQmxvY2tG
bG93JiBmbG93LCBJbmxpbmVMYXlvdXRVbml0IGxpbmVMb2dpY2FsV2lkdGgsIElubGluZUxheW91
dFVuaXQgbGluZUJveExvZ2ljYWxXaWR0aCkKK2lubGluZSBzdGF0aWMgZmxvYXQgbGluZU92ZXJm
bG93V2lkdGgoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBmbG93LCBJbmxpbmVMYXlvdXRVbml0IGxp
bmVMb2dpY2FsV2lkdGgsIElubGluZUxheW91dFVuaXQgbGluZUNvbnRlbnRMb2dpY2FsV2lkdGgp
CiB7CiAgICAgLy8gRklYTUU6IEl0J3MgdGhlIGNvcHkgb2YgdGhlIGxldHMtYWRqdXN0LW92ZXJm
bG93LWZvci10aGUtY2FyZXQgYmVoYXZpb3IgZnJvbSBDb21wbGV4TGluZUxheW91dDo6YWRkT3Zl
cmZsb3dGcm9tSW5saW5lQ2hpbGRyZW4uCiAgICAgYXV0byBlbmRQYWRkaW5nID0gZmxvdy5oYXNP
dmVyZmxvd0NsaXAoKSA/IGZsb3cucGFkZGluZ0VuZCgpIDogMF9sdTsKQEAgLTU2LDggKzU2LDgg
QEAgaW5saW5lIHN0YXRpYyBmbG9hdCBsaW5lT3ZlcmZsb3dXaWR0aChjb25zdCBSZW5kZXJCbG9j
a0Zsb3cmIGZsb3csIElubGluZUxheW91dFUKICAgICAgICAgZW5kUGFkZGluZyA9IGZsb3cuZW5k
UGFkZGluZ1dpZHRoRm9yQ2FyZXQoKTsKICAgICBpZiAoZmxvdy5oYXNPdmVyZmxvd0NsaXAoKSAm
JiAhZW5kUGFkZGluZyAmJiBmbG93LmVsZW1lbnQoKSAmJiBmbG93LmVsZW1lbnQoKS0+aXNSb290
RWRpdGFibGVFbGVtZW50KCkpCiAgICAgICAgIGVuZFBhZGRpbmcgPSAxOwotICAgIGxpbmVCb3hM
b2dpY2FsV2lkdGggKz0gZW5kUGFkZGluZzsKLSAgICByZXR1cm4gc3RkOjptYXgobGluZUxvZ2lj
YWxXaWR0aCwgbGluZUJveExvZ2ljYWxXaWR0aCk7CisgICAgbGluZUNvbnRlbnRMb2dpY2FsV2lk
dGggKz0gZW5kUGFkZGluZzsKKyAgICByZXR1cm4gc3RkOjptYXgobGluZUxvZ2ljYWxXaWR0aCwg
bGluZUNvbnRlbnRMb2dpY2FsV2lkdGgpOwogfQogCiBjbGFzcyBJdGVyYXRvciB7CkBAIC0xODYs
NyArMTg2LDcgQEAgSW5saW5lQ29udGVudEJ1aWxkZXI6OkxpbmVMZXZlbFZpc3VhbEFkanVzdG1l
bnRzRm9yUnVuc0xpc3QgSW5saW5lQ29udGVudEJ1aWxkZXIKICAgICAgICAgbGluZUxldmVsVmlz
dWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uID0g
bGluZU5lZWRzTGVnYWN5SW50ZWdyYWxWZXJ0aWNhbFBvc2l0aW9uKCk7CiAgICAgICAgIGlmIChz
aG91bGRDaGVja0hvcml6b250YWxPdmVyZmxvd0ZvckNvbnRlbnRSZXBsYWNlbWVudCkgewogICAg
ICAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJbmRleF07Ci0gICAgICAgICAgICBhdXRv
IG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZS5sb2dp
Y2FsV2lkdGgoKSwgbGluZS5saW5lQm94TG9naWNhbFNpemUoKS53aWR0aCgpKTsKKyAgICAgICAg
ICAgIGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBs
aW5lLmxvZ2ljYWxXaWR0aCgpLCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSk7CiAgICAgICAg
ICAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVkc1Ry
YWlsaW5nQ29udGVudFJlcGxhY2VtZW50ID0gb3ZlcmZsb3dXaWR0aCA+IGxpbmUubG9naWNhbFdp
ZHRoKCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0zMDcsOSArMzA3LDggQEAgdm9pZCBJbmxpbmVD
b250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKGNvbnN0IExheW91dDo6SW5saW5lRm9y
bWF0dGluZ1N0YXQKICAgICBzaXplX3QgcnVuSW5kZXggPSAwOwogICAgIGZvciAoc2l6ZV90IGxp
bmVJbmRleCA9IDA7IGxpbmVJbmRleCA8IGxpbmVzLnNpemUoKTsgKytsaW5lSW5kZXgpIHsKICAg
ICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJbmRleF07Ci0gICAgICAgIGF1dG8gbGluZUJv
eExvZ2ljYWxTaXplID0gbGluZS5saW5lQm94TG9naWNhbFNpemUoKTsKICAgICAgICAgLy8gRklY
TUU6IFRoaXMgaXMgd2hlcmUgdGhlIGxvZ2ljYWwgdG8gcGh5c2ljYWwgdHJhbnNsYXRlIHNob3Vs
ZCBoYXBwZW4uCi0gICAgICAgIGF1dG8gc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCA9IEZsb2F0UmVj
dCB7IGxpbmUubG9naWNhbExlZnQoKSwgbGluZS5sb2dpY2FsVG9wKCksIGxpbmVPdmVyZmxvd1dp
ZHRoKG1fYmxvY2tGbG93LCBsaW5lLmxvZ2ljYWxXaWR0aCgpLCBsaW5lQm94TG9naWNhbFNpemUu
d2lkdGgoKSksIGxpbmUubG9naWNhbEhlaWdodCgpIH07CisgICAgICAgIGF1dG8gc2Nyb2xsYWJs
ZU92ZXJmbG93UmVjdCA9IEZsb2F0UmVjdCB7IGxpbmUubG9naWNhbExlZnQoKSwgbGluZS5sb2dp
Y2FsVG9wKCksIGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lLmxvZ2ljYWxXaWR0
aCgpLCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSksIGxpbmUubG9naWNhbEhlaWdodCgpIH07
CiAKICAgICAgICAgYXV0byBmaXJzdFJ1bkluZGV4ID0gcnVuSW5kZXg7CiAgICAgICAgIGF1dG8g
bGluZUlua092ZXJmbG93UmVjdCA9IHNjcm9sbGFibGVPdmVyZmxvd1JlY3Q7CkBAIC0zNDQsNyAr
MzQzLDcgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVzKGNv
bnN0IExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXQKICAgICAgICAgICAgIGVuY2xvc2luZ1Rv
cEFuZEJvdHRvbS50b3AgPSByb3VuZFRvSW50KGVuY2xvc2luZ1RvcEFuZEJvdHRvbS50b3ApOwog
ICAgICAgICAgICAgZW5jbG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSA9IHJvdW5kVG9JbnQoZW5j
bG9zaW5nVG9wQW5kQm90dG9tLmJvdHRvbSk7CiAgICAgICAgIH0KLSAgICAgICAgaW5saW5lQ29u
dGVudC5saW5lcy5hcHBlbmQoeyBmaXJzdFJ1bkluZGV4LCBydW5Db3VudCwgbGluZVJlY3QsIGxp
bmVCb3hMb2dpY2FsU2l6ZS53aWR0aCgpLCBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIHNjcm9sbGFi
bGVPdmVyZmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxpbmUoKSwgbGlu
ZS5ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkgfSk7CisgICAgICAgIGlubGluZUNvbnRlbnQu
bGluZXMuYXBwZW5kKHsgZmlyc3RSdW5JbmRleCwgcnVuQ291bnQsIGxpbmVSZWN0LCBlbmNsb3Np
bmdUb3BBbmRCb3R0b20sIHNjcm9sbGFibGVPdmVyZmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1Jl
Y3QsIGxpbmUuYmFzZWxpbmUoKSwgbGluZS5ob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KCkgfSk7
CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRp
b24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lLmgKaW5kZXggOTY5MDVhODNjYTBhMTY5YmE1YzI0
NDZjZGFiYjEwYmJhYTM5MmZjYS4uZDJhZmQwMTQ3NjgxNGZlODk2MTE0Zjg1MmZlZTM5MWQxY2Ni
ODBhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91
dEludGVncmF0aW9uTGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaApAQCAtNDAsMTEgKzQwLDEwIEBAIHB1YmxpYzoKICAg
ICAgICAgZmxvYXQgdG9wIHsgMCB9OwogICAgICAgICBmbG9hdCBib3R0b20geyAwIH07CiAgICAg
fTsKLSAgICBMaW5lKHNpemVfdCBmaXJzdFJ1bkluZGV4LCBzaXplX3QgcnVuQ291bnQsIGNvbnN0
IEZsb2F0UmVjdCYgbGluZVJlY3QsIGZsb2F0IGxpbmVCb3hXaWR0aCwgRW5jbG9zaW5nVG9wQW5k
Qm90dG9tIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgY29uc3QgRmxvYXRSZWN0JiBzY3JvbGxhYmxl
T3ZlcmZsb3csIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3csIGZsb2F0IGJhc2VsaW5lLCBm
bG9hdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQorICAgIExpbmUoc2l6ZV90IGZpcnN0UnVu
SW5kZXgsIHNpemVfdCBydW5Db3VudCwgY29uc3QgRmxvYXRSZWN0JiBsaW5lUmVjdCwgRW5jbG9z
aW5nVG9wQW5kQm90dG9tIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgY29uc3QgRmxvYXRSZWN0JiBz
Y3JvbGxhYmxlT3ZlcmZsb3csIGNvbnN0IEZsb2F0UmVjdCYgaW5rT3ZlcmZsb3csIGZsb2F0IGJh
c2VsaW5lLCBmbG9hdCBob3Jpem9udGFsQWxpZ25tZW50T2Zmc2V0KQogICAgICAgICA6IG1fZmly
c3RSdW5JbmRleChmaXJzdFJ1bkluZGV4KQogICAgICAgICAsIG1fcnVuQ291bnQocnVuQ291bnQp
CiAgICAgICAgICwgbV9saW5lUmVjdChsaW5lUmVjdCkKLSAgICAgICAgLCBtX2xpbmVCb3hXaWR0
aChsaW5lQm94V2lkdGgpCiAgICAgICAgICwgbV9lbmNsb3NpbmdUb3BBbmRCb3R0b20oZW5jbG9z
aW5nVG9wQW5kQm90dG9tKQogICAgICAgICAsIG1fc2Nyb2xsYWJsZU92ZXJmbG93KHNjcm9sbGFi
bGVPdmVyZmxvdykKICAgICAgICAgLCBtX2lua092ZXJmbG93KGlua092ZXJmbG93KQpAQCAtNTYs
NyArNTUsNiBAQCBwdWJsaWM6CiAgICAgc2l6ZV90IGZpcnN0UnVuSW5kZXgoKSBjb25zdCB7IHJl
dHVybiBtX2ZpcnN0UnVuSW5kZXg7IH0KICAgICBzaXplX3QgcnVuQ291bnQoKSBjb25zdCB7IHJl
dHVybiBtX3J1bkNvdW50OyB9CiAgICAgY29uc3QgRmxvYXRSZWN0JiByZWN0KCkgY29uc3QgeyBy
ZXR1cm4gbV9saW5lUmVjdDsgfQotICAgIGZsb2F0IGxpbmVCb3hXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGluZUJveFdpZHRoOyB9CiAgICAgZmxvYXQgZW5jbG9zaW5nQ29udGVudFRvcCgpIGNv
bnN0IHsgcmV0dXJuIG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcDsgfQogICAgIGZsb2F0IGVu
Y2xvc2luZ0NvbnRlbnRCb3R0b20oKSBjb25zdCB7IHJldHVybiBtX2VuY2xvc2luZ1RvcEFuZEJv
dHRvbS5ib3R0b207IH0KICAgICBjb25zdCBGbG9hdFJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdygp
IGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZU92ZXJmbG93OyB9CkBAIC02NywxMiArNjUsOSBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHNpemVfdCBtX2ZpcnN0UnVuSW5kZXggeyAwIH07CiAg
ICAgc2l6ZV90IG1fcnVuQ291bnQgeyAwIH07Ci0gICAgLy8gTGluZSBpcyBhbHdheXMgYXMgdGFs
bCBhcyB0aGUgbGluZSBib3ggaXMuIEhvd2V2ZXIgdGhleSBtYXkgZGlmZmVyIGluIHdpZHRoLgot
ICAgIC8vIFdoaWxlIGxpbmUgYm94IGVuY2xvc2VzIGFsbCB0aGUgaW5saW5lIGxldmVsIGJveGVz
IG9uIHRoZSBsaW5lIGhvcml6b250YWxseSwgdGhlIGxpbmUgaXRzZWxmIG1heSBiZSBzaG9ydGVy
IChhbmQgdHJpZ2dlciBob3Jpem9udGFsIG92ZXJmbG93KS4KLSAgICAvLyBFbmNsb3NpbmcgdG9w
IGFuZCBib3R0b20gaW5jbHVkZXMgYWxsIGlubGluZSBsZXZlbCBib3hlcyAoYm9yZGVyIGJveCkg
dmVydGljYWxseS4gSW4gY2VydGFpbiBjYXNlcyAoc2VlIGxpbmUtaGVpZ2h0IHByb3BlcnR5KQot
ICAgIC8vIHRoZSBsaW5lIChhbmQgdGhlIGxpbmUgYm94KSBpcyBub3QgYXMgdGFsbCBhcyB0aGUg
aW5saW5lIGxldmVsIGJveGVzIG9uIHRoZSBsaW5lLgorICAgIC8vIFRoaXMgbWF0Y2hlcyB0aGUg
bGluZSBib3ggZ2VvbWV0cnkgKHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWlubGluZS0z
LyNsaW5lLWJveCkuCiAgICAgRmxvYXRSZWN0IG1fbGluZVJlY3Q7Ci0gICAgZmxvYXQgbV9saW5l
Qm94V2lkdGggeyAwIH07CisgICAgLy8gRW5jbG9zaW5nIHRvcCBhbmQgYm90dG9tIGluY2x1ZGVz
IGFsbCBpbmxpbmUgbGV2ZWwgYm94ZXMgKGJvcmRlciBib3gpIHZlcnRpY2FsbHkuIEluIGNlcnRh
aW4gY2FzZXMgKHNlZSBsaW5lLWhlaWdodCBwcm9wZXJ0eSkgdGhlIGxpbmUgaXMgbm90IGFzIHRh
bGwgYXMgdGhlIGlubGluZSBsZXZlbCBib3hlcyBvbiB0aGUgbGluZS4KICAgICBFbmNsb3NpbmdU
b3BBbmRCb3R0b20gbV9lbmNsb3NpbmdUb3BBbmRCb3R0b207CiAgICAgRmxvYXRSZWN0IG1fc2Ny
b2xsYWJsZU92ZXJmbG93OwogICAgIEZsb2F0UmVjdCBtX2lua092ZXJmbG93OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uTGlu
ZUl0ZXJhdG9yTW9kZXJuUGF0aC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uTGluZUl0ZXJhdG9yTW9kZXJuUGF0aC5oCmluZGV4IDFkMWYwZDQ4
MTgxNzE0YTNiNjBmMjVhNzhlMTE2NmNlM2MyZmU5NzcuLjVkMWJiNzA3MmM5YTM3YTk3MGQ1ODhi
Mjg3YmJhNjhiOTUwZmJkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmVJdGVyYXRvck1vZGVyblBhdGguaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25MaW5lSXRl
cmF0b3JNb2Rlcm5QYXRoLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIExheW91dFVu
aXQgc2VsZWN0aW9uQm90dG9tKCkgY29uc3QgeyByZXR1cm4gYm90dG9tKCk7IH0KIAogICAgIGZs
b2F0IGxvZ2ljYWxMZWZ0KCkgY29uc3QgeyByZXR1cm4gbGluZSgpLnJlY3QoKS54KCkgKyBsaW5l
KCkuaG9yaXpvbnRhbEFsaWdubWVudE9mZnNldCgpOyB9Ci0gICAgZmxvYXQgbG9naWNhbFJpZ2h0
KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbExlZnQoKSArIGxpbmUoKS5saW5lQm94V2lkdGgoKTsg
fQorICAgIGZsb2F0IGxvZ2ljYWxSaWdodCgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxMZWZ0KCkg
KyBsaW5lKCkucmVjdCgpLndpZHRoKCk7IH0KICAgICBmbG9hdCB5KCkgY29uc3QgeyByZXR1cm4g
bGluZUJveFRvcCgpOyB9CiAgICAgZmxvYXQgbG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJu
IGxpbmUoKS5yZWN0KCkuaGVpZ2h0KCk7IH0KICAgICBib29sIGlzSG9yaXpvbnRhbCgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5jcHAKaW5kZXgg
ZDhmYmU3OWI3ZTRiZTY5M2M4NGU3NmQzY2M1M2UwNmRkOGFjMjRhOS4uODg4NDkyZjYwYjg5NmQ2
ZjUyYTRhOWZkMjVjZDk3NzdmY2IwMDQ1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5hdGlv
bi5jcHAKQEAgLTEzMCw3ICsxMzAsNiBAQCBzdGF0aWMgUmVmPElubGluZUNvbnRlbnQ+IG1ha2VB
ZGp1c3RlZENvbnRlbnQoY29uc3QgSW5saW5lQ29udGVudCYgaW5saW5lQ29udGVudAogICAgICAg
ICAgICAgbGluZS5maXJzdFJ1bkluZGV4KCksCiAgICAgICAgICAgICBsaW5lLnJ1bkNvdW50KCks
CiAgICAgICAgICAgICBtb3ZlVmVydGljYWxseShsaW5lLnJlY3QoKSwgb2Zmc2V0KSwKLSAgICAg
ICAgICAgIGxpbmUucmVjdCgpLndpZHRoKCksCiAgICAgICAgICAgICB7IGxpbmUuZW5jbG9zaW5n
Q29udGVudFRvcCgpICsgb2Zmc2V0LCBsaW5lLmVuY2xvc2luZ0NvbnRlbnRCb3R0b20oKSArIG9m
ZnNldCB9LAogICAgICAgICAgICAgbW92ZVZlcnRpY2FsbHkobGluZS5zY3JvbGxhYmxlT3ZlcmZs
b3coKSwgb2Zmc2V0KSwKICAgICAgICAgICAgIG1vdmVWZXJ0aWNhbGx5KGxpbmUuaW5rT3ZlcmZs
b3coKSwgb2Zmc2V0KSwK
</data>
<flag name="commit-queue"
          id="431692"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414736</attachid>
            <date>2020-11-20 15:33:52 -0800</date>
            <delta_ts>2020-11-20 15:55:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219208-20201120153352.patch</filename>
            <type>text/plain</type>
            <size>30631</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI5Y2Q4ZjBkZTIxMmUw
MmFlYzNkODBhZjRjZTZlYmUyYTdiZThmYS4uYjZhZjBmOTg0NzcyYzcxZjg0ZTQ3YzI0NWNlOTFh
Zjk4MmU2ZDE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTExLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IFJlbW92ZSByZWR1bmRhbnQgbGluZUJveFdpZHRoIGZyb20gTGluZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjA4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGluZTo6bGluZUJveFdpZHRoKCkgaXMg
aW5jb3JyZWN0bHkgcmV0dXJuaW5nIHRoZSBjb250ZW50IGxvZ2ljYWwgd2lkdGguIEJ5IGRlZmlu
aXRpb24gaXQgaXMgdGhlIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlCisgICAgICAgIGZvciB0
aGUgY29udGVudCBhbmQgdGhlcmVmb3JlIGl0IGVxdWFscyB0byBMaW5lOjpyZWN0KCkud2lkdGgo
KS4KKyAgICAgICAgMS4gUmVwbGFjZSBsaW5lTG9naWNhbFJlY3Qgd2l0aCBsaW5lQm94TG9naWNh
bFJlY3QuCisgICAgICAgIDIuIFJlbW92ZSByZWR1bmRhbnQgbGluZUJveFdpZHRoKCkgZnJvbSBM
aW5lLgorCisgICAgICAgICogZGlzcGxheS9jc3MvRGlzcGxheUJveEZhY3RvcnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheTo6Qm94RmFjdG9yeTo6ZGlzcGxheUJveEZvclRleHRSdW4g
Y29uc3QpOgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpj
b250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KToKKyAgICAgICAgKiBs
YXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjppbkZsb3dOb25SZXBsYWNlZENvbnRlbnRIZWlnaHRBbmRNYXJnaW4pOgorICAgICAgICAq
IGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVH
ZW9tZXRyeUZvckxpbmVDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6Y29tcHV0ZWRMaW5lTG9naWNhbFJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJveDo6bG9naWNhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94Ojpsb2dpY2FsVG9wTGVmdCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmxvZ2ljYWxTaXplIGNvbnN0KToKKyAgICAgICAgKiBsYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5OjpsaW5lQm94TG9naWNhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMaW5lR2VvbWV0cnk6Om1vdmVWZXJ0
aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5OjpJ
bmxpbmVMaW5lR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMaW5l
R2VvbWV0cnk6OmxvZ2ljYWxSZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5OjpsaW5lQm94TG9naWNhbFNpemUgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpsaW5lT3ZlcmZsb3dXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3Jh
dGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNvbXB1dGVMaW5lTGV2ZWxWaXN1YWxBZGp1c3Rt
ZW50c0ZvclJ1bnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OklubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpj
cmVhdGVEaXNwbGF5TGluZXMgY29uc3QpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpMaW5lOjpMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpM
aW5lOjpyZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpM
aW5lOjpsaW5lQm94V2lkdGggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0SW50ZWdyYXRpb246Om1ha2VBZGp1c3RlZENvbnRlbnQpOgorICAgICAgICAqIGxh
eW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6c2hvd0lubGluZVRyZWVBbmRSdW5zKToKKwogMjAyMC0xMS0yMCAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gUmVtb3ZlIElubGlu
ZUxpbmVHZW9tZXRyeTo6bG9naWNhbExlZnQvdG9wL2JvdHRvbS9yaWdodC93aWR0aC9oZWlnaHQg
aGVscGVyIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3Mv
RGlzcGxheUJveEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxh
eUJveEZhY3RvcnkuY3BwCmluZGV4IDViM2M0YjVmZmE5OGUwZTkzOGZhZDdlMTkwYTMxMGI1YWZh
ODg1ODQuLjkyNzFmMGNhZjJhNDQxNTZlNTUzZjJkODhmOGFmN2RlNjUwMTlhZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0b3J5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5jcHAKQEAgLTEz
NSw3ICsxMzUsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8Qm94PiBCb3hGYWN0b3J5OjpkaXNwbGF5Qm94
Rm9yTGF5b3V0Qm94KGNvbnN0IExheW91dDo6Qm94JiBsYXlvdQogc3RkOjp1bmlxdWVfcHRyPEJv
eD4gQm94RmFjdG9yeTo6ZGlzcGxheUJveEZvclRleHRSdW4oY29uc3QgTGF5b3V0OjpMaW5lUnVu
JiBydW4sIGNvbnN0IExheW91dDo6SW5saW5lTGluZUdlb21ldHJ5JiBsaW5lR2VvbWV0cnksIExh
eW91dFNpemUgb2Zmc2V0RnJvbVJvb3QpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHJ1bi50ZXh0KCkp
OwotICAgIGF1dG8gbGluZVJlY3QgPSBsaW5lR2VvbWV0cnkubG9naWNhbFJlY3QoKTsKKyAgICBh
dXRvIGxpbmVSZWN0ID0gbGluZUdlb21ldHJ5LmxpbmVCb3hMb2dpY2FsUmVjdCgpOwogICAgIGF1
dG8gbGluZUxheW91dFJlY3QgPSBMYXlvdXRSZWN0IHsgbGluZVJlY3QubGVmdCgpLCBsaW5lUmVj
dC50b3AoKSwgbGluZVJlY3Qud2lkdGgoKSwgbGluZVJlY3QuaGVpZ2h0KCkgfTsKIAogICAgIGF1
dG8gcnVuUmVjdCA9IExheW91dFJlY3QgeyBydW4ubG9naWNhbExlZnQoKSwgcnVuLmxvZ2ljYWxU
b3AoKSwgcnVuLmxvZ2ljYWxXaWR0aCgpLCBydW4ubG9naWNhbEhlaWdodCgpIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5k
ZXggZjU3ZDFhZTY3N2FiYWFmMmJjOWNlODlkYWQ2NTYyYTE3Yzg2M2QwMS4uNzhlMGNkOTk3NzA3
OGJiMDlkNWZmMTczOTc3NmVkYzZkZDk1YWQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMTk3LDggKzE5Nyw4IEBA
IExheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb250ZW50SGVpZ2h0Rm9y
Rm9ybWF0dGluZ0NvbnRleHRSb290KGNvCiAgICAgICAgIGF1dG8mIGxpbmVzID0gaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmxpbmVzKCk7CiAgICAgICAgIC8vIEV2ZW4gZW1wdHkgY29udGFpbmVycyBn
ZW5lcmF0ZSBvbmUgbGluZS4KICAgICAgICAgQVNTRVJUKCFsaW5lcy5pc0VtcHR5KCkpOwotICAg
ICAgICB0b3AgPSBsaW5lcy5maXJzdCgpLmxvZ2ljYWxSZWN0KCkudG9wKCk7Ci0gICAgICAgIGJv
dHRvbSA9IGxpbmVzLmxhc3QoKS5sb2dpY2FsUmVjdCgpLmJvdHRvbSgpICsgaW5saW5lRm9ybWF0
dGluZ1N0YXRlLmNsZWFyR2FwQWZ0ZXJMYXN0TGluZSgpOworICAgICAgICB0b3AgPSBsaW5lcy5m
aXJzdCgpLmxpbmVCb3hMb2dpY2FsUmVjdCgpLnRvcCgpOworICAgICAgICBib3R0b20gPSBsaW5l
cy5sYXN0KCkubGluZUJveExvZ2ljYWxSZWN0KCkuYm90dG9tKCkgKyBpbmxpbmVGb3JtYXR0aW5n
U3RhdGUuY2xlYXJHYXBBZnRlckxhc3RMaW5lKCk7CiAgICAgfSBlbHNlIGlmIChmb3JtYXR0aW5n
Q29udGV4dFJvb3QuZXN0YWJsaXNoZXNGbGV4Rm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAg
ICBhdXRvJiBsaW5lcyA9IGxheW91dFN0YXRlLmVzdGFibGlzaGVkRmxleEZvcm1hdHRpbmdTdGF0
ZShmb3JtYXR0aW5nQ29udGV4dFJvb3QpLmxpbmVzKCk7CiAgICAgICAgIEFTU0VSVCghbGluZXMu
aXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNw
cAppbmRleCA4MGFiMjFjZGYxYWE0YzUyZDdjMmZmMWYzNWJmYzlkNTI3MDYyN2Q5Li5kNTcyNmU5
MDQwMTdhMzM2MTAzMjhlNzRmMjlhODY3YTY4MjIzOThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRy
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC04MSw3ICs4MSw3IEBAIENvbnRlbnRIZWln
aHRBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd05vblJl
cGxhY2VkQ29udGVuCiAgICAgICAgICAgICBhdXRvJiBsaW5lcyA9IGlubGluZUZvcm1hdHRpbmdT
dGF0ZS5saW5lcygpOwogICAgICAgICAgICAgLy8gRXZlbiBlbXB0eSBjb250YWluZXJzIGdlbmVy
YXRlIG9uZSBsaW5lLiAKICAgICAgICAgICAgIEFTU0VSVCghbGluZXMuaXNFbXB0eSgpKTsKLSAg
ICAgICAgICAgIHJldHVybiB7IHRvTGF5b3V0VW5pdChsaW5lcy5sYXN0KCkubG9naWNhbFJlY3Qo
KS5ib3R0b20oKSArIGlubGluZUZvcm1hdHRpbmdTdGF0ZS5jbGVhckdhcEFmdGVyTGFzdExpbmUo
KSkgLSBib3JkZXJBbmRQYWRkaW5nVG9wLCBub25Db2xsYXBzZWRNYXJnaW4gfTsKKyAgICAgICAg
ICAgIHJldHVybiB7IHRvTGF5b3V0VW5pdChsaW5lcy5sYXN0KCkubGluZUJveExvZ2ljYWxSZWN0
KCkuYm90dG9tKCkgKyBpbmxpbmVGb3JtYXR0aW5nU3RhdGUuY2xlYXJHYXBBZnRlckxhc3RMaW5l
KCkpIC0gYm9yZGVyQW5kUGFkZGluZ1RvcCwgbm9uQ29sbGFwc2VkTWFyZ2luIH07CiAgICAgICAg
IH0KIAogICAgICAgICAvLyAyLiB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGJvdHRvbSAocG9zc2li
bHkgY29sbGFwc2VkKSBtYXJnaW4gb2YgaXRzIGxhc3QgaW4tZmxvdyBjaGlsZCwgaWYgdGhlIGNo
aWxkJ3MgYm90dG9tIG1hcmdpbi4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CmluZGV4IDg3MGQzYTgyMmQxZGJlMTRlMjZhZjIyYzcyYWRiMjIxZTJkOGI5YWIuLmI3ZDAzOWQ3
MjUwY2U0NDU3ZjYzNDFlYzg2ZDY3ZmUwYWZmMDcyZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5jcHAKQEAgLTQxMCw3ICs0MTAsNyBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVp
bAogCiAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVCb3goZ2VvbWV0cnkubGluZUJveEZvckxp
bmVDb250ZW50KGxpbmVDb250ZW50KSk7CiAgICAgY29uc3QgYXV0byYgbGluZUJveCA9IGZvcm1h
dHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7Ci0gICAgYXV0byBsaW5lTG9naWNhbFJlY3Qg
PSBnZW9tZXRyeS5jb21wdXRlZExpbmVMb2dpY2FsUmVjdChsaW5lQm94LCBsaW5lQ29udGVudCk7
CisgICAgYXV0byYgbGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdCgpOwog
CiAgICAgYXV0byB1cGRhdGVGbG9hdEdlb21ldHJ5ID0gWyZdIHsKICAgICAgICAgaWYgKGxpbmVD
b250ZW50LmZsb2F0cy5pc0VtcHR5KCkpCkBAIC00MjEsOCArNDIxLDggQEAgSW5saW5lUmVjdCBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29u
c3QgTGluZUJ1aWwKICAgICAgICAgICAgIGF1dG8mIGZsb2F0Qm94ID0gZmxvYXRDYW5kaWRhdGUu
aXRlbS0+bGF5b3V0Qm94KCk7CiAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1h
dHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShmbG9hdEJveCk7CiAgICAgICAgICAgICAvLyBTZXQgc3Rh
dGljIHBvc2l0aW9uIGZpcnN0LgotICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbFN0YXRpY1Bvc2l0
aW9uID0gZmxvYXRDYW5kaWRhdGUuaXNJbnRydXNpdmUgPyBsaW5lTG9naWNhbFJlY3QudG9wKCkg
OiBsaW5lTG9naWNhbFJlY3QuYm90dG9tKCk7Ci0gICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRM
b2dpY2FsVG9wTGVmdCh7IGxpbmVMb2dpY2FsUmVjdC5sZWZ0KCksIHZlcnRpY2FsU3RhdGljUG9z
aXRpb24gfSk7CisgICAgICAgICAgICBhdXRvIHZlcnRpY2FsU3RhdGljUG9zaXRpb24gPSBmbG9h
dENhbmRpZGF0ZS5pc0ludHJ1c2l2ZSA/IGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSA6IGxpbmVC
b3hMb2dpY2FsUmVjdC5ib3R0b20oKTsKKyAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2lj
YWxUb3BMZWZ0KHsgbGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSwgdmVydGljYWxTdGF0aWNQb3Np
dGlvbiB9KTsKICAgICAgICAgICAgIC8vIEZsb2F0IGl0LgogICAgICAgICAgICAgYm94R2VvbWV0
cnkuc2V0TG9naWNhbFRvcExlZnQoZmxvYXRpbmdDb250ZXh0LnBvc2l0aW9uRm9yRmxvYXQoZmxv
YXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cykpOwogICAgICAgICAgICAgZmxvYXRpbmdDb250
ZXh0LmFwcGVuZChmbG9hdEJveCk7CkBAIC00NTcsNyArNDU3LDcgQEAgSW5saW5lUmVjdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3Qg
TGluZUJ1aWwKICAgICAgICAgICAgIC8vIExldCdzIGNvbnZlcnQgdG9wL2xlZnQgcmVsYXRpdmUg
dG8gdGhlIGZvcm1hdHRpbmcgY29udGV4dCByb290LgogICAgICAgICAgICAgYXV0byBsb2dpY2Fs
UmVjdCA9IGxpbmVCb3gubG9naWNhbE1hcmdpblJlY3RGb3JJbmxpbmVMZXZlbEJveChsYXlvdXRC
b3gpOwogICAgICAgICAgICAgLy8gSW5saW5lIGJveCBoZWlnaHQgaW5jbHVkZXMgdGhlIG1hcmdp
biBib3guIExldCdzIGFjY291bnQgZm9yIHRoYXQuCi0gICAgICAgICAgICBhdXRvIGJvcmRlckJv
eExvZ2ljYWxUb3BMZWZ0ID0gbGluZUxvZ2ljYWxSZWN0LnRvcExlZnQoKTsKKyAgICAgICAgICAg
IGF1dG8gYm9yZGVyQm94TG9naWNhbFRvcExlZnQgPSBsaW5lQm94TG9naWNhbFJlY3QudG9wTGVm
dCgpOwogICAgICAgICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExlZnQubW92ZShsb2dpY2FsUmVj
dC5sZWZ0KCksIGxvZ2ljYWxSZWN0LnRvcCgpICsgYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkp
OwogCiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmlzSW5GbG93UG9zaXRpb25lZCgpKQpAQCAt
NDkzLDExICs0OTMsMTEgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29t
cHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICB1cGRhdGVCb3hH
ZW9tZXRyeSgpOwogCiAgICAgYXV0byBjb25zdHJ1Y3RMaW5lR2VvbWV0cnkgPSBbJl0gewotICAg
ICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVMb2dpY2FsUmVjdCwgbGluZUJveC5s
b2dpY2FsU2l6ZSgpLCBsaW5lQm94LmFsaWdubWVudEJhc2VsaW5lKCksIGxpbmVCb3guaG9yaXpv
bnRhbEFsaWdubWVudE9mZnNldCgpLnZhbHVlT3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pLCBsaW5l
Q29udGVudC5jb250ZW50TG9naWNhbFdpZHRoIH0pOworICAgICAgICBmb3JtYXR0aW5nU3RhdGUu
YWRkTGluZSh7IGxpbmVCb3hMb2dpY2FsUmVjdCwgbGluZUJveC5hbGlnbm1lbnRCYXNlbGluZSgp
LCBsaW5lQm94Lmhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoKS52YWx1ZU9yKElubGluZUxheW91
dFVuaXQgeyB9KSwgbGluZUNvbnRlbnQuY29udGVudExvZ2ljYWxXaWR0aCB9KTsKICAgICB9Owog
ICAgIGNvbnN0cnVjdExpbmVHZW9tZXRyeSgpOwogCi0gICAgcmV0dXJuIGxpbmVMb2dpY2FsUmVj
dDsKKyAgICByZXR1cm4gbGluZUJveExvZ2ljYWxSZWN0OwogfQogCiB2b2lkIElubGluZUZvcm1h
dHRpbmdDb250ZXh0OjppbnZhbGlkYXRlRm9ybWF0dGluZ1N0YXRlKGNvbnN0IEludmFsaWRhdGlv
blN0YXRlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDc0YzJiNzc2ODYw
ZGUxNjhmNzNlMWNkMmFkNGViYmQ3OTQwZWUxMjcuLjM5N2M3YWFmNTE0YmNjODI5YzkwY2NkY2Fm
YjU3OWI4MWIxZmQ4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNjcs
NyArNjcsNiBAQCBwcml2YXRlOgogICAgIGNsYXNzIEdlb21ldHJ5IDogcHVibGljIEZvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeSB7CiAgICAgcHVibGljOgogICAgICAgICBMaW5lQm94IGxpbmVC
b3hGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmKTsKLSAgICAg
ICAgSW5saW5lUmVjdCBjb21wdXRlZExpbmVMb2dpY2FsUmVjdChjb25zdCBMaW5lQm94JiwgY29u
c3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JikgY29uc3Q7CiAgICAgICAgIElubGluZUxheW91
dFVuaXQgbG9naWNhbFRvcEZvck5leHRMaW5lKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVu
dCYsIElubGluZUxheW91dFVuaXQgcHJldmlvdXNMaW5lTG9naWNhbEJvdHRvbSwgY29uc3QgRmxv
YXRpbmdDb250ZXh0JikgY29uc3Q7CiAKICAgICAgICAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBp
bmxpbmVCbG9ja0NvbnRlbnRIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgSG9yaXpv
bnRhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJikgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4
IDQ4ZWIxMDZkNDk0MGUzOTBjZDY3MWUwMTkxYjY3MDc0MDZjZmViNTkuLjEwMGUyOGE1NWFkYzZj
OGQwNDYzNzFjMGU4NDA5OTk2Mjc0MDUzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0yNTksNyArMjU5LDcgQEAgdm9pZCBMaW5lQm94
QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25z
dCBMaW5lOjpSdW4KICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbmxpbmVCbG9ja0JveCgp
ICYmIGxheW91dEJveC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAg
ICAgICAgICAgICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSBsYXlvdXRTdGF0ZSgpLmVzdGFi
bGlzaGVkSW5saW5lRm9ybWF0dGluZ1N0YXRlKGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0
Qm94KSk7CiAgICAgICAgICAgICAgICAgYXV0byYgbGFzdExpbmUgPSBmb3JtYXR0aW5nU3RhdGUu
bGluZXMoKS5sYXN0KCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5l
ID0gbGFzdExpbmUubG9naWNhbFJlY3QoKS50b3AoKSArIGxhc3RMaW5lLmJhc2VsaW5lKCk7Cisg
ICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0gbGFzdExpbmUubGluZUJv
eExvZ2ljYWxSZWN0KCkudG9wKCkgKyBsYXN0TGluZS5iYXNlbGluZSgpOwogICAgICAgICAgICAg
ICAgIGFzY2VudCA9IGlubGluZUxldmVsQm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgKyBpbmxp
bmVMZXZlbEJveEdlb21ldHJ5LmJvcmRlclRvcCgpICsgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5w
YWRkaW5nVG9wKCkudmFsdWVPcigwKSArIGlubGluZUJsb2NrQmFzZWxpbmU7CiAgICAgICAgICAg
ICB9IGVsc2UgaWYgKGxheW91dEJveC5pc1JlcGxhY2VkQm94KCkpCiAgICAgICAgICAgICAgICAg
YXNjZW50ID0gZG93bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJveCkuYmFzZWxpbmUoKS52YWx1
ZU9yKG1hcmdpbkJveEhlaWdodCk7CkBAIC01MjgsMTEgKzUyOCw2IEBAIExpbmVCb3ggSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpsaW5lQm94Rm9yTGluZUNvbnRlbnQoY29uc3Qg
TGluZUJ1aWxkCiAgICAgcmV0dXJuIExpbmVCb3hCdWlsZGVyKGZvcm1hdHRpbmdDb250ZXh0KCkp
LmJ1aWxkKGxpbmVDb250ZW50KTsKIH0KIAotSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDo6R2VvbWV0cnk6OmNvbXB1dGVkTGluZUxvZ2ljYWxSZWN0KGNvbnN0IExpbmVCb3gmIGxp
bmVCb3gsIGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIHsgbGluZUJveC5sb2dpY2FsVG9wTGVmdCgpLCBsaW5lQ29udGVudC5s
aW5lTG9naWNhbFdpZHRoLCBsaW5lQm94LmxvZ2ljYWxIZWlnaHQoKSB9OwotfQotCiBJbmxpbmVM
YXlvdXRVbml0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6bG9naWNhbFRvcEZv
ck5leHRMaW5lKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQsIElu
bGluZUxheW91dFVuaXQgcHJldmlvdXNMaW5lTG9naWNhbEJvdHRvbSwgY29uc3QgRmxvYXRpbmdD
b250ZXh0JiBmbG9hdGluZ0NvbnRleHQpIGNvbnN0CiB7CiAgICAgLy8gTm9ybWFsbHkgdGhlIG5l
eHQgbGluZSdzIGxvZ2ljYWwgdG9wIGlzIHRoZSBwcmV2aW91cyBsaW5lJ3MgbG9naWNhbCBib3R0
b20sIGJ1dCB3aGVuIHRoZSBsaW5lIGVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaAppbmRleCA3NTE1ZjBjZmMwNjM4
YTEwYjQ1ZThlNTY2MTg2OTYzOGNhMzFiM2JmLi4xZjBhNzZjODNjMmVjZDMwMjI4OThlYWZlZWM3
ZjNmZDhhMGVkMmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCkBAIC0xMzEsMTAgKzEzMSwxMSBAQCBwdWJsaWM6
CiAgICAgZW51bSBjbGFzcyBJc0xpbmVDb25zaWRlcmVkRW1wdHkgeyBObywgWWVzIH07CiAgICAg
TGluZUJveChjb25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbG9naWNhbFRvcExlZnQsIElubGluZUxh
eW91dFVuaXQgbG9naWNhbFdpZHRoLCBJc0xpbmVDb25zaWRlcmVkRW1wdHkpOwogCisgICAgY29u
c3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0
OyB9CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBs
b2dpY2FsU2l6ZSgpLndpZHRoKCk7IH0KICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxIZWln
aHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsU2l6ZSgpLmhlaWdodCgpOyB9Ci0gICAgSW5saW5l
TGF5b3V0UG9pbnQgbG9naWNhbFRvcExlZnQoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0
LnRvcExlZnQoKTsgfQotICAgIElubGluZUxheW91dFNpemUgbG9naWNhbFNpemUoKSBjb25zdCB7
IHJldHVybiBtX2xvZ2ljYWxSZWN0LnNpemUoKTsgfQorICAgIElubGluZUxheW91dFBvaW50IGxv
Z2ljYWxUb3BMZWZ0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS50b3BMZWZ0KCk7IH0K
KyAgICBJbmxpbmVMYXlvdXRTaXplIGxvZ2ljYWxTaXplKCkgY29uc3QgeyByZXR1cm4gbG9naWNh
bFJlY3QoKS5zaXplKCk7IH0KIAogICAgIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGhvcml6
b250YWxBbGlnbm1lbnRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2hvcml6b250YWxBbGlnbm1l
bnRPZmZzZXQ7IH0KICAgICBib29sIGlzQ29uc2lkZXJlZEVtcHR5KCkgY29uc3QgeyByZXR1cm4g
bV9pc0NvbnNpZGVyZWRFbXB0eTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUdlb21ldHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaAppbmRleCAzMjQwMzhk
YmY3ZTQ5NWVkZGZmZDQxNjA2MjZhYzJiYjE0NWE2ZGEwLi5kYTY4ZTczYTQzYTczZTUzOGUyYTM0
NDQxMGFiNWY4NDc3MmQ3OGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaApAQCAtMzUsMjkgKzM1
LDI2IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgSW5saW5lTGluZUdlb21ldHJ5IHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJbmxpbmVMaW5lR2VvbWV0
cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVMYXlvdXRT
aXplJiBsaW5lQm94TG9naWNhbFNpemUsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGlu
ZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbE9mZnNldCwgSW5saW5lTGF5b3V0VW5p
dCBjb250ZW50TG9naWNhbFdpZHRoKTsKKyAgICBJbmxpbmVMaW5lR2VvbWV0cnkoY29uc3QgSW5s
aW5lUmVjdCYgbGluZUJveExvZ2ljYWxSZWN0LCBJbmxpbmVMYXlvdXRVbml0IGFsaWdtZW50QmFz
ZWxpbmUsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxPZmZzZXQsIElubGluZUxheW91
dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CiAKLSAgICBjb25zdCBJbmxpbmVSZWN0JiBsb2dp
Y2FsUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9naWNhbFJlY3Q7IH0KLSAgICBjb25zdCBJbmxp
bmVMYXlvdXRTaXplJiBsaW5lQm94TG9naWNhbFNpemUoKSBjb25zdCB7IHJldHVybiBtX2xpbmVC
b3hMb2dpY2FsU2l6ZTsgfQorICAgIGNvbnN0IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVj
dCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUJveExvZ2ljYWxSZWN0OyB9CiAKICAgICBJbmxpbmVM
YXlvdXRVbml0IGJhc2VsaW5lKCkgY29uc3QgeyByZXR1cm4gbV9hbGlnbWVudEJhc2VsaW5lOyB9
CiAKICAgICBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsT2Zmc2V0KCkgY29uc3QgeyBy
ZXR1cm4gbV9jb250ZW50TG9naWNhbE9mZnNldDsgfQogICAgIElubGluZUxheW91dFVuaXQgY29u
dGVudExvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudExvZ2ljYWxXaWR0aDsg
fQogCi0gICAgdm9pZCBtb3ZlVmVydGljYWxseShJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkgeyBt
X2xvZ2ljYWxSZWN0Lm1vdmVWZXJ0aWNhbGx5KG9mZnNldCk7IH0KKyAgICB2b2lkIG1vdmVWZXJ0
aWNhbGx5KElubGluZUxheW91dFVuaXQgb2Zmc2V0KSB7IG1fbGluZUJveExvZ2ljYWxSZWN0Lm1v
dmVWZXJ0aWNhbGx5KG9mZnNldCk7IH0KIAogcHJpdmF0ZToKLSAgICBJbmxpbmVSZWN0IG1fbG9n
aWNhbFJlY3Q7Ci0gICAgSW5saW5lTGF5b3V0U2l6ZSBtX2xpbmVCb3hMb2dpY2FsU2l6ZTsKKyAg
ICBJbmxpbmVSZWN0IG1fbGluZUJveExvZ2ljYWxSZWN0OwogICAgIElubGluZUxheW91dFVuaXQg
bV9hbGlnbWVudEJhc2VsaW5lIHsgMCB9OwogICAgIElubGluZUxheW91dFVuaXQgbV9jb250ZW50
TG9naWNhbE9mZnNldCB7IDAgfTsKICAgICBJbmxpbmVMYXlvdXRVbml0IG1fY29udGVudExvZ2lj
YWxXaWR0aCB7IDAgfTsKIH07CiAKLWlubGluZSBJbmxpbmVMaW5lR2VvbWV0cnk6OklubGluZUxp
bmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lTG9naWNhbFJlY3QsIGNvbnN0IElubGlu
ZUxheW91dFNpemUmIGxpbmVCb3hMb2dpY2FsU2l6ZSwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVu
dEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsT2Zmc2V0LCBJbmxpbmVM
YXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgpCi0gICAgOiBtX2xvZ2ljYWxSZWN0KGxpbmVM
b2dpY2FsUmVjdCkKLSAgICAsIG1fbGluZUJveExvZ2ljYWxTaXplKGxpbmVCb3hMb2dpY2FsU2l6
ZSkKK2lubGluZSBJbmxpbmVMaW5lR2VvbWV0cnk6OklubGluZUxpbmVHZW9tZXRyeShjb25zdCBJ
bmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3QsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRC
YXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbE9mZnNldCwgSW5saW5lTGF5
b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKQorICAgIDogbV9saW5lQm94TG9naWNhbFJlY3Qo
bGluZUJveExvZ2ljYWxSZWN0KQogICAgICwgbV9hbGlnbWVudEJhc2VsaW5lKGFsaWdtZW50QmFz
ZWxpbmUpCiAgICAgLCBtX2NvbnRlbnRMb2dpY2FsT2Zmc2V0KGNvbnRlbnRMb2dpY2FsT2Zmc2V0
KQogICAgICwgbV9jb250ZW50TG9naWNhbFdpZHRoKGNvbnRlbnRMb2dpY2FsV2lkdGgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggYWNl
ODI5ZjZlYzliZmUyN2ZkNzVhZjIxOGE2NmYxOTk0MDA3ZDNmYy4uNzliN2M5NjlhMWFmYzJkMDVl
OWM1NzVkZDk2M2ZjMjJmNDlmZjE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtNDgsNyArNDgsNyBAQCBzdHJ1Y3QgTGluZUxldmVs
VmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zIHsKICAgICBib29sIG5lZWRzVHJhaWxpbmdDb250ZW50
UmVwbGFjZW1lbnQgeyBmYWxzZSB9OwogfTsKIAotaW5saW5lIHN0YXRpYyBmbG9hdCBsaW5lT3Zl
cmZsb3dXaWR0aChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIElubGluZUxheW91dFVuaXQg
bGluZUxvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFdpZHRoKQor
aW5saW5lIHN0YXRpYyBmbG9hdCBsaW5lT3ZlcmZsb3dXaWR0aChjb25zdCBSZW5kZXJCbG9ja0Zs
b3cmIGZsb3csIElubGluZUxheW91dFVuaXQgbGluZUJveExvZ2ljYWxXaWR0aCwgSW5saW5lTGF5
b3V0VW5pdCBsaW5lQ29udGVudExvZ2ljYWxXaWR0aCkKIHsKICAgICAvLyBGSVhNRTogSXQncyB0
aGUgY29weSBvZiB0aGUgbGV0cy1hZGp1c3Qtb3ZlcmZsb3ctZm9yLXRoZS1jYXJldCBiZWhhdmlv
ciBmcm9tIENvbXBsZXhMaW5lTGF5b3V0OjphZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbi4K
ICAgICBhdXRvIGVuZFBhZGRpbmcgPSBmbG93Lmhhc092ZXJmbG93Q2xpcCgpID8gZmxvdy5wYWRk
aW5nRW5kKCkgOiAwX2x1OwpAQCAtNTYsOCArNTYsOCBAQCBpbmxpbmUgc3RhdGljIGZsb2F0IGxp
bmVPdmVyZmxvd1dpZHRoKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgSW5saW5lTGF5b3V0
VQogICAgICAgICBlbmRQYWRkaW5nID0gZmxvdy5lbmRQYWRkaW5nV2lkdGhGb3JDYXJldCgpOwog
ICAgIGlmIChmbG93Lmhhc092ZXJmbG93Q2xpcCgpICYmICFlbmRQYWRkaW5nICYmIGZsb3cuZWxl
bWVudCgpICYmIGZsb3cuZWxlbWVudCgpLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkKICAgICAg
ICAgZW5kUGFkZGluZyA9IDE7Ci0gICAgbGluZUJveExvZ2ljYWxXaWR0aCArPSBlbmRQYWRkaW5n
OwotICAgIHJldHVybiBzdGQ6Om1heChsaW5lTG9naWNhbFdpZHRoLCBsaW5lQm94TG9naWNhbFdp
ZHRoKTsKKyAgICBsaW5lQ29udGVudExvZ2ljYWxXaWR0aCArPSBlbmRQYWRkaW5nOworICAgIHJl
dHVybiBzdGQ6Om1heChsaW5lQm94TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudExvZ2ljYWxXaWR0
aCk7CiB9CiAKIGNsYXNzIEl0ZXJhdG9yIHsKQEAgLTE4Niw5ICsxODYsOSBAQCBJbmxpbmVDb250
ZW50QnVpbGRlcjo6TGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJbmxpbmVD
b250ZW50QnVpbGRlcgogICAgICAgICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNb
bGluZUluZGV4XS5uZWVkc0ludGVncmFsUG9zaXRpb24gPSBsaW5lTmVlZHNMZWdhY3lJbnRlZ3Jh
bFZlcnRpY2FsUG9zaXRpb24oKTsKICAgICAgICAgaWYgKHNob3VsZENoZWNrSG9yaXpvbnRhbE92
ZXJmbG93Rm9yQ29udGVudFJlcGxhY2VtZW50KSB7CiAgICAgICAgICAgICBhdXRvJiBsaW5lID0g
bGluZXNbbGluZUluZGV4XTsKLSAgICAgICAgICAgIGF1dG8mIGxpbmVMb2dpY2FsUmVjdCA9IGxp
bmUubG9naWNhbFJlY3QoKTsKLSAgICAgICAgICAgIGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVP
dmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lTG9naWNhbFJlY3Qud2lkdGgoKSwgbGluZS5s
aW5lQm94TG9naWNhbFNpemUoKS53aWR0aCgpKTsKLSAgICAgICAgICAgIGxpbmVMZXZlbFZpc3Vh
bEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzVHJhaWxpbmdDb250ZW50UmVwbGFj
ZW1lbnQgPSBvdmVyZmxvd1dpZHRoID4gbGluZUxvZ2ljYWxSZWN0LndpZHRoKCk7CisgICAgICAg
ICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsV2lkdGggPSBsaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgp
LndpZHRoKCk7CisgICAgICAgICAgICBhdXRvIG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZsb3dX
aWR0aChtX2Jsb2NrRmxvdywgbGluZUJveExvZ2ljYWxXaWR0aCwgbGluZS5jb250ZW50TG9naWNh
bFdpZHRoKCkpOworICAgICAgICAgICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5z
W2xpbmVJbmRleF0ubmVlZHNUcmFpbGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93V2lk
dGggPiBsaW5lQm94TG9naWNhbFdpZHRoOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBs
aW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnM7CkBAIC0yMTMsMTMgKzIxMywxMyBAQCB2
b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5
b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgIGF1dG8gY3JlYXRlRGlzcGxheUJveFJ1biA9IFsm
XShhdXRvJiBsaW5lUnVuKSB7CiAgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGxpbmVSdW4ubGF5
b3V0Qm94KCk7CiAgICAgICAgIGF1dG8gbGluZUluZGV4ID0gbGluZVJ1bi5saW5lSW5kZXgoKTsK
LSAgICAgICAgYXV0byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZXNbbGluZUluZGV4XS5sb2dpY2Fs
UmVjdCgpOworICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lc1tsaW5lSW5k
ZXhdLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwogICAgICAgICAvLyBJbmxpbmUgYm94ZXMgYXJlIHJl
bGF0aXZlIHRvIHRoZSBsaW5lIGJveCB3aGlsZSBmaW5hbCBSdW5zIG5lZWQgdG8gYmUgcmVsYXRp
dmUgdG8gdGhlIHBhcmVudCBCb3gKICAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3ZSBqdXN0
IGxlYXZlIHRoZW0gYmUgcmVsYXRpdmUgdG8gdGhlIGxpbmUgYm94PwogICAgICAgICBhdXRvIHJ1
blJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKICAgICAgICAgLy8g
TGluZSBydW5zIGFyZSBtYXJnaW4gYm94IGJhc2VkLCBsZXQncyBjb252ZXJ0IHRoZW0gdG8gYm9y
ZGVyIGJveC4KICAgICAgICAgYXV0byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0YXRlLmdlb21ldHJ5
Rm9yQm94KGxheW91dEJveCk7Ci0gICAgICAgIHJ1blJlY3QubW92ZUJ5KHsgbGluZUxvZ2ljYWxS
ZWN0LmxlZnQoKSArIHN0ZDo6bWF4KGdlb21ldHJ5Lm1hcmdpblN0YXJ0KCksIDBfbHUpLCBsaW5l
TG9naWNhbFJlY3QudG9wKCkgKyBnZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSB9KTsKKyAgICAgICAg
cnVuUmVjdC5tb3ZlQnkoeyBsaW5lQm94TG9naWNhbFJlY3QubGVmdCgpICsgc3RkOjptYXgoZ2Vv
bWV0cnkubWFyZ2luU3RhcnQoKSwgMF9sdSksIGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSArIGdl
b21ldHJ5Lm1hcmdpbkJlZm9yZSgpIH0pOwogICAgICAgICBydW5SZWN0LnNldFNpemUoeyBnZW9t
ZXRyeS5ib3JkZXJCb3hXaWR0aCgpLCBnZW9tZXRyeS5ib3JkZXJCb3hIZWlnaHQoKSB9KTsKICAg
ICAgICAgaWYgKGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5l
ZWRzSW50ZWdyYWxQb3NpdGlvbikKICAgICAgICAgICAgIHJ1blJlY3Quc2V0WShyb3VuZFRvSW50
KHJ1blJlY3QueSgpKSk7CkBAIC0yMzIsMTEgKzIzMiwxMSBAQCB2b2lkIElubGluZUNvbnRlbnRC
dWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0
aW5nUwogICAgICAgICBSRUxFQVNFX0FTU0VSVChzdGFydE9mZnNldCA8IGVuZE9mZnNldCk7CiAg
ICAgICAgIGF1dG8mIGxheW91dEJveCA9IGxpbmVSdW4ubGF5b3V0Qm94KCk7CiAgICAgICAgIGF1
dG8gbGluZUluZGV4ID0gbGluZVJ1bi5saW5lSW5kZXgoKTsKLSAgICAgICAgYXV0byYgbGluZUxv
Z2ljYWxSZWN0ID0gbGluZXNbbGluZUluZGV4XS5sb2dpY2FsUmVjdCgpOworICAgICAgICBhdXRv
JiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lc1tsaW5lSW5kZXhdLmxpbmVCb3hMb2dpY2FsUmVj
dCgpOwogICAgICAgICBhdXRvIHJ1blJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxS
ZWN0KCkgfTsKICAgICAgICAgLy8gSW5saW5lIGJveGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgbGlu
ZSBib3ggd2hpbGUgZmluYWwgUnVucyBuZWVkIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQg
Qm94CiAgICAgICAgIC8vIEZJWE1FOiBTaG91bGRuJ3Qgd2UganVzdCBsZWF2ZSB0aGVtIGJlIHJl
bGF0aXZlIHRvIHRoZSBsaW5lIGJveD8KLSAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lTG9n
aWNhbFJlY3QubGVmdCgpLCBsaW5lTG9naWNhbFJlY3QudG9wKCkgfSk7CisgICAgICAgIHJ1blJl
Y3QubW92ZUJ5KHsgbGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSwgbGluZUJveExvZ2ljYWxSZWN0
LnRvcCgpIH0pOwogICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5z
W2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKQogICAgICAgICAgICAgcnVuUmVjdC5z
ZXRZKHJvdW5kVG9JbnQocnVuUmVjdC55KCkpKTsKIApAQCAtMjU0LDEyICsyNTQsMTIgQEAgdm9p
ZCBJbmxpbmVDb250ZW50QnVpbGRlcjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91
dDo6SW5saW5lRm9ybWF0dGluZ1MKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
YXV0byBydW5Mb2dpY2FsUmVjdCA9IGxpbmVSdW4ubG9naWNhbFJlY3QoKTsKICAgICAgICAgICAg
ICAgICBhdXRvIGVsbGlwc2lzV2lkdGggPSBzdHlsZS5mb250Q2FzY2FkZSgpLndpZHRoKFdlYkNv
cmU6OlRleHRSdW4geyAmaG9yaXpvbnRhbEVsbGlwc2lzIH0pOwotICAgICAgICAgICAgICAgIGlm
IChydW5Mb2dpY2FsUmVjdC5yaWdodCgpICsgZWxsaXBzaXNXaWR0aCA+IGxpbmVMb2dpY2FsUmVj
dC5yaWdodCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKHJ1bkxvZ2ljYWxSZWN0LnJpZ2h0KCkg
KyBlbGxpcHNpc1dpZHRoID4gbGluZUJveExvZ2ljYWxSZWN0LnJpZ2h0KCkpIHsKICAgICAgICAg
ICAgICAgICAgICAgLy8gVGhlIG5leHQgcnVuIHdpdGggZWxsaXBzaXMgd291bGQgc3VyZWx5IG92
ZXJmbG93LiBTbyBsZXQncyBqdXN0IGFkZCBpdCB0byB0aGlzIHJ1biBldmVuIGlmCiAgICAgICAg
ICAgICAgICAgICAgIC8vIGl0IG1ha2VzIHRoZSBydW4gd2lkZXIgdGhhbiBpdCBvcmlnaW5hbGx5
IHdhcy4KICAgICAgICAgICAgICAgICAgICAgaGFzQWRqdXN0ZWRUcmFpbGluZ0xpbmVMaXN0W2xp
bmVJbmRleF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBmbG9hdCByZXN1bHRXaWR0aCA9
IDA7Ci0gICAgICAgICAgICAgICAgICAgIGF1dG8gbWF4V2lkdGggPSBsaW5lTG9naWNhbFJlY3Qu
d2lkdGgoKSAtIHJ1bkxvZ2ljYWxSZWN0LmxlZnQoKTsKKyAgICAgICAgICAgICAgICAgICAgYXV0
byBtYXhXaWR0aCA9IGxpbmVCb3hMb2dpY2FsUmVjdC53aWR0aCgpIC0gcnVuTG9naWNhbFJlY3Qu
bGVmdCgpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdo
dFRydW5jYXRlKG9yaWdpbmFsQ29udGVudCwgbWF4V2lkdGgsIHN0eWxlLmZvbnRDYXNjYWRlKCks
IHJlc3VsdFdpZHRoLCB0cnVlKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBA
IC0zMDcsMjAgKzMwNywxOCBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNw
bGF5TGluZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdAogICAgIHNpemVfdCBy
dW5JbmRleCA9IDA7CiAgICAgZm9yIChzaXplX3QgbGluZUluZGV4ID0gMDsgbGluZUluZGV4IDwg
bGluZXMuc2l6ZSgpOyArK2xpbmVJbmRleCkgewogICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNb
bGluZUluZGV4XTsKLSAgICAgICAgYXV0byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZS5sb2dpY2Fs
UmVjdCgpOwotICAgICAgICBhdXRvIGxpbmVCb3hMb2dpY2FsU2l6ZSA9IGxpbmUubGluZUJveExv
Z2ljYWxTaXplKCk7CisgICAgICAgIGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmUubGlu
ZUJveExvZ2ljYWxSZWN0KCk7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdoZXJlIHRoZSBs
b2dpY2FsIHRvIHBoeXNpY2FsIHRyYW5zbGF0ZSBzaG91bGQgaGFwcGVuLgotICAgICAgICBhdXRv
IHNjcm9sbGFibGVPdmVyZmxvd1JlY3QgPSBGbG9hdFJlY3QgeyBsaW5lTG9naWNhbFJlY3QubGVm
dCgpLCBsaW5lTG9naWNhbFJlY3QudG9wKCksIGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93
LCBsaW5lTG9naWNhbFJlY3Qud2lkdGgoKSwgbGluZUJveExvZ2ljYWxTaXplLndpZHRoKCkpLCBs
aW5lTG9naWNhbFJlY3QuaGVpZ2h0KCkgfTsKKyAgICAgICAgYXV0byBzY3JvbGxhYmxlT3ZlcmZs
b3dSZWN0ID0gRmxvYXRSZWN0IHsgbGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSwgbGluZUJveExv
Z2ljYWxSZWN0LnRvcCgpLCBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZUJveExv
Z2ljYWxSZWN0LndpZHRoKCksIGxpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpKSwgbGluZUJveExv
Z2ljYWxSZWN0LmhlaWdodCgpIH07CiAKICAgICAgICAgYXV0byBmaXJzdFJ1bkluZGV4ID0gcnVu
SW5kZXg7CiAgICAgICAgIGF1dG8gbGluZUlua092ZXJmbG93UmVjdCA9IHNjcm9sbGFibGVPdmVy
Zmxvd1JlY3Q7CiAgICAgICAgIHdoaWxlIChydW5JbmRleCA8IHJ1bnMuc2l6ZSgpICYmIHJ1bnNb
cnVuSW5kZXhdLmxpbmVJbmRleCgpID09IGxpbmVJbmRleCkKICAgICAgICAgICAgIGxpbmVJbmtP
dmVyZmxvd1JlY3QudW5pdGUocnVuc1tydW5JbmRleCsrXS5pbmtPdmVyZmxvdygpKTsKICAgICAg
ICAgYXV0byBydW5Db3VudCA9IHJ1bkluZGV4IC0gZmlyc3RSdW5JbmRleDsKLSAgICAgICAgYXV0
byBsaW5lUmVjdCA9IEZsb2F0UmVjdCB7IGxpbmVMb2dpY2FsUmVjdCB9OwogICAgICAgICBhdXRv
IGVuY2xvc2luZ1RvcEFuZEJvdHRvbSA9IFsmXSB7CiAgICAgICAgICAgICAvLyBMZXQncyAodmVy
dGljYWxseSllbmNsb3NlIGFsbCB0aGUgaW5saW5lIGxldmVsIGJveGVzLgotICAgICAgICAgICAg
Ly8gVGhpcyBtb3N0bHkgbWF0Y2hlcyAnbGluZVJlY3QnLCB1bmxlc3MgbGluZS1oZWlnaHQgdHJp
Z2dlcnMgbGluZSBib3ggb3ZlcmZsb3cgKG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIGluayBvciBz
Y3JvbGwgb3ZlcmZsb3cpLgorICAgICAgICAgICAgLy8gVGhpcyBtb3N0bHkgbWF0Y2hlcyAnbGlu
ZSBib3ggcmVjdCcsIHVubGVzcyBsaW5lLWhlaWdodCB0cmlnZ2VycyBsaW5lIGJveCBvdmVyZmxv
dyAobm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggaW5rIG9yIHNjcm9sbCBvdmVyZmxvdykuCiAgICAg
ICAgICAgICBhdXRvIGVuY2xvc2luZ1RvcCA9IE9wdGlvbmFsPGZsb2F0PiB7IH07CiAgICAgICAg
ICAgICBhdXRvIGVuY2xvc2luZ0JvdHRvbSA9IE9wdGlvbmFsPGZsb2F0PiB7IH07CiAgICAgICAg
ICAgICBhdXRvJiBsaW5lQm94ID0gbGluZUJveGVzW2xpbmVJbmRleF07CkBAIC0zMzgsMTQgKzMz
NiwxNSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoY29u
c3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdAogICAgICAgICAgICAgLy8gVGhlcmUncyBh
bHdheXMgYXQgbGVhc3Qgb25lIGlubGluZSBsZXZlbCBib3gsIHRoZSByb290IGlubGluZSBib3gu
CiAgICAgICAgICAgICBBU1NFUlQoZW5jbG9zaW5nQm90dG9tICYmIGVuY2xvc2luZ1RvcCk7CiAg
ICAgICAgICAgICAvLyBpbmxpbmUgYm94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lLCBsZXQn
cyBtYWtlIHRoZW0gcmVsYXRpdmUgdG8gdGhlIHJvb3QncyBjb250ZW50IGJveC4KLSAgICAgICAg
ICAgIHJldHVybiBMaW5lOjpFbmNsb3NpbmdUb3BBbmRCb3R0b20geyBsaW5lUmVjdC55KCkgKyAq
ZW5jbG9zaW5nVG9wLCBsaW5lUmVjdC55KCkgKyAqZW5jbG9zaW5nQm90dG9tIH07CisgICAgICAg
ICAgICByZXR1cm4gTGluZTo6RW5jbG9zaW5nVG9wQW5kQm90dG9tIHsgbGluZUJveExvZ2ljYWxS
ZWN0LnRvcCgpICsgKmVuY2xvc2luZ1RvcCwgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpICsgKmVu
Y2xvc2luZ0JvdHRvbSB9OwogICAgICAgICB9KCk7CisgICAgICAgIGF1dG8gYWRqdXN0ZWRMaW5l
Qm94UmVjdCA9IEZsb2F0UmVjdCB7IGxpbmVCb3hMb2dpY2FsUmVjdCB9OwogICAgICAgICBpZiAo
bGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3Jh
bFBvc2l0aW9uKSB7Ci0gICAgICAgICAgICBsaW5lUmVjdC5zZXRZKHJvdW5kVG9JbnQobGluZVJl
Y3QueSgpKSk7CisgICAgICAgICAgICBhZGp1c3RlZExpbmVCb3hSZWN0LnNldFkocm91bmRUb0lu
dChhZGp1c3RlZExpbmVCb3hSZWN0LnkoKSkpOwogICAgICAgICAgICAgZW5jbG9zaW5nVG9wQW5k
Qm90dG9tLnRvcCA9IHJvdW5kVG9JbnQoZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCk7CiAgICAg
ICAgICAgICBlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9tID0gcm91bmRUb0ludChlbmNsb3Np
bmdUb3BBbmRCb3R0b20uYm90dG9tKTsKICAgICAgICAgfQotICAgICAgICBpbmxpbmVDb250ZW50
LmxpbmVzLmFwcGVuZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNvdW50LCBsaW5lUmVjdCwgbGluZUJv
eExvZ2ljYWxTaXplLndpZHRoKCksIGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgc2Nyb2xsYWJsZU92
ZXJmbG93UmVjdCwgbGluZUlua092ZXJmbG93UmVjdCwgbGluZS5iYXNlbGluZSgpLCBsaW5lLmNv
bnRlbnRMb2dpY2FsT2Zmc2V0KCksIGxpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpIH0pOworICAg
ICAgICBpbmxpbmVDb250ZW50LmxpbmVzLmFwcGVuZCh7IGZpcnN0UnVuSW5kZXgsIHJ1bkNvdW50
LCBhZGp1c3RlZExpbmVCb3hSZWN0LCBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIHNjcm9sbGFibGVP
dmVyZmxvd1JlY3QsIGxpbmVJbmtPdmVyZmxvd1JlY3QsIGxpbmUuYmFzZWxpbmUoKSwgbGluZS5j
b250ZW50TG9naWNhbE9mZnNldCgpLCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSB9KTsKICAg
ICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlv
bi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUuaAppbmRleCA1ZjliYTFjNWI2ODViMzg3ODk1YmY4ZTRk
ZTFjZTQ5YTk3NDBhMmQ3Li5hOTRmMGQ0ZWZiYzY3NGM0MzJmOThmZmQ5YmFhYWJmZDBlZTVmOGI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50
ZWdyYXRpb25MaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xh
eW91dEludGVncmF0aW9uTGluZS5oCkBAIC00MCwxMSArNDAsMTAgQEAgcHVibGljOgogICAgICAg
ICBmbG9hdCB0b3AgeyAwIH07CiAgICAgICAgIGZsb2F0IGJvdHRvbSB7IDAgfTsKICAgICB9Owot
ICAgIExpbmUoc2l6ZV90IGZpcnN0UnVuSW5kZXgsIHNpemVfdCBydW5Db3VudCwgY29uc3QgRmxv
YXRSZWN0JiBsaW5lUmVjdCwgZmxvYXQgbGluZUJveFdpZHRoLCBFbmNsb3NpbmdUb3BBbmRCb3R0
b20gZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBjb25zdCBGbG9hdFJlY3QmIHNjcm9sbGFibGVPdmVy
ZmxvdywgY29uc3QgRmxvYXRSZWN0JiBpbmtPdmVyZmxvdywgZmxvYXQgYmFzZWxpbmUsIGZsb2F0
IGNvbnRlbnRPZmZzZXQsIGZsb2F0IGNvbnRlbnRXaWR0aCkKKyAgICBMaW5lKHNpemVfdCBmaXJz
dFJ1bkluZGV4LCBzaXplX3QgcnVuQ291bnQsIGNvbnN0IEZsb2F0UmVjdCYgbGluZUJveFJlY3Qs
IEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIGNvbnN0IEZsb2F0
UmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93LCBjb25zdCBGbG9hdFJlY3QmIGlua092ZXJmbG93LCBm
bG9hdCBiYXNlbGluZSwgZmxvYXQgY29udGVudE9mZnNldCwgZmxvYXQgY29udGVudFdpZHRoKQog
ICAgICAgICA6IG1fZmlyc3RSdW5JbmRleChmaXJzdFJ1bkluZGV4KQogICAgICAgICAsIG1fcnVu
Q291bnQocnVuQ291bnQpCi0gICAgICAgICwgbV9saW5lUmVjdChsaW5lUmVjdCkKLSAgICAgICAg
LCBtX2xpbmVCb3hXaWR0aChsaW5lQm94V2lkdGgpCisgICAgICAgICwgbV9saW5lQm94UmVjdChs
aW5lQm94UmVjdCkKICAgICAgICAgLCBtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbShlbmNsb3NpbmdU
b3BBbmRCb3R0b20pCiAgICAgICAgICwgbV9zY3JvbGxhYmxlT3ZlcmZsb3coc2Nyb2xsYWJsZU92
ZXJmbG93KQogICAgICAgICAsIG1faW5rT3ZlcmZsb3coaW5rT3ZlcmZsb3cpCkBAIC01Niw4ICs1
NSw3IEBAIHB1YmxpYzoKIAogICAgIHNpemVfdCBmaXJzdFJ1bkluZGV4KCkgY29uc3QgeyByZXR1
cm4gbV9maXJzdFJ1bkluZGV4OyB9CiAgICAgc2l6ZV90IHJ1bkNvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9ydW5Db3VudDsgfQotICAgIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGluZVJlY3Q7IH0KLSAgICBmbG9hdCBsaW5lQm94V2lkdGgoKSBjb25zdCB7IHJldHVy
biBtX2xpbmVCb3hXaWR0aDsgfQorICAgIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGluZUJveFJlY3Q7IH0KICAgICBmbG9hdCBlbmNsb3NpbmdDb250ZW50VG9wKCkg
Y29uc3QgeyByZXR1cm4gbV9lbmNsb3NpbmdUb3BBbmRCb3R0b20udG9wOyB9CiAgICAgZmxvYXQg
ZW5jbG9zaW5nQ29udGVudEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jbG9zaW5nVG9wQW5k
Qm90dG9tLmJvdHRvbTsgfQogICAgIGNvbnN0IEZsb2F0UmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93
KCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlT3ZlcmZsb3c7IH0KQEAgLTY5LDEyICs2Nywx
MCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHNpemVfdCBtX2ZpcnN0UnVuSW5kZXggeyAwIH07
CiAgICAgc2l6ZV90IG1fcnVuQ291bnQgeyAwIH07Ci0gICAgLy8gTGluZSBpcyBhbHdheXMgYXMg
dGFsbCBhcyB0aGUgbGluZSBib3ggaXMuIEhvd2V2ZXIgdGhleSBtYXkgZGlmZmVyIGluIHdpZHRo
LgotICAgIC8vIFdoaWxlIGxpbmUgYm94IGVuY2xvc2VzIGFsbCB0aGUgaW5saW5lIGxldmVsIGJv
eGVzIG9uIHRoZSBsaW5lIGhvcml6b250YWxseSwgdGhlIGxpbmUgaXRzZWxmIG1heSBiZSBzaG9y
dGVyIChhbmQgdHJpZ2dlciBob3Jpem9udGFsIG92ZXJmbG93KS4KKyAgICAvLyBUaGlzIGlzIGxp
bmUgYm94IGdlb21ldHJ5IChzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy1pbmxpbmUtMy8j
bGluZS1ib3gpLgorICAgIEZsb2F0UmVjdCBtX2xpbmVCb3hSZWN0OwogICAgIC8vIEVuY2xvc2lu
ZyB0b3AgYW5kIGJvdHRvbSBpbmNsdWRlcyBhbGwgaW5saW5lIGxldmVsIGJveGVzIChib3JkZXIg
Ym94KSB2ZXJ0aWNhbGx5LiBJbiBjZXJ0YWluIGNhc2VzIChzZWUgbGluZS1oZWlnaHQgcHJvcGVy
dHkpCiAgICAgLy8gdGhlIGxpbmUgKGFuZCB0aGUgbGluZSBib3gpIGlzIG5vdCBhcyB0YWxsIGFz
IHRoZSBpbmxpbmUgbGV2ZWwgYm94ZXMgb24gdGhlIGxpbmUuCi0gICAgRmxvYXRSZWN0IG1fbGlu
ZVJlY3Q7Ci0gICAgZmxvYXQgbV9saW5lQm94V2lkdGggeyAwIH07CiAgICAgRW5jbG9zaW5nVG9w
QW5kQm90dG9tIG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tOwogICAgIEZsb2F0UmVjdCBtX3Njcm9s
bGFibGVPdmVyZmxvdzsKICAgICBGbG9hdFJlY3QgbV9pbmtPdmVyZmxvdzsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2lu
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uUGFnaW5hdGlvbi5jcHAKaW5kZXggZjRiYmIzYjdkNGFkYWRjNjYxMWI3NWViMzVmYWQ2
OWVlODZhMmExZS4uYjE0ZjNiZTI2YjAwZGM0YzYxMGE0YTZjMmJkZDg3YzgzYzE3M2VkNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uUGFnaW5hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9u
L0xheW91dEludGVncmF0aW9uUGFnaW5hdGlvbi5jcHAKQEAgLTEzMCw3ICsxMzAsNiBAQCBzdGF0
aWMgUmVmPElubGluZUNvbnRlbnQ+IG1ha2VBZGp1c3RlZENvbnRlbnQoY29uc3QgSW5saW5lQ29u
dGVudCYgaW5saW5lQ29udGVudAogICAgICAgICAgICAgbGluZS5maXJzdFJ1bkluZGV4KCksCiAg
ICAgICAgICAgICBsaW5lLnJ1bkNvdW50KCksCiAgICAgICAgICAgICBtb3ZlVmVydGljYWxseShs
aW5lLnJlY3QoKSwgb2Zmc2V0KSwKLSAgICAgICAgICAgIGxpbmUucmVjdCgpLndpZHRoKCksCiAg
ICAgICAgICAgICB7IGxpbmUuZW5jbG9zaW5nQ29udGVudFRvcCgpICsgb2Zmc2V0LCBsaW5lLmVu
Y2xvc2luZ0NvbnRlbnRCb3R0b20oKSArIG9mZnNldCB9LAogICAgICAgICAgICAgbW92ZVZlcnRp
Y2FsbHkobGluZS5zY3JvbGxhYmxlT3ZlcmZsb3coKSwgb2Zmc2V0KSwKICAgICAgICAgICAgIG1v
dmVWZXJ0aWNhbGx5KGxpbmUuaW5rT3ZlcmZsb3coKSwgb2Zmc2V0KSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcAppbmRl
eCA2MzAzYjliMzMwZDYzOTAyOTY3MDY2Y2RjMzk2MjgzMDcxYWY5YTRkLi45ZGM0MGU4YjIyODdh
MDM5YzFhODBjZjNmY2ZkYmY1ZWI4NjcxOGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCkBAIC0zOTQsOCArMzk0
LDggQEAgdm9pZCBzaG93SW5saW5lVHJlZUFuZFJ1bnMoVGV4dFN0cmVhbSYgc3RyZWFtLCBjb25z
dCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGMKICAgICAgICAgfTsKICAgICAgICAgYWRkU3Bh
Y2luZygpOwogICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKLSAgICAgICAg
YXV0byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZS5sb2dpY2FsUmVjdCgpOwotICAgICAgICBzdHJl
YW0gPDwgImxpbmUgYXQgKCIgPDwgbGluZUxvZ2ljYWxSZWN0LmxlZnQoKSA8PCAiLCIgPDwgbGlu
ZUxvZ2ljYWxSZWN0LnRvcCgpIDw8ICIpIHNpemUgKCIgPDwgbGluZUxvZ2ljYWxSZWN0LndpZHRo
KCkgPDwgIngiIDw8IGxpbmVMb2dpY2FsUmVjdC5oZWlnaHQoKSA8PCAiKSBiYXNlbGluZSAoIiA8
PCBsaW5lLmJhc2VsaW5lKCkgPDwgIikiOworICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJl
Y3QgPSBsaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpOworICAgICAgICBzdHJlYW0gPDwgImxpbmUg
YXQgKCIgPDwgbGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSA8PCAiLCIgPDwgbGluZUJveExvZ2lj
YWxSZWN0LnRvcCgpIDw8ICIpIHNpemUgKCIgPDwgbGluZUJveExvZ2ljYWxSZWN0LndpZHRoKCkg
PDwgIngiIDw8IGxpbmVCb3hMb2dpY2FsUmVjdC5oZWlnaHQoKSA8PCAiKSBiYXNlbGluZSAoIiA8
PCBsaW5lLmJhc2VsaW5lKCkgPDwgIikiOwogICAgICAgICBzdHJlYW0ubmV4dExpbmUoKTsKIAog
ICAgICAgICBhZGRTcGFjaW5nKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414741</attachid>
            <date>2020-11-20 15:55:39 -0800</date>
            <delta_ts>2020-11-21 06:02:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219208-20201120155539.patch</filename>
            <type>text/plain</type>
            <size>30683</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNjYmI4MDg4ZWU4ZTE1
MGIxMmQ0MDAyNDU1ZGFkMTM0MDZmZDViYi4uYjJkMDNlZjliY2EwZjM2MTE3NjMyMTlhM2NhMzk4
ZGU0NDY3OTViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTExLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bSW50ZWdyYXRpb25d
IFJlbW92ZSByZWR1bmRhbnQgbGluZUJveFdpZHRoIGZyb20gTGluZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MjA4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGluZTo6bGluZUJveFdpZHRoKCkgaXMg
aW5jb3JyZWN0bHkgcmV0dXJuaW5nIHRoZSBjb250ZW50IGxvZ2ljYWwgd2lkdGguIEJ5IGRlZmlu
aXRpb24gaXQgaXMgdGhlIGF2YWlsYWJsZSBob3Jpem9udGFsIHNwYWNlCisgICAgICAgIGZvciB0
aGUgY29udGVudCBhbmQgdGhlcmVmb3JlIGl0IGVxdWFscyB0byBMaW5lOjpyZWN0KCkud2lkdGgo
KS4KKyAgICAgICAgMS4gUmVwbGFjZSBsaW5lTG9naWNhbFJlY3Qgd2l0aCBsaW5lQm94TG9naWNh
bFJlY3QuCisgICAgICAgIDIuIFJlbW92ZSByZWR1bmRhbnQgbGluZUJveFdpZHRoKCkgZnJvbSBM
aW5lLgorCisgICAgICAgICogZGlzcGxheS9jc3MvRGlzcGxheUJveEZhY3RvcnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheTo6Qm94RmFjdG9yeTo6ZGlzcGxheUJveEZvclRleHRSdW4g
Y29uc3QpOgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpj
b250ZW50SGVpZ2h0Rm9yRm9ybWF0dGluZ0NvbnRleHRSb290IGNvbnN0KToKKyAgICAgICAgKiBs
YXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjppbkZsb3dOb25SZXBsYWNlZENvbnRlbnRIZWlnaHRBbmRNYXJnaW4pOgorICAgICAgICAq
IGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVH
ZW9tZXRyeUZvckxpbmVDb250ZW50KToKKyAgICAgICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGlu
Zy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9pbmxpbmVmb3Jt
YXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6Y29tcHV0ZWRMaW5lTG9naWNhbFJlY3QgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAq
IGxheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZUJveDo6bG9naWNhbFJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0OjpMaW5lQm94Ojpsb2dpY2FsVG9wTGVmdCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkxpbmVCb3g6OmxvZ2ljYWxTaXplIGNvbnN0KToKKyAgICAgICAgKiBsYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5OjpsaW5lQm94TG9naWNhbFJlY3QgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMaW5lR2VvbWV0cnk6Om1vdmVWZXJ0
aWNhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5OjpJ
bmxpbmVMaW5lR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVMaW5l
R2VvbWV0cnk6OmxvZ2ljYWxSZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6SW5saW5lTGluZUdlb21ldHJ5OjpsaW5lQm94TG9naWNhbFNpemUgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnRCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpsaW5lT3ZlcmZsb3dXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRJbnRlZ3Jh
dGlvbjo6SW5saW5lQ29udGVudEJ1aWxkZXI6OmNvbXB1dGVMaW5lTGV2ZWxWaXN1YWxBZGp1c3Rt
ZW50c0ZvclJ1bnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246
OklubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnRCdWlsZGVyOjpj
cmVhdGVEaXNwbGF5TGluZXMgY29uc3QpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9M
YXlvdXRJbnRlZ3JhdGlvbkxpbmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0
aW9uOjpMaW5lOjpMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpM
aW5lOjpyZWN0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpM
aW5lOjpsaW5lQm94V2lkdGggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9pbnRl
Z3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0SW50ZWdyYXRpb246Om1ha2VBZGp1c3RlZENvbnRlbnQpOgorICAgICAgICAqIGxh
eW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6c2hvd0lubGluZVRyZWVBbmRSdW5zKToKKwogMjAyMC0xMS0yMCAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gUmVtb3ZlIElubGlu
ZUxpbmVHZW9tZXRyeTo6bG9naWNhbExlZnQvdG9wL2JvdHRvbS9yaWdodC93aWR0aC9oZWlnaHQg
aGVscGVyIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3Mv
RGlzcGxheUJveEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvZGlzcGxheS9jc3MvRGlzcGxh
eUJveEZhY3RvcnkuY3BwCmluZGV4IDViM2M0YjVmZmE5OGUwZTkzOGZhZDdlMTkwYTMxMGI1YWZh
ODg1ODQuLjkyNzFmMGNhZjJhNDQxNTZlNTUzZjJkODhmOGFmN2RlNjUwMTlhZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3NzL0Rpc3BsYXlCb3hGYWN0b3J5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9EaXNwbGF5Qm94RmFjdG9yeS5jcHAKQEAgLTEz
NSw3ICsxMzUsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8Qm94PiBCb3hGYWN0b3J5OjpkaXNwbGF5Qm94
Rm9yTGF5b3V0Qm94KGNvbnN0IExheW91dDo6Qm94JiBsYXlvdQogc3RkOjp1bmlxdWVfcHRyPEJv
eD4gQm94RmFjdG9yeTo6ZGlzcGxheUJveEZvclRleHRSdW4oY29uc3QgTGF5b3V0OjpMaW5lUnVu
JiBydW4sIGNvbnN0IExheW91dDo6SW5saW5lTGluZUdlb21ldHJ5JiBsaW5lR2VvbWV0cnksIExh
eW91dFNpemUgb2Zmc2V0RnJvbVJvb3QpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHJ1bi50ZXh0KCkp
OwotICAgIGF1dG8gbGluZVJlY3QgPSBsaW5lR2VvbWV0cnkubG9naWNhbFJlY3QoKTsKKyAgICBh
dXRvIGxpbmVSZWN0ID0gbGluZUdlb21ldHJ5LmxpbmVCb3hMb2dpY2FsUmVjdCgpOwogICAgIGF1
dG8gbGluZUxheW91dFJlY3QgPSBMYXlvdXRSZWN0IHsgbGluZVJlY3QubGVmdCgpLCBsaW5lUmVj
dC50b3AoKSwgbGluZVJlY3Qud2lkdGgoKSwgbGluZVJlY3QuaGVpZ2h0KCkgfTsKIAogICAgIGF1
dG8gcnVuUmVjdCA9IExheW91dFJlY3QgeyBydW4ubG9naWNhbExlZnQoKSwgcnVuLmxvZ2ljYWxU
b3AoKSwgcnVuLmxvZ2ljYWxXaWR0aCgpLCBydW4ubG9naWNhbEhlaWdodCgpIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKaW5k
ZXggZjU3ZDFhZTY3N2FiYWFmMmJjOWNlODlkYWQ2NTYyYTE3Yzg2M2QwMS4uNzhlMGNkOTk3NzA3
OGJiMDlkNWZmMTczOTc3NmVkYzZkZDk1YWQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtMTk3LDggKzE5Nyw4IEBA
IExheW91dFVuaXQgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb250ZW50SGVpZ2h0Rm9y
Rm9ybWF0dGluZ0NvbnRleHRSb290KGNvCiAgICAgICAgIGF1dG8mIGxpbmVzID0gaW5saW5lRm9y
bWF0dGluZ1N0YXRlLmxpbmVzKCk7CiAgICAgICAgIC8vIEV2ZW4gZW1wdHkgY29udGFpbmVycyBn
ZW5lcmF0ZSBvbmUgbGluZS4KICAgICAgICAgQVNTRVJUKCFsaW5lcy5pc0VtcHR5KCkpOwotICAg
ICAgICB0b3AgPSBsaW5lcy5maXJzdCgpLmxvZ2ljYWxSZWN0KCkudG9wKCk7Ci0gICAgICAgIGJv
dHRvbSA9IGxpbmVzLmxhc3QoKS5sb2dpY2FsUmVjdCgpLmJvdHRvbSgpICsgaW5saW5lRm9ybWF0
dGluZ1N0YXRlLmNsZWFyR2FwQWZ0ZXJMYXN0TGluZSgpOworICAgICAgICB0b3AgPSBsaW5lcy5m
aXJzdCgpLmxpbmVCb3hMb2dpY2FsUmVjdCgpLnRvcCgpOworICAgICAgICBib3R0b20gPSBsaW5l
cy5sYXN0KCkubGluZUJveExvZ2ljYWxSZWN0KCkuYm90dG9tKCkgKyBpbmxpbmVGb3JtYXR0aW5n
U3RhdGUuY2xlYXJHYXBBZnRlckxhc3RMaW5lKCk7CiAgICAgfSBlbHNlIGlmIChmb3JtYXR0aW5n
Q29udGV4dFJvb3QuZXN0YWJsaXNoZXNGbGV4Rm9ybWF0dGluZ0NvbnRleHQoKSkgewogICAgICAg
ICBhdXRvJiBsaW5lcyA9IGxheW91dFN0YXRlLmVzdGFibGlzaGVkRmxleEZvcm1hdHRpbmdTdGF0
ZShmb3JtYXR0aW5nQ29udGV4dFJvb3QpLmxpbmVzKCk7CiAgICAgICAgIEFTU0VSVCghbGluZXMu
aXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNw
cAppbmRleCA4MGFiMjFjZGYxYWE0YzUyZDdjMmZmMWYzNWJmYzlkNTI3MDYyN2Q5Li5kNTcyNmU5
MDQwMTdhMzM2MTAzMjhlNzRmMjlhODY3YTY4MjIzOThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRy
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC04MSw3ICs4MSw3IEBAIENvbnRlbnRIZWln
aHRBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd05vblJl
cGxhY2VkQ29udGVuCiAgICAgICAgICAgICBhdXRvJiBsaW5lcyA9IGlubGluZUZvcm1hdHRpbmdT
dGF0ZS5saW5lcygpOwogICAgICAgICAgICAgLy8gRXZlbiBlbXB0eSBjb250YWluZXJzIGdlbmVy
YXRlIG9uZSBsaW5lLiAKICAgICAgICAgICAgIEFTU0VSVCghbGluZXMuaXNFbXB0eSgpKTsKLSAg
ICAgICAgICAgIHJldHVybiB7IHRvTGF5b3V0VW5pdChsaW5lcy5sYXN0KCkubG9naWNhbFJlY3Qo
KS5ib3R0b20oKSArIGlubGluZUZvcm1hdHRpbmdTdGF0ZS5jbGVhckdhcEFmdGVyTGFzdExpbmUo
KSkgLSBib3JkZXJBbmRQYWRkaW5nVG9wLCBub25Db2xsYXBzZWRNYXJnaW4gfTsKKyAgICAgICAg
ICAgIHJldHVybiB7IHRvTGF5b3V0VW5pdChsaW5lcy5sYXN0KCkubGluZUJveExvZ2ljYWxSZWN0
KCkuYm90dG9tKCkgKyBpbmxpbmVGb3JtYXR0aW5nU3RhdGUuY2xlYXJHYXBBZnRlckxhc3RMaW5l
KCkpIC0gYm9yZGVyQW5kUGFkZGluZ1RvcCwgbm9uQ29sbGFwc2VkTWFyZ2luIH07CiAgICAgICAg
IH0KIAogICAgICAgICAvLyAyLiB0aGUgYm90dG9tIGVkZ2Ugb2YgdGhlIGJvdHRvbSAocG9zc2li
bHkgY29sbGFwc2VkKSBtYXJnaW4gb2YgaXRzIGxhc3QgaW4tZmxvdyBjaGlsZCwgaWYgdGhlIGNo
aWxkJ3MgYm90dG9tIG1hcmdpbi4uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3Bw
CmluZGV4IDg3MGQzYTgyMmQxZGJlMTRlMjZhZjIyYzcyYWRiMjIxZTJkOGI5YWIuLmI3ZDAzOWQ3
MjUwY2U0NDU3ZjYzNDFlYzg2ZDY3ZmUwYWZmMDcyZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5jcHAKQEAgLTQxMCw3ICs0MTAsNyBAQCBJbmxpbmVSZWN0IElubGluZUZvcm1h
dHRpbmdDb250ZXh0Ojpjb21wdXRlR2VvbWV0cnlGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVp
bAogCiAgICAgZm9ybWF0dGluZ1N0YXRlLmFkZExpbmVCb3goZ2VvbWV0cnkubGluZUJveEZvckxp
bmVDb250ZW50KGxpbmVDb250ZW50KSk7CiAgICAgY29uc3QgYXV0byYgbGluZUJveCA9IGZvcm1h
dHRpbmdTdGF0ZS5saW5lQm94ZXMoKS5sYXN0KCk7Ci0gICAgYXV0byBsaW5lTG9naWNhbFJlY3Qg
PSBnZW9tZXRyeS5jb21wdXRlZExpbmVMb2dpY2FsUmVjdChsaW5lQm94LCBsaW5lQ29udGVudCk7
CisgICAgYXV0byYgbGluZUJveExvZ2ljYWxSZWN0ID0gbGluZUJveC5sb2dpY2FsUmVjdCgpOwog
CiAgICAgYXV0byB1cGRhdGVGbG9hdEdlb21ldHJ5ID0gWyZdIHsKICAgICAgICAgaWYgKGxpbmVD
b250ZW50LmZsb2F0cy5pc0VtcHR5KCkpCkBAIC00MjEsOCArNDIxLDggQEAgSW5saW5lUmVjdCBJ
bmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29u
c3QgTGluZUJ1aWwKICAgICAgICAgICAgIGF1dG8mIGZsb2F0Qm94ID0gZmxvYXRDYW5kaWRhdGUu
aXRlbS0+bGF5b3V0Qm94KCk7CiAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1h
dHRpbmdTdGF0ZS5ib3hHZW9tZXRyeShmbG9hdEJveCk7CiAgICAgICAgICAgICAvLyBTZXQgc3Rh
dGljIHBvc2l0aW9uIGZpcnN0LgotICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbFN0YXRpY1Bvc2l0
aW9uID0gZmxvYXRDYW5kaWRhdGUuaXNJbnRydXNpdmUgPyBsaW5lTG9naWNhbFJlY3QudG9wKCkg
OiBsaW5lTG9naWNhbFJlY3QuYm90dG9tKCk7Ci0gICAgICAgICAgICBib3hHZW9tZXRyeS5zZXRM
b2dpY2FsVG9wTGVmdCh7IGxpbmVMb2dpY2FsUmVjdC5sZWZ0KCksIHZlcnRpY2FsU3RhdGljUG9z
aXRpb24gfSk7CisgICAgICAgICAgICBhdXRvIHZlcnRpY2FsU3RhdGljUG9zaXRpb24gPSBmbG9h
dENhbmRpZGF0ZS5pc0ludHJ1c2l2ZSA/IGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSA6IGxpbmVC
b3hMb2dpY2FsUmVjdC5ib3R0b20oKTsKKyAgICAgICAgICAgIGJveEdlb21ldHJ5LnNldExvZ2lj
YWxUb3BMZWZ0KHsgbGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSwgdmVydGljYWxTdGF0aWNQb3Np
dGlvbiB9KTsKICAgICAgICAgICAgIC8vIEZsb2F0IGl0LgogICAgICAgICAgICAgYm94R2VvbWV0
cnkuc2V0TG9naWNhbFRvcExlZnQoZmxvYXRpbmdDb250ZXh0LnBvc2l0aW9uRm9yRmxvYXQoZmxv
YXRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cykpOwogICAgICAgICAgICAgZmxvYXRpbmdDb250
ZXh0LmFwcGVuZChmbG9hdEJveCk7CkBAIC00NTcsNyArNDU3LDcgQEAgSW5saW5lUmVjdCBJbmxp
bmVGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3Qg
TGluZUJ1aWwKICAgICAgICAgICAgIC8vIExldCdzIGNvbnZlcnQgdG9wL2xlZnQgcmVsYXRpdmUg
dG8gdGhlIGZvcm1hdHRpbmcgY29udGV4dCByb290LgogICAgICAgICAgICAgYXV0byBsb2dpY2Fs
UmVjdCA9IGxpbmVCb3gubG9naWNhbE1hcmdpblJlY3RGb3JJbmxpbmVMZXZlbEJveChsYXlvdXRC
b3gpOwogICAgICAgICAgICAgLy8gSW5saW5lIGJveCBoZWlnaHQgaW5jbHVkZXMgdGhlIG1hcmdp
biBib3guIExldCdzIGFjY291bnQgZm9yIHRoYXQuCi0gICAgICAgICAgICBhdXRvIGJvcmRlckJv
eExvZ2ljYWxUb3BMZWZ0ID0gbGluZUxvZ2ljYWxSZWN0LnRvcExlZnQoKTsKKyAgICAgICAgICAg
IGF1dG8gYm9yZGVyQm94TG9naWNhbFRvcExlZnQgPSBsaW5lQm94TG9naWNhbFJlY3QudG9wTGVm
dCgpOwogICAgICAgICAgICAgYm9yZGVyQm94TG9naWNhbFRvcExlZnQubW92ZShsb2dpY2FsUmVj
dC5sZWZ0KCksIGxvZ2ljYWxSZWN0LnRvcCgpICsgYm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkp
OwogCiAgICAgICAgICAgICBpZiAobGF5b3V0Qm94LmlzSW5GbG93UG9zaXRpb25lZCgpKQpAQCAt
NDkzLDExICs0OTMsMTEgQEAgSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29udGV4dDo6Y29t
cHV0ZUdlb21ldHJ5Rm9yTGluZUNvbnRlbnQoY29uc3QgTGluZUJ1aWwKICAgICB1cGRhdGVCb3hH
ZW9tZXRyeSgpOwogCiAgICAgYXV0byBjb25zdHJ1Y3RMaW5lR2VvbWV0cnkgPSBbJl0gewotICAg
ICAgICBmb3JtYXR0aW5nU3RhdGUuYWRkTGluZSh7IGxpbmVMb2dpY2FsUmVjdCwgbGluZUJveC5s
b2dpY2FsU2l6ZSgpLCBsaW5lQm94LmFsaWdubWVudEJhc2VsaW5lKCksIGxpbmVCb3guaG9yaXpv
bnRhbEFsaWdubWVudE9mZnNldCgpLnZhbHVlT3IoSW5saW5lTGF5b3V0VW5pdCB7IH0pLCBsaW5l
Q29udGVudC5jb250ZW50TG9naWNhbFdpZHRoIH0pOworICAgICAgICBmb3JtYXR0aW5nU3RhdGUu
YWRkTGluZSh7IGxpbmVCb3hMb2dpY2FsUmVjdCwgbGluZUJveC5hbGlnbm1lbnRCYXNlbGluZSgp
LCBsaW5lQm94Lmhvcml6b250YWxBbGlnbm1lbnRPZmZzZXQoKS52YWx1ZU9yKElubGluZUxheW91
dFVuaXQgeyB9KSwgbGluZUNvbnRlbnQuY29udGVudExvZ2ljYWxXaWR0aCB9KTsKICAgICB9Owog
ICAgIGNvbnN0cnVjdExpbmVHZW9tZXRyeSgpOwogCi0gICAgcmV0dXJuIGxpbmVMb2dpY2FsUmVj
dDsKKyAgICByZXR1cm4gbGluZUJveExvZ2ljYWxSZWN0OwogfQogCiB2b2lkIElubGluZUZvcm1h
dHRpbmdDb250ZXh0OjppbnZhbGlkYXRlRm9ybWF0dGluZ1N0YXRlKGNvbnN0IEludmFsaWRhdGlv
blN0YXRlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0
aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDc0YzJiNzc2ODYw
ZGUxNjhmNzNlMWNkMmFkNGViYmQ3OTQwZWUxMjcuLjM5N2M3YWFmNTE0YmNjODI5YzkwY2NkY2Fm
YjU3OWI4MWIxZmQ4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVm
b3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNjcs
NyArNjcsNiBAQCBwcml2YXRlOgogICAgIGNsYXNzIEdlb21ldHJ5IDogcHVibGljIEZvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeSB7CiAgICAgcHVibGljOgogICAgICAgICBMaW5lQm94IGxpbmVC
b3hGb3JMaW5lQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnRlbnQmKTsKLSAgICAg
ICAgSW5saW5lUmVjdCBjb21wdXRlZExpbmVMb2dpY2FsUmVjdChjb25zdCBMaW5lQm94JiwgY29u
c3QgTGluZUJ1aWxkZXI6OkxpbmVDb250ZW50JikgY29uc3Q7CiAgICAgICAgIElubGluZUxheW91
dFVuaXQgbG9naWNhbFRvcEZvck5leHRMaW5lKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVu
dCYsIElubGluZUxheW91dFVuaXQgcHJldmlvdXNMaW5lTG9naWNhbEJvdHRvbSwgY29uc3QgRmxv
YXRpbmdDb250ZXh0JikgY29uc3Q7CiAKICAgICAgICAgQ29udGVudEhlaWdodEFuZE1hcmdpbiBp
bmxpbmVCbG9ja0NvbnRlbnRIZWlnaHRBbmRNYXJnaW4oY29uc3QgQm94JiwgY29uc3QgSG9yaXpv
bnRhbENvbnN0cmFpbnRzJiwgY29uc3QgT3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzJikgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4
IDQ4ZWIxMDZkNDk0MGUzOTBjZDY3MWUwMTkxYjY3MDc0MDZjZmViNTkuLjEwMGUyOGE1NWFkYzZj
OGQwNDYzNzFjMGU4NDA5OTk2Mjc0MDUzN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1h
dHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC0yNTksNyArMjU5LDcgQEAgdm9pZCBMaW5lQm94
QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lQm94LCBjb25z
dCBMaW5lOjpSdW4KICAgICAgICAgICAgIGlmIChsYXlvdXRCb3guaXNJbmxpbmVCbG9ja0JveCgp
ICYmIGxheW91dEJveC5lc3RhYmxpc2hlc0lubGluZUZvcm1hdHRpbmdDb250ZXh0KCkpIHsKICAg
ICAgICAgICAgICAgICBhdXRvJiBmb3JtYXR0aW5nU3RhdGUgPSBsYXlvdXRTdGF0ZSgpLmVzdGFi
bGlzaGVkSW5saW5lRm9ybWF0dGluZ1N0YXRlKGRvd25jYXN0PENvbnRhaW5lckJveD4obGF5b3V0
Qm94KSk7CiAgICAgICAgICAgICAgICAgYXV0byYgbGFzdExpbmUgPSBmb3JtYXR0aW5nU3RhdGUu
bGluZXMoKS5sYXN0KCk7Ci0gICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5l
ID0gbGFzdExpbmUubG9naWNhbFJlY3QoKS50b3AoKSArIGxhc3RMaW5lLmJhc2VsaW5lKCk7Cisg
ICAgICAgICAgICAgICAgYXV0byBpbmxpbmVCbG9ja0Jhc2VsaW5lID0gbGFzdExpbmUubGluZUJv
eExvZ2ljYWxSZWN0KCkudG9wKCkgKyBsYXN0TGluZS5iYXNlbGluZSgpOwogICAgICAgICAgICAg
ICAgIGFzY2VudCA9IGlubGluZUxldmVsQm94R2VvbWV0cnkubWFyZ2luQmVmb3JlKCkgKyBpbmxp
bmVMZXZlbEJveEdlb21ldHJ5LmJvcmRlclRvcCgpICsgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5w
YWRkaW5nVG9wKCkudmFsdWVPcigwKSArIGlubGluZUJsb2NrQmFzZWxpbmU7CiAgICAgICAgICAg
ICB9IGVsc2UgaWYgKGxheW91dEJveC5pc1JlcGxhY2VkQm94KCkpCiAgICAgICAgICAgICAgICAg
YXNjZW50ID0gZG93bmNhc3Q8UmVwbGFjZWRCb3g+KGxheW91dEJveCkuYmFzZWxpbmUoKS52YWx1
ZU9yKG1hcmdpbkJveEhlaWdodCk7CkBAIC01MjgsMTEgKzUyOCw2IEBAIExpbmVCb3ggSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpsaW5lQm94Rm9yTGluZUNvbnRlbnQoY29uc3Qg
TGluZUJ1aWxkCiAgICAgcmV0dXJuIExpbmVCb3hCdWlsZGVyKGZvcm1hdHRpbmdDb250ZXh0KCkp
LmJ1aWxkKGxpbmVDb250ZW50KTsKIH0KIAotSW5saW5lUmVjdCBJbmxpbmVGb3JtYXR0aW5nQ29u
dGV4dDo6R2VvbWV0cnk6OmNvbXB1dGVkTGluZUxvZ2ljYWxSZWN0KGNvbnN0IExpbmVCb3gmIGxp
bmVCb3gsIGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIHsgbGluZUJveC5sb2dpY2FsVG9wTGVmdCgpLCBsaW5lQ29udGVudC5s
aW5lTG9naWNhbFdpZHRoLCBsaW5lQm94LmxvZ2ljYWxIZWlnaHQoKSB9OwotfQotCiBJbmxpbmVM
YXlvdXRVbml0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6bG9naWNhbFRvcEZv
ck5leHRMaW5lKGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29udGVudCYgbGluZUNvbnRlbnQsIElu
bGluZUxheW91dFVuaXQgcHJldmlvdXNMaW5lTG9naWNhbEJvdHRvbSwgY29uc3QgRmxvYXRpbmdD
b250ZXh0JiBmbG9hdGluZ0NvbnRleHQpIGNvbnN0CiB7CiAgICAgLy8gTm9ybWFsbHkgdGhlIG5l
eHQgbGluZSdzIGxvZ2ljYWwgdG9wIGlzIHRoZSBwcmV2aW91cyBsaW5lJ3MgbG9naWNhbCBib3R0
b20sIGJ1dCB3aGVuIHRoZSBsaW5lIGVuZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmVCb3guaAppbmRleCA3NTE1ZjBjZmMwNjM4
YTEwYjQ1ZThlNTY2MTg2OTYzOGNhMzFiM2JmLi4xZjBhNzZjODNjMmVjZDMwMjI4OThlYWZlZWM3
ZjNmZDhhMGVkMmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGlu
ZWZvcm1hdHRpbmcvSW5saW5lTGluZUJveC5oCkBAIC0xMzEsMTAgKzEzMSwxMSBAQCBwdWJsaWM6
CiAgICAgZW51bSBjbGFzcyBJc0xpbmVDb25zaWRlcmVkRW1wdHkgeyBObywgWWVzIH07CiAgICAg
TGluZUJveChjb25zdCBJbmxpbmVMYXlvdXRQb2ludCYgbG9naWNhbFRvcExlZnQsIElubGluZUxh
eW91dFVuaXQgbG9naWNhbFdpZHRoLCBJc0xpbmVDb25zaWRlcmVkRW1wdHkpOwogCisgICAgY29u
c3QgSW5saW5lUmVjdCYgbG9naWNhbFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0
OyB9CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBs
b2dpY2FsU2l6ZSgpLndpZHRoKCk7IH0KICAgICBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxIZWln
aHQoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsU2l6ZSgpLmhlaWdodCgpOyB9Ci0gICAgSW5saW5l
TGF5b3V0UG9pbnQgbG9naWNhbFRvcExlZnQoKSBjb25zdCB7IHJldHVybiBtX2xvZ2ljYWxSZWN0
LnRvcExlZnQoKTsgfQotICAgIElubGluZUxheW91dFNpemUgbG9naWNhbFNpemUoKSBjb25zdCB7
IHJldHVybiBtX2xvZ2ljYWxSZWN0LnNpemUoKTsgfQorICAgIElubGluZUxheW91dFBvaW50IGxv
Z2ljYWxUb3BMZWZ0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS50b3BMZWZ0KCk7IH0K
KyAgICBJbmxpbmVMYXlvdXRTaXplIGxvZ2ljYWxTaXplKCkgY29uc3QgeyByZXR1cm4gbG9naWNh
bFJlY3QoKS5zaXplKCk7IH0KIAogICAgIE9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IGhvcml6
b250YWxBbGlnbm1lbnRPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2hvcml6b250YWxBbGlnbm1l
bnRPZmZzZXQ7IH0KICAgICBib29sIGlzQ29uc2lkZXJlZEVtcHR5KCkgY29uc3QgeyByZXR1cm4g
bV9pc0NvbnNpZGVyZWRFbXB0eTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZUdlb21ldHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaAppbmRleCA1ZWQzYmZk
MDc0ZjM5NjdiM2Y4NWVkMzQ1MWI0YTFhYjgyMTc2MmYwLi42ZTFiOTFkNzkzMDc0MmMzMjM2MzIx
NDMzN2NiOWRlNmEzMTBiZTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5s
aW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVMaW5lR2VvbWV0cnkuaApAQCAtMzUsMjkgKzM1
LDI2IEBAIG5hbWVzcGFjZSBMYXlvdXQgewogY2xhc3MgSW5saW5lTGluZUdlb21ldHJ5IHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJbmxpbmVMaW5lR2VvbWV0
cnkoY29uc3QgSW5saW5lUmVjdCYgbGluZUxvZ2ljYWxSZWN0LCBjb25zdCBJbmxpbmVMYXlvdXRT
aXplJiBsaW5lQm94TG9naWNhbFNpemUsIElubGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGlu
ZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbExlZnRPZmZzZXQsIElubGluZUxheW91
dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCk7CisgICAgSW5saW5lTGluZUdlb21ldHJ5KGNvbnN0
IElubGluZVJlY3QmIGxpbmVCb3hMb2dpY2FsUmVjdCwgSW5saW5lTGF5b3V0VW5pdCBhbGlnbWVu
dEJhc2VsaW5lLCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsTGVmdE9mZnNldCwgSW5s
aW5lTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKTsKIAotICAgIGNvbnN0IElubGluZVJl
Y3QmIGxvZ2ljYWxSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9sb2dpY2FsUmVjdDsgfQotICAgIGNv
bnN0IElubGluZUxheW91dFNpemUmIGxpbmVCb3hMb2dpY2FsU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbGluZUJveExvZ2ljYWxTaXplOyB9CisgICAgY29uc3QgSW5saW5lUmVjdCYgbGluZUJveExv
Z2ljYWxSZWN0KCkgY29uc3QgeyByZXR1cm4gbV9saW5lQm94TG9naWNhbFJlY3Q7IH0KIAogICAg
IElubGluZUxheW91dFVuaXQgYmFzZWxpbmUoKSBjb25zdCB7IHJldHVybiBtX2FsaWdtZW50QmFz
ZWxpbmU7IH0KIAogICAgIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50TG9naWNhbExlZnRPZmZzZXQ7IH0KICAgICBJbmxp
bmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2NvbnRl
bnRMb2dpY2FsV2lkdGg7IH0KIAotICAgIHZvaWQgbW92ZVZlcnRpY2FsbHkoSW5saW5lTGF5b3V0
VW5pdCBvZmZzZXQpIHsgbV9sb2dpY2FsUmVjdC5tb3ZlVmVydGljYWxseShvZmZzZXQpOyB9Cisg
ICAgdm9pZCBtb3ZlVmVydGljYWxseShJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xpbmVC
b3hMb2dpY2FsUmVjdC5tb3ZlVmVydGljYWxseShvZmZzZXQpOyB9CiAKIHByaXZhdGU6Ci0gICAg
SW5saW5lUmVjdCBtX2xvZ2ljYWxSZWN0OwotICAgIElubGluZUxheW91dFNpemUgbV9saW5lQm94
TG9naWNhbFNpemU7CisgICAgSW5saW5lUmVjdCBtX2xpbmVCb3hMb2dpY2FsUmVjdDsKICAgICBJ
bmxpbmVMYXlvdXRVbml0IG1fYWxpZ21lbnRCYXNlbGluZSB7IDAgfTsKICAgICBJbmxpbmVMYXlv
dXRVbml0IG1fY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0IHsgMCB9OwogICAgIElubGluZUxheW91
dFVuaXQgbV9jb250ZW50TG9naWNhbFdpZHRoIHsgMCB9OwogfTsKIAotaW5saW5lIElubGluZUxp
bmVHZW9tZXRyeTo6SW5saW5lTGluZUdlb21ldHJ5KGNvbnN0IElubGluZVJlY3QmIGxpbmVMb2dp
Y2FsUmVjdCwgY29uc3QgSW5saW5lTGF5b3V0U2l6ZSYgbGluZUJveExvZ2ljYWxTaXplLCBJbmxp
bmVMYXlvdXRVbml0IGFsaWdtZW50QmFzZWxpbmUsIElubGluZUxheW91dFVuaXQgY29udGVudExv
Z2ljYWxMZWZ0T2Zmc2V0LCBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgpCi0g
ICAgOiBtX2xvZ2ljYWxSZWN0KGxpbmVMb2dpY2FsUmVjdCkKLSAgICAsIG1fbGluZUJveExvZ2lj
YWxTaXplKGxpbmVCb3hMb2dpY2FsU2l6ZSkKK2lubGluZSBJbmxpbmVMaW5lR2VvbWV0cnk6Oklu
bGluZUxpbmVHZW9tZXRyeShjb25zdCBJbmxpbmVSZWN0JiBsaW5lQm94TG9naWNhbFJlY3QsIElu
bGluZUxheW91dFVuaXQgYWxpZ21lbnRCYXNlbGluZSwgSW5saW5lTGF5b3V0VW5pdCBjb250ZW50
TG9naWNhbExlZnRPZmZzZXQsIElubGluZUxheW91dFVuaXQgY29udGVudExvZ2ljYWxXaWR0aCkK
KyAgICA6IG1fbGluZUJveExvZ2ljYWxSZWN0KGxpbmVCb3hMb2dpY2FsUmVjdCkKICAgICAsIG1f
YWxpZ21lbnRCYXNlbGluZShhbGlnbWVudEJhc2VsaW5lKQogICAgICwgbV9jb250ZW50TG9naWNh
bExlZnRPZmZzZXQoY29udGVudExvZ2ljYWxMZWZ0T2Zmc2V0KQogICAgICwgbV9jb250ZW50TG9n
aWNhbFdpZHRoKGNvbnRlbnRMb2dpY2FsV2lkdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50QnVpbGRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25JbmxpbmVDb250ZW50QnVpbGRlci5jcHAKaW5kZXggOGFkY2Q5OTQ2NmM1ODVmNWFiNGI4YzNj
YmZkM2RlZTg4ZjNjZWM0My4uYWM5ZWM3MTM4MGU4YmRiZTg1ZDg2YzBlMzFlNWU3YTM3YmI1ODhi
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dElu
dGVncmF0aW9uSW5saW5lQ29udGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRCdWlsZGVyLmNw
cApAQCAtNDgsNyArNDgsNyBAQCBzdHJ1Y3QgTGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JS
dW5zIHsKICAgICBib29sIG5lZWRzVHJhaWxpbmdDb250ZW50UmVwbGFjZW1lbnQgeyBmYWxzZSB9
OwogfTsKIAotaW5saW5lIHN0YXRpYyBmbG9hdCBsaW5lT3ZlcmZsb3dXaWR0aChjb25zdCBSZW5k
ZXJCbG9ja0Zsb3cmIGZsb3csIElubGluZUxheW91dFVuaXQgbGluZUxvZ2ljYWxXaWR0aCwgSW5s
aW5lTGF5b3V0VW5pdCBsaW5lQm94TG9naWNhbFdpZHRoKQoraW5saW5lIHN0YXRpYyBmbG9hdCBs
aW5lT3ZlcmZsb3dXaWR0aChjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIElubGluZUxheW91
dFVuaXQgbGluZUJveExvZ2ljYWxXaWR0aCwgSW5saW5lTGF5b3V0VW5pdCBsaW5lQ29udGVudExv
Z2ljYWxXaWR0aCkKIHsKICAgICAvLyBGSVhNRTogSXQncyB0aGUgY29weSBvZiB0aGUgbGV0cy1h
ZGp1c3Qtb3ZlcmZsb3ctZm9yLXRoZS1jYXJldCBiZWhhdmlvciBmcm9tIENvbXBsZXhMaW5lTGF5
b3V0OjphZGRPdmVyZmxvd0Zyb21JbmxpbmVDaGlsZHJlbi4KICAgICBhdXRvIGVuZFBhZGRpbmcg
PSBmbG93Lmhhc092ZXJmbG93Q2xpcCgpID8gZmxvdy5wYWRkaW5nRW5kKCkgOiAwX2x1OwpAQCAt
NTYsOCArNTYsOCBAQCBpbmxpbmUgc3RhdGljIGZsb2F0IGxpbmVPdmVyZmxvd1dpZHRoKGNvbnN0
IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgSW5saW5lTGF5b3V0VQogICAgICAgICBlbmRQYWRkaW5n
ID0gZmxvdy5lbmRQYWRkaW5nV2lkdGhGb3JDYXJldCgpOwogICAgIGlmIChmbG93Lmhhc092ZXJm
bG93Q2xpcCgpICYmICFlbmRQYWRkaW5nICYmIGZsb3cuZWxlbWVudCgpICYmIGZsb3cuZWxlbWVu
dCgpLT5pc1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSkKICAgICAgICAgZW5kUGFkZGluZyA9IDE7Ci0g
ICAgbGluZUJveExvZ2ljYWxXaWR0aCArPSBlbmRQYWRkaW5nOwotICAgIHJldHVybiBzdGQ6Om1h
eChsaW5lTG9naWNhbFdpZHRoLCBsaW5lQm94TG9naWNhbFdpZHRoKTsKKyAgICBsaW5lQ29udGVu
dExvZ2ljYWxXaWR0aCArPSBlbmRQYWRkaW5nOworICAgIHJldHVybiBzdGQ6Om1heChsaW5lQm94
TG9naWNhbFdpZHRoLCBsaW5lQ29udGVudExvZ2ljYWxXaWR0aCk7CiB9CiAKIGNsYXNzIEl0ZXJh
dG9yIHsKQEAgLTE4Niw5ICsxODYsOSBAQCBJbmxpbmVDb250ZW50QnVpbGRlcjo6TGluZUxldmVs
VmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zTGlzdCBJbmxpbmVDb250ZW50QnVpbGRlcgogICAgICAg
ICBsaW5lTGV2ZWxWaXN1YWxBZGp1c3RtZW50c0ZvclJ1bnNbbGluZUluZGV4XS5uZWVkc0ludGVn
cmFsUG9zaXRpb24gPSBsaW5lTmVlZHNMZWdhY3lJbnRlZ3JhbFZlcnRpY2FsUG9zaXRpb24oKTsK
ICAgICAgICAgaWYgKHNob3VsZENoZWNrSG9yaXpvbnRhbE92ZXJmbG93Rm9yQ29udGVudFJlcGxh
Y2VtZW50KSB7CiAgICAgICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKLSAg
ICAgICAgICAgIGF1dG8mIGxpbmVMb2dpY2FsUmVjdCA9IGxpbmUubG9naWNhbFJlY3QoKTsKLSAg
ICAgICAgICAgIGF1dG8gb3ZlcmZsb3dXaWR0aCA9IGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tG
bG93LCBsaW5lTG9naWNhbFJlY3Qud2lkdGgoKSwgbGluZS5saW5lQm94TG9naWNhbFNpemUoKS53
aWR0aCgpKTsKLSAgICAgICAgICAgIGxpbmVMZXZlbFZpc3VhbEFkanVzdG1lbnRzRm9yUnVuc1ts
aW5lSW5kZXhdLm5lZWRzVHJhaWxpbmdDb250ZW50UmVwbGFjZW1lbnQgPSBvdmVyZmxvd1dpZHRo
ID4gbGluZUxvZ2ljYWxSZWN0LndpZHRoKCk7CisgICAgICAgICAgICBhdXRvIGxpbmVCb3hMb2dp
Y2FsV2lkdGggPSBsaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpLndpZHRoKCk7CisgICAgICAgICAg
ICBhdXRvIG92ZXJmbG93V2lkdGggPSBsaW5lT3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGlu
ZUJveExvZ2ljYWxXaWR0aCwgbGluZS5jb250ZW50TG9naWNhbFdpZHRoKCkpOworICAgICAgICAg
ICAgbGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNUcmFp
bGluZ0NvbnRlbnRSZXBsYWNlbWVudCA9IG92ZXJmbG93V2lkdGggPiBsaW5lQm94TG9naWNhbFdp
ZHRoOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBsaW5lTGV2ZWxWaXN1YWxBZGp1c3Rt
ZW50c0ZvclJ1bnM7CkBAIC0yMTMsMTMgKzIxMywxMyBAQCB2b2lkIElubGluZUNvbnRlbnRCdWls
ZGVyOjpjcmVhdGVEaXNwbGF5TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5n
UwogICAgIGF1dG8gY3JlYXRlRGlzcGxheUJveFJ1biA9IFsmXShhdXRvJiBsaW5lUnVuKSB7CiAg
ICAgICAgIGF1dG8mIGxheW91dEJveCA9IGxpbmVSdW4ubGF5b3V0Qm94KCk7CiAgICAgICAgIGF1
dG8gbGluZUluZGV4ID0gbGluZVJ1bi5saW5lSW5kZXgoKTsKLSAgICAgICAgYXV0byYgbGluZUxv
Z2ljYWxSZWN0ID0gbGluZXNbbGluZUluZGV4XS5sb2dpY2FsUmVjdCgpOworICAgICAgICBhdXRv
JiBsaW5lQm94TG9naWNhbFJlY3QgPSBsaW5lc1tsaW5lSW5kZXhdLmxpbmVCb3hMb2dpY2FsUmVj
dCgpOwogICAgICAgICAvLyBJbmxpbmUgYm94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lIGJv
eCB3aGlsZSBmaW5hbCBSdW5zIG5lZWQgdG8gYmUgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBCb3gK
ICAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3ZSBqdXN0IGxlYXZlIHRoZW0gYmUgcmVsYXRp
dmUgdG8gdGhlIGxpbmUgYm94PwogICAgICAgICBhdXRvIHJ1blJlY3QgPSBGbG9hdFJlY3QgeyBs
aW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKICAgICAgICAgLy8gTGluZSBydW5zIGFyZSBtYXJnaW4g
Ym94IGJhc2VkLCBsZXQncyBjb252ZXJ0IHRoZW0gdG8gYm9yZGVyIGJveC4KICAgICAgICAgYXV0
byYgZ2VvbWV0cnkgPSBtX2xheW91dFN0YXRlLmdlb21ldHJ5Rm9yQm94KGxheW91dEJveCk7Ci0g
ICAgICAgIHJ1blJlY3QubW92ZUJ5KHsgbGluZUxvZ2ljYWxSZWN0LmxlZnQoKSArIHN0ZDo6bWF4
KGdlb21ldHJ5Lm1hcmdpblN0YXJ0KCksIDBfbHUpLCBsaW5lTG9naWNhbFJlY3QudG9wKCkgKyBn
ZW9tZXRyeS5tYXJnaW5CZWZvcmUoKSB9KTsKKyAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5l
Qm94TG9naWNhbFJlY3QubGVmdCgpICsgc3RkOjptYXgoZ2VvbWV0cnkubWFyZ2luU3RhcnQoKSwg
MF9sdSksIGxpbmVCb3hMb2dpY2FsUmVjdC50b3AoKSArIGdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgp
IH0pOwogICAgICAgICBydW5SZWN0LnNldFNpemUoeyBnZW9tZXRyeS5ib3JkZXJCb3hXaWR0aCgp
LCBnZW9tZXRyeS5ib3JkZXJCb3hIZWlnaHQoKSB9KTsKICAgICAgICAgaWYgKGxpbmVMZXZlbFZp
c3VhbEFkanVzdG1lbnRzRm9yUnVuc1tsaW5lSW5kZXhdLm5lZWRzSW50ZWdyYWxQb3NpdGlvbikK
ICAgICAgICAgICAgIHJ1blJlY3Quc2V0WShyb3VuZFRvSW50KHJ1blJlY3QueSgpKSk7CkBAIC0y
MzIsMTEgKzIzMiwxMSBAQCB2b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5
TGluZVJ1bnMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3JtYXR0aW5nUwogICAgICAgICBSRUxFQVNF
X0FTU0VSVChzdGFydE9mZnNldCA8IGVuZE9mZnNldCk7CiAgICAgICAgIGF1dG8mIGxheW91dEJv
eCA9IGxpbmVSdW4ubGF5b3V0Qm94KCk7CiAgICAgICAgIGF1dG8gbGluZUluZGV4ID0gbGluZVJ1
bi5saW5lSW5kZXgoKTsKLSAgICAgICAgYXV0byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZXNbbGlu
ZUluZGV4XS5sb2dpY2FsUmVjdCgpOworICAgICAgICBhdXRvJiBsaW5lQm94TG9naWNhbFJlY3Qg
PSBsaW5lc1tsaW5lSW5kZXhdLmxpbmVCb3hMb2dpY2FsUmVjdCgpOwogICAgICAgICBhdXRvIHJ1
blJlY3QgPSBGbG9hdFJlY3QgeyBsaW5lUnVuLmxvZ2ljYWxSZWN0KCkgfTsKICAgICAgICAgLy8g
SW5saW5lIGJveGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgbGluZSBib3ggd2hpbGUgZmluYWwgUnVu
cyBuZWVkIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgQm94CiAgICAgICAgIC8vIEZJWE1F
OiBTaG91bGRuJ3Qgd2UganVzdCBsZWF2ZSB0aGVtIGJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lIGJv
eD8KLSAgICAgICAgcnVuUmVjdC5tb3ZlQnkoeyBsaW5lTG9naWNhbFJlY3QubGVmdCgpLCBsaW5l
TG9naWNhbFJlY3QudG9wKCkgfSk7CisgICAgICAgIHJ1blJlY3QubW92ZUJ5KHsgbGluZUJveExv
Z2ljYWxSZWN0LmxlZnQoKSwgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpIH0pOwogICAgICAgICBp
ZiAobGluZUxldmVsVmlzdWFsQWRqdXN0bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRl
Z3JhbFBvc2l0aW9uKQogICAgICAgICAgICAgcnVuUmVjdC5zZXRZKHJvdW5kVG9JbnQocnVuUmVj
dC55KCkpKTsKIApAQCAtMjU0LDEyICsyNTQsMTIgQEAgdm9pZCBJbmxpbmVDb250ZW50QnVpbGRl
cjo6Y3JlYXRlRGlzcGxheUxpbmVSdW5zKGNvbnN0IExheW91dDo6SW5saW5lRm9ybWF0dGluZ1MK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYXV0byBydW5Mb2dpY2FsUmVjdCA9
IGxpbmVSdW4ubG9naWNhbFJlY3QoKTsKICAgICAgICAgICAgICAgICBhdXRvIGVsbGlwc2lzV2lk
dGggPSBzdHlsZS5mb250Q2FzY2FkZSgpLndpZHRoKFdlYkNvcmU6OlRleHRSdW4geyAmaG9yaXpv
bnRhbEVsbGlwc2lzIH0pOwotICAgICAgICAgICAgICAgIGlmIChydW5Mb2dpY2FsUmVjdC5yaWdo
dCgpICsgZWxsaXBzaXNXaWR0aCA+IGxpbmVMb2dpY2FsUmVjdC5yaWdodCgpKSB7CisgICAgICAg
ICAgICAgICAgaWYgKHJ1bkxvZ2ljYWxSZWN0LnJpZ2h0KCkgKyBlbGxpcHNpc1dpZHRoID4gbGlu
ZUJveExvZ2ljYWxSZWN0LnJpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIG5l
eHQgcnVuIHdpdGggZWxsaXBzaXMgd291bGQgc3VyZWx5IG92ZXJmbG93LiBTbyBsZXQncyBqdXN0
IGFkZCBpdCB0byB0aGlzIHJ1biBldmVuIGlmCiAgICAgICAgICAgICAgICAgICAgIC8vIGl0IG1h
a2VzIHRoZSBydW4gd2lkZXIgdGhhbiBpdCBvcmlnaW5hbGx5IHdhcy4KICAgICAgICAgICAgICAg
ICAgICAgaGFzQWRqdXN0ZWRUcmFpbGluZ0xpbmVMaXN0W2xpbmVJbmRleF0gPSB0cnVlOwogICAg
ICAgICAgICAgICAgICAgICBmbG9hdCByZXN1bHRXaWR0aCA9IDA7Ci0gICAgICAgICAgICAgICAg
ICAgIGF1dG8gbWF4V2lkdGggPSBsaW5lTG9naWNhbFJlY3Qud2lkdGgoKSAtIHJ1bkxvZ2ljYWxS
ZWN0LmxlZnQoKTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBtYXhXaWR0aCA9IGxpbmVCb3hM
b2dpY2FsUmVjdC53aWR0aCgpIC0gcnVuTG9naWNhbFJlY3QubGVmdCgpOwogICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKG9yaWdpbmFsQ29u
dGVudCwgbWF4V2lkdGgsIHN0eWxlLmZvbnRDYXNjYWRlKCksIHJlc3VsdFdpZHRoLCB0cnVlKTsK
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0zMDcsMjAgKzMwNywxOCBAQCB2
b2lkIElubGluZUNvbnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoY29uc3QgTGF5b3V0
OjpJbmxpbmVGb3JtYXR0aW5nU3RhdAogICAgIHNpemVfdCBydW5JbmRleCA9IDA7CiAgICAgZm9y
IChzaXplX3QgbGluZUluZGV4ID0gMDsgbGluZUluZGV4IDwgbGluZXMuc2l6ZSgpOyArK2xpbmVJ
bmRleCkgewogICAgICAgICBhdXRvJiBsaW5lID0gbGluZXNbbGluZUluZGV4XTsKLSAgICAgICAg
YXV0byYgbGluZUxvZ2ljYWxSZWN0ID0gbGluZS5sb2dpY2FsUmVjdCgpOwotICAgICAgICBhdXRv
IGxpbmVCb3hMb2dpY2FsU2l6ZSA9IGxpbmUubGluZUJveExvZ2ljYWxTaXplKCk7CisgICAgICAg
IGF1dG8mIGxpbmVCb3hMb2dpY2FsUmVjdCA9IGxpbmUubGluZUJveExvZ2ljYWxSZWN0KCk7CiAg
ICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIHdoZXJlIHRoZSBsb2dpY2FsIHRvIHBoeXNpY2FsIHRy
YW5zbGF0ZSBzaG91bGQgaGFwcGVuLgotICAgICAgICBhdXRvIHNjcm9sbGFibGVPdmVyZmxvd1Jl
Y3QgPSBGbG9hdFJlY3QgeyBsaW5lTG9naWNhbFJlY3QubGVmdCgpLCBsaW5lTG9naWNhbFJlY3Qu
dG9wKCksIGxpbmVPdmVyZmxvd1dpZHRoKG1fYmxvY2tGbG93LCBsaW5lTG9naWNhbFJlY3Qud2lk
dGgoKSwgbGluZUJveExvZ2ljYWxTaXplLndpZHRoKCkpLCBsaW5lTG9naWNhbFJlY3QuaGVpZ2h0
KCkgfTsKKyAgICAgICAgYXV0byBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0ID0gRmxvYXRSZWN0IHsg
bGluZUJveExvZ2ljYWxSZWN0LmxlZnQoKSwgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpLCBsaW5l
T3ZlcmZsb3dXaWR0aChtX2Jsb2NrRmxvdywgbGluZUJveExvZ2ljYWxSZWN0LndpZHRoKCksIGxp
bmUuY29udGVudExvZ2ljYWxXaWR0aCgpKSwgbGluZUJveExvZ2ljYWxSZWN0LmhlaWdodCgpIH07
CiAKICAgICAgICAgYXV0byBmaXJzdFJ1bkluZGV4ID0gcnVuSW5kZXg7CiAgICAgICAgIGF1dG8g
bGluZUlua092ZXJmbG93UmVjdCA9IHNjcm9sbGFibGVPdmVyZmxvd1JlY3Q7CiAgICAgICAgIHdo
aWxlIChydW5JbmRleCA8IHJ1bnMuc2l6ZSgpICYmIHJ1bnNbcnVuSW5kZXhdLmxpbmVJbmRleCgp
ID09IGxpbmVJbmRleCkKICAgICAgICAgICAgIGxpbmVJbmtPdmVyZmxvd1JlY3QudW5pdGUocnVu
c1tydW5JbmRleCsrXS5pbmtPdmVyZmxvdygpKTsKICAgICAgICAgYXV0byBydW5Db3VudCA9IHJ1
bkluZGV4IC0gZmlyc3RSdW5JbmRleDsKLSAgICAgICAgYXV0byBsaW5lUmVjdCA9IEZsb2F0UmVj
dCB7IGxpbmVMb2dpY2FsUmVjdCB9OwogICAgICAgICBhdXRvIGVuY2xvc2luZ1RvcEFuZEJvdHRv
bSA9IFsmXSB7CiAgICAgICAgICAgICAvLyBMZXQncyAodmVydGljYWxseSllbmNsb3NlIGFsbCB0
aGUgaW5saW5lIGxldmVsIGJveGVzLgotICAgICAgICAgICAgLy8gVGhpcyBtb3N0bHkgbWF0Y2hl
cyAnbGluZVJlY3QnLCB1bmxlc3MgbGluZS1oZWlnaHQgdHJpZ2dlcnMgbGluZSBib3ggb3ZlcmZs
b3cgKG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIGluayBvciBzY3JvbGwgb3ZlcmZsb3cpLgorICAg
ICAgICAgICAgLy8gVGhpcyBtb3N0bHkgbWF0Y2hlcyAnbGluZSBib3ggcmVjdCcsIHVubGVzcyBs
aW5lLWhlaWdodCB0cmlnZ2VycyBsaW5lIGJveCBvdmVyZmxvdyAobm90IHRvIGJlIGNvbmZ1c2Vk
IHdpdGggaW5rIG9yIHNjcm9sbCBvdmVyZmxvdykuCiAgICAgICAgICAgICBhdXRvIGVuY2xvc2lu
Z1RvcCA9IE9wdGlvbmFsPGZsb2F0PiB7IH07CiAgICAgICAgICAgICBhdXRvIGVuY2xvc2luZ0Jv
dHRvbSA9IE9wdGlvbmFsPGZsb2F0PiB7IH07CiAgICAgICAgICAgICBhdXRvJiBsaW5lQm94ID0g
bGluZUJveGVzW2xpbmVJbmRleF07CkBAIC0zMzgsMTQgKzMzNiwxNSBAQCB2b2lkIElubGluZUNv
bnRlbnRCdWlsZGVyOjpjcmVhdGVEaXNwbGF5TGluZXMoY29uc3QgTGF5b3V0OjpJbmxpbmVGb3Jt
YXR0aW5nU3RhdAogICAgICAgICAgICAgLy8gVGhlcmUncyBhbHdheXMgYXQgbGVhc3Qgb25lIGlu
bGluZSBsZXZlbCBib3gsIHRoZSByb290IGlubGluZSBib3guCiAgICAgICAgICAgICBBU1NFUlQo
ZW5jbG9zaW5nQm90dG9tICYmIGVuY2xvc2luZ1RvcCk7CiAgICAgICAgICAgICAvLyBpbmxpbmUg
Ym94ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBsaW5lLCBsZXQncyBtYWtlIHRoZW0gcmVsYXRpdmUg
dG8gdGhlIHJvb3QncyBjb250ZW50IGJveC4KLSAgICAgICAgICAgIHJldHVybiBMaW5lOjpFbmNs
b3NpbmdUb3BBbmRCb3R0b20geyBsaW5lUmVjdC55KCkgKyAqZW5jbG9zaW5nVG9wLCBsaW5lUmVj
dC55KCkgKyAqZW5jbG9zaW5nQm90dG9tIH07CisgICAgICAgICAgICByZXR1cm4gTGluZTo6RW5j
bG9zaW5nVG9wQW5kQm90dG9tIHsgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpICsgKmVuY2xvc2lu
Z1RvcCwgbGluZUJveExvZ2ljYWxSZWN0LnRvcCgpICsgKmVuY2xvc2luZ0JvdHRvbSB9OwogICAg
ICAgICB9KCk7CisgICAgICAgIGF1dG8gYWRqdXN0ZWRMaW5lQm94UmVjdCA9IEZsb2F0UmVjdCB7
IGxpbmVCb3hMb2dpY2FsUmVjdCB9OwogICAgICAgICBpZiAobGluZUxldmVsVmlzdWFsQWRqdXN0
bWVudHNGb3JSdW5zW2xpbmVJbmRleF0ubmVlZHNJbnRlZ3JhbFBvc2l0aW9uKSB7Ci0gICAgICAg
ICAgICBsaW5lUmVjdC5zZXRZKHJvdW5kVG9JbnQobGluZVJlY3QueSgpKSk7CisgICAgICAgICAg
ICBhZGp1c3RlZExpbmVCb3hSZWN0LnNldFkocm91bmRUb0ludChhZGp1c3RlZExpbmVCb3hSZWN0
LnkoKSkpOwogICAgICAgICAgICAgZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCA9IHJvdW5kVG9J
bnQoZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcCk7CiAgICAgICAgICAgICBlbmNsb3NpbmdUb3BB
bmRCb3R0b20uYm90dG9tID0gcm91bmRUb0ludChlbmNsb3NpbmdUb3BBbmRCb3R0b20uYm90dG9t
KTsKICAgICAgICAgfQotICAgICAgICBpbmxpbmVDb250ZW50LmxpbmVzLmFwcGVuZCh7IGZpcnN0
UnVuSW5kZXgsIHJ1bkNvdW50LCBsaW5lUmVjdCwgbGluZUJveExvZ2ljYWxTaXplLndpZHRoKCks
IGVuY2xvc2luZ1RvcEFuZEJvdHRvbSwgc2Nyb2xsYWJsZU92ZXJmbG93UmVjdCwgbGluZUlua092
ZXJmbG93UmVjdCwgbGluZS5iYXNlbGluZSgpLCBsaW5lLmNvbnRlbnRMb2dpY2FsTGVmdE9mZnNl
dCgpLCBsaW5lLmNvbnRlbnRMb2dpY2FsV2lkdGgoKSB9KTsKKyAgICAgICAgaW5saW5lQ29udGVu
dC5saW5lcy5hcHBlbmQoeyBmaXJzdFJ1bkluZGV4LCBydW5Db3VudCwgYWRqdXN0ZWRMaW5lQm94
UmVjdCwgZW5jbG9zaW5nVG9wQW5kQm90dG9tLCBzY3JvbGxhYmxlT3ZlcmZsb3dSZWN0LCBsaW5l
SW5rT3ZlcmZsb3dSZWN0LCBsaW5lLmJhc2VsaW5lKCksIGxpbmUuY29udGVudExvZ2ljYWxMZWZ0
T2Zmc2V0KCksIGxpbmUuY29udGVudExvZ2ljYWxXaWR0aCgpIH0pOwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uTGluZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVn
cmF0aW9uTGluZS5oCmluZGV4IGY5NzNiZDRkNjU1ZGI1MzUyMzcyYjY3MjEwY2IxMzM1MWI4ZWFi
NDEuLjQ2YTdhNGNiMzI2OTkyOGM2ZjU1NWY2MzNkMzg2MDI0YjU2ZWRlZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkxpbmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25MaW5lLmgKQEAgLTQwLDExICs0MCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIGZsb2F0IHRvcCB7
IDAgfTsKICAgICAgICAgZmxvYXQgYm90dG9tIHsgMCB9OwogICAgIH07Ci0gICAgTGluZShzaXpl
X3QgZmlyc3RSdW5JbmRleCwgc2l6ZV90IHJ1bkNvdW50LCBjb25zdCBGbG9hdFJlY3QmIGxpbmVS
ZWN0LCBmbG9hdCBsaW5lQm94V2lkdGgsIEVuY2xvc2luZ1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdU
b3BBbmRCb3R0b20sIGNvbnN0IEZsb2F0UmVjdCYgc2Nyb2xsYWJsZU92ZXJmbG93LCBjb25zdCBG
bG9hdFJlY3QmIGlua092ZXJmbG93LCBmbG9hdCBiYXNlbGluZSwgZmxvYXQgY29udGVudExlZnRP
ZmZzZXQsIGZsb2F0IGNvbnRlbnRXaWR0aCkKKyAgICBMaW5lKHNpemVfdCBmaXJzdFJ1bkluZGV4
LCBzaXplX3QgcnVuQ291bnQsIGNvbnN0IEZsb2F0UmVjdCYgbGluZUJveFJlY3QsIEVuY2xvc2lu
Z1RvcEFuZEJvdHRvbSBlbmNsb3NpbmdUb3BBbmRCb3R0b20sIGNvbnN0IEZsb2F0UmVjdCYgc2Ny
b2xsYWJsZU92ZXJmbG93LCBjb25zdCBGbG9hdFJlY3QmIGlua092ZXJmbG93LCBmbG9hdCBiYXNl
bGluZSwgZmxvYXQgY29udGVudExlZnRPZmZzZXQsIGZsb2F0IGNvbnRlbnRXaWR0aCkKICAgICAg
ICAgOiBtX2ZpcnN0UnVuSW5kZXgoZmlyc3RSdW5JbmRleCkKICAgICAgICAgLCBtX3J1bkNvdW50
KHJ1bkNvdW50KQotICAgICAgICAsIG1fbGluZVJlY3QobGluZVJlY3QpCi0gICAgICAgICwgbV9s
aW5lQm94V2lkdGgobGluZUJveFdpZHRoKQorICAgICAgICAsIG1fbGluZUJveFJlY3QobGluZUJv
eFJlY3QpCiAgICAgICAgICwgbV9lbmNsb3NpbmdUb3BBbmRCb3R0b20oZW5jbG9zaW5nVG9wQW5k
Qm90dG9tKQogICAgICAgICAsIG1fc2Nyb2xsYWJsZU92ZXJmbG93KHNjcm9sbGFibGVPdmVyZmxv
dykKICAgICAgICAgLCBtX2lua092ZXJmbG93KGlua092ZXJmbG93KQpAQCAtNTYsOCArNTUsNyBA
QCBwdWJsaWM6CiAKICAgICBzaXplX3QgZmlyc3RSdW5JbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1f
Zmlyc3RSdW5JbmRleDsgfQogICAgIHNpemVfdCBydW5Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1f
cnVuQ291bnQ7IH0KLSAgICBjb25zdCBGbG9hdFJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVybiBt
X2xpbmVSZWN0OyB9Ci0gICAgZmxvYXQgbGluZUJveFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9s
aW5lQm94V2lkdGg7IH0KKyAgICBjb25zdCBGbG9hdFJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVy
biBtX2xpbmVCb3hSZWN0OyB9CiAgICAgZmxvYXQgZW5jbG9zaW5nQ29udGVudFRvcCgpIGNvbnN0
IHsgcmV0dXJuIG1fZW5jbG9zaW5nVG9wQW5kQm90dG9tLnRvcDsgfQogICAgIGZsb2F0IGVuY2xv
c2luZ0NvbnRlbnRCb3R0b20oKSBjb25zdCB7IHJldHVybiBtX2VuY2xvc2luZ1RvcEFuZEJvdHRv
bS5ib3R0b207IH0KICAgICBjb25zdCBGbG9hdFJlY3QmIHNjcm9sbGFibGVPdmVyZmxvdygpIGNv
bnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZU92ZXJmbG93OyB9CkBAIC02OSwxMiArNjcsMTAgQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBzaXplX3QgbV9maXJzdFJ1bkluZGV4IHsgMCB9OwogICAg
IHNpemVfdCBtX3J1bkNvdW50IHsgMCB9OwotICAgIC8vIExpbmUgaXMgYWx3YXlzIGFzIHRhbGwg
YXMgdGhlIGxpbmUgYm94IGlzLiBIb3dldmVyIHRoZXkgbWF5IGRpZmZlciBpbiB3aWR0aC4KLSAg
ICAvLyBXaGlsZSBsaW5lIGJveCBlbmNsb3NlcyBhbGwgdGhlIGlubGluZSBsZXZlbCBib3hlcyBv
biB0aGUgbGluZSBob3Jpem9udGFsbHksIHRoZSBsaW5lIGl0c2VsZiBtYXkgYmUgc2hvcnRlciAo
YW5kIHRyaWdnZXIgaG9yaXpvbnRhbCBvdmVyZmxvdykuCisgICAgLy8gVGhpcyBpcyBsaW5lIGJv
eCBnZW9tZXRyeSAoc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtaW5saW5lLTMvI2xpbmUt
Ym94KS4KKyAgICBGbG9hdFJlY3QgbV9saW5lQm94UmVjdDsKICAgICAvLyBFbmNsb3NpbmcgdG9w
IGFuZCBib3R0b20gaW5jbHVkZXMgYWxsIGlubGluZSBsZXZlbCBib3hlcyAoYm9yZGVyIGJveCkg
dmVydGljYWxseS4gSW4gY2VydGFpbiBjYXNlcyAoc2VlIGxpbmUtaGVpZ2h0IHByb3BlcnR5KQog
ICAgIC8vIHRoZSBsaW5lIChhbmQgdGhlIGxpbmUgYm94KSBpcyBub3QgYXMgdGFsbCBhcyB0aGUg
aW5saW5lIGxldmVsIGJveGVzIG9uIHRoZSBsaW5lLgotICAgIEZsb2F0UmVjdCBtX2xpbmVSZWN0
OwotICAgIGZsb2F0IG1fbGluZUJveFdpZHRoIHsgMCB9OwogICAgIEVuY2xvc2luZ1RvcEFuZEJv
dHRvbSBtX2VuY2xvc2luZ1RvcEFuZEJvdHRvbTsKICAgICBGbG9hdFJlY3QgbV9zY3JvbGxhYmxl
T3ZlcmZsb3c7CiAgICAgRmxvYXRSZWN0IG1faW5rT3ZlcmZsb3c7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blBhZ2luYXRpb24uY3BwCmluZGV4IDE2MzdjZjk3MmZiYzExNTgyM2VjYjIwOWI3Y2M4ZWNmMzY4
ZWY2MTAuLjdlNjc1YmQ4ZGRjZDc1NmQ2ZTZlNzkzYWMyMzYzODhjYjMyMmQxYTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBh
Z2luYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlv
dXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCkBAIC0xMzAsNyArMTMwLDYgQEAgc3RhdGljIFJl
ZjxJbmxpbmVDb250ZW50PiBtYWtlQWRqdXN0ZWRDb250ZW50KGNvbnN0IElubGluZUNvbnRlbnQm
IGlubGluZUNvbnRlbnQKICAgICAgICAgICAgIGxpbmUuZmlyc3RSdW5JbmRleCgpLAogICAgICAg
ICAgICAgbGluZS5ydW5Db3VudCgpLAogICAgICAgICAgICAgbW92ZVZlcnRpY2FsbHkobGluZS5y
ZWN0KCksIG9mZnNldCksCi0gICAgICAgICAgICBsaW5lLnJlY3QoKS53aWR0aCgpLAogICAgICAg
ICAgICAgeyBsaW5lLmVuY2xvc2luZ0NvbnRlbnRUb3AoKSArIG9mZnNldCwgbGluZS5lbmNsb3Np
bmdDb250ZW50Qm90dG9tKCkgKyBvZmZzZXQgfSwKICAgICAgICAgICAgIG1vdmVWZXJ0aWNhbGx5
KGxpbmUuc2Nyb2xsYWJsZU92ZXJmbG93KCksIG9mZnNldCksCiAgICAgICAgICAgICBtb3ZlVmVy
dGljYWxseShsaW5lLmlua092ZXJmbG93KCksIG9mZnNldCksCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKaW5kZXggNjMw
M2I5YjMzMGQ2MzkwMjk2NzA2NmNkYzM5NjI4MzA3MWFmOWE0ZC4uOWRjNDBlOGIyMjg3YTAzOWMx
YTgwY2YzZmNmZGJmNWViODY3MThkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNwcApAQCAtMzk0LDggKzM5NCw4IEBA
IHZvaWQgc2hvd0lubGluZVRyZWVBbmRSdW5zKFRleHRTdHJlYW0mIHN0cmVhbSwgY29uc3QgTGF5
b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjCiAgICAgICAgIH07CiAgICAgICAgIGFkZFNwYWNpbmco
KTsKICAgICAgICAgYXV0byYgbGluZSA9IGxpbmVzW2xpbmVJbmRleF07Ci0gICAgICAgIGF1dG8m
IGxpbmVMb2dpY2FsUmVjdCA9IGxpbmUubG9naWNhbFJlY3QoKTsKLSAgICAgICAgc3RyZWFtIDw8
ICJsaW5lIGF0ICgiIDw8IGxpbmVMb2dpY2FsUmVjdC5sZWZ0KCkgPDwgIiwiIDw8IGxpbmVMb2dp
Y2FsUmVjdC50b3AoKSA8PCAiKSBzaXplICgiIDw8IGxpbmVMb2dpY2FsUmVjdC53aWR0aCgpIDw8
ICJ4IiA8PCBsaW5lTG9naWNhbFJlY3QuaGVpZ2h0KCkgPDwgIikgYmFzZWxpbmUgKCIgPDwgbGlu
ZS5iYXNlbGluZSgpIDw8ICIpIjsKKyAgICAgICAgYXV0byYgbGluZUJveExvZ2ljYWxSZWN0ID0g
bGluZS5saW5lQm94TG9naWNhbFJlY3QoKTsKKyAgICAgICAgc3RyZWFtIDw8ICJsaW5lIGF0ICgi
IDw8IGxpbmVCb3hMb2dpY2FsUmVjdC5sZWZ0KCkgPDwgIiwiIDw8IGxpbmVCb3hMb2dpY2FsUmVj
dC50b3AoKSA8PCAiKSBzaXplICgiIDw8IGxpbmVCb3hMb2dpY2FsUmVjdC53aWR0aCgpIDw8ICJ4
IiA8PCBsaW5lQm94TG9naWNhbFJlY3QuaGVpZ2h0KCkgPDwgIikgYmFzZWxpbmUgKCIgPDwgbGlu
ZS5iYXNlbGluZSgpIDw8ICIpIjsKICAgICAgICAgc3RyZWFtLm5leHRMaW5lKCk7CiAKICAgICAg
ICAgYWRkU3BhY2luZygpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>