<?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>136844</bug_id>
          
          <creation_ts>2014-09-15 16:53:27 -0700</creation_ts>
          <short_desc>Rename LiveNodeLists / HTMLCollections&apos;s nodeMatches() to elementMatches()</short_desc>
          <delta_ts>2014-09-17 17:42:24 -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>DOM</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1035336</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-15 16:53:27 -0700</bug_when>
    <thetext>Rename LiveNodeLists / HTMLCollections&apos;s nodeMatches() to elementMatches() for clarity as the argument is an Element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035337</commentid>
    <comment_count>1</comment_count>
      <attachid>238148</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-15 16:55:13 -0700</bug_when>
    <thetext>Created attachment 238148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035382</commentid>
    <comment_count>2</comment_count>
      <attachid>238148</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-15 22:36:50 -0700</bug_when>
    <thetext>Comment on attachment 238148
Patch

Clearing flags on attachment: 238148

Committed r173649: &lt;http://trac.webkit.org/changeset/173649&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035383</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-15 22:36:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035795</commentid>
    <comment_count>4</comment_count>
      <attachid>238148</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-17 17:23:08 -0700</bug_when>
    <thetext>Comment on attachment 238148
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=238148&amp;action=review

&gt; Source/WebCore/dom/ClassNodeList.h:49
&gt; +    virtual bool elementMatches(Element*) const override;

Since we are touching every single call site, it really seems we’d want to change this to Element&amp;. Too late!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035799</commentid>
    <comment_count>5</comment_count>
      <attachid>238148</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-09-17 17:42:24 -0700</bug_when>
    <thetext>Comment on attachment 238148
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=238148&amp;action=review

&gt;&gt; Source/WebCore/dom/ClassNodeList.h:49
&gt;&gt; +    virtual bool elementMatches(Element*) const override;
&gt; 
&gt; Since we are touching every single call site, it really seems we’d want to change this to Element&amp;. Too late!

Right, sorry about that. I&apos;ll follow-up on this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238148</attachid>
            <date>2014-09-15 16:55:13 -0700</date>
            <delta_ts>2014-09-17 17:42:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136844-20140915165509.patch</filename>
            <type>text/plain</type>
            <size>21901</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGQ4YjQ5NDExNzY5MjMw
MDA1NTc3ZjMyYzQ0YTljYzNmNWM0MGZiZi4uNTJkODczMDU5NWI0MDZmMGUyNTc5MDk3MDRlYzRi
MjViODhlN2E1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE0LTA5LTE1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIExpdmVOb2RlTGlz
dHMgLyBIVE1MQ29sbGVjdGlvbnMncyBub2RlTWF0Y2hlcygpIHRvIGVsZW1lbnRNYXRjaGVzKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjg0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBM
aXZlTm9kZUxpc3RzIC8gSFRNTENvbGxlY3Rpb25zJ3Mgbm9kZU1hdGNoZXMoKSB0byBlbGVtZW50
TWF0Y2hlcygpCisgICAgICAgIGZvciBjbGFyaXR5IGFzIHRoZSBhcmd1bWVudCBpcyBhbiBFbGVt
ZW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAg
ICAgICogZG9tL0NsYXNzTm9kZUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNzTm9kZUxp
c3Q6OmVsZW1lbnRNYXRjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNsYXNzTm9kZUxpc3Q6Om5v
ZGVNYXRjaGVzKTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnRPcmRlcmVkTWFwLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmtleU1hdGNoZXNXaW5kb3dOYW1lZEl0ZW0pOgorICAgICAg
ICAoV2ViQ29yZTo6a2V5TWF0Y2hlc0RvY3VtZW50TmFtZWRJdGVtKToKKyAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVOYW1lRm9yRG9j
dW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6dXBkYXRlSWRGb3JEb2N1bWVudCk6
CisgICAgICAgICogZG9tL0xpdmVOb2RlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaXZl
Tm9kZUxpc3Q6Om5hbWVkSXRlbSk6CisgICAgICAgICogZG9tL0xpdmVOb2RlTGlzdC5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkTGl2ZU5vZGVMaXN0PE5vZGVMaXN0VHlwZT46OmNvbGxlY3Rp
b25CZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRMaXZlTm9kZUxpc3Q8Tm9kZUxpc3RU
eXBlPjo6Y29sbGVjdGlvbkxhc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkTGl2ZU5vZGVM
aXN0PE5vZGVMaXN0VHlwZT46OmNvbGxlY3Rpb25UcmF2ZXJzZUZvcndhcmQpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FjaGVkTGl2ZU5vZGVMaXN0PE5vZGVMaXN0VHlwZT46OmNvbGxlY3Rpb25UcmF2
ZXJzZUJhY2t3YXJkKToKKyAgICAgICAgKiBkb20vTmFtZU5vZGVMaXN0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpOYW1lTm9kZUxpc3Q6OmVsZW1lbnRNYXRjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5hbWVOb2RlTGlzdDo6bm9kZU1hdGNoZXMpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9UYWdO
b2RlTGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6VGFnTm9kZUxpc3Q6OmVsZW1lbnRNYXRjaGVz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWdOb2RlTGlzdDo6ZWxlbWVudE1hdGNoZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6VGFnTm9kZUxpc3Q6Om5vZGVNYXRjaGVzKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxUYWdOb2RlTGlzdDo6bm9kZU1hdGNoZXMpOiBEZWxldGVkLgor
ICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNN
YXRjaGluZ0VsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldpbmRvd05hbWVDb2xsZWN0aW9uOjplbGVtZW50TWF0Y2hlc0lm
TmFtZUF0dHJpYnV0ZU1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OldpbmRvd05hbWVDb2xsZWN0
aW9uOjplbGVtZW50TWF0Y2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE5hbWVDb2xs
ZWN0aW9uOjplbGVtZW50TWF0Y2hlc0lmSWRBdHRyaWJ1dGVNYXRjaCk6CisgICAgICAgIChXZWJD
b3JlOjpEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjplbGVtZW50TWF0Y2hlc0lmTmFtZUF0dHJpYnV0
ZU1hdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TmFtZUNvbGxlY3Rpb246OmVsZW1l
bnRNYXRjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OldpbmRvd05hbWVDb2xsZWN0aW9uOjpub2Rl
TWF0Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OldpbmRvd05hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlcyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lmSWRBdHRyaWJ1dGVN
YXRjaCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE5hbWVDb2xsZWN0aW9u
Ojpub2RlTWF0Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkRvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBodG1sL0hUTUxOYW1lQ29sbGVjdGlvbi5oOgorICAgICAgICAqIGh0bWwvTGFiZWxz
Tm9kZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGFiZWxzTm9kZUxpc3Q6OmVsZW1lbnRN
YXRjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxhYmVsc05vZGVMaXN0Ojpub2RlTWF0Y2hlcyk6
IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9MYWJlbHNOb2RlTGlzdC5oOgorICAgICAgICAqIGh0
bWwvUmFkaW9Ob2RlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSYWRpb05vZGVMaXN0Ojpl
bGVtZW50TWF0Y2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpSYWRpb05vZGVMaXN0Ojpub2RlTWF0
Y2hlcyk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9SYWRpb05vZGVMaXN0Lmg6CisKIDIwMTQt
MDktMTUgIEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBO
YW1pbmcgY2xlYW4tdXAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xhc3NOb2Rl
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NsYXNzTm9kZUxpc3QuaAppbmRleCA5MDIyM2E0
MjkxZGM2ZDRkNTZiZmZhYmQyODAwNmU3ODgwMmEzMDJlLi5mNTAwYWYzNDgzNTA1YTlhMTNkYjg3
YzdmYTVlODc5Y2YyYTMyMWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2xhc3NO
b2RlTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DbGFzc05vZGVMaXN0LmgKQEAgLTQ2
LDcgKzQ2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB+Q2xhc3NOb2RlTGlzdCgpOwogCi0g
ICAgdmlydHVhbCBib29sIG5vZGVNYXRjaGVzKEVsZW1lbnQqKSBjb25zdCBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIGJvb2wgZWxlbWVudE1hdGNoZXMoRWxlbWVudCopIGNvbnN0IG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgYm9vbCBpc1Jvb3RlZEF0RG9jdW1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBmYWxzZTsgfQogCiBwcml2YXRlOgpAQCAtNTYsNyArNTYsNyBAQCBwcml2YXRlOgogICAg
IFN0cmluZyBtX29yaWdpbmFsQ2xhc3NOYW1lczsKIH07CiAKLWlubGluZSBib29sIENsYXNzTm9k
ZUxpc3Q6Om5vZGVNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CitpbmxpbmUgYm9vbCBD
bGFzc05vZGVMaXN0OjplbGVtZW50TWF0Y2hlcyhFbGVtZW50KiBlbGVtZW50KSBjb25zdAogewog
ICAgIGlmICghZWxlbWVudC0+aGFzQ2xhc3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50T3JkZXJlZE1hcC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnRPcmRlcmVkTWFwLmNwcAppbmRleCBiMzdkYjc5Zjc4N2Ew
NjRjNGY3ZmI5MjY3MmY4ZWE0MzQ1ZDZlZTYyLi45ODc0MzYxOGFkMmQxMjdkMWRlYjgxZTQ5ZGU4
ZmFiMGY4NjFmYzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRPcmRl
cmVkTWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRPcmRlcmVkTWFwLmNw
cApAQCAtNzQsMTIgKzc0LDEyIEBAIGlubGluZSBib29sIGtleU1hdGNoZXNMYWJlbEZvckF0dHJp
YnV0ZShjb25zdCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIGNvbnN0IEVsZW1lCiAKIGlubGluZSBi
b29sIGtleU1hdGNoZXNXaW5kb3dOYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nSW1wbCYga2V5
LCBjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewotICAgIHJldHVybiBXaW5kb3dOYW1lQ29sbGVj
dGlvbjo6bm9kZU1hdGNoZXMoY29uc3RfY2FzdDxFbGVtZW50Kj4oJmVsZW1lbnQpLCAma2V5KTsK
KyAgICByZXR1cm4gV2luZG93TmFtZUNvbGxlY3Rpb246OmVsZW1lbnRNYXRjaGVzKGNvbnN0X2Nh
c3Q8RWxlbWVudCo+KCZlbGVtZW50KSwgJmtleSk7CiB9CiAKIGlubGluZSBib29sIGtleU1hdGNo
ZXNEb2N1bWVudE5hbWVkSXRlbShjb25zdCBBdG9taWNTdHJpbmdJbXBsJiBrZXksIGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpCiB7Ci0gICAgcmV0dXJuIERvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5v
ZGVNYXRjaGVzKGNvbnN0X2Nhc3Q8RWxlbWVudCo+KCZlbGVtZW50KSwgJmtleSk7CisgICAgcmV0
dXJuIERvY3VtZW50TmFtZUNvbGxlY3Rpb246OmVsZW1lbnRNYXRjaGVzKGNvbnN0X2Nhc3Q8RWxl
bWVudCo+KCZlbGVtZW50KSwgJmtleSk7CiB9CiAKIHZvaWQgRG9jdW1lbnRPcmRlcmVkTWFwOjpj
bGVhcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggM2FlYmZmMmM4OTAzYzFkZTQwZjQ2NjJk
NmU5MDJiMzhhMTlkMmE0Zi4uYjUxZDA4NjUwMmM4Y2U5NzFiMTE4MDdjY2NjZTBmZjA5Y2RhMzZi
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMjYwNiwxNiArMjYwNiwxNiBAQCB2b2lkIEVs
ZW1lbnQ6OnVwZGF0ZU5hbWVGb3JEb2N1bWVudChIVE1MRG9jdW1lbnQmIGRvY3VtZW50LCBjb25z
dCBBdG9taWNTdHJpbmcmCiB7CiAgICAgQVNTRVJUKG9sZE5hbWUgIT0gbmV3TmFtZSk7CiAKLSAg
ICBpZiAoV2luZG93TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzSWZOYW1lQXR0cmlidXRlTWF0
Y2godGhpcykpIHsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBpZCA9IFdpbmRvd05hbWVD
b2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lmSWRBdHRyaWJ1dGVNYXRjaCh0aGlzKSA/IGdldElkQXR0
cmlidXRlKCkgOiBudWxsQXRvbTsKKyAgICBpZiAoV2luZG93TmFtZUNvbGxlY3Rpb246OmVsZW1l
bnRNYXRjaGVzSWZOYW1lQXR0cmlidXRlTWF0Y2godGhpcykpIHsKKyAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBpZCA9IFdpbmRvd05hbWVDb2xsZWN0aW9uOjplbGVtZW50TWF0Y2hlc0lmSWRB
dHRyaWJ1dGVNYXRjaCh0aGlzKSA/IGdldElkQXR0cmlidXRlKCkgOiBudWxsQXRvbTsKICAgICAg
ICAgaWYgKCFvbGROYW1lLmlzRW1wdHkoKSAmJiBvbGROYW1lICE9IGlkKQogICAgICAgICAgICAg
ZG9jdW1lbnQucmVtb3ZlV2luZG93TmFtZWRJdGVtKCpvbGROYW1lLmltcGwoKSwgKnRoaXMpOwog
ICAgICAgICBpZiAoIW5ld05hbWUuaXNFbXB0eSgpICYmIG5ld05hbWUgIT0gaWQpCiAgICAgICAg
ICAgICBkb2N1bWVudC5hZGRXaW5kb3dOYW1lZEl0ZW0oKm5ld05hbWUuaW1wbCgpLCAqdGhpcyk7
CiAgICAgfQogCi0gICAgaWYgKERvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzSWZO
YW1lQXR0cmlidXRlTWF0Y2godGhpcykpIHsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBp
ZCA9IERvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzSWZJZEF0dHJpYnV0ZU1hdGNo
KHRoaXMpID8gZ2V0SWRBdHRyaWJ1dGUoKSA6IG51bGxBdG9tOworICAgIGlmIChEb2N1bWVudE5h
bWVDb2xsZWN0aW9uOjplbGVtZW50TWF0Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKHRoaXMpKSB7
CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWQgPSBEb2N1bWVudE5hbWVDb2xsZWN0aW9u
OjplbGVtZW50TWF0Y2hlc0lmSWRBdHRyaWJ1dGVNYXRjaCh0aGlzKSA/IGdldElkQXR0cmlidXRl
KCkgOiBudWxsQXRvbTsKICAgICAgICAgaWYgKCFvbGROYW1lLmlzRW1wdHkoKSAmJiBvbGROYW1l
ICE9IGlkKQogICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRG9jdW1lbnROYW1lZEl0ZW0oKm9s
ZE5hbWUuaW1wbCgpLCAqdGhpcyk7CiAgICAgICAgIGlmICghbmV3TmFtZS5pc0VtcHR5KCkgJiYg
bmV3TmFtZSAhPSBpZCkKQEAgLTI2NTYsMTYgKzI2NTYsMTYgQEAgdm9pZCBFbGVtZW50Ojp1cGRh
dGVJZEZvckRvY3VtZW50KEhUTUxEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgb2wKICAgICBBU1NFUlQoaW5Eb2N1bWVudCgpKTsKICAgICBBU1NFUlQob2xkSWQgIT0gbmV3
SWQpOwogCi0gICAgaWYgKFdpbmRvd05hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lmSWRBdHRy
aWJ1dGVNYXRjaCh0aGlzKSkgewotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSBj
b25kaXRpb24gPT0gVXBkYXRlSFRNTERvY3VtZW50TmFtZWRJdGVtTWFwc09ubHlJZkRpZmZlcnNG
cm9tTmFtZUF0dHJpYnV0ZSAmJiBXaW5kb3dOYW1lQ29sbGVjdGlvbjo6bm9kZU1hdGNoZXNJZk5h
bWVBdHRyaWJ1dGVNYXRjaCh0aGlzKSA/IGdldE5hbWVBdHRyaWJ1dGUoKSA6IG51bGxBdG9tOwor
ICAgIGlmIChXaW5kb3dOYW1lQ29sbGVjdGlvbjo6ZWxlbWVudE1hdGNoZXNJZklkQXR0cmlidXRl
TWF0Y2godGhpcykpIHsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lID0gY29uZGl0
aW9uID09IFVwZGF0ZUhUTUxEb2N1bWVudE5hbWVkSXRlbU1hcHNPbmx5SWZEaWZmZXJzRnJvbU5h
bWVBdHRyaWJ1dGUgJiYgV2luZG93TmFtZUNvbGxlY3Rpb246OmVsZW1lbnRNYXRjaGVzSWZOYW1l
QXR0cmlidXRlTWF0Y2godGhpcykgPyBnZXROYW1lQXR0cmlidXRlKCkgOiBudWxsQXRvbTsKICAg
ICAgICAgaWYgKCFvbGRJZC5pc0VtcHR5KCkgJiYgb2xkSWQgIT0gbmFtZSkKICAgICAgICAgICAg
IGRvY3VtZW50LnJlbW92ZVdpbmRvd05hbWVkSXRlbSgqb2xkSWQuaW1wbCgpLCAqdGhpcyk7CiAg
ICAgICAgIGlmICghbmV3SWQuaXNFbXB0eSgpICYmIG5ld0lkICE9IG5hbWUpCiAgICAgICAgICAg
ICBkb2N1bWVudC5hZGRXaW5kb3dOYW1lZEl0ZW0oKm5ld0lkLmltcGwoKSwgKnRoaXMpOwogICAg
IH0KIAotICAgIGlmIChEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lmSWRBdHRy
aWJ1dGVNYXRjaCh0aGlzKSkgewotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUgPSBj
b25kaXRpb24gPT0gVXBkYXRlSFRNTERvY3VtZW50TmFtZWRJdGVtTWFwc09ubHlJZkRpZmZlcnNG
cm9tTmFtZUF0dHJpYnV0ZSAmJiBEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lm
TmFtZUF0dHJpYnV0ZU1hdGNoKHRoaXMpID8gZ2V0TmFtZUF0dHJpYnV0ZSgpIDogbnVsbEF0b207
CisgICAgaWYgKERvY3VtZW50TmFtZUNvbGxlY3Rpb246OmVsZW1lbnRNYXRjaGVzSWZJZEF0dHJp
YnV0ZU1hdGNoKHRoaXMpKSB7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSA9IGNv
bmRpdGlvbiA9PSBVcGRhdGVIVE1MRG9jdW1lbnROYW1lZEl0ZW1NYXBzT25seUlmRGlmZmVyc0Zy
b21OYW1lQXR0cmlidXRlICYmIERvY3VtZW50TmFtZUNvbGxlY3Rpb246OmVsZW1lbnRNYXRjaGVz
SWZOYW1lQXR0cmlidXRlTWF0Y2godGhpcykgPyBnZXROYW1lQXR0cmlidXRlKCkgOiBudWxsQXRv
bTsKICAgICAgICAgaWYgKCFvbGRJZC5pc0VtcHR5KCkgJiYgb2xkSWQgIT0gbmFtZSkKICAgICAg
ICAgICAgIGRvY3VtZW50LnJlbW92ZURvY3VtZW50TmFtZWRJdGVtKCpvbGRJZC5pbXBsKCksICp0
aGlzKTsKICAgICAgICAgaWYgKCFuZXdJZC5pc0VtcHR5KCkgJiYgbmV3SWQgIT0gbmFtZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9MaXZlTm9kZUxpc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5jcHAKaW5kZXggYThkYzAyYjQ4NGQwMmU0ZDRiMGRiZDk4
Nzk4OWM5MDQ2MDRlZjNhZC4uZjkzMWQxMTAzNDQzZGIzMGE3ZmJhZDJkN2E0YTljMzM2MjE2MGZi
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5jcHAKQEAgLTU4LDcgKzU4LDcgQEAgTm9k
ZSogTGl2ZU5vZGVMaXN0OjpuYW1lZEl0ZW0oY29uc3QgQXRvbWljU3RyaW5nJiBlbGVtZW50SWQp
IGNvbnN0CiAKICAgICBpZiAocm9vdE5vZGUuaW5Eb2N1bWVudCgpKSB7CiAgICAgICAgIEVsZW1l
bnQqIGVsZW1lbnQgPSByb290Tm9kZS50cmVlU2NvcGUoKS5nZXRFbGVtZW50QnlJZChlbGVtZW50
SWQpOwotICAgICAgICBpZiAoZWxlbWVudCAmJiBub2RlTWF0Y2hlcyhlbGVtZW50KSAmJiBlbGVt
ZW50LT5pc0Rlc2NlbmRhbnRPZigmcm9vdE5vZGUpKQorICAgICAgICBpZiAoZWxlbWVudCAmJiBl
bGVtZW50TWF0Y2hlcyhlbGVtZW50KSAmJiBlbGVtZW50LT5pc0Rlc2NlbmRhbnRPZigmcm9vdE5v
ZGUpKQogICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7CiAgICAgICAgIGlmICghZWxlbWVudCkK
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0xpdmVOb2RlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0xpdmVOb2RlTGlzdC5oCmlu
ZGV4IDIxYWYzZWQyYWQ2YmM3NWI1ODI3YThiZmU4MzI2NTliY2RhOTg3MGEuLmZkM2EwN2Y4Yjdl
ZTdiM2VjNTM5N2Y4YjBmN2M3MzFlMzJhYWJiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9MaXZlTm9kZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTGl2ZU5vZGVMaXN0
LmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBOb2RlKiBuYW1lZEl0
ZW0oY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Qgb3ZlcnJpZGUgZmluYWw7CiAKLSAgICB2aXJ0
dWFsIGJvb2wgbm9kZU1hdGNoZXMoRWxlbWVudCopIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJv
b2wgZWxlbWVudE1hdGNoZXMoRWxlbWVudCopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNSb290ZWRBdERvY3VtZW50KCkgY29uc3QgPSAwOwogCiAgICAgQUxXQVlTX0lOTElORSBOb2Rl
TGlzdEludmFsaWRhdGlvblR5cGUgaW52YWxpZGF0aW9uVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0
YXRpY19jYXN0PE5vZGVMaXN0SW52YWxpZGF0aW9uVHlwZT4obV9pbnZhbGlkYXRpb25UeXBlKTsg
fQpAQCAtMTU5LDcgKzE1OSw3IEBAIEVsZW1lbnREZXNjZW5kYW50SXRlcmF0b3IgQ2FjaGVkTGl2
ZU5vZGVMaXN0PE5vZGVMaXN0VHlwZT46OmNvbGxlY3Rpb25CZWdpbigpIGNvCiAgICAgYXV0byBk
ZXNjZW5kYW50cyA9IGVsZW1lbnREZXNjZW5kYW50cyhyb290Tm9kZSgpKTsKICAgICBhdXRvIGVu
ZCA9IGRlc2NlbmRhbnRzLmVuZCgpOwogICAgIGZvciAoYXV0byBpdCA9IGRlc2NlbmRhbnRzLmJl
Z2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBpZiAobm9kZUxpc3Qubm9kZU1hdGNo
ZXMoJippdCkpCisgICAgICAgIGlmIChub2RlTGlzdC5lbGVtZW50TWF0Y2hlcygmKml0KSkKICAg
ICAgICAgICAgIHJldHVybiBpdDsKICAgICB9CiAgICAgcmV0dXJuIGVuZDsKQEAgLTE3Miw3ICsx
NzIsNyBAQCBFbGVtZW50RGVzY2VuZGFudEl0ZXJhdG9yIENhY2hlZExpdmVOb2RlTGlzdDxOb2Rl
TGlzdFR5cGU+Ojpjb2xsZWN0aW9uTGFzdCgpIGNvbgogICAgIGF1dG8gZGVzY2VuZGFudHMgPSBl
bGVtZW50RGVzY2VuZGFudHMocm9vdE5vZGUoKSk7CiAgICAgYXV0byBlbmQgPSBkZXNjZW5kYW50
cy5lbmQoKTsKICAgICBmb3IgKGF1dG8gaXQgPSBkZXNjZW5kYW50cy5sYXN0KCk7IGl0ICE9IGVu
ZDsgLS1pdCkgewotICAgICAgICBpZiAobm9kZUxpc3Qubm9kZU1hdGNoZXMoJippdCkpCisgICAg
ICAgIGlmIChub2RlTGlzdC5lbGVtZW50TWF0Y2hlcygmKml0KSkKICAgICAgICAgICAgIHJldHVy
biBpdDsKICAgICB9CiAgICAgcmV0dXJuIGVuZDsKQEAgLTE4MiwxNCArMTgyLDE0IEBAIHRlbXBs
YXRlIDxjbGFzcyBOb2RlTGlzdFR5cGU+CiB2b2lkIENhY2hlZExpdmVOb2RlTGlzdDxOb2RlTGlz
dFR5cGU+Ojpjb2xsZWN0aW9uVHJhdmVyc2VGb3J3YXJkKEVsZW1lbnREZXNjZW5kYW50SXRlcmF0
b3ImIGN1cnJlbnQsIHVuc2lnbmVkIGNvdW50LCB1bnNpZ25lZCYgdHJhdmVyc2VkQ291bnQpIGNv
bnN0CiB7CiAgICAgYXV0byYgbm9kZUxpc3QgPSBzdGF0aWNfY2FzdDxjb25zdCBOb2RlTGlzdFR5
cGUmPigqdGhpcyk7Ci0gICAgQVNTRVJUKG5vZGVMaXN0Lm5vZGVNYXRjaGVzKCYqY3VycmVudCkp
OworICAgIEFTU0VSVChub2RlTGlzdC5lbGVtZW50TWF0Y2hlcygmKmN1cnJlbnQpKTsKICAgICBh
dXRvIGVuZCA9IGNvbGxlY3Rpb25FbmQoKTsKICAgICBmb3IgKHRyYXZlcnNlZENvdW50ID0gMDsg
dHJhdmVyc2VkQ291bnQgPCBjb3VudDsgKyt0cmF2ZXJzZWRDb3VudCkgewogICAgICAgICBkbyB7
CiAgICAgICAgICAgICArK2N1cnJlbnQ7CiAgICAgICAgICAgICBpZiAoY3VycmVudCA9PSBlbmQp
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9IHdoaWxlICghbm9kZUxpc3Qubm9k
ZU1hdGNoZXMoJipjdXJyZW50KSk7CisgICAgICAgIH0gd2hpbGUgKCFub2RlTGlzdC5lbGVtZW50
TWF0Y2hlcygmKmN1cnJlbnQpKTsKICAgICB9CiB9CiAKQEAgLTE5NywxNCArMTk3LDE0IEBAIHRl
bXBsYXRlIDxjbGFzcyBOb2RlTGlzdFR5cGU+CiB2b2lkIENhY2hlZExpdmVOb2RlTGlzdDxOb2Rl
TGlzdFR5cGU+Ojpjb2xsZWN0aW9uVHJhdmVyc2VCYWNrd2FyZChFbGVtZW50RGVzY2VuZGFudEl0
ZXJhdG9yJiBjdXJyZW50LCB1bnNpZ25lZCBjb3VudCkgY29uc3QKIHsKICAgICBhdXRvJiBub2Rl
TGlzdCA9IHN0YXRpY19jYXN0PGNvbnN0IE5vZGVMaXN0VHlwZSY+KCp0aGlzKTsKLSAgICBBU1NF
UlQobm9kZUxpc3Qubm9kZU1hdGNoZXMoJipjdXJyZW50KSk7CisgICAgQVNTRVJUKG5vZGVMaXN0
LmVsZW1lbnRNYXRjaGVzKCYqY3VycmVudCkpOwogICAgIGF1dG8gZW5kID0gY29sbGVjdGlvbkVu
ZCgpOwogICAgIGZvciAoOyBjb3VudDsgLS1jb3VudCkgewogICAgICAgICBkbyB7CiAgICAgICAg
ICAgICAtLWN1cnJlbnQ7CiAgICAgICAgICAgICBpZiAoY3VycmVudCA9PSBlbmQpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9IHdoaWxlICghbm9kZUxpc3Qubm9kZU1hdGNoZXMo
JipjdXJyZW50KSk7CisgICAgICAgIH0gd2hpbGUgKCFub2RlTGlzdC5lbGVtZW50TWF0Y2hlcygm
KmN1cnJlbnQpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
YW1lTm9kZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lTm9kZUxpc3QuaAppbmRleCA2
YjIxNWE3YWQzOWQ1ZDAwMjVlYzc3MWRjNzE4OTNjZGM2ZTgwYTliLi5mYjdlMzcyZTY0YmIzODUw
NWNiNjYzY2FhMmY0YzViZDAzYjExNzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TmFtZU5vZGVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05hbWVOb2RlTGlzdC5oCkBA
IC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfk5hbWVOb2RlTGlzdCgpOwog
Ci0gICAgdmlydHVhbCBib29sIG5vZGVNYXRjaGVzKEVsZW1lbnQqKSBjb25zdCBvdmVycmlkZTsK
KyAgICB2aXJ0dWFsIGJvb2wgZWxlbWVudE1hdGNoZXMoRWxlbWVudCopIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgYm9vbCBpc1Jvb3RlZEF0RG9jdW1lbnQoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBmYWxzZTsgfQogCiBwcml2YXRlOgpAQCAtNDksNyArNDksNyBAQCBwcml2YXRlOgog
ICAgIEF0b21pY1N0cmluZyBtX25hbWU7CiB9OwogCi1pbmxpbmUgYm9vbCBOYW1lTm9kZUxpc3Q6
Om5vZGVNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CitpbmxpbmUgYm9vbCBOYW1lTm9k
ZUxpc3Q6OmVsZW1lbnRNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIGVsZW1lbnQtPmdldE5hbWVBdHRyaWJ1dGUoKSA9PSBtX25hbWU7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9U
YWdOb2RlTGlzdC5oCmluZGV4IGI1OGY3YjM2OTAwYzVkMDhjNzg2Yzg1MjFiZWJmNTRiZTI3YmJh
NWUuLjk5N2IwZDdkMDJiMGJhZDE5ZDc1MTM2NTUwZjBhYWRkZmM2ZjZlMmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UYWdOb2RlTGlzdC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwg
flRhZ05vZGVMaXN0KCk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgbm9kZU1hdGNoZXMoRWxlbWVudCop
IGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBlbGVtZW50TWF0Y2hlcyhFbGVtZW50
KikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzUm9vdGVkQXREb2N1bWVudCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAKIHByb3RlY3RlZDoKQEAgLTU2LDcg
KzU2LDcgQEAgcHJvdGVjdGVkOgogICAgIEF0b21pY1N0cmluZyBtX2xvY2FsTmFtZTsKIH07CiAK
LWlubGluZSBib29sIFRhZ05vZGVMaXN0Ojpub2RlTWF0Y2hlcyhFbGVtZW50KiBlbGVtZW50KSBj
b25zdAoraW5saW5lIGJvb2wgVGFnTm9kZUxpc3Q6OmVsZW1lbnRNYXRjaGVzKEVsZW1lbnQqIGVs
ZW1lbnQpIGNvbnN0CiB7CiAgICAgLy8gSW1wbGVtZW50cyBodHRwOi8vZHZjcy53My5vcmcvaGcv
ZG9tY29yZS9yYXctZmlsZS90aXAvT3ZlcnZpZXcuaHRtbCNjb25jZXB0LWdldGVsZW1lbnRzYnl0
YWduYW1lbnMKICAgICBpZiAobV9sb2NhbE5hbWUgIT0gc3RhckF0b20gJiYgbV9sb2NhbE5hbWUg
IT0gZWxlbWVudC0+bG9jYWxOYW1lKCkpCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKIAogICAg
IHZpcnR1YWwgfkhUTUxUYWdOb2RlTGlzdCgpOwogCi0gICAgdmlydHVhbCBib29sIG5vZGVNYXRj
aGVzKEVsZW1lbnQqKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgZWxlbWVudE1h
dGNoZXMoRWxlbWVudCopIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBpc1Jvb3Rl
ZEF0RG9jdW1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCiBwcml2YXRl
OgpAQCAtODQsNyArODQsNyBAQCBwcml2YXRlOgogICAgIEF0b21pY1N0cmluZyBtX2xvd2VyZWRM
b2NhbE5hbWU7CiB9OwogCi1pbmxpbmUgYm9vbCBIVE1MVGFnTm9kZUxpc3Q6Om5vZGVNYXRjaGVz
KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CitpbmxpbmUgYm9vbCBIVE1MVGFnTm9kZUxpc3Q6OmVs
ZW1lbnRNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgLy8gSW1wbGVtZW50
cyBodHRwOi8vZHZjcy53My5vcmcvaGcvZG9tY29yZS9yYXctZmlsZS90aXAvT3ZlcnZpZXcuaHRt
bCNjb25jZXB0LWdldGVsZW1lbnRzYnl0YWduYW1lCiAgICAgaWYgKG1fbG9jYWxOYW1lID09IHN0
YXJBdG9tKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcAppbmRleCBlYzE1MTY3
MDQxNGU2Yjk1MTIzYWNlMzg5NzNiNTA2ZjNlNmY1ZmQ5Li4yNTExZWE0MWQwMThkOTQyNDZkOGQy
MTZkZGIyZDkyZmRhYjhhYTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
b2xsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNw
cApAQCAtMjEzLDkgKzIxMyw5IEBAIGlubGluZSBib29sIGlzTWF0Y2hpbmdFbGVtZW50KGNvbnN0
IEhUTUxDb2xsZWN0aW9uJiBodG1sQ29sbGVjdGlvbiwgRWxlbWVudCYgZWxlCiAgICAgY2FzZSBO
b2RlQ2hpbGRyZW46CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGNhc2UgRG9jdW1lbnROYW1l
ZEl0ZW1zOgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgRG9jdW1lbnROYW1lQ29s
bGVjdGlvbiY+KGh0bWxDb2xsZWN0aW9uKS5ub2RlTWF0Y2hlcygmZWxlbWVudCk7CisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBEb2N1bWVudE5hbWVDb2xsZWN0aW9uJj4oaHRtbENv
bGxlY3Rpb24pLmVsZW1lbnRNYXRjaGVzKCZlbGVtZW50KTsKICAgICBjYXNlIFdpbmRvd05hbWVk
SXRlbXM6Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXaW5kb3dOYW1lQ29sbGVj
dGlvbiY+KGh0bWxDb2xsZWN0aW9uKS5ub2RlTWF0Y2hlcygmZWxlbWVudCk7CisgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBXaW5kb3dOYW1lQ29sbGVjdGlvbiY+KGh0bWxDb2xsZWN0
aW9uKS5lbGVtZW50TWF0Y2hlcygmZWxlbWVudCk7CiAgICAgY2FzZSBGb3JtQ29udHJvbHM6CiAg
ICAgY2FzZSBUYWJsZVJvd3M6CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTmFtZUNvbGxlY3Rpb24uY3BwCmluZGV4IDUwZWRhNDgyNmY2YzFhMmM4OGQxMmUyOTY5ZWVl
MmY4OTFjM2FhOWQuLjA0NGZkZWJhYTk5ZTc4ZmFlZjQ1ZmY5OTdmNzczNDkyZmM2YjgzYWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxOYW1lQ29sbGVjdGlvbi5jcHAKQEAgLTQ5LDM1ICs0
OSwzNSBAQCBIVE1MTmFtZUNvbGxlY3Rpb246On5IVE1MTmFtZUNvbGxlY3Rpb24oKQogICAgIGRv
Y3VtZW50KCkubm9kZUxpc3RzKCktPnJlbW92ZUNhY2hlZENvbGxlY3Rpb24odGhpcywgbV9uYW1l
KTsKIH0KIAotYm9vbCBXaW5kb3dOYW1lQ29sbGVjdGlvbjo6bm9kZU1hdGNoZXNJZk5hbWVBdHRy
aWJ1dGVNYXRjaChFbGVtZW50KiBlbGVtZW50KQorYm9vbCBXaW5kb3dOYW1lQ29sbGVjdGlvbjo6
ZWxlbWVudE1hdGNoZXNJZk5hbWVBdHRyaWJ1dGVNYXRjaChFbGVtZW50KiBlbGVtZW50KQogewog
ICAgIHJldHVybiBpc0hUTUxJbWFnZUVsZW1lbnQoZWxlbWVudCkgfHwgaXNIVE1MRm9ybUVsZW1l
bnQoZWxlbWVudCkgfHwgZWxlbWVudC0+aGFzVGFnTmFtZShhcHBsZXRUYWcpCiAgICAgICAgIHx8
IGVsZW1lbnQtPmhhc1RhZ05hbWUoZW1iZWRUYWcpIHx8IGVsZW1lbnQtPmhhc1RhZ05hbWUob2Jq
ZWN0VGFnKTsKIH0KIAotYm9vbCBXaW5kb3dOYW1lQ29sbGVjdGlvbjo6bm9kZU1hdGNoZXMoRWxl
bWVudCogZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nSW1wbCogbmFtZSkKK2Jvb2wgV2luZG93
TmFtZUNvbGxlY3Rpb246OmVsZW1lbnRNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0
b21pY1N0cmluZ0ltcGwqIG5hbWUpCiB7CiAgICAgLy8gRmluZCBvbmx5IGltYWdlcywgZm9ybXMs
IGFwcGxldHMsIGVtYmVkcyBhbmQgb2JqZWN0cyBieSBuYW1lLCBidXQgYW55dGhpbmcgYnkgaWQK
LSAgICBpZiAobm9kZU1hdGNoZXNJZk5hbWVBdHRyaWJ1dGVNYXRjaChlbGVtZW50KSAmJiBlbGVt
ZW50LT5nZXROYW1lQXR0cmlidXRlKCkuaW1wbCgpID09IG5hbWUpCisgICAgaWYgKGVsZW1lbnRN
YXRjaGVzSWZOYW1lQXR0cmlidXRlTWF0Y2goZWxlbWVudCkgJiYgZWxlbWVudC0+Z2V0TmFtZUF0
dHJpYnV0ZSgpLmltcGwoKSA9PSBuYW1lKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1
cm4gZWxlbWVudC0+Z2V0SWRBdHRyaWJ1dGUoKS5pbXBsKCkgPT0gbmFtZTsKIH0KIAotYm9vbCBE
b2N1bWVudE5hbWVDb2xsZWN0aW9uOjpub2RlTWF0Y2hlc0lmSWRBdHRyaWJ1dGVNYXRjaChFbGVt
ZW50KiBlbGVtZW50KQorYm9vbCBEb2N1bWVudE5hbWVDb2xsZWN0aW9uOjplbGVtZW50TWF0Y2hl
c0lmSWRBdHRyaWJ1dGVNYXRjaChFbGVtZW50KiBlbGVtZW50KQogewogICAgIC8vIEZJWE1FOiB3
ZSBuZWVkIHRvIGZpeCBIVE1MSW1hZ2VFbGVtZW50IHRvIHVwZGF0ZSB0aGUgaGFzaCBtYXAgZm9y
IHVzIHdoZW4gbmFtZSBhdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4KICAgICByZXR1cm4gZWxl
bWVudC0+aGFzVGFnTmFtZShhcHBsZXRUYWcpIHx8IChlbGVtZW50LT5oYXNUYWdOYW1lKG9iamVj
dFRhZykgJiYgdG9IVE1MT2JqZWN0RWxlbWVudChlbGVtZW50KS0+aXNEb2NOYW1lZEl0ZW0oKSkK
ICAgICAgICAgfHwgKGlzSFRNTEltYWdlRWxlbWVudChlbGVtZW50KSAmJiBlbGVtZW50LT5oYXNO
YW1lKCkpOwogfQogCi1ib29sIERvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzSWZO
YW1lQXR0cmlidXRlTWF0Y2goRWxlbWVudCogZWxlbWVudCkKK2Jvb2wgRG9jdW1lbnROYW1lQ29s
bGVjdGlvbjo6ZWxlbWVudE1hdGNoZXNJZk5hbWVBdHRyaWJ1dGVNYXRjaChFbGVtZW50KiBlbGVt
ZW50KQogewogICAgIHJldHVybiBpc0hUTUxGb3JtRWxlbWVudChlbGVtZW50KSB8fCBlbGVtZW50
LT5oYXNUYWdOYW1lKGVtYmVkVGFnKSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKGlmcmFtZVRhZykK
ICAgICAgICAgfHwgZWxlbWVudC0+aGFzVGFnTmFtZShhcHBsZXRUYWcpIHx8IChlbGVtZW50LT5o
YXNUYWdOYW1lKG9iamVjdFRhZykgJiYgdG9IVE1MT2JqZWN0RWxlbWVudChlbGVtZW50KS0+aXNE
b2NOYW1lZEl0ZW0oKSkKICAgICAgICAgfHwgaXNIVE1MSW1hZ2VFbGVtZW50KGVsZW1lbnQpOwog
fQogCi1ib29sIERvY3VtZW50TmFtZUNvbGxlY3Rpb246Om5vZGVNYXRjaGVzKEVsZW1lbnQqIGVs
ZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZ0ltcGwqIG5hbWUpCitib29sIERvY3VtZW50TmFtZUNv
bGxlY3Rpb246OmVsZW1lbnRNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0
cmluZ0ltcGwqIG5hbWUpCiB7CiAgICAgLy8gRmluZCBpbWFnZXMsIGZvcm1zLCBhcHBsZXRzLCBl
bWJlZHMsIG9iamVjdHMgYW5kIGlmcmFtZXMgYnkgbmFtZSwgYXBwbGV0cyBhbmQgb2JqZWN0IGJ5
IGlkLCBhbmQgaW1hZ2VzIGJ5IGlkCiAgICAgLy8gYnV0IG9ubHkgaWYgdGhleSBoYXZlIGEgbmFt
ZSBhdHRyaWJ1dGUgKHRoaXMgdmVyeSBzdHJhbmdlIHJ1bGUgbWF0Y2hlcyBJRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxOYW1lQ29sbGVjdGlvbi5oCmluZGV4IDk0YTgwOGQyNzE0MGY4ZWNiMjg4
ODQxN2VlMDliYmMyZjZkYTc5YWMuLjFjNzEzMDE1OWQ5ZWY2YzhmOWY3MWQ5YzVjYzA3NWU2YjFm
NTk4ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE5hbWVDb2xsZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTmFtZUNvbGxlY3Rpb24uaApAQCAtNTAs
MTEgKzUwLDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2luZG93
TmFtZUNvbGxlY3Rpb24oZG9jdW1lbnQsIHR5cGUsIG5hbWUpKTsKICAgICB9CiAKLSAgICBib29s
IG5vZGVNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0IHsgcmV0dXJuIG5vZGVNYXRjaGVz
KGVsZW1lbnQsIG1fbmFtZS5pbXBsKCkpOyB9CisgICAgYm9vbCBlbGVtZW50TWF0Y2hlcyhFbGVt
ZW50KiBlbGVtZW50KSBjb25zdCB7IHJldHVybiBlbGVtZW50TWF0Y2hlcyhlbGVtZW50LCBtX25h
bWUuaW1wbCgpKTsgfQogCi0gICAgc3RhdGljIGJvb2wgbm9kZU1hdGNoZXNJZklkQXR0cmlidXRl
TWF0Y2goRWxlbWVudCopIHsgcmV0dXJuIHRydWU7IH0KLSAgICBzdGF0aWMgYm9vbCBub2RlTWF0
Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQqKTsKLSAgICBzdGF0aWMgYm9vbCBub2Rl
TWF0Y2hlcyhFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nSW1wbCopOworICAgIHN0YXRpYyBi
b29sIGVsZW1lbnRNYXRjaGVzSWZJZEF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQqKSB7IHJldHVybiB0
cnVlOyB9CisgICAgc3RhdGljIGJvb2wgZWxlbWVudE1hdGNoZXNJZk5hbWVBdHRyaWJ1dGVNYXRj
aChFbGVtZW50Kik7CisgICAgc3RhdGljIGJvb2wgZWxlbWVudE1hdGNoZXMoRWxlbWVudCosIGNv
bnN0IEF0b21pY1N0cmluZ0ltcGwqKTsKIAogcHJpdmF0ZToKICAgICBXaW5kb3dOYW1lQ29sbGVj
dGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIENvbGxlY3Rpb25UeXBlIHR5cGUsIGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSkKQEAgLTcxLDExICs3MSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IERvY3VtZW50TmFtZUNvbGxlY3Rpb24oZG9jdW1lbnQsIHR5cGUsIG5h
bWUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgYm9vbCBub2RlTWF0Y2hlc0lmSWRBdHRyaWJ1dGVN
YXRjaChFbGVtZW50Kik7Ci0gICAgc3RhdGljIGJvb2wgbm9kZU1hdGNoZXNJZk5hbWVBdHRyaWJ1
dGVNYXRjaChFbGVtZW50Kik7Ci0gICAgYm9vbCBub2RlTWF0Y2hlcyhFbGVtZW50KiBlbGVtZW50
KSBjb25zdCB7IHJldHVybiBub2RlTWF0Y2hlcyhlbGVtZW50LCBtX25hbWUuaW1wbCgpKTsgfQor
ICAgIHN0YXRpYyBib29sIGVsZW1lbnRNYXRjaGVzSWZJZEF0dHJpYnV0ZU1hdGNoKEVsZW1lbnQq
KTsKKyAgICBzdGF0aWMgYm9vbCBlbGVtZW50TWF0Y2hlc0lmTmFtZUF0dHJpYnV0ZU1hdGNoKEVs
ZW1lbnQqKTsKKyAgICBib29sIGVsZW1lbnRNYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0
IHsgcmV0dXJuIGVsZW1lbnRNYXRjaGVzKGVsZW1lbnQsIG1fbmFtZS5pbXBsKCkpOyB9CiAKLSAg
ICBzdGF0aWMgYm9vbCBub2RlTWF0Y2hlcyhFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nSW1w
bCopOworICAgIHN0YXRpYyBib29sIGVsZW1lbnRNYXRjaGVzKEVsZW1lbnQqLCBjb25zdCBBdG9t
aWNTdHJpbmdJbXBsKik7CiAKIHByaXZhdGU6CiAgICAgRG9jdW1lbnROYW1lQ29sbGVjdGlvbihE
b2N1bWVudCYgZG9jdW1lbnQsIENvbGxlY3Rpb25UeXBlIHR5cGUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5jcHAKaW5kZXggNTg2YTM3
NDBmMGRiMGNmMTRjMzE4ZGUyNDcyYzFhZGNiMGM4MGIwOC4uZWMxMWQxMjNhZTNjMjAyNjVhOWJh
MTcwYzU5MjY3OGM2OTliOTMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9MYWJl
bHNOb2RlTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MYWJlbHNOb2RlTGlzdC5j
cHAKQEAgLTQzLDcgKzQzLDcgQEAgTGFiZWxzTm9kZUxpc3Q6On5MYWJlbHNOb2RlTGlzdCgpCiAg
ICAgb3duZXJOb2RlKCkubm9kZUxpc3RzKCktPnJlbW92ZUNhY2hlV2l0aEF0b21pY05hbWUodGhp
cywgc3RhckF0b20pOwogfSAKICAgICAKLWJvb2wgTGFiZWxzTm9kZUxpc3Q6Om5vZGVNYXRjaGVz
KEVsZW1lbnQqIHRlc3ROb2RlKSBjb25zdAorYm9vbCBMYWJlbHNOb2RlTGlzdDo6ZWxlbWVudE1h
dGNoZXMoRWxlbWVudCogdGVzdE5vZGUpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzSFRNTExhYmVs
RWxlbWVudCh0ZXN0Tm9kZSkgJiYgdG9IVE1MTGFiZWxFbGVtZW50KHRlc3ROb2RlKS0+Y29udHJv
bCgpID09ICZvd25lck5vZGUoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TGFiZWxzTm9kZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTGFiZWxzTm9kZUxpc3QuaApp
bmRleCAzMjcwYjYwOTExMGJiMWZhMTU5OGNmYTVjODJmOTNmMDdmZDViNGJkLi4yMDQwODM4ZDdi
MjczZTAzZDY5MjhhMjkxYjE2YjJkMmVkMGRmZWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0xhYmVsc05vZGVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9MYWJlbHNO
b2RlTGlzdC5oCkBAIC0zOCw3ICszOCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgfkxhYmVsc05v
ZGVMaXN0KCk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgbm9kZU1hdGNoZXMoRWxlbWVudCopIGNvbnN0
IG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBlbGVtZW50TWF0Y2hlcyhFbGVtZW50KikgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzUm9vdGVkQXREb2N1bWVudCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvUmFkaW9Ob2RlTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Jh
ZGlvTm9kZUxpc3QuY3BwCmluZGV4IDFjNDQ3MzIyNTQ0NDM2NzQxM2U3NzlkOTlmM2Y4ZWExOTAz
NjJmZmYuLjVhMWYyMjFkODRkNjNiZmZlY2E3Y2QwYmY2NzY4ZTczZWI3YzE5N2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9Ob2RlTGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmNwcApAQCAtOTksNyArOTksNyBAQCBib29sIFJhZGlv
Tm9kZUxpc3Q6OmNoZWNrRWxlbWVudE1hdGNoZXNSYWRpb05vZGVMaXN0RmlsdGVyKEVsZW1lbnQq
IHRlc3RFbGVtZW50KQogICAgIHJldHVybiB0ZXN0RWxlbWVudC0+Z2V0SWRBdHRyaWJ1dGUoKSA9
PSBtX25hbWUgfHwgdGVzdEVsZW1lbnQtPmdldE5hbWVBdHRyaWJ1dGUoKSA9PSBtX25hbWU7CiB9
CiAKLWJvb2wgUmFkaW9Ob2RlTGlzdDo6bm9kZU1hdGNoZXMoRWxlbWVudCogdGVzdEVsZW1lbnQp
IGNvbnN0Citib29sIFJhZGlvTm9kZUxpc3Q6OmVsZW1lbnRNYXRjaGVzKEVsZW1lbnQqIHRlc3RF
bGVtZW50KSBjb25zdAogewogICAgIGlmICghdGVzdEVsZW1lbnQtPmhhc1RhZ05hbWUob2JqZWN0
VGFnKSAmJiAhdGVzdEVsZW1lbnQtPmlzRm9ybUNvbnRyb2xFbGVtZW50KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmFkaW9Ob2RlTGlz
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmgKaW5kZXggMjI3OTYwZDU3
Mzk3YzZkMDE3N2U1ZDQ1MjFhNzYxZDg5OGNhMDc3Yy4uZjNjNDg0NWZjMTFjZmM0ZDI5YWFmMDJh
YjJkZWFlYmNmZDBlZjliYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05v
ZGVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmgKQEAgLTQ1
LDcgKzQ1LDcgQEAgcHVibGljOgogICAgIFN0cmluZyB2YWx1ZSgpIGNvbnN0OwogICAgIHZvaWQg
c2V0VmFsdWUoY29uc3QgU3RyaW5nJik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgbm9kZU1hdGNoZXMo
RWxlbWVudCopIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBlbGVtZW50TWF0Y2hl
cyhFbGVtZW50KikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGlzUm9vdGVkQXRE
b2N1bWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNSb290ZWRBdERvY3VtZW50OyB9
CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>