<?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>189296</bug_id>
          
          <creation_ts>2018-09-04 21:25:08 -0700</creation_ts>
          <short_desc>[LFC][BFC] Move MarginCollapse class under BlockFormattingContext::Geometry</short_desc>
          <delta_ts>2018-09-05 07:43:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>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>1456615</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-09-04 21:25:08 -0700</bug_when>
    <thetext>Margin collapsing is part of geometry after all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456616</commentid>
    <comment_count>1</comment_count>
      <attachid>348890</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-09-04 21:26:45 -0700</bug_when>
    <thetext>Created attachment 348890
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456617</commentid>
    <comment_count>2</comment_count>
      <attachid>348891</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-09-04 21:28:28 -0700</bug_when>
    <thetext>Created attachment 348891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456696</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-09-05 07:43:00 -0700</bug_when>
    <thetext>Committed r235668: &lt;https://trac.webkit.org/changeset/235668&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1456697</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-05 07:43:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/44138532&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348890</attachid>
            <date>2018-09-04 21:26:45 -0700</date>
            <delta_ts>2018-09-04 21:28:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.txt</filename>
            <type>text/plain</type>
            <size>14967</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlY2IzYmIwZDAxYi4uMTEwM2QwYTQ2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxOC0wOS0wNCAgWmFsYW4gQnVqdGFzIDx6YWxhbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0xGQ11bQkZDXSBNb3ZlIE1hcmdpbkNvbGxhcHNlIGNsYXNzIHVuZGVyIEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNYXJnaW4gY29sbGFwc2luZyBpcyBwYXJ0IG9mIGdlb21ldHJ5
IGFmdGVyIGFsbC4KKworICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6OmNvbXB1dGVFc3RpbWF0ZWRNYXJnaW5Ub3AgY29uc3QpOgorICAgICAgICAq
IGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAg
ICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
R2VvbWV0cnk6OmVzdGltYXRlZE1hcmdpblRvcCk6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb2xs
YXBzZWRNYXJnaW5Ub3BGcm9tRmlyc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29s
bGFwc2VkTWFyZ2luVG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb21wdXRlZE5vbkNvbGxhcHNl
ZE1hcmdpblRvcCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJn
aW5Cb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpblRvcCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xs
YXBzZTo6bWFyZ2luQm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpbkJvdHRvbUNv
bGxhcHNlZFdpdGhQYXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmlzTWFyZ2luVG9wQ29sbGFw
c2VkV2l0aFBhcmVudE1hcmdpbkJvdHRvbSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2Vk
TWFyZ2luQm90dG9tRnJvbUxhc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFw
c2VkTWFyZ2luQm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJzdENo
aWxkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpblRvcCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdp
bkNvbGxhcHNlOjpjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpblRvcCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxh
cHNlOjpjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNl
OjptYXJnaW5Ub3ApOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQm90dG9tKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2lu
Q29sbGFwc2U6OmlzTWFyZ2luQm90dG9tQ29sbGFwc2VkV2l0aFBhcmVudCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNv
bGxhcHNlOjppc01hcmdpblRvcENvbGxhcHNlZFdpdGhQYXJlbnRNYXJnaW5Cb3R0b20pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpN
YXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luQm90dG9tRnJvbUxhc3RDaGlsZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1h
cmdpbkNvbGxhcHNlOjpub25Db2xsYXBzZWRNYXJnaW5Cb3R0b20pOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBz
ZTo6ZXN0aW1hdGVkTWFyZ2luVG9wKTogRGVsZXRlZC4KKwogMjAxOC0wOS0wNCAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIE1ha2UgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnkgYSBzdWJjbGFzcyBvZiBGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tm
b3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDE3MjE0NWIxNDlmLi5i
OTY0MGU4Y2I1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNjUsNyAr
MTY1LDcgQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljUG9zaXRp
b24oTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwKIAogdm9pZCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0Ojpjb21wdXRlRXN0aW1hdGVkTWFyZ2luVG9wKExheW91dENvbnRleHQmIGxheW91dENv
bnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNv
bnN0CiB7Ci0gICAgYXV0byBlc3RpbWF0ZWRNYXJnaW5Ub3AgPSBNYXJnaW5Db2xsYXBzZTo6ZXN0
aW1hdGVkTWFyZ2luVG9wKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CisgICAgYXV0byBlc3Rp
bWF0ZWRNYXJnaW5Ub3AgPSBHZW9tZXRyeTo6ZXN0aW1hdGVkTWFyZ2luVG9wKGxheW91dENvbnRl
eHQsIGxheW91dEJveCk7CiAgICAgZGlzcGxheUJveC5zZXRFc3RpbWF0ZWRNYXJnaW5Ub3AoZXN0
aW1hdGVkTWFyZ2luVG9wKTsKICAgICBkaXNwbGF5Qm94Lm1vdmVWZXJ0aWNhbGx5KGVzdGltYXRl
ZE1hcmdpblRvcCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tm
b3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDJmNDIwNjA5
ODFmLi43MDVmZjBlYjJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTc4LDMy
ICs3OCwzMyBAQCBwcml2YXRlOgogICAgICAgICBzdGF0aWMgYm9vbCBpbnN0cmluc2ljV2lkdGhD
b25zdHJhaW50c05lZWRDaGlsZHJlbldpZHRoKGNvbnN0IEJveCYpOwogICAgICAgICBzdGF0aWMg
SW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMgaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoTGF5
b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOwogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgc3RhdGlj
IEhlaWdodEFuZE1hcmdpbiBpbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmdpbihMYXlvdXRD
b250ZXh0JiwgY29uc3QgQm94Jik7Ci0gICAgICAgIHN0YXRpYyBXaWR0aEFuZE1hcmdpbiBpbkZs
b3dOb25SZXBsYWNlZFdpZHRoQW5kTWFyZ2luKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBz
dGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkV2lkdGggPSBzdGQ6Om51bGxvcHQp
OwotICAgICAgICBzdGF0aWMgV2lkdGhBbmRNYXJnaW4gaW5GbG93UmVwbGFjZWRXaWR0aEFuZE1h
cmdpbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7Ci0gICAgICAgIHN0YXRpYyBQb3NpdGlv
biBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQoY29uc3QgTGF5b3V0Q29udGV4
dCYsIGNvbnN0IEJveCYpOwotICAgIH07Ci0gICAgCi0gICAgLy8gVGhpcyBjbGFzcyBpbXBsZW1l
bnRzIG1hcmdpbiBjb2xsYXBzaW5nIGZvciBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQuCi0gICAg
Y2xhc3MgTWFyZ2luQ29sbGFwc2UgewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIExheW91
dFVuaXQgbWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKICAgICAg
ICAgc3RhdGljIExheW91dFVuaXQgZXN0aW1hdGVkTWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRl
eHQmLCBjb25zdCBCb3gmKTsKLSAgICAgICAgc3RhdGljIExheW91dFVuaXQgbWFyZ2luQm90dG9t
KGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKIAotICAgICAgICBzdGF0aWMgYm9v
bCBpc01hcmdpbkJvdHRvbUNvbGxhcHNlZFdpdGhQYXJlbnQoY29uc3QgTGF5b3V0Q29udGV4dCYs
IGNvbnN0IEJveCYpOwotICAgICAgICBzdGF0aWMgYm9vbCBpc01hcmdpblRvcENvbGxhcHNlZFdp
dGhQYXJlbnRNYXJnaW5Cb3R0b20oY29uc3QgQm94Jik7Ci0gICAgCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgc3RhdGljIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQm90dG9tRnJvbUxhc3RDaGls
ZChjb25zdCBMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7Ci0gICAgICAgIHN0YXRpYyBMYXlv
dXRVbml0IG5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbShjb25zdCBMYXlvdXRDb250ZXh0JiwgY29u
c3QgQm94Jik7CisgICAgICAgIC8vIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBtYXJnaW4gY29sbGFw
c2luZyBmb3IgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0LgorICAgICAgICBjbGFzcyBNYXJnaW5D
b2xsYXBzZSB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0
IG1hcmdpblRvcChjb25zdCBMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7CisgICAgICAgICAg
ICBzdGF0aWMgTGF5b3V0VW5pdCBtYXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0Q29udGV4dCYsIGNv
bnN0IEJveCYpOworCisgICAgICAgICAgICBzdGF0aWMgYm9vbCBpc01hcmdpbkJvdHRvbUNvbGxh
cHNlZFdpdGhQYXJlbnQoY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOworICAgICAg
ICAgICAgc3RhdGljIGJvb2wgaXNNYXJnaW5Ub3BDb2xsYXBzZWRXaXRoUGFyZW50TWFyZ2luQm90
dG9tKGNvbnN0IEJveCYpOworICAgIAorICAgICAgICBwcml2YXRlOgorICAgICAgICAgICAgc3Rh
dGljIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQm90dG9tRnJvbUxhc3RDaGlsZChjb25zdCBM
YXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7CisgICAgICAgICAgICBzdGF0aWMgTGF5b3V0VW5p
dCBub25Db2xsYXBzZWRNYXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJv
eCYpOwogCi0gICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IGNvbXB1dGVkTm9uQ29sbGFwc2VkTWFy
Z2luVG9wKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKLSAgICAgICAgc3RhdGlj
IExheW91dFVuaXQgY29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0
Q29udGV4dCYsIGNvbnN0IEJveCYpOworICAgICAgICAgICAgc3RhdGljIExheW91dFVuaXQgY29t
cHV0ZWROb25Db2xsYXBzZWRNYXJnaW5Ub3AoY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJv
eCYpOworICAgICAgICAgICAgc3RhdGljIExheW91dFVuaXQgY29tcHV0ZWROb25Db2xsYXBzZWRN
YXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOwogCi0gICAgICAg
IHN0YXRpYyBMYXlvdXRVbml0IGNvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJzdENoaWxkKGNvbnN0
IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKLSAgICAgICAgc3RhdGljIExheW91dFVuaXQg
bm9uQ29sbGFwc2VkTWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsK
KyAgICAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IGNvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJz
dENoaWxkKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgICAgIHN0
YXRpYyBMYXlvdXRVbml0IG5vbkNvbGxhcHNlZE1hcmdpblRvcChjb25zdCBMYXlvdXRDb250ZXh0
JiwgY29uc3QgQm94Jik7CisgICAgICAgIH07CisKKyAgICAgICAgc3RhdGljIEhlaWdodEFuZE1h
cmdpbiBpbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmdpbihMYXlvdXRDb250ZXh0JiwgY29u
c3QgQm94Jik7CisgICAgICAgIHN0YXRpYyBXaWR0aEFuZE1hcmdpbiBpbkZsb3dOb25SZXBsYWNl
ZFdpZHRoQW5kTWFyZ2luKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBzdGQ6Om9wdGlvbmFs
PExheW91dFVuaXQ+IHByZWNvbXB1dGVkV2lkdGggPSBzdGQ6Om51bGxvcHQpOworICAgICAgICBz
dGF0aWMgV2lkdGhBbmRNYXJnaW4gaW5GbG93UmVwbGFjZWRXaWR0aEFuZE1hcmdpbihMYXlvdXRD
b250ZXh0JiwgY29uc3QgQm94Jik7CisgICAgICAgIHN0YXRpYyBQb3NpdGlvbiBzdGF0aWNQb3Np
dGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQoY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJv
eCYpOwogICAgIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRHZW9t
ZXRyeS5jcHAKaW5kZXggNDMzNzM0MjQxZjguLmNmMzY3OGY0NmY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHRH
ZW9tZXRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9C
bG9ja0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCkBAIC00NTQsNiArNDU0LDE5IEBAIEZv
cm1hdHRpbmdDb250ZXh0OjpJbnN0cmluc2ljV2lkdGhDb25zdHJhaW50cyBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6CiAgICAgcmV0dXJuIHsgbWluaW11bUludHJpbnNpY1dpZHRo
LCBtYXhpbXVtSW50cmluc2ljV2lkdGggfTsKIH0KIAorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpHZW9tZXRyeTo6ZXN0aW1hdGVkTWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRl
eHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQoreworICAgIEFTU0VSVChs
YXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOworICAgIC8vIENhbid0IGVzdGltYXRlIHZlcnRp
Y2FsIG1hcmdpbnMgZm9yIG91dCBvZiBmbG93IGJveGVzIChhbmQgd2Ugc2hvdWxkbid0IG5lZWQg
dG8gZG8gaXQgZm9yIGZsb2F0IGJveGVzKS4KKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzSW5GbG93
KCkpOworICAgIC8vIENhbid0IGNyb3NzIGJsb2NrIGZvcm1hdHRpbmcgY29udGV4dCBib3VuZGFy
eS4KKyAgICBBU1NFUlQoIWxheW91dEJveC5lc3RhYmxpc2hlc0Jsb2NrRm9ybWF0dGluZ0NvbnRl
eHQoKSk7CisKKyAgICAvLyBMZXQncyBqdXN0IHVzZSB0aGUgbm9ybWFsIHBhdGggZm9yIG5vdy4K
KyAgICByZXR1cm4gTWFyZ2luQ29sbGFwc2U6Om1hcmdpblRvcChsYXlvdXRDb250ZXh0LCBsYXlv
dXRCb3gpOworfQorCisKIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAKaW5kZXggZDJk
ZDZjYTdmOWQuLjVmYWE3MTExNWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
YmxvY2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAKQEAgLTE0
NCw3ICsxNDQsNyBAQCBzdGF0aWMgYm9vbCBpc01hcmdpbkJvdHRvbUNvbGxhcHNlZFRocm91Z2go
Y29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgYwogICAgIHJldHVybiB0cnVlOwog
fQogCi1MYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpj
b2xsYXBzZWRNYXJnaW5Ub3BGcm9tRmlyc3RDaGlsZChjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlv
dXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKK0xheW91dFVuaXQgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRNYXJnaW5Ub3BG
cm9tRmlyc3RDaGlsZChjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBC
b3gmIGxheW91dEJveCkKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgp
KTsKIApAQCAtMTY0LDcgKzE2NCw3IEBAIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJzdENoCiAgICAgcmV0
dXJuIG1hcmdpblZhbHVlKGNvbXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2luVG9wKGxheW91dENvbnRl
eHQsIGZpcnN0SW5GbG93Q2hpbGQpLCBjb2xsYXBzZWRNYXJnaW5Ub3BGcm9tRmlyc3RDaGlsZChs
YXlvdXRDb250ZXh0LCBmaXJzdEluRmxvd0NoaWxkKSk7CiB9CiAKLUxheW91dFVuaXQgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpblRvcChj
b25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkK
K0xheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxh
cHNlOjpub25Db2xsYXBzZWRNYXJnaW5Ub3AoY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29u
dGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Js
b2NrTGV2ZWxCb3goKSk7CiAKQEAgLTE4NiwyMSArMTg2LDIxIEBAIExheW91dFVuaXQgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpblRvcChj
b25zdCBMCiAgICAgLy8gQSBjb2xsYXBzZWQgbWFyZ2luIGlzIGNvbnNpZGVyZWQgYWRqb2luaW5n
IHRvIGFub3RoZXIgbWFyZ2luIGlmIGFueSBvZiBpdHMgY29tcG9uZW50IG1hcmdpbnMgaXMgYWRq
b2luaW5nIHRvIHRoYXQgbWFyZ2luLgogICAgIHJldHVybiBmYWxzZTsKIH0qLwotTGF5b3V0VW5p
dCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6Y29tcHV0ZWROb25Db2xs
YXBzZWRNYXJnaW5Ub3AoY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3Qg
Qm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21l
dHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5Ub3AoY29uc3Qg
TGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAg
ICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CiAKLSAgICByZXR1cm4gRm9y
bWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpjb21wdXRlZE5vbkNvbGxhcHNlZFZlcnRpY2FsTWFy
Z2luVmFsdWUobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KS50b3A7CisgICAgcmV0dXJuIGNvbXB1
dGVkTm9uQ29sbGFwc2VkVmVydGljYWxNYXJnaW5WYWx1ZShsYXlvdXRDb250ZXh0LCBsYXlvdXRC
b3gpLnRvcDsKIH0KIAotTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5D
b2xsYXBzZTo6Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0Q29u
dGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29tcHV0ZWRO
b25Db2xsYXBzZWRNYXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4
dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2Nr
TGV2ZWxCb3goKSk7CiAKLSAgICByZXR1cm4gRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5Ojpj
b21wdXRlZE5vbkNvbGxhcHNlZFZlcnRpY2FsTWFyZ2luVmFsdWUobGF5b3V0Q29udGV4dCwgbGF5
b3V0Qm94KS5ib3R0b207CisgICAgcmV0dXJuIGNvbXB1dGVkTm9uQ29sbGFwc2VkVmVydGljYWxN
YXJnaW5WYWx1ZShsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpLmJvdHRvbTsKIH0KIAotTGF5b3V0
VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luVG9wKGNv
bnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQor
TGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFw
c2U6Om1hcmdpblRvcChjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBC
b3gmIGxheW91dEJveCkKIHsKICAgICBpZiAobGF5b3V0Qm94LmlzQW5vbnltb3VzKCkpCiAgICAg
ICAgIHJldHVybiAwOwpAQCAtMjMxLDcgKzIzMSw3IEBAIExheW91dFVuaXQgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpblRvcChjb25zdCBMYXlvdXRDb250ZXh0
CiAgICAgcmV0dXJuIG1hcmdpblZhbHVlKG1hcmdpblRvcCwgcHJldmlvdXNTaWJsaW5nTWFyZ2lu
Qm90dG9tKTsKIH0KIAotTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5D
b2xsYXBzZTo6bWFyZ2luQm90dG9tKGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQs
IGNvbnN0IEJveCYgbGF5b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0
OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpbkJvdHRvbShjb25zdCBMYXlvdXRDb250
ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKIHsKICAgICBpZiAobGF5
b3V0Qm94LmlzQW5vbnltb3VzKCkpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMjU2LDcgKzI1Niw3
IEBAIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om1h
cmdpbkJvdHRvbShjb25zdCBMYXlvdXRDb250CiAgICAgcmV0dXJuIG5vbkNvbGxhcHNlZE1hcmdp
bkJvdHRvbShsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpOwogfQogCi1ib29sIEJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpbkJvdHRvbUNvbGxhcHNlZFdpdGhQ
YXJlbnQoY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlv
dXRCb3gpCitib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xs
YXBzZTo6aXNNYXJnaW5Cb3R0b21Db2xsYXBzZWRXaXRoUGFyZW50KGNvbnN0IExheW91dENvbnRl
eHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewogICAgIC8vIGxhc3Qg
aW5mbG93IGJveCB0byBwYXJlbnQuCiAgICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL0NTUzIx
L2JveC5odG1sI2NvbGxhcHNpbmctbWFyZ2lucwpAQCAtMjk4LDEyICsyOTgsMTIgQEAgYm9vbCBC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5Cb3R0b21Db2xs
YXBzZWRXaXRoUGFyZW50KGMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5Ub3BDb2xsYXBzZWRXaXRoUGFy
ZW50TWFyZ2luQm90dG9tKGNvbnN0IEJveCYpCitib29sIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6aXNNYXJnaW5Ub3BDb2xsYXBzZWRXaXRoUGFyZW50
TWFyZ2luQm90dG9tKGNvbnN0IEJveCYpCiB7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1MYXlv
dXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRN
YXJnaW5Cb3R0b21Gcm9tTGFzdENoaWxkKGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRl
eHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpbkJvdHRvbUZyb21M
YXN0Q2hpbGQoY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBs
YXlvdXRCb3gpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CiAK
QEAgLTMyNCw3ICszMjQsNyBAQCBMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1h
cmdpbkNvbGxhcHNlOjpjb2xsYXBzZWRNYXJnaW5Cb3R0b21Gcm9tTGFzdAogICAgIHJldHVybiBt
YXJnaW5WYWx1ZShjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbShsYXlvdXRDb250ZXh0
LCBsYXN0SW5GbG93Q2hpbGQpLCBjb2xsYXBzZWRNYXJnaW5Cb3R0b21Gcm9tTGFzdENoaWxkKGxh
eW91dENvbnRleHQsIGxhc3RJbkZsb3dDaGlsZCkpOwogfQogCi1MYXlvdXRVbml0IEJsb2NrRm9y
bWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpub25Db2xsYXBzZWRNYXJnaW5Cb3R0b20o
Y29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gp
CitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xs
YXBzZTo6bm9uQ29sbGFwc2VkTWFyZ2luQm90dG9tKGNvbnN0IExheW91dENvbnRleHQmIGxheW91
dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewogICAgIEFTU0VSVChsYXlvdXRCb3gu
aXNCbG9ja0xldmVsQm94KCkpOwogCkBAIC0zMzIsMTggKzMzMiw2IEBAIExheW91dFVuaXQgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpbkJv
dHRvbShjb25zCiAgICAgcmV0dXJuIG1hcmdpblZhbHVlKGNvbXB1dGVkTm9uQ29sbGFwc2VkTWFy
Z2luQm90dG9tKGxheW91dENvbnRleHQsIGxheW91dEJveCksIGNvbGxhcHNlZE1hcmdpbkJvdHRv
bUZyb21MYXN0Q2hpbGQobGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KSk7CiB9CiAKLUxheW91dFVu
aXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmVzdGltYXRlZE1hcmdp
blRvcChjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91
dEJveCkKLXsKLSAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgpKTsKLSAgICAv
LyBDYW4ndCBlc3RpbWF0ZSB2ZXJ0aWNhbCBtYXJnaW5zIGZvciBvdXQgb2YgZmxvdyBib3hlcyAo
YW5kIHdlIHNob3VsZG4ndCBuZWVkIHRvIGRvIGl0IGZvciBmbG9hdCBib3hlcykuCi0gICAgQVNT
RVJUKGxheW91dEJveC5pc0luRmxvdygpKTsKLSAgICAvLyBDYW4ndCBjcm9zcyBibG9jayBmb3Jt
YXR0aW5nIGNvbnRleHQgYm91bmRhcnkuCi0gICAgQVNTRVJUKCFsYXlvdXRCb3guZXN0YWJsaXNo
ZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCkpOwotCi0gICAgLy8gTGV0J3MganVzdCB1c2UgdGhl
IG5vcm1hbCBwYXRoIGZvciBub3cuCi0gICAgcmV0dXJuIG1hcmdpblRvcChsYXlvdXRDb250ZXh0
LCBsYXlvdXRCb3gpOwotfQotCiB9CiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348891</attachid>
            <date>2018-09-04 21:28:28 -0700</date>
            <delta_ts>2018-09-05 07:33:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.txt</filename>
            <type>text/plain</type>
            <size>14963</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlY2IzYmIwZDAxYi4uMTEwM2QwYTQ2NGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MCBAQAorMjAxOC0wOS0wNCAgWmFsYW4gQnVqdGFzIDx6YWxhbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0xGQ11bQkZDXSBNb3ZlIE1hcmdpbkNvbGxhcHNlIGNsYXNzIHVuZGVyIEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODkyOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBNYXJnaW4gY29sbGFwc2luZyBpcyBwYXJ0IG9mIGdlb21ldHJ5
IGFmdGVyIGFsbC4KKworICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3Jt
YXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0
dGluZ0NvbnRleHQ6OmNvbXB1dGVFc3RpbWF0ZWRNYXJnaW5Ub3AgY29uc3QpOgorICAgICAgICAq
IGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oOgorICAgICAg
ICAqIGxheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6
R2VvbWV0cnk6OmVzdGltYXRlZE1hcmdpblRvcCk6CisgICAgICAgICogbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91
dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb2xs
YXBzZWRNYXJnaW5Ub3BGcm9tRmlyc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29s
bGFwc2VkTWFyZ2luVG9wKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb21wdXRlZE5vbkNvbGxhcHNl
ZE1hcmdpblRvcCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29tcHV0ZWROb25Db2xsYXBzZWRNYXJn
aW5Cb3R0b20pOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6Om1hcmdpblRvcCk6CisgICAgICAgIChXZWJD
b3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xs
YXBzZTo6bWFyZ2luQm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3Jt
YXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpbkJvdHRvbUNv
bGxhcHNlZFdpdGhQYXJlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmlzTWFyZ2luVG9wQ29sbGFw
c2VkV2l0aFBhcmVudE1hcmdpbkJvdHRvbSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2Vk
TWFyZ2luQm90dG9tRnJvbUxhc3RDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFw
c2VkTWFyZ2luQm90dG9tKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJzdENo
aWxkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpblRvcCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdp
bkNvbGxhcHNlOjpjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpblRvcCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxh
cHNlOjpjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNl
OjptYXJnaW5Ub3ApOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQm90dG9tKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2lu
Q29sbGFwc2U6OmlzTWFyZ2luQm90dG9tQ29sbGFwc2VkV2l0aFBhcmVudCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNv
bGxhcHNlOjppc01hcmdpblRvcENvbGxhcHNlZFdpdGhQYXJlbnRNYXJnaW5Cb3R0b20pOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpN
YXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luQm90dG9tRnJvbUxhc3RDaGlsZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1h
cmdpbkNvbGxhcHNlOjpub25Db2xsYXBzZWRNYXJnaW5Cb3R0b20pOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBz
ZTo6ZXN0aW1hdGVkTWFyZ2luVG9wKTogRGVsZXRlZC4KKwogMjAxOC0wOS0wNCAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIE1ha2UgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnkgYSBzdWJjbGFzcyBvZiBGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tm
b3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDE3MjE0NWIxNDlmLi5i
OTY0MGU4Y2I1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0
dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xNjUsNyAr
MTY1LDcgQEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlU3RhdGljUG9zaXRp
b24oTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwKIAogdm9pZCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0Ojpjb21wdXRlRXN0aW1hdGVkTWFyZ2luVG9wKExheW91dENvbnRleHQmIGxheW91dENv
bnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94LCBEaXNwbGF5OjpCb3gmIGRpc3BsYXlCb3gpIGNv
bnN0CiB7Ci0gICAgYXV0byBlc3RpbWF0ZWRNYXJnaW5Ub3AgPSBNYXJnaW5Db2xsYXBzZTo6ZXN0
aW1hdGVkTWFyZ2luVG9wKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CisgICAgYXV0byBlc3Rp
bWF0ZWRNYXJnaW5Ub3AgPSBHZW9tZXRyeTo6ZXN0aW1hdGVkTWFyZ2luVG9wKGxheW91dENvbnRl
eHQsIGxheW91dEJveCk7CiAgICAgZGlzcGxheUJveC5zZXRFc3RpbWF0ZWRNYXJnaW5Ub3AoZXN0
aW1hdGVkTWFyZ2luVG9wKTsKICAgICBkaXNwbGF5Qm94Lm1vdmVWZXJ0aWNhbGx5KGVzdGltYXRl
ZE1hcmdpblRvcCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tm
b3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oCmluZGV4IDJmNDIwNjA5
ODFmLi5hMWFlN2UyOTM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2Nr
Zm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKQEAgLTc4LDMy
ICs3OCwzMyBAQCBwcml2YXRlOgogICAgICAgICBzdGF0aWMgYm9vbCBpbnN0cmluc2ljV2lkdGhD
b25zdHJhaW50c05lZWRDaGlsZHJlbldpZHRoKGNvbnN0IEJveCYpOwogICAgICAgICBzdGF0aWMg
SW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMgaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoTGF5
b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOwogCi0gICAgcHJpdmF0ZToKLSAgICAgICAgc3RhdGlj
IEhlaWdodEFuZE1hcmdpbiBpbkZsb3dOb25SZXBsYWNlZEhlaWdodEFuZE1hcmdpbihMYXlvdXRD
b250ZXh0JiwgY29uc3QgQm94Jik7Ci0gICAgICAgIHN0YXRpYyBXaWR0aEFuZE1hcmdpbiBpbkZs
b3dOb25SZXBsYWNlZFdpZHRoQW5kTWFyZ2luKExheW91dENvbnRleHQmLCBjb25zdCBCb3gmLCBz
dGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNvbXB1dGVkV2lkdGggPSBzdGQ6Om51bGxvcHQp
OwotICAgICAgICBzdGF0aWMgV2lkdGhBbmRNYXJnaW4gaW5GbG93UmVwbGFjZWRXaWR0aEFuZE1h
cmdpbihMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7Ci0gICAgICAgIHN0YXRpYyBQb3NpdGlv
biBzdGF0aWNQb3NpdGlvbkZvck91dE9mRmxvd1Bvc2l0aW9uZWQoY29uc3QgTGF5b3V0Q29udGV4
dCYsIGNvbnN0IEJveCYpOwotICAgIH07Ci0gICAgCi0gICAgLy8gVGhpcyBjbGFzcyBpbXBsZW1l
bnRzIG1hcmdpbiBjb2xsYXBzaW5nIGZvciBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQuCi0gICAg
Y2xhc3MgTWFyZ2luQ29sbGFwc2UgewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIExheW91
dFVuaXQgbWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKICAgICAg
ICAgc3RhdGljIExheW91dFVuaXQgZXN0aW1hdGVkTWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRl
eHQmLCBjb25zdCBCb3gmKTsKLSAgICAgICAgc3RhdGljIExheW91dFVuaXQgbWFyZ2luQm90dG9t
KGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKIAotICAgICAgICBzdGF0aWMgYm9v
bCBpc01hcmdpbkJvdHRvbUNvbGxhcHNlZFdpdGhQYXJlbnQoY29uc3QgTGF5b3V0Q29udGV4dCYs
IGNvbnN0IEJveCYpOwotICAgICAgICBzdGF0aWMgYm9vbCBpc01hcmdpblRvcENvbGxhcHNlZFdp
dGhQYXJlbnRNYXJnaW5Cb3R0b20oY29uc3QgQm94Jik7Ci0gICAgCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgc3RhdGljIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luQm90dG9tRnJvbUxhc3RDaGls
ZChjb25zdCBMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7Ci0gICAgICAgIHN0YXRpYyBMYXlv
dXRVbml0IG5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbShjb25zdCBMYXlvdXRDb250ZXh0JiwgY29u
c3QgQm94Jik7CisgICAgICAgIC8vIFRoaXMgY2xhc3MgaW1wbGVtZW50cyBtYXJnaW4gY29sbGFw
c2luZyBmb3IgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0LgorICAgICAgICBjbGFzcyBNYXJnaW5D
b2xsYXBzZSB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0
IG1hcmdpblRvcChjb25zdCBMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7CisgICAgICAgICAg
ICBzdGF0aWMgTGF5b3V0VW5pdCBtYXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0Q29udGV4dCYsIGNv
bnN0IEJveCYpOwogCi0gICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IGNvbXB1dGVkTm9uQ29sbGFw
c2VkTWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKLSAgICAgICAg
c3RhdGljIExheW91dFVuaXQgY29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5Cb3R0b20oY29uc3Qg
TGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOworICAgICAgICAgICAgc3RhdGljIGJvb2wgaXNN
YXJnaW5Cb3R0b21Db2xsYXBzZWRXaXRoUGFyZW50KGNvbnN0IExheW91dENvbnRleHQmLCBjb25z
dCBCb3gmKTsKKyAgICAgICAgICAgIHN0YXRpYyBib29sIGlzTWFyZ2luVG9wQ29sbGFwc2VkV2l0
aFBhcmVudE1hcmdpbkJvdHRvbShjb25zdCBCb3gmKTsKIAotICAgICAgICBzdGF0aWMgTGF5b3V0
VW5pdCBjb2xsYXBzZWRNYXJnaW5Ub3BGcm9tRmlyc3RDaGlsZChjb25zdCBMYXlvdXRDb250ZXh0
JiwgY29uc3QgQm94Jik7Ci0gICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IG5vbkNvbGxhcHNlZE1h
cmdpblRvcChjb25zdCBMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7CisgICAgICAgIHByaXZh
dGU6CisgICAgICAgICAgICBzdGF0aWMgTGF5b3V0VW5pdCBjb2xsYXBzZWRNYXJnaW5Cb3R0b21G
cm9tTGFzdENoaWxkKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKKyAgICAgICAg
ICAgIHN0YXRpYyBMYXlvdXRVbml0IG5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbShjb25zdCBMYXlv
dXRDb250ZXh0JiwgY29uc3QgQm94Jik7CisKKyAgICAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0
IGNvbXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRleHQmLCBjb25z
dCBCb3gmKTsKKyAgICAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IGNvbXB1dGVkTm9uQ29sbGFw
c2VkTWFyZ2luQm90dG9tKGNvbnN0IExheW91dENvbnRleHQmLCBjb25zdCBCb3gmKTsKKworICAg
ICAgICAgICAgc3RhdGljIExheW91dFVuaXQgY29sbGFwc2VkTWFyZ2luVG9wRnJvbUZpcnN0Q2hp
bGQoY29uc3QgTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYpOworICAgICAgICAgICAgc3RhdGlj
IExheW91dFVuaXQgbm9uQ29sbGFwc2VkTWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRleHQmLCBj
b25zdCBCb3gmKTsKKyAgICAgICAgfTsKKworICAgICAgICBzdGF0aWMgSGVpZ2h0QW5kTWFyZ2lu
IGluRmxvd05vblJlcGxhY2VkSGVpZ2h0QW5kTWFyZ2luKExheW91dENvbnRleHQmLCBjb25zdCBC
b3gmKTsKKyAgICAgICAgc3RhdGljIFdpZHRoQW5kTWFyZ2luIGluRmxvd05vblJlcGxhY2VkV2lk
dGhBbmRNYXJnaW4oTGF5b3V0Q29udGV4dCYsIGNvbnN0IEJveCYsIHN0ZDo6b3B0aW9uYWw8TGF5
b3V0VW5pdD4gcHJlY29tcHV0ZWRXaWR0aCA9IHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIHN0YXRp
YyBXaWR0aEFuZE1hcmdpbiBpbkZsb3dSZXBsYWNlZFdpZHRoQW5kTWFyZ2luKExheW91dENvbnRl
eHQmLCBjb25zdCBCb3gmKTsKKyAgICAgICAgc3RhdGljIFBvc2l0aW9uIHN0YXRpY1Bvc2l0aW9u
Rm9yT3V0T2ZGbG93UG9zaXRpb25lZChjb25zdCBMYXlvdXRDb250ZXh0JiwgY29uc3QgQm94Jik7
CiAgICAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zv
cm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5
LmNwcAppbmRleCA0MzM3MzQyNDFmOC4uY2YzNjc4ZjQ2ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21l
dHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTQ1NCw2ICs0NTQsMTkgQEAgRm9ybWF0
dGluZ0NvbnRleHQ6Okluc3RyaW5zaWNXaWR0aENvbnN0cmFpbnRzIEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5OjoKICAgICByZXR1cm4geyBtaW5pbXVtSW50cmluc2ljV2lkdGgsIG1h
eGltdW1JbnRyaW5zaWNXaWR0aCB9OwogfQogCitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0Nv
bnRleHQ6Okdlb21ldHJ5Ojplc3RpbWF0ZWRNYXJnaW5Ub3AoY29uc3QgTGF5b3V0Q29udGV4dCYg
bGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCit7CisgICAgQVNTRVJUKGxheW91
dEJveC5pc0Jsb2NrTGV2ZWxCb3goKSk7CisgICAgLy8gQ2FuJ3QgZXN0aW1hdGUgdmVydGljYWwg
bWFyZ2lucyBmb3Igb3V0IG9mIGZsb3cgYm94ZXMgKGFuZCB3ZSBzaG91bGRuJ3QgbmVlZCB0byBk
byBpdCBmb3IgZmxvYXQgYm94ZXMpLgorICAgIEFTU0VSVChsYXlvdXRCb3guaXNJbkZsb3coKSk7
CisgICAgLy8gQ2FuJ3QgY3Jvc3MgYmxvY2sgZm9ybWF0dGluZyBjb250ZXh0IGJvdW5kYXJ5Lgor
ICAgIEFTU0VSVCghbGF5b3V0Qm94LmVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4dCgp
KTsKKworICAgIC8vIExldCdzIGp1c3QgdXNlIHRoZSBub3JtYWwgcGF0aCBmb3Igbm93LgorICAg
IHJldHVybiBNYXJnaW5Db2xsYXBzZTo6bWFyZ2luVG9wKGxheW91dENvbnRleHQsIGxheW91dEJv
eCk7Cit9CisKKwogfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcAppbmRleCBkMmRkNmNh
N2Y5ZC4uNWZhYTcxMTE1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9j
a2Zvcm1hdHRpbmcvQmxvY2tNYXJnaW5Db2xsYXBzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja01hcmdpbkNvbGxhcHNlLmNwcApAQCAtMTQ0LDcg
KzE0NCw3IEBAIHN0YXRpYyBib29sIGlzTWFyZ2luQm90dG9tQ29sbGFwc2VkVGhyb3VnaChjb25z
dCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LUxheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmNvbGxh
cHNlZE1hcmdpblRvcEZyb21GaXJzdENoaWxkKGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENv
bnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQorTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpblRvcEZyb21G
aXJzdENoaWxkKGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYg
bGF5b3V0Qm94KQogewogICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwog
CkBAIC0xNjQsNyArMTY0LDcgQEAgTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpN
YXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luVG9wRnJvbUZpcnN0Q2gKICAgICByZXR1cm4g
bWFyZ2luVmFsdWUoY29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5Ub3AobGF5b3V0Q29udGV4dCwg
Zmlyc3RJbkZsb3dDaGlsZCksIGNvbGxhcHNlZE1hcmdpblRvcEZyb21GaXJzdENoaWxkKGxheW91
dENvbnRleHQsIGZpcnN0SW5GbG93Q2hpbGQpKTsKIH0KIAotTGF5b3V0VW5pdCBCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFwc2VkTWFyZ2luVG9wKGNvbnN0
IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQorTGF5
b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpHZW9tZXRyeTo6TWFyZ2luQ29sbGFwc2U6
Om5vbkNvbGxhcHNlZE1hcmdpblRvcChjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0
LCBjb25zdCBCb3gmIGxheW91dEJveCkKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tM
ZXZlbEJveCgpKTsKIApAQCAtMTg2LDIxICsxODYsMjEgQEAgTGF5b3V0VW5pdCBCbG9ja0Zvcm1h
dHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFwc2VkTWFyZ2luVG9wKGNvbnN0
IEwKICAgICAvLyBBIGNvbGxhcHNlZCBtYXJnaW4gaXMgY29uc2lkZXJlZCBhZGpvaW5pbmcgdG8g
YW5vdGhlciBtYXJnaW4gaWYgYW55IG9mIGl0cyBjb21wb25lbnQgbWFyZ2lucyBpcyBhZGpvaW5p
bmcgdG8gdGhhdCBtYXJnaW4uCiAgICAgcmV0dXJuIGZhbHNlOwogfSovCi1MYXlvdXRVbml0IEJs
b2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjpjb21wdXRlZE5vbkNvbGxhcHNl
ZE1hcmdpblRvcChjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gm
IGxheW91dEJveCkKK0xheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6
Ok1hcmdpbkNvbGxhcHNlOjpjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpblRvcChjb25zdCBMYXlv
dXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKIHsKICAgICBB
U1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgpKTsKIAotICAgIHJldHVybiBGb3JtYXR0
aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXB1dGVkTm9uQ29sbGFwc2VkVmVydGljYWxNYXJnaW5W
YWx1ZShsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpLnRvcDsKKyAgICByZXR1cm4gY29tcHV0ZWRO
b25Db2xsYXBzZWRWZXJ0aWNhbE1hcmdpblZhbHVlKGxheW91dENvbnRleHQsIGxheW91dEJveCku
dG9wOwogfQogCi1MYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxh
cHNlOjpjb21wdXRlZE5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbShjb25zdCBMYXlvdXRDb250ZXh0
JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKK0xheW91dFVuaXQgQmxvY2tG
b3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjpjb21wdXRlZE5vbkNv
bGxhcHNlZE1hcmdpbkJvdHRvbShjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBj
b25zdCBCb3gmIGxheW91dEJveCkKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZl
bEJveCgpKTsKIAotICAgIHJldHVybiBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmNvbXB1
dGVkTm9uQ29sbGFwc2VkVmVydGljYWxNYXJnaW5WYWx1ZShsYXlvdXRDb250ZXh0LCBsYXlvdXRC
b3gpLmJvdHRvbTsKKyAgICByZXR1cm4gY29tcHV0ZWROb25Db2xsYXBzZWRWZXJ0aWNhbE1hcmdp
blZhbHVlKGxheW91dENvbnRleHQsIGxheW91dEJveCkuYm90dG9tOwogfQogCi1MYXlvdXRVbml0
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjptYXJnaW5Ub3AoY29uc3Qg
TGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCitMYXlv
dXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6
bWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYg
bGF5b3V0Qm94KQogewogICAgIGlmIChsYXlvdXRCb3guaXNBbm9ueW1vdXMoKSkKICAgICAgICAg
cmV0dXJuIDA7CkBAIC0yMzEsNyArMjMxLDcgQEAgTGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdD
b250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luVG9wKGNvbnN0IExheW91dENvbnRleHQKICAg
ICByZXR1cm4gbWFyZ2luVmFsdWUobWFyZ2luVG9wLCBwcmV2aW91c1NpYmxpbmdNYXJnaW5Cb3R0
b20pOwogfQogCi1MYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxh
cHNlOjptYXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwgY29u
c3QgQm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdl
b21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2luQm90dG9tKGNvbnN0IExheW91dENvbnRleHQm
IGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94KQogewogICAgIGlmIChsYXlvdXRC
b3guaXNBbm9ueW1vdXMoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0yNTYsNyArMjU2LDcgQEAg
TGF5b3V0VW5pdCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bWFyZ2lu
Qm90dG9tKGNvbnN0IExheW91dENvbnQKICAgICByZXR1cm4gbm9uQ29sbGFwc2VkTWFyZ2luQm90
dG9tKGxheW91dENvbnRleHQsIGxheW91dEJveCk7CiB9CiAKLWJvb2wgQmxvY2tGb3JtYXR0aW5n
Q29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmlzTWFyZ2luQm90dG9tQ29sbGFwc2VkV2l0aFBhcmVu
dChjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJv
eCkKK2Jvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNl
Ojppc01hcmdpbkJvdHRvbUNvbGxhcHNlZFdpdGhQYXJlbnQoY29uc3QgTGF5b3V0Q29udGV4dCYg
bGF5b3V0Q29udGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgLy8gbGFzdCBpbmZs
b3cgYm94IHRvIHBhcmVudC4KICAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvQ1NTMjEvYm94
Lmh0bWwjY29sbGFwc2luZy1tYXJnaW5zCkBAIC0yOTgsMTIgKzI5OCwxMiBAQCBib29sIEJsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpbkJvdHRvbUNvbGxhcHNl
ZFdpdGhQYXJlbnQoYwogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEJsb2NrRm9ybWF0dGlu
Z0NvbnRleHQ6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpblRvcENvbGxhcHNlZFdpdGhQYXJlbnRN
YXJnaW5Cb3R0b20oY29uc3QgQm94JikKK2Jvb2wgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2Vv
bWV0cnk6Ok1hcmdpbkNvbGxhcHNlOjppc01hcmdpblRvcENvbGxhcHNlZFdpdGhQYXJlbnRNYXJn
aW5Cb3R0b20oY29uc3QgQm94JikKIHsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLUxheW91dFVu
aXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6OmNvbGxhcHNlZE1hcmdp
bkJvdHRvbUZyb21MYXN0Q2hpbGQoY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29udGV4dCwg
Y29uc3QgQm94JiBsYXlvdXRCb3gpCitMYXlvdXRVbml0IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6
Okdlb21ldHJ5OjpNYXJnaW5Db2xsYXBzZTo6Y29sbGFwc2VkTWFyZ2luQm90dG9tRnJvbUxhc3RD
aGlsZChjb25zdCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91
dEJveCkKIHsKICAgICBBU1NFUlQobGF5b3V0Qm94LmlzQmxvY2tMZXZlbEJveCgpKTsKIApAQCAt
MzI0LDcgKzMyNCw3IEBAIExheW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6TWFyZ2lu
Q29sbGFwc2U6OmNvbGxhcHNlZE1hcmdpbkJvdHRvbUZyb21MYXN0CiAgICAgcmV0dXJuIG1hcmdp
blZhbHVlKGNvbXB1dGVkTm9uQ29sbGFwc2VkTWFyZ2luQm90dG9tKGxheW91dENvbnRleHQsIGxh
c3RJbkZsb3dDaGlsZCksIGNvbGxhcHNlZE1hcmdpbkJvdHRvbUZyb21MYXN0Q2hpbGQobGF5b3V0
Q29udGV4dCwgbGFzdEluRmxvd0NoaWxkKSk7CiB9CiAKLUxheW91dFVuaXQgQmxvY2tGb3JtYXR0
aW5nQ29udGV4dDo6TWFyZ2luQ29sbGFwc2U6Om5vbkNvbGxhcHNlZE1hcmdpbkJvdHRvbShjb25z
dCBMYXlvdXRDb250ZXh0JiBsYXlvdXRDb250ZXh0LCBjb25zdCBCb3gmIGxheW91dEJveCkKK0xh
eW91dFVuaXQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6Ok1hcmdpbkNvbGxhcHNl
Ojpub25Db2xsYXBzZWRNYXJnaW5Cb3R0b20oY29uc3QgTGF5b3V0Q29udGV4dCYgbGF5b3V0Q29u
dGV4dCwgY29uc3QgQm94JiBsYXlvdXRCb3gpCiB7CiAgICAgQVNTRVJUKGxheW91dEJveC5pc0Js
b2NrTGV2ZWxCb3goKSk7CiAKQEAgLTMzMiwxOCArMzMyLDYgQEAgTGF5b3V0VW5pdCBCbG9ja0Zv
cm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6bm9uQ29sbGFwc2VkTWFyZ2luQm90dG9t
KGNvbnMKICAgICByZXR1cm4gbWFyZ2luVmFsdWUoY29tcHV0ZWROb25Db2xsYXBzZWRNYXJnaW5C
b3R0b20obGF5b3V0Q29udGV4dCwgbGF5b3V0Qm94KSwgY29sbGFwc2VkTWFyZ2luQm90dG9tRnJv
bUxhc3RDaGlsZChsYXlvdXRDb250ZXh0LCBsYXlvdXRCb3gpKTsKIH0KIAotTGF5b3V0VW5pdCBC
bG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpNYXJnaW5Db2xsYXBzZTo6ZXN0aW1hdGVkTWFyZ2luVG9w
KGNvbnN0IExheW91dENvbnRleHQmIGxheW91dENvbnRleHQsIGNvbnN0IEJveCYgbGF5b3V0Qm94
KQotewotICAgIEFTU0VSVChsYXlvdXRCb3guaXNCbG9ja0xldmVsQm94KCkpOwotICAgIC8vIENh
bid0IGVzdGltYXRlIHZlcnRpY2FsIG1hcmdpbnMgZm9yIG91dCBvZiBmbG93IGJveGVzIChhbmQg
d2Ugc2hvdWxkbid0IG5lZWQgdG8gZG8gaXQgZm9yIGZsb2F0IGJveGVzKS4KLSAgICBBU1NFUlQo
bGF5b3V0Qm94LmlzSW5GbG93KCkpOwotICAgIC8vIENhbid0IGNyb3NzIGJsb2NrIGZvcm1hdHRp
bmcgY29udGV4dCBib3VuZGFyeS4KLSAgICBBU1NFUlQoIWxheW91dEJveC5lc3RhYmxpc2hlc0Js
b2NrRm9ybWF0dGluZ0NvbnRleHQoKSk7Ci0KLSAgICAvLyBMZXQncyBqdXN0IHVzZSB0aGUgbm9y
bWFsIHBhdGggZm9yIG5vdy4KLSAgICByZXR1cm4gbWFyZ2luVG9wKGxheW91dENvbnRleHQsIGxh
eW91dEJveCk7Ci19Ci0KIH0KIH0KICNlbmRpZgo=
</data>
<flag name="review"
          id="366513"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>