<?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>115533</bug_id>
          
          <creation_ts>2013-05-02 16:20:02 -0700</creation_ts>
          <short_desc>Shadow DOM removal: Get rid of ContentSelectorQuery</short_desc>
          <delta_ts>2013-05-02 16:56:17 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kling</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>884006</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-05-02 16:20:02 -0700</bug_when>
    <thetext>This is only used for Shadow DOM distribution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884017</commentid>
    <comment_count>1</comment_count>
      <attachid>200371</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-05-02 16:50:09 -0700</bug_when>
    <thetext>Created attachment 200371
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884018</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-05-02 16:56:17 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/149507</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200371</attachid>
            <date>2013-05-02 16:50:09 -0700</date>
            <delta_ts>2013-05-02 16:51:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>remove-contentselectorquery.patch</filename>
            <type>text/plain</type>
            <size>19158</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0OTUwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEzLTA1LTAyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFkb3cgRE9NIHJlbW92YWw6
IEdldCByaWQgb2YgQ29udGVudFNlbGVjdG9yUXVlcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTUzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgb25seSB1c2VkIGZvciBTaGFkb3cgRE9N
IGRpc3RyaWJ1dGlvbi4gPGRldGFpbHM+IGVsZW1lbnQgd29ya3MgZmluZSB3aXRob3V0IGl0Lgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6Cisg
ICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAg
ICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL3No
YWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudERp
c3RyaWJ1dG9yOjpkaXN0cmlidXRlU2VsZWN0aW9uc1RvKToKKyAgICAgICAgKiBodG1sL3NoYWRv
dy9Db250ZW50U2VsZWN0b3JRdWVyeS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9zaGFk
b3cvQ29udGVudFNlbGVjdG9yUXVlcnkuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL3NoYWRv
dy9IVE1MQ29udGVudEVsZW1lbnQuY3BwOgorCiAyMDEzLTA1LTAyICBBcm5hdWQgUmVuZXZpZXIg
IDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAgYm9yZGVyLXJhZGl1cyBj
bGlwcGluZyBhIGNhbnZhcyBkb2VzIG5vdCBhbHdheXMgY2xpcApJbmRleDogU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQJKHJldmlzaW9uIDE0OTQ5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTY1LDcgKzE1NjUsNiBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAKICAgICBodG1sL3NoYWRvdy9DbGVhckJ1dHRvbkVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFk
b3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcAotICAgIGh0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3Rv
clF1ZXJ5LmNwcAogICAgIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCiAgICAg
aHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwCiAgICAgaHRtbC9zaGFkb3cvRGF0
ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CShyZXZpc2lvbiAxNDk1MDEpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CSh3b3JraW5nIGNvcHkpCkBAIC0zNzI1LDggKzM3MjUsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NsZWFyQnV0dG9uRWxlbWVudC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuaCBcCi0JU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwIFwKLQlTb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0b3JRdWVyeS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHAgXApJbmRleDogU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCShyZXZp
c2lvbiAxNDk1MDEpCisrKyBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkp
CkBAIC03NjEsNyArNzYxLDYgQEAgU09VUkNFUyArPSBcCiAgICAgaHRtbC9wYXJzZXIvWFNTQXVk
aXRvckRlbGVnYXRlLmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvQ2xlYXJCdXR0b25FbGVtZW50LmNw
cCBcCiAgICAgaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcCBcCi0gICAgaHRtbC9z
aGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwIFwKICAgICBodG1sL3NoYWRvdy9EYXRlVGlt
ZUVkaXRFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQu
Y3BwIFwKICAgICBodG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwIFwKQEAgLTE5
NTAsNyArMTk0OSw2IEBAIEhFQURFUlMgKz0gXAogICAgIGh0bWwvcGFyc2VyL1hTU0F1ZGl0b3Iu
aCBcCiAgICAgaHRtbC9wYXJzZXIvWFNTQXVkaXRvckRlbGVnYXRlLmggXAogICAgIGh0bWwvc2hh
ZG93L0NvbnRlbnREaXN0cmlidXRvci5oIFwKLSAgICBodG1sL3NoYWRvdy9Db250ZW50U2VsZWN0
b3JRdWVyeS5oIFwKICAgICBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaCBcCiAgICAg
aHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaCBcCiAgICAgaHRtbC9zaGFkb3cvTWVkaWFD
b250cm9sRWxlbWVudFR5cGVzLmggXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDE0OTUwMSkKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02NTQ4Niwx
NCArNjU0ODYsNiBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0
aXZlUGF0aD0iLi5caHRtbFxzaGFkb3dcQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwIgotCQkJCQk+
Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxzaGFk
b3dcQ29udGVudFNlbGVjdG9yUXVlcnkuaCIKLQkJCQkJPgotCQkJCTwvRmlsZT4KLQkJCQk8Rmls
ZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQu
Y3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCShyZXZpc2lvbiAxNDk1MDEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDQgKzEsNCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K
Kzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CiA8UHJvamVjdCBEZWZhdWx0
VGFyZ2V0cz0iQnVpbGQiIFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMu
bWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KICAgPEl0ZW1Hcm91cCBMYWJl
bD0iUHJvamVjdENvbmZpZ3VyYXRpb25zIj4KICAgICA8UHJvamVjdENvbmZpZ3VyYXRpb24gSW5j
bHVkZT0iRGVidWdTdWZmaXh8V2luMzIiPgpAQCAtOTA0MSw3ICs5MDQxLDYgQEAKICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JEZWxlZ2F0ZS5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDbGVhckJ1dHRvbkVsZW1l
bnQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcQ29udGVu
dERpc3RyaWJ1dG9yLmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hh
ZG93XENvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1l
bnRzLmNwcCIgLz4KQEAgLTEyODcyLDcgKzEyODcxLDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxccGFyc2VyXFhTU0F1ZGl0b3JEZWxlZ2F0ZS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5caHRtbFxzaGFkb3dcQ2xlYXJCdXR0b25FbGVtZW50LmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDb250ZW50RGlzdHJpYnV0b3IuaCIg
Lz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XENvbnRlbnRTZWxlY3Rv
clF1ZXJ5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xEYXRl
VGltZUVkaXRFbGVtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNo
YWRvd1xEYXRlVGltZUZpZWxkRWxlbWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caHRtbFxzaGFkb3dcRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmgiIC8+CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0
ZXJzCShyZXZpc2lvbiAxNDk1MDEpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMJKHdvcmtpbmcgY29weSkKQEAgLTQzMjksOSArNDMyOSw2
IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDb250ZW50RGlzdHJp
YnV0b3IuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XENvbnRlbnRT
ZWxlY3RvclF1ZXJ5LmNwcCI+Ci0gICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+Ci0g
ICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xE
YXRlVGltZUVkaXRFbGVtZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0
ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTI3Nyw5ICsxMTI3NCw2IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDb250ZW50RGlzdHJpYnV0b3IuaCI+CiAgICAg
ICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXHNoYWRvd1xDb250ZW50U2VsZWN0b3JRdWVyeS5oIj4K
LSAgICAgIDxGaWx0ZXI+aHRtbFxzaGFkb3c8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcc2hhZG93XERhdGVUaW1lRWRpdEVsZW1lbnQu
aCI+CiAgICAgICA8RmlsdGVyPmh0bWxcc2hhZG93PC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAxNDk1MDEpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE2NjYsOCArMTY2Niw2IEBA
CiAJCTU3OERBMjBGMTUyMEVCQTMwMDYxNDFDMSAvKiBJbnNwZWN0b3JUeXBlQnVpbGRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTczRDEzNDYxNENF
MzlGRjAwNTdBQkNBIC8qIEluc3BlY3RvclR5cGVCdWlsZGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTdCNzkxQTMxNEM2QTYyOTAwRjIwMkQx
IC8qIENvbnRlbnREaXN0cmlidXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1N0I3OTE5RjE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVudERpc3Ry
aWJ1dG9yLmNwcCAqLzsgfTsKIAkJNTdCNzkxQTQxNEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnRE
aXN0cmlidXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTdCNzkxQTAxNEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnREaXN0cmlidXRvci5oICovOyB9
OwotCQk1N0I3OTFBNTE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVudFNlbGVjdG9yUXVlcnkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdCNzkxQTEx
NEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcCAqLzsgfTsKLQkJNTdC
NzkxQTYxNEM2QTYyOTAwRjIwMkQxIC8qIENvbnRlbnRTZWxlY3RvclF1ZXJ5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0I3OTFBMjE0QzZBNjI5MDBG
MjAyRDEgLyogQ29udGVudFNlbGVjdG9yUXVlcnkuaCAqLzsgfTsKIAkJNTdCNzkxQTkxNEM2QTYz
MzAwRjIwMkQxIC8qIEhUTUxDb250ZW50RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0I3OTFBNzE0QzZBNjMzMDBGMjAyRDEgLyogSFRN
TENvbnRlbnRFbGVtZW50LmNwcCAqLzsgfTsKIAkJNTdCNzkxQUExNEM2QTYzMzAwRjIwMkQxIC8q
IEhUTUxDb250ZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTdCNzkxQTgxNEM2QTYzMzAwRjIwMkQxIC8qIEhUTUxDb250ZW50RWxlbWVu
dC5oICovOyB9OwogCQk1N0NGNDk3NDE0RUUzNkQ3MDBFQ0ZGMTQgLyogSW5zZXJ0aW9uUG9pbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTdDRjQ5
NzIxNEVFMzZENzAwRUNGRjE0IC8qIEluc2VydGlvblBvaW50LmNwcCAqLzsgfTsKQEAgLTgwNzUs
OCArODA3Myw2IEBACiAJCTU3M0QxMzQ2MTRDRTM5RkYwMDU3QUJDQSAvKiBJbnNwZWN0b3JUeXBl
QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JUeXBl
QnVpbGRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0I3OTE5RjE0QzZBNjI5
MDBGMjAyRDEgLyogQ29udGVudERpc3RyaWJ1dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENvbnRlbnREaXN0cmlidXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTU3Qjc5MUEwMTRDNkE2MjkwMEYyMDJEMSAvKiBDb250ZW50RGlzdHJpYnV0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGVudERpc3RyaWJ1dG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTU3Qjc5MUExMTRDNkE2MjkwMEYyMDJE
MSAvKiBDb250ZW50U2VsZWN0b3JRdWVyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDb250ZW50U2VsZWN0b3JRdWVyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTU3Qjc5MUEyMTRDNkE2MjkwMEYyMDJEMSAvKiBDb250ZW50U2VsZWN0b3JRdWVy
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50U2VsZWN0b3JRdWVy
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1N0I3OTFBNzE0QzZBNjMzMDBGMjAy
RDEgLyogSFRNTENvbnRlbnRFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEhUTUxDb250ZW50RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU3Qjc5MUE4MTRDNkE2MzMwMEYyMDJEMSAvKiBIVE1MQ29udGVudEVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTENvbnRlbnRFbGVtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3Q0Y0OTcyMTRFRTM2RDcwMEVDRkYxNCAvKiBJ
bnNlcnRpb25Qb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJ
bnNlcnRpb25Qb2ludC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzkyMSw4
ICsxMzkxNyw2IEBACiAJCQkJQzM3REY4RUUxNkU3NDY3MTAwNzlBMEVCIC8qIENsZWFyQnV0dG9u
RWxlbWVudC5oICovLAogCQkJCTU3Qjc5MTlGMTRDNkE2MjkwMEYyMDJEMSAvKiBDb250ZW50RGlz
dHJpYnV0b3IuY3BwICovLAogCQkJCTU3Qjc5MUEwMTRDNkE2MjkwMEYyMDJEMSAvKiBDb250ZW50
RGlzdHJpYnV0b3IuaCAqLywKLQkJCQk1N0I3OTFBMTE0QzZBNjI5MDBGMjAyRDEgLyogQ29udGVu
dFNlbGVjdG9yUXVlcnkuY3BwICovLAotCQkJCTU3Qjc5MUEyMTRDNkE2MjkwMEYyMDJEMSAvKiBD
b250ZW50U2VsZWN0b3JRdWVyeS5oICovLAogCQkJCTQ1ODYxQzc1MTYxOTRBNzQwMDAxMEYzQSAv
KiBEYXRlVGltZUVkaXRFbGVtZW50LmNwcCAqLywKIAkJCQk0NTg2MUM3NjE2MTk0QTc0MDAwMTBG
M0EgLyogRGF0ZVRpbWVFZGl0RWxlbWVudC5oICovLAogCQkJCTQ1ODYxQzc3MTYxOTRBNzQwMDAx
MEYzQSAvKiBEYXRlVGltZUZpZWxkRWxlbWVudC5jcHAgKi8sCkBAIC0yMTIwNSw3ICsyMTE5OSw2
IEBACiAJCQkJMjkxOUExRTkxNkIzMzc2NjAwNzg3MjEzIC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTU5MTAyRkJDMTQzMjdEM0IwMDNDOUQwNCAvKiBDb250ZW50U2VhcmNo
VXRpbHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzQ3MURDMTJGOTI1QkQwMDg2MzU0QiAvKiBD
b250ZW50U2VjdXJpdHlQb2xpY3kuaCBpbiBIZWFkZXJzICovLAotCQkJCTU3Qjc5MUE2MTRDNkE2
MjkwMEYyMDJEMSAvKiBDb250ZW50U2VsZWN0b3JRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDFEMDE1Q0EwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzYyN0I4RTE0RkIzQ0VFMDAyQ0RDQTEgLyogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDNDQTExMTU3REY4RTkwMDg2MEE5NyAvKiBDb250
ZXh0RmVhdHVyZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ2MzEsNyArMjQ2MjQsNiBAQAogCQkJ
CTI5MTlBMUVCMTZCMzM3ODkwMDc4NzIxMyAvKiBDb250ZW50RmlsdGVyTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTkxMDJGQkIxNDMyN0QzQjAwM0M5RDA0IC8qIENvbnRlbnRTZWFyY2hVdGls
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0M0NzFEQjEyRjkyNUJEMDA4NjM1NEIgLyogQ29u
dGVudFNlY3VyaXR5UG9saWN5LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTU3Qjc5MUE1MTRDNkE2
MjkwMEYyMDJEMSAvKiBDb250ZW50U2VsZWN0b3JRdWVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0MUQwMTVDQjBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTc2MjdCOEQxNEZCM0NFRTAwMkNEQ0ExIC8qIENvbnRleHREZXN0cnVjdGlvbk9i
c2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RDNDQTEwMTU3REY4RTkwMDg2MEE5NyAv
KiBDb250ZXh0RmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHAJKHJldmlzaW9uIDE0
OTQ5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJDb250ZW50RGlzdHJpYnV0b3IuaCIKIAotI2luY2x1ZGUgIkNvbnRlbnRTZWxl
Y3RvclF1ZXJ5LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgogI2luY2x1ZGUgIkhUTUxD
b250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxTaGFkb3dFbGVtZW50LmgiCkBAIC0zMDIs
MTMgKzMwMSwxMiBAQCBib29sIENvbnRlbnREaXN0cmlidXRvcjo6aW52YWxpZGF0ZShFbGVtCiB2
b2lkIENvbnRlbnREaXN0cmlidXRvcjo6ZGlzdHJpYnV0ZVNlbGVjdGlvbnNUbyhJbnNlcnRpb25Q
b2ludCogaW5zZXJ0aW9uUG9pbnQsIGNvbnN0IENvbnRlbnREaXN0cmlidXRpb24mIHBvb2wsIFZl
Y3Rvcjxib29sPiYgZGlzdHJpYnV0ZWQpCiB7CiAgICAgQ29udGVudERpc3RyaWJ1dGlvbiBkaXN0
cmlidXRpb247Ci0gICAgQ29udGVudFNlbGVjdG9yUXVlcnkgcXVlcnkoaW5zZXJ0aW9uUG9pbnQp
OwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBwb29sLnNpemUoKTsgKytpKSB7CiAgICAg
ICAgIGlmIChkaXN0cmlidXRlZFtpXSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAg
IGlmICghcXVlcnkubWF0Y2hlcyhwb29sLm5vZGVzKCksIGkpKQorICAgICAgICBpZiAoaW5zZXJ0
aW9uUG9pbnQtPm1hdGNoVHlwZUZvcihwb29sLm5vZGVzKCkuYXQoaSkuZ2V0KCkpICE9IEluc2Vy
dGlvblBvaW50OjpBbHdheXNNYXRjaGVzKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAg
ICAgTm9kZSogY2hpbGQgPSBwb29sLmF0KGkpLmdldCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVlcnkuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmNwcAkocmV2aXNpb24g
MTQ5NDk4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudFNlbGVjdG9yUXVl
cnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDg2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiQ29udGVudFNlbGVjdG9yUXVlcnkuaCIKLQotI2luY2x1ZGUgIkNTU1Nl
bGVjdG9yTGlzdC5oIgotI2luY2x1ZGUgIkluc2VydGlvblBvaW50LmgiCi0jaW5jbHVkZSAiU2Vs
ZWN0b3JDaGVja2VyLmgiCi0jaW5jbHVkZSAiU2hhZG93Um9vdC5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWJvb2wgQ29udGVudFNlbGVjdG9yRGF0YUxpc3Q6OmNoZWNrQ29udGVudFNlbGVj
dG9yKGNvbnN0IENTU1NlbGVjdG9yKiBzZWxlY3RvciwgY29uc3QgVmVjdG9yPFJlZlB0cjxOb2Rl
PiA+JiBzaWJsaW5ncywgaW50IG50aCkKLXsKLSAgICBFbGVtZW50KiBlbGVtZW50ID0gdG9FbGVt
ZW50KHNpYmxpbmdzW250aF0uZ2V0KCkpOwotICAgIFNlbGVjdG9yQ2hlY2tlciBzZWxlY3RvckNo
ZWNrZXIoZWxlbWVudC0+ZG9jdW1lbnQoKSwgU2VsZWN0b3JDaGVja2VyOjpDb2xsZWN0aW5nUnVs
ZXMpOwotICAgIFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JDaGVja2luZ0NvbnRleHQgY29udGV4
dChzZWxlY3RvciwgZWxlbWVudCwgU2VsZWN0b3JDaGVja2VyOjpWaXNpdGVkTWF0Y2hFbmFibGVk
KTsKLSAgICBQc2V1ZG9JZCBpZ25vcmVEeW5hbWljUHNldWRvID0gTk9QU0VVRE87Ci0gICAgcmV0
dXJuIHNlbGVjdG9yQ2hlY2tlci5tYXRjaChjb250ZXh0LCBpZ25vcmVEeW5hbWljUHNldWRvKSA9
PSBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yTWF0Y2hlczsKLX0KLQotdm9pZCBDb250ZW50U2Vs
ZWN0b3JEYXRhTGlzdDo6aW5pdGlhbGl6ZShjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9y
cykKLXsKLSAgICBmb3IgKGNvbnN0IENTU1NlbGVjdG9yKiBzZWxlY3RvciA9IHNlbGVjdG9ycy5m
aXJzdCgpOyBzZWxlY3Rvcjsgc2VsZWN0b3IgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQoc2VsZWN0
b3IpKQotICAgICAgICBtX3NlbGVjdG9ycy5hcHBlbmQoc2VsZWN0b3IpOwotfQotCi1ib29sIENv
bnRlbnRTZWxlY3RvckRhdGFMaXN0OjptYXRjaGVzKGNvbnN0IFZlY3RvcjxSZWZQdHI8Tm9kZT4g
PiYgc2libGluZ3MsIGludCBudGgpIGNvbnN0Ci17Ci0gICAgdW5zaWduZWQgc2VsZWN0b3JDb3Vu
dCA9IG1fc2VsZWN0b3JzLnNpemUoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2Vs
ZWN0b3JDb3VudDsgKytpKSB7Ci0gICAgICAgIGlmIChjaGVja0NvbnRlbnRTZWxlY3RvcihtX3Nl
bGVjdG9yc1tpXSwgc2libGluZ3MsIG50aCkpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1Db250ZW50U2VsZWN0b3JRdWVyeTo6Q29udGVu
dFNlbGVjdG9yUXVlcnkoSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50KQotICAgIDogbV9p
bnNlcnRpb25Qb2ludChpbnNlcnRpb25Qb2ludCkKLXsKLSAgICBtX3NlbGVjdG9ycy5pbml0aWFs
aXplKGluc2VydGlvblBvaW50LT5zZWxlY3Rvckxpc3QoKSk7Ci19Ci0KLWJvb2wgQ29udGVudFNl
bGVjdG9yUXVlcnk6Om1hdGNoZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxOb2RlPiA+JiBzaWJsaW5n
cywgaW50IG50aCkgY29uc3QKLXsKLSAgICBOb2RlKiBub2RlID0gc2libGluZ3NbbnRoXS5nZXQo
KTsKLSAgICBBU1NFUlQobm9kZSk7Ci0KLSAgICBzd2l0Y2ggKG1faW5zZXJ0aW9uUG9pbnQtPm1h
dGNoVHlwZUZvcihub2RlKSkgewotICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OkFsd2F5c01hdGNo
ZXM6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6Ok5ldmVy
TWF0Y2hlczoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6
Okhhc1RvTWF0Y2hTZWxlY3RvcjoKLSAgICAgICAgcmV0dXJuIG5vZGUtPmlzRWxlbWVudE5vZGUo
KSAmJiBtX3NlbGVjdG9ycy5tYXRjaGVzKHNpYmxpbmdzLCBudGgpOwotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotfQotCi19CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50U2VsZWN0
b3JRdWVyeS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRl
bnRTZWxlY3RvclF1ZXJ5LmgJKHJldmlzaW9uIDE0OTQ5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0NvbnRlbnRTZWxlY3RvclF1ZXJ5LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNzEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0Ogot
ICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0g
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpZm5kZWYgQ29udGVudFNlbGVjdG9yUXVlcnlfaAotI2RlZmluZSBDb250ZW50U2Vs
ZWN0b3JRdWVyeV9oCi0KLSNpbmNsdWRlICJDU1NTZWxlY3Rvckxpc3QuaCIKLSNpbmNsdWRlICJT
ZWxlY3RvckNoZWNrZXIuaCIKLSNpbmNsdWRlICJTZWxlY3RvclF1ZXJ5LmgiCi0jaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBOb2RlOwotY2xhc3MgSW5zZXJ0aW9uUG9p
bnQ7Ci0KLWNsYXNzIENvbnRlbnRTZWxlY3RvckRhdGFMaXN0IHsKLXB1YmxpYzoKLSAgICB2b2lk
IGluaXRpYWxpemUoY29uc3QgQ1NTU2VsZWN0b3JMaXN0Jik7Ci0gICAgYm9vbCBtYXRjaGVzKGNv
bnN0IFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiYgc2libGluZ3MsIGludCBudGhOb2RlKSBjb25zdDsK
LQotcHJpdmF0ZToKLSAgICBzdGF0aWMgYm9vbCBjaGVja0NvbnRlbnRTZWxlY3Rvcihjb25zdCBD
U1NTZWxlY3RvciosIGNvbnN0IFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiYgc2libGluZ3MsIGludCBu
dGhOb2RlKTsKLQotICAgIFZlY3Rvcjxjb25zdCBDU1NTZWxlY3Rvcio+IG1fc2VsZWN0b3JzOwot
fTsKLQotY2xhc3MgQ29udGVudFNlbGVjdG9yUXVlcnkgewotICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENvbnRlbnRTZWxlY3RvclF1ZXJ5KTsKLXB1YmxpYzoKLSAgICBleHBsaWNpdCBDb250ZW50
U2VsZWN0b3JRdWVyeShJbnNlcnRpb25Qb2ludCopOwotCi0gICAgYm9vbCBtYXRjaGVzKGNvbnN0
IFZlY3RvcjxSZWZQdHI8Tm9kZT4gPiYgc2libGluZ3MsIGludCBudGhOb2RlKSBjb25zdDsKLQot
cHJpdmF0ZToKLSAgICBJbnNlcnRpb25Qb2ludCogbV9pbnNlcnRpb25Qb2ludDsKLSAgICBDb250
ZW50U2VsZWN0b3JEYXRhTGlzdCBtX3NlbGVjdG9yczsKLX07Ci0KLX0KLQotI2VuZGlmCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5j
cHAJKHJldmlzaW9uIDE0OTQ5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxD
b250ZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2lu
Y2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUgIkNvbnRlbnREaXN0cmlidXRvci5oIgotI2lu
Y2x1ZGUgIkNvbnRlbnRTZWxlY3RvclF1ZXJ5LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaCIK
</data>
<flag name="review"
          id="221814"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>