<?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>191512</bug_id>
          
          <creation_ts>2018-11-10 21:03:26 -0800</creation_ts>
          <short_desc>[LFC][BFC] In-flow positioned logic is really formatting context dependent.</short_desc>
          <delta_ts>2018-11-11 13:30: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>1477351</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-11-10 21:03:26 -0800</bug_when>
    <thetext>Move it from the base class down to the block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477352</commentid>
    <comment_count>1</comment_count>
      <attachid>354495</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-11-10 21:07:36 -0800</bug_when>
    <thetext>Created attachment 354495
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477404</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-11-11 13:29:18 -0800</bug_when>
    <thetext>Committed r238077: &lt;https://trac.webkit.org/changeset/238077&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477406</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-11 13:30:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/45975762&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354495</attachid>
            <date>2018-11-10 21:07:36 -0800</date>
            <delta_ts>2018-11-11 06:46:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Patch.txt</filename>
            <type>text/plain</type>
            <size>17895</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzMDVhOTlkZDc2NC4uZjFiZTE4ZTQ4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxOC0xMS0xMCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgor
CisgICAgICAgIFtMRkNdW0JGQ10gSW4tZmxvdyBwb3NpdGlvbmVkIGxvZ2ljIGlzIHJlYWxseSBm
b3JtYXR0aW5nIGNvbnRleHQgZGVwZW5kZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNTEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTW92ZSBibG9jayBmb3JtYXR0aW5nIGNvbnRleHQgc3BlY2lm
aWMgY29kZSBmcm9tIEZvcm1hdHRpbmdDb250ZXh0IHRvIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQu
CisKKyAgICAgICAgKiBsYXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5b3V0OjpGb3JtYXR0aW5nQ29udGV4dDo6cGxhY2VJbkZsb3dQb3NpdGlvbmVkQ2hp
bGRyZW4gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4
dC5oOgorICAgICAgICAqIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dDo6Rm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZs
b3dQb3NpdGlvbmVkUG9zaXRpb25PZmZzZXQpOgorICAgICAgICAqIGxheW91dC9ibG9ja2Zvcm1h
dHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OnBsYWNlSW5GbG93UG9zaXRpb25lZENoaWxkcmVu
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6QmxvY2tGb3JtYXR0aW5nQ29udGV4
dDo6Y29tcHV0ZUluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbiBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0Lmg6Cisg
ICAgICAgICogbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0R2Vv
bWV0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCbG9ja0Zvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6aW5GbG93UG9zaXRpb25lZFBvc2l0aW9uKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBsYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21w
dXRlSW5GbG93UG9zaXRpb25lZFBvc2l0aW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBs
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oOgorCiAyMDE4
LTExLTEwICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11b
SUZDXSBDb25zdHJ1Y3QgZGVkaWNhdGVkIHJ1bnMgd2hlbiB0aGUgaW5saW5lIGVsZW1lbnQgcmVx
dWlyZXMgaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvRm9ybWF0dGluZ0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmNwcApp
bmRleCA5YTcwOTRhMzMyYS4uOThlMTcyOGQxY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0Zvcm1hdHRpbmdDb250ZXh0LmNwcApAQCAtMTMwLDIxICsxMzAsNiBAQCB2b2lkIEZvcm1hdHRp
bmdDb250ZXh0Ojpjb21wdXRlQm9yZGVyQW5kUGFkZGluZyhjb25zdCBCb3gmIGxheW91dEJveCkg
Y29uc3QKICAgICBkaXNwbGF5Qm94LnNldFBhZGRpbmcoR2VvbWV0cnk6OmNvbXB1dGVkUGFkZGlu
ZyhsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KSk7CiB9CiAKLXZvaWQgRm9ybWF0dGluZ0NvbnRleHQ6
OnBsYWNlSW5GbG93UG9zaXRpb25lZENoaWxkcmVuKGNvbnN0IENvbnRhaW5lciYgY29udGFpbmVy
KSBjb25zdAotewotICAgIC8vIElmIHRoaXMgY29udGFpbmVyIGFsc28gZXN0YWJsaXNoZXMgYSBm
b3JtYXR0aW5nIGNvbnRleHQsIHRoZW4gcG9zaXRpb25pbmcgYWxyZWFkeSBoYXMgaGFwcGVuZCBp
biB0aGF0IHRoZSBmb3JtYXR0aW5nIGNvbnRleHQuCi0gICAgaWYgKGNvbnRhaW5lci5lc3RhYmxp
c2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkgJiYgJmNvbnRhaW5lciAhPSAmcm9vdCgpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQs
IHN0cmVhbSA8PCAiU3RhcnQ6IG1vdmUgaW4tZmxvdyBwb3NpdGlvbmVkIGNoaWxkcmVuIC0+IHBh
cmVudDogIiA8PCAmY29udGFpbmVyKTsKLSAgICBmb3IgKGF1dG8mIGxheW91dEJveCA6IGNoaWxk
cmVuT2ZUeXBlPEJveD4oY29udGFpbmVyKSkgewotICAgICAgICBpZiAoIWxheW91dEJveC5pc0lu
Rmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBjb21wdXRl
SW5GbG93UG9zaXRpb25lZFBvc2l0aW9uKGxheW91dEJveCk7Ci0gICAgfQotICAgIExPR19XSVRI
X1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFtIDw8ICJFbmQ6IG1vdmUgaW4t
ZmxvdyBwb3NpdGlvbmVkIGNoaWxkcmVuIC0+IHBhcmVudDogIiA8PCAmY29udGFpbmVyKTsKLX0K
LQogdm9pZCBGb3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0T3V0T2ZGbG93RGVzY2VuZGFudHMoY29u
c3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiB7CiAgICAgLy8gSW5pdGlhbCBjb250YWluaW5nIGJs
b2NrIGJ5IGRlZmluaXRpb24gaXMgYSBjb250YWluaW5nIGJsb2NrLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvRm9ybWF0dGluZ0NvbnRleHQuaAppbmRleCAxNmM3NjRhZmI0MC4uNjc2OWE2OWVkOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5oCkBAIC03MCwxMiAr
NzAsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgY29uc3QgQm94JiByb290KCkgY29uc3QgeyByZXR1cm4g
Km1fcm9vdDsgfQogCiAgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbihjb25z
dCBCb3gmKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGNvbXB1dGVJbkZsb3dQb3NpdGlv
bmVkUG9zaXRpb24oY29uc3QgQm94JikgY29uc3QgPSAwOwogCiAgICAgdm9pZCBjb21wdXRlQm9y
ZGVyQW5kUGFkZGluZyhjb25zdCBCb3gmKSBjb25zdDsKIAotICAgIHZvaWQgcGxhY2VJbkZsb3dQ
b3NpdGlvbmVkQ2hpbGRyZW4oY29uc3QgQ29udGFpbmVyJikgY29uc3Q7Ci0KICNpZm5kZWYgTkRF
QlVHCiAgICAgdmlydHVhbCB2b2lkIHZhbGlkYXRlR2VvbWV0cnlDb25zdHJhaW50c0FmdGVyTGF5
b3V0KCkgY29uc3Q7CiAjZW5kaWYKQEAgLTkzLDYgKzkwLDggQEAgcHJvdGVjdGVkOgogICAgICAg
ICBzdGF0aWMgV2lkdGhBbmRNYXJnaW4gaW5saW5lUmVwbGFjZWRXaWR0aEFuZE1hcmdpbihjb25z
dCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gdXNl
ZFdpZHRoID0geyB9LCAKICAgICAgICAgICAgIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gcHJl
Y29tcHV0ZWRNYXJnaW5MZWZ0ID0geyB9LCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHByZWNv
bXB1dGVkTWFyZ2luUmlnaHQgPSB7IH0pOwogCisgICAgICAgIHN0YXRpYyBMYXlvdXRTaXplIGlu
Rmxvd1Bvc2l0aW9uZWRQb3NpdGlvbk9mZnNldChjb25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJv
eCYpOworCiAgICAgICAgIHN0YXRpYyBIZWlnaHRBbmRNYXJnaW4gY29tcGxpY2F0ZWRDYXNlcyhj
b25zdCBMYXlvdXRTdGF0ZSYsIGNvbnN0IEJveCYsIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4g
dXNlZEhlaWdodCA9IHsgfSk7CiAgICAgICAgIHN0YXRpYyBMYXlvdXRVbml0IHNocmlua1RvRml0
V2lkdGgoTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3BwCmluZGV4IDgwODAzNDNhODg1
Li4zZGE0MjUzMDBiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0Zvcm1hdHRp
bmdDb250ZXh0R2VvbWV0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9Gb3JtYXR0
aW5nQ29udGV4dEdlb21ldHJ5LmNwcApAQCAtOTQ3LDYgKzk0Nyw4MiBAQCBXaWR0aEFuZE1hcmdp
biBGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmlubGluZVJlcGxhY2VkV2lkdGhBbmRNYXJn
aW4oY29uc3QgTAogICAgIHJldHVybiB7ICp3aWR0aCwgeyBtYXJnaW5MZWZ0LCBtYXJnaW5SaWdo
dCB9LCB7IG5vbkNvbXB1dGVkTWFyZ2luTGVmdCwgbm9uQ29tcHV0ZWRNYXJnaW5SaWdodCB9IH07
CiB9CiAKK0xheW91dFNpemUgRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dQb3Np
dGlvbmVkUG9zaXRpb25PZmZzZXQoY29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25z
dCBCb3gmIGxheW91dEJveCkKK3sKKyAgICBBU1NFUlQobGF5b3V0Qm94LmlzSW5GbG93UG9zaXRp
b25lZCgpKTsKKworICAgIC8vIDkuNC4zIFJlbGF0aXZlIHBvc2l0aW9uaW5nCisgICAgLy8KKyAg
ICAvLyBUaGUgJ3RvcCcgYW5kICdib3R0b20nIHByb3BlcnRpZXMgbW92ZSByZWxhdGl2ZWx5IHBv
c2l0aW9uZWQgZWxlbWVudChzKSB1cCBvciBkb3duIHdpdGhvdXQgY2hhbmdpbmcgdGhlaXIgc2l6
ZS4KKyAgICAvLyBUb3AnIG1vdmVzIHRoZSBib3hlcyBkb3duLCBhbmQgJ2JvdHRvbScgbW92ZXMg
dGhlbSB1cC4gU2luY2UgYm94ZXMgYXJlIG5vdCBzcGxpdCBvciBzdHJldGNoZWQgYXMgYSByZXN1
bHQgb2YgJ3RvcCcgb3IgJ2JvdHRvbScsIHRoZSB1c2VkIHZhbHVlcyBhcmUgYWx3YXlzOiB0b3Ag
PSAtYm90dG9tLgorICAgIC8vCisgICAgLy8gMS4gSWYgYm90aCBhcmUgJ2F1dG8nLCB0aGVpciB1
c2VkIHZhbHVlcyBhcmUgYm90aCAnMCcuCisgICAgLy8gMi4gSWYgb25lIG9mIHRoZW0gaXMgJ2F1
dG8nLCBpdCBiZWNvbWVzIHRoZSBuZWdhdGl2ZSBvZiB0aGUgb3RoZXIuCisgICAgLy8gMy4gSWYg
bmVpdGhlciBpcyAnYXV0bycsICdib3R0b20nIGlzIGlnbm9yZWQgKGkuZS4sIHRoZSB1c2VkIHZh
bHVlIG9mICdib3R0b20nIHdpbGwgYmUgbWludXMgdGhlIHZhbHVlIG9mICd0b3AnKS4KKworICAg
IGF1dG8mIHN0eWxlID0gbGF5b3V0Qm94LnN0eWxlKCk7CisgICAgYXV0byYgY29udGFpbmluZ0Js
b2NrID0gKmxheW91dEJveC5jb250YWluaW5nQmxvY2soKTsKKyAgICBhdXRvIGNvbnRhaW5pbmdC
bG9ja1dpZHRoID0gbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveChjb250YWluaW5n
QmxvY2spLmNvbnRlbnRCb3hXaWR0aCgpOworCisgICAgYXV0byB0b3AgPSBjb21wdXRlZFZhbHVl
SWZOb3RBdXRvKHN0eWxlLmxvZ2ljYWxUb3AoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOworICAg
IGF1dG8gYm90dG9tID0gY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhzdHlsZS5sb2dpY2FsQm90dG9t
KCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKKworICAgIGlmICghdG9wICYmICFib3R0b20pIHsK
KyAgICAgICAgLy8gIzEKKyAgICAgICAgdG9wID0gYm90dG9tID0geyAwIH07CisgICAgfSBlbHNl
IGlmICghdG9wKSB7CisgICAgICAgIC8vICMyCisgICAgICAgIHRvcCA9IC0qYm90dG9tOworICAg
IH0gZWxzZSBpZiAoIWJvdHRvbSkgeworICAgICAgICAvLyAjMworICAgICAgICBib3R0b20gPSAt
KnRvcDsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyAjNAorICAgICAgICBib3R0b20gPSBzdGQ6
Om51bGxvcHQ7CisgICAgfQorCisgICAgLy8gRm9yIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBlbGVt
ZW50cywgJ2xlZnQnIGFuZCAncmlnaHQnIG1vdmUgdGhlIGJveChlcykgaG9yaXpvbnRhbGx5LCB3
aXRob3V0IGNoYW5naW5nIHRoZWlyIHNpemUuCisgICAgLy8gJ0xlZnQnIG1vdmVzIHRoZSBib3hl
cyB0byB0aGUgcmlnaHQsIGFuZCAncmlnaHQnIG1vdmVzIHRoZW0gdG8gdGhlIGxlZnQuCisgICAg
Ly8gU2luY2UgYm94ZXMgYXJlIG5vdCBzcGxpdCBvciBzdHJldGNoZWQgYXMgYSByZXN1bHQgb2Yg
J2xlZnQnIG9yICdyaWdodCcsIHRoZSB1c2VkIHZhbHVlcyBhcmUgYWx3YXlzOiBsZWZ0ID0gLXJp
Z2h0LgorICAgIC8vCisgICAgLy8gMS4gSWYgYm90aCAnbGVmdCcgYW5kICdyaWdodCcgYXJlICdh
dXRvJyAodGhlaXIgaW5pdGlhbCB2YWx1ZXMpLCB0aGUgdXNlZCB2YWx1ZXMgYXJlICcwJyAoaS5l
LiwgdGhlIGJveGVzIHN0YXkgaW4gdGhlaXIgb3JpZ2luYWwgcG9zaXRpb24pLgorICAgIC8vIDIu
IElmICdsZWZ0JyBpcyAnYXV0bycsIGl0cyB1c2VkIHZhbHVlIGlzIG1pbnVzIHRoZSB2YWx1ZSBv
ZiAncmlnaHQnIChpLmUuLCB0aGUgYm94ZXMgbW92ZSB0byB0aGUgbGVmdCBieSB0aGUgdmFsdWUg
b2YgJ3JpZ2h0JykuCisgICAgLy8gMy4gSWYgJ3JpZ2h0JyBpcyBzcGVjaWZpZWQgYXMgJ2F1dG8n
LCBpdHMgdXNlZCB2YWx1ZSBpcyBtaW51cyB0aGUgdmFsdWUgb2YgJ2xlZnQnLgorICAgIC8vIDQu
IElmIG5laXRoZXIgJ2xlZnQnIG5vciAncmlnaHQnIGlzICdhdXRvJywgdGhlIHBvc2l0aW9uIGlz
IG92ZXItY29uc3RyYWluZWQsIGFuZCBvbmUgb2YgdGhlbSBoYXMgdG8gYmUgaWdub3JlZC4KKyAg
ICAvLyAgICBJZiB0aGUgJ2RpcmVjdGlvbicgcHJvcGVydHkgb2YgdGhlIGNvbnRhaW5pbmcgYmxv
Y2sgaXMgJ2x0cicsIHRoZSB2YWx1ZSBvZiAnbGVmdCcgd2lucyBhbmQgJ3JpZ2h0JyBiZWNvbWVz
IC0nbGVmdCcuCisgICAgLy8gICAgSWYgJ2RpcmVjdGlvbicgb2YgdGhlIGNvbnRhaW5pbmcgYmxv
Y2sgaXMgJ3J0bCcsICdyaWdodCcgd2lucyBhbmQgJ2xlZnQnIGlzIGlnbm9yZWQuCisKKyAgICBh
dXRvIGxlZnQgPSBjb21wdXRlZFZhbHVlSWZOb3RBdXRvKHN0eWxlLmxvZ2ljYWxMZWZ0KCksIGNv
bnRhaW5pbmdCbG9ja1dpZHRoKTsKKyAgICBhdXRvIHJpZ2h0ID0gY29tcHV0ZWRWYWx1ZUlmTm90
QXV0byhzdHlsZS5sb2dpY2FsUmlnaHQoKSwgY29udGFpbmluZ0Jsb2NrV2lkdGgpOworCisgICAg
aWYgKCFsZWZ0ICYmICFyaWdodCkgeworICAgICAgICAvLyAjMQorICAgICAgICBsZWZ0ID0gcmln
aHQgPSB7IDAgfTsKKyAgICB9IGVsc2UgaWYgKCFsZWZ0KSB7CisgICAgICAgIC8vICMyCisgICAg
ICAgIGxlZnQgPSAtKnJpZ2h0OworICAgIH0gZWxzZSBpZiAoIXJpZ2h0KSB7CisgICAgICAgIC8v
ICMzCisgICAgICAgIHJpZ2h0ID0gLSpsZWZ0OworICAgIH0gZWxzZSB7CisgICAgICAgIC8vICM0
CisgICAgICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IGNvbnRhaW5pbmdCbG9jay5z
dHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICAgICAgaWYgKGlzTGVmdFRvUmln
aHREaXJlY3Rpb24pCisgICAgICAgICAgICByaWdodCA9IC0qbGVmdDsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgbGVmdCA9IHN0ZDo6bnVsbG9wdDsKKyAgICB9CisKKyAgICBBU1NFUlQoIWJv
dHRvbSB8fCAqdG9wID09IC0qYm90dG9tKTsKKyAgICBBU1NFUlQoIWxlZnQgfHwgKmxlZnQgPT0g
LSpyaWdodCk7CisKKyAgICBhdXRvIHRvcFBvc2l0aW9uT2Zmc2V0ID0gKnRvcDsKKyAgICBhdXRv
IGxlZnRQb3NpdGlvbk9mZnNldCA9IGxlZnQudmFsdWVfb3IoLSpyaWdodCk7CisKKyAgICBMT0df
V0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQsIHN0cmVhbSA8PCAiW1Bvc2l0aW9u
XSAtPiBwb3NpdGlvbmVkIGluZmxvdyAtPiB0b3Agb2Zmc2V0KCIgPDwgdG9wUG9zaXRpb25PZmZz
ZXQgPDwgInB4KSBsZWZ0IG9mZnNldCgiIDw8IGxlZnRQb3NpdGlvbk9mZnNldCA8PCAicHgpIGxh
eW91dEJveCgiIDw8ICZsYXlvdXRCb3ggPDwgIikiKTsKKyAgICByZXR1cm4geyBsZWZ0UG9zaXRp
b25PZmZzZXQsIHRvcFBvc2l0aW9uT2Zmc2V0IH07Cit9CisKIEVkZ2VzIEZvcm1hdHRpbmdDb250
ZXh0OjpHZW9tZXRyeTo6Y29tcHV0ZWRCb3JkZXIoY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBC
b3gmIGxheW91dEJveCkKIHsKICAgICBhdXRvJiBzdHlsZSA9IGxheW91dEJveC5zdHlsZSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9ybWF0dGluZy9CbG9ja0Zv
cm1hdHRpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRp
bmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXggOGZjNGQ3ZjE5ZmYuLjU1NTBhMmJm
NzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Js
b2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9j
a2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dC5jcHAKQEAgLTE1NCw2ICsxNTQsMzAg
QEAgdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXRGb3JtYXR0aW5nQ29udGV4dFJv
b3QoRmxvYXRpbmdDb250ZXh0JiBmbG9hdGkKICAgICBmb3JtYXR0aW5nQ29udGV4dC0+bGF5b3V0
T3V0T2ZGbG93RGVzY2VuZGFudHMobGF5b3V0Qm94KTsKIH0KIAordm9pZCBCbG9ja0Zvcm1hdHRp
bmdDb250ZXh0OjpwbGFjZUluRmxvd1Bvc2l0aW9uZWRDaGlsZHJlbihjb25zdCBDb250YWluZXIm
IGNvbnRhaW5lcikgY29uc3QKK3sKKyAgICBMT0dfV0lUSF9TVFJFQU0oRm9ybWF0dGluZ0NvbnRl
eHRMYXlvdXQsIHN0cmVhbSA8PCAiU3RhcnQ6IG1vdmUgaW4tZmxvdyBwb3NpdGlvbmVkIGNoaWxk
cmVuIC0+IHBhcmVudDogIiA8PCAmY29udGFpbmVyKTsKKyAgICBmb3IgKGF1dG8mIGxheW91dEJv
eCA6IGNoaWxkcmVuT2ZUeXBlPEJveD4oY29udGFpbmVyKSkgeworICAgICAgICBpZiAoIWxheW91
dEJveC5pc0luRmxvd1Bvc2l0aW9uZWQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgIGF1dG8gY29tcHV0ZUluRmxvd1Bvc2l0aW9uZWRQb3NpdGlvbiA9IFsmXShhdXRvJiBsYXlv
dXRCb3gpIHsKKyAgICAgICAgICAgIGF1dG8mIGxheW91dFN0YXRlID0gdGhpcy0+bGF5b3V0U3Rh
dGUoKTsKKyAgICAgICAgICAgIGF1dG8gcG9zaXRpb25PZmZzZXQgPSBHZW9tZXRyeTo6aW5GbG93
UG9zaXRpb25lZFBvc2l0aW9uT2Zmc2V0KGxheW91dFN0YXRlLCBsYXlvdXRCb3gpOworCisgICAg
ICAgICAgICBhdXRvJiBkaXNwbGF5Qm94ID0gbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91
dEJveChsYXlvdXRCb3gpOworICAgICAgICAgICAgYXV0byB0b3BMZWZ0ID0gZGlzcGxheUJveC50
b3BMZWZ0KCk7CisKKyAgICAgICAgICAgIHRvcExlZnQubW92ZShwb3NpdGlvbk9mZnNldCk7CisK
KyAgICAgICAgICAgIGRpc3BsYXlCb3guc2V0VG9wTGVmdCh0b3BMZWZ0KTsKKyAgICAgICAgfTsK
KworICAgICAgICBjb21wdXRlSW5GbG93UG9zaXRpb25lZFBvc2l0aW9uKGxheW91dEJveCk7Cisg
ICAgfQorICAgIExPR19XSVRIX1NUUkVBTShGb3JtYXR0aW5nQ29udGV4dExheW91dCwgc3RyZWFt
IDw8ICJFbmQ6IG1vdmUgaW4tZmxvdyBwb3NpdGlvbmVkIGNoaWxkcmVuIC0+IHBhcmVudDogIiA8
PCAmY29udGFpbmVyKTsKK30KKwogdm9pZCBCbG9ja0Zvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRl
U3RhdGljUG9zaXRpb24oY29uc3QgQm94JiBsYXlvdXRCb3gpIGNvbnN0CiB7CiAgICAgYXV0byYg
bGF5b3V0U3RhdGUgPSB0aGlzLT5sYXlvdXRTdGF0ZSgpOwpAQCAtMjc0LDEyICsyOTgsNiBAQCB2
b2lkIEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6OmNvbXB1dGVWZXJ0aWNhbFBvc2l0aW9uRm9yRmxv
YXRDbGVhcihjb25zdCBGbG9hdGluZwogICAgICAgICBsYXlvdXRTdGF0ZS5kaXNwbGF5Qm94Rm9y
TGF5b3V0Qm94KGxheW91dEJveCkuc2V0VG9wKCp2ZXJ0aWNhbFBvc2l0aW9uV2l0aENsZWFyYW5j
ZSk7CiB9CiAKLXZvaWQgQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZUluRmxvd1Bvc2l0
aW9uZWRQb3NpdGlvbihjb25zdCBCb3gmIGxheW91dEJveCkgY29uc3QKLXsKLSAgICBhdXRvJiBs
YXlvdXRTdGF0ZSA9IHRoaXMtPmxheW91dFN0YXRlKCk7Ci0gICAgbGF5b3V0U3RhdGUuZGlzcGxh
eUJveEZvckxheW91dEJveChsYXlvdXRCb3gpLnNldFRvcExlZnQoR2VvbWV0cnk6OmluRmxvd1Bv
c2l0aW9uZWRQb3NpdGlvbihsYXlvdXRTdGF0ZSwgbGF5b3V0Qm94KSk7Ci19Ci0KIHZvaWQgQmxv
Y2tGb3JtYXR0aW5nQ29udGV4dDo6Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYgbGF5
b3V0Qm94KSBjb25zdAogewogICAgIGF1dG8mIGxheW91dFN0YXRlID0gdGhpcy0+bGF5b3V0U3Rh
dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcv
QmxvY2tGb3JtYXR0aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Jsb2NrZm9y
bWF0dGluZy9CbG9ja0Zvcm1hdHRpbmdDb250ZXh0LmgKaW5kZXggZTYxNWVjYzlkOGIuLjlhOWEw
YzY3MGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxv
Y2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaApAQCAtNTEsNiArNTEsNyBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBsYXlvdXRGb3JtYXR0aW5nQ29udGV4dFJvb3Qo
RmxvYXRpbmdDb250ZXh0JiwgY29uc3QgQm94JikgY29uc3Q7CisgICAgdm9pZCBwbGFjZUluRmxv
d1Bvc2l0aW9uZWRDaGlsZHJlbihjb25zdCBDb250YWluZXImKSBjb25zdDsKIAogICAgIHZvaWQg
Y29tcHV0ZVdpZHRoQW5kTWFyZ2luKGNvbnN0IEJveCYpIGNvbnN0OwogICAgIHZvaWQgY29tcHV0
ZUhlaWdodEFuZE1hcmdpbihjb25zdCBCb3gmKSBjb25zdDsKQEAgLTYwLDcgKzYxLDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGNvbXB1dGVQb3NpdGlvblRvQXZvaWRGbG9hdHMoY29uc3QgRmxvYXRp
bmdDb250ZXh0JiwgY29uc3QgQm94JikgY29uc3Q7CiAgICAgdm9pZCBjb21wdXRlVmVydGljYWxQ
b3NpdGlvbkZvckZsb2F0Q2xlYXIoY29uc3QgRmxvYXRpbmdDb250ZXh0JiwgY29uc3QgQm94Jikg
Y29uc3Q7CiAKLSAgICB2b2lkIGNvbXB1dGVJbkZsb3dQb3NpdGlvbmVkUG9zaXRpb24oY29uc3Qg
Qm94JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlRXN0aW1hdGVkTWFyZ2luVG9w
Rm9yQW5jZXN0b3JzKGNvbnN0IEJveCYpIGNvbnN0OwogICAgIHZvaWQgY29tcHV0ZUVzdGltYXRl
ZE1hcmdpblRvcChjb25zdCBCb3gmKSBjb25zdDsKIApAQCAtNzUsNyArNzUsNiBAQCBwcml2YXRl
OgogICAgICAgICBzdGF0aWMgV2lkdGhBbmRNYXJnaW4gaW5GbG93V2lkdGhBbmRNYXJnaW4oY29u
c3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gmLCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IHVz
ZWRXaWR0aCA9IHsgfSk7CiAKICAgICAgICAgc3RhdGljIFBvc2l0aW9uIHN0YXRpY1Bvc2l0aW9u
KGNvbnN0IExheW91dFN0YXRlJiwgY29uc3QgQm94Jik7Ci0gICAgICAgIHN0YXRpYyBQb3NpdGlv
biBpbkZsb3dQb3NpdGlvbmVkUG9zaXRpb24oY29uc3QgTGF5b3V0U3RhdGUmLCBjb25zdCBCb3gm
KTsKIAogICAgICAgICBzdGF0aWMgYm9vbCBpbnN0cmluc2ljV2lkdGhDb25zdHJhaW50c05lZWRD
aGlsZHJlbldpZHRoKGNvbnN0IEJveCYpOwogICAgICAgICBzdGF0aWMgSW5zdHJpbnNpY1dpZHRo
Q29uc3RyYWludHMgaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoY29uc3QgTGF5b3V0U3RhdGUm
LCBjb25zdCBCb3gmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9ibG9ja2Zv
cm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5
LmNwcAppbmRleCA4Yjg4ZWY3NWVlOS4uYjUyNDRiY2I0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9ibG9ja2Zvcm1hdHRpbmcvQmxvY2tGb3JtYXR0aW5nQ29udGV4dEdlb21l
dHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHRHZW9tZXRyeS5jcHAKQEAgLTI4Nyw4MyArMjg3LDYgQEAgUG9zaXRp
b24gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OnN0YXRpY1Bvc2l0aW9uKGNvbnN0
IExheW91dFN0YXRlJiBsYXkKICAgICByZXR1cm4geyBsZWZ0LCB0b3AgfTsKIH0KIAotUG9zaXRp
b24gQmxvY2tGb3JtYXR0aW5nQ29udGV4dDo6R2VvbWV0cnk6OmluRmxvd1Bvc2l0aW9uZWRQb3Np
dGlvbihjb25zdCBMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IEJveCYgbGF5b3V0Qm94
KQotewotICAgIEFTU0VSVChsYXlvdXRCb3guaXNJbkZsb3dQb3NpdGlvbmVkKCkpOwotCi0gICAg
Ly8gOS40LjMgUmVsYXRpdmUgcG9zaXRpb25pbmcKLSAgICAvLwotICAgIC8vIFRoZSAndG9wJyBh
bmQgJ2JvdHRvbScgcHJvcGVydGllcyBtb3ZlIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBlbGVtZW50
KHMpIHVwIG9yIGRvd24gd2l0aG91dCBjaGFuZ2luZyB0aGVpciBzaXplLgotICAgIC8vIFRvcCcg
bW92ZXMgdGhlIGJveGVzIGRvd24sIGFuZCAnYm90dG9tJyBtb3ZlcyB0aGVtIHVwLiBTaW5jZSBi
b3hlcyBhcmUgbm90IHNwbGl0IG9yIHN0cmV0Y2hlZCBhcyBhIHJlc3VsdCBvZiAndG9wJyBvciAn
Ym90dG9tJywgdGhlIHVzZWQgdmFsdWVzIGFyZSBhbHdheXM6IHRvcCA9IC1ib3R0b20uCi0gICAg
Ly8KLSAgICAvLyAxLiBJZiBib3RoIGFyZSAnYXV0bycsIHRoZWlyIHVzZWQgdmFsdWVzIGFyZSBi
b3RoICcwJy4KLSAgICAvLyAyLiBJZiBvbmUgb2YgdGhlbSBpcyAnYXV0bycsIGl0IGJlY29tZXMg
dGhlIG5lZ2F0aXZlIG9mIHRoZSBvdGhlci4KLSAgICAvLyAzLiBJZiBuZWl0aGVyIGlzICdhdXRv
JywgJ2JvdHRvbScgaXMgaWdub3JlZCAoaS5lLiwgdGhlIHVzZWQgdmFsdWUgb2YgJ2JvdHRvbScg
d2lsbCBiZSBtaW51cyB0aGUgdmFsdWUgb2YgJ3RvcCcpLgotCi0gICAgYXV0byYgc3R5bGUgPSBs
YXlvdXRCb3guc3R5bGUoKTsKLSAgICBhdXRvJiBkaXNwbGF5Qm94ID0gbGF5b3V0U3RhdGUuZGlz
cGxheUJveEZvckxheW91dEJveChsYXlvdXRCb3gpOwotICAgIGF1dG8mIGNvbnRhaW5pbmdCbG9j
ayA9ICpsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7Ci0gICAgYXV0byBjb250YWluaW5nQmxv
Y2tXaWR0aCA9IGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goY29udGFpbmluZ0Js
b2NrKS5jb250ZW50Qm94V2lkdGgoKTsKLQotICAgIGF1dG8gdG9wID0gY29tcHV0ZWRWYWx1ZUlm
Tm90QXV0byhzdHlsZS5sb2dpY2FsVG9wKCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKLSAgICBh
dXRvIGJvdHRvbSA9IGNvbXB1dGVkVmFsdWVJZk5vdEF1dG8oc3R5bGUubG9naWNhbEJvdHRvbSgp
LCBjb250YWluaW5nQmxvY2tXaWR0aCk7Ci0KLSAgICBpZiAoIXRvcCAmJiAhYm90dG9tKSB7Ci0g
ICAgICAgIC8vICMxCi0gICAgICAgIHRvcCA9IGJvdHRvbSA9IHsgMCB9OwotICAgIH0gZWxzZSBp
ZiAoIXRvcCkgewotICAgICAgICAvLyAjMgotICAgICAgICB0b3AgPSAtKmJvdHRvbTsKLSAgICB9
IGVsc2UgaWYgKCFib3R0b20pIHsKLSAgICAgICAgLy8gIzMKLSAgICAgICAgYm90dG9tID0gLSp0
b3A7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gIzQKLSAgICAgICAgYm90dG9tID0gc3RkOjpu
dWxsb3B0OwotICAgIH0KLQotICAgIC8vIEZvciByZWxhdGl2ZWx5IHBvc2l0aW9uZWQgZWxlbWVu
dHMsICdsZWZ0JyBhbmQgJ3JpZ2h0JyBtb3ZlIHRoZSBib3goZXMpIGhvcml6b250YWxseSwgd2l0
aG91dCBjaGFuZ2luZyB0aGVpciBzaXplLgotICAgIC8vICdMZWZ0JyBtb3ZlcyB0aGUgYm94ZXMg
dG8gdGhlIHJpZ2h0LCBhbmQgJ3JpZ2h0JyBtb3ZlcyB0aGVtIHRvIHRoZSBsZWZ0LgotICAgIC8v
IFNpbmNlIGJveGVzIGFyZSBub3Qgc3BsaXQgb3Igc3RyZXRjaGVkIGFzIGEgcmVzdWx0IG9mICds
ZWZ0JyBvciAncmlnaHQnLCB0aGUgdXNlZCB2YWx1ZXMgYXJlIGFsd2F5czogbGVmdCA9IC1yaWdo
dC4KLSAgICAvLwotICAgIC8vIDEuIElmIGJvdGggJ2xlZnQnIGFuZCAncmlnaHQnIGFyZSAnYXV0
bycgKHRoZWlyIGluaXRpYWwgdmFsdWVzKSwgdGhlIHVzZWQgdmFsdWVzIGFyZSAnMCcgKGkuZS4s
IHRoZSBib3hlcyBzdGF5IGluIHRoZWlyIG9yaWdpbmFsIHBvc2l0aW9uKS4KLSAgICAvLyAyLiBJ
ZiAnbGVmdCcgaXMgJ2F1dG8nLCBpdHMgdXNlZCB2YWx1ZSBpcyBtaW51cyB0aGUgdmFsdWUgb2Yg
J3JpZ2h0JyAoaS5lLiwgdGhlIGJveGVzIG1vdmUgdG8gdGhlIGxlZnQgYnkgdGhlIHZhbHVlIG9m
ICdyaWdodCcpLgotICAgIC8vIDMuIElmICdyaWdodCcgaXMgc3BlY2lmaWVkIGFzICdhdXRvJywg
aXRzIHVzZWQgdmFsdWUgaXMgbWludXMgdGhlIHZhbHVlIG9mICdsZWZ0Jy4KLSAgICAvLyA0LiBJ
ZiBuZWl0aGVyICdsZWZ0JyBub3IgJ3JpZ2h0JyBpcyAnYXV0bycsIHRoZSBwb3NpdGlvbiBpcyBv
dmVyLWNvbnN0cmFpbmVkLCBhbmQgb25lIG9mIHRoZW0gaGFzIHRvIGJlIGlnbm9yZWQuCi0gICAg
Ly8gICAgSWYgdGhlICdkaXJlY3Rpb24nIHByb3BlcnR5IG9mIHRoZSBjb250YWluaW5nIGJsb2Nr
IGlzICdsdHInLCB0aGUgdmFsdWUgb2YgJ2xlZnQnIHdpbnMgYW5kICdyaWdodCcgYmVjb21lcyAt
J2xlZnQnLgotICAgIC8vICAgIElmICdkaXJlY3Rpb24nIG9mIHRoZSBjb250YWluaW5nIGJsb2Nr
IGlzICdydGwnLCAncmlnaHQnIHdpbnMgYW5kICdsZWZ0JyBpcyBpZ25vcmVkLgotCi0gICAgYXV0
byBsZWZ0ID0gY29tcHV0ZWRWYWx1ZUlmTm90QXV0byhzdHlsZS5sb2dpY2FsTGVmdCgpLCBjb250
YWluaW5nQmxvY2tXaWR0aCk7Ci0gICAgYXV0byByaWdodCA9IGNvbXB1dGVkVmFsdWVJZk5vdEF1
dG8oc3R5bGUubG9naWNhbFJpZ2h0KCksIGNvbnRhaW5pbmdCbG9ja1dpZHRoKTsKLQotICAgIGlm
ICghbGVmdCAmJiAhcmlnaHQpIHsKLSAgICAgICAgLy8gIzEKLSAgICAgICAgbGVmdCA9IHJpZ2h0
ID0geyAwIH07Ci0gICAgfSBlbHNlIGlmICghbGVmdCkgewotICAgICAgICAvLyAjMgotICAgICAg
ICBsZWZ0ID0gLSpyaWdodDsKLSAgICB9IGVsc2UgaWYgKCFyaWdodCkgewotICAgICAgICAvLyAj
MwotICAgICAgICByaWdodCA9IC0qbGVmdDsKLSAgICB9IGVsc2UgewotICAgICAgICAvLyAjNAot
ICAgICAgICBhdXRvIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24gPSBjb250YWluaW5nQmxvY2suc3R5
bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7Ci0gICAgICAgIGlmIChpc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKQotICAgICAgICAgICAgcmlnaHQgPSAtKmxlZnQ7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGxlZnQgPSBzdGQ6Om51bGxvcHQ7Ci0gICAgfQotCi0gICAgQVNTRVJUKCFib3R0
b20gfHwgKnRvcCA9PSAtKmJvdHRvbSk7Ci0gICAgQVNTRVJUKCFsZWZ0IHx8ICpsZWZ0ID09IC0q
cmlnaHQpOwotCi0gICAgYXV0byBuZXdUb3BQb3NpdGlvbiA9IGRpc3BsYXlCb3gudG9wKCkgKyAq
dG9wOwotICAgIGF1dG8gbmV3TGVmdFBvc2l0aW9uID0gZGlzcGxheUJveC5sZWZ0KCkgKyBsZWZ0
LnZhbHVlX29yKC0qcmlnaHQpOwotCi0gICAgTE9HX1dJVEhfU1RSRUFNKEZvcm1hdHRpbmdDb250
ZXh0TGF5b3V0LCBzdHJlYW0gPDwgIltQb3NpdGlvbl0gLT4gcG9zaXRpb25lZCBpbmZsb3cgLT4g
dG9wKCIgPDwgbmV3VG9wUG9zaXRpb24gPDwgInB4KSBsZWZ0KCIgPDwgbmV3TGVmdFBvc2l0aW9u
IDw8ICJweCkgbGF5b3V0Qm94KCIgPDwgJmxheW91dEJveCA8PCAiKSIpOwotICAgIHJldHVybiB7
IG5ld0xlZnRQb3NpdGlvbiwgbmV3VG9wUG9zaXRpb24gfTsKLX0KLQogSGVpZ2h0QW5kTWFyZ2lu
IEJsb2NrRm9ybWF0dGluZ0NvbnRleHQ6Okdlb21ldHJ5OjppbkZsb3dIZWlnaHRBbmRNYXJnaW4o
Y29uc3QgTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBjb25zdCBCb3gmIGxheW91dEJveCwgc3Rk
OjpvcHRpb25hbDxMYXlvdXRVbml0PiB1c2VkSGVpZ2h0KQogewogICAgIEFTU0VSVChsYXlvdXRC
b3guaXNJbkZsb3coKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5l
Zm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKaW5kZXgg
MTgzMDU4NzQxZWEuLmM0NzNkMTZiODQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCkBAIC0zODMsMTAgKzM4Myw2IEBAIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OmNvbXB1dGVTdGF0aWNQb3NpdGlvbihjb25zdCBCb3gmKSBjb25zdAogewogfQogCi12b2lkIElu
bGluZUZvcm1hdHRpbmdDb250ZXh0Ojpjb21wdXRlSW5GbG93UG9zaXRpb25lZFBvc2l0aW9uKGNv
bnN0IEJveCYpIGNvbnN0Ci17Ci19Ci0KIHZvaWQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6OmNv
bGxlY3RJbmxpbmVDb250ZW50KElubGluZVJ1blByb3ZpZGVyJiBpbmxpbmVSdW5Qcm92aWRlcikg
Y29uc3QKIHsKICAgICBpZiAoIWlzPENvbnRhaW5lcj4ocm9vdCgpKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUZvcm1hdHRpbmdDb250
ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dC5oCmluZGV4IDBmOWMxYzIyYmJjLi4yZjFkNjdlOGJmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lRm9ybWF0dGlu
Z0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9J
bmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oCkBAIC0xMjIsNyArMTIyLDYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGNvbXB1dGVXaWR0aEFuZE1hcmdpbihjb25zdCBCb3gmKSBjb25zdDsKICAgICB2b2lk
IGNvbXB1dGVGbG9hdFBvc2l0aW9uKGNvbnN0IEZsb2F0aW5nQ29udGV4dCYsIExpbmUmLCBjb25z
dCBCb3gmKSBjb25zdDsKICAgICB2b2lkIGNvbXB1dGVTdGF0aWNQb3NpdGlvbihjb25zdCBCb3gm
KSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGNvbXB1dGVJbkZsb3dQb3NpdGlvbmVkUG9zaXRp
b24oY29uc3QgQm94JikgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGNvbGxlY3RJbmxpbmVD
b250ZW50KElubGluZVJ1blByb3ZpZGVyJikgY29uc3Q7CiAgICAgSW5zdHJpbnNpY1dpZHRoQ29u
c3RyYWludHMgaW5zdHJpbnNpY1dpZHRoQ29uc3RyYWludHMoKSBjb25zdCBvdmVycmlkZTsK
</data>
<flag name="review"
          id="371667"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>