<?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>79910</bug_id>
          
          <creation_ts>2012-02-29 07:25:22 -0800</creation_ts>
          <short_desc>Applying region style should not need to access parent rules</short_desc>
          <delta_ts>2012-04-11 20:54:25 -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>CSS</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>77745</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kling</cc>
    
    <cc>mihnea</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>567607</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-02-29 07:25:22 -0800</bug_when>
    <thetext>Currently CSSStyleSelector::applyProperties looks into parent rules to see if a rule is part of region style. The plan is to eliminate the rule parent pointer so this needs to be refactored.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567619</commentid>
    <comment_count>1</comment_count>
      <attachid>129450</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-02-29 07:43:21 -0800</bug_when>
    <thetext>Created attachment 129450
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567645</commentid>
    <comment_count>2</comment_count>
      <attachid>129450</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-29 08:42:04 -0800</bug_when>
    <thetext>Comment on attachment 129450
patch

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567695</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-02-29 10:08:51 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/109227</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129450</attachid>
            <date>2012-02-29 07:43:21 -0800</date>
            <delta_ts>2012-02-29 08:42:04 -0800</delta_ts>
            <desc>patch</desc>
            <filename>region-style-parent-2.patch</filename>
            <type>text/plain</type>
            <size>12966</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTIxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAyLTI5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBcHBseWluZyByZWdpb24gc3R5
bGUgc2hvdWxkIG5vdCBuZWVkIHRvIGFjY2VzcyBwYXJlbnQgcnVsZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5OTEwIAorICAgICAgICAgCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSBDU1NT
dHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnRpZXMgbG9va3MgaW50byBwYXJlbnQgcnVsZXMgdG8g
c2VlIGlmIGEgcnVsZSBpcworICAgICAgICBwYXJ0IG9mIHJlZ2lvbiBzdHlsZS4gVGhlIHBsYW4g
aXMgdG8gZWxpbWluYXRlIHRoZSBydWxlIHBhcmVudCBwb2ludGVyIHNvIHRoaXMgbmVlZHMgdG8g
YmUgcmVmYWN0b3JlZC4KKyAgICAgICAgCisgICAgICAgIEFkZCBhIGJpdCB0byBSdWxlRGF0YSB0
byBpbmRpY2F0ZSBpZiB0aGUgU3R5bGVSdWxlIGlzIHBhcnQgb2YgYSByZWdpb24gc3R5bGUuCisK
KyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChSdWxlRGF0YSk6
CisgICAgICAgIChXZWJDb3JlOjpSdWxlRGF0YTo6aXNJblJlZ2lvblJ1bGUpOgorICAgICAgICAo
UnVsZVNldCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphZGRNYXRjaGVk
UHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpzb3J0QW5k
VHJhbnNmZXJNYXRjaGVkUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rv
cjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oOgorICAgICAgICAoQ1NTU3R5bGVTZWxlY3Rvcik6CisKIDIwMTItMDItMjkgIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEN0cmwgUiBzaG91bGQgcmVsb2FkIHBhZ2UgZnJvbSB0aGUgY29uc29sZSBwYW5lbCBhcyB3
ZWxsLgpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2aXNp
b24gMTA5MjAzKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNzQsNyArMTc0LDcgQEAgaWYgKHByaW1pdGl2ZVZhbHVlKSBcCiAK
IGNsYXNzIFJ1bGVEYXRhIHsKIHB1YmxpYzoKLSAgICBSdWxlRGF0YShTdHlsZVJ1bGUqLCBDU1NT
ZWxlY3RvciosIHVuc2lnbmVkIHBvc2l0aW9uLCBib29sIGNhblVzZUZhc3RDaGVja1NlbGVjdG9y
ID0gdHJ1ZSk7CisgICAgUnVsZURhdGEoU3R5bGVSdWxlKiwgQ1NTU2VsZWN0b3IqLCB1bnNpZ25l
ZCBwb3NpdGlvbiwgYm9vbCBjYW5Vc2VGYXN0Q2hlY2tTZWxlY3RvciwgYm9vbCBpblJlZ2lvblJ1
bGUpOwogCiAgICAgdW5zaWduZWQgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9u
OyB9CiAgICAgU3R5bGVSdWxlKiBydWxlKCkgY29uc3QgeyByZXR1cm4gbV9ydWxlOyB9CkBAIC0x
ODYsNiArMTg2LDcgQEAgcHVibGljOgogICAgIGJvb2wgY29udGFpbnNVbmNvbW1vbkF0dHJpYnV0
ZVNlbGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9jb250YWluc1VuY29tbW9uQXR0cmlidXRlU2Vs
ZWN0b3I7IH0KICAgICB1bnNpZ25lZCBzcGVjaWZpY2l0eSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Bl
Y2lmaWNpdHk7IH0KICAgICB1bnNpZ25lZCBsaW5rTWF0Y2hUeXBlKCkgY29uc3QgeyByZXR1cm4g
bV9saW5rTWF0Y2hUeXBlOyB9CisgICAgYm9vbCBpc0luUmVnaW9uUnVsZSgpIGNvbnN0IHsgcmV0
dXJuIG1faXNJblJlZ2lvblJ1bGU7IH0KIAogICAgIC8vIFRyeSB0byBiYWxhbmNlIGJldHdlZW4g
bWVtb3J5IHVzYWdlICh0aGVyZSBjYW4gYmUgbG90cyBvZiBSdWxlRGF0YSBvYmplY3RzKSBhbmQg
Z29vZCBmaWx0ZXJpbmcgcGVyZm9ybWFuY2UuCiAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1h
eGltdW1JZGVudGlmaWVyQ291bnQgPSA0OwpAQCAtMTk3LDEyICsxOTgsMTMgQEAgcHJpdmF0ZToK
ICAgICB1bnNpZ25lZCBtX3NwZWNpZmljaXR5OwogICAgIC8vIFRoaXMgbnVtYmVyIHdhcyBwaWNr
ZWQgZmFpcmx5IGFyYml0cmFyaWx5LiBXZSBjYW4gcHJvYmFibHkgbG93ZXIgaXQgaWYgd2UgbmVl
ZCB0by4KICAgICAvLyBTb21lIHNpbXBsZSB0ZXN0aW5nIHNob3dlZCA8MTAwLDAwMCBSdWxlRGF0
YSdzIG9uIGxhcmdlIHNpdGVzLgotICAgIHVuc2lnbmVkIG1fcG9zaXRpb24gOiAyNjsKKyAgICB1
bnNpZ25lZCBtX3Bvc2l0aW9uIDogMjU7CiAgICAgdW5zaWduZWQgbV9oYXNGYXN0Q2hlY2thYmxl
U2VsZWN0b3IgOiAxOwogICAgIHVuc2lnbmVkIG1faGFzTXVsdGlwYXJ0U2VsZWN0b3IgOiAxOwog
ICAgIHVuc2lnbmVkIG1faGFzUmlnaHRtb3N0U2VsZWN0b3JNYXRjaGluZ0hUTUxCYXNlZE9uUnVs
ZUhhc2ggOiAxOwogICAgIHVuc2lnbmVkIG1fY29udGFpbnNVbmNvbW1vbkF0dHJpYnV0ZVNlbGVj
dG9yIDogMTsKICAgICB1bnNpZ25lZCBtX2xpbmtNYXRjaFR5cGUgOiAyOyAvLyAgU2VsZWN0b3JD
aGVja2VyOjpMaW5rTWF0Y2hNYXNrCisgICAgdW5zaWduZWQgbV9pc0luUmVnaW9uUnVsZSA6IDE7
CiAgICAgLy8gVXNlIHBsYWluIGFycmF5IGluc3RlYWQgb2YgYSBWZWN0b3IgdG8gbWluaW1pemUg
bWVtb3J5IG92ZXJoZWFkLgogICAgIHVuc2lnbmVkIG1fZGVzY2VuZGFudFNlbGVjdG9ySWRlbnRp
Zmllckhhc2hlc1ttYXhpbXVtSWRlbnRpZmllckNvdW50XTsKIH07CkBAIC0yMjYsOCArMjI4LDgg
QEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSdWxlc0Zyb21TaGVldChDU1NTdHlsZVNoZWV0Kiwg
Y29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYsIENTU1N0eWxlU2VsZWN0b3IqID0gMCwgY29uc3Qg
RWxlbWVudCogPSAwKTsKIAotICAgIHZvaWQgYWRkU3R5bGVSdWxlKFN0eWxlUnVsZSosIGJvb2wg
Y2FuVXNlRmFzdENoZWNrU2VsZWN0b3IgPSB0cnVlKTsKLSAgICB2b2lkIGFkZFJ1bGUoU3R5bGVS
dWxlKiwgQ1NTU2VsZWN0b3IqLCBib29sIGNhblVzZUZhc3RDaGVja1NlbGVjdG9yID0gdHJ1ZSk7
CisgICAgdm9pZCBhZGRTdHlsZVJ1bGUoU3R5bGVSdWxlKiwgYm9vbCBjYW5Vc2VGYXN0Q2hlY2tT
ZWxlY3RvciA9IHRydWUsIGJvb2wgaXNJblJlZ2lvblJ1bGUgPSBmYWxzZSk7CisgICAgdm9pZCBh
ZGRSdWxlKFN0eWxlUnVsZSosIENTU1NlbGVjdG9yKiwgYm9vbCBjYW5Vc2VGYXN0Q2hlY2tTZWxl
Y3RvciA9IHRydWUsIGJvb2wgaXNJblJlZ2lvblJ1bGUgPSBmYWxzZSk7CiAgICAgdm9pZCBhZGRQ
YWdlUnVsZShDU1NQYWdlUnVsZSopOwogICAgIHZvaWQgYWRkVG9SdWxlU2V0KEF0b21pY1N0cmlu
Z0ltcGwqIGtleSwgQXRvbVJ1bGVNYXAmLCBjb25zdCBSdWxlRGF0YSYpOwogICAgIHZvaWQgYWRk
UmVnaW9uUnVsZShXZWJLaXRDU1NSZWdpb25SdWxlKik7CkBAIC03NTEsMTIgKzc1MywxMyBAQCBz
dGF0aWMgdm9pZCBlbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFCiAgICAgQVNTRVJUX1VOVVNF
RChsb2FkZWRNYXRoTUxVc2VyQWdlbnRTaGVldCwgbG9hZGVkTWF0aE1MVXNlckFnZW50U2hlZXQg
fHwgZGVmYXVsdFN0eWxlLT5mZWF0dXJlcygpLnNpYmxpbmdSdWxlcy5pc0VtcHR5KCkpOwogfQog
Ci12b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFkZE1hdGNoZWRQcm9wZXJ0aWVzKE1hdGNoUmVzdWx0
JiBtYXRjaFJlc3VsdCwgU3R5bGVQcm9wZXJ0eVNldCogcHJvcGVydGllcywgU3R5bGVSdWxlKiBy
dWxlLCB1bnNpZ25lZCBsaW5rTWF0Y2hUeXBlKQordm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphZGRN
YXRjaGVkUHJvcGVydGllcyhNYXRjaFJlc3VsdCYgbWF0Y2hSZXN1bHQsIFN0eWxlUHJvcGVydHlT
ZXQqIHByb3BlcnRpZXMsIFN0eWxlUnVsZSogcnVsZSwgdW5zaWduZWQgbGlua01hdGNoVHlwZSwg
Ym9vbCBpblJlZ2lvblJ1bGUpCiB7CiAgICAgbWF0Y2hSZXN1bHQubWF0Y2hlZFByb3BlcnRpZXMu
Z3JvdyhtYXRjaFJlc3VsdC5tYXRjaGVkUHJvcGVydGllcy5zaXplKCkgKyAxKTsKICAgICBNYXRj
aGVkUHJvcGVydGllcyYgbmV3UHJvcGVydGllcyA9IG1hdGNoUmVzdWx0Lm1hdGNoZWRQcm9wZXJ0
aWVzLmxhc3QoKTsKICAgICBuZXdQcm9wZXJ0aWVzLnByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzOwog
ICAgIG5ld1Byb3BlcnRpZXMubGlua01hdGNoVHlwZSA9IGxpbmtNYXRjaFR5cGU7CisgICAgbmV3
UHJvcGVydGllcy5pc0luUmVnaW9uUnVsZSA9IGluUmVnaW9uUnVsZTsKICAgICBtYXRjaFJlc3Vs
dC5tYXRjaGVkUnVsZXMuYXBwZW5kKHJ1bGUpOwogfQogCkBAIC04MjksNyArODMyLDcgQEAgdm9p
ZCBDU1NTdHlsZVNlbGVjdG9yOjpzb3J0QW5kVHJhbnNmZXJNYQogICAgICAgICB1bnNpZ25lZCBs
aW5rTWF0Y2hUeXBlID0gbV9tYXRjaGVkUnVsZXNbaV0tPmxpbmtNYXRjaFR5cGUoKTsKICAgICAg
ICAgaWYgKHN3YXBWaXNpdGVkVW52aXNpdGVkICYmIGxpbmtNYXRjaFR5cGUgJiYgbGlua01hdGNo
VHlwZSAhPSBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoQWxsKQogICAgICAgICAgICAgbGlua01hdGNo
VHlwZSA9IChsaW5rTWF0Y2hUeXBlID09IFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hWaXNpdGVkKSA/
IFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2hMaW5rIDogU2VsZWN0b3JDaGVja2VyOjpNYXRjaFZpc2l0
ZWQ7Ci0gICAgICAgIGFkZE1hdGNoZWRQcm9wZXJ0aWVzKHJlc3VsdCwgbV9tYXRjaGVkUnVsZXNb
aV0tPnJ1bGUoKS0+cHJvcGVydGllcygpLCBtX21hdGNoZWRSdWxlc1tpXS0+cnVsZSgpLCBsaW5r
TWF0Y2hUeXBlKTsKKyAgICAgICAgYWRkTWF0Y2hlZFByb3BlcnRpZXMocmVzdWx0LCBtX21hdGNo
ZWRSdWxlc1tpXS0+cnVsZSgpLT5wcm9wZXJ0aWVzKCksIG1fbWF0Y2hlZFJ1bGVzW2ldLT5ydWxl
KCksIGxpbmtNYXRjaFR5cGUsIG1fbWF0Y2hlZFJ1bGVzW2ldLT5pc0luUmVnaW9uUnVsZSgpKTsK
ICAgICB9CiB9CiAKQEAgLTIyMzYsNyArMjIzOSw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjb250
YWluc1VuY29tbW9uQXR0cmkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLVJ1bGVEYXRhOjpSdWxl
RGF0YShTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWxlY3RvciwgdW5zaWduZWQgcG9z
aXRpb24sIGJvb2wgY2FuVXNlRmFzdENoZWNrU2VsZWN0b3IpCitSdWxlRGF0YTo6UnVsZURhdGEo
U3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsZWN0b3IsIHVuc2lnbmVkIHBvc2l0aW9u
LCBib29sIGNhblVzZUZhc3RDaGVja1NlbGVjdG9yLCBib29sIGluUmVnaW9uUnVsZSkKICAgICA6
IG1fcnVsZShydWxlKQogICAgICwgbV9zZWxlY3RvcihzZWxlY3RvcikKICAgICAsIG1fc3BlY2lm
aWNpdHkoc2VsZWN0b3ItPnNwZWNpZmljaXR5KCkpCkBAIC0yMjQ2LDYgKzIyNDksNyBAQCBSdWxl
RGF0YTo6UnVsZURhdGEoU3R5bGVSdWxlKiBydWxlLCBDU1NTCiAgICAgLCBtX2hhc1JpZ2h0bW9z
dFNlbGVjdG9yTWF0Y2hpbmdIVE1MQmFzZWRPblJ1bGVIYXNoKGlzU2VsZWN0b3JNYXRjaGluZ0hU
TUxCYXNlZE9uUnVsZUhhc2goc2VsZWN0b3IpKQogICAgICwgbV9jb250YWluc1VuY29tbW9uQXR0
cmlidXRlU2VsZWN0b3IoV2ViQ29yZTo6Y29udGFpbnNVbmNvbW1vbkF0dHJpYnV0ZVNlbGVjdG9y
KHNlbGVjdG9yKSkKICAgICAsIG1fbGlua01hdGNoVHlwZShTZWxlY3RvckNoZWNrZXI6OmRldGVy
bWluZUxpbmtNYXRjaFR5cGUoc2VsZWN0b3IpKQorICAgICwgbV9pc0luUmVnaW9uUnVsZShpblJl
Z2lvblJ1bGUpCiB7CiAgICAgU2VsZWN0b3JDaGVja2VyOjpjb2xsZWN0SWRlbnRpZmllckhhc2hl
cyhtX3NlbGVjdG9yLCBtX2Rlc2NlbmRhbnRTZWxlY3RvcklkZW50aWZpZXJIYXNoZXMsIG1heGlt
dW1JZGVudGlmaWVyQ291bnQpOwogfQpAQCAtMjMxMCw5ICsyMzE0LDkgQEAgdm9pZCBSdWxlU2V0
OjphZGRUb1J1bGVTZXQoQXRvbWljU3RyaW5nSQogICAgIHJ1bGVzLT5hcHBlbmQocnVsZURhdGEp
OwogfQogCi12b2lkIFJ1bGVTZXQ6OmFkZFJ1bGUoU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rv
ciogc2VsZWN0b3IsIGJvb2wgY2FuVXNlRmFzdENoZWNrU2VsZWN0b3IpCit2b2lkIFJ1bGVTZXQ6
OmFkZFJ1bGUoU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsZWN0b3IsIGJvb2wgY2Fu
VXNlRmFzdENoZWNrU2VsZWN0b3IsIGJvb2wgaW5SZWdpb25SdWxlKQogewotICAgIFJ1bGVEYXRh
IHJ1bGVEYXRhKHJ1bGUsIHNlbGVjdG9yLCBtX3J1bGVDb3VudCsrLCBjYW5Vc2VGYXN0Q2hlY2tT
ZWxlY3Rvcik7CisgICAgUnVsZURhdGEgcnVsZURhdGEocnVsZSwgc2VsZWN0b3IsIG1fcnVsZUNv
dW50KyssIGNhblVzZUZhc3RDaGVja1NlbGVjdG9yLCBpblJlZ2lvblJ1bGUpOwogICAgIGNvbGxl
Y3RGZWF0dXJlc0Zyb21SdWxlRGF0YShtX2ZlYXR1cmVzLCBydWxlRGF0YSk7CiAKICAgICBpZiAo
c2VsZWN0b3ItPm1fbWF0Y2ggPT0gQ1NTU2VsZWN0b3I6OklkKSB7CkBAIC0yMzY5LDcgKzIzNzMs
NyBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJlZ2lvblJ1bGUoV2ViS2l0Q1NTUmVnCiAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHJ1bGVzU2l6ZTsgKytpKSB7CiAgICAgICAgIENTU1J1bGUqIHJl
Z2lvblN0eWxpbmdSdWxlID0gcmVnaW9uU3R5bGluZ1J1bGVzLT5pdGVtKGkpOwogICAgICAgICBp
ZiAocmVnaW9uU3R5bGluZ1J1bGUtPmlzU3R5bGVSdWxlKCkpCi0gICAgICAgICAgICByZWdpb25S
dWxlU2V0LT5hZGRTdHlsZVJ1bGUoc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4ocmVnaW9uU3R5
bGluZ1J1bGUpLT5zdHlsZVJ1bGUoKSk7CisgICAgICAgICAgICByZWdpb25SdWxlU2V0LT5hZGRT
dHlsZVJ1bGUoc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4ocmVnaW9uU3R5bGluZ1J1bGUpLT5z
dHlsZVJ1bGUoKSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgfQogCiAgICAgbV9yZWdpb25TZWxlY3RvcnNB
bmRSdWxlU2V0cy5hcHBlbmQoUnVsZVNldFNlbGVjdG9yUGFpcihydWxlLT5zZWxlY3Rvckxpc3Qo
KS5maXJzdCgpLCByZWdpb25SdWxlU2V0KSk7CkBAIC0yNDUwLDEwICsyNDU0LDEwIEBAIHZvaWQg
UnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoQ1NTU3R5bGUKICAgICAgICAgc2hyaW5rVG9GaXQo
KTsKIH0KIAotdm9pZCBSdWxlU2V0OjphZGRTdHlsZVJ1bGUoU3R5bGVSdWxlKiBydWxlLCBib29s
IGNhblVzZUZhc3RDaGVja1NlbGVjdG9yKQordm9pZCBSdWxlU2V0OjphZGRTdHlsZVJ1bGUoU3R5
bGVSdWxlKiBydWxlLCBib29sIGNhblVzZUZhc3RDaGVja1NlbGVjdG9yLCBib29sIGlzSW5SZWdp
b25SdWxlKQogewogICAgIGZvciAoQ1NTU2VsZWN0b3IqIHMgPSBydWxlLT5zZWxlY3Rvckxpc3Qo
KS5maXJzdCgpOyBzOyBzID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHMpKQotICAgICAgICBhZGRS
dWxlKHJ1bGUsIHMsIGNhblVzZUZhc3RDaGVja1NlbGVjdG9yKTsKKyAgICAgICAgYWRkUnVsZShy
dWxlLCBzLCBjYW5Vc2VGYXN0Q2hlY2tTZWxlY3RvciwgaXNJblJlZ2lvblJ1bGUpOwogfQogCiBz
dGF0aWMgaW5saW5lIHZvaWQgc2hyaW5rTWFwVmVjdG9yc1RvRml0KFJ1bGVTZXQ6OkF0b21SdWxl
TWFwJiBtYXApCkBAIC0yNTE2LDIyICsyNTIwLDExIEBAIHN0YXRpYyBMZW5ndGggY29udmVydFRv
RmxvYXRMZW5ndGgoQ1NTUHIKICAgICByZXR1cm4gY29udmVydFRvTGVuZ3RoKHByaW1pdGl2ZVZh
bHVlLCBzdHlsZSwgcm9vdFN0eWxlLCB0cnVlLCBtdWx0aXBsaWVyLCBvayk7CiB9CiAKLXN0YXRp
YyBpbmxpbmUgYm9vbCBpc0luc2lkZVJlZ2lvblJ1bGUoQ1NTUnVsZSogcnVsZSkKLXsKLSAgICAv
LyBGSVhNRTogQ2FjaGUgdGhpcyBiaXQgc29tZXdoZXJlLgotICAgIHdoaWxlIChydWxlKSB7Ci0g
ICAgICAgIGlmIChydWxlLT5pc1JlZ2lvblJ1bGUoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICBydWxlID0gcnVsZS0+cGFyZW50UnVsZSgpOwotICAgIH0KLSAgICByZXR1cm4g
ZmFsc2U7Ci19Ci0KIHRlbXBsYXRlIDxib29sIGFwcGx5Rmlyc3Q+Ci12b2lkIENTU1N0eWxlU2Vs
ZWN0b3I6OmFwcGx5UHJvcGVydGllcyhjb25zdCBTdHlsZVByb3BlcnR5U2V0KiBwcm9wZXJ0aWVz
LCBTdHlsZVJ1bGUqIHJ1bGUsIGJvb2wgaXNJbXBvcnRhbnQsIGJvb2wgaW5oZXJpdGVkT25seSkK
K3ZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0aWVzKGNvbnN0IFN0eWxlUHJvcGVy
dHlTZXQqIHByb3BlcnRpZXMsIFN0eWxlUnVsZSogcnVsZSwgYm9vbCBpc0ltcG9ydGFudCwgYm9v
bCBpbmhlcml0ZWRPbmx5LCBib29sIGZpbHRlclJlZ2lvblByb3BlcnRpZXMpCiB7CisgICAgQVNT
RVJUKCFmaWx0ZXJSZWdpb25Qcm9wZXJ0aWVzIHx8IG1fcmVnaW9uRm9yU3R5bGluZyk7CiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbFByb2Nlc3NSdWxlKGRvY3VtZW50KCksIHJ1bGUpOwotICAgIGJvb2wgc3R5
bGVEZWNsYXJhdGlvbkluc2lkZVJlZ2lvblJ1bGUgPSBtX3JlZ2lvbkZvclN0eWxpbmcgJiYgaXNJ
bnNpZGVSZWdpb25SdWxlKHJ1bGUtPmVuc3VyZUNTU1N0eWxlUnVsZSgpKTsKIAogICAgIHVuc2ln
bmVkIHByb3BlcnR5Q291bnQgPSBwcm9wZXJ0aWVzLT5wcm9wZXJ0eUNvdW50KCk7CiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IHByb3BlcnR5Q291bnQ7ICsraSkgewpAQCAtMjU0Nyw4ICsy
NTQwLDcgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnRpZXMoYwogICAgICAg
ICB9CiAgICAgICAgIGludCBwcm9wZXJ0eSA9IGN1cnJlbnQuaWQoKTsKIAotICAgICAgICAvLyBG
aWx0ZXIgdGhlIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgYXBwbGllZCB1c2luZyByZWdpb24gc3R5
bGluZy4KLSAgICAgICAgaWYgKHN0eWxlRGVjbGFyYXRpb25JbnNpZGVSZWdpb25SdWxlICYmICFD
U1NTdHlsZVNlbGVjdG9yOjppc1ZhbGlkUmVnaW9uU3R5bGVQcm9wZXJ0eShwcm9wZXJ0eSkpCisg
ICAgICAgIGlmIChmaWx0ZXJSZWdpb25Qcm9wZXJ0aWVzICYmICFDU1NTdHlsZVNlbGVjdG9yOjpp
c1ZhbGlkUmVnaW9uU3R5bGVQcm9wZXJ0eShwcm9wZXJ0eSkpCiAgICAgICAgICAgICBjb250aW51
ZTsKIAogICAgICAgICBpZiAoYXBwbHlGaXJzdCkgewpAQCAtMjU4MCwxOSArMjU3MiwyMiBAQCB2
b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5TWF0Y2hlZFByb3BlCiAKICAgICBpZiAobV9zdHls
ZS0+aW5zaWRlTGluaygpICE9IE5vdEluc2lkZUxpbmspIHsKICAgICAgICAgZm9yIChpbnQgaSA9
IHN0YXJ0SW5kZXg7IGkgPD0gZW5kSW5kZXg7ICsraSkgewotICAgICAgICAgICAgdW5zaWduZWQg
bGlua01hdGNoVHlwZSA9IG1hdGNoUmVzdWx0Lm1hdGNoZWRQcm9wZXJ0aWVzW2ldLmxpbmtNYXRj
aFR5cGU7CisgICAgICAgICAgICBjb25zdCBNYXRjaGVkUHJvcGVydGllcyYgbWF0Y2hlZFByb3Bl
cnRpZXMgPSBtYXRjaFJlc3VsdC5tYXRjaGVkUHJvcGVydGllc1tpXTsKKyAgICAgICAgICAgIHVu
c2lnbmVkIGxpbmtNYXRjaFR5cGUgPSBtYXRjaGVkUHJvcGVydGllcy5saW5rTWF0Y2hUeXBlOwog
ICAgICAgICAgICAgLy8gRklYTUU6IEl0IHdvdWxkIGJlIG5pY2VyIHRvIHBhc3MgdGhlc2UgYXMg
YXJndW1lbnRzIGJ1dCB0aGF0IHJlcXVpcmVzIGNoYW5nZXMgaW4gbWFueSBwbGFjZXMuCiAgICAg
ICAgICAgICBtX2FwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSA9IGxpbmtNYXRjaFR5cGUgJiBT
ZWxlY3RvckNoZWNrZXI6Ok1hdGNoTGluazsKICAgICAgICAgICAgIG1fYXBwbHlQcm9wZXJ0eVRv
VmlzaXRlZExpbmtTdHlsZSA9IGxpbmtNYXRjaFR5cGUgJiBTZWxlY3RvckNoZWNrZXI6Ok1hdGNo
VmlzaXRlZDsKIAotICAgICAgICAgICAgYXBwbHlQcm9wZXJ0aWVzPGFwcGx5Rmlyc3Q+KG1hdGNo
UmVzdWx0Lm1hdGNoZWRQcm9wZXJ0aWVzW2ldLnByb3BlcnRpZXMuZ2V0KCksIG1hdGNoUmVzdWx0
Lm1hdGNoZWRSdWxlc1tpXSwgaXNJbXBvcnRhbnQsIGluaGVyaXRlZE9ubHkpOworICAgICAgICAg
ICAgYXBwbHlQcm9wZXJ0aWVzPGFwcGx5Rmlyc3Q+KG1hdGNoZWRQcm9wZXJ0aWVzLnByb3BlcnRp
ZXMuZ2V0KCksIG1hdGNoUmVzdWx0Lm1hdGNoZWRSdWxlc1tpXSwgaXNJbXBvcnRhbnQsIGluaGVy
aXRlZE9ubHksIG1hdGNoZWRQcm9wZXJ0aWVzLmlzSW5SZWdpb25SdWxlKTsKICAgICAgICAgfQog
ICAgICAgICBtX2FwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSA9IHRydWU7CiAgICAgICAgIG1f
YXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtTdHlsZSA9IGZhbHNlOwogICAgICAgICByZXR1cm47
CiAgICAgfQotICAgIGZvciAoaW50IGkgPSBzdGFydEluZGV4OyBpIDw9IGVuZEluZGV4OyArK2kp
Ci0gICAgICAgIGFwcGx5UHJvcGVydGllczxhcHBseUZpcnN0PihtYXRjaFJlc3VsdC5tYXRjaGVk
UHJvcGVydGllc1tpXS5wcm9wZXJ0aWVzLmdldCgpLCBtYXRjaFJlc3VsdC5tYXRjaGVkUnVsZXNb
aV0sIGlzSW1wb3J0YW50LCBpbmhlcml0ZWRPbmx5KTsKKyAgICBmb3IgKGludCBpID0gc3RhcnRJ
bmRleDsgaSA8PSBlbmRJbmRleDsgKytpKSB7CisgICAgICAgIGNvbnN0IE1hdGNoZWRQcm9wZXJ0
aWVzJiBtYXRjaGVkUHJvcGVydGllcyA9IG1hdGNoUmVzdWx0Lm1hdGNoZWRQcm9wZXJ0aWVzW2ld
OworICAgICAgICBhcHBseVByb3BlcnRpZXM8YXBwbHlGaXJzdD4obWF0Y2hlZFByb3BlcnRpZXMu
cHJvcGVydGllcy5nZXQoKSwgbWF0Y2hSZXN1bHQubWF0Y2hlZFJ1bGVzW2ldLCBpc0ltcG9ydGFu
dCwgaW5oZXJpdGVkT25seSwgbWF0Y2hlZFByb3BlcnRpZXMuaXNJblJlZ2lvblJ1bGUpOworICAg
IH0KIH0KIAogdW5zaWduZWQgQ1NTU3R5bGVTZWxlY3Rvcjo6Y29tcHV0ZU1hdGNoZWRQcm9wZXJ0
aWVzSGFzaChjb25zdCBNYXRjaGVkUHJvcGVydGllcyogcHJvcGVydGllcywgdW5zaWduZWQgc2l6
ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAkocmV2aXNpb24gMTA5
MjAzKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAkod29ya2luZyBj
b3B5KQpAQCAtMjcxLDcgKzI3MSwxMCBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgUmVm
UHRyPFN0eWxlUHJvcGVydHlTZXQ+IHByb3BlcnRpZXM7CiAgICAgICAgIHVuaW9uIHsKLSAgICAg
ICAgICAgIHVuc2lnbmVkIGxpbmtNYXRjaFR5cGU7CisgICAgICAgICAgICBzdHJ1Y3QgeworICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmtNYXRjaFR5cGUgOiAyOworICAgICAgICAgICAgICAg
IHVuc2lnbmVkIGlzSW5SZWdpb25SdWxlIDogMTsKKyAgICAgICAgICAgIH07CiAgICAgICAgICAg
ICAvLyBVc2VkIHRvIG1ha2Ugc3VyZSBhbGwgbWVtb3J5IGlzIHplcm8taW5pdGlhbGl6ZWQgc2lu
Y2Ugd2UgY29tcHV0ZSB0aGUgaGFzaCBvdmVyIHRoZSBieXRlcyBvZiB0aGlzIG9iamVjdC4KICAg
ICAgICAgICAgIHZvaWQqIHBvc3NpYmx5UGFkZGVkTWVtYmVyOwogICAgICAgICB9OwpAQCAtMjkx
LDcgKzI5NCw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgaW5jbHVkZUVtcHR5UnVsZXM7CiAg
ICAgfTsKIAotICAgIHN0YXRpYyB2b2lkIGFkZE1hdGNoZWRQcm9wZXJ0aWVzKE1hdGNoUmVzdWx0
JiwgU3R5bGVQcm9wZXJ0eVNldCogcHJvcGVydGllcywgU3R5bGVSdWxlKiA9IDAsIHVuc2lnbmVk
IGxpbmtNYXRjaFR5cGUgPSBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoQWxsKTsKKyAgICBzdGF0aWMg
dm9pZCBhZGRNYXRjaGVkUHJvcGVydGllcyhNYXRjaFJlc3VsdCYsIFN0eWxlUHJvcGVydHlTZXQq
IHByb3BlcnRpZXMsIFN0eWxlUnVsZSogPSAwLCB1bnNpZ25lZCBsaW5rTWF0Y2hUeXBlID0gU2Vs
ZWN0b3JDaGVja2VyOjpNYXRjaEFsbCwgYm9vbCBpblJlZ2lvblJ1bGUgPSBmYWxzZSk7CiAKICAg
ICB2b2lkIG1hdGNoQWxsUnVsZXMoTWF0Y2hSZXN1bHQmKTsKICAgICB2b2lkIG1hdGNoVUFSdWxl
cyhNYXRjaFJlc3VsdCYpOwpAQCAtMzEyLDcgKzMxNSw3IEBAIHByaXZhdGU6CiAgICAgdGVtcGxh
dGUgPGJvb2wgZmlyc3RQYXNzPgogICAgIHZvaWQgYXBwbHlNYXRjaGVkUHJvcGVydGllcyhjb25z
dCBNYXRjaFJlc3VsdCYsIGJvb2wgaW1wb3J0YW50LCBpbnQgc3RhcnRJbmRleCwgaW50IGVuZElu
ZGV4LCBib29sIGluaGVyaXRlZE9ubHkpOwogICAgIHRlbXBsYXRlIDxib29sIGZpcnN0UGFzcz4K
LSAgICB2b2lkIGFwcGx5UHJvcGVydGllcyhjb25zdCBTdHlsZVByb3BlcnR5U2V0KiBwcm9wZXJ0
aWVzLCBTdHlsZVJ1bGUqLCBib29sIGlzSW1wb3J0YW50LCBib29sIGluaGVyaXRlZE9ubHkpOwor
ICAgIHZvaWQgYXBwbHlQcm9wZXJ0aWVzKGNvbnN0IFN0eWxlUHJvcGVydHlTZXQqIHByb3BlcnRp
ZXMsIFN0eWxlUnVsZSosIGJvb2wgaXNJbXBvcnRhbnQsIGJvb2wgaW5oZXJpdGVkT25seSwgYm9v
bCBmaWx0ZXJSZWdpb25Qcm9wZXJ0aWVzKTsKIAogICAgIHN0YXRpYyBib29sIGlzVmFsaWRSZWdp
b25TdHlsZVByb3BlcnR5KGludCBpZCk7CiAK
</data>
<flag name="review"
          id="132164"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>