<?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>191044</bug_id>
          
          <creation_ts>2018-10-29 15:10:57 -0700</creation_ts>
          <short_desc>Web Inspector: Audit: attempt to re-link DOM nodes for imported results</short_desc>
          <delta_ts>2018-10-31 15:00:44 -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>
          <dependson>190754</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1473086</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-29 15:10:57 -0700</bug_when>
    <thetext>Instead of showing a verbose CSS selector for nodes in imported results, we should attempt to see if they exist on the page (assuming that the metadata url either matches the current page or was not supplied).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473542</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-30 17:55:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/45687364&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473563</commentid>
    <comment_count>2</comment_count>
      <attachid>353454</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-30 18:50:34 -0700</bug_when>
    <thetext>Created attachment 353454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473741</commentid>
    <comment_count>3</comment_count>
      <attachid>353454</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-10-31 09:23:36 -0700</bug_when>
    <thetext>Comment on attachment 353454
Patch

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

r=me. Please rebase and run through EWS before landing.

&gt; Source/WebInspectorUI/UserInterface/Models/AuditTestCaseResult.js:79
&gt; +        if (window.DOMAgent &amp;&amp; Array.isArray(data.domNodes)) {

I don&apos;t think we should be showing audits tab if DOMAgent is unavailable (i.e. JSContext inspection). So this check seems unnecessary.

&gt; Source/WebInspectorUI/UserInterface/Models/AuditTestCaseResult.js:87
&gt; +            }));

Very nice.

&gt; Source/WebInspectorUI/UserInterface/Models/AuditTestGroup.js:60
&gt; +        tests = await Promise.all(tests.map(async (test) =&gt; await WI.AuditTestCase.fromPayload(test) || await WI.AuditTestGroup.fromPayload(test)));

Could you add some newlines here? It&apos;s difficult to follow.

&gt; Source/WebInspectorUI/UserInterface/Models/AuditTestGroupResult.js:55
&gt; +        results = await Promise.all(results.map(async (test) =&gt; await WI.AuditTestCaseResult.fromPayload(test) || await WI.AuditTestGroupResult.fromPayload(test)));

Could you add some newlines here? It&apos;s difficult to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473766</commentid>
    <comment_count>4</comment_count>
      <attachid>353454</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-31 10:31:10 -0700</bug_when>
    <thetext>Comment on attachment 353454
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/AuditTestCaseResult.js:79
&gt;&gt; +        if (window.DOMAgent &amp;&amp; Array.isArray(data.domNodes)) {
&gt; 
&gt; I don&apos;t think we should be showing audits tab if DOMAgent is unavailable (i.e. JSContext inspection). So this check seems unnecessary.

I disagree.  Right now there&apos;s no reason why a developer couldn&apos;t write a JS-only audit (e.g. a perf test).  I don&apos;t want to limit this entire feature to contexts with DOM, since it&apos;s not really focusing on that exclusively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473776</commentid>
    <comment_count>5</comment_count>
      <attachid>353454</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-10-31 10:47:47 -0700</bug_when>
    <thetext>Comment on attachment 353454
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Models/AuditTestCaseResult.js:79
&gt;&gt;&gt; +        if (window.DOMAgent &amp;&amp; Array.isArray(data.domNodes)) {
&gt;&gt; 
&gt;&gt; I don&apos;t think we should be showing audits tab if DOMAgent is unavailable (i.e. JSContext inspection). So this check seems unnecessary.
&gt; 
&gt; I disagree.  Right now there&apos;s no reason why a developer couldn&apos;t write a JS-only audit (e.g. a perf test).  I don&apos;t want to limit this entire feature to contexts with DOM, since it&apos;s not really focusing on that exclusively.

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473787</commentid>
    <comment_count>6</comment_count>
      <attachid>353509</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-31 11:10:26 -0700</bug_when>
    <thetext>Created attachment 353509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473809</commentid>
    <comment_count>7</comment_count>
      <attachid>353516</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-31 12:01:10 -0700</bug_when>
    <thetext>Created attachment 353516
Patch

Fix test failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473827</commentid>
    <comment_count>8</comment_count>
      <attachid>353522</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-31 12:57:52 -0700</bug_when>
    <thetext>Created attachment 353522
Patch

Rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473855</commentid>
    <comment_count>9</comment_count>
      <attachid>353525</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-31 13:47:56 -0700</bug_when>
    <thetext>Created attachment 353525
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473888</commentid>
    <comment_count>10</comment_count>
      <attachid>353525</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-31 15:00:43 -0700</bug_when>
    <thetext>Comment on attachment 353525
Patch

Clearing flags on attachment: 353525

Committed r237656: &lt;https://trac.webkit.org/changeset/237656&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473889</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-31 15:00:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353454</attachid>
            <date>2018-10-30 18:50:34 -0700</date>
            <delta_ts>2018-10-31 11:10:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>191044.diff</filename>
            <type>text/plain</type>
            <size>8265</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDAyNjJjZjIxNzk4Li40YzY3NDRlYzE3MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTgtMTAtMzAgIERldmlu
IFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEF1
ZGl0OiBhdHRlbXB0IHRvIHJlLWxpbmsgRE9NIG5vZGVzIGZvciBpbXBvcnRlZCByZXN1bHRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEwNDQKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1Njg3MzY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gaW1wb3J0aW5nIGEgYFdJLkF1ZGl0VGVzdENh
c2VSZXN1bHRgLCBhdHRlbXB0IHRvIGBxdWVyeVNlbGVjdG9yYCBmb3IgZWFjaCBpdGVtIGluCisg
ICAgICAgIGBkYXRhLmRvbU5vZGVzYC4gSWYgYSBub2RlIGlzIGZvdW5kLCByZXBsYWNlIGl0IHdp
dGggdGhhdCBub2RlIGFuZCBzaG93IGEgdHJlZSBpbnN0ZWFkLgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZS5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENh
c2UuYXN5bmMgZnJvbVBheWxvYWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2Uu
ZnJvbVBheWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMv
QXVkaXRUZXN0R3JvdXAuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cC5hc3luYyBmcm9t
UGF5bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQp
OiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2Fz
ZVJlc3VsdC5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuYXN5bmMgZnJvbVBh
eWxvYWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxv
YWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0
R3JvdXBSZXN1bHQuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5hc3luYyBm
cm9tUGF5bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJv
bVBheWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9BdWRpdE1hbmFnZXIuanM6CisgICAgICAgIChXSS5BdWRpdE1hbmFnZXIucHJvdG90eXBlLmlt
cG9ydCk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGFiQ29udGVudFZp
ZXcuanM6CisgICAgICAgIChXSS5BdWRpdFRhYkNvbnRlbnRWaWV3LnByb3RvdHlwZS5pbml0aWFs
TGF5b3V0KToKKwogMjAxOC0xMC0zMCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQXVkaXQ6IHNhdmUgaW1wb3J0ZWQgYXVkaXRzIGFj
cm9zcyBXZWJJbnNwZWN0b3Igc2Vzc2lvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0F1ZGl0TWFuYWdlci5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0F1ZGl0TWFuYWdlci5qcwpp
bmRleCBiYTc2OTdlMTVhNC4uMzdhMGI2YjBmY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0F1ZGl0TWFuYWdlci5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9BdWRpdE1hbmFn
ZXIuanMKQEAgLTk1LDcgKzk1LDcgQEAgV0kuQXVkaXRNYW5hZ2VyID0gY2xhc3MgQXVkaXRNYW5h
Z2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBpbXBvcnQoKQogICAgIHsKLSAgICAgICAgV0ku
bG9hZERhdGFGcm9tRmlsZSgoZGF0YSwgZmlsZW5hbWUpID0+IHsKKyAgICAgICAgV0kubG9hZERh
dGFGcm9tRmlsZShhc3luYyAoZGF0YSwgZmlsZW5hbWUpID0+IHsKICAgICAgICAgICAgIGlmICgh
ZGF0YSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKQEAgLTEwNyw5ICsxMDcsOSBAQCBXSS5B
dWRpdE1hbmFnZXIgPSBjbGFzcyBBdWRpdE1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGxldCBvYmpl
Y3QgPSBXSS5BdWRpdFRlc3RHcm91cC5mcm9tUGF5bG9hZChwYXlsb2FkKSB8fCBXSS5BdWRpdFRl
c3RDYXNlLmZyb21QYXlsb2FkKHBheWxvYWQpOworICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3
YWl0IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21QYXlsb2FkKHBheWxvYWQpIHx8IGF3YWl0IFdJLkF1
ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQocGF5bG9hZCk7CiAgICAgICAgICAgICBpZiAoIW9iamVj
dCkgewotICAgICAgICAgICAgICAgIG9iamVjdCA9IFdJLkF1ZGl0VGVzdEdyb3VwUmVzdWx0LmZy
b21QYXlsb2FkKHBheWxvYWQpIHx8IFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQo
cGF5bG9hZCk7CisgICAgICAgICAgICAgICAgb2JqZWN0ID0gYXdhaXQgV0kuQXVkaXRUZXN0R3Jv
dXBSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCkgfHwgYXdhaXQgV0kuQXVkaXRUZXN0Q2FzZVJl
c3VsdC5mcm9tUGF5bG9hZChwYXlsb2FkKTsKICAgICAgICAgICAgICAgICBpZiAoIW9iamVjdCkg
ewogICAgICAgICAgICAgICAgICAgICBXSS5BdWRpdE1hbmFnZXIuc3ludGhlc2l6ZUVycm9yKFdJ
LlVJU3RyaW5nKCJpbnZhbGlkIEpTT04uIikpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
QXVkaXRUZXN0Q2FzZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9BdWRpdFRlc3RDYXNlLmpzCmluZGV4IDBlZWUxOTcyZjBhLi5iZTA1MDZjZGRlMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0
VGVzdENhc2UuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL0F1ZGl0VGVzdENhc2UuanMKQEAgLTM2LDcgKzM2LDcgQEAgV0kuQXVkaXRUZXN0Q2FzZSA9
IGNsYXNzIEF1ZGl0VGVzdENhc2UgZXh0ZW5kcyBXSS5BdWRpdFRlc3RCYXNlCiAKICAgICAvLyBT
dGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2FkKQorICAgIHN0YXRpYyBhc3lu
YyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2Fk
ICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQogICAgICAgICAgICAgcmV0dXJuIG51
bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlUmVzdWx0LmpzCmluZGV4IDM5N2YxODMyZWE0Li41
ZTJiNzQyZDAxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0F1ZGl0VGVzdENhc2VSZXN1bHQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2VSZXN1bHQuanMKQEAgLTM4LDcg
KzM4LDcgQEAgV0kuQXVkaXRUZXN0Q2FzZVJlc3VsdCA9IGNsYXNzIEF1ZGl0VGVzdENhc2VSZXN1
bHQgZXh0ZW5kcyBXSS5BdWRpdFRlc3RSZXN1bHRCYXMKIAogICAgIC8vIFN0YXRpYwogCi0gICAg
c3RhdGljIGZyb21QYXlsb2FkKHBheWxvYWQpCisgICAgc3RhdGljIGFzeW5jIGZyb21QYXlsb2Fk
KHBheWxvYWQpCiAgICAgewogICAgICAgICBpZiAodHlwZW9mIHBheWxvYWQgIT09ICJvYmplY3Qi
IHx8IHBheWxvYWQgPT09IG51bGwpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKQEAgLTc1LDYg
Kzc1LDE4IEBAIFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQgPSBjbGFzcyBBdWRpdFRlc3RDYXNlUmVz
dWx0IGV4dGVuZHMgV0kuQXVkaXRUZXN0UmVzdWx0QmFzCiAgICAgICAgICAgICBvcHRpb25zLmRl
c2NyaXB0aW9uID0gZGVzY3JpcHRpb247CiAgICAgICAgIGlmICghaXNFbXB0eU9iamVjdChkYXRh
KSkKICAgICAgICAgICAgIG9wdGlvbnMuZGF0YSA9IGRhdGE7CisKKyAgICAgICAgaWYgKHdpbmRv
dy5ET01BZ2VudCAmJiBBcnJheS5pc0FycmF5KGRhdGEuZG9tTm9kZXMpKSB7CisgICAgICAgICAg
ICBsZXQgZG9jdW1lbnROb2RlID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IFdJLmRv
bU1hbmFnZXIucmVxdWVzdERvY3VtZW50KHJlc29sdmUpKTsKKyAgICAgICAgICAgIGRhdGEuZG9t
Tm9kZXMgPSBhd2FpdCBQcm9taXNlLmFsbChkYXRhLmRvbU5vZGVzLm1hcChhc3luYyAoZG9tTm9k
ZVN0cmluZykgPT4geworICAgICAgICAgICAgICAgIGxldCBub2RlSWQgPSAwOworICAgICAgICAg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG5vZGVJZCA9IGF3YWl0IFdJLmRvbU1h
bmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUsIGRvbU5vZGVTdHJpbmcpOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2ggeyB9CisgICAgICAgICAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFn
ZXIubm9kZUZvcklkKG5vZGVJZCkgfHwgZG9tTm9kZVN0cmluZzsKKyAgICAgICAgICAgIH0pKTsK
KyAgICAgICAgfQorCiAgICAgICAgIHJldHVybiBuZXcgV0kuQXVkaXRUZXN0Q2FzZVJlc3VsdChu
YW1lLCBsZXZlbCwgb3B0aW9ucyk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXAuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXAuanMKaW5k
ZXggNzg0ZTk3NDc0NTguLmM3NmU4MzQ3OTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXAuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdEdyb3VwLmpzCkBA
IC00MSw3ICs0MSw3IEBAIFdJLkF1ZGl0VGVzdEdyb3VwID0gY2xhc3MgQXVkaXRUZXN0R3JvdXAg
ZXh0ZW5kcyBXSS5BdWRpdFRlc3RCYXNlCiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBm
cm9tUGF5bG9hZChwYXlsb2FkKQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2Fk
KQogICAgIHsKICAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXls
b2FkID09PSBudWxsKQogICAgICAgICAgICAgcmV0dXJuIG51bGw7CkBAIC01Nyw3ICs1Nyw3IEBA
IFdJLkF1ZGl0VGVzdEdyb3VwID0gY2xhc3MgQXVkaXRUZXN0R3JvdXAgZXh0ZW5kcyBXSS5BdWRp
dFRlc3RCYXNlCiAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh0ZXN0cykpCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbDsKIAotICAgICAgICB0ZXN0cyA9IHRlc3RzLm1hcCgodGVzdCkgPT4gV0ku
QXVkaXRUZXN0Q2FzZS5mcm9tUGF5bG9hZCh0ZXN0KSB8fCBXSS5BdWRpdFRlc3RHcm91cC5mcm9t
UGF5bG9hZCh0ZXN0KSk7CisgICAgICAgIHRlc3RzID0gYXdhaXQgUHJvbWlzZS5hbGwodGVzdHMu
bWFwKGFzeW5jICh0ZXN0KSA9PiBhd2FpdCBXSS5BdWRpdFRlc3RDYXNlLmZyb21QYXlsb2FkKHRl
c3QpIHx8IGF3YWl0IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21QYXlsb2FkKHRlc3QpKSk7CiAgICAg
ICAgIHRlc3RzID0gdGVzdHMuZmlsdGVyKCh0ZXN0KSA9PiAhIXRlc3QpOwogICAgICAgICBpZiAo
IXRlc3RzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybiBudWxsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdEdyb3VwUmVz
dWx0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0
VGVzdEdyb3VwUmVzdWx0LmpzCmluZGV4IDAxMmI0NjM1Nzc4Li5iMDQ4MGIxZTkwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVz
dEdyb3VwUmVzdWx0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcwpAQCAtMzYsNyArMzYsNyBAQCBXSS5BdWRp
dFRlc3RHcm91cFJlc3VsdCA9IGNsYXNzIEF1ZGl0VGVzdEdyb3VwUmVzdWx0IGV4dGVuZHMgV0ku
QXVkaXRUZXN0UmVzdWx0QgogCiAgICAgLy8gU3RhdGljCiAKLSAgICBzdGF0aWMgZnJvbVBheWxv
YWQocGF5bG9hZCkKKyAgICBzdGF0aWMgYXN5bmMgZnJvbVBheWxvYWQocGF5bG9hZCkKICAgICB7
CiAgICAgICAgIGlmICh0eXBlb2YgcGF5bG9hZCAhPT0gIm9iamVjdCIgfHwgcGF5bG9hZCA9PT0g
bnVsbCkKICAgICAgICAgICAgIHJldHVybiBudWxsOwpAQCAtNTIsNyArNTIsNyBAQCBXSS5BdWRp
dFRlc3RHcm91cFJlc3VsdCA9IGNsYXNzIEF1ZGl0VGVzdEdyb3VwUmVzdWx0IGV4dGVuZHMgV0ku
QXVkaXRUZXN0UmVzdWx0QgogICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocmVzdWx0cykpCiAg
ICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICByZXN1bHRzID0gcmVzdWx0cy5tYXAo
KHJlc3VsdCkgPT4gV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQocmVzdWx0KSB8
fCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2FkKHJlc3VsdCkpOworICAgICAgICBy
ZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocmVzdWx0cy5tYXAoYXN5bmMgKHRlc3QpID0+IGF3
YWl0IFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQodGVzdCkgfHwgYXdhaXQgV0ku
QXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQodGVzdCkpKTsKICAgICAgICAgcmVzdWx0
cyA9IHJlc3VsdHMuZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KTsKICAgICAgICAgaWYgKCFy
ZXN1bHRzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybiBudWxsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXVkaXRUYWJDb250ZW50Vmll
dy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0F1ZGl0VGFi
Q29udGVudFZpZXcuanMKaW5kZXggZGQwNTY4NmVjNGQuLmJhMjA0NDJhYzc5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BdWRpdFRhYkNvbnRl
bnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0F1ZGl0VGFiQ29udGVudFZpZXcuanMKQEAgLTg5LDkgKzg5LDkgQEAgV0kuQXVkaXRUYWJDb250
ZW50VmlldyA9IGNsYXNzIEF1ZGl0VGFiQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50QnJv
d3NlclRhYkMKICAgICB7CiAgICAgICAgIHN1cGVyLmluaXRpYWxMYXlvdXQoKTsKIAotICAgICAg
ICBXSS5vYmplY3RTdG9yZXMuYXVkaXRzLmdldEFsbCgpLnRoZW4oKHJlc3VsdHMpID0+IHsKKyAg
ICAgICAgV0kub2JqZWN0U3RvcmVzLmF1ZGl0cy5nZXRBbGwoKS50aGVuKGFzeW5jIChyZXN1bHRz
KSA9PiB7CiAgICAgICAgICAgICBmb3IgKGxldCBwYXlsb2FkIG9mIHJlc3VsdHMpIHsKLSAgICAg
ICAgICAgICAgICBsZXQgdGVzdCA9IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21QYXlsb2FkKHBheWxv
YWQpIHx8IFdJLkF1ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAgICAg
ICAgICAgbGV0IHRlc3QgPSBhd2FpdCBXSS5BdWRpdFRlc3RHcm91cC5mcm9tUGF5bG9hZChwYXls
b2FkKSB8fCBhd2FpdCBXSS5BdWRpdFRlc3RDYXNlLmZyb21QYXlsb2FkKHBheWxvYWQpOwogICAg
ICAgICAgICAgICAgIGlmICghdGVzdCkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353509</attachid>
            <date>2018-10-31 11:10:26 -0700</date>
            <delta_ts>2018-10-31 12:01:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191044-20181031111025.patch</filename>
            <type>text/plain</type>
            <size>8016</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGRmNGVmNDMxNDM4YjRhYzJjYmZkNGQxMjZmNWE1
YzUzNTJkOWRjOGEuLjJlOTYzMmQwOGUzNmU2ZmE5N2JjMjUzYjY1ZDJkNmUwZjhjMzVmOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTEwLTMxICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
dWRpdDogYXR0ZW1wdCB0byByZS1saW5rIERPTSBub2RlcyBmb3IgaW1wb3J0ZWQgcmVzdWx0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMDQ0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTY4NzM2ND4KKworICAgICAgICBSZXZpZXdlZCBieSBC
cmlhbiBCdXJnLgorCisgICAgICAgIFdoZW4gaW1wb3J0aW5nIGEgYFdJLkF1ZGl0VGVzdENhc2VS
ZXN1bHRgLCBhdHRlbXB0IHRvIGBxdWVyeVNlbGVjdG9yYCBmb3IgZWFjaCBpdGVtIGluCisgICAg
ICAgIGBkYXRhLmRvbU5vZGVzYC4gSWYgYSBub2RlIGlzIGZvdW5kLCByZXBsYWNlIGl0IHdpdGgg
dGhhdCBub2RlIGFuZCBzaG93IGEgdHJlZSBpbnN0ZWFkLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZS5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2Uu
YXN5bmMgZnJvbVBheWxvYWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2UuZnJv
bVBheWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVk
aXRUZXN0R3JvdXAuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cC5hc3luYyBmcm9tUGF5
bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQpOiBE
ZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZVJl
c3VsdC5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuYXN5bmMgZnJvbVBheWxv
YWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQp
OiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3Jv
dXBSZXN1bHQuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5hc3luYyBmcm9t
UGF5bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBh
eWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9B
dWRpdE1hbmFnZXIuanM6CisgICAgICAgIChXSS5BdWRpdE1hbmFnZXIucHJvdG90eXBlLmltcG9y
dCk6CisKIDIwMTgtMTAtMzAgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEF1ZGl0OiBjcmVhdGUgQXVkaXQgVGFiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9BdWRpdE1h
bmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9BdWRpdE1hbmFnZXIuanMKaW5kZXggZTBkZWZhMGI0ODEwMDQ4OGFlYjA2YmE5ZDU5NDIwYjcz
Zjk1NmQ1NS4uN2RkMTljYjQ4ZTA3MGIxNjI4YmM1MTYzYjdlM2UyMjlmNTI5MzEzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQXVk
aXRNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0F1ZGl0TWFuYWdlci5qcwpAQCAtOTUsNyArOTUsNyBAQCBXSS5BdWRpdE1hbmFn
ZXIgPSBjbGFzcyBBdWRpdE1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIGltcG9ydCgp
CiAgICAgewotICAgICAgICBXSS5sb2FkRGF0YUZyb21GaWxlKChkYXRhLCBmaWxlbmFtZSkgPT4g
eworICAgICAgICBXSS5sb2FkRGF0YUZyb21GaWxlKGFzeW5jIChkYXRhLCBmaWxlbmFtZSkgPT4g
ewogICAgICAgICAgICAgaWYgKCFkYXRhKQogICAgICAgICAgICAgICAgIHJldHVybjsKIApAQCAt
MTA3LDkgKzEwNyw5IEBAIFdJLkF1ZGl0TWFuYWdlciA9IGNsYXNzIEF1ZGl0TWFuYWdlciBleHRl
bmRzIFdJLk9iamVjdAogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgbGV0IG9iamVjdCA9IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21QYXlsb2FkKHBh
eWxvYWQpIHx8IFdJLkF1ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAg
ICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQocGF5
bG9hZCkgfHwgYXdhaXQgV0kuQXVkaXRUZXN0Q2FzZS5mcm9tUGF5bG9hZChwYXlsb2FkKTsKICAg
ICAgICAgICAgIGlmICghb2JqZWN0KSB7Ci0gICAgICAgICAgICAgICAgb2JqZWN0ID0gV0kuQXVk
aXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCkgfHwgV0kuQXVkaXRUZXN0Q2Fz
ZVJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2FkKTsKKyAgICAgICAgICAgICAgICBvYmplY3QgPSBh
d2FpdCBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2FkKSB8fCBhd2Fp
dCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2FkKHBheWxvYWQpOwogICAgICAgICAg
ICAgICAgIGlmICghb2JqZWN0KSB7CiAgICAgICAgICAgICAgICAgICAgIFdJLkF1ZGl0TWFuYWdl
ci5zeW50aGVzaXplRXJyb3IoV0kuVUlTdHJpbmcoImludmFsaWQgSlNPTi4iKSk7CiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKaW5kZXggMGVlZTE5NzJm
MGFiMTE0YTI2YzhiZDFlOTU3ZWM0MTZlY2Y4NGRiZS4uYmUwNTA2Y2RkZTFiN2M0ZTYzNWE4ZTc2
OTVkODUyMWY2ZGY5OGZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKQEAgLTM2LDcgKzM2LDcg
QEAgV0kuQXVkaXRUZXN0Q2FzZSA9IGNsYXNzIEF1ZGl0VGVzdENhc2UgZXh0ZW5kcyBXSS5BdWRp
dFRlc3RCYXNlCiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXls
b2FkKQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAg
ICAgaWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQog
ICAgICAgICAgICAgcmV0dXJuIG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlUmVzdWx0Lmpz
CmluZGV4IDM5N2YxODMyZWE0YWMzYzNkYmM4M2RmMDhlMTcwNDJlODJhN2IwNWIuLjVlMmI3NDJk
MDE2OTQxMzNhZjJhOThkNGE4YTYzMmY2OWZjOGZkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlUmVzdWx0LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RD
YXNlUmVzdWx0LmpzCkBAIC0zOCw3ICszOCw3IEBAIFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQgPSBj
bGFzcyBBdWRpdFRlc3RDYXNlUmVzdWx0IGV4dGVuZHMgV0kuQXVkaXRUZXN0UmVzdWx0QmFzCiAK
ICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2FkKQorICAgIHN0
YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAgICAgaWYgKHR5cGVv
ZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQogICAgICAgICAgICAg
cmV0dXJuIG51bGw7CkBAIC03NSw2ICs3NSwxOCBAQCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0ID0g
Y2xhc3MgQXVkaXRUZXN0Q2FzZVJlc3VsdCBleHRlbmRzIFdJLkF1ZGl0VGVzdFJlc3VsdEJhcwog
ICAgICAgICAgICAgb3B0aW9ucy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uOwogICAgICAgICBp
ZiAoIWlzRW1wdHlPYmplY3QoZGF0YSkpCiAgICAgICAgICAgICBvcHRpb25zLmRhdGEgPSBkYXRh
OworCisgICAgICAgIGlmICh3aW5kb3cuRE9NQWdlbnQgJiYgQXJyYXkuaXNBcnJheShkYXRhLmRv
bU5vZGVzKSkgeworICAgICAgICAgICAgbGV0IGRvY3VtZW50Tm9kZSA9IGF3YWl0IG5ldyBQcm9t
aXNlKChyZXNvbHZlKSA9PiBXSS5kb21NYW5hZ2VyLnJlcXVlc3REb2N1bWVudChyZXNvbHZlKSk7
CisgICAgICAgICAgICBkYXRhLmRvbU5vZGVzID0gYXdhaXQgUHJvbWlzZS5hbGwoZGF0YS5kb21O
b2Rlcy5tYXAoYXN5bmMgKGRvbU5vZGVTdHJpbmcpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQg
bm9kZUlkID0gMDsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBu
b2RlSWQgPSBhd2FpdCBXSS5kb21NYW5hZ2VyLnF1ZXJ5U2VsZWN0b3IoZG9jdW1lbnROb2RlLCBk
b21Ob2RlU3RyaW5nKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIHsgfQorICAgICAgICAgICAg
ICAgIHJldHVybiBXSS5kb21NYW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpIHx8IGRvbU5vZGVTdHJp
bmc7CisgICAgICAgICAgICB9KSk7CisgICAgICAgIH0KKwogICAgICAgICByZXR1cm4gbmV3IFdJ
LkF1ZGl0VGVzdENhc2VSZXN1bHQobmFtZSwgbGV2ZWwsIG9wdGlvbnMpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0
VGVzdEdyb3VwLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0F1ZGl0VGVzdEdyb3VwLmpzCmluZGV4IDc4NGU5NzQ3NDU4N2Q4MDcyNzY2Y2IxMTdhZDQ2MGRh
OTc0OTYwMGQuLmUzN2NhNjM0MzE4Y2NhM2JiZDA2ZTc0OWY3MWFmZDk1ZTEyYmM1NjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRl
c3RHcm91cC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQXVkaXRUZXN0R3JvdXAuanMKQEAgLTQxLDcgKzQxLDcgQEAgV0kuQXVkaXRUZXN0R3JvdXAg
PSBjbGFzcyBBdWRpdFRlc3RHcm91cCBleHRlbmRzIFdJLkF1ZGl0VGVzdEJhc2UKIAogICAgIC8v
IFN0YXRpYwogCi0gICAgc3RhdGljIGZyb21QYXlsb2FkKHBheWxvYWQpCisgICAgc3RhdGljIGFz
eW5jIGZyb21QYXlsb2FkKHBheWxvYWQpCiAgICAgewogICAgICAgICBpZiAodHlwZW9mIHBheWxv
YWQgIT09ICJvYmplY3QiIHx8IHBheWxvYWQgPT09IG51bGwpCiAgICAgICAgICAgICByZXR1cm4g
bnVsbDsKQEAgLTU3LDcgKzU3LDE3IEBAIFdJLkF1ZGl0VGVzdEdyb3VwID0gY2xhc3MgQXVkaXRU
ZXN0R3JvdXAgZXh0ZW5kcyBXSS5BdWRpdFRlc3RCYXNlCiAgICAgICAgIGlmICghQXJyYXkuaXNB
cnJheSh0ZXN0cykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICB0ZXN0cyA9
IHRlc3RzLm1hcCgodGVzdCkgPT4gV0kuQXVkaXRUZXN0Q2FzZS5mcm9tUGF5bG9hZCh0ZXN0KSB8
fCBXSS5BdWRpdFRlc3RHcm91cC5mcm9tUGF5bG9hZCh0ZXN0KSk7CisgICAgICAgIHRlc3RzID0g
YXdhaXQgUHJvbWlzZS5hbGwodGVzdHMubWFwKGFzeW5jICh0ZXN0KSA9PiB7CisgICAgICAgICAg
ICBsZXQgdGVzdENhc2UgPSBhd2FpdCBXSS5BdWRpdFRlc3RDYXNlLmZyb21QYXlsb2FkKHRlc3Qp
OworICAgICAgICAgICAgaWYgKHRlc3RDYXNlKQorICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0
Q2FzZTsKKworICAgICAgICAgICAgbGV0IHRlc3RHcm91cCA9IGF3YWl0IFdJLkF1ZGl0VGVzdEdy
b3VwLmZyb21QYXlsb2FkKHRlc3QpOworICAgICAgICAgICAgaWYgKHRlc3RHcm91cCkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gdGVzdEdyb3VwOworCisgICAgICAgICAgICByZXR1cm4gbnVsbDsK
KyAgICAgICAgfSkpOwogICAgICAgICB0ZXN0cyA9IHRlc3RzLmZpbHRlcigodGVzdCkgPT4gISF0
ZXN0KTsKICAgICAgICAgaWYgKCF0ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4gbnVs
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcwppbmRleCAwMTJiNDYzNTc3OGM3
MjBjZTE1NDJkNjM4OTcyNjU2MGY4ZjViOWYyLi5kMDNjZDFjNmVkZmEyOGMxMmM2MGI1Zjg0NzEy
YzQ4Nzk3NjQzMGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXBSZXN1bHQuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdEdyb3VwUmVzdWx0LmpzCkBAIC0z
Niw3ICszNiw3IEBAIFdJLkF1ZGl0VGVzdEdyb3VwUmVzdWx0ID0gY2xhc3MgQXVkaXRUZXN0R3Jv
dXBSZXN1bHQgZXh0ZW5kcyBXSS5BdWRpdFRlc3RSZXN1bHRCCiAKICAgICAvLyBTdGF0aWMKIAot
ICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2FkKQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5
bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2Jq
ZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQogICAgICAgICAgICAgcmV0dXJuIG51bGw7CkBAIC01
Miw3ICs1MiwxNyBAQCBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdCA9IGNsYXNzIEF1ZGl0VGVzdEdy
b3VwUmVzdWx0IGV4dGVuZHMgV0kuQXVkaXRUZXN0UmVzdWx0QgogICAgICAgICBpZiAoIUFycmF5
LmlzQXJyYXkocmVzdWx0cykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICBy
ZXN1bHRzID0gcmVzdWx0cy5tYXAoKHJlc3VsdCkgPT4gV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQu
ZnJvbVBheWxvYWQocmVzdWx0KSB8fCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2Fk
KHJlc3VsdCkpOworICAgICAgICByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocmVzdWx0cy5t
YXAoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgICAgIGxldCB0ZXN0Q2FzZVJlc3VsdCA9IGF3
YWl0IFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQodGVzdCk7CisgICAgICAgICAg
ICBpZiAodGVzdENhc2VSZXN1bHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRlc3RDYXNlUmVz
dWx0OworCisgICAgICAgICAgICBsZXQgdGVzdEdyb3VwUmVzdWx0ID0gYXdhaXQgV0kuQXVkaXRU
ZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQodGVzdCk7CisgICAgICAgICAgICBpZiAodGVzdEdy
b3VwUmVzdWx0KQorICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0R3JvdXBSZXN1bHQ7CisKKyAg
ICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICB9KSk7CiAgICAgICAgIHJlc3VsdHMgPSBy
ZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PiAhIXJlc3VsdCk7CiAgICAgICAgIGlmICghcmVzdWx0
cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353516</attachid>
            <date>2018-10-31 12:01:10 -0700</date>
            <delta_ts>2018-10-31 12:57:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191044-20181031120109.patch</filename>
            <type>text/plain</type>
            <size>11620</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGRmNGVmNDMxNDM4YjRhYzJjYmZkNGQxMjZmNWE1
YzUzNTJkOWRjOGEuLjJlOTYzMmQwOGUzNmU2ZmE5N2JjMjUzYjY1ZDJkNmUwZjhjMzVmOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTEwLTMxICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
dWRpdDogYXR0ZW1wdCB0byByZS1saW5rIERPTSBub2RlcyBmb3IgaW1wb3J0ZWQgcmVzdWx0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMDQ0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTY4NzM2ND4KKworICAgICAgICBSZXZpZXdlZCBieSBC
cmlhbiBCdXJnLgorCisgICAgICAgIFdoZW4gaW1wb3J0aW5nIGEgYFdJLkF1ZGl0VGVzdENhc2VS
ZXN1bHRgLCBhdHRlbXB0IHRvIGBxdWVyeVNlbGVjdG9yYCBmb3IgZWFjaCBpdGVtIGluCisgICAg
ICAgIGBkYXRhLmRvbU5vZGVzYC4gSWYgYSBub2RlIGlzIGZvdW5kLCByZXBsYWNlIGl0IHdpdGgg
dGhhdCBub2RlIGFuZCBzaG93IGEgdHJlZSBpbnN0ZWFkLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZS5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2Uu
YXN5bmMgZnJvbVBheWxvYWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2UuZnJv
bVBheWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVk
aXRUZXN0R3JvdXAuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cC5hc3luYyBmcm9tUGF5
bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQpOiBE
ZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZVJl
c3VsdC5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuYXN5bmMgZnJvbVBheWxv
YWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQp
OiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3Jv
dXBSZXN1bHQuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5hc3luYyBmcm9t
UGF5bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBh
eWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9B
dWRpdE1hbmFnZXIuanM6CisgICAgICAgIChXSS5BdWRpdE1hbmFnZXIucHJvdG90eXBlLmltcG9y
dCk6CisKIDIwMTgtMTAtMzAgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEF1ZGl0OiBjcmVhdGUgQXVkaXQgVGFiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9BdWRpdE1h
bmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9BdWRpdE1hbmFnZXIuanMKaW5kZXggZTBkZWZhMGI0ODEwMDQ4OGFlYjA2YmE5ZDU5NDIwYjcz
Zjk1NmQ1NS4uN2RkMTljYjQ4ZTA3MGIxNjI4YmM1MTYzYjdlM2UyMjlmNTI5MzEzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQXVk
aXRNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0F1ZGl0TWFuYWdlci5qcwpAQCAtOTUsNyArOTUsNyBAQCBXSS5BdWRpdE1hbmFn
ZXIgPSBjbGFzcyBBdWRpdE1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgIGltcG9ydCgp
CiAgICAgewotICAgICAgICBXSS5sb2FkRGF0YUZyb21GaWxlKChkYXRhLCBmaWxlbmFtZSkgPT4g
eworICAgICAgICBXSS5sb2FkRGF0YUZyb21GaWxlKGFzeW5jIChkYXRhLCBmaWxlbmFtZSkgPT4g
ewogICAgICAgICAgICAgaWYgKCFkYXRhKQogICAgICAgICAgICAgICAgIHJldHVybjsKIApAQCAt
MTA3LDkgKzEwNyw5IEBAIFdJLkF1ZGl0TWFuYWdlciA9IGNsYXNzIEF1ZGl0TWFuYWdlciBleHRl
bmRzIFdJLk9iamVjdAogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgbGV0IG9iamVjdCA9IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21QYXlsb2FkKHBh
eWxvYWQpIHx8IFdJLkF1ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAg
ICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQocGF5
bG9hZCkgfHwgYXdhaXQgV0kuQXVkaXRUZXN0Q2FzZS5mcm9tUGF5bG9hZChwYXlsb2FkKTsKICAg
ICAgICAgICAgIGlmICghb2JqZWN0KSB7Ci0gICAgICAgICAgICAgICAgb2JqZWN0ID0gV0kuQXVk
aXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCkgfHwgV0kuQXVkaXRUZXN0Q2Fz
ZVJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2FkKTsKKyAgICAgICAgICAgICAgICBvYmplY3QgPSBh
d2FpdCBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2FkKSB8fCBhd2Fp
dCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2FkKHBheWxvYWQpOwogICAgICAgICAg
ICAgICAgIGlmICghb2JqZWN0KSB7CiAgICAgICAgICAgICAgICAgICAgIFdJLkF1ZGl0TWFuYWdl
ci5zeW50aGVzaXplRXJyb3IoV0kuVUlTdHJpbmcoImludmFsaWQgSlNPTi4iKSk7CiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKaW5kZXggMGVlZTE5NzJm
MGFiMTE0YTI2YzhiZDFlOTU3ZWM0MTZlY2Y4NGRiZS4uYmUwNTA2Y2RkZTFiN2M0ZTYzNWE4ZTc2
OTVkODUyMWY2ZGY5OGZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKQEAgLTM2LDcgKzM2LDcg
QEAgV0kuQXVkaXRUZXN0Q2FzZSA9IGNsYXNzIEF1ZGl0VGVzdENhc2UgZXh0ZW5kcyBXSS5BdWRp
dFRlc3RCYXNlCiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXls
b2FkKQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAg
ICAgaWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQog
ICAgICAgICAgICAgcmV0dXJuIG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlUmVzdWx0Lmpz
CmluZGV4IDM5N2YxODMyZWE0YWMzYzNkYmM4M2RmMDhlMTcwNDJlODJhN2IwNWIuLjVlMmI3NDJk
MDE2OTQxMzNhZjJhOThkNGE4YTYzMmY2OWZjOGZkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlUmVzdWx0LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RD
YXNlUmVzdWx0LmpzCkBAIC0zOCw3ICszOCw3IEBAIFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQgPSBj
bGFzcyBBdWRpdFRlc3RDYXNlUmVzdWx0IGV4dGVuZHMgV0kuQXVkaXRUZXN0UmVzdWx0QmFzCiAK
ICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2FkKQorICAgIHN0
YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAgICAgaWYgKHR5cGVv
ZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQogICAgICAgICAgICAg
cmV0dXJuIG51bGw7CkBAIC03NSw2ICs3NSwxOCBAQCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0ID0g
Y2xhc3MgQXVkaXRUZXN0Q2FzZVJlc3VsdCBleHRlbmRzIFdJLkF1ZGl0VGVzdFJlc3VsdEJhcwog
ICAgICAgICAgICAgb3B0aW9ucy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uOwogICAgICAgICBp
ZiAoIWlzRW1wdHlPYmplY3QoZGF0YSkpCiAgICAgICAgICAgICBvcHRpb25zLmRhdGEgPSBkYXRh
OworCisgICAgICAgIGlmICh3aW5kb3cuRE9NQWdlbnQgJiYgQXJyYXkuaXNBcnJheShkYXRhLmRv
bU5vZGVzKSkgeworICAgICAgICAgICAgbGV0IGRvY3VtZW50Tm9kZSA9IGF3YWl0IG5ldyBQcm9t
aXNlKChyZXNvbHZlKSA9PiBXSS5kb21NYW5hZ2VyLnJlcXVlc3REb2N1bWVudChyZXNvbHZlKSk7
CisgICAgICAgICAgICBkYXRhLmRvbU5vZGVzID0gYXdhaXQgUHJvbWlzZS5hbGwoZGF0YS5kb21O
b2Rlcy5tYXAoYXN5bmMgKGRvbU5vZGVTdHJpbmcpID0+IHsKKyAgICAgICAgICAgICAgICBsZXQg
bm9kZUlkID0gMDsKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICBu
b2RlSWQgPSBhd2FpdCBXSS5kb21NYW5hZ2VyLnF1ZXJ5U2VsZWN0b3IoZG9jdW1lbnROb2RlLCBk
b21Ob2RlU3RyaW5nKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIHsgfQorICAgICAgICAgICAg
ICAgIHJldHVybiBXSS5kb21NYW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpIHx8IGRvbU5vZGVTdHJp
bmc7CisgICAgICAgICAgICB9KSk7CisgICAgICAgIH0KKwogICAgICAgICByZXR1cm4gbmV3IFdJ
LkF1ZGl0VGVzdENhc2VSZXN1bHQobmFtZSwgbGV2ZWwsIG9wdGlvbnMpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0
VGVzdEdyb3VwLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L0F1ZGl0VGVzdEdyb3VwLmpzCmluZGV4IDc4NGU5NzQ3NDU4N2Q4MDcyNzY2Y2IxMTdhZDQ2MGRh
OTc0OTYwMGQuLmUzN2NhNjM0MzE4Y2NhM2JiZDA2ZTc0OWY3MWFmZDk1ZTEyYmM1NjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRl
c3RHcm91cC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQXVkaXRUZXN0R3JvdXAuanMKQEAgLTQxLDcgKzQxLDcgQEAgV0kuQXVkaXRUZXN0R3JvdXAg
PSBjbGFzcyBBdWRpdFRlc3RHcm91cCBleHRlbmRzIFdJLkF1ZGl0VGVzdEJhc2UKIAogICAgIC8v
IFN0YXRpYwogCi0gICAgc3RhdGljIGZyb21QYXlsb2FkKHBheWxvYWQpCisgICAgc3RhdGljIGFz
eW5jIGZyb21QYXlsb2FkKHBheWxvYWQpCiAgICAgewogICAgICAgICBpZiAodHlwZW9mIHBheWxv
YWQgIT09ICJvYmplY3QiIHx8IHBheWxvYWQgPT09IG51bGwpCiAgICAgICAgICAgICByZXR1cm4g
bnVsbDsKQEAgLTU3LDcgKzU3LDE3IEBAIFdJLkF1ZGl0VGVzdEdyb3VwID0gY2xhc3MgQXVkaXRU
ZXN0R3JvdXAgZXh0ZW5kcyBXSS5BdWRpdFRlc3RCYXNlCiAgICAgICAgIGlmICghQXJyYXkuaXNB
cnJheSh0ZXN0cykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICB0ZXN0cyA9
IHRlc3RzLm1hcCgodGVzdCkgPT4gV0kuQXVkaXRUZXN0Q2FzZS5mcm9tUGF5bG9hZCh0ZXN0KSB8
fCBXSS5BdWRpdFRlc3RHcm91cC5mcm9tUGF5bG9hZCh0ZXN0KSk7CisgICAgICAgIHRlc3RzID0g
YXdhaXQgUHJvbWlzZS5hbGwodGVzdHMubWFwKGFzeW5jICh0ZXN0KSA9PiB7CisgICAgICAgICAg
ICBsZXQgdGVzdENhc2UgPSBhd2FpdCBXSS5BdWRpdFRlc3RDYXNlLmZyb21QYXlsb2FkKHRlc3Qp
OworICAgICAgICAgICAgaWYgKHRlc3RDYXNlKQorICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0
Q2FzZTsKKworICAgICAgICAgICAgbGV0IHRlc3RHcm91cCA9IGF3YWl0IFdJLkF1ZGl0VGVzdEdy
b3VwLmZyb21QYXlsb2FkKHRlc3QpOworICAgICAgICAgICAgaWYgKHRlc3RHcm91cCkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gdGVzdEdyb3VwOworCisgICAgICAgICAgICByZXR1cm4gbnVsbDsK
KyAgICAgICAgfSkpOwogICAgICAgICB0ZXN0cyA9IHRlc3RzLmZpbHRlcigodGVzdCkgPT4gISF0
ZXN0KTsKICAgICAgICAgaWYgKCF0ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4gbnVs
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcwppbmRleCAwMTJiNDYzNTc3OGM3
MjBjZTE1NDJkNjM4OTcyNjU2MGY4ZjViOWYyLi5kMDNjZDFjNmVkZmEyOGMxMmM2MGI1Zjg0NzEy
YzQ4Nzk3NjQzMGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXBSZXN1bHQuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdEdyb3VwUmVzdWx0LmpzCkBAIC0z
Niw3ICszNiw3IEBAIFdJLkF1ZGl0VGVzdEdyb3VwUmVzdWx0ID0gY2xhc3MgQXVkaXRUZXN0R3Jv
dXBSZXN1bHQgZXh0ZW5kcyBXSS5BdWRpdFRlc3RSZXN1bHRCCiAKICAgICAvLyBTdGF0aWMKIAot
ICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2FkKQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5
bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2Jq
ZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQogICAgICAgICAgICAgcmV0dXJuIG51bGw7CkBAIC01
Miw3ICs1MiwxNyBAQCBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdCA9IGNsYXNzIEF1ZGl0VGVzdEdy
b3VwUmVzdWx0IGV4dGVuZHMgV0kuQXVkaXRUZXN0UmVzdWx0QgogICAgICAgICBpZiAoIUFycmF5
LmlzQXJyYXkocmVzdWx0cykpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKIAotICAgICAgICBy
ZXN1bHRzID0gcmVzdWx0cy5tYXAoKHJlc3VsdCkgPT4gV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQu
ZnJvbVBheWxvYWQocmVzdWx0KSB8fCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2Fk
KHJlc3VsdCkpOworICAgICAgICByZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwocmVzdWx0cy5t
YXAoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgICAgIGxldCB0ZXN0Q2FzZVJlc3VsdCA9IGF3
YWl0IFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQodGVzdCk7CisgICAgICAgICAg
ICBpZiAodGVzdENhc2VSZXN1bHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRlc3RDYXNlUmVz
dWx0OworCisgICAgICAgICAgICBsZXQgdGVzdEdyb3VwUmVzdWx0ID0gYXdhaXQgV0kuQXVkaXRU
ZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQodGVzdCk7CisgICAgICAgICAgICBpZiAodGVzdEdy
b3VwUmVzdWx0KQorICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0R3JvdXBSZXN1bHQ7CisKKyAg
ICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICB9KSk7CiAgICAgICAgIHJlc3VsdHMgPSBy
ZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PiAhIXJlc3VsdCk7CiAgICAgICAgIGlmICghcmVzdWx0
cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYmI2NDNiOWMzYzZh
MWZmMmZjMmE4MjMzMDYzOTQ2MDIwOGU5YmI3Li5lNDZhODc2OTgzZTkxYjQ1ZjJlY2VhNDNlMzVm
MTkyMWJhMzM0NTYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTgtMTAtMzEgIERldmluIFJv
dXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEF1ZGl0
OiBhdHRlbXB0IHRvIHJlLWxpbmsgRE9NIG5vZGVzIGZvciBpbXBvcnRlZCByZXN1bHRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEwNDQKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ1Njg3MzY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEJyaWFu
IEJ1cmcuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0Q2FzZS5odG1sOgor
ICAgICAgICAqIGluc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlUmVzdWx0Lmh0bWw6CisgICAg
ICAgICogaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwLmh0bWw6CisgICAgICAgICogaW5z
cGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwUmVzdWx0Lmh0bWw6CisKIDIwMTgtMTAtMzAgIERh
dmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICBYU0xUUHJvY2Vzc29y
IHNob3VsZCBsaW1pdCBtYXggdHJhbnNmb3JtIGRlcHRoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0Q2FzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL21vZGVsL2F1ZGl0VGVzdENhc2UuaHRtbAppbmRleCAzZGZjMWFkNjg4ZTQyNjc4ZmRiN2Nm
OGRhZWU5OWQyMWQ1ZDQ1M2ZhLi44MjlkMDFkNzg2YTkwZDZjOWExY2M4ZWRmYTI4ZWE3ODUzNzA5
MTAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0Q2Fz
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlLmh0
bWwKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHN1aXRlLmFkZFRl
c3RDYXNlKHsKICAgICAgICAgICAgIG5hbWUsCiAgICAgICAgICAgICBhc3luYyB0ZXN0KCkgewot
ICAgICAgICAgICAgICAgIGxldCBvYmplY3QgPSBXSS5BdWRpdFRlc3RDYXNlLmZyb21QYXlsb2Fk
KHBheWxvYWQpOworICAgICAgICAgICAgICAgIGxldCBvYmplY3QgPSBhd2FpdCBXSS5BdWRpdFRl
c3RDYXNlLmZyb21QYXlsb2FkKHBheWxvYWQpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QubG9nKG9iamVjdCA/IEpTT04uc3RyaW5naWZ5KG9iamVjdCwgbnVsbCwgMikgOiBvYmplY3Qp
OwogICAgICAgICAgICAgfSwKICAgICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0Q2FzZVJlc3VsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL21vZGVsL2F1ZGl0VGVzdENhc2VSZXN1bHQuaHRtbAppbmRleCBlNDQ2OWZmYWJmZjVh
ZTNhZGVkZmQzM2U0NDBiMTBkYWIyMzJiMjNiLi5kYzc4NDYzYmNiMjYwZWRmZmM4NWVmOTA0Yjk4
M2JmYzI1NmJhM2I3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvYXVk
aXRUZXN0Q2FzZVJlc3VsdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9h
dWRpdFRlc3RDYXNlUmVzdWx0Lmh0bWwKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgICAgIG5hbWUsCiAgICAgICAg
ICAgICBhc3luYyB0ZXN0KCkgewotICAgICAgICAgICAgICAgIGxldCBvYmplY3QgPSBXSS5BdWRp
dFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2FkKHBheWxvYWQpOworICAgICAgICAgICAgICAgIGxl
dCBvYmplY3QgPSBhd2FpdCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2FkKHBheWxv
YWQpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKG9iamVjdCA/IEpTT04uc3Ry
aW5naWZ5KG9iamVjdCwgbnVsbCwgMikgOiBvYmplY3QpOwogICAgICAgICAgICAgfSwKICAgICAg
ICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0
R3JvdXAuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RHcm91cC5o
dG1sCmluZGV4IGZmMGNkNWVhZmFkNmJjZWM0YjE4MDhhMGUzZDEyNThiNGZlNGIxMjguLmJkZmEy
OTAwZDBiMDQwZGJmYTRhMzY3NDE3OGQ0Yzg1ZWViMTI1ODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RHcm91cC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RHcm91cC5odG1sCkBAIC0xMSw3ICsxMSw3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgICAgICBu
YW1lLAogICAgICAgICAgICAgYXN5bmMgdGVzdCgpIHsKLSAgICAgICAgICAgICAgICBsZXQgb2Jq
ZWN0ID0gV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAgICAg
ICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21QYXlsb2FkKHBh
eWxvYWQpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKG9iamVjdCA/IEpTT04u
c3RyaW5naWZ5KG9iamVjdCwgbnVsbCwgMikgOiBvYmplY3QpOwogICAgICAgICAgICAgfSwKICAg
ICAgICAgfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvYXVkaXRU
ZXN0R3JvdXBSZXN1bHQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRl
c3RHcm91cFJlc3VsdC5odG1sCmluZGV4IGY2MDAzNTQ3MTY4ZTAzMDZjMGNkOTg5ZGM3OWY2ZTQ4
OWNhMDlkMjAuLjU3NmRlNDBhZWE0MzEzNTllYjJjZGRjMTFjMDIzMWM2N2YyZTY3Y2QgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RHcm91cFJlc3VsdC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RHcm91cFJlc3Vs
dC5odG1sCkBAIC0xMSw3ICsxMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICBzdWl0ZS5h
ZGRUZXN0Q2FzZSh7CiAgICAgICAgICAgICBuYW1lLAogICAgICAgICAgICAgYXN5bmMgdGVzdCgp
IHsKLSAgICAgICAgICAgICAgICBsZXQgb2JqZWN0ID0gV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQu
ZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0
IFdJLkF1ZGl0VGVzdEdyb3VwUmVzdWx0LmZyb21QYXlsb2FkKHBheWxvYWQpOwogICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QubG9nKG9iamVjdCA/IEpTT04uc3RyaW5naWZ5KG9iamVjdCwg
bnVsbCwgMikgOiBvYmplY3QpOwogICAgICAgICAgICAgfSwKICAgICAgICAgfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353522</attachid>
            <date>2018-10-31 12:57:52 -0700</date>
            <delta_ts>2018-10-31 13:47:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191044-20181031125751.patch</filename>
            <type>text/plain</type>
            <size>11634</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGNiMGEyYTA0ZGJhNWY0YzNmZGEyNDk4YTg4Y2Mx
MzU5YWM4NDk1NTQuLmQ0OThiMmU2ZWI4ZDA4OGViNTYzZTJjZTgxNDAyNDRiZDc3MTI4NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTEwLTMxICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
dWRpdDogYXR0ZW1wdCB0byByZS1saW5rIERPTSBub2RlcyBmb3IgaW1wb3J0ZWQgcmVzdWx0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMDQ0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTY4NzM2ND4KKworICAgICAgICBSZXZpZXdlZCBieSBC
cmlhbiBCdXJnLgorCisgICAgICAgIFdoZW4gaW1wb3J0aW5nIGEgYFdJLkF1ZGl0VGVzdENhc2VS
ZXN1bHRgLCBhdHRlbXB0IHRvIGBxdWVyeVNlbGVjdG9yYCBmb3IgZWFjaCBpdGVtIGluCisgICAg
ICAgIGBkYXRhLmRvbU5vZGVzYC4gSWYgYSBub2RlIGlzIGZvdW5kLCByZXBsYWNlIGl0IHdpdGgg
dGhhdCBub2RlIGFuZCBzaG93IGEgdHJlZSBpbnN0ZWFkLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZS5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2Uu
YXN5bmMgZnJvbVBheWxvYWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2UuZnJv
bVBheWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVk
aXRUZXN0R3JvdXAuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cC5hc3luYyBmcm9tUGF5
bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQpOiBE
ZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZVJl
c3VsdC5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuYXN5bmMgZnJvbVBheWxv
YWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQp
OiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3Jv
dXBSZXN1bHQuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5hc3luYyBmcm9t
UGF5bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBh
eWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9B
dWRpdE1hbmFnZXIuanM6CisgICAgICAgIChXSS5BdWRpdE1hbmFnZXIucHJvdG90eXBlLmltcG9y
dCk6CisKIDIwMTgtMTAtMzEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEF1ZGl0OiBzaG93IG1ldGFkYXRhIGZvciByZXN1bHRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9BdWRpdE1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9BdWRpdE1hbmFnZXIuanMKaW5kZXggZTBkZWZhMGI0ODEwMDQ4OGFlYjA2YmE5
ZDU5NDIwYjczZjk1NmQ1NS4uN2RkMTljYjQ4ZTA3MGIxNjI4YmM1MTYzYjdlM2UyMjlmNTI5MzEz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvQXVkaXRNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0F1ZGl0TWFuYWdlci5qcwpAQCAtOTUsNyArOTUsNyBAQCBXSS5B
dWRpdE1hbmFnZXIgPSBjbGFzcyBBdWRpdE1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAg
IGltcG9ydCgpCiAgICAgewotICAgICAgICBXSS5sb2FkRGF0YUZyb21GaWxlKChkYXRhLCBmaWxl
bmFtZSkgPT4geworICAgICAgICBXSS5sb2FkRGF0YUZyb21GaWxlKGFzeW5jIChkYXRhLCBmaWxl
bmFtZSkgPT4gewogICAgICAgICAgICAgaWYgKCFkYXRhKQogICAgICAgICAgICAgICAgIHJldHVy
bjsKIApAQCAtMTA3LDkgKzEwNyw5IEBAIFdJLkF1ZGl0TWFuYWdlciA9IGNsYXNzIEF1ZGl0TWFu
YWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgbGV0IG9iamVjdCA9IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21Q
YXlsb2FkKHBheWxvYWQpIHx8IFdJLkF1ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQocGF5bG9hZCk7
CisgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBh
eWxvYWQocGF5bG9hZCkgfHwgYXdhaXQgV0kuQXVkaXRUZXN0Q2FzZS5mcm9tUGF5bG9hZChwYXls
b2FkKTsKICAgICAgICAgICAgIGlmICghb2JqZWN0KSB7Ci0gICAgICAgICAgICAgICAgb2JqZWN0
ID0gV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCkgfHwgV0kuQXVk
aXRUZXN0Q2FzZVJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2FkKTsKKyAgICAgICAgICAgICAgICBv
YmplY3QgPSBhd2FpdCBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2Fk
KSB8fCBhd2FpdCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2FkKHBheWxvYWQpOwog
ICAgICAgICAgICAgICAgIGlmICghb2JqZWN0KSB7CiAgICAgICAgICAgICAgICAgICAgIFdJLkF1
ZGl0TWFuYWdlci5zeW50aGVzaXplRXJyb3IoV0kuVUlTdHJpbmcoImludmFsaWQgSlNPTi4iKSk7
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKaW5kZXgg
OTBiYzFlMDM2NDc5Yzc3NTAwMTBjZWFmZGY3NjNlNWQ2MjM0NDQ0Ni4uNGYwOWZkZjU1YjFjNTRm
NTdjYjAxYTFlYzI5MzIxM2M2MWMxOTY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKQEAgLTM2
LDcgKzM2LDcgQEAgV0kuQXVkaXRUZXN0Q2FzZSA9IGNsYXNzIEF1ZGl0VGVzdENhc2UgZXh0ZW5k
cyBXSS5BdWRpdFRlc3RCYXNlCiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5
bG9hZChwYXlsb2FkKQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAg
IHsKICAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09
PSBudWxsKQogICAgICAgICAgICAgcmV0dXJuIG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNl
UmVzdWx0LmpzCmluZGV4IDg2NTJhODUyOWY2YjUxYjgwMzcyZmE3NGU1NDQ5ZDA4NDBhZDYzMGUu
LjYwM2I2OTZmOWYzMWRjZGFmN2M3Zjk5MTdlMmJjNzlkNWI5NzI2OTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlUmVz
dWx0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9B
dWRpdFRlc3RDYXNlUmVzdWx0LmpzCkBAIC00MCw3ICs0MCw3IEBAIFdJLkF1ZGl0VGVzdENhc2VS
ZXN1bHQgPSBjbGFzcyBBdWRpdFRlc3RDYXNlUmVzdWx0IGV4dGVuZHMgV0kuQXVkaXRUZXN0UmVz
dWx0QmFzCiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2Fk
KQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAgICAg
aWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQogICAg
ICAgICAgICAgcmV0dXJuIG51bGw7CkBAIC0xMDIsNiArMTAyLDE4IEBAIFdJLkF1ZGl0VGVzdENh
c2VSZXN1bHQgPSBjbGFzcyBBdWRpdFRlc3RDYXNlUmVzdWx0IGV4dGVuZHMgV0kuQXVkaXRUZXN0
UmVzdWx0QmFzCiAgICAgICAgICAgICBpZiAobWV0YWRhdGEudXJsKQogICAgICAgICAgICAgICAg
IG9wdGlvbnMubWV0YWRhdGEudXJsID0gbWV0YWRhdGEudXJsOwogICAgICAgICB9CisKKyAgICAg
ICAgaWYgKHdpbmRvdy5ET01BZ2VudCAmJiBBcnJheS5pc0FycmF5KG9wdGlvbnMuZGF0YS5kb21O
b2RlcykpIHsKKyAgICAgICAgICAgIGxldCBkb2N1bWVudE5vZGUgPSBhd2FpdCBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4gV0kuZG9tTWFuYWdlci5yZXF1ZXN0RG9jdW1lbnQocmVzb2x2ZSkpOwor
ICAgICAgICAgICAgb3B0aW9ucy5kYXRhLmRvbU5vZGVzID0gYXdhaXQgUHJvbWlzZS5hbGwob3B0
aW9ucy5kYXRhLmRvbU5vZGVzLm1hcChhc3luYyAoZG9tTm9kZVN0cmluZykgPT4geworICAgICAg
ICAgICAgICAgIGxldCBub2RlSWQgPSAwOworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIG5vZGVJZCA9IGF3YWl0IFdJLmRvbU1hbmFnZXIucXVlcnlTZWxlY3Rvcihk
b2N1bWVudE5vZGUsIGRvbU5vZGVTdHJpbmcpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggeyB9
CisgICAgICAgICAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCkg
fHwgZG9tTm9kZVN0cmluZzsKKyAgICAgICAgICAgIH0pKTsKKyAgICAgICAgfQorCiAgICAgICAg
IHJldHVybiBuZXcgV0kuQXVkaXRUZXN0Q2FzZVJlc3VsdChuYW1lLCBsZXZlbCwgb3B0aW9ucyk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXAuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXAuanMKaW5kZXggNzg0ZTk3NDc0NTg3ZDgwNzI3
NjZjYjExN2FkNDYwZGE5NzQ5NjAwZC4uZTM3Y2E2MzQzMThjY2EzYmJkMDZlNzQ5ZjcxYWZkOTVl
MTJiYzU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0F1ZGl0VGVzdEdyb3VwLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RHcm91cC5qcwpAQCAtNDEsNyArNDEsNyBAQCBXSS5B
dWRpdFRlc3RHcm91cCA9IGNsYXNzIEF1ZGl0VGVzdEdyb3VwIGV4dGVuZHMgV0kuQXVkaXRUZXN0
QmFzZQogCiAgICAgLy8gU3RhdGljCiAKLSAgICBzdGF0aWMgZnJvbVBheWxvYWQocGF5bG9hZCkK
KyAgICBzdGF0aWMgYXN5bmMgZnJvbVBheWxvYWQocGF5bG9hZCkKICAgICB7CiAgICAgICAgIGlm
ICh0eXBlb2YgcGF5bG9hZCAhPT0gIm9iamVjdCIgfHwgcGF5bG9hZCA9PT0gbnVsbCkKICAgICAg
ICAgICAgIHJldHVybiBudWxsOwpAQCAtNTcsNyArNTcsMTcgQEAgV0kuQXVkaXRUZXN0R3JvdXAg
PSBjbGFzcyBBdWRpdFRlc3RHcm91cCBleHRlbmRzIFdJLkF1ZGl0VGVzdEJhc2UKICAgICAgICAg
aWYgKCFBcnJheS5pc0FycmF5KHRlc3RzKSkKICAgICAgICAgICAgIHJldHVybiBudWxsOwogCi0g
ICAgICAgIHRlc3RzID0gdGVzdHMubWFwKCh0ZXN0KSA9PiBXSS5BdWRpdFRlc3RDYXNlLmZyb21Q
YXlsb2FkKHRlc3QpIHx8IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21QYXlsb2FkKHRlc3QpKTsKKyAg
ICAgICAgdGVzdHMgPSBhd2FpdCBQcm9taXNlLmFsbCh0ZXN0cy5tYXAoYXN5bmMgKHRlc3QpID0+
IHsKKyAgICAgICAgICAgIGxldCB0ZXN0Q2FzZSA9IGF3YWl0IFdJLkF1ZGl0VGVzdENhc2UuZnJv
bVBheWxvYWQodGVzdCk7CisgICAgICAgICAgICBpZiAodGVzdENhc2UpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRlc3RDYXNlOworCisgICAgICAgICAgICBsZXQgdGVzdEdyb3VwID0gYXdhaXQg
V0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQodGVzdCk7CisgICAgICAgICAgICBpZiAodGVz
dEdyb3VwKQorICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0R3JvdXA7CisKKyAgICAgICAgICAg
IHJldHVybiBudWxsOworICAgICAgICB9KSk7CiAgICAgICAgIHRlc3RzID0gdGVzdHMuZmlsdGVy
KCh0ZXN0KSA9PiAhIXRlc3QpOwogICAgICAgICBpZiAoIXRlc3RzLmxlbmd0aCkKICAgICAgICAg
ICAgIHJldHVybiBudWxsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdEdyb3VwUmVzdWx0LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdEdyb3VwUmVzdWx0LmpzCmluZGV4
IDAxMmI0NjM1Nzc4YzcyMGNlMTU0MmQ2Mzg5NzI2NTYwZjhmNWI5ZjIuLmQwM2NkMWM2ZWRmYTI4
YzEyYzYwYjVmODQ3MTJjNDg3OTc2NDMwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXBS
ZXN1bHQuanMKQEAgLTM2LDcgKzM2LDcgQEAgV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQgPSBjbGFz
cyBBdWRpdFRlc3RHcm91cFJlc3VsdCBleHRlbmRzIFdJLkF1ZGl0VGVzdFJlc3VsdEIKIAogICAg
IC8vIFN0YXRpYwogCi0gICAgc3RhdGljIGZyb21QYXlsb2FkKHBheWxvYWQpCisgICAgc3RhdGlj
IGFzeW5jIGZyb21QYXlsb2FkKHBheWxvYWQpCiAgICAgewogICAgICAgICBpZiAodHlwZW9mIHBh
eWxvYWQgIT09ICJvYmplY3QiIHx8IHBheWxvYWQgPT09IG51bGwpCiAgICAgICAgICAgICByZXR1
cm4gbnVsbDsKQEAgLTUyLDcgKzUyLDE3IEBAIFdJLkF1ZGl0VGVzdEdyb3VwUmVzdWx0ID0gY2xh
c3MgQXVkaXRUZXN0R3JvdXBSZXN1bHQgZXh0ZW5kcyBXSS5BdWRpdFRlc3RSZXN1bHRCCiAgICAg
ICAgIGlmICghQXJyYXkuaXNBcnJheShyZXN1bHRzKSkKICAgICAgICAgICAgIHJldHVybiBudWxs
OwogCi0gICAgICAgIHJlc3VsdHMgPSByZXN1bHRzLm1hcCgocmVzdWx0KSA9PiBXSS5BdWRpdFRl
c3RHcm91cFJlc3VsdC5mcm9tUGF5bG9hZChyZXN1bHQpIHx8IFdJLkF1ZGl0VGVzdENhc2VSZXN1
bHQuZnJvbVBheWxvYWQocmVzdWx0KSk7CisgICAgICAgIHJlc3VsdHMgPSBhd2FpdCBQcm9taXNl
LmFsbChyZXN1bHRzLm1hcChhc3luYyAodGVzdCkgPT4geworICAgICAgICAgICAgbGV0IHRlc3RD
YXNlUmVzdWx0ID0gYXdhaXQgV0kuQXVkaXRUZXN0Q2FzZVJlc3VsdC5mcm9tUGF5bG9hZCh0ZXN0
KTsKKyAgICAgICAgICAgIGlmICh0ZXN0Q2FzZVJlc3VsdCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gdGVzdENhc2VSZXN1bHQ7CisKKyAgICAgICAgICAgIGxldCB0ZXN0R3JvdXBSZXN1bHQgPSBh
d2FpdCBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5mcm9tUGF5bG9hZCh0ZXN0KTsKKyAgICAgICAg
ICAgIGlmICh0ZXN0R3JvdXBSZXN1bHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRlc3RHcm91
cFJlc3VsdDsKKworICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIH0pKTsKICAgICAg
ICAgcmVzdWx0cyA9IHJlc3VsdHMuZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KTsKICAgICAg
ICAgaWYgKCFyZXN1bHRzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybiBudWxsOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDY4YTBkNWI1MDViZDczZGQ3M2U4OWFkYjNkMThhNTAwZDcyOWRmYjQuLmMzYWU3MjU1YjQ0Y2Rk
MjdiZWRjMmU4NjNkZTc3YTYwNDgzYTUxNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0x
MC0zMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogQXVkaXQ6IGF0dGVtcHQgdG8gcmUtbGluayBET00gbm9kZXMgZm9yIGltcG9ydGVk
IHJlc3VsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MTA0NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDU2ODczNjQ+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgQnJpYW4gQnVyZy4KKworICAgICAgICAqIGluc3BlY3Rvci9tb2RlbC9hdWRpdFRl
c3RDYXNlLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdENhc2VSZXN1
bHQuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0R3JvdXAuaHRtbDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0R3JvdXBSZXN1bHQuaHRtbDoKKwog
MjAxOC0xMC0zMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogQXVkaXQ6IHNob3cgbWV0YWRhdGEgZm9yIHJlc3VsdHMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0Q2FzZS5odG1sCmluZGV4IDNkZmMxYWQ2
ODhlNDI2NzhmZGI3Y2Y4ZGFlZTk5ZDIxZDVkNDUzZmEuLjgyOWQwMWQ3ODZhOTBkNmM5YTFjYzhl
ZGZhMjhlYTc4NTM3MDkxMDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2Rl
bC9hdWRpdFRlc3RDYXNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1
ZGl0VGVzdENhc2UuaHRtbApAQCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAg
ICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICAgICAgbmFtZSwKICAgICAgICAgICAgIGFz
eW5jIHRlc3QoKSB7Ci0gICAgICAgICAgICAgICAgbGV0IG9iamVjdCA9IFdJLkF1ZGl0VGVzdENh
c2UuZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3
YWl0IFdJLkF1ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQocGF5bG9hZCk7CiAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2cob2JqZWN0ID8gSlNPTi5zdHJpbmdpZnkob2JqZWN0LCBudWxs
LCAyKSA6IG9iamVjdCk7CiAgICAgICAgICAgICB9LAogICAgICAgICB9KTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlUmVzdWx0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0Q2FzZVJlc3VsdC5odG1sCmluZGV4
IGZiODdmOTFjNmU4OWU1NGRjNTZlOTI4YzM2Mjk4ZGE5MTJiYmRlOTAuLmZkNDRmYzc4MDhjZDVi
ZGU0NjFhNTdkZTBhZDhkNTdiNDA3ZjM4ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlUmVzdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL21vZGVsL2F1ZGl0VGVzdENhc2VSZXN1bHQuaHRtbApAQCAtMTEsNyArMTEsNyBAQCBm
dW5jdGlvbiB0ZXN0KCkKICAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICAgICAg
bmFtZSwKICAgICAgICAgICAgIGFzeW5jIHRlc3QoKSB7Ci0gICAgICAgICAgICAgICAgbGV0IG9i
amVjdCA9IFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAg
ICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJv
bVBheWxvYWQocGF5bG9hZCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cob2Jq
ZWN0ID8gSlNPTi5zdHJpbmdpZnkob2JqZWN0LCBudWxsLCAyKSA6IG9iamVjdCk7CiAgICAgICAg
ICAgICB9LAogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9t
b2RlbC9hdWRpdFRlc3RHcm91cC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1
ZGl0VGVzdEdyb3VwLmh0bWwKaW5kZXggZmYwY2Q1ZWFmYWQ2YmNlYzRiMTgwOGEwZTNkMTI1OGI0
ZmU0YjEyOC4uYmRmYTI5MDBkMGIwNDBkYmZhNGEzNjc0MTc4ZDRjODVlZWIxMjU4OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwLmh0bWwKQEAgLTEx
LDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
ICAgICAgICAgICAgIG5hbWUsCiAgICAgICAgICAgICBhc3luYyB0ZXN0KCkgewotICAgICAgICAg
ICAgICAgIGxldCBvYmplY3QgPSBXSS5BdWRpdFRlc3RHcm91cC5mcm9tUGF5bG9hZChwYXlsb2Fk
KTsKKyAgICAgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgV0kuQXVkaXRUZXN0R3JvdXAu
ZnJvbVBheWxvYWQocGF5bG9hZCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
b2JqZWN0ID8gSlNPTi5zdHJpbmdpZnkob2JqZWN0LCBudWxsLCAyKSA6IG9iamVjdCk7CiAgICAg
ICAgICAgICB9LAogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9tb2RlbC9hdWRpdFRlc3RHcm91cFJlc3VsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L21vZGVsL2F1ZGl0VGVzdEdyb3VwUmVzdWx0Lmh0bWwKaW5kZXggMGViYTJkZmRjODZhNTc1YTYy
ODVhYzBiN2UxZTk3MGM4MGZlM2RjNi4uOTc2NzA0OWM2YTI1ZDc1NmY1YjE0MThlY2M5YTUzMTFj
NGE3YmZmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVz
dEdyb3VwUmVzdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0
VGVzdEdyb3VwUmVzdWx0Lmh0bWwKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgICAgIG5hbWUsCiAgICAgICAgICAg
ICBhc3luYyB0ZXN0KCkgewotICAgICAgICAgICAgICAgIGxldCBvYmplY3QgPSBXSS5BdWRpdFRl
c3RHcm91cFJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2FkKTsKKyAgICAgICAgICAgICAgICBsZXQg
b2JqZWN0ID0gYXdhaXQgV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9h
ZCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cob2JqZWN0ID8gSlNPTi5zdHJp
bmdpZnkob2JqZWN0LCBudWxsLCAyKSA6IG9iamVjdCk7CiAgICAgICAgICAgICB9LAogICAgICAg
ICB9KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353525</attachid>
            <date>2018-10-31 13:47:56 -0700</date>
            <delta_ts>2018-10-31 15:00:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191044-20181031134756.patch</filename>
            <type>text/plain</type>
            <size>12243</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGNiMGEyYTA0ZGJhNWY0YzNmZGEyNDk4YTg4Y2Mx
MzU5YWM4NDk1NTQuLmQ0OThiMmU2ZWI4ZDA4OGViNTYzZTJjZTgxNDAyNDRiZDc3MTI4NWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE4LTEwLTMxICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
dWRpdDogYXR0ZW1wdCB0byByZS1saW5rIERPTSBub2RlcyBmb3IgaW1wb3J0ZWQgcmVzdWx0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMDQ0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTY4NzM2ND4KKworICAgICAgICBSZXZpZXdlZCBieSBC
cmlhbiBCdXJnLgorCisgICAgICAgIFdoZW4gaW1wb3J0aW5nIGEgYFdJLkF1ZGl0VGVzdENhc2VS
ZXN1bHRgLCBhdHRlbXB0IHRvIGBxdWVyeVNlbGVjdG9yYCBmb3IgZWFjaCBpdGVtIGluCisgICAg
ICAgIGBkYXRhLmRvbU5vZGVzYC4gSWYgYSBub2RlIGlzIGZvdW5kLCByZXBsYWNlIGl0IHdpdGgg
dGhhdCBub2RlIGFuZCBzaG93IGEgdHJlZSBpbnN0ZWFkLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZS5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2Uu
YXN5bmMgZnJvbVBheWxvYWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2UuZnJv
bVBheWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVk
aXRUZXN0R3JvdXAuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cC5hc3luYyBmcm9tUGF5
bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQpOiBE
ZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZVJl
c3VsdC5qczoKKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuYXN5bmMgZnJvbVBheWxv
YWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQp
OiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3Jv
dXBSZXN1bHQuanM6CisgICAgICAgIChXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5hc3luYyBmcm9t
UGF5bG9hZCk6IEFkZGVkLgorICAgICAgICAoV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBh
eWxvYWQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9B
dWRpdE1hbmFnZXIuanM6CisgICAgICAgIChXSS5BdWRpdE1hbmFnZXIucHJvdG90eXBlLmltcG9y
dCk6CisKIDIwMTgtMTAtMzEgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEF1ZGl0OiBzaG93IG1ldGFkYXRhIGZvciByZXN1bHRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9BdWRpdE1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9BdWRpdE1hbmFnZXIuanMKaW5kZXggZTBkZWZhMGI0ODEwMDQ4OGFlYjA2YmE5
ZDU5NDIwYjczZjk1NmQ1NS4uN2RkMTljYjQ4ZTA3MGIxNjI4YmM1MTYzYjdlM2UyMjlmNTI5MzEz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvQXVkaXRNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0F1ZGl0TWFuYWdlci5qcwpAQCAtOTUsNyArOTUsNyBAQCBXSS5B
dWRpdE1hbmFnZXIgPSBjbGFzcyBBdWRpdE1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAg
IGltcG9ydCgpCiAgICAgewotICAgICAgICBXSS5sb2FkRGF0YUZyb21GaWxlKChkYXRhLCBmaWxl
bmFtZSkgPT4geworICAgICAgICBXSS5sb2FkRGF0YUZyb21GaWxlKGFzeW5jIChkYXRhLCBmaWxl
bmFtZSkgPT4gewogICAgICAgICAgICAgaWYgKCFkYXRhKQogICAgICAgICAgICAgICAgIHJldHVy
bjsKIApAQCAtMTA3LDkgKzEwNyw5IEBAIFdJLkF1ZGl0TWFuYWdlciA9IGNsYXNzIEF1ZGl0TWFu
YWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgbGV0IG9iamVjdCA9IFdJLkF1ZGl0VGVzdEdyb3VwLmZyb21Q
YXlsb2FkKHBheWxvYWQpIHx8IFdJLkF1ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQocGF5bG9hZCk7
CisgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBh
eWxvYWQocGF5bG9hZCkgfHwgYXdhaXQgV0kuQXVkaXRUZXN0Q2FzZS5mcm9tUGF5bG9hZChwYXls
b2FkKTsKICAgICAgICAgICAgIGlmICghb2JqZWN0KSB7Ci0gICAgICAgICAgICAgICAgb2JqZWN0
ID0gV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCkgfHwgV0kuQXVk
aXRUZXN0Q2FzZVJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2FkKTsKKyAgICAgICAgICAgICAgICBv
YmplY3QgPSBhd2FpdCBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5mcm9tUGF5bG9hZChwYXlsb2Fk
KSB8fCBhd2FpdCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0LmZyb21QYXlsb2FkKHBheWxvYWQpOwog
ICAgICAgICAgICAgICAgIGlmICghb2JqZWN0KSB7CiAgICAgICAgICAgICAgICAgICAgIFdJLkF1
ZGl0TWFuYWdlci5zeW50aGVzaXplRXJyb3IoV0kuVUlTdHJpbmcoImludmFsaWQgSlNPTi4iKSk7
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKaW5kZXgg
OTBiYzFlMDM2NDc5Yzc3NTAwMTBjZWFmZGY3NjNlNWQ2MjM0NDQ0Ni4uNGYwOWZkZjU1YjFjNTRm
NTdjYjAxYTFlYzI5MzIxM2M2MWMxOTY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdENhc2UuanMKQEAgLTM2
LDcgKzM2LDcgQEAgV0kuQXVkaXRUZXN0Q2FzZSA9IGNsYXNzIEF1ZGl0VGVzdENhc2UgZXh0ZW5k
cyBXSS5BdWRpdFRlc3RCYXNlCiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5
bG9hZChwYXlsb2FkKQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAg
IHsKICAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09
PSBudWxsKQogICAgICAgICAgICAgcmV0dXJuIG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0Q2FzZVJlc3VsdC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNl
UmVzdWx0LmpzCmluZGV4IDg2NTJhODUyOWY2YjUxYjgwMzcyZmE3NGU1NDQ5ZDA4NDBhZDYzMGUu
LjVjOGJkNTNmYTRiNDE3MzVjY2ZlMDY4NzI3Y2E5Nzc2ZjRkYzNhMjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9BdWRpdFRlc3RDYXNlUmVz
dWx0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9B
dWRpdFRlc3RDYXNlUmVzdWx0LmpzCkBAIC00MCw3ICs0MCw3IEBAIFdJLkF1ZGl0VGVzdENhc2VS
ZXN1bHQgPSBjbGFzcyBBdWRpdFRlc3RDYXNlUmVzdWx0IGV4dGVuZHMgV0kuQXVkaXRUZXN0UmVz
dWx0QmFzCiAKICAgICAvLyBTdGF0aWMKIAotICAgIHN0YXRpYyBmcm9tUGF5bG9hZChwYXlsb2Fk
KQorICAgIHN0YXRpYyBhc3luYyBmcm9tUGF5bG9hZChwYXlsb2FkKQogICAgIHsKICAgICAgICAg
aWYgKHR5cGVvZiBwYXlsb2FkICE9PSAib2JqZWN0IiB8fCBwYXlsb2FkID09PSBudWxsKQogICAg
ICAgICAgICAgcmV0dXJuIG51bGw7CkBAIC04Niw4ICs4NiwyMCBAQCBXSS5BdWRpdFRlc3RDYXNl
UmVzdWx0ID0gY2xhc3MgQXVkaXRUZXN0Q2FzZVJlc3VsdCBleHRlbmRzIFdJLkF1ZGl0VGVzdFJl
c3VsdEJhcwogICAgICAgICAgICAgb3B0aW9ucy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uOwog
ICAgICAgICBpZiAoIWlzRW1wdHlPYmplY3QoZGF0YSkpIHsKICAgICAgICAgICAgIG9wdGlvbnMu
ZGF0YSA9IHt9OwotICAgICAgICAgICAgaWYgKGRhdGEuZG9tTm9kZXMgJiYgZGF0YS5kb21Ob2Rl
cy5sZW5ndGgpCisgICAgICAgICAgICBpZiAoZGF0YS5kb21Ob2RlcyAmJiBkYXRhLmRvbU5vZGVz
Lmxlbmd0aCkgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuRE9NQWdlbnQpIHsKKyAgICAg
ICAgICAgICAgICAgICAgbGV0IGRvY3VtZW50Tm9kZSA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNv
bHZlKSA9PiBXSS5kb21NYW5hZ2VyLnJlcXVlc3REb2N1bWVudChyZXNvbHZlKSk7CisgICAgICAg
ICAgICAgICAgICAgIGRhdGEuZG9tTm9kZXMgPSBhd2FpdCBQcm9taXNlLmFsbChkYXRhLmRvbU5v
ZGVzLm1hcChhc3luYyAoZG9tTm9kZVN0cmluZykgPT4geworICAgICAgICAgICAgICAgICAgICAg
ICAgbGV0IG5vZGVJZCA9IDA7CisgICAgICAgICAgICAgICAgICAgICAgICB0cnkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG5vZGVJZCA9IGF3YWl0IFdJLmRvbU1hbmFnZXIucXVlcnlT
ZWxlY3Rvcihkb2N1bWVudE5vZGUsIGRvbU5vZGVTdHJpbmcpOworICAgICAgICAgICAgICAgICAg
ICAgICAgfSBjYXRjaCB7IH0KKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBXSS5kb21N
YW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpIHx8IGRvbU5vZGVTdHJpbmc7CisgICAgICAgICAgICAg
ICAgICAgIH0pKTsKKyAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICAgICBvcHRpb25z
LmRhdGEuZG9tTm9kZXMgPSBkYXRhLmRvbU5vZGVzOworICAgICAgICAgICAgfQogICAgICAgICAg
ICAgaWYgKGRhdGEuZG9tQXR0cmlidXRlcyAmJiBkYXRhLmRvbUF0dHJpYnV0ZXMubGVuZ3RoKQog
ICAgICAgICAgICAgICAgIG9wdGlvbnMuZGF0YS5kb21BdHRyaWJ1dGVzID0gZGF0YS5kb21BdHRy
aWJ1dGVzOwogICAgICAgICAgICAgaWYgKGRhdGEuZXJyb3JzICYmIGRhdGEuZXJyb3JzLmxlbmd0
aCkKQEAgLTEwMiw2ICsxMTQsNyBAQCBXSS5BdWRpdFRlc3RDYXNlUmVzdWx0ID0gY2xhc3MgQXVk
aXRUZXN0Q2FzZVJlc3VsdCBleHRlbmRzIFdJLkF1ZGl0VGVzdFJlc3VsdEJhcwogICAgICAgICAg
ICAgaWYgKG1ldGFkYXRhLnVybCkKICAgICAgICAgICAgICAgICBvcHRpb25zLm1ldGFkYXRhLnVy
bCA9IG1ldGFkYXRhLnVybDsKICAgICAgICAgfQorCiAgICAgICAgIHJldHVybiBuZXcgV0kuQXVk
aXRUZXN0Q2FzZVJlc3VsdChuYW1lLCBsZXZlbCwgb3B0aW9ucyk7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0
R3JvdXAuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVk
aXRUZXN0R3JvdXAuanMKaW5kZXggNzg0ZTk3NDc0NTg3ZDgwNzI3NjZjYjExN2FkNDYwZGE5NzQ5
NjAwZC4uZTM3Y2E2MzQzMThjY2EzYmJkMDZlNzQ5ZjcxYWZkOTVlMTJiYzU2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1ZGl0VGVzdEdy
b3VwLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9B
dWRpdFRlc3RHcm91cC5qcwpAQCAtNDEsNyArNDEsNyBAQCBXSS5BdWRpdFRlc3RHcm91cCA9IGNs
YXNzIEF1ZGl0VGVzdEdyb3VwIGV4dGVuZHMgV0kuQXVkaXRUZXN0QmFzZQogCiAgICAgLy8gU3Rh
dGljCiAKLSAgICBzdGF0aWMgZnJvbVBheWxvYWQocGF5bG9hZCkKKyAgICBzdGF0aWMgYXN5bmMg
ZnJvbVBheWxvYWQocGF5bG9hZCkKICAgICB7CiAgICAgICAgIGlmICh0eXBlb2YgcGF5bG9hZCAh
PT0gIm9iamVjdCIgfHwgcGF5bG9hZCA9PT0gbnVsbCkKICAgICAgICAgICAgIHJldHVybiBudWxs
OwpAQCAtNTcsNyArNTcsMTcgQEAgV0kuQXVkaXRUZXN0R3JvdXAgPSBjbGFzcyBBdWRpdFRlc3RH
cm91cCBleHRlbmRzIFdJLkF1ZGl0VGVzdEJhc2UKICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5
KHRlc3RzKSkKICAgICAgICAgICAgIHJldHVybiBudWxsOwogCi0gICAgICAgIHRlc3RzID0gdGVz
dHMubWFwKCh0ZXN0KSA9PiBXSS5BdWRpdFRlc3RDYXNlLmZyb21QYXlsb2FkKHRlc3QpIHx8IFdJ
LkF1ZGl0VGVzdEdyb3VwLmZyb21QYXlsb2FkKHRlc3QpKTsKKyAgICAgICAgdGVzdHMgPSBhd2Fp
dCBQcm9taXNlLmFsbCh0ZXN0cy5tYXAoYXN5bmMgKHRlc3QpID0+IHsKKyAgICAgICAgICAgIGxl
dCB0ZXN0Q2FzZSA9IGF3YWl0IFdJLkF1ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQodGVzdCk7Cisg
ICAgICAgICAgICBpZiAodGVzdENhc2UpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRlc3RDYXNl
OworCisgICAgICAgICAgICBsZXQgdGVzdEdyb3VwID0gYXdhaXQgV0kuQXVkaXRUZXN0R3JvdXAu
ZnJvbVBheWxvYWQodGVzdCk7CisgICAgICAgICAgICBpZiAodGVzdEdyb3VwKQorICAgICAgICAg
ICAgICAgIHJldHVybiB0ZXN0R3JvdXA7CisKKyAgICAgICAgICAgIHJldHVybiBudWxsOworICAg
ICAgICB9KSk7CiAgICAgICAgIHRlc3RzID0gdGVzdHMuZmlsdGVyKCh0ZXN0KSA9PiAhIXRlc3Qp
OwogICAgICAgICBpZiAoIXRlc3RzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybiBudWxsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0F1
ZGl0VGVzdEdyb3VwUmVzdWx0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0F1ZGl0VGVzdEdyb3VwUmVzdWx0LmpzCmluZGV4IDAxMmI0NjM1Nzc4YzcyMGNl
MTU0MmQ2Mzg5NzI2NTYwZjhmNWI5ZjIuLmQwM2NkMWM2ZWRmYTI4YzEyYzYwYjVmODQ3MTJjNDg3
OTc2NDMwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9BdWRpdFRlc3RHcm91cFJlc3VsdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQXVkaXRUZXN0R3JvdXBSZXN1bHQuanMKQEAgLTM2LDcg
KzM2LDcgQEAgV0kuQXVkaXRUZXN0R3JvdXBSZXN1bHQgPSBjbGFzcyBBdWRpdFRlc3RHcm91cFJl
c3VsdCBleHRlbmRzIFdJLkF1ZGl0VGVzdFJlc3VsdEIKIAogICAgIC8vIFN0YXRpYwogCi0gICAg
c3RhdGljIGZyb21QYXlsb2FkKHBheWxvYWQpCisgICAgc3RhdGljIGFzeW5jIGZyb21QYXlsb2Fk
KHBheWxvYWQpCiAgICAgewogICAgICAgICBpZiAodHlwZW9mIHBheWxvYWQgIT09ICJvYmplY3Qi
IHx8IHBheWxvYWQgPT09IG51bGwpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKQEAgLTUyLDcg
KzUyLDE3IEBAIFdJLkF1ZGl0VGVzdEdyb3VwUmVzdWx0ID0gY2xhc3MgQXVkaXRUZXN0R3JvdXBS
ZXN1bHQgZXh0ZW5kcyBXSS5BdWRpdFRlc3RSZXN1bHRCCiAgICAgICAgIGlmICghQXJyYXkuaXNB
cnJheShyZXN1bHRzKSkKICAgICAgICAgICAgIHJldHVybiBudWxsOwogCi0gICAgICAgIHJlc3Vs
dHMgPSByZXN1bHRzLm1hcCgocmVzdWx0KSA9PiBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5mcm9t
UGF5bG9hZChyZXN1bHQpIHx8IFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQocmVz
dWx0KSk7CisgICAgICAgIHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChyZXN1bHRzLm1hcChh
c3luYyAodGVzdCkgPT4geworICAgICAgICAgICAgbGV0IHRlc3RDYXNlUmVzdWx0ID0gYXdhaXQg
V0kuQXVkaXRUZXN0Q2FzZVJlc3VsdC5mcm9tUGF5bG9hZCh0ZXN0KTsKKyAgICAgICAgICAgIGlm
ICh0ZXN0Q2FzZVJlc3VsdCkKKyAgICAgICAgICAgICAgICByZXR1cm4gdGVzdENhc2VSZXN1bHQ7
CisKKyAgICAgICAgICAgIGxldCB0ZXN0R3JvdXBSZXN1bHQgPSBhd2FpdCBXSS5BdWRpdFRlc3RH
cm91cFJlc3VsdC5mcm9tUGF5bG9hZCh0ZXN0KTsKKyAgICAgICAgICAgIGlmICh0ZXN0R3JvdXBS
ZXN1bHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRlc3RHcm91cFJlc3VsdDsKKworICAgICAg
ICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIH0pKTsKICAgICAgICAgcmVzdWx0cyA9IHJlc3Vs
dHMuZmlsdGVyKChyZXN1bHQpID0+ICEhcmVzdWx0KTsKICAgICAgICAgaWYgKCFyZXN1bHRzLmxl
bmd0aCkKICAgICAgICAgICAgIHJldHVybiBudWxsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY4YTBkNWI1MDViZDczZGQ3
M2U4OWFkYjNkMThhNTAwZDcyOWRmYjQuLmMzYWU3MjU1YjQ0Y2RkMjdiZWRjMmU4NjNkZTc3YTYw
NDgzYTUxNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0xMC0zMSAgRGV2aW4gUm91c3Nv
ICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQXVkaXQ6IGF0
dGVtcHQgdG8gcmUtbGluayBET00gbm9kZXMgZm9yIGltcG9ydGVkIHJlc3VsdHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTA0NAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDU2ODczNjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJpYW4gQnVy
Zy4KKworICAgICAgICAqIGluc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlLmh0bWw6CisgICAg
ICAgICogaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdENhc2VSZXN1bHQuaHRtbDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvbW9kZWwvYXVkaXRUZXN0R3JvdXAuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvbW9kZWwvYXVkaXRUZXN0R3JvdXBSZXN1bHQuaHRtbDoKKwogMjAxOC0xMC0zMSAgRGV2aW4g
Um91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQXVk
aXQ6IHNob3cgbWV0YWRhdGEgZm9yIHJlc3VsdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
bW9kZWwvYXVkaXRUZXN0Q2FzZS5odG1sCmluZGV4IDNkZmMxYWQ2ODhlNDI2NzhmZGI3Y2Y4ZGFl
ZTk5ZDIxZDVkNDUzZmEuLjgyOWQwMWQ3ODZhOTBkNmM5YTFjYzhlZGZhMjhlYTc4NTM3MDkxMDIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdENhc2UuaHRtbApA
QCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgc3VpdGUuYWRkVGVzdENh
c2UoewogICAgICAgICAgICAgbmFtZSwKICAgICAgICAgICAgIGFzeW5jIHRlc3QoKSB7Ci0gICAg
ICAgICAgICAgICAgbGV0IG9iamVjdCA9IFdJLkF1ZGl0VGVzdENhc2UuZnJvbVBheWxvYWQocGF5
bG9hZCk7CisgICAgICAgICAgICAgICAgbGV0IG9iamVjdCA9IGF3YWl0IFdJLkF1ZGl0VGVzdENh
c2UuZnJvbVBheWxvYWQocGF5bG9hZCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2cob2JqZWN0ID8gSlNPTi5zdHJpbmdpZnkob2JqZWN0LCBudWxsLCAyKSA6IG9iamVjdCk7CiAg
ICAgICAgICAgICB9LAogICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9tb2RlbC9hdWRpdFRlc3RDYXNlUmVzdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvbW9kZWwvYXVkaXRUZXN0Q2FzZVJlc3VsdC5odG1sCmluZGV4IGZiODdmOTFjNmU4OWU1NGRj
NTZlOTI4YzM2Mjk4ZGE5MTJiYmRlOTAuLmZkNDRmYzc4MDhjZDViZGU0NjFhNTdkZTBhZDhkNTdi
NDA3ZjM4ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRl
c3RDYXNlUmVzdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0
VGVzdENhc2VSZXN1bHQuaHRtbApAQCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAg
ICAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICAgICAgbmFtZSwKICAgICAgICAgICAg
IGFzeW5jIHRlc3QoKSB7Ci0gICAgICAgICAgICAgICAgbGV0IG9iamVjdCA9IFdJLkF1ZGl0VGVz
dENhc2VSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCk7CisgICAgICAgICAgICAgICAgbGV0IG9i
amVjdCA9IGF3YWl0IFdJLkF1ZGl0VGVzdENhc2VSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCk7
CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cob2JqZWN0ID8gSlNPTi5zdHJpbmdp
Znkob2JqZWN0LCBudWxsLCAyKSA6IG9iamVjdCk7CiAgICAgICAgICAgICB9LAogICAgICAgICB9
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RHcm91
cC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwLmh0bWwK
aW5kZXggZmYwY2Q1ZWFmYWQ2YmNlYzRiMTgwOGEwZTNkMTI1OGI0ZmU0YjEyOC4uYmRmYTI5MDBk
MGIwNDBkYmZhNGEzNjc0MTc4ZDRjODVlZWIxMjU4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwLmh0bWwKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgICAgIG5hbWUs
CiAgICAgICAgICAgICBhc3luYyB0ZXN0KCkgewotICAgICAgICAgICAgICAgIGxldCBvYmplY3Qg
PSBXSS5BdWRpdFRlc3RHcm91cC5mcm9tUGF5bG9hZChwYXlsb2FkKTsKKyAgICAgICAgICAgICAg
ICBsZXQgb2JqZWN0ID0gYXdhaXQgV0kuQXVkaXRUZXN0R3JvdXAuZnJvbVBheWxvYWQocGF5bG9h
ZCk7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cob2JqZWN0ID8gSlNPTi5zdHJp
bmdpZnkob2JqZWN0LCBudWxsLCAyKSA6IG9iamVjdCk7CiAgICAgICAgICAgICB9LAogICAgICAg
ICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9hdWRpdFRlc3RH
cm91cFJlc3VsdC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdy
b3VwUmVzdWx0Lmh0bWwKaW5kZXggMGViYTJkZmRjODZhNTc1YTYyODVhYzBiN2UxZTk3MGM4MGZl
M2RjNi4uOTc2NzA0OWM2YTI1ZDc1NmY1YjE0MThlY2M5YTUzMTFjNGE3YmZmZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwUmVzdWx0Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2F1ZGl0VGVzdEdyb3VwUmVzdWx0Lmh0
bWwKQEAgLTExLDcgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHN1aXRlLmFkZFRl
c3RDYXNlKHsKICAgICAgICAgICAgIG5hbWUsCiAgICAgICAgICAgICBhc3luYyB0ZXN0KCkgewot
ICAgICAgICAgICAgICAgIGxldCBvYmplY3QgPSBXSS5BdWRpdFRlc3RHcm91cFJlc3VsdC5mcm9t
UGF5bG9hZChwYXlsb2FkKTsKKyAgICAgICAgICAgICAgICBsZXQgb2JqZWN0ID0gYXdhaXQgV0ku
QXVkaXRUZXN0R3JvdXBSZXN1bHQuZnJvbVBheWxvYWQocGF5bG9hZCk7CiAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2cob2JqZWN0ID8gSlNPTi5zdHJpbmdpZnkob2JqZWN0LCBudWxs
LCAyKSA6IG9iamVjdCk7CiAgICAgICAgICAgICB9LAogICAgICAgICB9KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>