<?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>163180</bug_id>
          
          <creation_ts>2016-10-09 07:29:10 -0700</creation_ts>
          <short_desc>Enable optimized stylesheet updates in shadow trees</short_desc>
          <delta_ts>2016-10-10 01:21:59 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1238076</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-10-09 07:29:10 -0700</bug_when>
    <thetext>Invalidate less.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238078</commentid>
    <comment_count>1</comment_count>
      <attachid>291043</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-10-09 07:37:22 -0700</bug_when>
    <thetext>Created attachment 291043
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238079</commentid>
    <comment_count>2</comment_count>
      <attachid>291044</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-10-09 07:39:45 -0700</bug_when>
    <thetext>Created attachment 291044
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238226</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-10-10 01:21:59 -0700</bug_when>
    <thetext>https://trac.webkit.org/r206990</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291043</attachid>
            <date>2016-10-09 07:37:22 -0700</date>
            <delta_ts>2016-10-09 07:39:45 -0700</delta_ts>
            <desc>patch</desc>
            <filename>optimized-shadow-invalidation.patch</filename>
            <type>text/plain</type>
            <size>4945</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjk2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE2LTEwLTA5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgb3B0aW1pemVkIHN0
eWxlc2hlZXQgdXBkYXRlcyBpbiBzaGFkb3cgdHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzE4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gd2UgZ2V0IGEgbmV3IHN0eWxlc2hlZXQgKGZv
ciBleGFtcGxlIHdoZW4gbG9hZCBjb21wbGV0ZXMpIHdlIGludmFsaWRhdGUgb25seQorICAgICAg
ICB0aG9zZSBlbGVtZW50cyBpbiBET00gdGhhdCBhcmUgYWZmZWN0ZWQgYnkgdGhlIG5ldyBzaGVl
dC4gVGhpcyBwYXRjaCBtYWtlcyB0aGUKKyAgICAgICAgb3B0aW1pemF0aW9uIHdvcmsgYWxzbyBp
biBzaGFkb3cgdHJlZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9zaGFkb3ctZG9tL3Njb3BlZC1z
dHlsZS1pbnZhbGlkYXRpb24uaHRtbAorCisgICAgICAgICogY3NzL1N0eWxlSW52YWxpZGF0aW9u
QW5hbHlzaXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVJbnZhbGlkYXRpb25BbmFseXNp
czo6aW52YWxpZGF0ZVN0eWxlKToKKyAgICAgICAgKiBjc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFs
eXNpcy5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZGlkUmVtb3ZlQWxsUGVuZGluZ1N0eWxlc2hlZXQpOgorICAgICAgICAqIHN0eWxl
L1N0eWxlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjpyZW1vdmVQ
ZW5kaW5nU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjphbmFseXplU3R5
bGVTaGVldENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnVwZGF0ZUFj
dGl2ZVN0eWxlU2hlZXRzKToKKwogMjAxNi0xMC0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgUHJvbWlzZSBhdHRyaWJ1dGUgZ2V0dGVycyBzaG91bGQgcmVq
ZWN0IHByb21pc2VzIGluIGNhc2Ugb2YgY2FzdGVkLXRoaXMgZXJyb3JzCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlSW52YWxpZGF0aW9uQW5hbHlzaXMuY3BwCShyZXZpc2lv
biAyMDY5NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNp
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OSw2ICsxNjksMTYgQEAgdm9pZCBTdHlsZUludmFs
aWRhdGlvbkFuYWx5c2lzOjppbnZhbGlkYQogICAgIGludmFsaWRhdGVTdHlsZUZvclRyZWUoKmRv
Y3VtZW50RWxlbWVudCwgJmZpbHRlcik7CiB9CiAKK3ZvaWQgU3R5bGVJbnZhbGlkYXRpb25BbmFs
eXNpczo6aW52YWxpZGF0ZVN0eWxlKFNoYWRvd1Jvb3QmIHNoYWRvd1Jvb3QpCit7CisgICAgQVNT
RVJUKCFtX2RpcnRpZXNBbGxTdHlsZSk7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRy
ZW5PZlR5cGU8RWxlbWVudD4oc2hhZG93Um9vdCkpIHsKKyAgICAgICAgU2VsZWN0b3JGaWx0ZXIg
ZmlsdGVyOworICAgICAgICBpbnZhbGlkYXRlU3R5bGVGb3JUcmVlKGNoaWxkLCAmZmlsdGVyKTsK
KyAgICB9Cit9CisKIHZvaWQgU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpczo6aW52YWxpZGF0ZVN0
eWxlKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgQVNTRVJUKCFtX2RpcnRpZXNBbGxTdHlsZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUludmFsaWRhdGlvbkFuYWx5c2lz
LmgJKHJldmlzaW9uIDIwNjk1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUludmFsaWRh
dGlvbkFuYWx5c2lzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgY2xhc3MgRWxl
bWVudDsKIGNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3I7CiBjbGFzcyBSdWxlU2V0OwogY2xhc3Mg
U2VsZWN0b3JGaWx0ZXI7CitjbGFzcyBTaGFkb3dSb290OwogY2xhc3MgU3R5bGVTaGVldENvbnRl
bnRzOwogCiBjbGFzcyBTdHlsZUludmFsaWRhdGlvbkFuYWx5c2lzIHsKQEAgLTQ1LDYgKzQ2LDcg
QEAgcHVibGljOgogICAgIGJvb2wgZGlydGllc0FsbFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9k
aXJ0aWVzQWxsU3R5bGU7IH0KICAgICBib29sIGhhc1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlc0lu
QXV0aG9yU2hlZXQoKSBjb25zdCB7IHJldHVybiBtX2hhc1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxl
c0luQXV0aG9yU2hlZXQ7IH0KICAgICB2b2lkIGludmFsaWRhdGVTdHlsZShEb2N1bWVudCYpOwor
ICAgIHZvaWQgaW52YWxpZGF0ZVN0eWxlKFNoYWRvd1Jvb3QmKTsKICAgICB2b2lkIGludmFsaWRh
dGVTdHlsZShFbGVtZW50Jik7CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAJKHJldmlzaW9uIDIwNjk1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMwNzgsOCArMzA3OCw2IEBAIHZvaWQgRG9jdW1lbnQ6OmRpZFJl
bW92ZUFsbFBlbmRpbmdTdHlsZXMKIHsKICAgICBtX25lZWRzTm90aWZ5UmVtb3ZlQWxsUGVuZGlu
Z1N0eWxlc2hlZXQgPSBmYWxzZTsKIAotICAgIHN0eWxlU2NvcGUoKS5kaWRDaGFuZ2VDYW5kaWRh
dGVzRm9yQWN0aXZlU2V0KCk7Ci0KICAgICBpZiAobV9wZW5kaW5nU2hlZXRMYXlvdXQgPT0gRGlk
TGF5b3V0V2l0aFBlbmRpbmdTaGVldHMpIHsKICAgICAgICAgbV9wZW5kaW5nU2hlZXRMYXlvdXQg
PSBJZ25vcmVMYXlvdXRXaXRoUGVuZGluZ1NoZWV0czsKICAgICAgICAgaWYgKHJlbmRlclZpZXco
KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCShyZXZpc2lvbiAyMDY5NTEp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTI5LDEzICsxMjksMTAgQEAgdm9pZCBTY29wZTo6cmVtb3ZlUGVuZGluZ1NoZWV0KFJlbW92
ZVBlbgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG1fc2hhZG93Um9vdCkgewot
ICAgICAgICAvLyBGSVhNRTogTWFrZSBvcHRpbWl6ZWQgdXBkYXRlcyB3b3JrLgotICAgICAgICBk
aWRDaGFuZ2VDb250ZW50c09ySW50ZXJwcmV0YXRpb24oKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KKyAgICBkaWRDaGFuZ2VDYW5kaWRhdGVzRm9yQWN0aXZlU2V0KCk7CiAKLSAgICBtX2RvY3Vt
ZW50LmRpZFJlbW92ZUFsbFBlbmRpbmdTdHlsZXNoZWV0KCk7CisgICAgaWYgKCFtX3NoYWRvd1Jv
b3QpCisgICAgICAgIG1fZG9jdW1lbnQuZGlkUmVtb3ZlQWxsUGVuZGluZ1N0eWxlc2hlZXQoKTsK
IH0KIAogdm9pZCBTY29wZTo6YWRkU3R5bGVTaGVldENhbmRpZGF0ZU5vZGUoTm9kZSYgbm9kZSwg
Ym9vbCBjcmVhdGVkQnlQYXJzZXIpCkBAIC0zMDAsNyArMjk3LDEyIEBAIFNjb3BlOjpTdHlsZVJl
c29sdmVyVXBkYXRlVHlwZSBTY29wZTo6YW4KICAgICBTdHlsZUludmFsaWRhdGlvbkFuYWx5c2lz
IGludmFsaWRhdGlvbkFuYWx5c2lzKGFkZGVkU2hlZXRzLCBzdHlsZVJlc29sdmVyLm1lZGlhUXVl
cnlFdmFsdWF0b3IoKSk7CiAgICAgaWYgKGludmFsaWRhdGlvbkFuYWx5c2lzLmRpcnRpZXNBbGxT
dHlsZSgpKQogICAgICAgICByZXR1cm4gc3R5bGVSZXNvbHZlclVwZGF0ZVR5cGU7Ci0gICAgaW52
YWxpZGF0aW9uQW5hbHlzaXMuaW52YWxpZGF0ZVN0eWxlKG1fZG9jdW1lbnQpOworCisgICAgaWYg
KG1fc2hhZG93Um9vdCkKKyAgICAgICAgaW52YWxpZGF0aW9uQW5hbHlzaXMuaW52YWxpZGF0ZVN0
eWxlKCptX3NoYWRvd1Jvb3QpOworICAgIGVsc2UKKyAgICAgICAgaW52YWxpZGF0aW9uQW5hbHlz
aXMuaW52YWxpZGF0ZVN0eWxlKG1fZG9jdW1lbnQpOworCiAgICAgcmVxdWlyZXNGdWxsU3R5bGVS
ZWNhbGMgPSBmYWxzZTsKIAogICAgIHJldHVybiBzdHlsZVJlc29sdmVyVXBkYXRlVHlwZTsKQEAg
LTM0NywxMCArMzQ5LDYgQEAgdm9pZCBTY29wZTo6dXBkYXRlQWN0aXZlU3R5bGVTaGVldHMoVXBk
YQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gRklYTUU6IFN1cHBvcnQgb3B0aW1p
emVkIGludmFsaWRhdGlvbiBpbiBzaGFkb3cgdHJlZXMuCi0gICAgaWYgKG1fc2hhZG93Um9vdCkK
LSAgICAgICAgdXBkYXRlVHlwZSA9IFVwZGF0ZVR5cGU6OkNvbnRlbnRzT3JJbnRlcnByZXRhdGlv
bjsKLQogICAgIG1fZGlkVXBkYXRlQWN0aXZlU3R5bGVTaGVldHMgPSB0cnVlOwogCiAgICAgVmVj
dG9yPFJlZlB0cjxTdHlsZVNoZWV0Pj4gYWN0aXZlU3R5bGVTaGVldHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291044</attachid>
            <date>2016-10-09 07:39:45 -0700</date>
            <delta_ts>2016-10-09 15:35:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>optimized-shadow-invalidation.patch</filename>
            <type>text/plain</type>
            <size>8437</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwNjk2NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE2LTEwLTA5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBFbmFibGUgb3B0aW1pemVkIHN0
eWxlc2hlZXQgdXBkYXRlcyBpbiBzaGFkb3cgdHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzE4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gd2UgZ2V0IGEgbmV3IHN0eWxlc2hlZXQgKGZv
ciBleGFtcGxlIHdoZW4gbG9hZCBjb21wbGV0ZXMpIHdlIGludmFsaWRhdGUgb25seQorICAgICAg
ICB0aG9zZSBlbGVtZW50cyBpbiBET00gdGhhdCBhcmUgYWZmZWN0ZWQgYnkgdGhlIG5ldyBzaGVl
dC4gVGhpcyBwYXRjaCBtYWtlcyB0aGUKKyAgICAgICAgb3B0aW1pemF0aW9uIHdvcmsgYWxzbyBp
biBzaGFkb3cgdHJlZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9zaGFkb3ctZG9tL3Njb3BlZC1z
dHlsZS1pbnZhbGlkYXRpb24uaHRtbAorCisgICAgICAgICogY3NzL1N0eWxlSW52YWxpZGF0aW9u
QW5hbHlzaXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVJbnZhbGlkYXRpb25BbmFseXNp
czo6aW52YWxpZGF0ZVN0eWxlKToKKyAgICAgICAgKiBjc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFs
eXNpcy5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZGlkUmVtb3ZlQWxsUGVuZGluZ1N0eWxlc2hlZXQpOgorICAgICAgICAqIHN0eWxl
L1N0eWxlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjpyZW1vdmVQ
ZW5kaW5nU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlNjb3BlOjphbmFseXplU3R5
bGVTaGVldENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6U2NvcGU6OnVwZGF0ZUFj
dGl2ZVN0eWxlU2hlZXRzKToKKwogMjAxNi0xMC0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgUHJvbWlzZSBhdHRyaWJ1dGUgZ2V0dGVycyBzaG91bGQgcmVq
ZWN0IHByb21pc2VzIGluIGNhc2Ugb2YgY2FzdGVkLXRoaXMgZXJyb3JzCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlSW52YWxpZGF0aW9uQW5hbHlzaXMuY3BwCShyZXZpc2lv
biAyMDY5NTEpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNp
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2OSw2ICsxNjksMTYgQEAgdm9pZCBTdHlsZUludmFs
aWRhdGlvbkFuYWx5c2lzOjppbnZhbGlkYQogICAgIGludmFsaWRhdGVTdHlsZUZvclRyZWUoKmRv
Y3VtZW50RWxlbWVudCwgJmZpbHRlcik7CiB9CiAKK3ZvaWQgU3R5bGVJbnZhbGlkYXRpb25BbmFs
eXNpczo6aW52YWxpZGF0ZVN0eWxlKFNoYWRvd1Jvb3QmIHNoYWRvd1Jvb3QpCit7CisgICAgQVNT
RVJUKCFtX2RpcnRpZXNBbGxTdHlsZSk7CisKKyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRy
ZW5PZlR5cGU8RWxlbWVudD4oc2hhZG93Um9vdCkpIHsKKyAgICAgICAgU2VsZWN0b3JGaWx0ZXIg
ZmlsdGVyOworICAgICAgICBpbnZhbGlkYXRlU3R5bGVGb3JUcmVlKGNoaWxkLCAmZmlsdGVyKTsK
KyAgICB9Cit9CisKIHZvaWQgU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpczo6aW52YWxpZGF0ZVN0
eWxlKEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgQVNTRVJUKCFtX2RpcnRpZXNBbGxTdHlsZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUludmFsaWRhdGlvbkFuYWx5c2lz
LmgJKHJldmlzaW9uIDIwNjk1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUludmFsaWRh
dGlvbkFuYWx5c2lzLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgY2xhc3MgRWxl
bWVudDsKIGNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3I7CiBjbGFzcyBSdWxlU2V0OwogY2xhc3Mg
U2VsZWN0b3JGaWx0ZXI7CitjbGFzcyBTaGFkb3dSb290OwogY2xhc3MgU3R5bGVTaGVldENvbnRl
bnRzOwogCiBjbGFzcyBTdHlsZUludmFsaWRhdGlvbkFuYWx5c2lzIHsKQEAgLTQ1LDYgKzQ2LDcg
QEAgcHVibGljOgogICAgIGJvb2wgZGlydGllc0FsbFN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9k
aXJ0aWVzQWxsU3R5bGU7IH0KICAgICBib29sIGhhc1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxlc0lu
QXV0aG9yU2hlZXQoKSBjb25zdCB7IHJldHVybiBtX2hhc1NoYWRvd1BzZXVkb0VsZW1lbnRSdWxl
c0luQXV0aG9yU2hlZXQ7IH0KICAgICB2b2lkIGludmFsaWRhdGVTdHlsZShEb2N1bWVudCYpOwor
ICAgIHZvaWQgaW52YWxpZGF0ZVN0eWxlKFNoYWRvd1Jvb3QmKTsKICAgICB2b2lkIGludmFsaWRh
dGVTdHlsZShFbGVtZW50Jik7CiAKIHByaXZhdGU6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAJKHJldmlzaW9uIDIwNjk1MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMwNzgsOCArMzA3OCw2IEBAIHZvaWQgRG9jdW1lbnQ6OmRpZFJl
bW92ZUFsbFBlbmRpbmdTdHlsZXMKIHsKICAgICBtX25lZWRzTm90aWZ5UmVtb3ZlQWxsUGVuZGlu
Z1N0eWxlc2hlZXQgPSBmYWxzZTsKIAotICAgIHN0eWxlU2NvcGUoKS5kaWRDaGFuZ2VDYW5kaWRh
dGVzRm9yQWN0aXZlU2V0KCk7Ci0KICAgICBpZiAobV9wZW5kaW5nU2hlZXRMYXlvdXQgPT0gRGlk
TGF5b3V0V2l0aFBlbmRpbmdTaGVldHMpIHsKICAgICAgICAgbV9wZW5kaW5nU2hlZXRMYXlvdXQg
PSBJZ25vcmVMYXlvdXRXaXRoUGVuZGluZ1NoZWV0czsKICAgICAgICAgaWYgKHJlbmRlclZpZXco
KSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlU2NvcGUuY3BwCShyZXZpc2lvbiAyMDY5NTEp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTI5LDEzICsxMjksMTAgQEAgdm9pZCBTY29wZTo6cmVtb3ZlUGVuZGluZ1NoZWV0KFJlbW92
ZVBlbgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKG1fc2hhZG93Um9vdCkgewot
ICAgICAgICAvLyBGSVhNRTogTWFrZSBvcHRpbWl6ZWQgdXBkYXRlcyB3b3JrLgotICAgICAgICBk
aWRDaGFuZ2VDb250ZW50c09ySW50ZXJwcmV0YXRpb24oKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KKyAgICBkaWRDaGFuZ2VDYW5kaWRhdGVzRm9yQWN0aXZlU2V0KCk7CiAKLSAgICBtX2RvY3Vt
ZW50LmRpZFJlbW92ZUFsbFBlbmRpbmdTdHlsZXNoZWV0KCk7CisgICAgaWYgKCFtX3NoYWRvd1Jv
b3QpCisgICAgICAgIG1fZG9jdW1lbnQuZGlkUmVtb3ZlQWxsUGVuZGluZ1N0eWxlc2hlZXQoKTsK
IH0KIAogdm9pZCBTY29wZTo6YWRkU3R5bGVTaGVldENhbmRpZGF0ZU5vZGUoTm9kZSYgbm9kZSwg
Ym9vbCBjcmVhdGVkQnlQYXJzZXIpCkBAIC0zMDAsNyArMjk3LDEyIEBAIFNjb3BlOjpTdHlsZVJl
c29sdmVyVXBkYXRlVHlwZSBTY29wZTo6YW4KICAgICBTdHlsZUludmFsaWRhdGlvbkFuYWx5c2lz
IGludmFsaWRhdGlvbkFuYWx5c2lzKGFkZGVkU2hlZXRzLCBzdHlsZVJlc29sdmVyLm1lZGlhUXVl
cnlFdmFsdWF0b3IoKSk7CiAgICAgaWYgKGludmFsaWRhdGlvbkFuYWx5c2lzLmRpcnRpZXNBbGxT
dHlsZSgpKQogICAgICAgICByZXR1cm4gc3R5bGVSZXNvbHZlclVwZGF0ZVR5cGU7Ci0gICAgaW52
YWxpZGF0aW9uQW5hbHlzaXMuaW52YWxpZGF0ZVN0eWxlKG1fZG9jdW1lbnQpOworCisgICAgaWYg
KG1fc2hhZG93Um9vdCkKKyAgICAgICAgaW52YWxpZGF0aW9uQW5hbHlzaXMuaW52YWxpZGF0ZVN0
eWxlKCptX3NoYWRvd1Jvb3QpOworICAgIGVsc2UKKyAgICAgICAgaW52YWxpZGF0aW9uQW5hbHlz
aXMuaW52YWxpZGF0ZVN0eWxlKG1fZG9jdW1lbnQpOworCiAgICAgcmVxdWlyZXNGdWxsU3R5bGVS
ZWNhbGMgPSBmYWxzZTsKIAogICAgIHJldHVybiBzdHlsZVJlc29sdmVyVXBkYXRlVHlwZTsKQEAg
LTM0NywxMCArMzQ5LDYgQEAgdm9pZCBTY29wZTo6dXBkYXRlQWN0aXZlU3R5bGVTaGVldHMoVXBk
YQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gRklYTUU6IFN1cHBvcnQgb3B0aW1p
emVkIGludmFsaWRhdGlvbiBpbiBzaGFkb3cgdHJlZXMuCi0gICAgaWYgKG1fc2hhZG93Um9vdCkK
LSAgICAgICAgdXBkYXRlVHlwZSA9IFVwZGF0ZVR5cGU6OkNvbnRlbnRzT3JJbnRlcnByZXRhdGlv
bjsKLQogICAgIG1fZGlkVXBkYXRlQWN0aXZlU3R5bGVTaGVldHMgPSB0cnVlOwogCiAgICAgVmVj
dG9yPFJlZlB0cjxTdHlsZVNoZWV0Pj4gYWN0aXZlU3R5bGVTaGVldHM7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAyMDY5NTEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxMyBAQAorMjAxNi0xMC0wOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CisKKyAgICAgICAgRW5hYmxlIG9wdGltaXplZCBzdHlsZXNoZWV0IHVwZGF0ZXMgaW4gc2hh
ZG93IHRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjMxODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGZhc3Qvc2hhZG93LWRvbS9zY29wZWQtc3R5bGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zaGFkb3ctZG9tL3Njb3BlZC1zdHlsZS1pbnZhbGlk
YXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTYtMTAtMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlIGluY29ycmVjdGx5
IHJldHVybnMgYWxsIGxvd2VyY2FzZSBzdHJpbmcKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2hh
ZG93LWRvbS9zY29wZWQtc3R5bGUtaW52YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2NvcGVkLXN0eWxlLWludmFsaWRhdGlv
bi1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zaGFkb3ct
ZG9tL3Njb3BlZC1zdHlsZS1pbnZhbGlkYXRpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNiBAQAorCitQQVNTIFRlc3QgdGhhdCBhZGRpbmcgc3R5bGVzaGVldCB3aXRo
IG1hdGNoaW5nIHNlbGVjdG9yIGludmFsaWRhdGVzIGluIGRvY3VtZW50IHNjb3BlIAorUEFTUyBU
ZXN0IHRoYXQgYWRkaW5nIHN0eWxlc2hlZXQgd2l0aG91dCBtYXRjaGluZyBzZWxlY3RvciBkb2Vz
IG5vdCBpbnZhbGlkYXRlIGluIGRvY3VtZW50IHNjb3BlIAorUEFTUyBUZXN0IHRoYXQgYWRkaW5n
IHN0eWxlc2hlZXQgd2l0aCBtYXRjaGluZyBzZWxlY3RvciBpbnZhbGlkYXRlcyBpbiBzaGFkb3cg
c2NvcGUgCitQQVNTIFRlc3QgdGhhdCBhZGRpbmcgc3R5bGVzaGVldCB3aXRob3V0IG1hdGNoaW5n
IHNlbGVjdG9yIGRvZXMgbm90IGludmFsaWRhdGUgaW4gc2hhZG93IHNjb3BlIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3NoYWRvdy1kb20vc2NvcGVkLXN0eWxlLWludmFsaWRhdGlvbi5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2hhZG93LWRvbS9zY29wZWQtc3R5bGUt
aW52YWxpZGF0aW9uLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zaGFk
b3ctZG9tL3Njb3BlZC1zdHlsZS1pbnZhbGlkYXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDQzIEBACis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorCis8ZGl2PjwvZGl2PgorPGRpdiBjbGFzcz1zdHlsZWQ+PGRpdj48
L2Rpdj48L2Rpdj4KKzxkaXY+PGRpdiBjbGFzcz1zdHlsZWQ+PC9kaXY+PC9kaXY+CisKKzxkaXYg
aWQ9aG9zdD48L2Rpdj4KKworPHNjcmlwdD4KK3ZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2hvc3QnKTsKK3ZhciBzaGFkb3cgPSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Ns
b3NlZCd9KTsKK3NoYWRvdy5pbm5lckhUTUwgPSBgCisgICAgPGRpdj48L2Rpdj4KKyAgICA8ZGl2
IGNsYXNzPXN0eWxlZD48ZGl2PjwvZGl2PjwvZGl2PgorICAgIDxkaXY+PGRpdiBjbGFzcz1zdHls
ZWQ+PC9kaXY+PC9kaXY+CitgOworCitmdW5jdGlvbiB0ZXN0SW52YWxpZGF0aW9uKHNjb3BlLCBj
c3NUZXh0LCBzaG91bGRJbnZhbGlkYXRlLCBuYW1lKQoreworICAgIHRlc3QoKCkgPT4geworICAg
ICAgICBpbnRlcm5hbHMudXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVu
UG9zdExheW91dFRhc2tzKCk7CisKKyAgICAgICAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3R5bGUiKTsKKyAgICAgICAgc3R5bGUudGV4dENvbnRlbnQgPSBjc3NUZXh0Owor
ICAgICAgICBzY29wZS5hcHBlbmRDaGlsZChzdHlsZSk7CisKKyAgICAgICAgdmFyIHN0eWxlZERp
diA9IHNjb3BlLnF1ZXJ5U2VsZWN0b3JBbGwoImRpdi5zdHlsZWQiKTsKKyAgICAgICAgZm9yICh2
YXIgZGl2IG9mIHN0eWxlZERpdikKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJuYWxz
LnN0eWxlQ2hhbmdlVHlwZShkaXYpLCBzaG91bGRJbnZhbGlkYXRlID8gIklubGluZVN0eWxlQ2hh
bmdlIiA6ICJOb1N0eWxlQ2hhbmdlIik7CisKKyAgICAgICAgdmFyIG5vdFN0eWxlZERpdiA9IHNj
b3BlLnF1ZXJ5U2VsZWN0b3JBbGwoImRpdjpub3QoLnN0eWxlZCkiKTsKKyAgICAgICAgZm9yICh2
YXIgZGl2IG9mIG5vdFN0eWxlZERpdikKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoaW50ZXJu
YWxzLnN0eWxlQ2hhbmdlVHlwZShkaXYpLCAiTm9TdHlsZUNoYW5nZSIpOworICAgIH0sIG5hbWUp
OworfQorCit0ZXN0SW52YWxpZGF0aW9uKGRvY3VtZW50LmJvZHksICIuc3R5bGVkIHsgY29sb3I6
IHJlZCB9IiwgdHJ1ZSwgIlRlc3QgdGhhdCBhZGRpbmcgc3R5bGVzaGVldCB3aXRoIG1hdGNoaW5n
IHNlbGVjdG9yIGludmFsaWRhdGVzIGluIGRvY3VtZW50IHNjb3BlIik7Cit0ZXN0SW52YWxpZGF0
aW9uKGRvY3VtZW50LmJvZHksICIubm90aGVyZSB7IGNvbG9yOiByZWQgfSIsIGZhbHNlLCAiVGVz
dCB0aGF0IGFkZGluZyBzdHlsZXNoZWV0IHdpdGhvdXQgbWF0Y2hpbmcgc2VsZWN0b3IgZG9lcyBu
b3QgaW52YWxpZGF0ZSBpbiBkb2N1bWVudCBzY29wZSIpOwordGVzdEludmFsaWRhdGlvbihzaGFk
b3csICIuc3R5bGVkIHsgY29sb3I6IHJlZCB9IiwgdHJ1ZSwgIlRlc3QgdGhhdCBhZGRpbmcgc3R5
bGVzaGVldCB3aXRoIG1hdGNoaW5nIHNlbGVjdG9yIGludmFsaWRhdGVzIGluIHNoYWRvdyBzY29w
ZSIpOwordGVzdEludmFsaWRhdGlvbihzaGFkb3csICIubm90aGVyZSB7IGNvbG9yOiByZWQgfSIs
IGZhbHNlLCAiVGVzdCB0aGF0IGFkZGluZyBzdHlsZXNoZWV0IHdpdGhvdXQgbWF0Y2hpbmcgc2Vs
ZWN0b3IgZG9lcyBub3QgaW52YWxpZGF0ZSBpbiBzaGFkb3cgc2NvcGUiKTsKKworPC9zY3JpcHQ+
Cg==
</data>
<flag name="review"
          id="314191"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>