<?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>234304</bug_id>
          
          <creation_ts>2021-12-14 11:59:28 -0800</creation_ts>
          <short_desc>[LFC] Let BoxGeometry have logical values only</short_desc>
          <delta_ts>2021-12-14 14:13: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>1824064</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-12-14 11:59:28 -0800</bug_when>
    <thetext>This helps figuring out when to convert from logical to physical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824067</commentid>
    <comment_count>1</comment_count>
      <attachid>447145</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-14 12:03:10 -0800</bug_when>
    <thetext>Created attachment 447145
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824119</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-14 14:12:12 -0800</bug_when>
    <thetext>Committed r287047 (245244@main): &lt;https://commits.webkit.org/245244@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447145.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824120</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-14 14:13:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/86488220&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447145</attachid>
            <date>2021-12-14 12:03:10 -0800</date>
            <delta_ts>2021-12-14 14:12:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234304-20211214120309.patch</filename>
            <type>text/plain</type>
            <size>33865</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE1OTRjMzQ5NmRlNzQy
MWIzYzI1YWI2ZWEwMTg3ZGY1ZGM1MzFhZC4uYWUwODMyZTg2Y2RhNDYyNGRkODgxM2Q0OTY2NThj
NTRhZWY5MjM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDIxLTEyLTE0ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXSBMZXQgQm94R2VvbWV0
cnkgaGF2ZSBsb2dpY2FsIHZhbHVlcyBvbmx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQzMDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGhlbHBzIHdoZW4gY29udmVydGluZyBsb2dpY2FsIChs
YXlvdXQpIHZhbHVlcyB0byBwaHlzaWNhbCAoZGlzcGxheSkgdmFsdWVzLgorCisgICAgICAgICog
ZGlzcGxheS9jc3MvRGlzcGxheUZpbGxMYXllckltYWdlR2VvbWV0cnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheTo6Z2VvbWV0cnlGb3JMYXllcik6CisgICAgICAgICogbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9Gb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkZvcm1hdHRpbmdDb250ZXh0Ojp2YWxpZGF0ZUdlb21ldHJ5Q29uc3RyYWludHNB
ZnRlckxheW91dCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9G
b3JtYXR0aW5nR2VvbWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0
aW5nR2VvbWV0cnk6Om91dE9mRmxvd05vblJlcGxhY2VkVmVydGljYWxHZW9tZXRyeSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdHZW9tZXRyeTo6b3V0T2ZGbG93
Tm9uUmVwbGFjZWRIb3Jpem9udGFsR2VvbWV0cnkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpGb3JtYXR0aW5nR2VvbWV0cnk6Om91dE9mRmxvd1JlcGxhY2VkVmVydGljYWxHZW9t
ZXRyeSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkZvcm1hdHRpbmdHZW9tZXRy
eTo6b3V0T2ZGbG93UmVwbGFjZWRIb3Jpem9udGFsR2VvbWV0cnkgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nR2VvbWV0cnk6OmNvbXB1dGVkUGFkZGluZyBjb25z
dCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9Gb3JtYXR0aW5nUXVpcmtz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ1F1aXJrczo6aGVpZ2h0
VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tXaXRoRml4ZWRIZWlnaHQgY29uc3QpOgorICAg
ICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2svQmxvY2tGb3JtYXR0aW5nR2Vv
bWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdHZW9t
ZXRyeTo6aW5GbG93Tm9uUmVwbGFjZWRDb250ZW50SGVpZ2h0QW5kTWFyZ2luIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nR2VvbWV0cnk6OmluRmxvd05v
blJlcGxhY2VkQ29udGVudFdpZHRoQW5kTWFyZ2luIGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6TGluZTo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkxpbmU6OmFkZEJvcmRlckFuZFBhZGRpbmdFbmRGb3JJbmxpbmVCb3hEZWNvcmF0aW9uQ2xvbmUp
OgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
b3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMaW5lQm94Ojpsb2dpY2FsQm9yZGVy
Qm94Rm9ySW5saW5lQm94IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RBbmRBbGlnbklubGluZUxldmVsQm94ZXMp
OgorICAgICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
dWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGluZUJ1aWxkZXI6OmlubGlu
ZUl0ZW1XaWR0aCBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90
YWJsZS9UYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6VGFibGVGb3JtYXR0aW5nQ29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9yQ2VsbHMpOgorICAg
ICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveEdlb21ldHJ5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Qm94R2VvbWV0cnk6OnBhZGRpbmdCb3ggY29uc3QpOgorICAgICAg
ICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91dEJveEdlb21ldHJ5Lmg6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojp2ZXJ0aWNhbEJvcmRlciBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojpob3Jpem9udGFsQm9yZGVyIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94R2VvbWV0cnk6OmJvcmRlckFuZFBhZGRpbmdT
dGFydCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojpib3Jk
ZXJBbmRQYWRkaW5nRW5kIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94R2Vv
bWV0cnk6OmNvbnRlbnRCb3hUb3AgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpC
b3hHZW9tZXRyeTo6Y29udGVudEJveExlZnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpCb3hHZW9tZXRyeTo6cGFkZGluZ0JveFRvcCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkJveEdlb21ldHJ5OjpwYWRkaW5nQm94TGVmdCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5OjpwYWRkaW5nQm94SGVpZ2h0IGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94R2VvbWV0cnk6OnBhZGRpbmdCb3hXaWR0aCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojpib3JkZXJCb3hIZWln
aHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3hHZW9tZXRyeTo6Ym9yZGVy
Qm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3hHZW9tZXRyeTo6
cGFkZGluZ0JlZm9yZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21l
dHJ5OjpwYWRkaW5nU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3hH
ZW9tZXRyeTo6cGFkZGluZ0FmdGVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
Qm94R2VvbWV0cnk6OnBhZGRpbmdFbmQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpCb3hHZW9tZXRyeTo6dmVydGljYWxQYWRkaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6Qm94R2VvbWV0cnk6Omhvcml6b250YWxQYWRkaW5nIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxheW91dDo6Qm94R2VvbWV0cnk6OmJvcmRlckJlZm9yZSBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojpib3JkZXJTdGFydCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojpib3JkZXJBZnRlciBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojpib3JkZXJFbmQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3hHZW9tZXRyeTo6cGFkZGluZ1RvcCBjb25z
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5OjpwYWRk
aW5nTGVmdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdl
b21ldHJ5OjpwYWRkaW5nQm90dG9tIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6Qm94R2VvbWV0cnk6OnBhZGRpbmdSaWdodCBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojpib3JkZXJUb3AgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3hHZW9tZXRyeTo6Ym9yZGVyTGVmdCBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJveEdlb21ldHJ5Ojpi
b3JkZXJCb3R0b20gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpC
b3hHZW9tZXRyeTo6Ym9yZGVyUmlnaHQgY29uc3QpOiBEZWxldGVkLgorCiAyMDIxLTEyLTEzICBB
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIFRha2Ug
dGV4dC1hbGlnbiBvZmZzZXQgaW50byBhY2NvdW50IHdoZW4gY29tcHV0aW5nIHRoZSBSVEwgZGlz
cGxheSBib3ggZ2VvbWV0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rpc3BsYXkvY3Nz
L0Rpc3BsYXlGaWxsTGF5ZXJJbWFnZUdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rpc3Bs
YXkvY3NzL0Rpc3BsYXlGaWxsTGF5ZXJJbWFnZUdlb21ldHJ5LmNwcAppbmRleCA4MmRkMzhjNDlm
MTY0NjI0MWE2ZWVlNzkyNjg3ZTliZWMzODQ4OTFkLi4wZmJlMWI0NjdlY2RhZDE1ZDJjZDllNDlj
YmY2OWI2MTI3ZDFiMGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kaXNwbGF5L2Nzcy9E
aXNwbGF5RmlsbExheWVySW1hZ2VHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZGlz
cGxheS9jc3MvRGlzcGxheUZpbGxMYXllckltYWdlR2VvbWV0cnkuY3BwCkBAIC0yNjMsMTUgKzI2
MywxNSBAQCBzdGF0aWMgRmlsbExheWVySW1hZ2VHZW9tZXRyeSBnZW9tZXRyeUZvckxheWVyKGNv
bnN0IEZpbGxMYXllciYgZmlsbExheWVyLCBMYXlvdQogICAgICAgICBMYXlvdXRVbml0IHJpZ2h0
OwogICAgICAgICBMYXlvdXRVbml0IGJvdHRvbTsKICAgICAgICAgaWYgKGZpbGxMYXllci5vcmln
aW4oKSAhPSBGaWxsQm94OjpCb3JkZXIpIHsKLSAgICAgICAgICAgIGxlZnQgPSBnZW9tZXRyeS5i
b3JkZXJMZWZ0KCk7Ci0gICAgICAgICAgICByaWdodCA9IGdlb21ldHJ5LmJvcmRlclJpZ2h0KCk7
Ci0gICAgICAgICAgICB0b3AgPSBnZW9tZXRyeS5ib3JkZXJUb3AoKTsKLSAgICAgICAgICAgIGJv
dHRvbSA9IGdlb21ldHJ5LmJvcmRlckJvdHRvbSgpOworICAgICAgICAgICAgbGVmdCA9IGdlb21l
dHJ5LmJvcmRlclN0YXJ0KCk7CisgICAgICAgICAgICByaWdodCA9IGdlb21ldHJ5LmJvcmRlckVu
ZCgpOworICAgICAgICAgICAgdG9wID0gZ2VvbWV0cnkuYm9yZGVyQmVmb3JlKCk7CisgICAgICAg
ICAgICBib3R0b20gPSBnZW9tZXRyeS5ib3JkZXJBZnRlcigpOwogICAgICAgICAgICAgaWYgKGZp
bGxMYXllci5vcmlnaW4oKSA9PSBGaWxsQm94OjpDb250ZW50KSB7Ci0gICAgICAgICAgICAgICAg
bGVmdCArPSBnZW9tZXRyeS5wYWRkaW5nTGVmdCgpLnZhbHVlX29yKDApOwotICAgICAgICAgICAg
ICAgIHJpZ2h0ICs9IGdlb21ldHJ5LnBhZGRpbmdSaWdodCgpLnZhbHVlX29yKDApOwotICAgICAg
ICAgICAgICAgIHRvcCArPSBnZW9tZXRyeS5wYWRkaW5nVG9wKCkudmFsdWVfb3IoMCk7Ci0gICAg
ICAgICAgICAgICAgYm90dG9tICs9IGdlb21ldHJ5LnBhZGRpbmdCb3R0b20oKS52YWx1ZV9vcigw
KTsKKyAgICAgICAgICAgICAgICBsZWZ0ICs9IGdlb21ldHJ5LnBhZGRpbmdTdGFydCgpLnZhbHVl
X29yKDApOworICAgICAgICAgICAgICAgIHJpZ2h0ICs9IGdlb21ldHJ5LnBhZGRpbmdFbmQoKS52
YWx1ZV9vcigwKTsKKyAgICAgICAgICAgICAgICB0b3AgKz0gZ2VvbWV0cnkucGFkZGluZ0JlZm9y
ZSgpLnZhbHVlX29yKDApOworICAgICAgICAgICAgICAgIGJvdHRvbSArPSBnZW9tZXRyeS5wYWRk
aW5nQWZ0ZXIoKS52YWx1ZV9vcigwKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
Rm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IGYxMDQyMTQ0OTUxNDExNDQ5OGFkYjI5OTNhN2Jl
YzczMWM1ZDNjMmEuLjc0YjZlMDhmYzQxOGE3YWJmMmUxNjhjZjcxNDJmMDE3YzVhMTU1YTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvRm9ybWF0
dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0yOTEsOCArMjkxLDggQEAgdm9pZCBGb3Jt
YXR0aW5nQ29udGV4dDo6dmFsaWRhdGVHZW9tZXRyeUNvbnN0cmFpbnRzQWZ0ZXJMYXlvdXQoKSBj
b25zdAogICAgICAgICBpZiAobGF5b3V0Qm94LmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmICFs
YXlvdXRCb3guaXNSZXBsYWNlZEJveCgpKSB7CiAgICAgICAgICAgICAvLyB0b3AgKyBtYXJnaW4t
dG9wICsgYm9yZGVyLXRvcC13aWR0aCArIHBhZGRpbmctdG9wICsgaGVpZ2h0ICsgcGFkZGluZy1i
b3R0b20gKyBib3JkZXItYm90dG9tLXdpZHRoICsgbWFyZ2luLWJvdHRvbSArIGJvdHRvbSA9IGhl
aWdodCBvZiBjb250YWluaW5nIGJsb2NrCiAgICAgICAgICAgICBhdXRvIGNvbnRhaW5pbmdCbG9j
a0hlaWdodCA9IGNvbnRhaW5pbmdCbG9ja0dlb21ldHJ5LmNvbnRlbnRCb3hIZWlnaHQoKTsKLSAg
ICAgICAgICAgIEFTU0VSVChCb3hHZW9tZXRyeTo6Ym9yZGVyQm94VG9wKGJveEdlb21ldHJ5KSAr
IGJveEdlb21ldHJ5Lm1hcmdpbkJlZm9yZSgpICsgYm94R2VvbWV0cnkuYm9yZGVyVG9wKCkgKyBi
b3hHZW9tZXRyeS5wYWRkaW5nVG9wKCkudmFsdWVfb3IoMCkgKyBib3hHZW9tZXRyeS5jb250ZW50
Qm94SGVpZ2h0KCkKLSAgICAgICAgICAgICAgICArIGJveEdlb21ldHJ5LnBhZGRpbmdCb3R0b20o
KS52YWx1ZV9vcigwKSArIGJveEdlb21ldHJ5LmJvcmRlckJvdHRvbSgpICsgYm94R2VvbWV0cnku
bWFyZ2luQWZ0ZXIoKSA9PSBjb250YWluaW5nQmxvY2tIZWlnaHQpOworICAgICAgICAgICAgQVNT
RVJUKEJveEdlb21ldHJ5Ojpib3JkZXJCb3hUb3AoYm94R2VvbWV0cnkpICsgYm94R2VvbWV0cnku
bWFyZ2luQmVmb3JlKCkgKyBib3hHZW9tZXRyeS5ib3JkZXJCZWZvcmUoKSArIGJveEdlb21ldHJ5
LnBhZGRpbmdCZWZvcmUoKS52YWx1ZV9vcigwKSArIGJveEdlb21ldHJ5LmNvbnRlbnRCb3hIZWln
aHQoKQorICAgICAgICAgICAgICAgICsgYm94R2VvbWV0cnkucGFkZGluZ0FmdGVyKCkudmFsdWVf
b3IoMCkgKyBib3hHZW9tZXRyeS5ib3JkZXJBZnRlcigpICsgYm94R2VvbWV0cnkubWFyZ2luQWZ0
ZXIoKSA9PSBjb250YWluaW5nQmxvY2tIZWlnaHQpOwogICAgICAgICB9CiAgICAgfQogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9Gb3JtYXR0
aW5nR2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy9Gb3JtYXR0aW5nR2VvbWV0cnkuY3BwCmluZGV4IDI5YTAwNmZjMzE0ZTNkMTE5MjRmNjBiODcx
YjgyZTA2MjhiNzJlYmYuLjkwNWYxNTk4Mjc4Y2U2NzVmYjc5YmE2NWJiYjJhZDZkNDFhZjU2ZjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvRm9y
bWF0dGluZ0dlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL0Zvcm1hdHRpbmdHZW9tZXRyeS5jcHAKQEAgLTM2MCwxMCArMzYwLDEwIEBAIFZl
cnRpY2FsR2VvbWV0cnkgRm9ybWF0dGluZ0dlb21ldHJ5OjpvdXRPZkZsb3dOb25SZXBsYWNlZFZl
cnRpY2FsR2VvbWV0cnkoY29uc3QKICAgICBhdXRvIGhlaWdodCA9IG92ZXJyaWRkZW5WZXJ0aWNh
bFZhbHVlcy5oZWlnaHQgPyBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMuaGVpZ2h0LnZhbHVlKCkg
OiBjb21wdXRlZEhlaWdodChsYXlvdXRCb3gsIGNvbnRhaW5pbmdCbG9ja0hlaWdodCk7CiAgICAg
YXV0byBjb21wdXRlZFZlcnRpY2FsTWFyZ2luID0gRm9ybWF0dGluZ0dlb21ldHJ5Ojpjb21wdXRl
ZFZlcnRpY2FsTWFyZ2luKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFpbnRzKTsKICAgICBV
c2VkVmVydGljYWxNYXJnaW46Ok5vbkNvbGxhcHNlZFZhbHVlcyB1c2VkVmVydGljYWxNYXJnaW47
IAotICAgIGF1dG8gcGFkZGluZ1RvcCA9IGJveEdlb21ldHJ5LnBhZGRpbmdUb3AoKS52YWx1ZV9v
cigwKTsKLSAgICBhdXRvIHBhZGRpbmdCb3R0b20gPSBib3hHZW9tZXRyeS5wYWRkaW5nQm90dG9t
KCkudmFsdWVfb3IoMCk7Ci0gICAgYXV0byBib3JkZXJUb3AgPSBib3hHZW9tZXRyeS5ib3JkZXJU
b3AoKTsKLSAgICBhdXRvIGJvcmRlckJvdHRvbSA9IGJveEdlb21ldHJ5LmJvcmRlckJvdHRvbSgp
OworICAgIGF1dG8gcGFkZGluZ1RvcCA9IGJveEdlb21ldHJ5LnBhZGRpbmdCZWZvcmUoKS52YWx1
ZV9vcigwKTsKKyAgICBhdXRvIHBhZGRpbmdCb3R0b20gPSBib3hHZW9tZXRyeS5wYWRkaW5nQWZ0
ZXIoKS52YWx1ZV9vcigwKTsKKyAgICBhdXRvIGJvcmRlclRvcCA9IGJveEdlb21ldHJ5LmJvcmRl
ckJlZm9yZSgpOworICAgIGF1dG8gYm9yZGVyQm90dG9tID0gYm94R2VvbWV0cnkuYm9yZGVyQWZ0
ZXIoKTsKIAogICAgIGlmICghdG9wICYmICFoZWlnaHQgJiYgIWJvdHRvbSkKICAgICAgICAgdG9w
ID0gc3RhdGljVmVydGljYWxQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQobGF5b3V0Qm94
LCB2ZXJ0aWNhbENvbnN0cmFpbnRzKTsKQEAgLTQ4MCwxMCArNDgwLDEwIEBAIEhvcml6b250YWxH
ZW9tZXRyeSBGb3JtYXR0aW5nR2VvbWV0cnk6Om91dE9mRmxvd05vblJlcGxhY2VkSG9yaXpvbnRh
bEdlb21ldHJ5KGNvCiAgICAgYXV0byB3aWR0aCA9IG92ZXJyaWRkZW5Ib3Jpem9udGFsVmFsdWVz
LndpZHRoID8gb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMud2lkdGggOiBjb21wdXRlZFdpZHRo
KGxheW91dEJveCwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOwogICAgIGF1dG8gY29tcHV0ZWRIb3Jp
em9udGFsTWFyZ2luID0gRm9ybWF0dGluZ0dlb21ldHJ5Ojpjb21wdXRlZEhvcml6b250YWxNYXJn
aW4obGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwogICAgIFVzZWRIb3Jpem9udGFs
TWFyZ2luIHVzZWRIb3Jpem9udGFsTWFyZ2luOwotICAgIGF1dG8gcGFkZGluZ0xlZnQgPSBib3hH
ZW9tZXRyeS5wYWRkaW5nTGVmdCgpLnZhbHVlX29yKDApOwotICAgIGF1dG8gcGFkZGluZ1JpZ2h0
ID0gYm94R2VvbWV0cnkucGFkZGluZ1JpZ2h0KCkudmFsdWVfb3IoMCk7Ci0gICAgYXV0byBib3Jk
ZXJMZWZ0ID0gYm94R2VvbWV0cnkuYm9yZGVyTGVmdCgpOwotICAgIGF1dG8gYm9yZGVyUmlnaHQg
PSBib3hHZW9tZXRyeS5ib3JkZXJSaWdodCgpOworICAgIGF1dG8gcGFkZGluZ0xlZnQgPSBib3hH
ZW9tZXRyeS5wYWRkaW5nU3RhcnQoKS52YWx1ZV9vcigwKTsKKyAgICBhdXRvIHBhZGRpbmdSaWdo
dCA9IGJveEdlb21ldHJ5LnBhZGRpbmdFbmQoKS52YWx1ZV9vcigwKTsKKyAgICBhdXRvIGJvcmRl
ckxlZnQgPSBib3hHZW9tZXRyeS5ib3JkZXJTdGFydCgpOworICAgIGF1dG8gYm9yZGVyUmlnaHQg
PSBib3hHZW9tZXRyeS5ib3JkZXJFbmQoKTsKICAgICBpZiAoIWxlZnQgJiYgIXdpZHRoICYmICFy
aWdodCkgewogICAgICAgICAvLyBJZiBhbGwgdGhyZWUgb2YgJ2xlZnQnLCAnd2lkdGgnLCBhbmQg
J3JpZ2h0JyBhcmUgJ2F1dG8nOiBGaXJzdCBzZXQgYW55ICdhdXRvJyB2YWx1ZXMgZm9yICdtYXJn
aW4tbGVmdCcgYW5kICdtYXJnaW4tcmlnaHQnIHRvIDAuCiAgICAgICAgIC8vIFRoZW4sIGlmIHRo
ZSAnZGlyZWN0aW9uJyBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCBlc3RhYmxpc2hpbmcgdGhlIHN0
YXRpYy1wb3NpdGlvbiBjb250YWluaW5nIGJsb2NrIGlzICdsdHInIHNldCAnbGVmdCcgdG8gdGhl
IHN0YXRpYwpAQCAtNjA4LDEwICs2MDgsMTAgQEAgVmVydGljYWxHZW9tZXRyeSBGb3JtYXR0aW5n
R2VvbWV0cnk6Om91dE9mRmxvd1JlcGxhY2VkVmVydGljYWxHZW9tZXRyeShjb25zdCBSZXAKICAg
ICBhdXRvIGNvbXB1dGVkVmVydGljYWxNYXJnaW4gPSBGb3JtYXR0aW5nR2VvbWV0cnk6OmNvbXB1
dGVkVmVydGljYWxNYXJnaW4ocmVwbGFjZWRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cyk7CiAg
ICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiB1c2VkTWFyZ2luQmVmb3JlID0gY29tcHV0ZWRW
ZXJ0aWNhbE1hcmdpbi5iZWZvcmU7CiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiB1c2Vk
TWFyZ2luQWZ0ZXIgPSBjb21wdXRlZFZlcnRpY2FsTWFyZ2luLmFmdGVyOwotICAgIGF1dG8gcGFk
ZGluZ1RvcCA9IGJveEdlb21ldHJ5LnBhZGRpbmdUb3AoKS52YWx1ZV9vcigwKTsKLSAgICBhdXRv
IHBhZGRpbmdCb3R0b20gPSBib3hHZW9tZXRyeS5wYWRkaW5nQm90dG9tKCkudmFsdWVfb3IoMCk7
Ci0gICAgYXV0byBib3JkZXJUb3AgPSBib3hHZW9tZXRyeS5ib3JkZXJUb3AoKTsKLSAgICBhdXRv
IGJvcmRlckJvdHRvbSA9IGJveEdlb21ldHJ5LmJvcmRlckJvdHRvbSgpOworICAgIGF1dG8gcGFk
ZGluZ1RvcCA9IGJveEdlb21ldHJ5LnBhZGRpbmdCZWZvcmUoKS52YWx1ZV9vcigwKTsKKyAgICBh
dXRvIHBhZGRpbmdCb3R0b20gPSBib3hHZW9tZXRyeS5wYWRkaW5nQWZ0ZXIoKS52YWx1ZV9vcigw
KTsKKyAgICBhdXRvIGJvcmRlclRvcCA9IGJveEdlb21ldHJ5LmJvcmRlckJlZm9yZSgpOworICAg
IGF1dG8gYm9yZGVyQm90dG9tID0gYm94R2VvbWV0cnkuYm9yZGVyQWZ0ZXIoKTsKIAogICAgIGlm
ICghdG9wICYmICFib3R0b20pIHsKICAgICAgICAgLy8gIzEKQEAgLTY5MywxMCArNjkzLDEwIEBA
IEhvcml6b250YWxHZW9tZXRyeSBGb3JtYXR0aW5nR2VvbWV0cnk6Om91dE9mRmxvd1JlcGxhY2Vk
SG9yaXpvbnRhbEdlb21ldHJ5KGNvbnN0CiAgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiB1
c2VkTWFyZ2luU3RhcnQgPSBjb21wdXRlZEhvcml6b250YWxNYXJnaW4uc3RhcnQ7CiAgICAgc3Rk
OjpvcHRpb25hbDxMYXlvdXRVbml0PiB1c2VkTWFyZ2luRW5kID0gY29tcHV0ZWRIb3Jpem9udGFs
TWFyZ2luLmVuZDsKICAgICBhdXRvIHdpZHRoID0gaW5saW5lUmVwbGFjZWRDb250ZW50V2lkdGhB
bmRNYXJnaW4ocmVwbGFjZWRCb3gsIGhvcml6b250YWxDb25zdHJhaW50cywgdmVydGljYWxDb25z
dHJhaW50cywgb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMpLmNvbnRlbnRXaWR0aDsKLSAgICBh
dXRvIHBhZGRpbmdMZWZ0ID0gYm94R2VvbWV0cnkucGFkZGluZ0xlZnQoKS52YWx1ZV9vcigwKTsK
LSAgICBhdXRvIHBhZGRpbmdSaWdodCA9IGJveEdlb21ldHJ5LnBhZGRpbmdSaWdodCgpLnZhbHVl
X29yKDApOwotICAgIGF1dG8gYm9yZGVyTGVmdCA9IGJveEdlb21ldHJ5LmJvcmRlckxlZnQoKTsK
LSAgICBhdXRvIGJvcmRlclJpZ2h0ID0gYm94R2VvbWV0cnkuYm9yZGVyUmlnaHQoKTsKKyAgICBh
dXRvIHBhZGRpbmdMZWZ0ID0gYm94R2VvbWV0cnkucGFkZGluZ1N0YXJ0KCkudmFsdWVfb3IoMCk7
CisgICAgYXV0byBwYWRkaW5nUmlnaHQgPSBib3hHZW9tZXRyeS5wYWRkaW5nRW5kKCkudmFsdWVf
b3IoMCk7CisgICAgYXV0byBib3JkZXJMZWZ0ID0gYm94R2VvbWV0cnkuYm9yZGVyU3RhcnQoKTsK
KyAgICBhdXRvIGJvcmRlclJpZ2h0ID0gYm94R2VvbWV0cnkuYm9yZGVyRW5kKCk7CiAKICAgICBp
ZiAoIWxlZnQgJiYgIXJpZ2h0KSB7CiAgICAgICAgIC8vICMxCkBAIC0xMTA5LDggKzExMDksOCBA
QCBzdGQ6Om9wdGlvbmFsPEVkZ2VzPiBGb3JtYXR0aW5nR2VvbWV0cnk6OmNvbXB1dGVkUGFkZGlu
Zyhjb25zdCBCb3gmIGxheW91dEJveCwgYwogICAgIGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0
eWxlKCk7CiAgICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LCBzdHJl
YW0gPDwgIltQYWRkaW5nXSAtPiBsYXlvdXRCb3g6ICIgPDwgJmxheW91dEJveCk7CiAgICAgcmV0
dXJuIEVkZ2VzIHsKLSAgICAgICAgeyB2YWx1ZUZvckxlbmd0aChzdHlsZS5wYWRkaW5nTGVmdCgp
LCBjb250YWluaW5nQmxvY2tXaWR0aCksIHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBhZGRpbmdSaWdo
dCgpLCBjb250YWluaW5nQmxvY2tXaWR0aCkgfSwKLSAgICAgICAgeyB2YWx1ZUZvckxlbmd0aChz
dHlsZS5wYWRkaW5nVG9wKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKSwgdmFsdWVGb3JMZW5ndGgo
c3R5bGUucGFkZGluZ0JvdHRvbSgpLCBjb250YWluaW5nQmxvY2tXaWR0aCkgfQorICAgICAgICB7
IHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBhZGRpbmdTdGFydCgpLCBjb250YWluaW5nQmxvY2tXaWR0
aCksIHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBhZGRpbmdFbmQoKSwgY29udGFpbmluZ0Jsb2NrV2lk
dGgpIH0sCisgICAgICAgIHsgdmFsdWVGb3JMZW5ndGgoc3R5bGUucGFkZGluZ0JlZm9yZSgpLCBj
b250YWluaW5nQmxvY2tXaWR0aCksIHZhbHVlRm9yTGVuZ3RoKHN0eWxlLnBhZGRpbmdBZnRlcigp
LCBjb250YWluaW5nQmxvY2tXaWR0aCkgfQogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvRm9ybWF0dGluZ1F1aXJrcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL0Zvcm1hdHRpbmdRdWly
a3MuY3BwCmluZGV4IDFjYTUyODFkNzYwOGY1MjQ3MTJjYTg1YTAzNjE4NjM2ZDhhYTM5ZTkuLjFm
OTMwMDUwYjQ1MTNhZjU5ZWMwZDgyYzQ3YzQxZjdmYmQ4MTE4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvRm9ybWF0dGluZ1F1aXJrcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9Gb3JtYXR0aW5n
UXVpcmtzLmNwcApAQCAtNjMsOCArNjMsOCBAQCBMYXlvdXRVbml0IEZvcm1hdHRpbmdRdWlya3M6
OmhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFpbmluZ0Jsb2NrV2l0aEZpeGVkSGVpZ2h0KAogICAg
ICAgICAgICAgYXV0byB2ZXJ0aWNhbE1hcmdpbiA9IGZvcm1hdHRpbmdHZW9tZXRyeS5jb21wdXRl
ZFZlcnRpY2FsTWFyZ2luKCpjb250YWluaW5nQmxvY2ssIGhvcml6b250YWxDb25zdHJhaW50cyk7
CiAKICAgICAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQuZ2Vv
bWV0cnlGb3JCb3goKmNvbnRhaW5pbmdCbG9jaywgRm9ybWF0dGluZ0NvbnRleHQ6OkVzY2FwZVJl
YXNvbjo6RmluZEZpeGVkSGVpZ2h0QW5jZXN0b3JRdWlyayk7Ci0gICAgICAgICAgICBhdXRvIHZl
cnRpY2FsUGFkZGluZyA9IGJveEdlb21ldHJ5LnBhZGRpbmdUb3AoKS52YWx1ZV9vcigwKSArIGJv
eEdlb21ldHJ5LnBhZGRpbmdCb3R0b20oKS52YWx1ZV9vcigwKTsKLSAgICAgICAgICAgIGF1dG8g
dmVydGljYWxCb3JkZXIgPSBib3hHZW9tZXRyeS5ib3JkZXJUb3AoKSArIGJveEdlb21ldHJ5LmJv
cmRlckJvdHRvbSgpOworICAgICAgICAgICAgYXV0byB2ZXJ0aWNhbFBhZGRpbmcgPSBib3hHZW9t
ZXRyeS5wYWRkaW5nQmVmb3JlKCkudmFsdWVfb3IoMCkgKyBib3hHZW9tZXRyeS5wYWRkaW5nQWZ0
ZXIoKS52YWx1ZV9vcigwKTsKKyAgICAgICAgICAgIGF1dG8gdmVydGljYWxCb3JkZXIgPSBib3hH
ZW9tZXRyeS5ib3JkZXJCZWZvcmUoKSArIGJveEdlb21ldHJ5LmJvcmRlckFmdGVyKCk7CiAgICAg
ICAgICAgICBib2R5QW5kRG9jdW1lbnRWZXJ0aWNhbE1hcmdpblBhZGRpbmdBbmRCb3JkZXIgKz0g
dmVydGljYWxNYXJnaW4uYmVmb3JlLnZhbHVlX29yKDApICsgdmVydGljYWxNYXJnaW4uYWZ0ZXIu
dmFsdWVfb3IoMCkgKyB2ZXJ0aWNhbFBhZGRpbmcgKyB2ZXJ0aWNhbEJvcmRlcjsKICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2Jsb2NrL0Jsb2NrRm9ybWF0dGluZ0dlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2svQmxvY2tGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCmlu
ZGV4IDRkNjRkMTdkMTkyMWI3ZGFlZTZlZGNlYTc2ZmRkMzBiMzBjNWVkZWYuLmIxYTU3ZmI3ZWFm
Mzc0NTJlYjE0N2EyNjQ5MWIwYmE2NDcxNGQ3YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2svQmxvY2tGb3JtYXR0aW5nR2VvbWV0cnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvYmxvY2sv
QmxvY2tGb3JtYXR0aW5nR2VvbWV0cnkuY3BwCkBAIC03MSw3ICs3MSw3IEBAIENvbnRlbnRIZWln
aHRBbmRNYXJnaW4gQmxvY2tGb3JtYXR0aW5nR2VvbWV0cnk6OmluRmxvd05vblJlcGxhY2VkQ29u
dGVudEhlaWdodEFuCiAgICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ0NvbnRl
eHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwogICAgICAgICBhdXRvIGNvbXB1dGVkVmVy
dGljYWxNYXJnaW4gPSBGb3JtYXR0aW5nR2VvbWV0cnk6OmNvbXB1dGVkVmVydGljYWxNYXJnaW4o
bGF5b3V0Qm94LCBob3Jpem9udGFsQ29uc3RyYWludHMpOwogICAgICAgICBhdXRvIG5vbkNvbGxh
cHNlZE1hcmdpbiA9IFVzZWRWZXJ0aWNhbE1hcmdpbjo6Tm9uQ29sbGFwc2VkVmFsdWVzIHsgY29t
cHV0ZWRWZXJ0aWNhbE1hcmdpbi5iZWZvcmUudmFsdWVfb3IoMCksIGNvbXB1dGVkVmVydGljYWxN
YXJnaW4uYWZ0ZXIudmFsdWVfb3IoMCkgfTsgCi0gICAgICAgIGF1dG8gYm9yZGVyQW5kUGFkZGlu
Z1RvcCA9IGJveEdlb21ldHJ5LmJvcmRlclRvcCgpICsgYm94R2VvbWV0cnkucGFkZGluZ1RvcCgp
LnZhbHVlX29yKDApOworICAgICAgICBhdXRvIGJvcmRlckFuZFBhZGRpbmdUb3AgPSBib3hHZW9t
ZXRyeS5ib3JkZXJCZWZvcmUoKSArIGJveEdlb21ldHJ5LnBhZGRpbmdCZWZvcmUoKS52YWx1ZV9v
cigwKTsKICAgICAgICAgYXV0byBoZWlnaHQgPSBvdmVycmlkZGVuVmVydGljYWxWYWx1ZXMuaGVp
Z2h0ID8gb3ZlcnJpZGRlblZlcnRpY2FsVmFsdWVzLmhlaWdodC52YWx1ZSgpIDogY29tcHV0ZWRI
ZWlnaHQobGF5b3V0Qm94KTsKIAogICAgICAgICBpZiAoaGVpZ2h0KQpAQCAtMTUzLDEwICsxNTMs
MTAgQEAgQ29udGVudFdpZHRoQW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0dlb21ldHJ5OjppbkZs
b3dOb25SZXBsYWNlZENvbnRlbnRXaWR0aEFuZE0KICAgICAgICAgYXV0byB3aWR0aCA9IG92ZXJy
aWRkZW5Ib3Jpem9udGFsVmFsdWVzLndpZHRoID8gb3ZlcnJpZGRlbkhvcml6b250YWxWYWx1ZXMu
d2lkdGggOiBjb21wdXRlZFdpZHRoKGxheW91dEJveCwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOwog
ICAgICAgICBhdXRvIGNvbXB1dGVkSG9yaXpvbnRhbE1hcmdpbiA9IEZvcm1hdHRpbmdHZW9tZXRy
eTo6Y29tcHV0ZWRIb3Jpem9udGFsTWFyZ2luKGxheW91dEJveCwgaG9yaXpvbnRhbENvbnN0cmFp
bnRzKTsKICAgICAgICAgVXNlZEhvcml6b250YWxNYXJnaW4gdXNlZEhvcml6b250YWxNYXJnaW47
Ci0gICAgICAgIGF1dG8gYm9yZGVyTGVmdCA9IGJveEdlb21ldHJ5LmJvcmRlckxlZnQoKTsKLSAg
ICAgICAgYXV0byBib3JkZXJSaWdodCA9IGJveEdlb21ldHJ5LmJvcmRlclJpZ2h0KCk7Ci0gICAg
ICAgIGF1dG8gcGFkZGluZ0xlZnQgPSBib3hHZW9tZXRyeS5wYWRkaW5nTGVmdCgpLnZhbHVlX29y
KDApOwotICAgICAgICBhdXRvIHBhZGRpbmdSaWdodCA9IGJveEdlb21ldHJ5LnBhZGRpbmdSaWdo
dCgpLnZhbHVlX29yKDApOworICAgICAgICBhdXRvIGJvcmRlckxlZnQgPSBib3hHZW9tZXRyeS5i
b3JkZXJTdGFydCgpOworICAgICAgICBhdXRvIGJvcmRlclJpZ2h0ID0gYm94R2VvbWV0cnkuYm9y
ZGVyRW5kKCk7CisgICAgICAgIGF1dG8gcGFkZGluZ0xlZnQgPSBib3hHZW9tZXRyeS5wYWRkaW5n
U3RhcnQoKS52YWx1ZV9vcigwKTsKKyAgICAgICAgYXV0byBwYWRkaW5nUmlnaHQgPSBib3hHZW9t
ZXRyeS5wYWRkaW5nRW5kKCkudmFsdWVfb3IoMCk7CiAKICAgICAgICAgLy8gIzEKICAgICAgICAg
aWYgKHdpZHRoKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwCmluZGV4IDI3MWNlNjRiNjNj
M2NhMzA3YzBjMWUyNzVkOGY3ZjU0MDM4M2FhMTQuLjU1YmY0NzgzOTE2MWVkODEwNDc4OWQ4NjVl
YjIxOGQyZGIzZmZlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmUuY3BwCkBAIC02Nyw3ICs2
Nyw3IEBAIHZvaWQgTGluZTo6aW5pdGlhbGl6ZShjb25zdCBWZWN0b3I8SW5saW5lSXRlbT4mIGxp
bmVTcGFubmluZ0lubGluZUJveGVzKQogICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtYnJlYWsvI2JyZWFrLWRlY29yYXRpb24KICAgICAgICAgICAgICAgICAv
LyBjbG9uZTogRWFjaCBib3ggZnJhZ21lbnQgaXMgaW5kZXBlbmRlbnRseSB3cmFwcGVkIHdpdGgg
dGhlIGJvcmRlciwgcGFkZGluZywgYW5kIG1hcmdpbi4KICAgICAgICAgICAgICAgICBhdXRvJiBp
bmxpbmVCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCkuZ2VvbWV0cnlGb3JCb3goaW5s
aW5lQm94U3RhcnRJdGVtLmxheW91dEJveCgpKTsKLSAgICAgICAgICAgICAgICBhdXRvIG1hcmdp
bkJvcmRlckFuZFBhZGRpbmdTdGFydCA9IGlubGluZUJveEdlb21ldHJ5Lm1hcmdpblN0YXJ0KCkg
KyBpbmxpbmVCb3hHZW9tZXRyeS5ib3JkZXJMZWZ0KCkgKyBpbmxpbmVCb3hHZW9tZXRyeS5wYWRk
aW5nTGVmdCgpLnZhbHVlX29yKDBfbHUpOworICAgICAgICAgICAgICAgIGF1dG8gbWFyZ2luQm9y
ZGVyQW5kUGFkZGluZ1N0YXJ0ID0gaW5saW5lQm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSArIGlu
bGluZUJveEdlb21ldHJ5LmJvcmRlclN0YXJ0KCkgKyBpbmxpbmVCb3hHZW9tZXRyeS5wYWRkaW5n
U3RhcnQoKS52YWx1ZV9vcigwX2x1KTsKICAgICAgICAgICAgICAgICBhdXRvIHJ1bkxvZ2ljYWxM
ZWZ0ID0gbGFzdFJ1bkxvZ2ljYWxSaWdodCgpOwogICAgICAgICAgICAgICAgIG1fcnVucy5hcHBl
bmQoeyBpbmxpbmVCb3hTdGFydEl0ZW0sIHJ1bkxvZ2ljYWxMZWZ0LCBtYXJnaW5Cb3JkZXJBbmRQ
YWRkaW5nU3RhcnQgfSk7CiAgICAgICAgICAgICAgICAgLy8gRG8gbm90IGxldCBuZWdhdGl2ZSBt
YXJnaW4gbWFrZSB0aGUgY29udGVudCBzaG9ydGVyIHRoYW4gaXQgYWxyZWFkeSBpcy4KQEAgLTQz
NCw3ICs0MzQsNyBAQCBJbmxpbmVMYXlvdXRVbml0IExpbmU6OmFkZEJvcmRlckFuZFBhZGRpbmdF
bmRGb3JJbmxpbmVCb3hEZWNvcmF0aW9uQ2xvbmUoY29uc3QgSQogICAgICAgICByZXR1cm4geyB9
OwogICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtYnJlYWsvI2JyZWFrLWRlY29y
YXRpb24KICAgICBhdXRvJiBpbmxpbmVCb3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdDb250ZXh0KCku
Z2VvbWV0cnlGb3JCb3goaW5saW5lQm94U3RhcnRJdGVtLmxheW91dEJveCgpKTsKLSAgICBhdXRv
IGJvcmRlckFuZFBhZGRpbmdFbmQgPSBpbmxpbmVCb3hHZW9tZXRyeS5ib3JkZXJSaWdodCgpICsg
aW5saW5lQm94R2VvbWV0cnkucGFkZGluZ1JpZ2h0KCkudmFsdWVfb3IoMF9sdSk7CisgICAgYXV0
byBib3JkZXJBbmRQYWRkaW5nRW5kID0gaW5saW5lQm94R2VvbWV0cnkuYm9yZGVyRW5kKCkgKyBp
bmxpbmVCb3hHZW9tZXRyeS5wYWRkaW5nRW5kKCkudmFsdWVfb3IoMF9sdSk7CiAgICAgbV9pbmxp
bmVCb3hMaXN0V2l0aENsb25lZERlY29yYXRpb25FbmQuYWRkKCZpbmxpbmVCb3hTdGFydEl0ZW0u
bGF5b3V0Qm94KCksIGJvcmRlckFuZFBhZGRpbmdFbmQpOwogICAgIG1fY2xvbmVkRW5kRGVjb3Jh
dGlvbldpZHRoRm9ySW5saW5lQm94UnVucyArPSBib3JkZXJBbmRQYWRkaW5nRW5kOwogICAgIHJl
dHVybiBib3JkZXJBbmRQYWRkaW5nRW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNw
cAppbmRleCBiNTI3MTI3ODA5N2ZlOGI2N2NjMDMzZmEzYTM5YjFhMDJlYjQxOWRhLi42ZTIwODYw
MTA5ZGFkZTFkNDdkZmM2NWZiYjg0YjMzNjRiNzg1MmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9Jbmxp
bmVMaW5lQm94LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIElubGluZVJlY3QgTGluZUJveDo6bG9n
aWNhbEJvcmRlckJveEZvcklubGluZUJveChjb25zdCBCb3gmIGxheW91dEJveCwgY29uc3QgQm94
CiAgICAgLy8gVGhpcyBsb2dpY2FsIHJlY3QgaXMgYXMgdGFsbCBhcyB0aGUgInRleHQiIGNvbnRl
bnQgaXMuIExldCdzIGFkanVzdCB3aXRoIHZlcnRpY2FsIGJvcmRlciBhbmQgcGFkZGluZy4KICAg
ICBhdXRvIHZlcnRpY2FsQm9yZGVyQW5kUGFkZGluZyA9IGJveEdlb21ldHJ5LnZlcnRpY2FsQm9y
ZGVyKCkgKyBib3hHZW9tZXRyeS52ZXJ0aWNhbFBhZGRpbmcoKS52YWx1ZV9vcigwX2x1KTsKICAg
ICBsb2dpY2FsUmVjdC5leHBhbmRWZXJ0aWNhbGx5KHZlcnRpY2FsQm9yZGVyQW5kUGFkZGluZyk7
Ci0gICAgbG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkoLShib3hHZW9tZXRyeS5ib3JkZXJUb3Ao
KSArIGJveEdlb21ldHJ5LnBhZGRpbmdUb3AoKS52YWx1ZV9vcigwX2x1KSkpOworICAgIGxvZ2lj
YWxSZWN0Lm1vdmVWZXJ0aWNhbGx5KC0oYm94R2VvbWV0cnkuYm9yZGVyQmVmb3JlKCkgKyBib3hH
ZW9tZXRyeS5wYWRkaW5nQmVmb3JlKCkudmFsdWVfb3IoMF9sdSkpKTsKICAgICByZXR1cm4gbG9n
aWNhbFJlY3Q7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCb3hCdWlsZGVy
LmNwcAppbmRleCBiYTIwYmNkYmIzMDZlN2I5NjcxZTI3NmUyM2Y1OWY4MzMxZjM5ZTQ3Li42MjFm
N2UxMmIwYTM1NGZmZDY4MzI0YWE5ZjY3NTc0ODliODcyN2JmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVp
bGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCkBAIC0yNzUsOSArMjc1LDkgQEAgSW5saW5l
TGF5b3V0VW5pdCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0QW5kQWxpZ25JbmxpbmVMZXZlbEJv
eGVzKExpbmVCb3gmIGxpbmUKICAgICAgICAgICAgIGF1dG8mIGlubGluZUJveEdlb21ldHJ5ID0g
Zm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChsYXlvdXRCb3gpOwogICAgICAgICAg
ICAgLy8gRXZlbiBuZWdhdGl2ZSBob3Jpem9udGFsIG1hcmdpbiBtYWtlcyB0aGUgbGluZSAiY29u
dGVudGZ1bCIuCiAgICAgICAgICAgICBpZiAocnVuLmlzSW5saW5lQm94U3RhcnQoKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gaW5saW5lQm94R2VvbWV0cnkubWFyZ2luU3RhcnQoKSB8fCBpbmxp
bmVCb3hHZW9tZXRyeS5ib3JkZXJMZWZ0KCkgfHwgaW5saW5lQm94R2VvbWV0cnkucGFkZGluZ0xl
ZnQoKS52YWx1ZV9vcigwX2x1KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gaW5saW5lQm94R2Vv
bWV0cnkubWFyZ2luU3RhcnQoKSB8fCBpbmxpbmVCb3hHZW9tZXRyeS5ib3JkZXJTdGFydCgpIHx8
IGlubGluZUJveEdlb21ldHJ5LnBhZGRpbmdTdGFydCgpLnZhbHVlX29yKDBfbHUpOwogICAgICAg
ICAgICAgaWYgKHJ1bi5pc0lubGluZUJveEVuZCgpKQotICAgICAgICAgICAgICAgIHJldHVybiBp
bmxpbmVCb3hHZW9tZXRyeS5tYXJnaW5FbmQoKSB8fCBpbmxpbmVCb3hHZW9tZXRyeS5ib3JkZXJS
aWdodCgpIHx8IGlubGluZUJveEdlb21ldHJ5LnBhZGRpbmdSaWdodCgpLnZhbHVlX29yKDBfbHUp
OworICAgICAgICAgICAgICAgIHJldHVybiBpbmxpbmVCb3hHZW9tZXRyeS5tYXJnaW5FbmQoKSB8
fCBpbmxpbmVCb3hHZW9tZXRyeS5ib3JkZXJFbmQoKSB8fCBpbmxpbmVCb3hHZW9tZXRyeS5wYWRk
aW5nRW5kKCkudmFsdWVfb3IoMF9sdSk7CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9OwpAQCAtMzAxLDcgKzMwMSw3
IEBAIElubGluZUxheW91dFVuaXQgTGluZUJveEJ1aWxkZXI6OmNvbnN0cnVjdEFuZEFsaWduSW5s
aW5lTGV2ZWxCb3hlcyhMaW5lQm94JiBsaW5lCiAgICAgICAgICAgICAgICAgICAgIGF1dG8mIGZv
cm1hdHRpbmdTdGF0ZSA9IGxheW91dFN0YXRlKCkuZm9ybWF0dGluZ1N0YXRlRm9ySW5saW5lRm9y
bWF0dGluZ0NvbnRleHQoZG93bmNhc3Q8Q29udGFpbmVyQm94PihsYXlvdXRCb3gpKTsKICAgICAg
ICAgICAgICAgICAgICAgYXV0byYgbGFzdExpbmUgPSBmb3JtYXR0aW5nU3RhdGUubGluZXMoKS5s
YXN0KCk7CiAgICAgICAgICAgICAgICAgICAgIGF1dG8gaW5saW5lQmxvY2tCYXNlbGluZSA9IGxh
c3RMaW5lLmxpbmVCb3hMb2dpY2FsUmVjdCgpLnRvcCgpICsgbGFzdExpbmUuYmFzZWxpbmUoKTsK
LSAgICAgICAgICAgICAgICAgICAgYXNjZW50ID0gaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5tYXJn
aW5CZWZvcmUoKSArIGlubGluZUxldmVsQm94R2VvbWV0cnkuYm9yZGVyVG9wKCkgKyBpbmxpbmVM
ZXZlbEJveEdlb21ldHJ5LnBhZGRpbmdUb3AoKS52YWx1ZV9vcigwKSArIGlubGluZUJsb2NrQmFz
ZWxpbmU7CisgICAgICAgICAgICAgICAgICAgIGFzY2VudCA9IGlubGluZUxldmVsQm94R2VvbWV0
cnkubWFyZ2luQmVmb3JlKCkgKyBpbmxpbmVMZXZlbEJveEdlb21ldHJ5LmJvcmRlckJlZm9yZSgp
ICsgaW5saW5lTGV2ZWxCb3hHZW9tZXRyeS5wYWRkaW5nQmVmb3JlKCkudmFsdWVfb3IoMCkgKyBp
bmxpbmVCbG9ja0Jhc2VsaW5lOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxz
ZSBpZiAobGF5b3V0Qm94LmlzUmVwbGFjZWRCb3goKSkKICAgICAgICAgICAgICAgICBhc2NlbnQg
PSBkb3duY2FzdDxSZXBsYWNlZEJveD4obGF5b3V0Qm94KS5iYXNlbGluZSgpLnZhbHVlX29yKG1h
cmdpbkJveEhlaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAK
aW5kZXggNDFiM2I5NzNkMjg4MmZmOWRiZWY3ZTBiN2Y4NmEyNGZkMGZiMTA4MS4uNjU2NzZkYmJj
MmM3MmUzZjJmNmJjZDc1ZjFkMWZkYWUwOWNhNjE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lu
bGluZUxpbmVCdWlsZGVyLmNwcApAQCAtMjUzLDE3ICsyNTMsMTcgQEAgSW5saW5lTGF5b3V0VW5p
dCBMaW5lQnVpbGRlcjo6aW5saW5lSXRlbVdpZHRoKGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0
ZW0sIElubGkKICAgICAgICAgcmV0dXJuIGJveEdlb21ldHJ5Lm1hcmdpbkJveFdpZHRoKCk7CiAK
ICAgICBpZiAoaW5saW5lSXRlbS5pc0lubGluZUJveFN0YXJ0KCkpIHsKLSAgICAgICAgYXV0byBs
b2dpY2FsV2lkdGggPSBib3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpICsgYm94R2VvbWV0cnkuYm9y
ZGVyTGVmdCgpICsgYm94R2VvbWV0cnkucGFkZGluZ0xlZnQoKS52YWx1ZV9vcigwKTsKKyAgICAg
ICAgYXV0byBsb2dpY2FsV2lkdGggPSBib3hHZW9tZXRyeS5tYXJnaW5TdGFydCgpICsgYm94R2Vv
bWV0cnkuYm9yZGVyU3RhcnQoKSArIGJveEdlb21ldHJ5LnBhZGRpbmdTdGFydCgpLnZhbHVlX29y
KDApOwogI2lmIEVOQUJMRShDU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspCiAgICAgICAgIGF1dG8m
IHN0eWxlID0gbV9pc0ZpcnN0TGluZSA/IGlubGluZUl0ZW0uZmlyc3RMaW5lU3R5bGUoKSA6IGlu
bGluZUl0ZW0uc3R5bGUoKTsKICAgICAgICAgaWYgKHN0eWxlLmJveERlY29yYXRpb25CcmVhaygp
ID09IEJveERlY29yYXRpb25CcmVhazo6Q2xvbmUpCi0gICAgICAgICAgICBsb2dpY2FsV2lkdGgg
Kz0gYm94R2VvbWV0cnkuYm9yZGVyUmlnaHQoKSArIGJveEdlb21ldHJ5LnBhZGRpbmdSaWdodCgp
LnZhbHVlX29yKDBfbHUpOworICAgICAgICAgICAgbG9naWNhbFdpZHRoICs9IGJveEdlb21ldHJ5
LmJvcmRlckVuZCgpICsgYm94R2VvbWV0cnkucGFkZGluZ0VuZCgpLnZhbHVlX29yKDBfbHUpOwog
I2VuZGlmCiAgICAgICAgIHJldHVybiBsb2dpY2FsV2lkdGg7CiAgICAgfQogCiAgICAgaWYgKGlu
bGluZUl0ZW0uaXNJbmxpbmVCb3hFbmQoKSkKLSAgICAgICAgcmV0dXJuIGJveEdlb21ldHJ5Lm1h
cmdpbkVuZCgpICsgYm94R2VvbWV0cnkuYm9yZGVyUmlnaHQoKSArIGJveEdlb21ldHJ5LnBhZGRp
bmdSaWdodCgpLnZhbHVlX29yKDApOworICAgICAgICByZXR1cm4gYm94R2VvbWV0cnkubWFyZ2lu
RW5kKCkgKyBib3hHZW9tZXRyeS5ib3JkZXJFbmQoKSArIGJveEdlb21ldHJ5LnBhZGRpbmdFbmQo
KS52YWx1ZV9vcigwKTsKIAogICAgIC8vIE5vbi1yZXBsYWNlZCBpbmxpbmUgYm94IChlLmcuIGlu
bGluZS1ibG9jaykKICAgICByZXR1cm4gYm94R2VvbWV0cnkubWFyZ2luQm94V2lkdGgoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUv
VGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDg5ZjY4
YTJmOTBiMWI5NTcxZDI4YmI0Y2FlZDlkNTFkM2U2NTdmZjUuLjgyMDIzZTc1NTZhYjYwZTU4ZDQ1
ZjcyNjllYzVlOWMzY2ZmNjIyNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1h
dHRpbmdDb250ZXh0LmNwcApAQCAtMTIzLDggKzEyMyw4IEBAIHZvaWQgVGFibGVGb3JtYXR0aW5n
Q29udGV4dDo6c2V0VXNlZEdlb21ldHJ5Rm9yQ2VsbHMoTGF5b3V0VW5pdCBhdmFpbGFibGVIb3Jp
em9uCiAKICAgICAgICAgICAgIC8vIEZJWE1FOiBGaW5kIG91dCBpZiBpdCBpcyBvayB0byB1c2Ug
dGhlIHJlZ3VsYXIgcGFkZGluZyBoZXJlIHRvIGFsaWduIHRoZSBjb250ZW50IGJveCBpbnNpZGUg
YSB0YWxsIGNlbGwgb3Igd2UgbmVlZCB0bwogICAgICAgICAgICAgLy8gdXNlIHNvbWUga2luZCBv
ZiBpbnRyaW5zaWMgcGFkZGluZyBzaW1pbGFyIHRvIFJlbmRlclRhYmxlQ2VsbC4KLSAgICAgICAg
ICAgIGF1dG8gcGFkZGluZ1RvcCA9IGNlbGxCb3hHZW9tZXRyeS5wYWRkaW5nVG9wKCkudmFsdWVf
b3IoTGF5b3V0VW5pdCB7IH0pOwotICAgICAgICAgICAgYXV0byBwYWRkaW5nQm90dG9tID0gY2Vs
bEJveEdlb21ldHJ5LnBhZGRpbmdCb3R0b20oKS52YWx1ZV9vcihMYXlvdXRVbml0IHsgfSk7Cisg
ICAgICAgICAgICBhdXRvIHBhZGRpbmdUb3AgPSBjZWxsQm94R2VvbWV0cnkucGFkZGluZ0JlZm9y
ZSgpLnZhbHVlX29yKExheW91dFVuaXQgeyB9KTsKKyAgICAgICAgICAgIGF1dG8gcGFkZGluZ0Jv
dHRvbSA9IGNlbGxCb3hHZW9tZXRyeS5wYWRkaW5nQWZ0ZXIoKS52YWx1ZV9vcihMYXlvdXRVbml0
IHsgfSk7CiAgICAgICAgICAgICBhdXRvIGludHJpbnNpY1BhZGRpbmdUb3AgPSBMYXlvdXRVbml0
IHsgfTsKICAgICAgICAgICAgIGF1dG8gaW50cmluc2ljUGFkZGluZ0JvdHRvbSA9IExheW91dFVu
aXQgeyB9OwogCkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBUYWJsZUZvcm1hdHRpbmdDb250ZXh0
OjpzZXRVc2VkR2VvbWV0cnlGb3JDZWxscyhMYXlvdXRVbml0IGF2YWlsYWJsZUhvcml6b24KICAg
ICAgICAgICAgIGNhc2UgVmVydGljYWxBbGlnbjo6QmFzZWxpbmU6IHsKICAgICAgICAgICAgICAg
ICBhdXRvIHJvd0Jhc2VsaW5lID0gTGF5b3V0VW5pdCB7IHJvd0xpc3RbY2VsbC0+c3RhcnRSb3co
KV0uYmFzZWxpbmUoKSB9OwogICAgICAgICAgICAgICAgIGF1dG8gY2VsbEJhc2VsaW5lID0gTGF5
b3V0VW5pdCB7IGNlbGwtPmJhc2VsaW5lKCkgfTsKLSAgICAgICAgICAgICAgICBpbnRyaW5zaWNQ
YWRkaW5nVG9wID0gc3RkOjptYXgoMF9sdSwgcm93QmFzZWxpbmUgLSBjZWxsQmFzZWxpbmUgLSBj
ZWxsQm94R2VvbWV0cnkuYm9yZGVyVG9wKCkpOworICAgICAgICAgICAgICAgIGludHJpbnNpY1Bh
ZGRpbmdUb3AgPSBzdGQ6Om1heCgwX2x1LCByb3dCYXNlbGluZSAtIGNlbGxCYXNlbGluZSAtIGNl
bGxCb3hHZW9tZXRyeS5ib3JkZXJCZWZvcmUoKSk7CiAgICAgICAgICAgICAgICAgaW50cmluc2lj
UGFkZGluZ0JvdHRvbSA9IHN0ZDo6bWF4KDBfbHUsIGNlbGxMb2dpY2FsSGVpZ2h0IC0gY2VsbEJv
eEdlb21ldHJ5LnZlcnRpY2FsTWFyZ2luQm9yZGVyQW5kUGFkZGluZygpIC0gaW50cmluc2ljUGFk
ZGluZ1RvcCAtIGNlbGxCb3hHZW9tZXRyeS5jb250ZW50Qm94SGVpZ2h0KCkpOwogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94R2VvbWV0cnkuY3BwCmluZGV4IGIyNjY4NmUxODZj
OWNjMjAyZWRhYWIxMjkyY2NjN2Y3MDg5YjFiZDMuLmEyY2JlZmFiYjU3NDJhYzc1MzI1ODhjZWU3
OGY4YTYwN2VmNWExMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0
cmVlL0xheW91dEJveEdlb21ldHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRCb3hHZW9tZXRyeS5jcHAKQEAgLTg4LDEwICs4OCwxMCBAQCBSZWN0IEJv
eEdlb21ldHJ5OjpwYWRkaW5nQm94KCkgY29uc3QKICAgICBhdXRvIGJvcmRlckJveCA9IHRoaXMt
PmJvcmRlckJveCgpOwogCiAgICAgUmVjdCBwYWRkaW5nQm94OwotICAgIHBhZGRpbmdCb3guc2V0
VG9wKGJvcmRlckJveC50b3AoKSArIGJvcmRlclRvcCgpKTsKLSAgICBwYWRkaW5nQm94LnNldExl
ZnQoYm9yZGVyQm94LmxlZnQoKSArIGJvcmRlckxlZnQoKSk7Ci0gICAgcGFkZGluZ0JveC5zZXRI
ZWlnaHQoYm9yZGVyQm94LmJvdHRvbSgpIC0gdmVydGljYWxTcGFjZUZvclNjcm9sbGJhcigpIC0g
Ym9yZGVyQm90dG9tKCkgLSBib3JkZXJUb3AoKSk7Ci0gICAgcGFkZGluZ0JveC5zZXRXaWR0aChi
b3JkZXJCb3gud2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBob3Jpem9udGFsU3BhY2VGb3JTY3Jv
bGxiYXIoKSAtIGJvcmRlckxlZnQoKSk7CisgICAgcGFkZGluZ0JveC5zZXRUb3AoYm9yZGVyQm94
LnRvcCgpICsgYm9yZGVyQmVmb3JlKCkpOworICAgIHBhZGRpbmdCb3guc2V0TGVmdChib3JkZXJC
b3gubGVmdCgpICsgYm9yZGVyU3RhcnQoKSk7CisgICAgcGFkZGluZ0JveC5zZXRIZWlnaHQoYm9y
ZGVyQm94LmJvdHRvbSgpIC0gdmVydGljYWxTcGFjZUZvclNjcm9sbGJhcigpIC0gYm9yZGVyQWZ0
ZXIoKSAtIGJvcmRlckJlZm9yZSgpKTsKKyAgICBwYWRkaW5nQm94LnNldFdpZHRoKGJvcmRlckJv
eC53aWR0aCgpIC0gYm9yZGVyRW5kKCkgLSBob3Jpem9udGFsU3BhY2VGb3JTY3JvbGxiYXIoKSAt
IGJvcmRlclN0YXJ0KCkpOwogICAgIHJldHVybiBwYWRkaW5nQm94OwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3hHZW9tZXRyeS5oIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94R2VvbWV0cnkuaAppbmRl
eCBhNGViODY0MzhiODE0ZmFkZTUyMDJkMTcwMWQxZjFmNjAzMzI5YTg3Li4zZWVkYzE2YTUyOGRk
ZWIwNjg3NTY4NjZjY2IzNzMwZDk2YmY5MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3hHZW9tZXRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveEdlb21ldHJ5LmgKQEAgLTYzLDM5ICs2MywzOSBA
QCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBtYXJnaW5BZnRlcigpIGNvbnN0OwogICAgIExheW91
dFVuaXQgbWFyZ2luRW5kKCkgY29uc3Q7CiAKLSAgICBMYXlvdXRVbml0IGJvcmRlclRvcCgpIGNv
bnN0OwotICAgIExheW91dFVuaXQgYm9yZGVyTGVmdCgpIGNvbnN0OwotICAgIExheW91dFVuaXQg
Ym9yZGVyQm90dG9tKCkgY29uc3Q7Ci0gICAgTGF5b3V0VW5pdCBib3JkZXJSaWdodCgpIGNvbnN0
OwotICAgIExheW91dFVuaXQgdmVydGljYWxCb3JkZXIoKSBjb25zdCB7IHJldHVybiBib3JkZXJU
b3AoKSArIGJvcmRlckJvdHRvbSgpOyB9Ci0gICAgTGF5b3V0VW5pdCBob3Jpem9udGFsQm9yZGVy
KCkgY29uc3QgeyByZXR1cm4gYm9yZGVyTGVmdCgpICsgYm9yZGVyUmlnaHQoKTsgfQotCi0gICAg
c3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwYWRkaW5nVG9wKCkgY29uc3Q7Ci0gICAgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBwYWRkaW5nTGVmdCgpIGNvbnN0OwotICAgIHN0ZDo6b3B0aW9u
YWw8TGF5b3V0VW5pdD4gcGFkZGluZ0JvdHRvbSgpIGNvbnN0OwotICAgIHN0ZDo6b3B0aW9uYWw8
TGF5b3V0VW5pdD4gcGFkZGluZ1JpZ2h0KCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCBib3JkZXJC
ZWZvcmUoKSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGJvcmRlckFmdGVyKCkgY29uc3Q7CisgICAg
TGF5b3V0VW5pdCBib3JkZXJTdGFydCgpIGNvbnN0OworICAgIExheW91dFVuaXQgYm9yZGVyRW5k
KCkgY29uc3Q7CisgICAgTGF5b3V0VW5pdCB2ZXJ0aWNhbEJvcmRlcigpIGNvbnN0IHsgcmV0dXJu
IGJvcmRlckJlZm9yZSgpICsgYm9yZGVyQWZ0ZXIoKTsgfQorICAgIExheW91dFVuaXQgaG9yaXpv
bnRhbEJvcmRlcigpIGNvbnN0IHsgcmV0dXJuIGJvcmRlclN0YXJ0KCkgKyBib3JkZXJFbmQoKTsg
fQorCisgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwYWRkaW5nQmVmb3JlKCkgY29uc3Q7
CisgICAgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBwYWRkaW5nQWZ0ZXIoKSBjb25zdDsKKyAg
ICBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHBhZGRpbmdTdGFydCgpIGNvbnN0OworICAgIHN0
ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcGFkZGluZ0VuZCgpIGNvbnN0OwogICAgIHN0ZDo6b3B0
aW9uYWw8TGF5b3V0VW5pdD4gdmVydGljYWxQYWRkaW5nKCkgY29uc3Q7CiAgICAgc3RkOjpvcHRp
b25hbDxMYXlvdXRVbml0PiBob3Jpem9udGFsUGFkZGluZygpIGNvbnN0OwogCi0gICAgTGF5b3V0
VW5pdCBib3JkZXJBbmRQYWRkaW5nU3RhcnQoKSBjb25zdCB7IHJldHVybiBib3JkZXJMZWZ0KCkg
KyBwYWRkaW5nTGVmdCgpLnZhbHVlX29yKDApOyB9Ci0gICAgTGF5b3V0VW5pdCBib3JkZXJBbmRQ
YWRkaW5nRW5kKCkgY29uc3QgeyByZXR1cm4gYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgp
LnZhbHVlX29yKDApOyB9CisgICAgTGF5b3V0VW5pdCBib3JkZXJBbmRQYWRkaW5nU3RhcnQoKSBj
b25zdCB7IHJldHVybiBib3JkZXJTdGFydCgpICsgcGFkZGluZ1N0YXJ0KCkudmFsdWVfb3IoMCk7
IH0KKyAgICBMYXlvdXRVbml0IGJvcmRlckFuZFBhZGRpbmdFbmQoKSBjb25zdCB7IHJldHVybiBi
b3JkZXJFbmQoKSArIHBhZGRpbmdFbmQoKS52YWx1ZV9vcigwKTsgfQogCi0gICAgTGF5b3V0VW5p
dCBjb250ZW50Qm94VG9wKCkgY29uc3QgeyByZXR1cm4gcGFkZGluZ0JveFRvcCgpICsgcGFkZGlu
Z1RvcCgpLnZhbHVlX29yKDApOyB9Ci0gICAgTGF5b3V0VW5pdCBjb250ZW50Qm94TGVmdCgpIGNv
bnN0IHsgcmV0dXJuIHBhZGRpbmdCb3hMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpLnZhbHVlX29yKDAp
OyB9CisgICAgTGF5b3V0VW5pdCBjb250ZW50Qm94VG9wKCkgY29uc3QgeyByZXR1cm4gcGFkZGlu
Z0JveFRvcCgpICsgcGFkZGluZ0JlZm9yZSgpLnZhbHVlX29yKDApOyB9CisgICAgTGF5b3V0VW5p
dCBjb250ZW50Qm94TGVmdCgpIGNvbnN0IHsgcmV0dXJuIHBhZGRpbmdCb3hMZWZ0KCkgKyBwYWRk
aW5nU3RhcnQoKS52YWx1ZV9vcigwKTsgfQogICAgIExheW91dFVuaXQgY29udGVudEJveEJvdHRv
bSgpIGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRCb3hUb3AoKSArIGNvbnRlbnRCb3hIZWlnaHQoKTsg
fQogICAgIExheW91dFVuaXQgY29udGVudEJveFJpZ2h0KCkgY29uc3QgeyByZXR1cm4gY29udGVu
dEJveExlZnQoKSArIGNvbnRlbnRCb3hXaWR0aCgpOyB9CiAgICAgTGF5b3V0VW5pdCBjb250ZW50
Qm94SGVpZ2h0KCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBjb250ZW50Qm94V2lkdGgoKSBjb25z
dDsKIAotICAgIExheW91dFVuaXQgcGFkZGluZ0JveFRvcCgpIGNvbnN0IHsgcmV0dXJuIGJvcmRl
clRvcCgpOyB9Ci0gICAgTGF5b3V0VW5pdCBwYWRkaW5nQm94TGVmdCgpIGNvbnN0IHsgcmV0dXJu
IGJvcmRlckxlZnQoKTsgfQorICAgIExheW91dFVuaXQgcGFkZGluZ0JveFRvcCgpIGNvbnN0IHsg
cmV0dXJuIGJvcmRlckJlZm9yZSgpOyB9CisgICAgTGF5b3V0VW5pdCBwYWRkaW5nQm94TGVmdCgp
IGNvbnN0IHsgcmV0dXJuIGJvcmRlclN0YXJ0KCk7IH0KICAgICBMYXlvdXRVbml0IHBhZGRpbmdC
b3hCb3R0b20oKSBjb25zdCB7IHJldHVybiBwYWRkaW5nQm94VG9wKCkgKyBwYWRkaW5nQm94SGVp
Z2h0KCk7IH0KICAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hSaWdodCgpIGNvbnN0IHsgcmV0dXJu
IHBhZGRpbmdCb3hMZWZ0KCkgKyBwYWRkaW5nQm94V2lkdGgoKTsgfQotICAgIExheW91dFVuaXQg
cGFkZGluZ0JveEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHBhZGRpbmdUb3AoKS52YWx1ZV9vcigw
KSArIGNvbnRlbnRCb3hIZWlnaHQoKSArIHBhZGRpbmdCb3R0b20oKS52YWx1ZV9vcigwKTsgfQot
ICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdpZHRoKCkgY29uc3QgeyByZXR1cm4gcGFkZGluZ0xl
ZnQoKS52YWx1ZV9vcigwKSArIGNvbnRlbnRCb3hXaWR0aCgpICsgcGFkZGluZ1JpZ2h0KCkudmFs
dWVfb3IoMCk7IH0KKyAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hIZWlnaHQoKSBjb25zdCB7IHJl
dHVybiBwYWRkaW5nQmVmb3JlKCkudmFsdWVfb3IoMCkgKyBjb250ZW50Qm94SGVpZ2h0KCkgKyBw
YWRkaW5nQWZ0ZXIoKS52YWx1ZV9vcigwKTsgfQorICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdp
ZHRoKCkgY29uc3QgeyByZXR1cm4gcGFkZGluZ1N0YXJ0KCkudmFsdWVfb3IoMCkgKyBjb250ZW50
Qm94V2lkdGgoKSArIHBhZGRpbmdFbmQoKS52YWx1ZV9vcigwKTsgfQogCi0gICAgTGF5b3V0VW5p
dCBib3JkZXJCb3hIZWlnaHQoKSBjb25zdCB7IHJldHVybiBib3JkZXJUb3AoKSArIHBhZGRpbmdC
b3hIZWlnaHQoKSArIHZlcnRpY2FsU3BhY2VGb3JTY3JvbGxiYXIoKSArIGJvcmRlckJvdHRvbSgp
OyB9Ci0gICAgTGF5b3V0VW5pdCBib3JkZXJCb3hXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIGJvcmRl
ckxlZnQoKSArIHBhZGRpbmdCb3hXaWR0aCgpICsgaG9yaXpvbnRhbFNwYWNlRm9yU2Nyb2xsYmFy
KCkgKyBib3JkZXJSaWdodCgpOyB9CisgICAgTGF5b3V0VW5pdCBib3JkZXJCb3hIZWlnaHQoKSBj
b25zdCB7IHJldHVybiBib3JkZXJCZWZvcmUoKSArIHBhZGRpbmdCb3hIZWlnaHQoKSArIHZlcnRp
Y2FsU3BhY2VGb3JTY3JvbGxiYXIoKSArIGJvcmRlckFmdGVyKCk7IH0KKyAgICBMYXlvdXRVbml0
IGJvcmRlckJveFdpZHRoKCkgY29uc3QgeyByZXR1cm4gYm9yZGVyU3RhcnQoKSArIHBhZGRpbmdC
b3hXaWR0aCgpICsgaG9yaXpvbnRhbFNwYWNlRm9yU2Nyb2xsYmFyKCkgKyBib3JkZXJFbmQoKTsg
fQogICAgIExheW91dFVuaXQgbWFyZ2luQm94SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbWFyZ2lu
QmVmb3JlKCkgKyBib3JkZXJCb3hIZWlnaHQoKSArIG1hcmdpbkFmdGVyKCk7IH0KICAgICBMYXlv
dXRVbml0IG1hcmdpbkJveFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbWFyZ2luU3RhcnQoKSArIGJv
cmRlckJveFdpZHRoKCkgKyBtYXJnaW5FbmQoKTsgfQogCkBAIC0zNDIsNyArMzQyLDcgQEAgaW5s
aW5lIExheW91dFVuaXQgQm94R2VvbWV0cnk6Om1hcmdpbkVuZCgpIGNvbnN0CiAgICAgcmV0dXJu
IG1faG9yaXpvbnRhbE1hcmdpbi5lbmQ7CiB9CiAKLWlubGluZSBzdGQ6Om9wdGlvbmFsPExheW91
dFVuaXQ+IEJveEdlb21ldHJ5OjpwYWRkaW5nVG9wKCkgY29uc3QKK2lubGluZSBzdGQ6Om9wdGlv
bmFsPExheW91dFVuaXQ+IEJveEdlb21ldHJ5OjpwYWRkaW5nQmVmb3JlKCkgY29uc3QKIHsKICAg
ICBBU1NFUlQobV9oYXNWYWxpZFBhZGRpbmcpOwogICAgIGlmICghbV9wYWRkaW5nKQpAQCAtMzUw
LDcgKzM1MCw3IEBAIGlubGluZSBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IEJveEdlb21ldHJ5
OjpwYWRkaW5nVG9wKCkgY29uc3QKICAgICByZXR1cm4gbV9wYWRkaW5nLT52ZXJ0aWNhbC50b3A7
CiB9CiAKLWlubGluZSBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IEJveEdlb21ldHJ5OjpwYWRk
aW5nTGVmdCgpIGNvbnN0CitpbmxpbmUgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBCb3hHZW9t
ZXRyeTo6cGFkZGluZ1N0YXJ0KCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9oYXNWYWxpZFBhZGRp
bmcpOwogICAgIGlmICghbV9wYWRkaW5nKQpAQCAtMzU4LDcgKzM1OCw3IEBAIGlubGluZSBzdGQ6
Om9wdGlvbmFsPExheW91dFVuaXQ+IEJveEdlb21ldHJ5OjpwYWRkaW5nTGVmdCgpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fcGFkZGluZy0+aG9yaXpvbnRhbC5sZWZ0OwogfQogCi1pbmxpbmUgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBCb3hHZW9tZXRyeTo6cGFkZGluZ0JvdHRvbSgpIGNvbnN0Citp
bmxpbmUgc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBCb3hHZW9tZXRyeTo6cGFkZGluZ0FmdGVy
KCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9oYXNWYWxpZFBhZGRpbmcpOwogICAgIGlmICghbV9w
YWRkaW5nKQpAQCAtMzY2LDcgKzM2Niw3IEBAIGlubGluZSBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IEJveEdlb21ldHJ5OjpwYWRkaW5nQm90dG9tKCkgY29uc3QKICAgICByZXR1cm4gbV9wYWRk
aW5nLT52ZXJ0aWNhbC5ib3R0b207CiB9CiAKLWlubGluZSBzdGQ6Om9wdGlvbmFsPExheW91dFVu
aXQ+IEJveEdlb21ldHJ5OjpwYWRkaW5nUmlnaHQoKSBjb25zdAoraW5saW5lIHN0ZDo6b3B0aW9u
YWw8TGF5b3V0VW5pdD4gQm94R2VvbWV0cnk6OnBhZGRpbmdFbmQoKSBjb25zdAogewogICAgIEFT
U0VSVChtX2hhc1ZhbGlkUGFkZGluZyk7CiAgICAgaWYgKCFtX3BhZGRpbmcpCkBAIC0zNzYsOCAr
Mzc2LDggQEAgaW5saW5lIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gQm94R2VvbWV0cnk6OnBh
ZGRpbmdSaWdodCgpIGNvbnN0CiAKIGlubGluZSBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IEJv
eEdlb21ldHJ5Ojp2ZXJ0aWNhbFBhZGRpbmcoKSBjb25zdAogewotICAgIGF1dG8gcGFkZGluZ1Rv
cCA9IHRoaXMtPnBhZGRpbmdUb3AoKTsKLSAgICBhdXRvIHBhZGRpbmdCb3R0b20gPSB0aGlzLT5w
YWRkaW5nQm90dG9tKCk7CisgICAgYXV0byBwYWRkaW5nVG9wID0gdGhpcy0+cGFkZGluZ0JlZm9y
ZSgpOworICAgIGF1dG8gcGFkZGluZ0JvdHRvbSA9IHRoaXMtPnBhZGRpbmdBZnRlcigpOwogICAg
IGlmICghcGFkZGluZ1RvcCAmJiAhcGFkZGluZ0JvdHRvbSkKICAgICAgICAgcmV0dXJuIHsgfTsK
ICAgICByZXR1cm4gcGFkZGluZ1RvcC52YWx1ZV9vcigwKSArIHBhZGRpbmdCb3R0b20udmFsdWVf
b3IoMCk7CkBAIC0zODUsMzIgKzM4NSwzMiBAQCBpbmxpbmUgc3RkOjpvcHRpb25hbDxMYXlvdXRV
bml0PiBCb3hHZW9tZXRyeTo6dmVydGljYWxQYWRkaW5nKCkgY29uc3QKIAogaW5saW5lIHN0ZDo6
b3B0aW9uYWw8TGF5b3V0VW5pdD4gQm94R2VvbWV0cnk6Omhvcml6b250YWxQYWRkaW5nKCkgY29u
c3QKIHsKLSAgICBhdXRvIHBhZGRpbmdMZWZ0ID0gdGhpcy0+cGFkZGluZ0xlZnQoKTsKLSAgICBh
dXRvIHBhZGRpbmdSaWdodCA9IHRoaXMtPnBhZGRpbmdSaWdodCgpOworICAgIGF1dG8gcGFkZGlu
Z0xlZnQgPSB0aGlzLT5wYWRkaW5nU3RhcnQoKTsKKyAgICBhdXRvIHBhZGRpbmdSaWdodCA9IHRo
aXMtPnBhZGRpbmdFbmQoKTsKICAgICBpZiAoIXBhZGRpbmdMZWZ0ICYmICFwYWRkaW5nUmlnaHQp
CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgcmV0dXJuIHBhZGRpbmdMZWZ0LnZhbHVlX29yKDAp
ICsgcGFkZGluZ1JpZ2h0LnZhbHVlX29yKDApOwogfQogCi1pbmxpbmUgTGF5b3V0VW5pdCBCb3hH
ZW9tZXRyeTo6Ym9yZGVyVG9wKCkgY29uc3QKK2lubGluZSBMYXlvdXRVbml0IEJveEdlb21ldHJ5
Ojpib3JkZXJCZWZvcmUoKSBjb25zdAogewogICAgIEFTU0VSVChtX2hhc1ZhbGlkQm9yZGVyKTsK
ICAgICByZXR1cm4gbV9ib3JkZXIudmVydGljYWwudG9wOwogfQogCi1pbmxpbmUgTGF5b3V0VW5p
dCBCb3hHZW9tZXRyeTo6Ym9yZGVyTGVmdCgpIGNvbnN0CitpbmxpbmUgTGF5b3V0VW5pdCBCb3hH
ZW9tZXRyeTo6Ym9yZGVyU3RhcnQoKSBjb25zdAogewogICAgIEFTU0VSVChtX2hhc1ZhbGlkQm9y
ZGVyKTsKICAgICByZXR1cm4gbV9ib3JkZXIuaG9yaXpvbnRhbC5sZWZ0OwogfQogCi1pbmxpbmUg
TGF5b3V0VW5pdCBCb3hHZW9tZXRyeTo6Ym9yZGVyQm90dG9tKCkgY29uc3QKK2lubGluZSBMYXlv
dXRVbml0IEJveEdlb21ldHJ5Ojpib3JkZXJBZnRlcigpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1f
aGFzVmFsaWRCb3JkZXIpOwogICAgIHJldHVybiBtX2JvcmRlci52ZXJ0aWNhbC5ib3R0b207CiB9
CiAKLWlubGluZSBMYXlvdXRVbml0IEJveEdlb21ldHJ5Ojpib3JkZXJSaWdodCgpIGNvbnN0Citp
bmxpbmUgTGF5b3V0VW5pdCBCb3hHZW9tZXRyeTo6Ym9yZGVyRW5kKCkgY29uc3QKIHsKICAgICBB
U1NFUlQobV9oYXNWYWxpZEJvcmRlcik7CiAgICAgcmV0dXJuIG1fYm9yZGVyLmhvcml6b250YWwu
cmlnaHQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>