<?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>192747</bug_id>
          
          <creation_ts>2018-12-16 22:27:35 -0800</creation_ts>
          <short_desc>[LFC][BFC][MarginCollapsing] Unify margin collapse function naming</short_desc>
          <delta_ts>2018-12-17 07:46:24 -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>commit-queue</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>1488397</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-12-16 22:27:35 -0800</bug_when>
    <thetext>isMargin*CollapsedWith -&gt; margin*CollapsesWith</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488398</commentid>
    <comment_count>1</comment_count>
      <attachid>357428</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-12-16 22:29:32 -0800</bug_when>
    <thetext>Created attachment 357428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488433</commentid>
    <comment_count>2</comment_count>
      <attachid>357428</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-17 07:45:02 -0800</bug_when>
    <thetext>Comment on attachment 357428
Patch

Clearing flags on attachment: 357428

Committed r239267: &lt;https://trac.webkit.org/changeset/239267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488434</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-17 07:45:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488435</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-17 07:46:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/46777735&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357428</attachid>
            <date>2018-12-16 22:29:32 -0800</date>
            <delta_ts>2018-12-17 07:45:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192747-20181216222927.patch</filename>
            <type>text/plain</type>
            <size>23202</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU0ZWUzM2I0MWU4MWYy
Yjg0NWE3MDEwMDRlNGJlMjViNzlmNWQyYi4uODZjMWUxYzdkNGI0Mzc5MGUzYjJiNzAwYTE0YzE2
MzYwZTFkYzM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTEyLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXVtNYXJnaW5D
b2xsYXBzaW5nXSBVbmlmeSBtYXJnaW4gY29sbGFwc2UgZnVuY3Rpb24gbmFtaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI3NDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgc29tZSBtYXJn
aW4gY29sbGFwc2UgZ2V0dGVycy4KKworICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRp
bmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd05vblJlcGxh
Y2VkSGVpZ2h0QW5kTWFyZ2luKToKKyAgICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Js
b2NrTWFyZ2luQ29sbGFwc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmNvbXB1dGVkTm9uQ29s
bGFwc2VkTWFyZ2luQmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb21wdXRlZE5vbkNvbGxh
cHNlZE1hcmdpbkFmdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpub25Db2xsYXBzZWRNYXJnaW5C
ZWZvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpbkFmdGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRNYXJnaW5CZWZvcmVGcm9tRmlyc3RDaGlsZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luQWZ0ZXJGcm9tTGFzdENoaWxkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQWZ0
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQYXJlbnRN
YXJnaW5CZWZvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0
aFBhcmVudE1hcmdpbkFmdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVDb2xs
YXBzZXNXaXRoUHJldmlvdXNTaWJsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5BZnRl
ckNvbGxhcHNlc1dpdGhOZXh0U2libGluZyk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luc0Nv
bGxhcHNlVGhyb3VnaCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1h
cmdpbkNvbGxhcHNlOjptYXJnaW5BZnRlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6Omlz
TWFyZ2luQmVmb3JlQ29sbGFwc2VkV2l0aFNpYmxpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0Ojppc01hcmdpbkFmdGVyQ29sbGFwc2VkV2l0aFNpYmxpbmcpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmlzTWFyZ2luQmVmb3JlQ29sbGFwc2VkV2l0aFBhcmVudCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmlzTWFyZ2luQWZ0ZXJDb2xsYXBz
ZWRUaHJvdWdoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpbkFmdGVyQ29s
bGFwc2VkV2l0aFBhcmVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5C
ZWZvcmVDb2xsYXBzZWRXaXRoUGFyZW50TWFyZ2luQWZ0ZXIpOiBEZWxldGVkLgorCiAyMDE4LTEy
LTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04gKHIyMzMyNjgpOiBjb250ZW50cyBvZiBhbiBhbmltYXRlZCBlbGVtZW50IGluc2lk
ZSBvdmVyZmxvdzpoaWRkZW4gZGlzYXBwZWFyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmlu
ZGV4IGY0NGUwMjE1N2YyMDEyYzY0YTc2NGFmZDljYTZkZjlhMTM3MWMzNTYuLmIxZTA4YjI4MzQ5
Y2MzMWIwNTY1MjVhNjUwMDNhY2I2NzI0Nzg5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4
dC5oCkBAIC04OSw4ICs4OSw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBzdGF0aWMgTGF5b3V0
VW5pdCBtYXJnaW5CZWZvcmUoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKICAgICAg
ICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IG1hcmdpbkFmdGVyKGNvbnN0IExheW91dFN0YXRlJiwg
Y29uc3QgQm94Jik7CiAKLSAgICAgICAgICAgIHN0YXRpYyBib29sIGlzTWFyZ2luQWZ0ZXJDb2xs
YXBzZWRXaXRoUGFyZW50KGNvbnN0IEJveCYpOwotICAgICAgICAgICAgc3RhdGljIGJvb2wgaXNN
YXJnaW5CZWZvcmVDb2xsYXBzZWRXaXRoUGFyZW50TWFyZ2luQWZ0ZXIoY29uc3QgQm94Jik7Cisg
ICAgICAgICAgICBzdGF0aWMgYm9vbCBtYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFy
Z2luQWZ0ZXIoY29uc3QgQm94Jik7CisgICAgICAgICAgICBzdGF0aWMgYm9vbCBtYXJnaW5BZnRl
ckNvbGxhcHNlc1dpdGhQYXJlbnRNYXJnaW5BZnRlcihjb25zdCBCb3gmKTsKIAogICAgICAgICBw
cml2YXRlOgogICAgICAgICAgICAgc3RhdGljIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQWZ0
ZXJGcm9tTGFzdENoaWxkKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7CkBAIC0xMDIs
NyArMTAyLDEwIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBzdGF0aWMgTGF5b3V0VW5pdCBjb2xs
YXBzZWRNYXJnaW5CZWZvcmVGcm9tRmlyc3RDaGlsZChjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0
IEJveCYpOwogICAgICAgICAgICAgc3RhdGljIExheW91dFVuaXQgbm9uQ29sbGFwc2VkTWFyZ2lu
QmVmb3JlKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7CiAKLSAgICAgICAgICAgIHN0
YXRpYyBib29sIGlzTWFyZ2luQmVmb3JlQ29sbGFwc2VkV2l0aFBhcmVudChjb25zdCBMYXlvdXRT
dGF0ZSYsIGNvbnN0IEJveCYpOworICAgICAgICAgICAgc3RhdGljIGJvb2wgbWFyZ2luQmVmb3Jl
Q29sbGFwc2VzV2l0aFBhcmVudE1hcmdpbkJlZm9yZShjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0
IEJveCYpOworICAgICAgICAgICAgc3RhdGljIGJvb2wgbWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0
aFByZXZpb3VzU2libGluZyhjb25zdCBCb3gmKTsKKyAgICAgICAgICAgIHN0YXRpYyBib29sIG1h
cmdpbkFmdGVyQ29sbGFwc2VzV2l0aE5leHRTaWJsaW5nKGNvbnN0IEJveCYpOworICAgICAgICAg
ICAgc3RhdGljIGJvb2wgbWFyZ2luc0NvbGxhcHNlVGhyb3VnaChjb25zdCBCb3gmKTsKICAgICAg
ICAgfTsKIAogICAgICAgICBzdGF0aWMgSGVpZ2h0QW5kTWFyZ2luIGluRmxvd05vblJlcGxhY2Vk
SGVpZ2h0QW5kTWFyZ2luKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jiwgc3RkOjpvcHRp
b25hbDxMYXlvdXRVbml0PiB1c2VkSGVpZ2h0ID0geyB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21l
dHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAppbmRleCAzOWY5NDBiODdlYWI5Mzk0NTMyYTdjNTFh
Y2Y4NDlhMjY1NTI3N2UyLi5kNTE1OGEwOTY0YWMxNTM3NDJmYWMwZjU4ZTZmNjNkNDVhOGQxNWMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC04
NCwxNCArODQsMTQgQEAgSGVpZ2h0QW5kTWFyZ2luIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdl
b21ldHJ5OjppbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmcKICAgICAgICAgLy8gMi4gdGhl
IGJvdHRvbSBlZGdlIG9mIHRoZSBib3R0b20gKHBvc3NpYmx5IGNvbGxhcHNlZCkgbWFyZ2luIG9m
IGl0cyBsYXN0IGluLWZsb3cgY2hpbGQsIGlmIHRoZSBjaGlsZCdzIGJvdHRvbSBtYXJnaW4uLi4K
ICAgICAgICAgYXV0byogbGFzdEluRmxvd0NoaWxkID0gZG93bmNhc3Q8Q29udGFpbmVyPihsYXlv
dXRCb3gpLmxhc3RJbkZsb3dDaGlsZCgpOwogICAgICAgICBBU1NFUlQobGFzdEluRmxvd0NoaWxk
KTsKLSAgICAgICAgaWYgKCFNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5BZnRlckNvbGxhcHNlZFdp
dGhQYXJlbnQoKmxhc3RJbkZsb3dDaGlsZCkpIHsKKyAgICAgICAgaWYgKCFNYXJnaW5Db2xsYXBz
ZTo6bWFyZ2luQWZ0ZXJDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQWZ0ZXIoKmxhc3RJbkZsb3dD
aGlsZCkpIHsKICAgICAgICAgICAgIGF1dG8mIGxhc3RJbkZsb3dEaXNwbGF5Qm94ID0gbGF5b3V0
U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveCgqbGFzdEluRmxvd0NoaWxkKTsKICAgICAgICAg
ICAgIHJldHVybiB7IGxhc3RJbkZsb3dEaXNwbGF5Qm94LmJvdHRvbSgpICsgbGFzdEluRmxvd0Rp
c3BsYXlCb3gubWFyZ2luQWZ0ZXIoKSAtIGJvcmRlckFuZFBhZGRpbmdUb3AsIHsgbm9uQ29sbGFw
c2VkTWFyZ2luLCBjb2xsYXBzZWRNYXJnaW4gfSB9OwogICAgICAgICB9CiAKICAgICAgICAgLy8g
My4gdGhlIGJvdHRvbSBib3JkZXIgZWRnZSBvZiB0aGUgbGFzdCBpbi1mbG93IGNoaWxkIHdob3Nl
IHRvcCBtYXJnaW4gZG9lc24ndCBjb2xsYXBzZSB3aXRoIHRoZSBlbGVtZW50J3MgYm90dG9tIG1h
cmdpbgogICAgICAgICBhdXRvKiBpbkZsb3dDaGlsZCA9IGxhc3RJbkZsb3dDaGlsZDsKLSAgICAg
ICAgd2hpbGUgKGluRmxvd0NoaWxkICYmIE1hcmdpbkNvbGxhcHNlOjppc01hcmdpbkJlZm9yZUNv
bGxhcHNlZFdpdGhQYXJlbnRNYXJnaW5BZnRlcigqaW5GbG93Q2hpbGQpKQorICAgICAgICB3aGls
ZSAoaW5GbG93Q2hpbGQgJiYgTWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUNvbGxhcHNlc1dp
dGhQYXJlbnRNYXJnaW5BZnRlcigqaW5GbG93Q2hpbGQpKQogICAgICAgICAgICAgaW5GbG93Q2hp
bGQgPSBpbkZsb3dDaGlsZC0+cHJldmlvdXNJbkZsb3dTaWJsaW5nKCk7CiAgICAgICAgIGlmIChp
bkZsb3dDaGlsZCkgewogICAgICAgICAgICAgYXV0byYgaW5GbG93RGlzcGxheUJveCA9IGxheW91
dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmluRmxvd0NoaWxkKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2lu
Q29sbGFwc2UuY3BwCmluZGV4IDdlMDgwODk4NzE0NDI2ZjFjMzU4OTc4MjcxZjQ1NDljYzk2MDlm
YmEuLmFjMDgwYjk4ZTYyNjdiMjExYzYxNjIyOGFhMTAxZDM4ZWM3NWFhNGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01h
cmdpbkNvbGxhcHNlLmNwcApAQCAtOTQsMzcgKzk0LDgzIEBAIHN0YXRpYyBMYXlvdXRVbml0IG1h
cmdpblZhbHVlKExheW91dFVuaXQgY3VycmVudE1hcmdpblZhbHVlLCBMYXlvdXRVbml0IGNhbmRp
ZGF0CiAgICAgcmV0dXJuIGN1cnJlbnRNYXJnaW5WYWx1ZSArIGNhbmRpZGF0ZU1hcmdpblZhbHVl
OwogfQogCi1zdGF0aWMgYm9vbCBpc01hcmdpbkJlZm9yZUNvbGxhcHNlZFdpdGhTaWJsaW5nKGNv
bnN0IEJveCYgbGF5b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpH
ZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmNvbXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2luQmVmb3Jl
KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7
CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CiAKLSAgICBpZiAobGF5
b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICByZXR1cm4gY29tcHV0ZWROb25Db2xsYXBzZWRWZXJ0aWNhbE1hcmdpblZhbHVlKGxheW91dFN0
YXRlLCBsYXlvdXRCb3gpLmJlZm9yZTsKK30KIAotICAgIGlmICghbGF5b3V0Qm94LmlzUG9zaXRp
b25lZCgpIHx8IGxheW91dEJveC5pc0luRmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgcmV0dXJu
IHRydWU7CitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJn
aW5Db2xsYXBzZTo6Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5BZnRlcihjb25zdCBMYXlvdXRT
dGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQoreworICAgIEFTU0VSVChs
YXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwogCi0gICAgLy8gT3V0IG9mIGZsb3cgcG9zaXRp
b25lZC4KLSAgICBBU1NFUlQobGF5b3V0Qm94LmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKTsKLSAg
ICByZXR1cm4gbGF5b3V0Qm94LnN0eWxlKCkudG9wKCkuaXNBdXRvKCk7CisgICAgcmV0dXJuIGNv
bXB1dGVkTm9uQ29sbGFwc2VkVmVydGljYWxNYXJnaW5WYWx1ZShsYXlvdXRTdGF0ZSwgbGF5b3V0
Qm94KS5hZnRlcjsKIH0KIAotc3RhdGljIGJvb2wgaXNNYXJnaW5BZnRlckNvbGxhcHNlZFdpdGhT
aWJsaW5nKGNvbnN0IEJveCYgbGF5b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpbkJlZm9y
ZShjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQog
ewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwogCi0gICAgaWYgKGxh
eW91dEJveC5pc0Zsb2F0aW5nUG9zaXRpb25lZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgLy8gTm9uIGNvbGxhcHNlZCBtYXJnaW4gdG9wIGluY2x1ZGVzIGNvbGxhcHNlZCBtYXJnaW4g
ZnJvbSBpbmZsb3cgZmlyc3QgY2hpbGQuCisgICAgcmV0dXJuIG1hcmdpblZhbHVlKGNvbXB1dGVk
Tm9uQ29sbGFwc2VkTWFyZ2luQmVmb3JlKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpLCBjb2xsYXBz
ZWRNYXJnaW5CZWZvcmVGcm9tRmlyc3RDaGlsZChsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KSk7Cit9
CiAKLSAgICBpZiAoIWxheW91dEJveC5pc1Bvc2l0aW9uZWQoKSB8fCBsYXlvdXRCb3guaXNJbkZs
b3dQb3NpdGlvbmVkKCkpCi0gICAgICAgIHJldHVybiB0cnVlOworTGF5b3V0VW5pdCBCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1h
cmdpbkFmdGVyKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlv
dXRCb3gpCit7CisgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CiAKLSAg
ICAvLyBPdXQgb2YgZmxvdyBwb3NpdGlvbmVkLgotICAgIEFTU0VSVChsYXlvdXRCb3guaXNPdXRP
ZkZsb3dQb3NpdGlvbmVkKCkpOwotICAgIHJldHVybiBsYXlvdXRCb3guc3R5bGUoKS5ib3R0b20o
KS5pc0F1dG8oKTsKKyAgICAvLyBOb24gY29sbGFwc2VkIG1hcmdpbiBib3R0b20gaW5jbHVkZXMg
Y29sbGFwc2VkIG1hcmdpbiBmcm9tIGluZmxvdyBsYXN0IGNoaWxkLgorICAgIHJldHVybiBtYXJn
aW5WYWx1ZShjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkFmdGVyKGxheW91dFN0YXRlLCBsYXlv
dXRCb3gpLCBjb2xsYXBzZWRNYXJnaW5BZnRlckZyb21MYXN0Q2hpbGQobGF5b3V0U3RhdGUsIGxh
eW91dEJveCkpOworfQorCitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luQmVmb3JlRnJvbUZpcnN0Q2hpbGQo
Y29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJveCkKK3sK
KyAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgpKTsKKworICAgIC8vIENoZWNr
IGlmIHRoZSBmaXJzdCBjaGlsZCBjb2xsYXBzZXMgaXRzIG1hcmdpbiB0b3AuCisgICAgaWYgKCFp
czxDb250YWluZXI+KGxheW91dEJveCkgfHwgIWRvd25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94
KS5oYXNJbkZsb3dDaGlsZCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIERvIG5vdCBj
b2xsYXBzZSBtYXJnaW4gd2l0aCBhIGJveCBmcm9tIGEgbm9uLWJsb2NrIGZvcm1hdHRpbmcgY29u
dGV4dCA8ZGl2PjxzcGFuPmZvb2Jhcjwvc3Bhbj48L2Rpdj4uCisgICAgaWYgKGxheW91dEJveC5l
c3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkgJiYgIWxheW91dEJveC5lc3RhYmxpc2hlc0Js
b2NrRm9ybWF0dGluZ0NvbnRleHRPbmx5KCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgLy8g
RklYTUU6IFRha2UgY29sbGFwc2VkIHRocm91Z2ggbWFyZ2luIGludG8gYWNjb3VudC4KKyAgICBh
dXRvJiBmaXJzdEluRmxvd0NoaWxkID0gKmRvd25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94KS5m
aXJzdEluRmxvd0NoaWxkKCk7CisgICAgaWYgKCFtYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFy
ZW50TWFyZ2luQmVmb3JlKGxheW91dFN0YXRlLCBmaXJzdEluRmxvd0NoaWxkKSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgLy8gQ29sbGVjdCBjb2xsYXBzZWQgbWFyZ2luIHRvcCByZWN1cnNpdmVs
eS4KKyAgICByZXR1cm4gbWFyZ2luVmFsdWUoY29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5CZWZv
cmUobGF5b3V0U3RhdGUsIGZpcnN0SW5GbG93Q2hpbGQpLCBjb2xsYXBzZWRNYXJnaW5CZWZvcmVG
cm9tRmlyc3RDaGlsZChsYXlvdXRTdGF0ZSwgZmlyc3RJbkZsb3dDaGlsZCkpOwogfQogCi1ib29s
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6aXNNYXJn
aW5CZWZvcmVDb2xsYXBzZWRXaXRoUGFyZW50KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0
ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luQWZ0ZXJGcm9tTGFz
dENoaWxkKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRC
b3gpCit7CisgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CisKKyAgICAv
LyBDaGVjayBpZiB0aGUgbGFzdCBjaGlsZCBwcm9wYWdhdGVzIGl0cyBtYXJnaW4gYm90dG9tLgor
ICAgIGlmICghaXM8Q29udGFpbmVyPihsYXlvdXRCb3gpIHx8ICFkb3duY2FzdDxDb250YWluZXI+
KGxheW91dEJveCkuaGFzSW5GbG93Q2hpbGQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAv
LyBEbyBub3QgY29sbGFwc2UgbWFyZ2luIHdpdGggYSBib3ggZnJvbSBhIG5vbi1ibG9jayBmb3Jt
YXR0aW5nIGNvbnRleHQgPGRpdj48c3Bhbj5mb29iYXI8L3NwYW4+PC9kaXY+LgorICAgIGlmIChs
YXlvdXRCb3guZXN0YWJsaXNoZXNGb3JtYXR0aW5nQ29udGV4dCgpICYmICFsYXlvdXRCb3guZXN0
YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0T25seSgpKQorICAgICAgICByZXR1cm4gMDsK
KworICAgIC8vIEZJWE1FOiBDaGVjayBmb3IgY29sbGFwc2VkIHRocm91Z2ggbWFyZ2luLgorICAg
IGF1dG8mIGxhc3RJbkZsb3dDaGlsZCA9ICpkb3duY2FzdDxDb250YWluZXI+KGxheW91dEJveCku
bGFzdEluRmxvd0NoaWxkKCk7CisgICAgaWYgKCFtYXJnaW5BZnRlckNvbGxhcHNlc1dpdGhQYXJl
bnRNYXJnaW5BZnRlcihsYXN0SW5GbG93Q2hpbGQpKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IC8vIENvbGxlY3QgY29sbGFwc2VkIG1hcmdpbiBib3R0b20gcmVjdXJzaXZlbHkuCisgICAgcmV0
dXJuIG1hcmdpblZhbHVlKGNvbXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2luQWZ0ZXIobGF5b3V0U3Rh
dGUsIGxhc3RJbkZsb3dDaGlsZCksIGNvbGxhcHNlZE1hcmdpbkFmdGVyRnJvbUxhc3RDaGlsZChs
YXlvdXRTdGF0ZSwgbGFzdEluRmxvd0NoaWxkKSk7Cit9CisKK2Jvb2wgQmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVDb2xsYXBzZXNX
aXRoUGFyZW50TWFyZ2luQWZ0ZXIoY29uc3QgQm94JikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK2Jvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNl
OjptYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3JlKGNvbnN0IExheW91
dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgLy8gVGhl
IGZpcnN0IGluZmxvdyBjaGlsZCBjb3VsZCBwcm9wYWdhdGUgaXRzIHRvcCBtYXJnaW4gdG8gcGFy
ZW50LgogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9ib3guaHRtbCNjb2xsYXBz
aW5nLW1hcmdpbnMKQEAgLTE1Nyw4NCArMjAzLDk0IEBAIGJvb2wgQmxvY2tGb3JtYXR0aW5nQ29u
dGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpbkJlZm9yZUNvbGxhcHNlZFdp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBib29sIGlzTWFyZ2luQWZ0ZXJDb2xsYXBz
ZWRUaHJvdWdoKGNvbnN0IEJveCYgbGF5b3V0Qm94KQorYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0aFBh
cmVudE1hcmdpbkFmdGVyKGNvbnN0IEJveCYgbGF5b3V0Qm94KQogeworICAgIC8vIGxhc3QgaW5m
bG93IGJveCB0byBwYXJlbnQuCisgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUzIxL2Jv
eC5odG1sI2NvbGxhcHNpbmctbWFyZ2lucworICAgIGlmIChsYXlvdXRCb3guaXNBbm9ueW1vdXMo
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2Nr
TGV2ZWxCb3goKSk7CiAKLSAgICAvLyBJZiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvZiBh
IGJveCBhcmUgYWRqb2luaW5nLCB0aGVuIGl0IGlzIHBvc3NpYmxlIGZvciBtYXJnaW5zIHRvIGNv
bGxhcHNlIHRocm91Z2ggaXQuCi0gICAgaWYgKGhhc0JvcmRlckJlZm9yZShsYXlvdXRCb3gpIHx8
IGhhc0JvcmRlckFmdGVyKGxheW91dEJveCkpCisgICAgaWYgKGxheW91dEJveC5pc0Zsb2F0aW5n
T3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
IChoYXNQYWRkaW5nQmVmb3JlKGxheW91dEJveCkgfHwgaGFzUGFkZGluZ0FmdGVyKGxheW91dEJv
eCkpCisgICAgaWYgKG1hcmdpbnNDb2xsYXBzZVRocm91Z2gobGF5b3V0Qm94KSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFsYXlvdXRCb3guc3R5bGUoKS5oZWlnaHQoKS5pc0F1
dG8oKSB8fCAhbGF5b3V0Qm94LnN0eWxlKCkubWluSGVpZ2h0KCkuaXNBdXRvKCkpCisgICAgLy8g
T25seSB0aGUgbGFzdCBpbmxmbG93IGNoaWxkIGNvbGxhcHNlcyB3aXRoIHBhcmVudC4KKyAgICBp
ZiAobGF5b3V0Qm94Lm5leHRJbkZsb3dTaWJsaW5nKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIGlmICghaXM8Q29udGFpbmVyPihsYXlvdXRCb3gpKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICBhdXRvJiBwYXJlbnQgPSAqbGF5b3V0Qm94LnBhcmVudCgpOworICAgIC8vIE1hcmdp
bnMgb2YgZWxlbWVudHMgdGhhdCBlc3RhYmxpc2ggbmV3IGJsb2NrIGZvcm1hdHRpbmcgY29udGV4
dHMgZG8gbm90IGNvbGxhcHNlIHdpdGggdGhlaXIgaW4tZmxvdyBjaGlsZHJlbgorICAgIGlmIChl
c3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQocGFyZW50KSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgYXV0byYgY29udGFpbmVyID0gZG93bmNhc3Q8Q29udGFpbmVyPihsYXlv
dXRCb3gpOwotICAgIGlmIChjb250YWluZXIuaGFzSW5GbG93T3JGbG9hdGluZ0NoaWxkKCkpCisg
ICAgaWYgKGhhc0JvcmRlckJlZm9yZShwYXJlbnQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBpZiAoaGFzUGFkZGluZ0JlZm9yZShwYXJlbnQpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoIXBhcmVudC5zdHlsZSgpLmhlaWdodCgpLmlzQXV0bygpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotTGF5b3V0VW5pdCBCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdp
bkJlZm9yZUZyb21GaXJzdENoaWxkKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29u
c3QgQm94JiBsYXlvdXRCb3gpCitib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aFByZXZpb3VzU2libGlu
Zyhjb25zdCBCb3gmIGxheW91dEJveCkKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tM
ZXZlbEJveCgpKTsKIAotICAgIC8vIENoZWNrIGlmIHRoZSBmaXJzdCBjaGlsZCBjb2xsYXBzZXMg
aXRzIG1hcmdpbiB0b3AuCi0gICAgaWYgKCFpczxDb250YWluZXI+KGxheW91dEJveCkgfHwgIWRv
d25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94KS5oYXNJbkZsb3dDaGlsZCgpKQotICAgICAgICBy
ZXR1cm4gMDsKKyAgICBpZiAobGF5b3V0Qm94LmlzRmxvYXRpbmdQb3NpdGlvbmVkKCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIC8vIERvIG5vdCBjb2xsYXBzZSBtYXJnaW4gd2l0aCBh
IGJveCBmcm9tIGEgbm9uLWJsb2NrIGZvcm1hdHRpbmcgY29udGV4dCA8ZGl2PjxzcGFuPmZvb2Jh
cjwvc3Bhbj48L2Rpdj4uCi0gICAgaWYgKGxheW91dEJveC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdD
b250ZXh0KCkgJiYgIWxheW91dEJveC5lc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRP
bmx5KCkpCi0gICAgICAgIHJldHVybiAwOworICAgIGlmICghbGF5b3V0Qm94LmlzUG9zaXRpb25l
ZCgpIHx8IGxheW91dEJveC5pc0luRmxvd1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICAvLyBGSVhNRTogVGFrZSBjb2xsYXBzZWQgdGhyb3VnaCBtYXJnaW4gaW50byBh
Y2NvdW50LgotICAgIGF1dG8mIGZpcnN0SW5GbG93Q2hpbGQgPSAqZG93bmNhc3Q8Q29udGFpbmVy
PihsYXlvdXRCb3gpLmZpcnN0SW5GbG93Q2hpbGQoKTsKLSAgICBpZiAoIWlzTWFyZ2luQmVmb3Jl
Q29sbGFwc2VkV2l0aFBhcmVudChsYXlvdXRTdGF0ZSwgZmlyc3RJbkZsb3dDaGlsZCkpCi0gICAg
ICAgIHJldHVybiAwOwotICAgIC8vIENvbGxlY3QgY29sbGFwc2VkIG1hcmdpbiB0b3AgcmVjdXJz
aXZlbHkuCi0gICAgcmV0dXJuIG1hcmdpblZhbHVlKGNvbXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2lu
QmVmb3JlKGxheW91dFN0YXRlLCBmaXJzdEluRmxvd0NoaWxkKSwgY29sbGFwc2VkTWFyZ2luQmVm
b3JlRnJvbUZpcnN0Q2hpbGQobGF5b3V0U3RhdGUsIGZpcnN0SW5GbG93Q2hpbGQpKTsKKyAgICAv
LyBPdXQgb2YgZmxvdyBwb3NpdGlvbmVkLgorICAgIEFTU0VSVChsYXlvdXRCb3guaXNPdXRPZkZs
b3dQb3NpdGlvbmVkKCkpOworICAgIHJldHVybiBsYXlvdXRCb3guc3R5bGUoKS50b3AoKS5pc0F1
dG8oKTsKIH0KIAotTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6
TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpbkJlZm9yZShjb25zdCBMYXlvdXRTdGF0
ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQorYm9vbCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2Vz
V2l0aE5leHRTaWJsaW5nKGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewogICAgIEFTU0VSVChsYXlv
dXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwogCi0gICAgLy8gTm9uIGNvbGxhcHNlZCBtYXJnaW4g
dG9wIGluY2x1ZGVzIGNvbGxhcHNlZCBtYXJnaW4gZnJvbSBpbmZsb3cgZmlyc3QgY2hpbGQuCi0g
ICAgcmV0dXJuIG1hcmdpblZhbHVlKGNvbXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2luQmVmb3JlKGxh
eW91dFN0YXRlLCBsYXlvdXRCb3gpLCBjb2xsYXBzZWRNYXJnaW5CZWZvcmVGcm9tRmlyc3RDaGls
ZChsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KSk7Ci19CisgICAgaWYgKGxheW91dEJveC5pc0Zsb2F0
aW5nUG9zaXRpb25lZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKLS8qc3RhdGljIGJvb2wg
aGFzQWRqb2luaW5nTWFyZ2luQmVmb3JlQW5kQWZ0ZXIoY29uc3QgQm94JikKLXsKLSAgICAvLyBU
d28gbWFyZ2lucyBhcmUgYWRqb2luaW5nIGlmIGFuZCBvbmx5IGlmOgotICAgIC8vIDEuIGJvdGgg
YmVsb25nIHRvIGluLWZsb3cgYmxvY2stbGV2ZWwgYm94ZXMgdGhhdCBwYXJ0aWNpcGF0ZSBpbiB0
aGUgc2FtZSBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQKLSAgICAvLyAyLiBubyBsaW5lIGJveGVz
LCBubyBjbGVhcmFuY2UsIG5vIHBhZGRpbmcgYW5kIG5vIGJvcmRlciBzZXBhcmF0ZSB0aGVtIChO
b3RlIHRoYXQgY2VydGFpbiB6ZXJvLWhlaWdodCBsaW5lIGJveGVzIChzZWUgOS40LjIpIGFyZSBp
Z25vcmVkIGZvciB0aGlzIHB1cnBvc2UuKQotICAgIC8vIDMuIGJvdGggYmVsb25nIHRvIHZlcnRp
Y2FsbHktYWRqYWNlbnQgYm94IGVkZ2VzLCBpLmUuIGZvcm0gb25lIG9mIHRoZSBmb2xsb3dpbmcg
cGFpcnM6Ci0gICAgLy8gICAgICAgIHRvcCBtYXJnaW4gb2YgYSBib3ggYW5kIHRvcCBtYXJnaW4g
b2YgaXRzIGZpcnN0IGluLWZsb3cgY2hpbGQKLSAgICAvLyAgICAgICAgYm90dG9tIG1hcmdpbiBv
ZiBib3ggYW5kIHRvcCBtYXJnaW4gb2YgaXRzIG5leHQgaW4tZmxvdyBmb2xsb3dpbmcgc2libGlu
ZwotICAgIC8vICAgICAgICBib3R0b20gbWFyZ2luIG9mIGEgbGFzdCBpbi1mbG93IGNoaWxkIGFu
ZCBib3R0b20gbWFyZ2luIG9mIGl0cyBwYXJlbnQgaWYgdGhlIHBhcmVudCBoYXMgJ2F1dG8nIGNv
bXB1dGVkIGhlaWdodAotICAgIC8vICAgICAgICB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9mIGEg
Ym94IHRoYXQgZG9lcyBub3QgZXN0YWJsaXNoIGEgbmV3IGJsb2NrIGZvcm1hdHRpbmcgY29udGV4
dCBhbmQgdGhhdCBoYXMgemVybyBjb21wdXRlZCAnbWluLWhlaWdodCcsCi0gICAgLy8gICAgICAg
IHplcm8gb3IgJ2F1dG8nIGNvbXB1dGVkICdoZWlnaHQnLCBhbmQgbm8gaW4tZmxvdyBjaGlsZHJl
bgotICAgIC8vIEEgY29sbGFwc2VkIG1hcmdpbiBpcyBjb25zaWRlcmVkIGFkam9pbmluZyB0byBh
bm90aGVyIG1hcmdpbiBpZiBhbnkgb2YgaXRzIGNvbXBvbmVudCBtYXJnaW5zIGlzIGFkam9pbmlu
ZyB0byB0aGF0IG1hcmdpbi4KLSAgICByZXR1cm4gZmFsc2U7Ci19Ki8KLUxheW91dFVuaXQgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb21wdXRlZE5v
bkNvbGxhcHNlZE1hcmdpbkJlZm9yZShjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNv
bnN0IEJveCYgbGF5b3V0Qm94KQotewotICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVs
Qm94KCkpOworICAgIGlmICghbGF5b3V0Qm94LmlzUG9zaXRpb25lZCgpIHx8IGxheW91dEJveC5p
c0luRmxvd1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICByZXR1cm4g
Y29tcHV0ZWROb25Db2xsYXBzZWRWZXJ0aWNhbE1hcmdpblZhbHVlKGxheW91dFN0YXRlLCBsYXlv
dXRCb3gpLmJlZm9yZTsKKyAgICAvLyBPdXQgb2YgZmxvdyBwb3NpdGlvbmVkLgorICAgIEFTU0VS
VChsYXlvdXRCb3guaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpOworICAgIHJldHVybiBsYXlvdXRC
b3guc3R5bGUoKS5ib3R0b20oKS5pc0F1dG8oKTsKIH0KIAotTGF5b3V0VW5pdCBCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmNvbXB1dGVkTm9uQ29sbGFw
c2VkTWFyZ2luQWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gm
IGxheW91dEJveCkKK2Jvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdp
bkNvbGxhcHNlOjptYXJnaW5zQ29sbGFwc2VUaHJvdWdoKGNvbnN0IEJveCYgbGF5b3V0Qm94KQog
ewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwogCi0gICAgcmV0dXJu
IGNvbXB1dGVkTm9uQ29sbGFwc2VkVmVydGljYWxNYXJnaW5WYWx1ZShsYXlvdXRTdGF0ZSwgbGF5
b3V0Qm94KS5hZnRlcjsKKyAgICAvLyBJZiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvZiBh
IGJveCBhcmUgYWRqb2luaW5nLCB0aGVuIGl0IGlzIHBvc3NpYmxlIGZvciBtYXJnaW5zIHRvIGNv
bGxhcHNlIHRocm91Z2ggaXQuCisgICAgaWYgKGhhc0JvcmRlckJlZm9yZShsYXlvdXRCb3gpIHx8
IGhhc0JvcmRlckFmdGVyKGxheW91dEJveCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGlmIChoYXNQYWRkaW5nQmVmb3JlKGxheW91dEJveCkgfHwgaGFzUGFkZGluZ0FmdGVyKGxheW91
dEJveCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbGF5b3V0Qm94LnN0eWxl
KCkuaGVpZ2h0KCkuaXNBdXRvKCkgfHwgIWxheW91dEJveC5zdHlsZSgpLm1pbkhlaWdodCgpLmlz
QXV0bygpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIWlzPENvbnRhaW5lcj4o
bGF5b3V0Qm94KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBhdXRvJiBjb250YWluZXIg
PSBkb3duY2FzdDxDb250YWluZXI+KGxheW91dEJveCk7CisgICAgaWYgKGNvbnRhaW5lci5oYXNJ
bkZsb3dPckZsb2F0aW5nQ2hpbGQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0
dXJuIHRydWU7CiB9CiAKIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmUoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91
dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJveCkKQEAgLTI0NSwxNSArMzAxLDE1IEBAIExheW91
dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpt
YXJnaW5CZWZvcmUoY29uc3QKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgp
KTsKIAogICAgIC8vIFRPRE86IHRha2UgX2hhc0Fkam9pbmluZ01hcmdpbkJlZm9yZUFuZEFmdGVy
KCkgaW50byBhY2NvdW50LgotICAgIGlmIChpc01hcmdpbkJlZm9yZUNvbGxhcHNlZFdpdGhQYXJl
bnQobGF5b3V0U3RhdGUsIGxheW91dEJveCkpCisgICAgaWYgKG1hcmdpbkJlZm9yZUNvbGxhcHNl
c1dpdGhQYXJlbnRNYXJnaW5CZWZvcmUobGF5b3V0U3RhdGUsIGxheW91dEJveCkpCiAgICAgICAg
IHJldHVybiAwOwogCiAgICAgLy8gRklYTUU6IEZpbmQgb3V0IHRoZSBsb2dpYyBiZWhpbmQgdGhp
cy4KICAgICBpZiAoQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6UXVpcmtzOjpzaG91bGRJZ25vcmVN
YXJnaW5CZWZvcmUobGF5b3V0U3RhdGUsIGxheW91dEJveCkpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgaWYgKCFpc01hcmdpbkJlZm9yZUNvbGxhcHNlZFdpdGhTaWJsaW5nKGxheW91dEJveCkp
IHsKLSAgICAgICAgaWYgKCFpc01hcmdpbkFmdGVyQ29sbGFwc2VkVGhyb3VnaChsYXlvdXRCb3gp
KQorICAgIGlmICghbWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aFByZXZpb3VzU2libGluZyhsYXlv
dXRCb3gpKSB7CisgICAgICAgIGlmICghbWFyZ2luc0NvbGxhcHNlVGhyb3VnaChsYXlvdXRCb3gp
KQogICAgICAgICAgICAgcmV0dXJuIG5vbkNvbGxhcHNlZE1hcmdpbkJlZm9yZShsYXlvdXRTdGF0
ZSwgbGF5b3V0Qm94KTsKICAgICAgICAgLy8gQ29tcHV0ZSB0aGUgY29sbGFwc2VkIHRocm91Z2gg
dmFsdWUuCiAgICAgICAgIGF1dG8gbWFyZ2luQmVmb3JlID0gbm9uQ29sbGFwc2VkTWFyZ2luQmVm
b3JlKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpOwpAQCAtMjgwLDE0ICszMzYsMTQgQEAgTGF5b3V0
VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1h
cmdpbkFmdGVyKGNvbnN0IEwKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgp
KTsKIAogICAgIC8vIFRPRE86IHRha2UgX2hhc0Fkam9pbmluZ01hcmdpbkJlZm9yZUFuZEJvdHRv
bSgpIGludG8gYWNjb3VudC4KLSAgICBpZiAoaXNNYXJnaW5BZnRlckNvbGxhcHNlZFdpdGhQYXJl
bnQobGF5b3V0Qm94KSkKKyAgICBpZiAobWFyZ2luQWZ0ZXJDb2xsYXBzZXNXaXRoUGFyZW50TWFy
Z2luQWZ0ZXIobGF5b3V0Qm94KSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAoaXNNYXJn
aW5BZnRlckNvbGxhcHNlZFRocm91Z2gobGF5b3V0Qm94KSkKKyAgICBpZiAobWFyZ2luc0NvbGxh
cHNlVGhyb3VnaChsYXlvdXRCb3gpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIC8vIEZsb2F0
cyBhbmQgb3V0IG9mIGZsb3cgcG9zaXRpb25lZCBib3hlcyBkbyBub3QgY29sbGFwc2UgdGhlaXIg
bWFyZ2lucy4KLSAgICBpZiAoIWlzTWFyZ2luQWZ0ZXJDb2xsYXBzZWRXaXRoU2libGluZyhsYXlv
dXRCb3gpKQorICAgIGlmICghbWFyZ2luQWZ0ZXJDb2xsYXBzZXNXaXRoTmV4dFNpYmxpbmcobGF5
b3V0Qm94KSkKICAgICAgICAgcmV0dXJuIG5vbkNvbGxhcHNlZE1hcmdpbkFmdGVyKGxheW91dFN0
YXRlLCBsYXlvdXRCb3gpOwogCiAgICAgLy8gVGhlIGJvdHRvbSBtYXJnaW4gb2YgYW4gaW4tZmxv
dyBibG9jay1sZXZlbCBlbGVtZW50IGFsd2F5cyBjb2xsYXBzZXMgd2l0aCB0aGUgdG9wIG1hcmdp
biBvZiBpdHMgbmV4dCBpbi1mbG93IGJsb2NrLWxldmVsIHNpYmxpbmcsCkBAIC0yOTcsNzYgKzM1
Myw2IEBAIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdp
bkNvbGxhcHNlOjptYXJnaW5BZnRlcihjb25zdCBMCiAgICAgcmV0dXJuIG5vbkNvbGxhcHNlZE1h
cmdpbkFmdGVyKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpOwogfQogCi1ib29sIEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5BZnRlckNvbGxh
cHNlZFdpdGhQYXJlbnQoY29uc3QgQm94JiBsYXlvdXRCb3gpCi17Ci0gICAgLy8gbGFzdCBpbmZs
b3cgYm94IHRvIHBhcmVudC4KLSAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvQ1NTMjEvYm94
Lmh0bWwjY29sbGFwc2luZy1tYXJnaW5zCi0gICAgaWYgKGxheW91dEJveC5pc0Fub255bW91cygp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tM
ZXZlbEJveCgpKTsKLQotICAgIGlmIChsYXlvdXRCb3guaXNGbG9hdGluZ09yT3V0T2ZGbG93UG9z
aXRpb25lZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoaXNNYXJnaW5BZnRl
ckNvbGxhcHNlZFRocm91Z2gobGF5b3V0Qm94KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0g
ICAgLy8gT25seSB0aGUgbGFzdCBpbmxmbG93IGNoaWxkIGNvbGxhcHNlcyB3aXRoIHBhcmVudC4K
LSAgICBpZiAobGF5b3V0Qm94Lm5leHRJbkZsb3dTaWJsaW5nKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIGF1dG8mIHBhcmVudCA9ICpsYXlvdXRCb3gucGFyZW50KCk7Ci0gICAgLy8g
TWFyZ2lucyBvZiBlbGVtZW50cyB0aGF0IGVzdGFibGlzaCBuZXcgYmxvY2sgZm9ybWF0dGluZyBj
b250ZXh0cyBkbyBub3QgY29sbGFwc2Ugd2l0aCB0aGVpciBpbi1mbG93IGNoaWxkcmVuCi0gICAg
aWYgKGVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4dChwYXJlbnQpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoaGFzQm9yZGVyQmVmb3JlKHBhcmVudCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgIGlmIChoYXNQYWRkaW5nQmVmb3JlKHBhcmVudCkpCi0gICAg
ICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICghcGFyZW50LnN0eWxlKCkuaGVpZ2h0KCkuaXNB
dXRvKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi1i
b29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6aXNN
YXJnaW5CZWZvcmVDb2xsYXBzZWRXaXRoUGFyZW50TWFyZ2luQWZ0ZXIoY29uc3QgQm94JikKLXsK
LSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLUxheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRNYXJnaW5BZnRlckZyb21MYXN0
Q2hpbGQoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJv
eCkKLXsKLSAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgpKTsKLQotICAgIC8v
IENoZWNrIGlmIHRoZSBsYXN0IGNoaWxkIHByb3BhZ2F0ZXMgaXRzIG1hcmdpbiBib3R0b20uCi0g
ICAgaWYgKCFpczxDb250YWluZXI+KGxheW91dEJveCkgfHwgIWRvd25jYXN0PENvbnRhaW5lcj4o
bGF5b3V0Qm94KS5oYXNJbkZsb3dDaGlsZCgpKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8v
IERvIG5vdCBjb2xsYXBzZSBtYXJnaW4gd2l0aCBhIGJveCBmcm9tIGEgbm9uLWJsb2NrIGZvcm1h
dHRpbmcgY29udGV4dCA8ZGl2PjxzcGFuPmZvb2Jhcjwvc3Bhbj48L2Rpdj4uCi0gICAgaWYgKGxh
eW91dEJveC5lc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkgJiYgIWxheW91dEJveC5lc3Rh
Ymxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRPbmx5KCkpCi0gICAgICAgIHJldHVybiAwOwot
Ci0gICAgLy8gRklYTUU6IENoZWNrIGZvciBjb2xsYXBzZWQgdGhyb3VnaCBtYXJnaW4uCi0gICAg
YXV0byYgbGFzdEluRmxvd0NoaWxkID0gKmRvd25jYXN0PENvbnRhaW5lcj4obGF5b3V0Qm94KS5s
YXN0SW5GbG93Q2hpbGQoKTsKLSAgICBpZiAoIWlzTWFyZ2luQWZ0ZXJDb2xsYXBzZWRXaXRoUGFy
ZW50KGxhc3RJbkZsb3dDaGlsZCkpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgLy8gQ29sbGVj
dCBjb2xsYXBzZWQgbWFyZ2luIGJvdHRvbSByZWN1cnNpdmVseS4KLSAgICByZXR1cm4gbWFyZ2lu
VmFsdWUoY29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5BZnRlcihsYXlvdXRTdGF0ZSwgbGFzdElu
Rmxvd0NoaWxkKSwgY29sbGFwc2VkTWFyZ2luQWZ0ZXJGcm9tTGFzdENoaWxkKGxheW91dFN0YXRl
LCBsYXN0SW5GbG93Q2hpbGQpKTsKLX0KLQotTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpbkFmdGVyKGNv
bnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCi17Ci0g
ICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7Ci0KLSAgICAvLyBOb24gY29s
bGFwc2VkIG1hcmdpbiBib3R0b20gaW5jbHVkZXMgY29sbGFwc2VkIG1hcmdpbiBmcm9tIGluZmxv
dyBsYXN0IGNoaWxkLgotICAgIHJldHVybiBtYXJnaW5WYWx1ZShjb21wdXRlZE5vbkNvbGxhcHNl
ZE1hcmdpbkFmdGVyKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpLCBjb2xsYXBzZWRNYXJnaW5BZnRl
ckZyb21MYXN0Q2hpbGQobGF5b3V0U3RhdGUsIGxheW91dEJveCkpOwotfQotCiB9CiB9CiAjZW5k
aWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>