<?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>160097</bug_id>
          
          <creation_ts>2016-07-22 13:34:10 -0700</creation_ts>
          <short_desc>First parameter to Window.getComputedStyle() should be mandatory and non-nullable</short_desc>
          <delta_ts>2016-08-25 13:07:11 -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>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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>161206</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1213718</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-22 13:34:10 -0700</bug_when>
    <thetext>First parameter to Window.getComputedStyle() should be mandatory and non-nullable:
- https://drafts.csswg.org/cssom/#extensions-to-the-window-interface

Firefox and Chrome agree with the specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213729</commentid>
    <comment_count>1</comment_count>
      <attachid>284370</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-22 13:48:16 -0700</bug_when>
    <thetext>Created attachment 284370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213779</commentid>
    <comment_count>2</comment_count>
      <attachid>284370</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-22 15:57:15 -0700</bug_when>
    <thetext>Comment on attachment 284370
Patch

Clearing flags on attachment: 284370

Committed r203623: &lt;http://trac.webkit.org/changeset/203623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213780</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-22 15:57:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213838</commentid>
    <comment_count>4</comment_count>
      <attachid>284370</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-07-22 22:03:32 -0700</bug_when>
    <thetext>Comment on attachment 284370
Patch

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

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.h:51
&gt; +    ComputedStyleExtractor(RefPtr&lt;Node&gt;&amp;&amp;, bool allowVisitedStyle = false, PseudoId = NOPSEUDO);

Does this have to work on a Node, or maybe just on an Element? Does this have to take a RefPtr, or maybe just a Ref?

&gt; Source/WebCore/inspector/InspectorCSSAgent.cpp:646
&gt; +    RefPtr&lt;CSSComputedStyleDeclaration&gt; computedStyleInfo = CSSComputedStyleDeclaration::create(*element, true);

Should use auto.

&gt; Source/WebCore/page/DOMWindow.h:231
&gt; +        RefPtr&lt;CSSStyleDeclaration&gt; getComputedStyle(Element&amp;, const String&amp; pseudoElt) const;

Should return Ref, not RefPtr.

&gt; Source/WebCore/testing/Internals.h:110
&gt; +    RefPtr&lt;CSSComputedStyleDeclaration&gt; computedStyleIncludingVisitedInfo(Element&amp;) const;

Should return Ref, not RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213932</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-07-23 12:23:39 -0700</bug_when>
    <thetext>This broke the windows build, as EWS indicates:

C:\cygwin\home\buildbot\slave\win-debug\build\Source\WebKit\win\DOMCoreClasses.cpp(804): error C2664: &apos;WTF::RefPtr&lt;WebCore::CSSStyleDeclaration&gt; WebCore::DOMWindow::getComputedStyle(WebCore::Element &amp;,const WTF::String &amp;) const&apos;: cannot convert argument 1 from &apos;WebCore::Element *&apos; to &apos;WebCore::Element &amp;&apos; [C:\cygwin\home\buildbot\slave\win-debug\build\WebKitBuild\Debug\Source\WebKit\WebKit.vcxproj]
C:\cygwin\home\buildbot\slave\win-debug\build\Source\WebKit\win\DOMCoreClasses.cpp(804): error C2228: left of &apos;.get&apos; must have class/struct/union [C:\cygwin\home\buildbot\slave\win-debug\build\WebKitBuild\Debug\Source\WebKit\WebKit.vcxproj]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213941</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-23 14:08:47 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This broke the windows build, as EWS indicates:
&gt; 
&gt; C:\cygwin\home\buildbot\slave\win-
&gt; debug\build\Source\WebKit\win\DOMCoreClasses.cpp(804): error C2664:
&gt; &apos;WTF::RefPtr&lt;WebCore::CSSStyleDeclaration&gt;
&gt; WebCore::DOMWindow::getComputedStyle(WebCore::Element &amp;,const WTF::String &amp;)
&gt; const&apos;: cannot convert argument 1 from &apos;WebCore::Element *&apos; to
&gt; &apos;WebCore::Element &amp;&apos;
&gt; [C:\cygwin\home\buildbot\slave\win-
&gt; debug\build\WebKitBuild\Debug\Source\WebKit\WebKit.vcxproj]
&gt; C:\cygwin\home\buildbot\slave\win-
&gt; debug\build\Source\WebKit\win\DOMCoreClasses.cpp(804): error C2228: left of
&gt; &apos;.get&apos; must have class/struct/union
&gt; [C:\cygwin\home\buildbot\slave\win-
&gt; debug\build\WebKitBuild\Debug\Source\WebKit\WebKit.vcxproj]

I&apos;ll fix shortly. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1213942</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-23 14:11:43 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; This broke the windows build, as EWS indicates:
&gt; &gt; 
&gt; &gt; C:\cygwin\home\buildbot\slave\win-
&gt; &gt; debug\build\Source\WebKit\win\DOMCoreClasses.cpp(804): error C2664:
&gt; &gt; &apos;WTF::RefPtr&lt;WebCore::CSSStyleDeclaration&gt;
&gt; &gt; WebCore::DOMWindow::getComputedStyle(WebCore::Element &amp;,const WTF::String &amp;)
&gt; &gt; const&apos;: cannot convert argument 1 from &apos;WebCore::Element *&apos; to
&gt; &gt; &apos;WebCore::Element &amp;&apos;
&gt; &gt; [C:\cygwin\home\buildbot\slave\win-
&gt; &gt; debug\build\WebKitBuild\Debug\Source\WebKit\WebKit.vcxproj]
&gt; &gt; C:\cygwin\home\buildbot\slave\win-
&gt; &gt; debug\build\Source\WebKit\win\DOMCoreClasses.cpp(804): error C2228: left of
&gt; &gt; &apos;.get&apos; must have class/struct/union
&gt; &gt; [C:\cygwin\home\buildbot\slave\win-
&gt; &gt; debug\build\WebKitBuild\Debug\Source\WebKit\WebKit.vcxproj]
&gt; 
&gt; I&apos;ll fix shortly. Thanks.

&lt;http://trac.webkit.org/changeset/203651&gt; should fix the Windows build.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284370</attachid>
            <date>2016-07-22 13:48:16 -0700</date>
            <delta_ts>2016-07-22 15:57:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160097-20160722134714.patch</filename>
            <type>text/plain</type>
            <size>17117</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNiNWQ3ZTFhMDVkZDc5
ZTIwM2FmODY4MDJkMTEyNTdmNzQzNzFkZS4uOWQ3N2EwZTk1OGUyYzE2MzViOTRhZGFiZTIyNzZl
MjcxODMxMWE0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQxIEBACiAyMDE2LTA3LTIyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRmlyc3QgcGFyYW1ldGVyIHRv
IFdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCkgc2hvdWxkIGJlIG1hbmRhdG9yeSBhbmQgbm9uLW51
bGxhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjAwOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXJzdCBwYXJhbWV0ZXIgdG8gV2luZG93LmdldENvbXB1dGVkU3R5bGUoKSBzaG91bGQgYmUgbWFu
ZGF0b3J5IGFuZAorICAgICAgICBub24tbnVsbGFibGU6CisgICAgICAgIC0gaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzc29tLyNleHRlbnNpb25zLXRvLXRoZS13aW5kb3ctaW50ZXJmYWNlCisK
KyAgICAgICAgRmlyZWZveCBhbmQgQ2hyb21lIGFncmVlIHdpdGggdGhlIHNwZWNpZmljYXRpb24u
CisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vV2luZG93L2dldENvbXB1dGVkU3R5bGUtbWlzc2lu
Zy1wYXJhbWV0ZXIuaHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpDb21w
dXRlZFN0eWxlRXh0cmFjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbjo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmNvcHlQcm9wZXJ0
aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6bGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6aXRl
bSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFBy
b3BlcnR5VmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
aDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6
Z2V0Q29tcHV0ZWRTdHlsZUZvck5vZGUpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Z2V0Q29tcHV0ZWRTdHlsZSk6CisgICAgICAg
ICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxz
Ojpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8pOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCisyMDE2LTA3
LTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgUGFyYW1ldGVy
IHRvIE5vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oKSBzaG91bGQgYmUgbWFuZGF0b3J5IGFu
ZCBub24tbnVsbGFibGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MDA3MQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDAzNmNiNDY1YjM1YWY1NTJjN2YwMjFkMjM2ZTFmMDE2
NDRhZjIzMzYuLmI2YzVkNjA2OGU0NmJkZjhlNWMzZjZhODEzNGU3MTNlMTc4MDI2MDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CkBAIC0xNTgxLDE2ICsxNTgxLDE2IEBAIHN0YXRpYyBSZWY8Q1NTVmFsdWU+IGNyZWF0ZUxpbmVC
b3hDb250YWluVmFsdWUodW5zaWduZWQgbGluZUJveENvbnRhaW4pCiAgICAgcmV0dXJuIENTU0xp
bmVCb3hDb250YWluVmFsdWU6OmNyZWF0ZShsaW5lQm94Q29udGFpbik7CiB9CiAKLUNvbXB1dGVk
U3R5bGVFeHRyYWN0b3I6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3IoUGFzc1JlZlB0cjxOb2RlPiBu
b2RlLCBib29sIGFsbG93VmlzaXRlZFN0eWxlLCBQc2V1ZG9JZCBwc2V1ZG9FbGVtZW50U3BlY2lm
aWVyKQotICAgIDogbV9ub2RlKG5vZGUpCitDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjpDb21wdXRl
ZFN0eWxlRXh0cmFjdG9yKFJlZlB0cjxOb2RlPiYmIG5vZGUsIGJvb2wgYWxsb3dWaXNpdGVkU3R5
bGUsIFBzZXVkb0lkIHBzZXVkb0VsZW1lbnRTcGVjaWZpZXIpCisgICAgOiBtX25vZGUoV1RGTW92
ZShub2RlKSkKICAgICAsIG1fcHNldWRvRWxlbWVudFNwZWNpZmllcihwc2V1ZG9FbGVtZW50U3Bl
Y2lmaWVyKQogICAgICwgbV9hbGxvd1Zpc2l0ZWRTdHlsZShhbGxvd1Zpc2l0ZWRTdHlsZSkKIHsK
IH0KIAogCi1DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OkNTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbihQYXNzUmVmUHRyPE5vZGU+IG4sIGJvb2wgYWxsb3dWaXNpdGVkU3R5bGUsIGNvbnN0
IFN0cmluZyYgcHNldWRvRWxlbWVudE5hbWUpCi0gICAgOiBtX25vZGUobikKK0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbjo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uKEVsZW1lbnQmIGVs
ZW1lbnQsIGJvb2wgYWxsb3dWaXNpdGVkU3R5bGUsIGNvbnN0IFN0cmluZyYgcHNldWRvRWxlbWVu
dE5hbWUpCisgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKICAgICAsIG1fYWxsb3dWaXNpdGVkU3R5
bGUoYWxsb3dWaXNpdGVkU3R5bGUpCiAgICAgLCBtX3JlZkNvdW50KDEpCiB7CkBAIC0yMzIyLDEy
ICsyMzIyLDEyIEBAIHN0YXRpYyBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIHJlc29sdmVBbGlnblNl
bGZBdXRvKGNvbnN0IFN0eWxlU2VsZkFsaWdubWVudERhdGEmCiAKIFJlZlB0cjxDU1NWYWx1ZT4g
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3Bl
cnR5SUQgcHJvcGVydHlJRCwgRVVwZGF0ZUxheW91dCB1cGRhdGVMYXlvdXQpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIENvbXB1dGVkU3R5bGVFeHRyYWN0b3IobV9ub2RlLCBtX2FsbG93VmlzaXRlZFN0
eWxlLCBtX3BzZXVkb0VsZW1lbnRTcGVjaWZpZXIpLnByb3BlcnR5VmFsdWUocHJvcGVydHlJRCwg
dXBkYXRlTGF5b3V0KTsKKyAgICByZXR1cm4gQ29tcHV0ZWRTdHlsZUV4dHJhY3RvcihtX2VsZW1l
bnQuY29weVJlZigpLCBtX2FsbG93VmlzaXRlZFN0eWxlLCBtX3BzZXVkb0VsZW1lbnRTcGVjaWZp
ZXIpLnByb3BlcnR5VmFsdWUocHJvcGVydHlJRCwgdXBkYXRlTGF5b3V0KTsKIH0KIAogUmVmPE11
dGFibGVTdHlsZVByb3BlcnRpZXM+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Y29weVBy
b3BlcnRpZXMoKSBjb25zdAogewotICAgIHJldHVybiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yKG1f
bm9kZSwgbV9hbGxvd1Zpc2l0ZWRTdHlsZSwgbV9wc2V1ZG9FbGVtZW50U3BlY2lmaWVyKS5jb3B5
UHJvcGVydGllcygpOworICAgIHJldHVybiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yKG1fZWxlbWVu
dC5jb3B5UmVmKCksIG1fYWxsb3dWaXNpdGVkU3R5bGUsIG1fcHNldWRvRWxlbWVudFNwZWNpZmll
cikuY29weVByb3BlcnRpZXMoKTsKIH0KIAogc3RhdGljIGlubGluZSBib29sIG5vZGVPckl0c0Fu
Y2VzdG9yTmVlZHNTdHlsZVJlY2FsYyhjb25zdCBOb2RlJiBub2RlKQpAQCAtMzk0NCwxMyArMzk0
NCwxMCBAQCBTdHJpbmcgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eVZh
bHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkgYwogCiB1bnNpZ25lZCBDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246Omxlbmd0aCgpIGNvbnN0CiB7Ci0gICAgTm9kZSogbm9kZSA9IG1fbm9k
ZS5nZXQoKTsKLSAgICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgdXBkYXRl
U3R5bGVJZk5lZWRlZEZvck5vZGUoKm5vZGUpOworICAgIGF1dG8mIGVsZW1lbnQgPSBtX2VsZW1l
bnQuZ2V0KCk7CisgICAgdXBkYXRlU3R5bGVJZk5lZWRlZEZvck5vZGUoZWxlbWVudCk7CiAKLSAg
ICBhdXRvKiBzdHlsZSA9IG5vZGUtPmNvbXB1dGVkU3R5bGUobV9wc2V1ZG9FbGVtZW50U3BlY2lm
aWVyKTsKKyAgICBhdXRvKiBzdHlsZSA9IGNvbnN0X2Nhc3Q8RWxlbWVudCY+KGVsZW1lbnQpLmNv
bXB1dGVkU3R5bGUobV9wc2V1ZG9FbGVtZW50U3BlY2lmaWVyKTsKICAgICBpZiAoIXN0eWxlKQog
ICAgICAgICByZXR1cm4gMDsKIApAQCAtMzk2NSwxMSArMzk2Miw4IEBAIFN0cmluZyBDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb246Oml0ZW0odW5zaWduZWQgaSkgY29uc3QKICAgICBpZiAoaSA8
IG51bUNvbXB1dGVkUHJvcGVydGllcykKICAgICAgICAgcmV0dXJuIGdldFByb3BlcnR5TmFtZVN0
cmluZyhjb21wdXRlZFByb3BlcnRpZXNbaV0pOwogICAgIAotICAgIE5vZGUqIG5vZGUgPSBtX25v
ZGUuZ2V0KCk7Ci0gICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0KLSAg
ICBhdXRvKiBzdHlsZSA9IG5vZGUtPmNvbXB1dGVkU3R5bGUobV9wc2V1ZG9FbGVtZW50U3BlY2lm
aWVyKTsKKyAgICBhdXRvJiBlbGVtZW50ID0gbV9lbGVtZW50LmdldCgpOworICAgIGF1dG8qIHN0
eWxlID0gY29uc3RfY2FzdDxFbGVtZW50Jj4oZWxlbWVudCkuY29tcHV0ZWRTdHlsZShtX3BzZXVk
b0VsZW1lbnRTcGVjaWZpZXIpOwogICAgIGlmICghc3R5bGUpCiAgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKICAgICAKQEAgLTQwNzMsNyArNDA2Nyw3IEBAIENTU1J1bGUqIENTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbjo6cGFyZW50UnVsZSgpIGNvbnN0CiBSZWZQdHI8Q1NTVmFsdWU+IENTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShjb25zdCBTdHJpbmcm
IHByb3BlcnR5TmFtZSkKIHsKICAgICBpZiAoaXNDdXN0b21Qcm9wZXJ0eU5hbWUocHJvcGVydHlO
YW1lKSkKLSAgICAgICAgcmV0dXJuIENvbXB1dGVkU3R5bGVFeHRyYWN0b3IobV9ub2RlLCBtX2Fs
bG93VmlzaXRlZFN0eWxlLCBtX3BzZXVkb0VsZW1lbnRTcGVjaWZpZXIpLmN1c3RvbVByb3BlcnR5
VmFsdWUocHJvcGVydHlOYW1lKTsKKyAgICAgICAgcmV0dXJuIENvbXB1dGVkU3R5bGVFeHRyYWN0
b3IobV9lbGVtZW50LmNvcHlSZWYoKSwgbV9hbGxvd1Zpc2l0ZWRTdHlsZSwgbV9wc2V1ZG9FbGVt
ZW50U3BlY2lmaWVyKS5jdXN0b21Qcm9wZXJ0eVZhbHVlKHByb3BlcnR5TmFtZSk7CiAKICAgICBD
U1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBjc3NQcm9wZXJ0eUlEKHByb3BlcnR5TmFtZSk7CiAg
ICAgaWYgKCFwcm9wZXJ0eUlEKQpAQCAtNDA4NSw3ICs0MDc5LDcgQEAgUmVmUHRyPENTU1ZhbHVl
PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoY29uc3Qg
U3RyaW5nJgogU3RyaW5nIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlW
YWx1ZShjb25zdCBTdHJpbmcgJnByb3BlcnR5TmFtZSkKIHsKICAgICBpZiAoaXNDdXN0b21Qcm9w
ZXJ0eU5hbWUocHJvcGVydHlOYW1lKSkKLSAgICAgICAgcmV0dXJuIENvbXB1dGVkU3R5bGVFeHRy
YWN0b3IobV9ub2RlLCBtX2FsbG93VmlzaXRlZFN0eWxlLCBtX3BzZXVkb0VsZW1lbnRTcGVjaWZp
ZXIpLmN1c3RvbVByb3BlcnR5VGV4dChwcm9wZXJ0eU5hbWUpOworICAgICAgICByZXR1cm4gQ29t
cHV0ZWRTdHlsZUV4dHJhY3RvcihtX2VsZW1lbnQuY29weVJlZigpLCBtX2FsbG93VmlzaXRlZFN0
eWxlLCBtX3BzZXVkb0VsZW1lbnRTcGVjaWZpZXIpLmN1c3RvbVByb3BlcnR5VGV4dChwcm9wZXJ0
eU5hbWUpOwogCiAgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEID0gY3NzUHJvcGVydHlJRChw
cm9wZXJ0eU5hbWUpOwogICAgIGlmICghcHJvcGVydHlJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaAppbmRleCAwM2IxMmI1MGIzMTRlOWRm
NzM0OWJmNWJkNzM3N2QwNWQxMzQ5YTQ3Li43YmIxNTZjZjEyZDhmNDEyZGJlNTBjOTM0ZGRmMjA2
OTFiZDdhNjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5oCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IENTU1ByaW1pdGl2ZVZhbHVlOwogY2xhc3MgQ1NTVmFsdWVMaXN0OwogY2xhc3MgQ29sb3I7Citj
bGFzcyBFbGVtZW50OwogY2xhc3MgRmlsdGVyT3BlcmF0aW9uczsKIGNsYXNzIE11dGFibGVTdHls
ZVByb3BlcnRpZXM7CiBjbGFzcyBOb2RlOwpAQCAtNDcsNyArNDgsNyBAQCBlbnVtIEFkanVzdFBp
eGVsVmFsdWVzRm9yQ29tcHV0ZWRTdHlsZSB7IEFkanVzdFBpeGVsVmFsdWVzLCBEb05vdEFkanVz
dFBpeGVsVmFsdQogCiBjbGFzcyBDb21wdXRlZFN0eWxlRXh0cmFjdG9yIHsKIHB1YmxpYzoKLSAg
ICBDb21wdXRlZFN0eWxlRXh0cmFjdG9yKFBhc3NSZWZQdHI8Tm9kZT4sIGJvb2wgYWxsb3dWaXNp
dGVkU3R5bGUgPSBmYWxzZSwgUHNldWRvSWQgPSBOT1BTRVVETyk7CisgICAgQ29tcHV0ZWRTdHls
ZUV4dHJhY3RvcihSZWZQdHI8Tm9kZT4mJiwgYm9vbCBhbGxvd1Zpc2l0ZWRTdHlsZSA9IGZhbHNl
LCBQc2V1ZG9JZCA9IE5PUFNFVURPKTsKIAogICAgIFJlZlB0cjxDU1NWYWx1ZT4gcHJvcGVydHlW
YWx1ZShDU1NQcm9wZXJ0eUlELCBFVXBkYXRlTGF5b3V0ID0gVXBkYXRlTGF5b3V0KSBjb25zdDsK
ICAgICBTdHJpbmcgY3VzdG9tUHJvcGVydHlUZXh0KGNvbnN0IFN0cmluZyYgcHJvcGVydHlOYW1l
KSBjb25zdDsKQEAgLTg3LDkgKzg4LDkgQEAgcHJpdmF0ZToKIAogY2xhc3MgQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uIGZpbmFsIDogcHVibGljIENTU1N0eWxlRGVjbGFyYXRpb24gewogcHVi
bGljOgotICAgIHN0YXRpYyBSZWY8Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBjcmVhdGUo
UGFzc1JlZlB0cjxOb2RlPiBub2RlLCBib29sIGFsbG93VmlzaXRlZFN0eWxlID0gZmFsc2UsIGNv
bnN0IFN0cmluZyYgcHNldWRvRWxlbWVudE5hbWUgPSBTdHJpbmcoKSkKKyAgICBzdGF0aWMgUmVm
PENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbj4gY3JlYXRlKEVsZW1lbnQmIGVsZW1lbnQsIGJv
b2wgYWxsb3dWaXNpdGVkU3R5bGUgPSBmYWxzZSwgY29uc3QgU3RyaW5nJiBwc2V1ZG9FbGVtZW50
TmFtZSA9IFN0cmluZygpKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uKG5vZGUsIGFsbG93VmlzaXRlZFN0eWxlLCBwc2V1ZG9F
bGVtZW50TmFtZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24oZWxlbWVudCwgYWxsb3dWaXNpdGVkU3R5bGUsIHBzZXVkb0VsZW1lbnRO
YW1lKSk7CiAgICAgfQogICAgIHZpcnR1YWwgfkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbigp
OwogCkBAIC05OSw3ICsxMDAsNyBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGdldFByb3BlcnR5VmFs
dWUoQ1NTUHJvcGVydHlJRCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQg
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uKFBhc3NSZWZQdHI8Tm9kZT4sIGJvb2wgYWxsb3dW
aXNpdGVkU3R5bGUsIGNvbnN0IFN0cmluZyYpOworICAgIFdFQkNPUkVfRVhQT1JUIENTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbihFbGVtZW50JiwgYm9vbCBhbGxvd1Zpc2l0ZWRTdHlsZSwgY29u
c3QgU3RyaW5nJik7CiAKICAgICAvLyBDU1NPTSBmdW5jdGlvbnMuIERvbid0IG1ha2UgdGhlc2Ug
cHVibGljLgogICAgIENTU1J1bGUqIHBhcmVudFJ1bGUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTEy
MSw3ICsxMjIsNyBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRyPENTU1ZhbHVlPiBnZXRQcm9wZXJ0
eUNTU1ZhbHVlKENTU1Byb3BlcnR5SUQsIEVVcGRhdGVMYXlvdXQgPSBVcGRhdGVMYXlvdXQpIGNv
bnN0OwogCi0gICAgUmVmUHRyPE5vZGU+IG1fbm9kZTsKKyAgICBSZWY8RWxlbWVudD4gbV9lbGVt
ZW50OwogICAgIFBzZXVkb0lkIG1fcHNldWRvRWxlbWVudFNwZWNpZmllcjsKICAgICBib29sIG1f
YWxsb3dWaXNpdGVkU3R5bGU7CiAgICAgdW5zaWduZWQgbV9yZWZDb3VudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaWRsCmluZGV4IGMwYTZkNDVjNGQ2YWU1MzYxYmVjMmQ3YzZjMjlhNmNhZmY2Y2UyMmQu
Ljc3YTg5OWJlY2YyNmU3YTgxYzE0YzI5NTZkMjAzNzQyNmViYTk5NjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmlkbApAQCAtMjE5LDggKzIxOSw3IEBACiAKICNpZiBkZWZpbmVkKExBTkdVQUdFX09C
SkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQwogICAgIC8vIERPTSBMZXZlbCAyIFN0
eWxlIEludGVyZmFjZQotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIE9iakNVc2VE
ZWZhdWx0Vmlld10gQ1NTU3R5bGVEZWNsYXJhdGlvbiBnZXRDb21wdXRlZFN0eWxlKEVsZW1lbnQ/
IGVsZW1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBET01TdHJpbmcgcHNldWRvRWxlbWVudCk7CisgICAgW09iakNM
ZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgT2JqQ1VzZURlZmF1bHRWaWV3XSBDU1NTdHlsZURlY2xh
cmF0aW9uIGdldENvbXB1dGVkU3R5bGUoRWxlbWVudCBlbGVtZW50LCBET01TdHJpbmcgcHNldWRv
RWxlbWVudCk7CiAKICAgICAvLyBXZWJLaXQgZXh0ZW5zaW9uCiAgICAgLy8gRklYTUU6IHJlbW92
ZSB0aGUgZmlyc3QgdmVyc2lvbiBvbmNlIG9wdGlvbmFsIGlzIGltcGxlbWVudGVkIGZvciBPYmpl
Y3RpdmUtQy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
U1NBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQu
Y3BwCmluZGV4IDAyMWRjYmRmNDI1NGM2YTQ0NjRmZDU4YzM3ZmRmMzE5NTQ4NjFlYzAuLmZmNTc2
Y2Q1OGY5MGFiNTJmZWI0OWYzYTdjNWY5MTk4NDMwMjMwM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcApAQCAtNjQzLDcgKzY0Myw3IEBAIHZv
aWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldENvbXB1dGVkU3R5bGVGb3JOb2RlKEVycm9yU3RyaW5n
JiBlcnJvclN0cmluZywgaW50IG5vCiAgICAgaWYgKCFlbGVtZW50KQogICAgICAgICByZXR1cm47
CiAKLSAgICBSZWZQdHI8Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBjb21wdXRlZFN0eWxl
SW5mbyA9IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Y3JlYXRlKGVsZW1lbnQsIHRydWUp
OworICAgIFJlZlB0cjxDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24+IGNvbXB1dGVkU3R5bGVJ
bmZvID0gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUoKmVsZW1lbnQsIHRydWUp
OwogICAgIFJlZjxJbnNwZWN0b3JTdHlsZT4gaW5zcGVjdG9yU3R5bGUgPSBJbnNwZWN0b3JTdHls
ZTo6Y3JlYXRlKEluc3BlY3RvckNTU0lkKCksIGNvbXB1dGVkU3R5bGVJbmZvLCBudWxscHRyKTsK
ICAgICBzdHlsZSA9IGluc3BlY3RvclN0eWxlLT5idWlsZEFycmF5Rm9yQ29tcHV0ZWRTdHlsZSgp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IGQyYjA1NjBjMDBmNmM2NzNkZjcz
NTU5NTRlMTdmYWM0ZDA1ODYyYjQuLmY0MjM4NGQ5NDYyYjk2ODA2ZDdiZjQ3ZGY5NGRlYjE3OGZl
MjBlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTEzOTYsMTEgKzEzOTYsOCBA
QCBSZWZQdHI8U3R5bGVNZWRpYT4gRE9NV2luZG93OjpzdHlsZU1lZGlhKCkgY29uc3QKICAgICBy
ZXR1cm4gbV9tZWRpYTsKIH0KIAotUmVmUHRyPENTU1N0eWxlRGVjbGFyYXRpb24+IERPTVdpbmRv
dzo6Z2V0Q29tcHV0ZWRTdHlsZShFbGVtZW50KiBlbGVtZW50LCBjb25zdCBTdHJpbmcmIHBzZXVk
b0VsdCkgY29uc3QKK1JlZlB0cjxDU1NTdHlsZURlY2xhcmF0aW9uPiBET01XaW5kb3c6OmdldENv
bXB1dGVkU3R5bGUoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgU3RyaW5nJiBwc2V1ZG9FbHQpIGNv
bnN0CiB7Ci0gICAgaWYgKCFlbGVtZW50KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQogICAg
IHJldHVybiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmNyZWF0ZShlbGVtZW50LCBmYWxz
ZSwgcHNldWRvRWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggOWVhZmIwODY4
ODJiNTEzYzI2NmU0YzhjY2JmODAwYzNiZDE3MzM0MC4uYmQ1ZTNiNDA4NzE1ODhmNDRlOTk2N2U5
OWM3YjI0Y2Q0YWI4YTI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0yMjgsNyArMjI4
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIC8vIERPTSBMZXZlbCAyIFN0eWxl
IEludGVyZmFjZQogCi0gICAgICAgIFJlZlB0cjxDU1NTdHlsZURlY2xhcmF0aW9uPiBnZXRDb21w
dXRlZFN0eWxlKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmIHBzZXVkb0VsdCkgY29uc3Q7CisgICAg
ICAgIFJlZlB0cjxDU1NTdHlsZURlY2xhcmF0aW9uPiBnZXRDb21wdXRlZFN0eWxlKEVsZW1lbnQm
LCBjb25zdCBTdHJpbmcmIHBzZXVkb0VsdCkgY29uc3Q7CiAKICAgICAgICAgLy8gV2ViS2l0IGV4
dGVuc2lvbnMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IGI2NTk3NDM3OWRhNmE2
ZjYyOTU1MDFhNGRjZTkzZGU1MzQzNmY1NzcuLjIzOTFmM2FiMmQxYzY1NDA3NzY3ZDE1ZDU3OWRm
YWU0OWJjOGFiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTE0OSw3ICsxNDks
NyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZU1lZGlhIHN0eWxlTWVkaWE7CiAKICAg
ICAvLyBET00gTGV2ZWwgMiBTdHlsZSBJbnRlcmZhY2UKLSAgICBDU1NTdHlsZURlY2xhcmF0aW9u
IGdldENvbXB1dGVkU3R5bGUob3B0aW9uYWwgRWxlbWVudD8gZWxlbWVudCA9IG51bGwsIG9wdGlv
bmFsIERPTVN0cmluZz8gcHNldWRvRWxlbWVudCA9IG51bGwpOworICAgIFtOZXdPYmplY3RdIENT
U1N0eWxlRGVjbGFyYXRpb24gZ2V0Q29tcHV0ZWRTdHlsZShFbGVtZW50IGVsZW1lbnQsIG9wdGlv
bmFsIERPTVN0cmluZz8gcHNldWRvRWxlbWVudCA9IG51bGwpOwogCiAgICAgLy8gV2ViS2l0IGV4
dGVuc2lvbnMKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJUFQpICYmIExBTkdVQUdFX0pB
VkFTQ1JJUFQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjZjE5ZWE2MGNh
ZDljZGMwYjBhNTMzZWE2ZTg1NWJmNzg5YTNhZGRlLi5iNjNjMzc3MDVlOGU2ODczZDliODBkMTdl
Mzc1NjZjOTIzZWRmMmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC03
ODMsMTAgKzc4MywxMCBAQCBib29sIEludGVybmFsczo6aGFzUGF1c2VkSW1hZ2VBbmltYXRpb25z
KEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgcmV0dXJuIGVsZW1lbnQucmVuZGVyZXIoKSAmJiBlbGVt
ZW50LnJlbmRlcmVyKCktPmhhc1BhdXNlZEltYWdlQW5pbWF0aW9ucygpOwogfQogCi1SZWZQdHI8
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uPiBJbnRlcm5hbHM6OmNvbXB1dGVkU3R5bGVJbmNs
dWRpbmdWaXNpdGVkSW5mbyhOb2RlJiBub2RlKSBjb25zdAorUmVmUHRyPENTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbj4gSW50ZXJuYWxzOjpjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZElu
Zm8oRWxlbWVudCYgZWxlbWVudCkgY29uc3QKIHsKICAgICBib29sIGFsbG93VmlzaXRlZFN0eWxl
ID0gdHJ1ZTsKLSAgICByZXR1cm4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUo
Jm5vZGUsIGFsbG93VmlzaXRlZFN0eWxlKTsKKyAgICByZXR1cm4gQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uOjpjcmVhdGUoZWxlbWVudCwgYWxsb3dWaXNpdGVkU3R5bGUpOwogfQogCiBOb2Rl
KiBJbnRlcm5hbHM6OmVuc3VyZVNoYWRvd1Jvb3QoRWxlbWVudCYgaG9zdCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA0ZGFkOTY2YjBkY2E0Y2Fh
MmI4ZDIyZDMwN2FiNDY4OGU1ZDU2ODlhLi43MmMwZWM1NmFlN2M3ZTNlNWY3YmMyNjQ2M2E2Yzg4
YjNiNjUwMGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTEwNyw3ICsxMDcs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGVhclBhZ2VDYWNoZSgpOwogICAgIHVuc2lnbmVkIHBh
Z2VDYWNoZVNpemUoKSBjb25zdDsKIAotICAgIFJlZlB0cjxDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24+IGNvbXB1dGVkU3R5bGVJbmNsdWRpbmdWaXNpdGVkSW5mbyhOb2RlJikgY29uc3Q7Cisg
ICAgUmVmUHRyPENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbj4gY29tcHV0ZWRTdHlsZUluY2x1
ZGluZ1Zpc2l0ZWRJbmZvKEVsZW1lbnQmKSBjb25zdDsKIAogICAgIE5vZGUqIGVuc3VyZVNoYWRv
d1Jvb3QoRWxlbWVudCYgaG9zdCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIE5vZGUqIGVuc3VyZVVz
ZXJBZ2VudFNoYWRvd1Jvb3QoRWxlbWVudCYgaG9zdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKaW5kZXggNDY5YTc4MzJlODNmODYxMmM4NzUwYjFhMTdjMWI1NzM3MDBiODZhOS4u
NmU4NjNlNzhlZGMyODNhMzI5ZGU1ZWIwNzQwZjY2YWIwNGZmZDI0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtOTgsNyArOTgsNyBAQCBlbnVtIFVzZXJJbnRlcmZhY2VM
YXlvdXREaXJlY3Rpb24gewogICAgIHZvaWQgY2xlYXJQYWdlQ2FjaGUoKTsKICAgICB1bnNpZ25l
ZCBsb25nIHBhZ2VDYWNoZVNpemUoKTsKIAotICAgIENTU1N0eWxlRGVjbGFyYXRpb24gY29tcHV0
ZWRTdHlsZUluY2x1ZGluZ1Zpc2l0ZWRJbmZvKE5vZGUgbm9kZSk7CisgICAgQ1NTU3R5bGVEZWNs
YXJhdGlvbiBjb21wdXRlZFN0eWxlSW5jbHVkaW5nVmlzaXRlZEluZm8oRWxlbWVudCBlbGVtZW50
KTsKIAogICAgIFtSYWlzZXNFeGNlcHRpb25dIE5vZGUgZW5zdXJlU2hhZG93Um9vdChFbGVtZW50
IGhvc3QpOwogICAgIE5vZGUgZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdChFbGVtZW50IGhvc3Qp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDdmNjUwYWMxOThkN2UzMGIyNmU4MThlYjkxMDhjNzZkNGU3MzNlZGMuLjkxM2Q5
NmQ3OGIzMTEyNjVkNDAxZWVhMGM0ZTYwNTI0ZTlhZDE5MDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxNi0wNy0yMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IEZpcnN0IHBhcmFtZXRlciB0byBXaW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSgpIHNob3VsZCBiZSBt
YW5kYXRvcnkgYW5kIG5vbi1udWxsYWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTYwMDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBmYXN0L2Rv
bS9XaW5kb3cvZ2V0Q29tcHV0ZWRTdHlsZS1taXNzaW5nLXBhcmFtZXRlci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9nZXRDb21wdXRlZFN0eWxlLW1pc3Np
bmctcGFyYW1ldGVyLmh0bWw6IEFkZGVkLgorCiAyMDE2LTA3LTIxICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBwYXJhbWV0ZXJzIHRvIEVsZW1lbnQuZ2V0
RWxlbWVudHNCeSooKSBvcGVyYXRpb25zIG1hbmRhdG9yeQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L2dldENvbXB1dGVkU3R5bGUtbWlzc2luZy1wYXJhbWV0ZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2dldENvbXB1dGVkU3R5bGUt
bWlzc2luZy1wYXJhbWV0ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyNGMwMTYwYzVjMDg4
ODlkMzdkYTZkZWNjYTgyMjlmMmUxZjEwZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvZ2V0Q29tcHV0ZWRTdHlsZS1taXNzaW5nLXBhcmFtZXRlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGVzdCB0aGF0IHRoZSBmaXJzdCBwYXJhbWV0ZXIg
dG8gV2luZG93LmdldENvbXB1dGVkU3R5bGUoKSBpcyBtYW5kYXRvcnkgYW5kIG5vdCBudWxsYWJs
ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJndW1lbnQgMSAoJ2VsZW1lbnQnKSB0byBET01XaW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEVsZW1lbnQuCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L2dldENvbXB1dGVkU3R5bGUtbWlzc2luZy1wYXJhbWV0ZXIuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9nZXRDb21wdXRlZFN0eWxlLW1pc3NpbmctcGFy
YW1ldGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM0OWRiNGU3ZjFkNjRlMmM4MWRiYzI5NjNmYjcyMjA2
YmViNzNhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9n
ZXRDb21wdXRlZFN0eWxlLW1pc3NpbmctcGFyYW1ldGVyLmh0bWwKQEAgLTAsMCArMSwxMyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
IlRlc3QgdGhhdCB0aGUgZmlyc3QgcGFyYW1ldGVyIHRvIFdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KCkgaXMgbWFuZGF0b3J5IGFuZCBub3QgbnVsbGFibGUuIik7CisKK3Nob3VsZFRocm93KCJ3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZSgpIiwgIidUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
JyIpOworc2hvdWxkVGhyb3coIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG51bGwpIiwgIidUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKFxcJ2VsZW1lbnRcXCcpIHRvIERPTVdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRWxlbWVudCciKTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>