<?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>156052</bug_id>
          
          <creation_ts>2016-03-30 19:57:46 -0700</creation_ts>
          <short_desc>Web Automation: Add support for script timeouts to the evaluateJavaScriptFunction command</short_desc>
          <delta_ts>2016-03-31 14:04:19 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>bburg</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1179304</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-30 19:57:46 -0700</bug_when>
    <thetext>The spec requires a timeout for async scripts. This should be an optional argument on evaluateJavaScriptFunction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179306</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-03-30 19:58:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/25457151&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179307</commentid>
    <comment_count>2</comment_count>
      <attachid>275259</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-30 20:01:29 -0700</bug_when>
    <thetext>Created attachment 275259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179435</commentid>
    <comment_count>3</comment_count>
      <attachid>275259</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-03-31 09:15:28 -0700</bug_when>
    <thetext>Comment on attachment 275259
Patch

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

r=me

&gt; Source/WebKit2/ChangeLog:11
&gt; +        Also made expectsImplicitCallbackArgument, since it is not required. Added JavaScriptTimeout error.

Nit, I think the sentence is missing &apos;optional&apos;.

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:-398
&gt; -void WebAutomationSession::evaluateJavaScriptFunction(Inspector::ErrorString&amp; errorString, const String&amp; browsingContextHandle, const String* optionalFrameHandle, const String&amp; function, const Inspector::InspectorArray&amp; arguments, bool expectsImplicitCallbackArgument, Ref&lt;EvaluateJavaScriptFunctionCallback&gt;&amp;&amp; callback)

Haha gross, I really need to make the protocol use Optional&lt;bool&gt; someday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179556</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-31 13:55:04 -0700</bug_when>
    <thetext>https://trac.webkit.org/r198913</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179559</commentid>
    <comment_count>5</comment_count>
      <attachid>275259</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-03-31 13:55:22 -0700</bug_when>
    <thetext>Comment on attachment 275259
Patch

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

&gt; Source/WebKit2/WebProcess/Automation/WebAutomationSessionProxy.js:54
&gt; +        let reportTimeoutError = () =&gt; { clearTimeout(timeoutIdentifier); resultCallback(frameID, callbackID, &quot;JavaScriptTimeout&quot;, true); }

Nit: These are both statements, so normally we include a semicolon after them.

The clearTimeout here is not needed, since this is the timer firing. It does make things line up oh so well though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1179569</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-03-31 14:04:19 -0700</bug_when>
    <thetext>Follow up fixes addressing Joe&apos;s comments: https://trac.webkit.org/r198915</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275259</attachid>
            <date>2016-03-30 20:01:29 -0700</date>
            <delta_ts>2016-03-31 09:15:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156052-20160330200132.patch</filename>
            <type>text/plain</type>
            <size>17179</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk4ODAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWFkYTEzOTIzNWRlNzE4
NmE3YTJlNTBhZTZiNmU5NTAxMTQyMjkxNi4uYzNjOTU1YzU4ODlmNDhkNWQ3MTk0NWY2OTI4OGQ3
MTdjNjFlZTBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE2LTAzLTMwICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgQXV0b21hdGlv
bjogQWRkIHN1cHBvcnQgZm9yIHNjcmlwdCB0aW1lb3V0cyB0byB0aGUgZXZhbHVhdGVKYXZhU2Ny
aXB0RnVuY3Rpb24gY29tbWFuZAorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTYwNTIKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMjU0NTcxNTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbjogQWRkZWQgY2FsbGJhY2tUaW1lb3V0IHRvIGV2
YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uLgorICAgICAgICBBbHNvIG1hZGUgZXhwZWN0c0ltcGxp
Y2l0Q2FsbGJhY2tBcmd1bWVudCwgc2luY2UgaXQgaXMgbm90IHJlcXVpcmVkLiBBZGRlZCBKYXZh
U2NyaXB0VGltZW91dCBlcnJvci4KKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJB
dXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNz
aW9uOjpldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbik6IEFkZGVkIGNhbGxiYWNrVGltZW91dC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZXZhbHVhdGVKYXZhU2NyaXB0Q2FsbGJhY2spOiBTZW5k
IEphdmFTY3JpcHRUaW1lb3V0IGVycm9yIGlmIHRoZSB0aW1lb3V0IGZpcmVkLgorICAgICAgICAo
V2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHRGdW5j
dGlvbik6IEFkZGVkIGNhbGxiYWNrVGltZW91dC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
QXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmpzOgorICAgICAgICAoQXV0b21h
dGlvblNlc3Npb25Qcm94eS5wcm90b3R5cGUuZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24pOiBT
ZXQgYSB0aW1lb3V0IHRvIGZpcmUgaWYgdGhlCisgICAgICAgIGNhbGxiYWNrIGlzIG5vdCBjYWxs
ZWQsIHRoZW4gcmV0dXJuIGFuIGVycm9yLgorICAgICAgICAqIFdlYlByb2Nlc3MvQXV0b21hdGlv
bi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAoRXZhbHVh
dGVKYXZhU2NyaXB0RnVuY3Rpb24pOiBBZGRlZCBjYWxsYmFja1RpbWVvdXQgcGFyYW1ldGVyLgor
CiAyMDE2LTAzLTI5ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIxOTg3OTMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KaW5kZXggODU0YTBjMjU1Nzdk
MWUwMGE0MGQ2ZWZlNGYzYTQ0Y2NlNTk0MTk3Ni4uM2IwMDEwNzdkYzY3NDMwMDcyNjg3MzYwYWI1
ODBiZWUwNzVjZWM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9t
YXRpb24vQXV0b21hdGlvbi5qc29uCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRv
bWF0aW9uL0F1dG9tYXRpb24uanNvbgpAQCAtNDgsNiArNDgsNyBAQAogICAgICAgICAgICAgImVu
dW0iOiBbCiAgICAgICAgICAgICAgICAgIkludGVybmFsRXJyb3IiLAogICAgICAgICAgICAgICAg
ICJKYXZhU2NyaXB0RXJyb3IiLAorICAgICAgICAgICAgICAgICJKYXZhU2NyaXB0VGltZW91dCIs
CiAgICAgICAgICAgICAgICAgIldpbmRvd05vdEZvdW5kIiwKICAgICAgICAgICAgICAgICAiRnJh
bWVOb3RGb3VuZCIsCiAgICAgICAgICAgICAgICAgIk5vZGVOb3RGb3VuZCIsCkBAIC0xOTgsNyAr
MTk5LDggQEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImZyYW1lSGFuZGxlIiwgIiRyZWYi
OiAiRnJhbWVIYW5kbGUiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiVGhlIGhh
bmRsZSBmb3IgdGhlIGZyYW1lIHRoZSBzY3JpcHQgc2hvdWxkIGJlIGV2YWx1YXRlZC4gVGhlIG1h
aW4gZnJhbWUgaXMgdXNlZCBpZiB0aGlzIHBhcmFtZXRlciBlbXB0eSBzdHJpbmcgb3IgZXhjbHVk
ZWQuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZnVuY3Rpb24iLCAidHlwZSI6ICJz
dHJpbmciLCAiZGVzY3JpcHRpb24iOiAiVGhlIHNjcmlwdCB0byBldmFsdWF0ZSBpbiB0aGUgYnJv
d3NpbmcgY29udGV4dC4gSXQgbXVzdCBiZSBhIGZ1bmN0aW9uIHJlc3VsdC4iIH0sCiAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJhcmd1bWVudHMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6
IHsgInR5cGUiOiAic3RyaW5nIiB9LCAiZGVzY3JpcHRpb24iOiAiVGhlIGFyZ3VtZW50cyB0byBw
YXNzIHRvIHRoZSBmdW5jdGlvbiB3aGVuIGNhbGxlZC4gVGhleSB3aWxsIGJlIHBhcnNlZCBhcyBK
U09OIGJlZm9yZSBjYWxsaW5nIHRoZSBmdW5jdGlvbi4iIH0sCi0gICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJleHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50IiwgInR5cGUiOiAiYm9vbGVh
biIsICJkZXNjcmlwdGlvbiI6ICJUaGUgZnVuY3Rpb24gZXhwZWN0cyBhIGNhbGxiYWNrIGZ1bmN0
aW9uIGFzIHRoZSBsYXN0IGFyZ3VtZW50LiBJdCBpcyBleHBlY3RlZCB0byBjYWxsIHRoaXMgY2Fs
bGJhY2sgd2l0aCBhIHJlc3VsdC4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV4cGVj
dHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlRoZSBmdW5jdGlvbiBleHBlY3RzIGEgY2FsbGJhY2sg
ZnVuY3Rpb24gYXMgdGhlIGxhc3QgYXJndW1lbnQuIEl0IGlzIGV4cGVjdGVkIHRvIGNhbGwgdGhp
cyBjYWxsYmFjayB3aXRoIGEgcmVzdWx0LiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNhbGxiYWNrVGltZW91dCIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiVGhlIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgdGhlIGltcGxp
Y2l0IGNhbGxiYWNrIGlzIGV4cGVjdGVkIHRvIGJlIGNhbGxlZCBpbiwgb3RoZXJ3aXNlIGEgPGNv
ZGU+SmF2YVNjcmlwdFRpbWVvdXQ8L2NvZGU+IGVycm9yIGlzIHJldHVybmVkLiIgfQogICAgICAg
ICAgICAgXSwKICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAicmVzdWx0IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlRoZSByZXN1
bHQgcmV0dXJuZWQgYnkgdGhlIGNhbGxlZCBmdW5jdGlvbi4gSXQgaXMgSlNPTiBlbmNvZGVkIGFm
dGVyIHRoZSBmdW5jdGlvbiByZXR1cm5zIG9yIGNhbGxzIHRoZSBjYWxsYmFjay4iIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25T
ZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmNwcAppbmRleCAyZDIzMzUzN2M4ODQ5Mzk1Y2E1MTgwODJmN2Y1ODU4ODE3
NzcyYjhkLi5jM2UyODJiYWFjYmFhMGJlYzgxOGY2ZTFhNTYwNDA2MGM0OTYwNjM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb24uY3BwCkBAIC0zOTUsNyArMzk1LDcgQEAgdm9pZCBXZWJBdXRvbWF0aW9u
U2Vzc2lvbjo6cmVsb2FkQnJvd3NpbmdDb250ZXh0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVy
cm9yU3QKICAgICBwYWdlLT5yZWxvYWQocmVsb2FkRnJvbU9yaWdpbiwgY29udGVudEJsb2NrZXJz
RW5hYmxlZCk7CiB9CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmV2YWx1YXRlSmF2YVNj
cmlwdEZ1bmN0aW9uKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBT
dHJpbmcmIGJyb3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1l
SGFuZGxlLCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBjb25zdCBJbnNwZWN0b3I6Okluc3BlY3Rv
ckFycmF5JiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwg
UmVmPEV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uQ2FsbGJhY2s+JiYgY2FsbGJhY2spCit2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbihJbnNwZWN0
b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBicm93c2luZ0NvbnRl
eHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxGcmFtZUhhbmRsZSwgY29uc3QgU3RyaW5n
JiBmdW5jdGlvbiwgY29uc3QgSW5zcGVjdG9yOjpJbnNwZWN0b3JBcnJheSYgYXJndW1lbnRzLCBj
b25zdCBib29sKiBvcHRpb25hbEV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQsIGNvbnN0
IGludCogb3B0aW9uYWxDYWxsYmFja1RpbWVvdXQsIFJlZjxFdmFsdWF0ZUphdmFTY3JpcHRGdW5j
dGlvbkNhbGxiYWNrPiYmIGNhbGxiYWNrKQogewogICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IHdl
YlBhZ2VQcm94eUZvckhhbmRsZShicm93c2luZ0NvbnRleHRIYW5kbGUpOwogICAgIGlmICghcGFn
ZSkKQEAgLTQxNCwxMCArNDE0LDEzIEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmV2YWx1
YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVyCiAgICAgICAg
IGFyZ3VtZW50c1ZlY3Rvci51bmNoZWNrZWRBcHBlbmQoYXJndW1lbnRTdHJpbmcpOwogICAgIH0K
IAorICAgIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCA9IG9wdGlvbmFsRXhw
ZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCA/ICpvcHRpb25hbEV4cGVjdHNJbXBsaWNpdENh
bGxiYWNrQXJndW1lbnQgOiBmYWxzZTsKKyAgICBpbnQgY2FsbGJhY2tUaW1lb3V0ID0gb3B0aW9u
YWxDYWxsYmFja1RpbWVvdXQgPyAqb3B0aW9uYWxDYWxsYmFja1RpbWVvdXQgOiAwOworCiAgICAg
dWludDY0X3QgY2FsbGJhY2tJRCA9IG1fbmV4dEV2YWx1YXRlSmF2YVNjcmlwdENhbGxiYWNrSUQr
KzsKICAgICBtX2V2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uQ2FsbGJhY2tzLnNldChjYWxsYmFj
a0lELCBXVEZNb3ZlKGNhbGxiYWNrKSk7CiAKLSAgICBwYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNz
YWdlczo6V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6RXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rp
b24oZnJhbWUtPmZyYW1lSUQoKSwgZnVuY3Rpb24sIGFyZ3VtZW50c1ZlY3RvciwgZXhwZWN0c0lt
cGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgY2FsbGJhY2tJRCksIDApOworICAgIHBhZ2UtPnByb2Nl
c3MoKS5zZW5kKE1lc3NhZ2VzOjpXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5OjpFdmFsdWF0ZUph
dmFTY3JpcHRGdW5jdGlvbihmcmFtZS0+ZnJhbWVJRCgpLCBmdW5jdGlvbiwgYXJndW1lbnRzVmVj
dG9yLCBleHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50LCBjYWxsYmFja1RpbWVvdXQsIGNh
bGxiYWNrSUQpLCAwKTsKIH0KIAogdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlkRXZhbHVh
dGVKYXZhU2NyaXB0RnVuY3Rpb24odWludDY0X3QgY2FsbGJhY2tJRCwgY29uc3QgU3RyaW5nJiBy
ZXN1bHQsIGNvbnN0IFN0cmluZyYgZXJyb3JUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKaW5kZXgg
MzQ4ZDRmNTA2OTQ4OTEyNjcyNWI4NDg1OWI2YTQ1YWRjNGEzOTA0OS4uN2M1YzU3NmY4YjY3YTgw
ZjM5YTE0ZDA4OWIzZTc0NjNjZTQyMWUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCkBAIC0xMDIs
NyArMTAyLDcgQEAgcHVibGljOgogICAgIHZvaWQgZ29CYWNrSW5Ccm93c2luZ0NvbnRleHQoSW5z
cGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQg
Z29Gb3J3YXJkSW5Ccm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0
IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVsb2FkQnJvd3NpbmdDb250ZXh0KEluc3Bl
Y3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKLSAgICB2b2lkIGV2
YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBT
dHJpbmcmIGJyb3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1l
SGFuZGxlLCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBjb25zdCBJbnNwZWN0b3I6Okluc3BlY3Rv
ckFycmF5JiBhcmd1bWVudHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwg
UmVmPEluc3BlY3Rvcjo6QXV0b21hdGlvbkJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6RXZhbHVh
dGVKYXZhU2NyaXB0RnVuY3Rpb25DYWxsYmFjaz4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBldmFs
dWF0ZUphdmFTY3JpcHRGdW5jdGlvbihJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3Ry
aW5nJiBicm93c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxGcmFtZUhh
bmRsZSwgY29uc3QgU3RyaW5nJiBmdW5jdGlvbiwgY29uc3QgSW5zcGVjdG9yOjpJbnNwZWN0b3JB
cnJheSYgYXJndW1lbnRzLCBjb25zdCBib29sKiBvcHRpb25hbEV4cGVjdHNJbXBsaWNpdENhbGxi
YWNrQXJndW1lbnQsIGNvbnN0IGludCogb3B0aW9uYWxDYWxsYmFja1RpbWVvdXQsIFJlZjxJbnNw
ZWN0b3I6OkF1dG9tYXRpb25CYWNrZW5kRGlzcGF0Y2hlckhhbmRsZXI6OkV2YWx1YXRlSmF2YVNj
cmlwdEZ1bmN0aW9uQ2FsbGJhY2s+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgcGVyZm9ybU1vdXNl
SW50ZXJhY3Rpb24oSW5zcGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgaGFuZGxl
LCBjb25zdCBJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdCYgcmVxdWVzdGVkUG9zaXRpb24sIGNv
bnN0IFN0cmluZyYgbW91c2VCdXR0b24sIGNvbnN0IFN0cmluZyYgbW91c2VJbnRlcmFjdGlvbiwg
Y29uc3QgSW5zcGVjdG9yOjpJbnNwZWN0b3JBcnJheSYga2V5TW9kaWZpZXJzLCBSZWZQdHI8SW5z
cGVjdG9yOjpQcm90b2NvbDo6QXV0b21hdGlvbjo6UG9pbnQ+JiB1cGRhdGVkUG9zaXRpb24pIG92
ZXJyaWRlOwogICAgIHZvaWQgcmVzb2x2ZUNoaWxkRnJhbWVIYW5kbGUoSW5zcGVjdG9yOjpFcnJv
clN0cmluZyYsIGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJp
bmcqIG9wdGlvbmFsRnJhbWVIYW5kbGUsIGNvbnN0IGludCogb3B0aW9uYWxPcmRpbmFsLCBjb25z
dCBTdHJpbmcqIG9wdGlvbmFsTmFtZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbE5vZGVIYW5kbGUs
IFJlZjxSZXNvbHZlQ2hpbGRGcmFtZUhhbmRsZUNhbGxiYWNrPiYmKSBvdmVycmlkZTsKICAgICB2
b2lkIHJlc29sdmVQYXJlbnRGcmFtZUhhbmRsZShJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiBicm93c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyYgZnJhbWVIYW5k
bGUsIFJlZjxSZXNvbHZlUGFyZW50RnJhbWVIYW5kbGVDYWxsYmFjaz4mJikgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb25Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dG9tYXRp
b24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAKaW5kZXggN2JkMTFkMzI2YzAxOWZhZmM3
ODFhODYzY2E0MWEyNmVmNGY0MjYyMi4uYzM1YmUzYmU3MTIxZmRkNzdlZmE0YzQyYTc4NzRmMjMx
MzY5MjdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmNwcApAQCAtMTI1LDEw
ICsxMjUsMTEgQEAgc3RhdGljIEpTVmFsdWVSZWYgY3JlYXRlVVVJRChKU0NvbnRleHRSZWYgY29u
dGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWMKIAogc3RhdGljIEpTVmFsdWVSZWYg
ZXZhbHVhdGVKYXZhU2NyaXB0Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0
UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3Vu
dCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQog
ewotICAgIEFTU0VSVF9BUkcoYXJndW1lbnRDb3VudCwgYXJndW1lbnRDb3VudCA9PSAzKTsKKyAg
ICBBU1NFUlRfQVJHKGFyZ3VtZW50Q291bnQsIGFyZ3VtZW50Q291bnQgPT0gNCk7CiAgICAgQVNT
RVJUX0FSRyhhcmd1bWVudHMsIEpTVmFsdWVJc051bWJlcihjb250ZXh0LCBhcmd1bWVudHNbMF0p
KTsKICAgICBBU1NFUlRfQVJHKGFyZ3VtZW50cywgSlNWYWx1ZUlzTnVtYmVyKGNvbnRleHQsIGFy
Z3VtZW50c1sxXSkpOwogICAgIEFTU0VSVF9BUkcoYXJndW1lbnRzLCBKU1ZhbHVlSXNTdHJpbmco
Y29udGV4dCwgYXJndW1lbnRzWzJdKSk7CisgICAgQVNTRVJUX0FSRyhhcmd1bWVudHMsIEpTVmFs
dWVJc0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzNdKSk7CiAKICAgICBhdXRvIGF1dG9tYXRp
b25TZXNzaW9uUHJveHkgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5hdXRvbWF0aW9uU2Vzc2lv
blByb3h5KCk7CiAgICAgaWYgKCFhdXRvbWF0aW9uU2Vzc2lvblByb3h5KQpAQCAtMTM3LDggKzEz
OCwxOSBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBldmFsdWF0ZUphdmFTY3JpcHRDYWxsYmFjayhKU0Nv
bnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZgogICAgIHVpbnQ2NF90IGZyYW1lSUQgPSBK
U1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgYXJndW1lbnRzWzBdLCBleGNlcHRpb24pOwogICAgIHVp
bnQ2NF90IGNhbGxiYWNrSUQgPSBKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgYXJndW1lbnRzWzFd
LCBleGNlcHRpb24pOwogICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiByZXN1bHQoQWRvcHQs
IEpTVmFsdWVUb1N0cmluZ0NvcHkoY29udGV4dCwgYXJndW1lbnRzWzJdLCBleGNlcHRpb24pKTsK
LQotICAgIGF1dG9tYXRpb25TZXNzaW9uUHJveHktPmRpZEV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0
aW9uKGZyYW1lSUQsIGNhbGxiYWNrSUQsIHJlc3VsdC0+c3RyaW5nKCksIGVtcHR5U3RyaW5nKCkp
OworICAgIGJvb2wgcmVzdWx0SXNFcnJvck5hbWUgPSBKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQs
IGFyZ3VtZW50c1szXSk7CisKKyAgICBpZiAocmVzdWx0SXNFcnJvck5hbWUpIHsKKyAgICAgICAg
aWYgKHJlc3VsdC0+c3RyaW5nKCkgPT0gIkphdmFTY3JpcHRUaW1lb3V0IikgeworICAgICAgICAg
ICAgU3RyaW5nIGVycm9yVHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OmdldEVudW1Db25zdGFu
dFZhbHVlKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9tYXRpb246OkVycm9yTWVzc2FnZTo6SmF2
YVNjcmlwdFRpbWVvdXQpOworICAgICAgICAgICAgYXV0b21hdGlvblNlc3Npb25Qcm94eS0+ZGlk
RXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24oZnJhbWVJRCwgY2FsbGJhY2tJRCwgZW1wdHlTdHJp
bmcoKSwgZXJyb3JUeXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgU3RyaW5nIGVycm9yVHlwZSA9IEluc3BlY3Rvcjo6
UHJvdG9jb2w6OmdldEVudW1Db25zdGFudFZhbHVlKEluc3BlY3Rvcjo6UHJvdG9jb2w6OkF1dG9t
YXRpb246OkVycm9yTWVzc2FnZTo6SW50ZXJuYWxFcnJvcik7CisgICAgICAgICAgICBhdXRvbWF0
aW9uU2Vzc2lvblByb3h5LT5kaWRFdmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbihmcmFtZUlELCBj
YWxsYmFja0lELCBlbXB0eVN0cmluZygpLCBlcnJvclR5cGUpOworICAgICAgICB9CisgICAgfSBl
bHNlCisgICAgICAgIGF1dG9tYXRpb25TZXNzaW9uUHJveHktPmRpZEV2YWx1YXRlSmF2YVNjcmlw
dEZ1bmN0aW9uKGZyYW1lSUQsIGNhbGxiYWNrSUQsIHJlc3VsdC0+c3RyaW5nKCksIGVtcHR5U3Ry
aW5nKCkpOwogCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQpA
QCAtMjExLDcgKzIyMyw3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6ZGlkQ2xl
YXJXaW5kb3dPYmplY3RGb3JGcmFtZShXZWJGcmFtZSYgZnJhbWUpCiAgICAgICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6
OldlYkF1dG9tYXRpb25TZXNzaW9uOjpEaWRFdmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbihjYWxs
YmFja0lELCBlbXB0eVN0cmluZygpLCBlcnJvclR5cGUpLCAwKTsKIH0KIAotdm9pZCBXZWJBdXRv
bWF0aW9uU2Vzc2lvblByb3h5OjpldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbih1aW50NjRfdCBm
cmFtZUlELCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMs
IGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgdWludDY0X3QgY2FsbGJhY2tJ
RCkKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eTo6ZXZhbHVhdGVKYXZhU2NyaXB0RnVu
Y3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBmdW5jdGlvbiwgVmVjdG9yPFN0
cmluZz4gYXJndW1lbnRzLCBib29sIGV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQsIGlu
dCBjYWxsYmFja1RpbWVvdXQsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiB7CiAgICAgV2ViRnJhbWUq
IGZyYW1lID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViRnJhbWUoZnJhbWVJRCk7CiAgICAg
aWYgKCFmcmFtZSkKQEAgLTIyNCw4ICsyMzYsNiBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9u
UHJveHk6OmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKHVpbnQ2NF90IGZyYW1lSUQsIGNvbgog
ICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gbnVsbHB0cjsKICAgICBKU0dsb2JhbENvbnRleHRS
ZWYgY29udGV4dCA9IGZyYW1lLT5qc0NvbnRleHQoKTsKIAotICAgIEpTT2JqZWN0UmVmIGNhbGxi
YWNrRnVuY3Rpb24gPSBKU09iamVjdE1ha2VGdW5jdGlvbldpdGhDYWxsYmFjayhjb250ZXh0LCBu
dWxscHRyLCBldmFsdWF0ZUphdmFTY3JpcHRDYWxsYmFjayk7Ci0KICAgICBpZiAoZXhwZWN0c0lt
cGxpY2l0Q2FsbGJhY2tBcmd1bWVudCkgewogICAgICAgICBhdXRvIHJlc3VsdCA9IG1fd2ViRnJh
bWVQZW5kaW5nRXZhbHVhdGVKYXZhU2NyaXB0Q2FsbGJhY2tzTWFwLmFkZChmcmFtZUlELCBWZWN0
b3I8dWludDY0X3Q+KCkpOwogICAgICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmFwcGVuZChj
YWxsYmFja0lEKTsKQEAgLTIzNyw3ICsyNDcsOCBAQCB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9u
UHJveHk6OmV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uKHVpbnQ2NF90IGZyYW1lSUQsIGNvbgog
ICAgICAgICBKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgZXhwZWN0c0ltcGxpY2l0Q2FsbGJh
Y2tBcmd1bWVudCksCiAgICAgICAgIEpTVmFsdWVNYWtlTnVtYmVyKGNvbnRleHQsIGZyYW1lSUQp
LAogICAgICAgICBKU1ZhbHVlTWFrZU51bWJlcihjb250ZXh0LCBjYWxsYmFja0lEKSwKLSAgICAg
ICAgY2FsbGJhY2tGdW5jdGlvbgorICAgICAgICBKU09iamVjdE1ha2VGdW5jdGlvbldpdGhDYWxs
YmFjayhjb250ZXh0LCBudWxscHRyLCBldmFsdWF0ZUphdmFTY3JpcHRDYWxsYmFjayksCisgICAg
ICAgIEpTVmFsdWVNYWtlTnVtYmVyKGNvbnRleHQsIGNhbGxiYWNrVGltZW91dCkKICAgICB9Owog
CiAgICAgY2FsbFByb3BlcnR5RnVuY3Rpb24oY29udGV4dCwgc2NyaXB0T2JqZWN0LCBBU0NJSUxp
dGVyYWwoImV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uIiksIFdURl9BUlJBWV9MRU5HVEgoZnVu
Y3Rpb25Bcmd1bWVudHMpLCBmdW5jdGlvbkFyZ3VtZW50cywgJmV4Y2VwdGlvbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uUHJveHkuaAppbmRleCAxNWNkZmQwOTgxNjI2NGEyZjdhYjIxZmI1NTE3
ODY3ODZmYmI4ODA4Li42NmUyNjIyZWU2OTE0ODU0MTE0MjIxM2UwOTQxMDcyMmRlNWQxNzY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb25Qcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQXV0b21h
dGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVz
c2FnZURlY29kZXImKTsKIAogICAgIC8vIENhbGxlZCBieSBXZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5IG1lc3NhZ2VzCi0gICAgdm9pZCBldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbih1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVu
dHMsIGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgdWludDY0X3QgY2FsbGJh
Y2tJRCk7CisgICAgdm9pZCBldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbih1aW50NjRfdCBmcmFt
ZUlELCBjb25zdCBTdHJpbmcmIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMsIGJv
b2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgaW50IGNhbGxiYWNrVGltZW91dCwg
dWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCByZXNvbHZlQ2hpbGRGcmFtZVdpdGhPcmRp
bmFsKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQzMl90IG9yZGluYWwsIHVpbnQ2NF90IGNhbGxiYWNr
SUQpOwogICAgIHZvaWQgcmVzb2x2ZUNoaWxkRnJhbWVXaXRoTm9kZUhhbmRsZSh1aW50NjRfdCBm
cmFtZUlELCBjb25zdCBTdHJpbmcmIG5vZGVIYW5kbGUsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwog
ICAgIHZvaWQgcmVzb2x2ZUNoaWxkRnJhbWVXaXRoTmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBTdHJpbmcmIG5hbWUsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHku
anMgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eS5qcwppbmRleCBlZjUwM2UwNjVmNmUyOWFmY2I5YzQ4OTRmMDQ3ZGIwNTIzY2Zm
ZjNhLi5jNzFhYTE1MmM0OWFmNGIxMDUwOTJkNmQ2YjI4MDZjYTcwNDM0OTE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b25Qcm94eS5qcworKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2Vi
QXV0b21hdGlvblNlc3Npb25Qcm94eS5qcwpAQCAtMzksNyArMzksNyBAQCBsZXQgQXV0b21hdGlv
blNlc3Npb25Qcm94eSA9IGNsYXNzIEF1dG9tYXRpb25TZXNzaW9uUHJveHkKIAogICAgIC8vIFB1
YmxpYwogCi0gICAgZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24oZnVuY3Rpb25TdHJpbmcsIGFy
Z3VtZW50U3RyaW5ncywgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgZnJhbWVJRCwg
Y2FsbGJhY2tJRCwgcmVzdWx0Q2FsbGJhY2spCisgICAgZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rp
b24oZnVuY3Rpb25TdHJpbmcsIGFyZ3VtZW50U3RyaW5ncywgZXhwZWN0c0ltcGxpY2l0Q2FsbGJh
Y2tBcmd1bWVudCwgZnJhbWVJRCwgY2FsbGJhY2tJRCwgcmVzdWx0Q2FsbGJhY2ssIGNhbGxiYWNr
VGltZW91dCkKICAgICB7CiAgICAgICAgIC8vIFRoZSBzY3JpcHQgaXMgZXhwZWN0ZWQgdG8gYmUg
YSBmdW5jdGlvbiBkZWNsYXJhdGlvbi4gRXZhbHVhdGUgaXQgaW5zaWRlIHBhcmVudGhlc2lzIHRv
IGdldCB0aGUgZnVuY3Rpb24gdmFsdWUuCiAgICAgICAgIGxldCBmdW5jdGlvblZhbHVlID0gZXZh
bHVhdGUoIigiICsgZnVuY3Rpb25TdHJpbmcgKyAiKSIpOwpAQCAtNDcsMTMgKzQ3LDE5IEBAIGxl
dCBBdXRvbWF0aW9uU2Vzc2lvblByb3h5ID0gY2xhc3MgQXV0b21hdGlvblNlc3Npb25Qcm94eQog
ICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiU2NyaXB0IGRpZCBub3QgZXZhbHVhdGUg
dG8gYSBmdW5jdGlvbi4iKTsKIAogICAgICAgICBsZXQgYXJndW1lbnRWYWx1ZXMgPSBhcmd1bWVu
dFN0cmluZ3MubWFwKHRoaXMuX2pzb25QYXJzZSwgdGhpcyk7Ci0gICAgICAgIGxldCBjYWxsYmFj
ayA9IChyZXN1bHQpID0+IHJlc3VsdENhbGxiYWNrKGZyYW1lSUQsIGNhbGxiYWNrSUQsIHRoaXMu
X2pzb25TdHJpbmdpZnkocmVzdWx0KSk7CisKKyAgICAgICAgbGV0IHRpbWVvdXRJZGVudGlmaWVy
ID0gMDsKKworICAgICAgICBsZXQgcmVwb3J0UmVzdWx0ID0gKHJlc3VsdCkgPT4geyBjbGVhclRp
bWVvdXQodGltZW91dElkZW50aWZpZXIpOyByZXN1bHRDYWxsYmFjayhmcmFtZUlELCBjYWxsYmFj
a0lELCB0aGlzLl9qc29uU3RyaW5naWZ5KHJlc3VsdCksIGZhbHNlKTsgfQorICAgICAgICBsZXQg
cmVwb3J0VGltZW91dEVycm9yID0gKCkgPT4geyBjbGVhclRpbWVvdXQodGltZW91dElkZW50aWZp
ZXIpOyByZXN1bHRDYWxsYmFjayhmcmFtZUlELCBjYWxsYmFja0lELCAiSmF2YVNjcmlwdFRpbWVv
dXQiLCB0cnVlKTsgfQogCiAgICAgICAgIGlmIChleHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3Vt
ZW50KSB7Ci0gICAgICAgICAgICBhcmd1bWVudFZhbHVlcy5wdXNoKGNhbGxiYWNrKTsKKyAgICAg
ICAgICAgIHRpbWVvdXRJZGVudGlmaWVyID0gc2V0VGltZW91dChyZXBvcnRUaW1lb3V0RXJyb3Is
IGNhbGxiYWNrVGltZW91dCk7CisKKyAgICAgICAgICAgIGFyZ3VtZW50VmFsdWVzLnB1c2gocmVw
b3J0UmVzdWx0KTsKICAgICAgICAgICAgIGZ1bmN0aW9uVmFsdWUuYXBwbHkobnVsbCwgYXJndW1l
bnRWYWx1ZXMpOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGNhbGxiYWNrKGZ1bmN0aW9u
VmFsdWUuYXBwbHkobnVsbCwgYXJndW1lbnRWYWx1ZXMpKTsKKyAgICAgICAgICAgIHJlcG9ydFJl
c3VsdChmdW5jdGlvblZhbHVlLmFwcGx5KG51bGwsIGFyZ3VtZW50VmFsdWVzKSk7CiAgICAgfQog
CiAgICAgbm9kZUZvcklkZW50aWZpZXIoaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Lm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZjcyMzFlN2NjMGM4MzUyODUzMzY5
ZWNhNDhhNTdkN2ZiNzQwNTI5YS4uNjI0MmFmYjU4NTY5ZTlmY2VhZjA3Yzg5NzA5ZTFhMjhkOTlm
OThkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dl
YkF1dG9tYXRpb25TZXNzaW9uUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkubWVzc2FnZXMu
aW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViQXV0
b21hdGlvblNlc3Npb25Qcm94eSB7Ci0gICAgRXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24odWlu
dDY0X3QgZnJhbWVJRCwgU3RyaW5nIGZ1bmN0aW9uLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMs
IGJvb2wgZXhwZWN0c0ltcGxpY2l0Q2FsbGJhY2tBcmd1bWVudCwgdWludDY0X3QgY2FsbGJhY2tJ
RCkKKyAgICBFdmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbih1aW50NjRfdCBmcmFtZUlELCBTdHJp
bmcgZnVuY3Rpb24sIFZlY3RvcjxTdHJpbmc+IGFyZ3VtZW50cywgYm9vbCBleHBlY3RzSW1wbGlj
aXRDYWxsYmFja0FyZ3VtZW50LCBpbnQgY2FsbGJhY2tUaW1lb3V0LCB1aW50NjRfdCBjYWxsYmFj
a0lEKQogCiAgICAgUmVzb2x2ZUNoaWxkRnJhbWVXaXRoT3JkaW5hbCh1aW50NjRfdCBmcmFtZUlE
LCB1aW50MzJfdCBvcmRpbmFsLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIFJlc29sdmVDaGls
ZEZyYW1lV2l0aE5vZGVIYW5kbGUodWludDY0X3QgZnJhbWVJRCwgU3RyaW5nIG5vZGVIYW5kbGUs
IHVpbnQ2NF90IGNhbGxiYWNrSUQpCg==
</data>
<flag name="review"
          id="299626"
          type_id="1"
          status="+"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="299627"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>