<?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>193181</bug_id>
          
          <creation_ts>2019-01-06 16:42:38 -0800</creation_ts>
          <short_desc>[LFC][BFC] Move MarginCollapse from BlockFormattingContext::Geometry to BlockFormattingContext</short_desc>
          <delta_ts>2019-01-07 08:17:32 -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>1492161</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-01-06 16:42:38 -0800</bug_when>
    <thetext>This is in preparation to share margin collapsing across all block formatting box types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492163</commentid>
    <comment_count>1</comment_count>
      <attachid>358468</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-01-06 16:45:11 -0800</bug_when>
    <thetext>Created attachment 358468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492264</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-01-07 08:16:50 -0800</bug_when>
    <thetext>Committed r239674: &lt;https://trac.webkit.org/changeset/239674&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492265</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-07 08:17:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/47085329&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358468</attachid>
            <date>2019-01-06 16:45:11 -0800</date>
            <delta_ts>2019-01-06 23:10:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193181-20190106164502.patch</filename>
            <type>text/plain</type>
            <size>18491</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTViNzFkYzlkZWIyMTA3
NGEzMmUxMDQxN2RmZDlkYmNlYTI1ODU2MS4uM2Q0NTVlNTZjNGVjNDNlZGM4MDQ4YzQzN2Y0YTZj
ZGUwYTczZDE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAxLTA2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bQkZDXSBNb3ZlIE1h
cmdpbkNvbGxhcHNlIGZyb20gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnkgdG8gQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkzMTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyBpcyBpbiBwcmVwYXJhdGlvbiB0byBzaGFyZSBtYXJnaW4gY29sbGFw
c2luZyBhY3Jvc3MgYWxsIGJveGVzIGluIGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dC4KKworICAg
ICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRy
eTo6aW5GbG93Tm9uUmVwbGFjZWRIZWlnaHRBbmRNYXJnaW4pOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6aW5GbG93Tm9uUmVwbGFj
ZWRXaWR0aEFuZE1hcmdpbik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dSZXBsYWNlZFdpZHRoQW5kTWFyZ2luKToKKyAg
ICAgICAgKiBsYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5D
b2xsYXBzZTo6Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5CZWZvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6Y29t
cHV0ZWROb25Db2xsYXBzZWRNYXJnaW5BZnRlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpub25Db2xsYXBzZWRNYXJn
aW5CZWZvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFwc2VkTWFyZ2luQWZ0ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6
Y29sbGFwc2VkTWFyZ2luQmVmb3JlRnJvbUZpcnN0Q2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6
TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2Vk
TWFyZ2luQWZ0ZXJGcm9tTGFzdENoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUNvbGxhcHNl
c1dpdGhQYXJlbnRNYXJnaW5BZnRlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVDb2xsYXBzZXNX
aXRoUGFyZW50TWFyZ2luQmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0
aFNpYmxpbmdNYXJnaW5CZWZvcmVXaXRoQ2xlYXJhbmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okxh
eW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVy
Q29sbGFwc2VzV2l0aFBhcmVudE1hcmdpbkJlZm9yZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5BZnRlckNv
bGxhcHNlc1dpdGhQYXJlbnRNYXJnaW5BZnRlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVDb2xs
YXBzZXNXaXRoUHJldmlvdXNTaWJsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2Vz
V2l0aE5leHRTaWJsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbnNDb2xsYXBzZVRocm91Z2gpOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xs
YXBzZTo6bWFyZ2luQmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNv
bGxhcHNlOjpjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkJlZm9yZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpN
YXJnaW5Db2xsYXBzZTo6Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5BZnRlcik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFwc2VkTWFyZ2luQmVmb3JlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0
cnk6Ok1hcmdpbkNvbGxhcHNlOjpub25Db2xsYXBzZWRNYXJnaW5BZnRlcik6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5
OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luQmVmb3JlRnJvbUZpcnN0Q2hpbGQpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpbkFmdGVyRnJvbUxhc3RD
aGlsZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2Vz
V2l0aFBhcmVudE1hcmdpbkFmdGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjptYXJn
aW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3JlKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1h
cmdpbkNvbGxhcHNlOjptYXJnaW5BZnRlckNvbGxhcHNlc1dpdGhTaWJsaW5nTWFyZ2luQmVmb3Jl
V2l0aENsZWFyYW5jZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQWZ0ZXJD
b2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3JlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxh
cHNlOjptYXJnaW5BZnRlckNvbGxhcHNlc1dpdGhQYXJlbnRNYXJnaW5BZnRlcik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aFByZXZpb3VzU2li
bGluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQWZ0ZXJDb2xsYXBzZXNX
aXRoTmV4dFNpYmxpbmcpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9j
a0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbnNDb2xs
YXBzZVRocm91Z2gpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRl
eHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQWZ0ZXIpOiBEZWxldGVkLgorCiAy
MDE5LTAxLTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBT
ZXJ2aWNlIFdvcmtlciBmZXRjaCBzaG91bGQgb2JleSBpdHMgcmVmZXJyZXIgcG9saWN5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0
dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDY4MDQxZDQ5MDg1NjdmYjg4OTM0MGQ2YjUzYjdl
M2YyMDgyZWMxODAuLjIxZGUzYjQ5MjM0ZTI2OWM4YWQ1NDUzMTI3N2YxNzkyYTMzNDVkYWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRp
bmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCkBAIC04MywzNyArODMsMzcgQEAgcHJpdmF0ZToK
ICAgICAgICAgc3RhdGljIExheW91dFVuaXQgZXN0aW1hdGVkTWFyZ2luQWZ0ZXIoY29uc3QgTGF5
b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIC8vIFRoaXMg
Y2xhc3MgaW1wbGVtZW50cyBtYXJnaW4gY29sbGFwc2luZyBmb3IgYmxvY2sgZm9ybWF0dGluZyBj
b250ZXh0LgotICAgICAgICBjbGFzcyBNYXJnaW5Db2xsYXBzZSB7Ci0gICAgICAgIHB1YmxpYzoK
LSAgICAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IG1hcmdpbkJlZm9yZShjb25zdCBMYXlvdXRT
dGF0ZSYsIGNvbnN0IEJveCYpOwotICAgICAgICAgICAgc3RhdGljIExheW91dFVuaXQgbWFyZ2lu
QWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgc3RhdGljIEhl
aWdodEFuZE1hcmdpbiBpbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmdpbihjb25zdCBMYXlv
dXRTdGF0ZSYsIGNvbnN0IEJveCYsIE9wdGlvbmFsPExheW91dFVuaXQ+IHVzZWRIZWlnaHQgPSB7
IH0pOworICAgICAgICBzdGF0aWMgV2lkdGhBbmRNYXJnaW4gaW5GbG93Tm9uUmVwbGFjZWRXaWR0
aEFuZE1hcmdpbihjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIE9wdGlvbmFsPExheW91
dFVuaXQ+IHVzZWRXaWR0aCA9IHsgfSk7CisgICAgICAgIHN0YXRpYyBXaWR0aEFuZE1hcmdpbiBp
bkZsb3dSZXBsYWNlZFdpZHRoQW5kTWFyZ2luKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94
JiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNlZFdpZHRoID0geyB9KTsKKyAgICAgICAgc3RhdGlj
IFBvaW50IHN0YXRpY1Bvc2l0aW9uRm9yT3V0T2ZGbG93UG9zaXRpb25lZChjb25zdCBMYXlvdXRT
dGF0ZSYsIGNvbnN0IEJveCYpOworICAgIH07CiAKLSAgICAgICAgICAgIHN0YXRpYyBib29sIG1h
cmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQYXJlbnRNYXJnaW5BZnRlcihjb25zdCBMYXlvdXRTdGF0
ZSYsIGNvbnN0IEJveCYpOwotICAgICAgICAgICAgc3RhdGljIGJvb2wgbWFyZ2luQWZ0ZXJDb2xs
YXBzZXNXaXRoUGFyZW50TWFyZ2luQWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gm
KTsKKyAgICAvLyBUaGlzIGNsYXNzIGltcGxlbWVudHMgbWFyZ2luIGNvbGxhcHNpbmcgZm9yIGJs
b2NrIGZvcm1hdHRpbmcgY29udGV4dC4KKyAgICBjbGFzcyBNYXJnaW5Db2xsYXBzZSB7CisgICAg
cHVibGljOgorICAgICAgICBzdGF0aWMgTGF5b3V0VW5pdCBtYXJnaW5CZWZvcmUoY29uc3QgTGF5
b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgc3RhdGljIExheW91dFVuaXQgbWFyZ2lu
QWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKIAotICAgICAgICBwcml2YXRl
OgotICAgICAgICAgICAgc3RhdGljIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQWZ0ZXJGcm9t
TGFzdENoaWxkKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7Ci0gICAgICAgICAgICBz
dGF0aWMgTGF5b3V0VW5pdCBub25Db2xsYXBzZWRNYXJnaW5BZnRlcihjb25zdCBMYXlvdXRTdGF0
ZSYsIGNvbnN0IEJveCYpOworICAgICAgICBzdGF0aWMgYm9vbCBtYXJnaW5CZWZvcmVDb2xsYXBz
ZXNXaXRoUGFyZW50TWFyZ2luQWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsK
KyAgICAgICAgc3RhdGljIGJvb2wgbWFyZ2luQWZ0ZXJDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2lu
QWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKIAotICAgICAgICAgICAgc3Rh
dGljIExheW91dFVuaXQgY29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5CZWZvcmUoY29uc3QgTGF5
b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKLSAgICAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IGNv
bXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2luQWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBC
b3gmKTsKKyAgICBwcml2YXRlOgorICAgICAgICBzdGF0aWMgTGF5b3V0VW5pdCBjb2xsYXBzZWRN
YXJnaW5BZnRlckZyb21MYXN0Q2hpbGQoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsK
KyAgICAgICAgc3RhdGljIExheW91dFVuaXQgbm9uQ29sbGFwc2VkTWFyZ2luQWZ0ZXIoY29uc3Qg
TGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKIAotICAgICAgICAgICAgc3RhdGljIExheW91dFVu
aXQgY29sbGFwc2VkTWFyZ2luQmVmb3JlRnJvbUZpcnN0Q2hpbGQoY29uc3QgTGF5b3V0U3RhdGUm
LCBjb25zdCBCb3gmKTsKLSAgICAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IG5vbkNvbGxhcHNl
ZE1hcmdpbkJlZm9yZShjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYpOworICAgICAgICBz
dGF0aWMgTGF5b3V0VW5pdCBjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkJlZm9yZShjb25zdCBM
YXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYpOworICAgICAgICBzdGF0aWMgTGF5b3V0VW5pdCBjb21w
dXRlZE5vbkNvbGxhcHNlZE1hcmdpbkFmdGVyKGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94
Jik7CiAKLSAgICAgICAgICAgIHN0YXRpYyBib29sIG1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQ
YXJlbnRNYXJnaW5CZWZvcmUoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKLSAgICAg
ICAgICAgIHN0YXRpYyBib29sIG1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQcmV2aW91c1NpYmxp
bmcoY29uc3QgQm94Jik7Ci0gICAgICAgICAgICBzdGF0aWMgYm9vbCBtYXJnaW5BZnRlckNvbGxh
cHNlc1dpdGhOZXh0U2libGluZyhjb25zdCBCb3gmKTsKLSAgICAgICAgICAgIHN0YXRpYyBib29s
IG1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0aFNpYmxpbmdNYXJnaW5CZWZvcmVXaXRoQ2xlYXJhbmNl
KGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7Ci0gICAgICAgICAgICBzdGF0aWMgYm9v
bCBtYXJnaW5BZnRlckNvbGxhcHNlc1dpdGhQYXJlbnRNYXJnaW5CZWZvcmUoY29uc3QgTGF5b3V0
U3RhdGUmLCBjb25zdCBCb3gmKTsKLSAgICAgICAgICAgIHN0YXRpYyBib29sIG1hcmdpbnNDb2xs
YXBzZVRocm91Z2goY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKLSAgICAgICAgfTsK
KyAgICAgICAgc3RhdGljIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQmVmb3JlRnJvbUZpcnN0
Q2hpbGQoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgc3RhdGljIExh
eW91dFVuaXQgbm9uQ29sbGFwc2VkTWFyZ2luQmVmb3JlKGNvbnN0IExheW91dFN0YXRlJiwgY29u
c3QgQm94Jik7CiAKLSAgICAgICAgc3RhdGljIEhlaWdodEFuZE1hcmdpbiBpbkZsb3dOb25SZXBs
YWNlZEhlaWdodEFuZE1hcmdpbihjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIE9wdGlv
bmFsPExheW91dFVuaXQ+IHVzZWRIZWlnaHQgPSB7IH0pOwotICAgICAgICBzdGF0aWMgV2lkdGhB
bmRNYXJnaW4gaW5GbG93Tm9uUmVwbGFjZWRXaWR0aEFuZE1hcmdpbihjb25zdCBMYXlvdXRTdGF0
ZSYsIGNvbnN0IEJveCYsIE9wdGlvbmFsPExheW91dFVuaXQ+IHVzZWRXaWR0aCA9IHsgfSk7Ci0g
ICAgICAgIHN0YXRpYyBXaWR0aEFuZE1hcmdpbiBpbkZsb3dSZXBsYWNlZFdpZHRoQW5kTWFyZ2lu
KGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94JiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNl
ZFdpZHRoID0geyB9KTsKLSAgICAgICAgc3RhdGljIFBvaW50IHN0YXRpY1Bvc2l0aW9uRm9yT3V0
T2ZGbG93UG9zaXRpb25lZChjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYpOworICAgICAg
ICBzdGF0aWMgYm9vbCBtYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3Jl
KGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7CisgICAgICAgIHN0YXRpYyBib29sIG1h
cmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQcmV2aW91c1NpYmxpbmcoY29uc3QgQm94Jik7CisgICAg
ICAgIHN0YXRpYyBib29sIG1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0aE5leHRTaWJsaW5nKGNvbnN0
IEJveCYpOworICAgICAgICBzdGF0aWMgYm9vbCBtYXJnaW5BZnRlckNvbGxhcHNlc1dpdGhTaWJs
aW5nTWFyZ2luQmVmb3JlV2l0aENsZWFyYW5jZShjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJv
eCYpOworICAgICAgICBzdGF0aWMgYm9vbCBtYXJnaW5BZnRlckNvbGxhcHNlc1dpdGhQYXJlbnRN
YXJnaW5CZWZvcmUoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgc3Rh
dGljIGJvb2wgbWFyZ2luc0NvbGxhcHNlVGhyb3VnaChjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0
IEJveCYpOwogICAgIH07CiAKICAgICBjbGFzcyBRdWlya3MgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBz
ZS5jcHAKaW5kZXggZjc5OGFmM2RlZDg0YmI3MjI0MmI1ODI1YzgyOTQ0NDhkYTY5MTgxMi4uYzcx
ZDM5MjYwYTc1NTg4YWEwZWU4ZjI2MWYyNGFlMjE5NGVlODdiNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29s
bGFwc2UuY3BwCkBAIC0xMDMsMjEgKzEwMywyMSBAQCBzdGF0aWMgTGF5b3V0VW5pdCBtYXJnaW5W
YWx1ZShMYXlvdXRVbml0IGN1cnJlbnRNYXJnaW5WYWx1ZSwgTGF5b3V0VW5pdCBjYW5kaWRhdAog
ICAgIHJldHVybiBjdXJyZW50TWFyZ2luVmFsdWUgKyBjYW5kaWRhdGVNYXJnaW5WYWx1ZTsKIH0K
IAotTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29s
bGFwc2U6OmNvbXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2luQmVmb3JlKGNvbnN0IExheW91dFN0YXRl
JiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdp
bkJlZm9yZShjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0
Qm94KQogewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwogCi0gICAg
cmV0dXJuIGNvbXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0U3RhdGUsIGxheW91dEJveCkuYmVm
b3JlLnZhbHVlT3IoMCk7CisgICAgcmV0dXJuIEdlb21ldHJ5Ojpjb21wdXRlZFZlcnRpY2FsTWFy
Z2luKGxheW91dFN0YXRlLCBsYXlvdXRCb3gpLmJlZm9yZS52YWx1ZU9yKDApOwogfQogCi1MYXlv
dXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6
Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5BZnRlcihjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0
U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5BZnRlcihj
b25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewog
ICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwogCi0gICAgcmV0dXJuIGNv
bXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0U3RhdGUsIGxheW91dEJveCkuYWZ0ZXIudmFsdWVP
cigwKTsKKyAgICByZXR1cm4gR2VvbWV0cnk6OmNvbXB1dGVkVmVydGljYWxNYXJnaW4obGF5b3V0
U3RhdGUsIGxheW91dEJveCkuYWZ0ZXIudmFsdWVPcigwKTsKIH0KIAotTGF5b3V0VW5pdCBCbG9j
a0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNl
ZE1hcmdpbkJlZm9yZShjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYg
bGF5b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xs
YXBzZTo6bm9uQ29sbGFwc2VkTWFyZ2luQmVmb3JlKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRT
dGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Js
b2NrTGV2ZWxCb3goKSk7CiAKQEAgLTEyNSw3ICsxMjUsNyBAQCBMYXlvdXRVbml0IEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFwc2VkTWFy
Z2luQgogICAgIHJldHVybiBtYXJnaW5WYWx1ZShjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkJl
Zm9yZShsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KSwgY29sbGFwc2VkTWFyZ2luQmVmb3JlRnJvbUZp
cnN0Q2hpbGQobGF5b3V0U3RhdGUsIGxheW91dEJveCkpOwogfQogCi1MYXlvdXRVbml0IEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFwc2Vk
TWFyZ2luQWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxh
eW91dEJveCkKK0xheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFw
c2U6Om5vbkNvbGxhcHNlZE1hcmdpbkFmdGVyKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0
ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2Nr
TGV2ZWxCb3goKSk7CiAKQEAgLTEzMyw3ICsxMzMsNyBAQCBMYXlvdXRVbml0IEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFwc2VkTWFyZ2lu
QQogICAgIHJldHVybiBtYXJnaW5WYWx1ZShjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkFmdGVy
KGxheW91dFN0YXRlLCBsYXlvdXRCb3gpLCBjb2xsYXBzZWRNYXJnaW5BZnRlckZyb21MYXN0Q2hp
bGQobGF5b3V0U3RhdGUsIGxheW91dEJveCkpOwogfQogCi1MYXlvdXRVbml0IEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luQmVm
b3JlRnJvbUZpcnN0Q2hpbGQoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBC
b3gmIGxheW91dEJveCkKK0xheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2lu
Q29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpbkJlZm9yZUZyb21GaXJzdENoaWxkKGNvbnN0IExheW91
dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgQVNTRVJU
KGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CiAKQEAgLTE1Myw3ICsxNTMsNyBAQCBMYXlv
dXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6
Y29sbGFwc2VkTWFyZ2luQmVmbwogICAgIHJldHVybiBtYXJnaW5WYWx1ZShjb21wdXRlZE5vbkNv
bGxhcHNlZE1hcmdpbkJlZm9yZShsYXlvdXRTdGF0ZSwgZmlyc3RJbkZsb3dDaGlsZCksIGNvbGxh
cHNlZE1hcmdpbkJlZm9yZUZyb21GaXJzdENoaWxkKGxheW91dFN0YXRlLCBmaXJzdEluRmxvd0No
aWxkKSk7CiB9CiAKLUxheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRNYXJnaW5BZnRlckZyb21MYXN0Q2hpbGQoY29uc3Qg
TGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJveCkKK0xheW91dFVu
aXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdp
bkFmdGVyRnJvbUxhc3RDaGlsZChjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0
IEJveCYgbGF5b3V0Qm94KQogewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94
KCkpOwogCkBAIC0xNzQsNyArMTc0LDcgQEAgTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpbkFmdGUKICAgICBy
ZXR1cm4gbWFyZ2luVmFsdWUoY29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5BZnRlcihsYXlvdXRT
dGF0ZSwgbGFzdEluRmxvd0NoaWxkKSwgY29sbGFwc2VkTWFyZ2luQWZ0ZXJGcm9tTGFzdENoaWxk
KGxheW91dFN0YXRlLCBsYXN0SW5GbG93Q2hpbGQpKTsKIH0KIAotYm9vbCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUNvbGxhcHNl
c1dpdGhQYXJlbnRNYXJnaW5BZnRlcihjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNv
bnN0IEJveCYgbGF5b3V0Qm94KQorYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5D
b2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2VzV2l0aFBhcmVudE1hcmdpbkFmdGVyKGNvbnN0
IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAg
Ly8gMS4gVGhpcyBpcyB0aGUgbGFzdCBpbi1mbG93IGNoaWxkIGFuZCBpdHMgbWFyZ2lucyBjb2xs
YXBzZSB0aHJvdWdoIGFuZCB0aGUgbWFyZ2luIGFmdGVyIGNvbGxhcHNlcyB3aXRoIHBhcmVudCdz
IG1hcmdpbiBhZnRlciBvcgogICAgIC8vIDIuIFRoaXMgYm94J3MgbWFyZ2luIGFmdGVyIGNvbGxh
cHNlcyB3aXRoIHRoZSBuZXh0IHNpYmxpbmcncyBtYXJnaW4gYmVmb3JlIGFuZCB0aGF0IHNpYmxp
bmcgY29sbGFwc2VzIHRocm91Z2ggYW5kCkBAIC0xOTIsNyArMTkyLDcgQEAgYm9vbCBCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUNv
bGxhcHNlc1dpdGgKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmVDb2xsYXBzZXNX
aXRoUGFyZW50TWFyZ2luQmVmb3JlKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29u
c3QgQm94JiBsYXlvdXRCb3gpCitib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNv
bGxhcHNlOjptYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3JlKGNvbnN0
IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAg
Ly8gVGhlIGZpcnN0IGluZmxvdyBjaGlsZCBjb3VsZCBwcm9wYWdhdGUgaXRzIHRvcCBtYXJnaW4g
dG8gcGFyZW50LgogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9ib3guaHRtbCNj
b2xsYXBzaW5nLW1hcmdpbnMKQEAgLTIzOCw3ICsyMzgsNyBAQCBib29sIEJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVmb3JlQ29sbGFwc2Vz
V2l0aAogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQWZ0ZXJDb2xsYXBzZXNXaXRoU2libGlu
Z01hcmdpbkJlZm9yZVdpdGhDbGVhcmFuY2UoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRl
LCBjb25zdCBCb3gmIGxheW91dEJveCkKK2Jvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFy
Z2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0aFNpYmxpbmdNYXJnaW5CZWZvcmVX
aXRoQ2xlYXJhbmNlKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBs
YXlvdXRCb3gpCiB7CiAgICAgLy8gSWYgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb2YgYW4g
ZWxlbWVudCB3aXRoIGNsZWFyYW5jZSBhcmUgYWRqb2luaW5nLCBpdHMgbWFyZ2lucyBjb2xsYXBz
ZSB3aXRoIHRoZSBhZGpvaW5pbmcgbWFyZ2lucwogICAgIC8vIG9mIGZvbGxvd2luZyBzaWJsaW5n
cyBidXQgdGhhdCByZXN1bHRpbmcgbWFyZ2luIGRvZXMgbm90IGNvbGxhcHNlIHdpdGggdGhlIGJv
dHRvbSBtYXJnaW4gb2YgdGhlIHBhcmVudCBibG9jay4KQEAgLTI1NCw3ICsyNTQsNyBAQCBib29s
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2lu
QWZ0ZXJDb2xsYXBzZXNXaXRoUwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29s
bGFwc2VzV2l0aFBhcmVudE1hcmdpbkJlZm9yZShjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3Rh
dGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQorYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpN
YXJnaW5Db2xsYXBzZTo6bWFyZ2luQWZ0ZXJDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQmVmb3Jl
KGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7
CiAgICAgLy8gMS4gVGhpcyBpcyB0aGUgZmlyc3QgaW4tZmxvdyBjaGlsZCBhbmQgaXRzIG1hcmdp
bnMgY29sbGFwc2UgdGhyb3VnaCBhbmQgdGhlIG1hcmdpbiBiZWZvcmUgY29sbGFwc2VzIHdpdGgg
cGFyZW50J3MgbWFyZ2luIGJlZm9yZSBvcgogICAgIC8vIDIuIFRoaXMgYm94J3MgbWFyZ2luIGJl
Zm9yZSBjb2xsYXBzZXMgd2l0aCB0aGUgcHJldmlvdXMgc2libGluZydzIG1hcmdpbiBhZnRlciBh
bmQgdGhhdCBzaWJsaW5nIGNvbGxhcHNlcyB0aHJvdWdoIGFuZApAQCAtMjcyLDcgKzI3Miw3IEBA
IGJvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpt
YXJnaW5BZnRlckNvbGxhcHNlc1dpdGhQCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQWZ0
ZXJDb2xsYXBzZXNXaXRoUGFyZW50TWFyZ2luQWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91
dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJveCkKK2Jvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0aFBhcmVudE1hcmdpbkFm
dGVyKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gp
CiB7CiAgICAgaWYgKGxheW91dEJveC5pc0Fub255bW91cygpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC0zMjQsNyArMzI0LDcgQEAgYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0aFAKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFy
Z2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGhQcmV2aW91c1NpYmxpbmcoY29u
c3QgQm94JiBsYXlvdXRCb3gpCitib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNv
bGxhcHNlOjptYXJnaW5CZWZvcmVDb2xsYXBzZXNXaXRoUHJldmlvdXNTaWJsaW5nKGNvbnN0IEJv
eCYgbGF5b3V0Qm94KQogewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkp
OwogCkBAIC0zNTQsNyArMzU0LDcgQEAgYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9t
ZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJlZm9yZUNvbGxhcHNlc1dpdGgKICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFy
Z2luQ29sbGFwc2U6Om1hcmdpbkFmdGVyQ29sbGFwc2VzV2l0aE5leHRTaWJsaW5nKGNvbnN0IEJv
eCYgbGF5b3V0Qm94KQorYm9vbCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBz
ZTo6bWFyZ2luQWZ0ZXJDb2xsYXBzZXNXaXRoTmV4dFNpYmxpbmcoY29uc3QgQm94JiBsYXlvdXRC
b3gpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CiAKQEAgLTM2
NCw3ICszNjQsNyBAQCBib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJn
aW5Db2xsYXBzZTo6bWFyZ2luQWZ0ZXJDb2xsYXBzZXNXaXRoTgogICAgIHJldHVybiBtYXJnaW5C
ZWZvcmVDb2xsYXBzZXNXaXRoUHJldmlvdXNTaWJsaW5nKCpsYXlvdXRCb3gubmV4dEluRmxvd1Np
YmxpbmcoKSk7CiB9CiAKLWJvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1h
cmdpbkNvbGxhcHNlOjptYXJnaW5zQ29sbGFwc2VUaHJvdWdoKGNvbnN0IExheW91dFN0YXRlJiBs
YXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCitib29sIEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5zQ29sbGFwc2VUaHJvdWdoKGNvbnN0IExheW91
dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgQVNTRVJU
KGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CiAKQEAgLTQwMCw3ICs0MDAsNyBAQCBib29s
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2lu
c0NvbGxhcHNlVGhyb3VnaChjbwogICAgIHJldHVybiB0cnVlOwogfQogCi1MYXlvdXRVbml0IEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQmVm
b3JlKGNvbnN0IExheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgQm94JiBsYXlvdXRCb3gp
CitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjptYXJn
aW5CZWZvcmUoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxheW91
dEJveCkKIHsKICAgICBpZiAobGF5b3V0Qm94LmlzQW5vbnltb3VzKCkpCiAgICAgICAgIHJldHVy
biAwOwpAQCAtNDM1LDcgKzQzNSw3IEBAIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5CZWZvcmUoY29uc3QKICAgICByZXR1
cm4gbWFyZ2luVmFsdWUobWFyZ2luQmVmb3JlLCBwcmV2aW91c1NpYmxpbmdNYXJnaW5BZnRlcik7
CiB9CiAKLUxheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdp
bkNvbGxhcHNlOjptYXJnaW5BZnRlcihjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNv
bnN0IEJveCYgbGF5b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpN
YXJnaW5Db2xsYXBzZTo6bWFyZ2luQWZ0ZXIoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRl
LCBjb25zdCBCb3gmIGxheW91dEJveCkKIHsKICAgICBpZiAobGF5b3V0Qm94LmlzQW5vbnltb3Vz
KCkpCiAgICAgICAgIHJldHVybiAwOwo=
</data>
<flag name="review"
          id="375298"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>