<?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>129943</bug_id>
          
          <creation_ts>2014-03-07 17:07:07 -0800</creation_ts>
          <short_desc>Web Inspector: AXI: Expose Accessibility Tree parent of the selected node</short_desc>
          <delta_ts>2014-03-14 14:18:35 -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>528+ (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>130037</dependson>
          <blocked>129952</blocked>
    
    <blocked>130259</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Craig">jcraig</reporter>
          <assigned_to name="James Craig">jcraig</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>jcraig</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>988439</commentid>
    <comment_count>0</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-07 17:07:07 -0800</bug_when>
    <thetext>Web Inspector: AXI: Expose AX parent and children of the selected node</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989566</commentid>
    <comment_count>1</comment_count>
      <attachid>226487</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-12 03:10:31 -0700</bug_when>
    <thetext>Created attachment 226487
partial patch (AX parent working, no childnodes or test case yet)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989720</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-03-12 10:59:51 -0700</bug_when>
    <thetext>The approach looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989838</commentid>
    <comment_count>3</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-12 14:58:04 -0700</bug_when>
    <thetext>Since the patch for AX Parent is starting to get larger than anticipated, and the approach for AX Children is undecided, I&apos;m going to split these and just use this bug for the work on AX Parent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989899</commentid>
    <comment_count>4</comment_count>
      <attachid>226567</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-12 19:10:49 -0700</bug_when>
    <thetext>Created attachment 226567
patch v2

Version 2. Not sure I like how the axParentNodeId is exposed in the LayoutTest. I think it&apos;ll probably be better to result those to something more useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989910</commentid>
    <comment_count>5</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-12 20:16:24 -0700</bug_when>
    <thetext>s/result/resolve/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989965</commentid>
    <comment_count>6</comment_count>
      <attachid>226585</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 01:55:38 -0700</bug_when>
    <thetext>Created attachment 226585
patch (need to resolve conflicts with TOT)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>989969</commentid>
    <comment_count>7</comment_count>
      <attachid>226586</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 02:21:17 -0700</bug_when>
    <thetext>Created attachment 226586
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990061</commentid>
    <comment_count>8</comment_count>
      <attachid>226586</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-03-13 10:48:02 -0700</bug_when>
    <thetext>Comment on attachment 226586
patch

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

r=me

&gt; Source/WebCore/inspector/protocol/DOM.json:63
&gt; +                { &quot;name&quot;: &quot;axParentNodeId&quot;, &quot;$ref&quot;: &quot;NodeId&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;&lt;code&gt;DOMNode&lt;/code&gt; of the accessibility tree parent object id if available.&quot; },

This reads weird. &quot;of the AX tree parent object id&quot;. Maybe we can drop the &quot;id&quot; at the end?

&gt; Source/WebInspectorUI/ChangeLog:15
&gt; +        * UserInterface/Models/DOMNode.js: AX PArent Support and adding role to DOMNode (will be exposed as AX Parent link and in overlays).

Typo: &quot;PArent&quot;

&gt; Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js:59
&gt; +    title += WebInspector.roleSelectorForNode(node);

Neat. A bit of a tough sell displaying CSS selectors that we don&apos;t support yet, but I think its fine.

&gt; Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js:83
&gt; +WebInspector.linkifyNodeReference = function(node, optDisplayAsRole)
&gt; +{
&gt; +    var selector = WebInspector.displayNameForNode(node);
&gt; +    var role = node.computedRole();
&gt; +    var displayName = optDisplayAsRole &amp;&amp; role ? role : selector;
&gt;      var link = document.createElement(&quot;span&quot;);
&gt;      link.appendChild(document.createTextNode(displayName));
&gt; +    link.setAttribute(&quot;role&quot;, &quot;link&quot;);
&gt;      link.className = &quot;node-link&quot;;
&gt; -    link.title = displayName;
&gt; +    link.title = selector;

I think the optDisplayAsRole can be done at the call site. I&apos;m not sure it is needed on this utility function. This function returns the link, and we can change the link textContent as needed after it returns. What do you think?

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:284
&gt; +                var axParentNode = &quot;&quot;;
&gt; +                if (accessibilityProperties.axParentNodeId !== undefined)
&gt; +                    axParentNode = WebInspector.linkifyNodeReference(WebInspector.domTreeManager.nodeForId(accessibilityProperties.axParentNodeId), true);

How about naming this &quot;axParentNodeLink&quot;. You can initialize it to null. Then down below you can do:

    ...Row.value = axParentNodeLink || &quot;&quot;;

This way we won&apos;t ever mix types (string versus DOMNode) in the variable.

&gt; LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html:125
&gt; +        outerHTML = outerHTML.replace(&quot;;base64,R0lGODlhEAARAJECAOHh4UpKSgAAAAAAACH5BAEAAAIALAAAAAAQABEAAAIllB8Zx63b4otSUWcvyuz5D4biSD7AiZroWSXa5r7CJNOvra1RAQA7&quot;, &quot;...&quot;)

Hehe, rather specific. Might be easier to use a regex:

    outerHTML = outerHTML.replace(/;base64,.*?&quot;/, &quot;\&quot;&quot;);

&gt; LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html:132
&gt; +        for (key in response.result.properties) {

Oops. Missing a var here?

    for (var key in ...)

Otherwise &quot;key&quot; gets accidentally leaked into the global scope.

&gt; LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html:136
&gt; +            else if (key === &quot;axParentNodeId&quot;)

No need for the &quot;else&quot; here, the previous &quot;if&quot; was a return/break/continue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990079</commentid>
    <comment_count>9</comment_count>
      <attachid>226586</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-03-13 11:16:15 -0700</bug_when>
    <thetext>Comment on attachment 226586
patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js:59
&gt;&gt; +    title += WebInspector.roleSelectorForNode(node);
&gt; 
&gt; Neat. A bit of a tough sell displaying CSS selectors that we don&apos;t support yet, but I think its fine.

Yeah I am not sure about this. I think this will confuse developers and cause more truncation in the DOM navigation bar because of the longer strings. Lets revert this or make it optional with an argument for some cases.

&gt;&gt; Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js:83
&gt;&gt; +    link.title = selector;
&gt; 
&gt; I think the optDisplayAsRole can be done at the call site. I&apos;m not sure it is needed on this utility function. This function returns the link, and we can change the link textContent as needed after it returns. What do you think?

I agree, it can be done after the link is made. (IIRC, we replace the text of the links in other places.)

Also optDisplayAsRole should not have the &quot;opt&quot; prefix or it should be spelled out. But we usually don&apos;t call out optional arguments.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:284
&gt;&gt; +                    axParentNode = WebInspector.linkifyNodeReference(WebInspector.domTreeManager.nodeForId(accessibilityProperties.axParentNodeId), true);
&gt; 
&gt; How about naming this &quot;axParentNodeLink&quot;. You can initialize it to null. Then down below you can do:
&gt; 
&gt;     ...Row.value = axParentNodeLink || &quot;&quot;;
&gt; 
&gt; This way we won&apos;t ever mix types (string versus DOMNode) in the variable.

Which the DFG JIT hates…</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990086</commentid>
    <comment_count>10</comment_count>
      <attachid>226586</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 11:30:39 -0700</bug_when>
    <thetext>Comment on attachment 226586
patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js:59
&gt;&gt;&gt; +    title += WebInspector.roleSelectorForNode(node);
&gt;&gt; 
&gt;&gt; Neat. A bit of a tough sell displaying CSS selectors that we don&apos;t support yet, but I think its fine.
&gt; 
&gt; Yeah I am not sure about this. I think this will confuse developers and cause more truncation in the DOM navigation bar because of the longer strings. Lets revert this or make it optional with an argument for some cases.

I&apos;ll just modify the title along with the text content when I get the link back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990111</commentid>
    <comment_count>11</comment_count>
      <attachid>226610</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 12:20:24 -0700</bug_when>
    <thetext>Created attachment 226610
patch with review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990254</commentid>
    <comment_count>12</comment_count>
      <attachid>226610</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-13 19:26:58 -0700</bug_when>
    <thetext>Comment on attachment 226610
patch with review feedback

Rejecting attachment 226610 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 226610, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
at 327 (offset 19 lines).
Hunk #18 succeeded at 335 (offset 19 lines).
Hunk #19 succeeded at 344 (offset 19 lines).
4 out of 19 hunks FAILED -- saving rejects to file LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt.rej
patching file LayoutTests/inspector-protocol/dom/getAccessibilityPropertiesForNode.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Timothy Hatcher&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.appspot.com/results/6532272299704320</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990262</commentid>
    <comment_count>13</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-13 19:47:35 -0700</bug_when>
    <thetext>Ah right. Conflicts in the test expectation from bug 129779.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990356</commentid>
    <comment_count>14</comment_count>
      <attachid>226668</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 02:04:20 -0700</bug_when>
    <thetext>Created attachment 226668
patch merges conflicts with TOT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990598</commentid>
    <comment_count>15</comment_count>
      <attachid>226668</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-14 12:11:24 -0700</bug_when>
    <thetext>Comment on attachment 226668
patch merges conflicts with TOT

Clearing flags on attachment: 226668

Committed r165633: &lt;http://trac.webkit.org/changeset/165633&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990599</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-14 12:11:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990610</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-03-14 12:38:19 -0700</bug_when>
    <thetext>inspector-protocol/dom/getAccessibilityPropertiesForNode.html fails on Mavericks (at least):

http://build.webkit.org/results/Apple%20Mavericks%20Release%20WK1%20(Tests)/r165633%20(4257)/inspector-protocol/dom/getAccessibilityPropertiesForNode-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990632</commentid>
    <comment_count>18</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 13:16:18 -0700</bug_when>
    <thetext>Bug 130259. Web Inspector: AXI: Suppress axParentNodeId entirely in getAccessibilityPropertiesForNode.html b/c the int value isn&apos;t consistent enough for a layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990655</commentid>
    <comment_count>19</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-14 14:02:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/16322354&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990664</commentid>
    <comment_count>20</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-14 14:12:32 -0700</bug_when>
    <thetext>This test has been very flakey since it was added:

http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;revision=165633&amp;tests=inspector-protocol%2Fdom%2FgetAccessibilityPropertiesForNode.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>990667</commentid>
    <comment_count>21</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-03-14 14:18:35 -0700</bug_when>
    <thetext>Once again, beat to the punch by Alexey. :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226487</attachid>
            <date>2014-03-12 03:10:31 -0700</date>
            <delta_ts>2014-03-12 19:10:49 -0700</delta_ts>
            <desc>partial patch (AX parent working, no childnodes or test case yet)</desc>
            <filename>webkit129943.diff</filename>
            <type>text/plain</type>
            <size>7192</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cAkocmV2aXNpb24gMTY1NDYxKQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyMyw2ICsxNDIzLDcgQEAgUGFzc1Jl
ZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQogICAgIFN0cmluZyBpbnZhbGlkID0g
ImZhbHNlIjsgLy8gU3RyaW5nIHZhbHVlczogdHJ1ZSwgZmFsc2UsIHNwZWxsaW5nLCBncmFtbWFy
LCBldGMuCiAgICAgYm9vbCBoaWRkZW4gPSBmYWxzZTsKICAgICBTdHJpbmcgbGFiZWw7IC8vIEZJ
WE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93ZWJraXQub3JnL2IvMTIxMTM0CisgICAgTm9kZSogYXhQ
YXJlbnROb2RlID0gbm9kZTsKICAgICBib29sIHByZXNzZWQgPSBmYWxzZTsKICAgICBib29sIHJl
YWRvbmx5ID0gZmFsc2U7CiAgICAgYm9vbCByZXF1aXJlZCA9IGZhbHNlOwpAQCAtMTQ2MCw2ICsx
NDYxLDkgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBpZiAoYXhPYmplY3QtPmlzQVJJQUhpZGRlbigpIHx8IGF4T2Jq
ZWN0LT5pc0RPTUhpZGRlbigpKQogICAgICAgICAgICAgICAgIGhpZGRlbiA9IHRydWU7CisKKyAg
ICAgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXJlbnRPYmplY3QgPSBheE9iamVj
dC0+cGFyZW50T2JqZWN0VW5pZ25vcmVkKCkpCisgICAgICAgICAgICAgICAgYXhQYXJlbnROb2Rl
ID0gcGFyZW50T2JqZWN0LT5ub2RlKCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHN1cHBv
cnRzUHJlc3NlZCA9IGF4T2JqZWN0LT5hcmlhUHJlc3NlZElzUHJlc2VudCgpOwogICAgICAgICAg
ICAgaWYgKHN1cHBvcnRzUHJlc3NlZCkKQEAgLTE0OTgsNiArMTUwMiw4IEBAIFBhc3NSZWZQdHI8
VHlwZUJ1aWxkZXI6OkRPTTo6QWNjZXNzaWJpbGkKICAgICAgICAgICAgIHZhbHVlLT5zZXRJbnZh
bGlkKGludmFsaWQpOwogICAgICAgICBpZiAoaGlkZGVuKQogICAgICAgICAgICAgdmFsdWUtPnNl
dEhpZGRlbihoaWRkZW4pOworICAgICAgICBpZiAoYXhQYXJlbnROb2RlICYmIGF4UGFyZW50Tm9k
ZSAhPSBub2RlKQorICAgICAgICAgICAgdmFsdWUtPnNldEF4UGFyZW50Tm9kZUlkKHB1c2hOb2Rl
UGF0aFRvRnJvbnRlbmQoYXhQYXJlbnROb2RlKSk7CiAgICAgICAgIGlmIChzdXBwb3J0c1ByZXNz
ZWQpCiAgICAgICAgICAgICB2YWx1ZS0+c2V0UHJlc3NlZChwcmVzc2VkKTsKICAgICAgICAgaWYg
KHJlYWRvbmx5KQpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5q
c29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00u
anNvbgkocmV2aXNpb24gMTY1NDYxKQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL0RPTS5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBACiAgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmlsaXR5IHByb3Bl
cnRpZXMuIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAicHJv
cGVydGllcyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImF4UGFyZW50Tm9kZUlkIiwg
IiRyZWYiOiAiTm9kZUlkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIjxjb2Rl
PkRPTU5vZGU8L2NvZGU+IG9mIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgcGFyZW50IG9iamVjdCBp
ZCBpZiBhdmFpbGFibGUuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2hlY2tlZCIs
ICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJlbnVtIjogWyJ0cnVlIiwgImZh
bHNlIiwgIm1peGVkIl0sICJkZXNjcmlwdGlvbiI6ICJDaGVja2VkIHN0YXRlIG9mIGNlcnRhaW4g
Zm9ybSBjb250cm9scy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkaXNhYmxlZCIs
ICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRGlz
YWJsZWQgc3RhdGUgb2YgZm9ybSBjb250cm9scy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJleGlzdHMiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIkluZGljYXRl
cyB3aGV0aGVyIHRoZXJlIGlzIGFuIGV4aXN0aW5nIEFYIG9iamVjdCBmb3IgdGhlIERPTSBub2Rl
LiBJZiB0aGlzIGlzIGZhbHNlLCBhbGwgdGhlIG90aGVyIHByb3BlcnRpZXMgd2lsbCBiZSBkZWZh
dWx0IHZhbHVlcy4iIH0sCkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9u
cy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMJKHJl
dmlzaW9uIDE2NTQ2MSkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2Vu
Lmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDcg
QEAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBBAHUAdABvAG0AYQB0AGkA
YwBhAGwAbAB5ACAAYwBvAG4AdABpAG4AdQBlACAAYQBmAHQAZQByACAAZQB2AGEAbAB1AGEAdABp
AG4AZwAiAF0AIAA9ACAAIgBBAHUAdABvAG0AYQB0AGkAYwBhAGwAbAB5ACAAYwBvAG4AdABpAG4A
dQBlACAAYQBmAHQAZQByACAAZQB2AGEAbAB1AGEAdABpAG4AZwAiADsACiAAbABvAGMAYQBsAGkA
egBlAGQAUwB0AHIAaQBuAGcAcwBbACIAQQB2AGUAcgBhAGcAZQAiAF0AIAA9ACAAIgBBAHYAZQBy
AGEAZwBlACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBBAHYAZQBy
AGEAZwBlACAAVABpAG0AZQAiAF0AIAA9ACAAIgBBAHYAZQByAGEAZwBlACAAVABpAG0AZQAiADsA
CisAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAQQBYACAAUABhAHIAZQBuAHQA
IgBdACAAPQAgACIAQQBYACAAUABhAHIAZQBuAHQAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMA
dAByAGkAbgBnAHMAWwAiAEIAYQBjAGsAIAAoACUAcwApACIAXQAgAD0AIAAiAEIAYQBjAGsAIAAo
ACUAcwApACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBCAG8AdQBu
AGQAYQByAHkAIgBdACAAPQAgACIAQgBvAHUAbgBkAGEAcgB5ACIAOwAKIABsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBCAG8AeAAgAE0AbwBkAGUAbAAiAF0AIAA9ACAAIgBCAG8A
eAAgAE0AbwBkAGUAbAAiADsACkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvRE9NTm9kZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZS5qcwkocmV2aXNpb24gMTY1NDYxKQorKysg
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMJKHdv
cmtpbmcgY29weSkKQEAgLTQ0Nyw2ICs0NDcsNyBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICghZXJyb3IgJiYgY2FsbGJhY2sg
JiYgYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIHsKICAgICAgICAgICAgICAgICBjYWxsYmFjayh7
CisgICAgICAgICAgICAgICAgICAgIGF4UGFyZW50Tm9kZUlkOiBhY2Nlc3NpYmlsaXR5UHJvcGVy
dGllcy5heFBhcmVudE5vZGVJZCwKICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogYWNjZXNz
aWJpbGl0eVByb3BlcnRpZXMuY2hlY2tlZCwKICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6
IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmRpc2FibGVkLAogICAgICAgICAgICAgICAgICAgICBl
eGlzdHM6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmV4aXN0cywKSW5kZXg6IFNvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVs
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCShyZXZpc2lvbiAxNjU0NjEpCisrKyBT
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBXZWJJbnNwZWN0
b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgCiAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5v
ZGVJZ25vcmVkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIklnbm9yZWQiKSk7CiAgICAgdGhpcy5fYWNjZXNzaWJpbGl0
eU5vZGVJbnZhbGlkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJv
dyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkludmFsaWQiKSk7CiAgICAgdGhpcy5fYWNjZXNzaWJp
bGl0eU5vZGVMYWJlbFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVS
b3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYWJlbCIpKTsKKyAgICB0aGlzLl9hY2Nlc3NpYmls
aXR5Tm9kZVBhcmVudFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVS
b3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBWCBQYXJlbnQiKSk7CiAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVQcmVzc2VkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNp
bXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlByZXNzZWQiKSk7CiAgICAgdGhpcy5fYWNj
ZXNzaWJpbGl0eU5vZGVSZWFkb25seVJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rp
b25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZWFkb25seSIpKTsKICAgICB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZVJlcXVpcmVkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxz
U2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlcXVpcmVkIikpOwpAQCAt
MzAxLDYgKzMwMiw5IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC4K
ICAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYgbGFiZWwgIT09IGRvbU5vZGUuZ2V0QXR0cmli
dXRlKCJhcmlhLWxhYmVsIikpCiAgICAgICAgICAgICAgICAgICAgIGxhYmVsID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KGxhYmVsKTsKIAorICAgICAgICAg
ICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5heFBhcmVudE5vZGVJZCAhPT0gdW5k
ZWZpbmVkKQorICAgICAgICAgICAgICAgICAgICB2YXIgYXhQYXJlbnROb2RlID0gV2ViSW5zcGVj
dG9yLmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5heFBh
cmVudE5vZGVJZCk7CisKICAgICAgICAgICAgICAgICB2YXIgcHJlc3NlZCA9IGJvb2xlYW5WYWx1
ZVRvTG9jYWxpemVkU3RyaW5nSWZQcm9wZXJ0eURlZmluZWQoInByZXNzZWQiKTsKICAgICAgICAg
ICAgICAgICB2YXIgcmVhZG9ubHkgPSBib29sZWFuVmFsdWVUb0xvY2FsaXplZFN0cmluZ0lmVHJ1
ZSgicmVhZG9ubHkiKTsKICAgICAgICAgICAgICAgICB2YXIgcmVxdWlyZWQgPSBib29sZWFuVmFs
dWVUb0xvY2FsaXplZFN0cmluZ0lmUHJvcGVydHlEZWZpbmVkKCJyZXF1aXJlZCIpOwpAQCAtMzI0
LDYgKzMyOCw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC4KICAg
ICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cudmFsdWUgPSBp
Z25vcmVkOwogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJv
dy52YWx1ZSA9IGludmFsaWQ7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5v
ZGVMYWJlbFJvdy52YWx1ZSA9IGxhYmVsOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2li
aWxpdHlOb2RlUGFyZW50Um93LnZhbHVlID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2RlUmVmZXJl
bmNlKGF4UGFyZW50Tm9kZSk7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5v
ZGVQcmVzc2VkUm93LnZhbHVlID0gcHJlc3NlZDsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nl
c3NpYmlsaXR5Tm9kZVJlYWRvbmx5Um93LnZhbHVlID0gcmVhZG9ubHk7CiAgICAgICAgICAgICAg
ICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSZXF1aXJlZFJvdy52YWx1ZSA9IHJlcXVpcmVkOwpA
QCAtMzM3LDYgKzM0Miw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5l
bC4KICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93
LAogICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3csCiAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3csCisgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUGFyZW50Um93LAogCiAgICAg
ICAgICAgICAgICAgICAgIC8vIFByb3BlcnRpZXMgZXhwb3NlZCBmb3IgYWxsIGlucHV0LXR5cGUg
ZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlRGlz
YWJsZWRSb3csCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226567</attachid>
            <date>2014-03-12 19:10:49 -0700</date>
            <delta_ts>2014-03-13 01:55:38 -0700</delta_ts>
            <desc>patch v2</desc>
            <filename>webkit129943.diff</filename>
            <type>text/plain</type>
            <size>16059</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cAkocmV2aXNpb24gMTY1NDYxKQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMxNCw2ICsxMzE0LDE2IEBAIFBhc3NS
ZWZQdHI8SW5zcGVjdG9yOjpUeXBlQnVpbGRlcjo6RE9NOjoKICAgICAgICAgdmFsdWUtPnNldE5h
bWUoYXR0cmlidXRlLT5uYW1lKCkpOwogICAgICAgICB2YWx1ZS0+c2V0VmFsdWUoYXR0cmlidXRl
LT52YWx1ZSgpKTsKICAgICB9CisKKyAgICAvLyBOZWVkIHRvIGVuYWJsZSBBWCB0byBnZXQgdGhl
IGNvbXB1dGVkIHJvbGUuCisgICAgaWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3Np
YmlsaXR5RW5hYmxlZCgpKQorICAgICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjplbmFibGVB
Y2Nlc3NpYmlsaXR5KCk7CisKKyAgICBpZiAoQVhPYmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSA9
IG5vZGUtPmRvY3VtZW50KCkuYXhPYmplY3RDYWNoZSgpKSB7CisgICAgICAgIGlmIChBY2Nlc3Np
YmlsaXR5T2JqZWN0KiBheE9iamVjdCA9IGF4T2JqZWN0Q2FjaGUtPmdldE9yQ3JlYXRlKG5vZGUp
KQorICAgICAgICAgICAgdmFsdWUtPnNldFJvbGUoYXhPYmplY3QtPmNvbXB1dGVkUm9sZVN0cmlu
ZygpKTsKKyAgICB9CisKICAgICByZXR1cm4gdmFsdWUucmVsZWFzZSgpOwogfQogCkBAIC0xNDIz
LDYgKzE0MzMsNyBAQCBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpCiAg
ICAgU3RyaW5nIGludmFsaWQgPSAiZmFsc2UiOyAvLyBTdHJpbmcgdmFsdWVzOiB0cnVlLCBmYWxz
ZSwgc3BlbGxpbmcsIGdyYW1tYXIsIGV0Yy4KICAgICBib29sIGhpZGRlbiA9IGZhbHNlOwogICAg
IFN0cmluZyBsYWJlbDsgLy8gRklYTUU6IFdhaXRpbmcgb24gaHR0cDovL3dlYmtpdC5vcmcvYi8x
MjExMzQKKyAgICBOb2RlKiBheFBhcmVudE5vZGUgPSBub2RlOwogICAgIGJvb2wgcHJlc3NlZCA9
IGZhbHNlOwogICAgIGJvb2wgcmVhZG9ubHkgPSBmYWxzZTsKICAgICBib29sIHJlcXVpcmVkID0g
ZmFsc2U7CkBAIC0xNDYwLDYgKzE0NzEsOSBAQCBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpET006
OkFjY2Vzc2liaWxpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIGlmIChheE9iamVjdC0+aXNB
UklBSGlkZGVuKCkgfHwgYXhPYmplY3QtPmlzRE9NSGlkZGVuKCkpCiAgICAgICAgICAgICAgICAg
aGlkZGVuID0gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIHBh
cmVudE9iamVjdCA9IGF4T2JqZWN0LT5wYXJlbnRPYmplY3RVbmlnbm9yZWQoKSkKKyAgICAgICAg
ICAgICAgICBheFBhcmVudE5vZGUgPSBwYXJlbnRPYmplY3QtPm5vZGUoKTsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgc3VwcG9ydHNQcmVzc2VkID0gYXhPYmplY3QtPmFyaWFQcmVzc2VkSXNQ
cmVzZW50KCk7CiAgICAgICAgICAgICBpZiAoc3VwcG9ydHNQcmVzc2VkKQpAQCAtMTQ5OCw2ICsx
NTEyLDggQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQogICAgICAg
ICAgICAgdmFsdWUtPnNldEludmFsaWQoaW52YWxpZCk7CiAgICAgICAgIGlmIChoaWRkZW4pCiAg
ICAgICAgICAgICB2YWx1ZS0+c2V0SGlkZGVuKGhpZGRlbik7CisgICAgICAgIGlmIChheFBhcmVu
dE5vZGUgJiYgYXhQYXJlbnROb2RlICE9IG5vZGUpCisgICAgICAgICAgICB2YWx1ZS0+c2V0QXhQ
YXJlbnROb2RlSWQocHVzaE5vZGVQYXRoVG9Gcm9udGVuZChheFBhcmVudE5vZGUpKTsKICAgICAg
ICAgaWYgKHN1cHBvcnRzUHJlc3NlZCkKICAgICAgICAgICAgIHZhbHVlLT5zZXRQcmVzc2VkKHBy
ZXNzZWQpOwogICAgICAgICBpZiAocmVhZG9ubHkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCShyZXZpc2lvbiAxNjU0NjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTM1LDcg
KzM1LDggQEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImZyYW1lSWQiLCAiJHJlZiI6ICJO
ZXR3b3JrLkZyYW1lSWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRnJhbWUg
SUQgZm9yIGZyYW1lIG93bmVyIGVsZW1lbnRzLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImNvbnRlbnREb2N1bWVudCIsICIkcmVmIjogIk5vZGUiLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiQ29udGVudCBkb2N1bWVudCBmb3IgZnJhbWUgb3duZXIgZWxlbWVudHMu
IiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2hhZG93Um9vdHMiLCAidHlwZSI6ICJh
cnJheSIsICJvcHRpb25hbCI6IHRydWUsICJpdGVtcyI6IHsgIiRyZWYiOiAiTm9kZSIgfSwgImRl
c2NyaXB0aW9uIjogIlNoYWRvdyByb290IGxpc3QgZm9yIGdpdmVuIGVsZW1lbnQgaG9zdC4iIH0s
Ci0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZW1wbGF0ZUNvbnRlbnQiLCAiJHJlZiI6ICJO
b2RlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbnRlbnQgZG9jdW1lbnQg
ZnJhZ21lbnQgZm9yIHRlbXBsYXRlIGVsZW1lbnRzIiB9CisgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJ0ZW1wbGF0ZUNvbnRlbnQiLCAiJHJlZiI6ICJOb2RlIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImRlc2NyaXB0aW9uIjogIkNvbnRlbnQgZG9jdW1lbnQgZnJhZ21lbnQgZm9yIHRlbXBsYXRlIGVs
ZW1lbnRzIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicm9sZSIsICJ0eXBlIjogInN0
cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb21wdXRlZCB2YWx1ZSBm
b3IgZmlyc3QgcmVjb2duaXplZCByb2xlIHRva2VuLCBkZWZhdWx0IHJvbGUgcGVyIGVsZW1lbnQs
IG9yIG92ZXJyaWRkZW4gcm9sZS4iIH0KICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRE9NIGludGVyYWN0aW9uIGlzIGltcGxlbWVudGVkIGluIHRlcm1zIG9mIG1p
cnJvciBvYmplY3RzIHRoYXQgcmVwcmVzZW50IHRoZSBhY3R1YWwgRE9NIG5vZGVzLiBET01Ob2Rl
IGlzIGEgYmFzZSBub2RlIG1pcnJvciB0eXBlLiIKICAgICAgICAgfSwKQEAgLTU5LDYgKzYwLDcg
QEAKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIHN0cnVjdHVyZSBob2xkaW5nIGFjY2Vz
c2liaWxpdHkgcHJvcGVydGllcy4iLAogICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAg
ICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYXhQ
YXJlbnROb2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3Jp
cHRpb24iOiAiPGNvZGU+RE9NTm9kZTwvY29kZT4gb2YgdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSBw
YXJlbnQgb2JqZWN0IGlkIGlmIGF2YWlsYWJsZS4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJjaGVja2VkIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImVudW0i
OiBbInRydWUiLCAiZmFsc2UiLCAibWl4ZWQiXSwgImRlc2NyaXB0aW9uIjogIkNoZWNrZWQgc3Rh
dGUgb2YgY2VydGFpbiBmb3JtIGNvbnRyb2xzLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImRpc2FibGVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJEaXNhYmxlZCBzdGF0ZSBvZiBmb3JtIGNvbnRyb2xzLiIgfSwKICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImV4aXN0cyIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRp
b24iOiAiSW5kaWNhdGVzIHdoZXRoZXIgdGhlcmUgaXMgYW4gZXhpc3RpbmcgQVggb2JqZWN0IGZv
ciB0aGUgRE9NIG5vZGUuIElmIHRoaXMgaXMgZmFsc2UsIGFsbCB0aGUgb3RoZXIgcHJvcGVydGll
cyB3aWxsIGJlIGRlZmF1bHQgdmFsdWVzLiIgfSwKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwkocmV2aXNpb24gMTY1NDYxKQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0xv
Y2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMjk4LDYgKzI5OCw3IEBACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIA
UABhAGcAZQAgAEkAcwBzAHUAZQAiAF0AIAA9ACAAIgBQAGEAZwBlACAASQBzAHMAdQBlACIAOwAK
IABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGEAaQBuAHQAIgBdACAAPQAg
ACIAUABhAGkAbgB0ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQ
AGEAaQBuAHQAcwAiAF0AIAA9ACAAIgBQAGEAaQBuAHQAcwAiADsACisAbABvAGMAYQBsAGkAegBl
AGQAUwB0AHIAaQBuAGcAcwBbACIAUABhAHIAZQBuAHQAIgBdACAAPQAgACIAUABhAHIAZQBuAHQA
IgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFAAYQB0AGgAIgBdACAA
PQAgACIAUABhAHQAaAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIA
UABhAHUAcwBlACAAcwBjAHIAaQBwAHQAIABlAHgAZQBjAHUAdABpAG8AbgAgACgAJQBzACAAbwBy
ACAAJQBzACkAIgBdACAAPQAgACIAUABhAHUAcwBlACAAcwBjAHIAaQBwAHQAIABlAHgAZQBjAHUA
dABpAG8AbgAgACgAJQBzACAAbwByACAAJQBzACkAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMA
dAByAGkAbgBnAHMAWwAiAFAAbABhAHkAIABTAG8AdQBuAGQAIgBdACAAPQAgACIAUABsAGEAeQAg
AFMAbwB1AG4AZAAiADsACkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL0RPTVV0aWxpdGllcy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qcwkocmV2aXNpb24gMTY1NDYxKQor
KysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMu
anMJKHdvcmtpbmcgY29weSkKQEAgLTU2LDE3ICs1NiwzMSBAQCBXZWJJbnNwZWN0b3IuZGlzcGxh
eU5hbWVGb3JOb2RlID0gZnVuY3RpCiAgICAgICAgIH0KICAgICB9CiAKKyAgICB0aXRsZSArPSBX
ZWJJbnNwZWN0b3Iucm9sZVNlbGVjdG9yRm9yTm9kZShub2RlKTsKICAgICByZXR1cm4gdGl0bGU7
CiB9CiAKLVdlYkluc3BlY3Rvci5saW5raWZ5Tm9kZVJlZmVyZW5jZSA9IGZ1bmN0aW9uKG5vZGUp
CitXZWJJbnNwZWN0b3Iucm9sZVNlbGVjdG9yRm9yTm9kZSA9IGZ1bmN0aW9uKG5vZGUpCiB7Ci0g
ICAgdmFyIGRpc3BsYXlOYW1lID0gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yTm9kZShub2Rl
KTsKKyAgICAvLyBUaGlzIGlzIHByb3Bvc2VkIHN5bnRheCBmb3IgdGhlIENTUyA0IHJvbGUgc2Vs
ZWN0b3IgOnJvbGUoZm9vKSBhbmQgc3ViamVjdCB0byBjaGFuZ2UuCisgICAgLy8gU2VlIGh0dHA6
Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGljL3d3dy1zdHlsZS8yMDEzSnVsLzAxMDQuaHRt
bAorICAgIHZhciB0aXRsZSA9ICIiOworICAgIHZhciByb2xlID0gbm9kZS5jb21wdXRlZFJvbGUo
KTsKKyAgICBpZiAocm9sZSkKKyAgICAgICAgdGl0bGUgPSAiOnJvbGUoIiArIHJvbGUgKyAiKSI7
CisgICAgcmV0dXJuIHRpdGxlOworfQogCitXZWJJbnNwZWN0b3IubGlua2lmeU5vZGVSZWZlcmVu
Y2UgPSBmdW5jdGlvbihub2RlLCBvcHREaXNwbGF5QXNSb2xlKQoreworICAgIHZhciBzZWxlY3Rv
ciA9IFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvck5vZGUobm9kZSk7CisgICAgdmFyIHJvbGUg
PSBub2RlLmNvbXB1dGVkUm9sZSgpOworICAgIHZhciBkaXNwbGF5TmFtZSA9IG9wdERpc3BsYXlB
c1JvbGUgJiYgcm9sZSA/IHJvbGUgOiBzZWxlY3RvcjsKICAgICB2YXIgbGluayA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgICBsaW5rLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKGRpc3BsYXlOYW1lKSk7CisgICAgbGluay5zZXRBdHRyaWJ1dGUoInJvbGUi
LCAibGluayIpOwogICAgIGxpbmsuY2xhc3NOYW1lID0gIm5vZGUtbGluayI7Ci0gICAgbGluay50
aXRsZSA9IGRpc3BsYXlOYW1lOworICAgIGxpbmsudGl0bGUgPSBzZWxlY3RvcjsKIAogICAgIGxp
bmsuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIu
aW5zcGVjdEVsZW1lbnQuYmluZChXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIsIG5vZGUuaWQp
KTsKICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsIFdlYkluc3BlY3Rvci5k
b21UcmVlTWFuYWdlci5oaWdobGlnaHRET01Ob2RlLmJpbmQoV2ViSW5zcGVjdG9yLmRvbVRyZWVN
YW5hZ2VyLCBub2RlLmlkLCAiIikpOwpJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMJKHJldmlzaW9uIDE2NTQ2MSkK
KysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpz
CSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlID0g
ZnVuY3Rpb24oZG9tQWdlbnQKICAgICB0aGlzLl9ub2RlTmFtZSA9IHBheWxvYWQubm9kZU5hbWU7
CiAgICAgdGhpcy5fbG9jYWxOYW1lID0gcGF5bG9hZC5sb2NhbE5hbWU7CiAgICAgdGhpcy5fbm9k
ZVZhbHVlID0gcGF5bG9hZC5ub2RlVmFsdWU7CisgICAgdGhpcy5fY29tcHV0ZWRSb2xlID0gcGF5
bG9hZC5yb2xlOwogCiAgICAgaWYgKHRoaXMuX25vZGVUeXBlID09PSBOb2RlLkRPQ1VNRU5UX05P
REUpCiAgICAgICAgIHRoaXMub3duZXJEb2N1bWVudCA9IHRoaXM7CkBAIC0yMDYsNiArMjA3LDE0
IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICB9LAogICAgIAogICAg
IC8qKgorICAgICAqIEByZXR1cm4ge3N0cmluZ30KKyAgICAgKi8KKyAgICBjb21wdXRlZFJvbGU6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9jb21wdXRlZFJvbGU7Cisg
ICAgfSwKKworICAgIC8qKgogICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgICovCiAgICAg
aGFzQXR0cmlidXRlczogZnVuY3Rpb24oKQpAQCAtNDQ3LDYgKzQ1Niw3IEBAIFdlYkluc3BlY3Rv
ci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFlcnJv
ciAmJiBjYWxsYmFjayAmJiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcykgewogICAgICAgICAgICAg
ICAgIGNhbGxiYWNrKHsKKyAgICAgICAgICAgICAgICAgICAgYXhQYXJlbnROb2RlSWQ6IGFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzLmF4UGFyZW50Tm9kZUlkLAogICAgICAgICAgICAgICAgICAgICBj
aGVja2VkOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5jaGVja2VkLAogICAgICAgICAgICAgICAg
ICAgICBkaXNhYmxlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuZGlzYWJsZWQsCiAgICAgICAg
ICAgICAgICAgICAgIGV4aXN0czogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuZXhpc3RzLApJbmRl
eDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFp
bHNTaWRlYmFyUGFuZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMJKHJldmlzaW9u
IDE2NTQ2MSkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RP
TU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3
IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCAKICAgICB0aGlzLl9h
Y2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSWdub3JlZCIpKTsKICAgICB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNT
ZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZCIpKTsKICAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxz
U2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxhYmVsIikpOworICAgIHRo
aXMuX2FjY2Vzc2liaWxpdHlOb2RlUGFyZW50Um93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxz
U2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhcmVudCIpKTsKICAgICB0
aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVByZXNzZWRSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUHJlc3NlZCIpKTsKICAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJlYWRvbmx5Um93ID0gbmV3IFdlYkluc3BlY3Rvci5E
ZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlYWRvbmx5Iikp
OwogICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cgPSBuZXcgV2ViSW5zcGVj
dG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVxdWly
ZWQiKSk7CkBAIC0zMDEsNiArMzAyLDEwIEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbC4KICAgICAgICAgICAgICAgICBpZiAobGFiZWwgJiYgbGFiZWwgIT09IGRvbU5v
ZGUuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIikpCiAgICAgICAgICAgICAgICAgICAgIGxhYmVs
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAoY29tcHV0ZWQpIikuZm9ybWF0KGxhYmVsKTsK
IAorICAgICAgICAgICAgICAgIHZhciBheFBhcmVudE5vZGUgPSAiIjsKKyAgICAgICAgICAgICAg
ICBpZiAoYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQgIT09IHVuZGVmaW5l
ZCkKKyAgICAgICAgICAgICAgICAgICAgYXhQYXJlbnROb2RlID0gV2ViSW5zcGVjdG9yLmxpbmtp
ZnlOb2RlUmVmZXJlbmNlKFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQoYWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQpLCB0cnVlKTsKKwogICAgICAgICAg
ICAgICAgIHZhciBwcmVzc2VkID0gYm9vbGVhblZhbHVlVG9Mb2NhbGl6ZWRTdHJpbmdJZlByb3Bl
cnR5RGVmaW5lZCgicHJlc3NlZCIpOwogICAgICAgICAgICAgICAgIHZhciByZWFkb25seSA9IGJv
b2xlYW5WYWx1ZVRvTG9jYWxpemVkU3RyaW5nSWZUcnVlKCJyZWFkb25seSIpOwogICAgICAgICAg
ICAgICAgIHZhciByZXF1aXJlZCA9IGJvb2xlYW5WYWx1ZVRvTG9jYWxpemVkU3RyaW5nSWZQcm9w
ZXJ0eURlZmluZWQoInJlcXVpcmVkIik7CkBAIC0zMjQsNiArMzI5LDcgQEAgV2ViSW5zcGVjdG9y
LkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLgogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vz
c2liaWxpdHlOb2RlSWdub3JlZFJvdy52YWx1ZSA9IGlnbm9yZWQ7CiAgICAgICAgICAgICAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJbnZhbGlkUm93LnZhbHVlID0gaW52YWxpZDsKICAgICAg
ICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93LnZhbHVlID0gbGFiZWw7
CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVQYXJlbnRSb3cudmFsdWUg
PSBheFBhcmVudE5vZGU7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVQ
cmVzc2VkUm93LnZhbHVlID0gcHJlc3NlZDsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3Np
YmlsaXR5Tm9kZVJlYWRvbmx5Um93LnZhbHVlID0gcmVhZG9ubHk7CiAgICAgICAgICAgICAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSZXF1aXJlZFJvdy52YWx1ZSA9IHJlcXVpcmVkOwpAQCAt
MzM3LDYgKzM0Myw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC4K
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LAog
ICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3csCiAgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3csCisgICAgICAg
ICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUGFyZW50Um93LAogCiAgICAgICAg
ICAgICAgICAgICAgIC8vIFByb3BlcnRpZXMgZXhwb3NlZCBmb3IgYWxsIGlucHV0LXR5cGUgZWxl
bWVudHMuCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlRGlzYWJs
ZWRSb3csCkluZGV4OiBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGll
c0Zvck5vZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNjU0NjEpCisrKyBMYXlvdXRUZXN0cy9p
bnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTcsMzMgKzcsMzkgQEAgVG90YWwgZWxlbWVu
dHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBsYWJlbDogCiAgICAgcm9sZTogdHJlZWl0ZW0KICAg
ICBleHBhbmRlZDogZmFsc2UKKyAgICBheFBhcmVudE5vZGVJZDogODIKIAogPGxpIHJvbGU9InRy
ZWVpdGVtIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIj5leHBhbmRlZDwvbGk+CiAgICAgZXhpc3RzOiB0
cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHRyZWVpdGVtCiAgICAgZXhwYW5kZWQ6IHRydWUK
KyAgICBheFBhcmVudE5vZGVJZDogODIKIAogPGRpdiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0ZWQ9
ImZhbHNlIj5ub3Qgc2VsZWN0ZWQ8L2Rpdj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDog
CiAgICAgcm9sZTogdGFiCisgICAgYXhQYXJlbnROb2RlSWQ6IDgxCiAKIDxkaXYgcm9sZT0idGFi
IiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj5zZWxlY3RlZDwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQog
ICAgIGxhYmVsOiAKICAgICByb2xlOiB0YWIKKyAgICBheFBhcmVudE5vZGVJZDogODEKICAgICBz
ZWxlY3RlZDogdHJ1ZQogCiA8ZGl2IHJvbGU9Im9wdGlvbiIgYXJpYS1zZWxlY3RlZD0iZmFsc2Ui
Pm5vdCBzZWxlY3RlZDwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICBy
b2xlOiBvcHRpb24KKyAgICBheFBhcmVudE5vZGVJZDogODAKIAogPGRpdiByb2xlPSJvcHRpb24i
IGFyaWEtc2VsZWN0ZWQ9InRydWUiPnNlbGVjdGVkPC9kaXY+CiAgICAgZXhpc3RzOiB0cnVlCiAg
ICAgbGFiZWw6IAogICAgIHJvbGU6IG9wdGlvbgorICAgIGF4UGFyZW50Tm9kZUlkOiA4MAogICAg
IHNlbGVjdGVkOiB0cnVlCiAKIDxvcHRpb24+bm90IHNlbGVjdGVkPC9vcHRpb24+CkBAIC05NSw2
ICsxMDEsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGxhYmVsOiAK
ICAgICByb2xlOiByYWRpbwogICAgIGNoZWNrZWQ6IGZhbHNlCisgICAgYXhQYXJlbnROb2RlSWQ6
IDEKICAgICByZXF1aXJlZDogZmFsc2UKIAogPGRpdiByb2xlPSJyYWRpbyIgYXJpYS1jaGVja2Vk
PSJtaXhlZCI+dW5jaGVja2VkIFtzaWNdIG1peGVkIHN0YXRlIHdpbGwgbm90IGJlIGV4cG9zZWQg
b24gcmFkaW9zIHBlciBBUklBIHNwZWMuPC9kaXY+CkBAIC0xMDIsNiArMTA5LDcgQEAgVG90YWwg
ZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBsYWJlbDogCiAgICAgcm9sZTogcmFkaW8K
ICAgICBjaGVja2VkOiBmYWxzZQorICAgIGF4UGFyZW50Tm9kZUlkOiAxCiAgICAgcmVxdWlyZWQ6
IGZhbHNlCiAKIDxkaXYgcm9sZT0icmFkaW8iIGFyaWEtY2hlY2tlZD0idHJ1ZSI+Y2hlY2tlZDwv
ZGl2PgpAQCAtMTA5LDYgKzExNyw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAu
CiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHJhZGlvCiAgICAgY2hlY2tlZDogdHJ1ZQorICAgIGF4
UGFyZW50Tm9kZUlkOiAxCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKIDxkaXYgcm9sZT0icmFkaW8i
PnVuY2hlY2tlZCAoY2hlY2tlZCB1bmRlZmluZWQgZXZhbHMgdG8gZmFsc2Ugb24gcmFkaW8pPC9k
aXY+CkBAIC0xMTYsNiArMTI1LDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4K
ICAgICBsYWJlbDogCiAgICAgcm9sZTogcmFkaW8KICAgICBjaGVja2VkOiBmYWxzZQorICAgIGF4
UGFyZW50Tm9kZUlkOiAxCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKIDxpbnB1dCB0eXBlPSJyYWRp
byIgY2hlY2tlZD0iIj4KQEAgLTEzNyw2ICsxNDcsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0
ZXN0ZWQ6IDUwLgogICAgIGxhYmVsOiAKICAgICByb2xlOiBjaGVja2JveAogICAgIGNoZWNrZWQ6
IGZhbHNlCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKICAgICByZXF1aXJlZDogZmFsc2UKIAogPGRp
diByb2xlPSJjaGVja2JveCIgYXJpYS1jaGVja2VkPSJtaXhlZCI+bWl4ZWQ8L2Rpdj4KQEAgLTE0
NCw2ICsxNTUsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGxhYmVs
OiAKICAgICByb2xlOiBjaGVja2JveAogICAgIGNoZWNrZWQ6IG1peGVkCisgICAgYXhQYXJlbnRO
b2RlSWQ6IDEKICAgICByZXF1aXJlZDogZmFsc2UKIAogPGRpdiByb2xlPSJjaGVja2JveCIgYXJp
YS1jaGVja2VkPSJ0cnVlIj5jaGVja2VkPC9kaXY+CkBAIC0xNTEsNiArMTYzLDcgQEAgVG90YWwg
ZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBsYWJlbDogCiAgICAgcm9sZTogY2hlY2ti
b3gKICAgICBjaGVja2VkOiB0cnVlCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKICAgICByZXF1aXJl
ZDogZmFsc2UKIAogPGRpdiByb2xlPSJjaGVja2JveCI+dW5jaGVja2VkIChjaGVja2VkIHVuZGVm
aW5lZCBldmFscyB0byBmYWxzZSBvbiBjaGVja2JveCk8L2Rpdj4KQEAgLTE1OCw2ICsxNzEsNyBA
QCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGxhYmVsOiAKICAgICByb2xl
OiBjaGVja2JveAogICAgIGNoZWNrZWQ6IGZhbHNlCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKICAg
ICByZXF1aXJlZDogZmFsc2UKIAogPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjaGVja2VkPSIiPgpA
QCAtMTc5LDYgKzE5Myw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAg
bGFiZWw6IAogICAgIHJvbGU6IAogICAgIGRpc2FibGVkOiB0cnVlCisgICAgYXhQYXJlbnROb2Rl
SWQ6IDEKICAgICByZWFkb25seTogdHJ1ZQogICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xOTMs
NiArMjA4LDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6
IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKICAg
ICByZWFkb25seTogdHJ1ZQogICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0yNDksNiArMjY1LDcg
QEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAg
ICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKICAgICBwcmVzc2Vk
OiBmYWxzZQogICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0yNTYsNiArMjczLDcgQEAgVG90YWwg
ZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDog
CiAgICAgcm9sZTogCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKICAgICBwcmVzc2VkOiBmYWxzZQog
ICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0yNjQsMTEgKzI4MiwxMyBAQCBUb3RhbCBlbGVtZW50
cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGxhYmVsOiAKICAgICByb2xlOiBidXR0b24KICAgICBk
aXNhYmxlZDogdHJ1ZQorICAgIGF4UGFyZW50Tm9kZUlkOiAxCiAKIDxkaXYgcm9sZT0iYnV0dG9u
IiB0YWJpbmRleD0iMCI+PC9kaXY+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAg
IHJvbGU6IGJ1dHRvbgorICAgIGF4UGFyZW50Tm9kZUlkOiAxCiAKIDxzcGFuIGFyaWEtaGlkZGVu
PSJ0cnVlIj48L3NwYW4+CiAgICAgZXhpc3RzOiB0cnVlCkBAIC0yNzcsNiArMjk3LDcgQEAgVG90
YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBpZ25vcmVkOiB0cnVlCiAgICAgaWdu
b3JlZEJ5RGVmYXVsdDogdHJ1ZQogICAgIGhpZGRlbjogdHJ1ZQorICAgIGF4UGFyZW50Tm9kZUlk
OiAxCiAKIDxzcGFuPjwvc3Bhbj4KICAgICBleGlzdHM6IHRydWUKQEAgLTI4NCw2ICszMDUsNyBA
QCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIHJvbGU6IAogICAgIGlnbm9y
ZWQ6IHRydWUKICAgICBpZ25vcmVkQnlEZWZhdWx0OiB0cnVlCisgICAgYXhQYXJlbnROb2RlSWQ6
IDEKIAogPGRpdiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgZXhpc3RzOiB0cnVlCkBA
IC0yOTIsMzAgKzMxNCwzNSBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAg
IGlnbm9yZWQ6IHRydWUKICAgICBpZ25vcmVkQnlEZWZhdWx0OiB0cnVlCiAgICAgaGlkZGVuOiB0
cnVlCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKIAogPGRpdj48L2Rpdj4KICAgICBleGlzdHM6IHRy
dWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCiAgICAgaWdub3JlZDogdHJ1ZQorICAgIGF4UGFy
ZW50Tm9kZUlkOiAxCiAKIDxkaXYgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2PjwvZGl2
PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBwcmVzZW50YXRpb24K
ICAgICBpZ25vcmVkOiB0cnVlCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKIAogPGRpdj48ZGl2Pjwv
ZGl2PjwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiAKICAg
ICBpZ25vcmVkOiB0cnVlCisgICAgYXhQYXJlbnROb2RlSWQ6IDEKIAogPHNjcmlwdCBzdHlsZT0i
ZGlzcGxheTpibG9jazsiPjwvc2NyaXB0PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAK
ICAgICByb2xlOiBncm91cAogICAgIGlnbm9yZWQ6IHRydWUKKyAgICBheFBhcmVudE5vZGVJZDog
MQogCiA8c2NyaXB0Pjwvc2NyaXB0PgogICAgIGV4aXN0czogZmFsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226585</attachid>
            <date>2014-03-13 01:55:38 -0700</date>
            <delta_ts>2014-03-13 02:21:17 -0700</delta_ts>
            <desc>patch (need to resolve conflicts with TOT)</desc>
            <filename>webkit129943.diff</filename>
            <type>text/plain</type>
            <size>24003</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAzLTEzICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJOiBF
eHBvc2UgQWNjZXNzaWJpbGl0eSBUcmVlIHBhcmVudCBvZiB0aGUgc2VsZWN0ZWQgbm9kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5OTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGluc3Bl
Y3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwK
KworICAgICAgICBXZWIgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3RvciBub3cgZGlzcGxheXMg
YSBsaW5rIHRvIHRoZSBBWCBwYXJlbnQgbm9kZSwKKyAgICAgICAgYmVjYXVzZSBpdCdzIG5vdCBh
IDE6MSBtYXRjaCB3aXRoIHRoZSBET01Ob2RlIHBhcmVudC4KKworICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHA6IFN1cHBvcnQgZm9yIERPTU5vZGUucm9sZSBhbmQgQWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQuCisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKTogU3VwcG9ydCBmb3Igcm9sZS4K
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzKTogU3VwcG9ydCBmb3IgYXhQYXJlbnROb2RlSWQuCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uOiBBZGRlZCBheFBhcmVudE5vZGVJZCBvbiBB
Y2Nlc3NpYmlsaXR5UHJvcGVydGllcywgYW5kIHJvbGUgb24gRE9NTm9kZS4KKwogMjAxNC0wMy0x
MiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgUmVwbGF5OiBh
ZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIG1lbW9pemluZyBub25kZXRlcm1pbmlzdGljIERPTSBBUElz
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAJKHJldmlzaW9uIDE2NTQ2MSkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTQsNiArMTMxNCwxNiBAQCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkRPTTo6CiAgICAgICAgIHZhbHVlLT5zZXRO
YW1lKGF0dHJpYnV0ZS0+bmFtZSgpKTsKICAgICAgICAgdmFsdWUtPnNldFZhbHVlKGF0dHJpYnV0
ZS0+dmFsdWUoKSk7CiAgICAgfQorCisgICAgLy8gTmVlZCB0byBlbmFibGUgQVggdG8gZ2V0IHRo
ZSBjb21wdXRlZCByb2xlLgorICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNz
aWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxl
QWNjZXNzaWJpbGl0eSgpOworCisgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUg
PSBub2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICBpZiAoQWNjZXNz
aWJpbGl0eU9iamVjdCogYXhPYmplY3QgPSBheE9iamVjdENhY2hlLT5nZXRPckNyZWF0ZShub2Rl
KSkKKyAgICAgICAgICAgIHZhbHVlLT5zZXRSb2xlKGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJp
bmcoKSk7CisgICAgfQorCiAgICAgcmV0dXJuIHZhbHVlLnJlbGVhc2UoKTsKIH0KIApAQCAtMTQy
Myw2ICsxNDMzLDcgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQog
ICAgIFN0cmluZyBpbnZhbGlkID0gImZhbHNlIjsgLy8gU3RyaW5nIHZhbHVlczogdHJ1ZSwgZmFs
c2UsIHNwZWxsaW5nLCBncmFtbWFyLCBldGMuCiAgICAgYm9vbCBoaWRkZW4gPSBmYWxzZTsKICAg
ICBTdHJpbmcgbGFiZWw7IC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTIxMTM0CisgICAgTm9kZSogYXhQYXJlbnROb2RlID0gbm9kZTsKICAgICBib29sIHByZXNzZWQg
PSBmYWxzZTsKICAgICBib29sIHJlYWRvbmx5ID0gZmFsc2U7CiAgICAgYm9vbCByZXF1aXJlZCA9
IGZhbHNlOwpAQCAtMTQzNiw2ICsxNDQ3LDkgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9N
OjpBY2Nlc3NpYmlsaQogICAgIGlmIChBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlID0gbm9k
ZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpIHsKICAgICAgICAgaWYgKEFjY2Vzc2liaWxp
dHlPYmplY3QqIGF4T2JqZWN0ID0gYXhPYmplY3RDYWNoZS0+Z2V0T3JDcmVhdGUobm9kZSkpIHsK
IAorICAgICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudE9iamVjdCA9IGF4
T2JqZWN0LT5wYXJlbnRPYmplY3RVbmlnbm9yZWQoKSkKKyAgICAgICAgICAgICAgICBheFBhcmVu
dE5vZGUgPSBwYXJlbnRPYmplY3QtPm5vZGUoKTsKKyAgICAgICAgICAgIAogICAgICAgICAgICAg
c3VwcG9ydHNDaGVja2VkID0gYXhPYmplY3QtPnN1cHBvcnRzQ2hlY2tlZCgpOwogICAgICAgICAg
ICAgaWYgKHN1cHBvcnRzQ2hlY2tlZCkgewogICAgICAgICAgICAgICAgIGludCBjaGVja1ZhbHVl
ID0gYXhPYmplY3QtPmNoZWNrYm94T3JSYWRpb1ZhbHVlKCk7IC8vIEVsZW1lbnQgdXNpbmcgYXJp
YS1jaGVja2VkLgpAQCAtMTQ4NCw2ICsxNDk4LDggQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6
RE9NOjpBY2Nlc3NpYmlsaQogICAgICAgICAuc2V0Tm9kZUlkKHB1c2hOb2RlUGF0aFRvRnJvbnRl
bmQobm9kZSkpOwogCiAgICAgaWYgKGV4aXN0cykgeworICAgICAgICBpZiAoYXhQYXJlbnROb2Rl
ICYmIGF4UGFyZW50Tm9kZSAhPSBub2RlKQorICAgICAgICAgICAgdmFsdWUtPnNldEF4UGFyZW50
Tm9kZUlkKHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQoYXhQYXJlbnROb2RlKSk7CiAgICAgICAgIGlm
IChzdXBwb3J0c0NoZWNrZWQpCiAgICAgICAgICAgICB2YWx1ZS0+c2V0Q2hlY2tlZChjaGVja2Vk
KTsKICAgICAgICAgaWYgKGRpc2FibGVkKQpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL0RPTS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9ET00uanNvbgkocmV2aXNpb24gMTY1NDYxKQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw4
IEBACiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAiTmV0d29y
ay5GcmFtZUlkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkZyYW1lIElEIGZv
ciBmcmFtZSBvd25lciBlbGVtZW50cy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJj
b250ZW50RG9jdW1lbnQiLCAiJHJlZiI6ICJOb2RlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIkNvbnRlbnQgZG9jdW1lbnQgZm9yIGZyYW1lIG93bmVyIGVsZW1lbnRzLiIgfSwK
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNoYWRvd1Jvb3RzIiwgInR5cGUiOiAiYXJyYXki
LCAib3B0aW9uYWwiOiB0cnVlLCAiaXRlbXMiOiB7ICIkcmVmIjogIk5vZGUiIH0sICJkZXNjcmlw
dGlvbiI6ICJTaGFkb3cgcm9vdCBsaXN0IGZvciBnaXZlbiBlbGVtZW50IGhvc3QuIiB9LAotICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidGVtcGxhdGVDb250ZW50IiwgIiRyZWYiOiAiTm9kZSIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb250ZW50IGRvY3VtZW50IGZyYWdt
ZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50cyIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dGVtcGxhdGVDb250ZW50IiwgIiRyZWYiOiAiTm9kZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJDb250ZW50IGRvY3VtZW50IGZyYWdtZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50
cyIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJvbGUiLCAidHlwZSI6ICJzdHJpbmci
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcHV0ZWQgdmFsdWUgZm9yIGZp
cnN0IHJlY29nbml6ZWQgcm9sZSB0b2tlbiwgZGVmYXVsdCByb2xlIHBlciBlbGVtZW50LCBvciBv
dmVycmlkZGVuIHJvbGUuIiB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkRPTSBpbnRlcmFjdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiB0ZXJtcyBvZiBtaXJyb3Ig
b2JqZWN0cyB0aGF0IHJlcHJlc2VudCB0aGUgYWN0dWFsIERPTSBub2Rlcy4gRE9NTm9kZSBpcyBh
IGJhc2Ugbm9kZSBtaXJyb3IgdHlwZS4iCiAgICAgICAgIH0sCkBAIC01OSw2ICs2MCw3IEBACiAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmls
aXR5IHByb3BlcnRpZXMuIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg
ICAgICAicHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImF4UGFyZW50
Tm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIjxjb2RlPkRPTU5vZGU8L2NvZGU+IG9mIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgcGFyZW50
IG9iamVjdCBpZCBpZiBhdmFpbGFibGUuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
Y2hlY2tlZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJlbnVtIjogWyJ0
cnVlIiwgImZhbHNlIiwgIm1peGVkIl0sICJkZXNjcmlwdGlvbiI6ICJDaGVja2VkIHN0YXRlIG9m
IGNlcnRhaW4gZm9ybSBjb250cm9scy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJk
aXNhYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRp
b24iOiAiRGlzYWJsZWQgc3RhdGUgb2YgZm9ybSBjb250cm9scy4iIH0sCiAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJleGlzdHMiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjog
IkluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGlzIGFuIGV4aXN0aW5nIEFYIG9iamVjdCBmb3IgdGhl
IERPTSBub2RlLiBJZiB0aGlzIGlzIGZhbHNlLCBhbGwgdGhlIG90aGVyIHByb3BlcnRpZXMgd2ls
bCBiZSBkZWZhdWx0IHZhbHVlcy4iIH0sCkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0wMy0xMyAgSmFtZXMgQ3JhaWcgIDxqY3Jh
aWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYSTogRXhwb3NlIEFjY2Vz
c2liaWxpdHkgVHJlZSBwYXJlbnQgb2YgdGhlIHNlbGVjdGVkIG5vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTk0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3ItcHJvdG9j
b2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCisKKyAgICAgICAg
V2ViIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3Igbm93IGRpc3BsYXlzIGEgbGluayB0byB0
aGUgQVggcGFyZW50IG5vZGUsCisgICAgICAgIGJlY2F1c2UgaXQncyBub3QgYSAxOjEgbWF0Y2gg
d2l0aCB0aGUgRE9NTm9kZSBwYXJlbnQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6IG5ldyAiUGFyZW50IiBzdHJpbmcuCisgICAgICAgICog
VXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qczogVXBkYXRpbmcgdGhlIGxpbmtpZnkg
YW5kIGRpc3BsYXlOYW1lIG1ldGhvZHMgdG8gaW5jbHVkZSByb2xlIHN1cHBvcnQuCisgICAgICAg
ICogVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZS5qczogQVggUEFyZW50IFN1cHBvcnQgYW5k
IGFkZGluZyByb2xlIHRvIERPTU5vZGUgKHdpbGwgYmUgZXhwb3NlZCBhcyBBWCBQYXJlbnQgbGlu
ayBhbmQgaW4gb3ZlcmxheXMpLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9k
ZURldGFpbHNTaWRlYmFyUGFuZWwuanM6IEFjY2Vzc2liaWxpdHkgcGFyZW50IG5vZGUuCisKIDIw
MTQtMDMtMTIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBbaU9TIDZdIHVuY2F1Z2h0IGV4Y2VwdGlvbiBhdHRlbXB0aW5nIHRv
IHVzZSBDU1NBZ2VudC5nZXROYW1lZEZsb3dDb2xsZWN0aW9uCkluZGV4OiBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMJKHJldmlzaW9uIDE2NTQ2MSkKKysrIFNvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTI5OCw2ICsyOTgsNyBAQAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBn
AHMAWwAiAFAAYQBnAGUAIABJAHMAcwB1AGUAIgBdACAAPQAgACIAUABhAGcAZQAgAEkAcwBzAHUA
ZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUABhAGkAbgB0ACIA
XQAgAD0AIAAiAFAAYQBpAG4AdAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcA
cwBbACIAUABhAGkAbgB0AHMAIgBdACAAPQAgACIAUABhAGkAbgB0AHMAIgA7AAorAGwAbwBjAGEA
bABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFAAYQByAGUAbgB0ACIAXQAgAD0AIAAiAFAAYQBy
AGUAbgB0ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGEAdABo
ACIAXQAgAD0AIAAiAFAAYQB0AGgAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBn
AHMAWwAiAFAAYQB1AHMAZQAgAHMAYwByAGkAcAB0ACAAZQB4AGUAYwB1AHQAaQBvAG4AIAAoACUA
cwAgAG8AcgAgACUAcwApACIAXQAgAD0AIAAiAFAAYQB1AHMAZQAgAHMAYwByAGkAcAB0ACAAZQB4
AGUAYwB1AHQAaQBvAG4AIAAoACUAcwAgAG8AcgAgACUAcwApACIAOwAKIABsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGwAYQB5ACAAUwBvAHUAbgBkACIAXQAgAD0AIAAiAFAA
bABhAHkAIABTAG8AdQBuAGQAIgA7AApJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMJKHJldmlzaW9uIDE2
NTQ2MSkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvRE9NVXRp
bGl0aWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01NiwxNyArNTYsMzEgQEAgV2ViSW5zcGVjdG9y
LmRpc3BsYXlOYW1lRm9yTm9kZSA9IGZ1bmN0aQogICAgICAgICB9CiAgICAgfQogCisgICAgdGl0
bGUgKz0gV2ViSW5zcGVjdG9yLnJvbGVTZWxlY3RvckZvck5vZGUobm9kZSk7CiAgICAgcmV0dXJu
IHRpdGxlOwogfQogCi1XZWJJbnNwZWN0b3IubGlua2lmeU5vZGVSZWZlcmVuY2UgPSBmdW5jdGlv
bihub2RlKQorV2ViSW5zcGVjdG9yLnJvbGVTZWxlY3RvckZvck5vZGUgPSBmdW5jdGlvbihub2Rl
KQogewotICAgIHZhciBkaXNwbGF5TmFtZSA9IFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvck5v
ZGUobm9kZSk7CisgICAgLy8gVGhpcyBpcyBwcm9wb3NlZCBzeW50YXggZm9yIHRoZSBDU1MgNCBy
b2xlIHNlbGVjdG9yIDpyb2xlKGZvbykgYW5kIHN1YmplY3QgdG8gY2hhbmdlLgorICAgIC8vIFNl
ZSBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctc3R5bGUvMjAxM0p1bC8w
MTA0Lmh0bWwKKyAgICB2YXIgdGl0bGUgPSAiIjsKKyAgICB2YXIgcm9sZSA9IG5vZGUuY29tcHV0
ZWRSb2xlKCk7CisgICAgaWYgKHJvbGUpCisgICAgICAgIHRpdGxlID0gIjpyb2xlKCIgKyByb2xl
ICsgIikiOworICAgIHJldHVybiB0aXRsZTsKK30KIAorV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2Rl
UmVmZXJlbmNlID0gZnVuY3Rpb24obm9kZSwgb3B0RGlzcGxheUFzUm9sZSkKK3sKKyAgICB2YXIg
c2VsZWN0b3IgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JOb2RlKG5vZGUpOworICAgIHZh
ciByb2xlID0gbm9kZS5jb21wdXRlZFJvbGUoKTsKKyAgICB2YXIgZGlzcGxheU5hbWUgPSBvcHRE
aXNwbGF5QXNSb2xlICYmIHJvbGUgPyByb2xlIDogc2VsZWN0b3I7CiAgICAgdmFyIGxpbmsgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgbGluay5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZShkaXNwbGF5TmFtZSkpOworICAgIGxpbmsuc2V0QXR0cmlidXRl
KCJyb2xlIiwgImxpbmsiKTsKICAgICBsaW5rLmNsYXNzTmFtZSA9ICJub2RlLWxpbmsiOwotICAg
IGxpbmsudGl0bGUgPSBkaXNwbGF5TmFtZTsKKyAgICBsaW5rLnRpdGxlID0gc2VsZWN0b3I7CiAK
ICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgV2ViSW5zcGVjdG9yLmRvbVRyZWVN
YW5hZ2VyLmluc3BlY3RFbGVtZW50LmJpbmQoV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLCBu
b2RlLmlkKSk7CiAgICAgbGluay5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBXZWJJbnNw
ZWN0b3IuZG9tVHJlZU1hbmFnZXIuaGlnaGxpZ2h0RE9NTm9kZS5iaW5kKFdlYkluc3BlY3Rvci5k
b21UcmVlTWFuYWdlciwgbm9kZS5pZCwgIiIpKTsKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCShyZXZpc2lvbiAx
NjU0NjEpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9N
Tm9kZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBXZWJJbnNwZWN0b3IuRE9N
Tm9kZSA9IGZ1bmN0aW9uKGRvbUFnZW50CiAgICAgdGhpcy5fbm9kZU5hbWUgPSBwYXlsb2FkLm5v
ZGVOYW1lOwogICAgIHRoaXMuX2xvY2FsTmFtZSA9IHBheWxvYWQubG9jYWxOYW1lOwogICAgIHRo
aXMuX25vZGVWYWx1ZSA9IHBheWxvYWQubm9kZVZhbHVlOworICAgIHRoaXMuX2NvbXB1dGVkUm9s
ZSA9IHBheWxvYWQucm9sZTsKIAogICAgIGlmICh0aGlzLl9ub2RlVHlwZSA9PT0gTm9kZS5ET0NV
TUVOVF9OT0RFKQogICAgICAgICB0aGlzLm93bmVyRG9jdW1lbnQgPSB0aGlzOwpAQCAtMjA2LDYg
KzIwNywxNCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgfSwKICAg
ICAKICAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICovCisgICAgY29tcHV0
ZWRSb2xlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fY29tcHV0ZWRS
b2xlOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICAq
LwogICAgIGhhc0F0dHJpYnV0ZXM6IGZ1bmN0aW9uKCkKQEAgLTQ0Nyw2ICs0NTYsNyBAQCBXZWJJ
bnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIGlm
ICghZXJyb3IgJiYgY2FsbGJhY2sgJiYgYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIHsKICAgICAg
ICAgICAgICAgICBjYWxsYmFjayh7CisgICAgICAgICAgICAgICAgICAgIGF4UGFyZW50Tm9kZUlk
OiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5heFBhcmVudE5vZGVJZCwKICAgICAgICAgICAgICAg
ICAgICAgY2hlY2tlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuY2hlY2tlZCwKICAgICAgICAg
ICAgICAgICAgICAgZGlzYWJsZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmRpc2FibGVkLAog
ICAgICAgICAgICAgICAgICAgICBleGlzdHM6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmV4aXN0
cywKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCShy
ZXZpc2lvbiAxNjU0NjEpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNTgs
NiArNTgsNyBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgCiAgICAg
dGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRh
aWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIklnbm9yZWQiKSk7CiAg
ICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJbnZhbGlkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5E
ZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkludmFsaWQiKSk7
CiAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVMYWJlbFJvdyA9IG5ldyBXZWJJbnNwZWN0b3Iu
RGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYWJlbCIpKTsK
KyAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVBhcmVudFJvdyA9IG5ldyBXZWJJbnNwZWN0b3Iu
RGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXJlbnQiKSk7
CiAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVQcmVzc2VkUm93ID0gbmV3IFdlYkluc3BlY3Rv
ci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlByZXNzZWQi
KSk7CiAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSZWFkb25seVJvdyA9IG5ldyBXZWJJbnNw
ZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZWFk
b25seSIpKTsKICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJlcXVpcmVkUm93ID0gbmV3IFdl
Ykluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlJlcXVpcmVkIikpOwpAQCAtMjcyLDYgKzI3MywxMCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURl
dGFpbHNTaWRlYmFyUGFuZWwuCiAKICAgICAgICAgICAgIGlmIChhY2Nlc3NpYmlsaXR5UHJvcGVy
dGllcyAmJiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5leGlzdHMpIHsKIAorICAgICAgICAgICAg
ICAgIHZhciBheFBhcmVudE5vZGUgPSAiIjsKKyAgICAgICAgICAgICAgICBpZiAoYWNjZXNzaWJp
bGl0eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQgIT09IHVuZGVmaW5lZCkKKyAgICAgICAgICAg
ICAgICAgICAgYXhQYXJlbnROb2RlID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2RlUmVmZXJlbmNl
KFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQoYWNjZXNzaWJpbGl0eVByb3Bl
cnRpZXMuYXhQYXJlbnROb2RlSWQpLCB0cnVlKTsKKwogICAgICAgICAgICAgICAgIHZhciBjaGVj
a2VkID0gIiI7CiAgICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmNo
ZWNrZWQgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoYWNjZXNzaWJp
bGl0eVByb3BlcnRpZXMuY2hlY2tlZCA9PT0gRE9NQWdlbnQuQWNjZXNzaWJpbGl0eVByb3BlcnRp
ZXNDaGVja2VkLlRydWUpCkBAIC0zMjQsNiArMzI5LDcgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsLgogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlSWdub3JlZFJvdy52YWx1ZSA9IGlnbm9yZWQ7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNj
ZXNzaWJpbGl0eU5vZGVJbnZhbGlkUm93LnZhbHVlID0gaW52YWxpZDsKICAgICAgICAgICAgICAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93LnZhbHVlID0gbGFiZWw7CisgICAgICAg
ICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVQYXJlbnRSb3cudmFsdWUgPSBheFBhcmVu
dE5vZGU7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVQcmVzc2VkUm93
LnZhbHVlID0gcHJlc3NlZDsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9k
ZVJlYWRvbmx5Um93LnZhbHVlID0gcmVhZG9ubHk7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNj
ZXNzaWJpbGl0eU5vZGVSZXF1aXJlZFJvdy52YWx1ZSA9IHJlcXVpcmVkOwpAQCAtMzM3LDYgKzM0
Myw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC4KICAgICAgICAg
ICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LAogICAgICAgICAg
ICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJvbGVSb3csCiAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3csCisgICAgICAgICAgICAgICAg
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUGFyZW50Um93LAogCiAgICAgICAgICAgICAgICAg
ICAgIC8vIFByb3BlcnRpZXMgZXhwb3NlZCBmb3IgYWxsIGlucHV0LXR5cGUgZWxlbWVudHMuCiAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlRGlzYWJsZWRSb3csCklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNjU1MzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMy0xMyAgSmFtZXMgQ3JhaWcgIDxqY3Jh
aWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYSTogRXhwb3NlIEFjY2Vz
c2liaWxpdHkgVHJlZSBwYXJlbnQgb2YgdGhlIHNlbGVjdGVkIG5vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTk0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3ItcHJvdG9j
b2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCisKKyAgICAgICAg
V2ViIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3Igbm93IGRpc3BsYXlzIGEgbGluayB0byB0
aGUgQVggcGFyZW50IG5vZGUsCisgICAgICAgIGJlY2F1c2UgaXQncyBub3QgYSAxOjEgbWF0Y2gg
d2l0aCB0aGUgRE9NTm9kZSBwYXJlbnQuCisKKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wv
ZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zv
ck5vZGUuaHRtbDoKKwogMjAxNC0wMy0xMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmluZzogTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
aGlkcGktc2ltcGxlLWNvbnRhaW5lci1sYXllci1vbi1kZXZpY2UtcGl4ZWwtZXhwZWN0ZWQuaHRt
bCBmYWlscyBvbiBNb3VudGFpbiBMaW9uIFdLMiBkZWJ1ZwpJbmRleDogTGF5b3V0VGVzdHMvaW5z
cGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9k
b20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMTY1NDYxKQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nl
c3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDM5ICsxLDQ1IEBACiBDaGVja2luZyBXZWIgSW5zcGVjdG9yIHByb3RvY29sIGZvciB0aGUg
QWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3Rvci4KIAotVG90YWwgZWxlbWVudHMgdG8gYmUgdGVz
dGVkOiA1MC4KK1RvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTEuCiAKIDxsaSByb2xlPSJ0
cmVlaXRlbSIgYXJpYS1leHBhbmRlZD0iZmFsc2UiPmNvbGxhcHNlZDwvbGk+CiAgICAgZXhpc3Rz
OiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHRyZWVpdGVtCisgICAgYXhQYXJlbnROb2Rl
SWQ6IChzdXBwcmVzc2VkKQogICAgIGV4cGFuZGVkOiBmYWxzZQogCiA8bGkgcm9sZT0idHJlZWl0
ZW0iIGFyaWEtZXhwYW5kZWQ9InRydWUiPmV4cGFuZGVkPC9saT4KICAgICBleGlzdHM6IHRydWUK
ICAgICBsYWJlbDogCiAgICAgcm9sZTogdHJlZWl0ZW0KKyAgICBheFBhcmVudE5vZGVJZDogKHN1
cHByZXNzZWQpCiAgICAgZXhwYW5kZWQ6IHRydWUKIAogPGRpdiByb2xlPSJ0YWIiIGFyaWEtc2Vs
ZWN0ZWQ9ImZhbHNlIj5ub3Qgc2VsZWN0ZWQ8L2Rpdj4KICAgICBleGlzdHM6IHRydWUKICAgICBs
YWJlbDogCiAgICAgcm9sZTogdGFiCisgICAgYXhQYXJlbnROb2RlSWQ6IChzdXBwcmVzc2VkKQog
CiA8ZGl2IHJvbGU9InRhYiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+c2VsZWN0ZWQ8L2Rpdj4KICAg
ICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogdGFiCisgICAgYXhQYXJlbnRO
b2RlSWQ6IChzdXBwcmVzc2VkKQogICAgIHNlbGVjdGVkOiB0cnVlCiAKIDxkaXYgcm9sZT0ib3B0
aW9uIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+bm90IHNlbGVjdGVkPC9kaXY+CiAgICAgZXhpc3Rz
OiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IG9wdGlvbgorICAgIGF4UGFyZW50Tm9kZUlk
OiAoc3VwcHJlc3NlZCkKIAogPGRpdiByb2xlPSJvcHRpb24iIGFyaWEtc2VsZWN0ZWQ9InRydWUi
PnNlbGVjdGVkPC9kaXY+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6
IG9wdGlvbgorICAgIGF4UGFyZW50Tm9kZUlkOiAoc3VwcHJlc3NlZCkKICAgICBzZWxlY3RlZDog
dHJ1ZQogCiA8b3B0aW9uPm5vdCBzZWxlY3RlZDwvb3B0aW9uPgpAQCAtNDYsMTIgKzUyLDEyIEBA
IFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgbGFiZWw6IAogICAgIHJvbGU6
IAogCi08aW1nIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IngiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4K
KzxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZi4uLiIgYWx0PSJ4IiBzdHlsZT0iZGlzcGxheTpub25l
OyI+CiAgICAgZXhpc3RzOiBmYWxzZQogICAgIGxhYmVsOiAKICAgICByb2xlOiAKIAotPGltZyBz
cmM9Ii4vNDA0LmdpZiIgYWx0PSJ4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+Cis8aW1nIHNyYz0iZGF0
YTppbWFnZS9naWYuLi4iIGFsdD0ieCIgYXJpYS1oaWRkZW49InRydWUiPgogICAgIGV4aXN0czog
dHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBpbWcKQEAgLTU5LDE3ICs2NSwyMiBAQCBUb3Rh
bCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGlnbm9yZWRCeURlZmF1bHQ6IHRydWUK
ICAgICBoaWRkZW46IHRydWUKIAotPGltZyBzcmM9Ii4vNDA0LmdpZiIgYWx0PSJ4Ij4KKzxpbWcg
c3JjPSJkYXRhOmltYWdlL2dpZi4uLiIgYWx0PSJ4Ij4KICAgICBleGlzdHM6IHRydWUKICAgICBs
YWJlbDogCiAgICAgcm9sZTogaW1nCiAKLTxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0iIj4KKzxp
bWcgc3JjPSJkYXRhOmltYWdlL2dpZi4uLiIgYWx0PSIiPgogICAgIGV4aXN0czogdHJ1ZQogICAg
IGxhYmVsOiAKICAgICByb2xlOiBpbWcKICAgICBpZ25vcmVkOiB0cnVlCiAKKzxpbWcgc3JjPSJk
YXRhOmltYWdlL2dpZi4uLiI+CisgICAgZXhpc3RzOiB0cnVlCisgICAgbGFiZWw6IAorICAgIHJv
bGU6IGltZworCiA8aW1nIHNyYz0iLi80MDQuZ2lmIj4KICAgICBleGlzdHM6IHRydWUKICAgICBs
YWJlbDogCkBAIC05NCw2ICsxMDUsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUw
LgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiByYWRpbworICAgIGF4
UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgY2hlY2tlZDogZmFsc2UKICAgICByZXF1
aXJlZDogZmFsc2UKIApAQCAtMTAxLDYgKzExMyw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRl
c3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHJhZGlv
CisgICAgYXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiBmYWxzZQog
ICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xMDgsNiArMTIxLDcgQEAgVG90YWwgZWxlbWVudHMg
dG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9s
ZTogcmFkaW8KKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGNoZWNrZWQ6
IHRydWUKICAgICByZXF1aXJlZDogZmFsc2UKIApAQCAtMTE1LDYgKzEyOSw3IEBAIFRvdGFsIGVs
ZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAog
ICAgIHJvbGU6IHJhZGlvCisgICAgYXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBj
aGVja2VkOiBmYWxzZQogICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xMzYsNiArMTUxLDcgQEAg
VG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBs
YWJlbDogCiAgICAgcm9sZTogY2hlY2tib3gKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3Vt
ZW50KQogICAgIGNoZWNrZWQ6IGZhbHNlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTE0Myw2
ICsxNTksNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czog
dHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBjaGVja2JveAorICAgIGF4UGFyZW50Tm9kZUlk
OiAxICgjZG9jdW1lbnQpCiAgICAgY2hlY2tlZDogbWl4ZWQKICAgICByZXF1aXJlZDogZmFsc2UK
IApAQCAtMTUwLDYgKzE2Nyw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAg
ICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IGNoZWNrYm94CisgICAgYXhQ
YXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiB0cnVlCiAgICAgcmVxdWly
ZWQ6IGZhbHNlCiAKQEAgLTE1Nyw2ICsxNzUsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0
ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBjaGVja2Jv
eAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgY2hlY2tlZDogZmFsc2UK
ICAgICByZXF1aXJlZDogZmFsc2UKIApAQCAtMTc4LDYgKzE5Nyw3IEBAIFRvdGFsIGVsZW1lbnRz
IHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJv
bGU6IAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgZGlzYWJsZWQ6IHRy
dWUKICAgICByZWFkb25seTogdHJ1ZQogICAgIHJlcXVpcmVkOiBmYWxzZQpAQCAtMTkzLDYgKzIx
Myw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVl
CiAgICAgbGFiZWw6IAogICAgIHJvbGU6IAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1l
bnQpCiAgICAgcmVhZG9ubHk6IHRydWUKICAgICByZXF1aXJlZDogZmFsc2UKIApAQCAtMjQ5LDYg
KzI3MCw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0
cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9j
dW1lbnQpCiAgICAgcHJlc3NlZDogZmFsc2UKICAgICByZXF1aXJlZDogZmFsc2UKIApAQCAtMjU2
LDYgKzI3OCw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3Rz
OiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgj
ZG9jdW1lbnQpCiAgICAgcHJlc3NlZDogZmFsc2UKICAgICByZXF1aXJlZDogZmFsc2UKIApAQCAt
MjYzLDE3ICsyODYsMjAgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBl
eGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogYnV0dG9uCisgICAgYXhQYXJlbnRO
b2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBkaXNhYmxlZDogdHJ1ZQogCiA8ZGl2IHJvbGU9ImJ1
dHRvbiIgdGFiaW5kZXg9IjAiPjwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAK
ICAgICByb2xlOiBidXR0b24KKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogCiA8
c3BhbiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxh
YmVsOiAKICAgICByb2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAg
IGlnbm9yZWQ6IHRydWUKICAgICBpZ25vcmVkQnlEZWZhdWx0OiB0cnVlCiAgICAgaGlkZGVuOiB0
cnVlCkBAIC0yODIsNiArMzA4LDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4K
ICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQYXJlbnRO
b2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAgICAgaWdub3JlZEJ5RGVm
YXVsdDogdHJ1ZQogCkBAIC0yODksNiArMzE2LDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVz
dGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAg
YXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAgICAgaWdu
b3JlZEJ5RGVmYXVsdDogdHJ1ZQogICAgIGhpZGRlbjogdHJ1ZQpAQCAtMjk3LDI0ICszMjUsMjgg
QEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAg
ICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkK
ICAgICBpZ25vcmVkOiB0cnVlCiAKIDxkaXYgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2
PjwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBwcmVzZW50
YXRpb24KKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGlnbm9yZWQ6IHRy
dWUKIAogPGRpdj48ZGl2PjwvZGl2PjwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVs
OiAKICAgICByb2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGln
bm9yZWQ6IHRydWUKIAogPHNjcmlwdCBzdHlsZT0iZGlzcGxheTpibG9jazsiPjwvc2NyaXB0Pgog
ICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBncm91cAorICAgIGF4UGFy
ZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgaWdub3JlZDogdHJ1ZQogCiA8c2NyaXB0Pjwv
c2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nl
c3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9k
ZS5odG1sCShyZXZpc2lvbiAxNjU0NjEpCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9j
b2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSw2ICsyNSw3IEBACiA8YnV0dG9uIGNsYXNzPSJleCI+PC9idXR0b24+CiA8aW5w
dXQgY2xhc3M9ImV4IiB0eXBlPSJidXR0b24iPgogCis8IS0tIEZJWE1FOiBJbnB1dHMgbWlzc2lu
ZyBheFBhcmVudE5vZGVJZCBodHRwOi8vd2Via2l0Lm9yZy9iLzEzMDE4MSAtLT4KIDxpbnB1dCBj
bGFzcz0iZXgiPgogPGlucHV0IGNsYXNzPSJleCIgcmVxdWlyZWQ+CiA8aW5wdXQgY2xhc3M9ImV4
IiBhcmlhLXJlcXVpcmVkPSJ0cnVlIiB2YWx1ZT0icmVxdWlyZWQiPgpAQCAtNTIsMTEgKzUzLDEz
IEBACiA8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiA8aW5wdXQgY2xhc3M9
ImV4IiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAKLTxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4vNDA0
LmdpZiI+Ci08aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiIGFsdD0iIj4KLTxpbWcgY2xh
c3M9ImV4IiBzcmM9Ii4vNDA0LmdpZiIgYWx0PSJ4Ij4KLTxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4v
NDA0LmdpZiIgYWx0PSJ4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+Ci08aW1nIGNsYXNzPSJleCIgc3Jj
PSIuLzQwNC5naWYiIGFsdD0ieCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorPCEtLSBGSVhNRTog
SW1hZ2VzIG1pc3NpbmcgYXhQYXJlbnROb2RlSWQgaHR0cDovL3dlYmtpdC5vcmcvYi8xMzAxODEg
LS0+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiPjwhLS0gaW1nOm5vdChbYWx0XSkg
aWdub3JlZCBpZiBpdCBkb2VzIG5vdCBsb2FkLiAgLS0+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSJk
YXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhFQUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1
QkFFQUFBSUFMQUFBQUFBUUFCRUFBQUlsbEI4Wng2M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9X
U1hhNXI3Q0pOT3ZyYTFSQVFBNyI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSJkYXRhOmltYWdlL2dp
ZjtiYXNlNjQsUjBsR09EbGhFQUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1QkFFQUFBSUFMQUFB
QUFBUUFCRUFBQUlsbEI4Wng2M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9XU1hhNXI3Q0pOT3Zy
YTFSQVFBNyIgYWx0PSIiPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFz
ZTY0LFIwbEdPRGxoRUFBUkFKRUNBT0hoNFVwS1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFB
QkVBQUFJbGxCOFp4NjNiNG90U1VXY3Z5dXo1RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFR
QTciIGFsdD0ieCI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQs
UjBsR09EbGhFQUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1QkFFQUFBSUFMQUFBQUFBUUFCRUFB
QUlsbEI4Wng2M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9XU1hhNXI3Q0pOT3ZyYTFSQVFBNyIg
YWx0PSJ4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSJkYXRhOmlt
YWdlL2dpZjtiYXNlNjQsUjBsR09EbGhFQUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1QkFFQUFB
SUFMQUFBQUFBUUFCRUFBQUlsbEI4Wng2M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9XU1hhNXI3
Q0pOT3ZyYTFSQVFBNyIgYWx0PSJ4IiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAKIDxzZWxlY3Qg
bXVsdGlwbGU+CiAgICAgPG9wdGlvbiBjbGFzcz0iZXgiIHNlbGVjdGVkPkZJWE1FOiBTZWxlY3Rl
ZCBpcyBmYWxzZS4gRXhwZWN0ZWQgdHJ1ZS4gaHR0cDovL3dlYmtpdC5vcmcvYi8xMjk4MzU8L29w
dGlvbj4KQEAgLTExNywxNSArMTIwLDIyIEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAKICAgICBmdW5j
dGlvbiBvbkdvdE91dGVySFRNTChyZXNwb25zZSkgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmNo
ZWNrRm9yRXJyb3IocmVzcG9uc2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiXG4iICsg
cmVzcG9uc2UucmVzdWx0Lm91dGVySFRNTC5yZXBsYWNlKCIgY2xhc3M9XCJleFwiIiwgIiIpKTsK
KyAgICAgICAgdmFyIG91dGVySFRNTCA9IHJlc3BvbnNlLnJlc3VsdC5vdXRlckhUTUw7CisgICAg
ICAgIG91dGVySFRNTCA9IG91dGVySFRNTC5yZXBsYWNlKCIgY2xhc3M9XCJleFwiIiwgIiIpOwor
ICAgICAgICBvdXRlckhUTUwgPSBvdXRlckhUTUwucmVwbGFjZSgiO2Jhc2U2NCxSMGxHT0RsaEVB
QVJBSkVDQU9IaDRVcEtTZ0FBQUFBQUFDSDVCQUVBQUFJQUxBQUFBQUFRQUJFQUFBSWxsQjhaeDYz
YjRvdFNVV2N2eXV6NUQ0YmlTRDdBaVpyb1dTWGE1cjdDSk5PdnJhMVJBUUE3IiwgIi4uLiIpCisg
ICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJcbiIgKyBvdXRlckhUTUwpOwogICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JO
b2RlIiwgeyJub2RlSWQiOiBleGFtcGxlc1tleGFtcGxlcy5sZW5ndGgtMV19LCBvbkdvdEFYUHJv
cHMpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIG9uR290QVhQcm9wcyhyZXNwb25zZSkgewogICAg
ICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVzcG9uc2UpOwotICAgICAgICBmb3Ig
KHByb3AgaW4gcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMpIHsKLSAgICAgICAgICAgIGlmIChw
cm9wICE9PSAibm9kZUlkIikKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiICAg
ICIgKyBwcm9wICsgIjogIiArIHJlc3BvbnNlLnJlc3VsdC5wcm9wZXJ0aWVzW3Byb3BdKTsKKyAg
ICAgICAgZm9yIChrZXkgaW4gcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMpIHsKKyAgICAgICAg
ICAgIHZhciB2YWx1ZSA9IHJlc3BvbnNlLnJlc3VsdC5wcm9wZXJ0aWVzW2tleV07CisgICAgICAg
ICAgICBpZiAoa2V5ID09PSAibm9kZUlkIikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIGVsc2UgaWYgKGtleSA9PT0gImF4UGFyZW50Tm9kZUlkIikKKyAgICAgICAgICAg
ICAgICB2YWx1ZSA9ICh2YWx1ZSA9PT0gMSkgPyAiMSAoI2RvY3VtZW50KSIgOiAiKHN1cHByZXNz
ZWQpIjsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIgICAgIiArIGtleSArICI6ICIg
KyB2YWx1ZSk7CiAgICAgICAgIH0KICAgICAgICAgZXhhbXBsZXMucG9wKCk7CiAgICAgICAgIGxv
b3AoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226586</attachid>
            <date>2014-03-13 02:21:17 -0700</date>
            <delta_ts>2014-03-13 12:20:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>webkit129943.diff</filename>
            <type>text/plain</type>
            <size>24031</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAzLTEzICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJOiBF
eHBvc2UgQWNjZXNzaWJpbGl0eSBUcmVlIHBhcmVudCBvZiB0aGUgc2VsZWN0ZWQgbm9kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5OTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGluc3Bl
Y3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwK
KworICAgICAgICBXZWIgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3RvciBub3cgZGlzcGxheXMg
YSBsaW5rIHRvIHRoZSBBWCBwYXJlbnQgbm9kZSwKKyAgICAgICAgYmVjYXVzZSBpdCdzIG5vdCBh
IDE6MSBtYXRjaCB3aXRoIHRoZSBET01Ob2RlIHBhcmVudC4KKworICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHA6IFN1cHBvcnQgZm9yIERPTU5vZGUucm9sZSBhbmQgQWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQuCisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKTogU3VwcG9ydCBmb3Igcm9sZS4K
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzKTogU3VwcG9ydCBmb3IgYXhQYXJlbnROb2RlSWQuCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uOiBBZGRlZCBheFBhcmVudE5vZGVJZCBvbiBB
Y2Nlc3NpYmlsaXR5UHJvcGVydGllcywgYW5kIHJvbGUgb24gRE9NTm9kZS4KKwogMjAxNC0wMy0x
MiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgUmVwbGF5OiBh
ZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIG1lbW9pemluZyBub25kZXRlcm1pbmlzdGljIERPTSBBUElz
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAJKHJldmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTQsNiArMTMxNCwxNiBAQCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkRPTTo6CiAgICAgICAgIHZhbHVlLT5zZXRO
YW1lKGF0dHJpYnV0ZS0+bmFtZSgpKTsKICAgICAgICAgdmFsdWUtPnNldFZhbHVlKGF0dHJpYnV0
ZS0+dmFsdWUoKSk7CiAgICAgfQorCisgICAgLy8gTmVlZCB0byBlbmFibGUgQVggdG8gZ2V0IHRo
ZSBjb21wdXRlZCByb2xlLgorICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNz
aWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxl
QWNjZXNzaWJpbGl0eSgpOworCisgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUg
PSBub2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICBpZiAoQWNjZXNz
aWJpbGl0eU9iamVjdCogYXhPYmplY3QgPSBheE9iamVjdENhY2hlLT5nZXRPckNyZWF0ZShub2Rl
KSkKKyAgICAgICAgICAgIHZhbHVlLT5zZXRSb2xlKGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJp
bmcoKSk7CisgICAgfQorCiAgICAgcmV0dXJuIHZhbHVlLnJlbGVhc2UoKTsKIH0KIApAQCAtMTQy
Myw2ICsxNDMzLDcgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQog
ICAgIFN0cmluZyBpbnZhbGlkID0gImZhbHNlIjsgLy8gU3RyaW5nIHZhbHVlczogdHJ1ZSwgZmFs
c2UsIHNwZWxsaW5nLCBncmFtbWFyLCBldGMuCiAgICAgYm9vbCBoaWRkZW4gPSBmYWxzZTsKICAg
ICBTdHJpbmcgbGFiZWw7IC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTIxMTM0CisgICAgTm9kZSogYXhQYXJlbnROb2RlID0gbm9kZTsKICAgICBib29sIHByZXNzZWQg
PSBmYWxzZTsKICAgICBib29sIHJlYWRvbmx5ID0gZmFsc2U7CiAgICAgYm9vbCByZXF1aXJlZCA9
IGZhbHNlOwpAQCAtMTQzNiw2ICsxNDQ3LDkgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9N
OjpBY2Nlc3NpYmlsaQogICAgIGlmIChBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlID0gbm9k
ZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpIHsKICAgICAgICAgaWYgKEFjY2Vzc2liaWxp
dHlPYmplY3QqIGF4T2JqZWN0ID0gYXhPYmplY3RDYWNoZS0+Z2V0T3JDcmVhdGUobm9kZSkpIHsK
IAorICAgICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudE9iamVjdCA9IGF4
T2JqZWN0LT5wYXJlbnRPYmplY3RVbmlnbm9yZWQoKSkKKyAgICAgICAgICAgICAgICBheFBhcmVu
dE5vZGUgPSBwYXJlbnRPYmplY3QtPm5vZGUoKTsKKyAgICAgICAgICAgIAogICAgICAgICAgICAg
c3VwcG9ydHNDaGVja2VkID0gYXhPYmplY3QtPnN1cHBvcnRzQ2hlY2tlZCgpOwogICAgICAgICAg
ICAgaWYgKHN1cHBvcnRzQ2hlY2tlZCkgewogICAgICAgICAgICAgICAgIGludCBjaGVja1ZhbHVl
ID0gYXhPYmplY3QtPmNoZWNrYm94T3JSYWRpb1ZhbHVlKCk7IC8vIEVsZW1lbnQgdXNpbmcgYXJp
YS1jaGVja2VkLgpAQCAtMTQ4NCw2ICsxNDk4LDggQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6
RE9NOjpBY2Nlc3NpYmlsaQogICAgICAgICAuc2V0Tm9kZUlkKHB1c2hOb2RlUGF0aFRvRnJvbnRl
bmQobm9kZSkpOwogCiAgICAgaWYgKGV4aXN0cykgeworICAgICAgICBpZiAoYXhQYXJlbnROb2Rl
ICYmIGF4UGFyZW50Tm9kZSAhPSBub2RlKQorICAgICAgICAgICAgdmFsdWUtPnNldEF4UGFyZW50
Tm9kZUlkKHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQoYXhQYXJlbnROb2RlKSk7CiAgICAgICAgIGlm
IChzdXBwb3J0c0NoZWNrZWQpCiAgICAgICAgICAgICB2YWx1ZS0+c2V0Q2hlY2tlZChjaGVja2Vk
KTsKICAgICAgICAgaWYgKGRpc2FibGVkKQpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL0RPTS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9ET00uanNvbgkocmV2aXNpb24gMTY1NTMzKQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw4
IEBACiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAiTmV0d29y
ay5GcmFtZUlkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkZyYW1lIElEIGZv
ciBmcmFtZSBvd25lciBlbGVtZW50cy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJj
b250ZW50RG9jdW1lbnQiLCAiJHJlZiI6ICJOb2RlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIkNvbnRlbnQgZG9jdW1lbnQgZm9yIGZyYW1lIG93bmVyIGVsZW1lbnRzLiIgfSwK
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNoYWRvd1Jvb3RzIiwgInR5cGUiOiAiYXJyYXki
LCAib3B0aW9uYWwiOiB0cnVlLCAiaXRlbXMiOiB7ICIkcmVmIjogIk5vZGUiIH0sICJkZXNjcmlw
dGlvbiI6ICJTaGFkb3cgcm9vdCBsaXN0IGZvciBnaXZlbiBlbGVtZW50IGhvc3QuIiB9LAotICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidGVtcGxhdGVDb250ZW50IiwgIiRyZWYiOiAiTm9kZSIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb250ZW50IGRvY3VtZW50IGZyYWdt
ZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50cyIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dGVtcGxhdGVDb250ZW50IiwgIiRyZWYiOiAiTm9kZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJDb250ZW50IGRvY3VtZW50IGZyYWdtZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50
cyIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJvbGUiLCAidHlwZSI6ICJzdHJpbmci
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcHV0ZWQgdmFsdWUgZm9yIGZp
cnN0IHJlY29nbml6ZWQgcm9sZSB0b2tlbiwgZGVmYXVsdCByb2xlIHBlciBlbGVtZW50LCBvciBv
dmVycmlkZGVuIHJvbGUuIiB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkRPTSBpbnRlcmFjdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiB0ZXJtcyBvZiBtaXJyb3Ig
b2JqZWN0cyB0aGF0IHJlcHJlc2VudCB0aGUgYWN0dWFsIERPTSBub2Rlcy4gRE9NTm9kZSBpcyBh
IGJhc2Ugbm9kZSBtaXJyb3IgdHlwZS4iCiAgICAgICAgIH0sCkBAIC01OSw2ICs2MCw3IEBACiAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmls
aXR5IHByb3BlcnRpZXMuIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg
ICAgICAicHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImF4UGFyZW50
Tm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIjxjb2RlPkRPTU5vZGU8L2NvZGU+IG9mIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgcGFyZW50
IG9iamVjdCBpZCBpZiBhdmFpbGFibGUuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
Y2hlY2tlZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJlbnVtIjogWyJ0
cnVlIiwgImZhbHNlIiwgIm1peGVkIl0sICJkZXNjcmlwdGlvbiI6ICJDaGVja2VkIHN0YXRlIG9m
IGNlcnRhaW4gZm9ybSBjb250cm9scy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJk
aXNhYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRp
b24iOiAiRGlzYWJsZWQgc3RhdGUgb2YgZm9ybSBjb250cm9scy4iIH0sCiAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJleGlzdHMiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjog
IkluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGlzIGFuIGV4aXN0aW5nIEFYIG9iamVjdCBmb3IgdGhl
IERPTSBub2RlLiBJZiB0aGlzIGlzIGZhbHNlLCBhbGwgdGhlIG90aGVyIHByb3BlcnRpZXMgd2ls
bCBiZSBkZWZhdWx0IHZhbHVlcy4iIH0sCkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0wMy0xMyAgSmFtZXMgQ3JhaWcgIDxqY3Jh
aWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYSTogRXhwb3NlIEFjY2Vz
c2liaWxpdHkgVHJlZSBwYXJlbnQgb2YgdGhlIHNlbGVjdGVkIG5vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTk0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3ItcHJvdG9j
b2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCisKKyAgICAgICAg
V2ViIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3Igbm93IGRpc3BsYXlzIGEgbGluayB0byB0
aGUgQVggcGFyZW50IG5vZGUsCisgICAgICAgIGJlY2F1c2UgaXQncyBub3QgYSAxOjEgbWF0Y2gg
d2l0aCB0aGUgRE9NTm9kZSBwYXJlbnQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6IG5ldyAiUGFyZW50IiBzdHJpbmcuCisgICAgICAgICog
VXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qczogVXBkYXRpbmcgdGhlIGxpbmtpZnkg
YW5kIGRpc3BsYXlOYW1lIG1ldGhvZHMgdG8gaW5jbHVkZSByb2xlIHN1cHBvcnQuCisgICAgICAg
ICogVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZS5qczogQVggUEFyZW50IFN1cHBvcnQgYW5k
IGFkZGluZyByb2xlIHRvIERPTU5vZGUgKHdpbGwgYmUgZXhwb3NlZCBhcyBBWCBQYXJlbnQgbGlu
ayBhbmQgaW4gb3ZlcmxheXMpLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9k
ZURldGFpbHNTaWRlYmFyUGFuZWwuanM6IEFjY2Vzc2liaWxpdHkgcGFyZW50IG5vZGUuCisKIDIw
MTQtMDMtMTIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBbaU9TIDZdIHVuY2F1Z2h0IGV4Y2VwdGlvbiBhdHRlbXB0aW5nIHRv
IHVzZSBDU1NBZ2VudC5nZXROYW1lZEZsb3dDb2xsZWN0aW9uCkluZGV4OiBTb3VyY2UvV2ViSW5z
cGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMJKHJldmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTI5OCw2ICsyOTgsNyBAQAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBn
AHMAWwAiAFAAYQBnAGUAIABJAHMAcwB1AGUAIgBdACAAPQAgACIAUABhAGcAZQAgAEkAcwBzAHUA
ZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUABhAGkAbgB0ACIA
XQAgAD0AIAAiAFAAYQBpAG4AdAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcA
cwBbACIAUABhAGkAbgB0AHMAIgBdACAAPQAgACIAUABhAGkAbgB0AHMAIgA7AAorAGwAbwBjAGEA
bABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFAAYQByAGUAbgB0ACIAXQAgAD0AIAAiAFAAYQBy
AGUAbgB0ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGEAdABo
ACIAXQAgAD0AIAAiAFAAYQB0AGgAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBn
AHMAWwAiAFAAYQB1AHMAZQAgAHMAYwByAGkAcAB0ACAAZQB4AGUAYwB1AHQAaQBvAG4AIAAoACUA
cwAgAG8AcgAgACUAcwApACIAXQAgAD0AIAAiAFAAYQB1AHMAZQAgAHMAYwByAGkAcAB0ACAAZQB4
AGUAYwB1AHQAaQBvAG4AIAAoACUAcwAgAG8AcgAgACUAcwApACIAOwAKIABsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGwAYQB5ACAAUwBvAHUAbgBkACIAXQAgAD0AIAAiAFAA
bABhAHkAIABTAG8AdQBuAGQAIgA7AApJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMJKHJldmlzaW9uIDE2
NTUzMykKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvRE9NVXRp
bGl0aWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01NiwxNyArNTYsMzEgQEAgV2ViSW5zcGVjdG9y
LmRpc3BsYXlOYW1lRm9yTm9kZSA9IGZ1bmN0aQogICAgICAgICB9CiAgICAgfQogCisgICAgdGl0
bGUgKz0gV2ViSW5zcGVjdG9yLnJvbGVTZWxlY3RvckZvck5vZGUobm9kZSk7CiAgICAgcmV0dXJu
IHRpdGxlOwogfQogCi1XZWJJbnNwZWN0b3IubGlua2lmeU5vZGVSZWZlcmVuY2UgPSBmdW5jdGlv
bihub2RlKQorV2ViSW5zcGVjdG9yLnJvbGVTZWxlY3RvckZvck5vZGUgPSBmdW5jdGlvbihub2Rl
KQogewotICAgIHZhciBkaXNwbGF5TmFtZSA9IFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvck5v
ZGUobm9kZSk7CisgICAgLy8gVGhpcyBpcyBwcm9wb3NlZCBzeW50YXggZm9yIHRoZSBDU1MgNCBy
b2xlIHNlbGVjdG9yIDpyb2xlKGZvbykgYW5kIHN1YmplY3QgdG8gY2hhbmdlLgorICAgIC8vIFNl
ZSBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctc3R5bGUvMjAxM0p1bC8w
MTA0Lmh0bWwKKyAgICB2YXIgdGl0bGUgPSAiIjsKKyAgICB2YXIgcm9sZSA9IG5vZGUuY29tcHV0
ZWRSb2xlKCk7CisgICAgaWYgKHJvbGUpCisgICAgICAgIHRpdGxlID0gIjpyb2xlKCIgKyByb2xl
ICsgIikiOworICAgIHJldHVybiB0aXRsZTsKK30KIAorV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2Rl
UmVmZXJlbmNlID0gZnVuY3Rpb24obm9kZSwgb3B0RGlzcGxheUFzUm9sZSkKK3sKKyAgICB2YXIg
c2VsZWN0b3IgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JOb2RlKG5vZGUpOworICAgIHZh
ciByb2xlID0gbm9kZS5jb21wdXRlZFJvbGUoKTsKKyAgICB2YXIgZGlzcGxheU5hbWUgPSBvcHRE
aXNwbGF5QXNSb2xlICYmIHJvbGUgPyByb2xlIDogc2VsZWN0b3I7CiAgICAgdmFyIGxpbmsgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgbGluay5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZShkaXNwbGF5TmFtZSkpOworICAgIGxpbmsuc2V0QXR0cmlidXRl
KCJyb2xlIiwgImxpbmsiKTsKICAgICBsaW5rLmNsYXNzTmFtZSA9ICJub2RlLWxpbmsiOwotICAg
IGxpbmsudGl0bGUgPSBkaXNwbGF5TmFtZTsKKyAgICBsaW5rLnRpdGxlID0gc2VsZWN0b3I7CiAK
ICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgV2ViSW5zcGVjdG9yLmRvbVRyZWVN
YW5hZ2VyLmluc3BlY3RFbGVtZW50LmJpbmQoV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLCBu
b2RlLmlkKSk7CiAgICAgbGluay5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCBXZWJJbnNw
ZWN0b3IuZG9tVHJlZU1hbmFnZXIuaGlnaGxpZ2h0RE9NTm9kZS5iaW5kKFdlYkluc3BlY3Rvci5k
b21UcmVlTWFuYWdlciwgbm9kZS5pZCwgIiIpKTsKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCShyZXZpc2lvbiAx
NjU1MzMpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9N
Tm9kZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBXZWJJbnNwZWN0b3IuRE9N
Tm9kZSA9IGZ1bmN0aW9uKGRvbUFnZW50CiAgICAgdGhpcy5fbm9kZU5hbWUgPSBwYXlsb2FkLm5v
ZGVOYW1lOwogICAgIHRoaXMuX2xvY2FsTmFtZSA9IHBheWxvYWQubG9jYWxOYW1lOwogICAgIHRo
aXMuX25vZGVWYWx1ZSA9IHBheWxvYWQubm9kZVZhbHVlOworICAgIHRoaXMuX2NvbXB1dGVkUm9s
ZSA9IHBheWxvYWQucm9sZTsKIAogICAgIGlmICh0aGlzLl9ub2RlVHlwZSA9PT0gTm9kZS5ET0NV
TUVOVF9OT0RFKQogICAgICAgICB0aGlzLm93bmVyRG9jdW1lbnQgPSB0aGlzOwpAQCAtMjA2LDYg
KzIwNywxNCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgfSwKICAg
ICAKICAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICovCisgICAgY29tcHV0
ZWRSb2xlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fY29tcHV0ZWRS
b2xlOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICAq
LwogICAgIGhhc0F0dHJpYnV0ZXM6IGZ1bmN0aW9uKCkKQEAgLTQ0Nyw2ICs0NTYsNyBAQCBXZWJJ
bnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIGlm
ICghZXJyb3IgJiYgY2FsbGJhY2sgJiYgYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIHsKICAgICAg
ICAgICAgICAgICBjYWxsYmFjayh7CisgICAgICAgICAgICAgICAgICAgIGF4UGFyZW50Tm9kZUlk
OiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5heFBhcmVudE5vZGVJZCwKICAgICAgICAgICAgICAg
ICAgICAgY2hlY2tlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuY2hlY2tlZCwKICAgICAgICAg
ICAgICAgICAgICAgZGlzYWJsZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmRpc2FibGVkLAog
ICAgICAgICAgICAgICAgICAgICBleGlzdHM6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmV4aXN0
cywKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCShy
ZXZpc2lvbiAxNjU1MzMpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNjQs
NiArNjQsNyBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgCiAgICAg
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSWdub3JlZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3Iu
RGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJZ25vcmVkIikp
OwogICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52
YWxpZCIpKTsKICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVMYWJlbFJvdyA9IG5ldyBX
ZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJMYWJlbCIpKTsKKyAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVQYXJlbnRSb3cgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0
cmluZygiUGFyZW50IikpOwogICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVByZXNzZWRS
b3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiUHJlc3NlZCIpKTsKICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVS
ZWFkb25seVJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJSZWFkb25seSIpKTsKICAgICAgICAgdGhpcy5fYWNjZXNzaWJp
bGl0eU5vZGVSZXF1aXJlZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1w
bGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXF1aXJlZCIpKTsKQEAgLTI3OCw2ICsyNzks
MTAgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLgogCiAgICAgICAg
ICAgICBpZiAoYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMgJiYgYWNjZXNzaWJpbGl0eVByb3BlcnRp
ZXMuZXhpc3RzKSB7CiAKKyAgICAgICAgICAgICAgICB2YXIgYXhQYXJlbnROb2RlID0gIiI7Cisg
ICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmF4UGFyZW50Tm9kZUlk
ICE9PSB1bmRlZmluZWQpCisgICAgICAgICAgICAgICAgICAgIGF4UGFyZW50Tm9kZSA9IFdlYklu
c3BlY3Rvci5saW5raWZ5Tm9kZVJlZmVyZW5jZShXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIu
bm9kZUZvcklkKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmF4UGFyZW50Tm9kZUlkKSwgdHJ1ZSk7
CisKICAgICAgICAgICAgICAgICB2YXIgY2hlY2tlZCA9ICIiOwogICAgICAgICAgICAgICAgIGlm
IChhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5jaGVja2VkICE9PSB1bmRlZmluZWQpIHsKICAgICAg
ICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmNoZWNrZWQgPT09IERP
TUFnZW50LkFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2hlY2tlZC5UcnVlKQpAQCAtMzMwLDYgKzMz
NSw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC4KICAgICAgICAg
ICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUlnbm9yZWRSb3cudmFsdWUgPSBpZ25vcmVk
OwogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJvdy52YWx1
ZSA9IGludmFsaWQ7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVMYWJl
bFJvdy52YWx1ZSA9IGxhYmVsOworICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlO
b2RlUGFyZW50Um93LnZhbHVlID0gYXhQYXJlbnROb2RlOwogICAgICAgICAgICAgICAgIHRoaXMu
X2FjY2Vzc2liaWxpdHlOb2RlUHJlc3NlZFJvdy52YWx1ZSA9IHByZXNzZWQ7CiAgICAgICAgICAg
ICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSZWFkb25seVJvdy52YWx1ZSA9IHJlYWRvbmx5
OwogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRSb3cudmFs
dWUgPSByZXF1aXJlZDsKQEAgLTM0Miw2ICszNDgsNyBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURl
dGFpbHNTaWRlYmFyUGFuZWwuCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxp
dHlOb2RlSWdub3JlZFJvdywKICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0
eU5vZGVSb2xlUm93LAogICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9k
ZUxhYmVsUm93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVBh
cmVudFJvdywKIAogICAgICAgICAgICAgICAgICAgICAvLyBQcm9wZXJ0aWVzIGV4cG9zZWQgZm9y
IGFsbCBpbnB1dC10eXBlIGVsZW1lbnRzLgogICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nl
c3NpYmlsaXR5Tm9kZURpc2FibGVkUm93LApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1NTMzKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTQtMDMtMTMgIEphbWVzIENyYWlnICA8amNyYWlnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBWEk6IEV4cG9zZSBBY2Nlc3NpYmlsaXR5IFRyZWUgcGFyZW50IG9mIHRoZSBz
ZWxlY3RlZCBub2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjk5NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0czogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVy
dGllc0Zvck5vZGUuaHRtbAorCisgICAgICAgIFdlYiBBY2Nlc3NpYmlsaXR5IE5vZGUgSW5zcGVj
dG9yIG5vdyBkaXNwbGF5cyBhIGxpbmsgdG8gdGhlIEFYIHBhcmVudCBub2RlLAorICAgICAgICBi
ZWNhdXNlIGl0J3Mgbm90IGEgMToxIG1hdGNoIHdpdGggdGhlIERPTU5vZGUgcGFyZW50LgorCisg
ICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGll
c0Zvck5vZGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2NvbC9kb20v
Z2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6CisKIDIwMTQtMDMtMTIgIFph
bGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTdWJwaXhlbCByZW5kZXJp
bmc6IExheW91dFRlc3RzL2NvbXBvc2l0aW5nL2hpZHBpLXNpbXBsZS1jb250YWluZXItbGF5ZXIt
b24tZGV2aWNlLXBpeGVsLWV4cGVjdGVkLmh0bWwgZmFpbHMgb24gTW91bnRhaW4gTGlvbiBXSzIg
ZGVidWcKSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNz
aWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVz
Rm9yTm9kZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE2NTUzMykKKysrIExheW91dFRlc3RzL2lu
c3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSw0NSBAQAogQ2hlY2tpbmcgV2Vi
IEluc3BlY3RvciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3Iu
CiAKLVRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCitUb3RhbCBlbGVtZW50cyB0byBi
ZSB0ZXN0ZWQ6IDUxLgogCiA8bGkgcm9sZT0idHJlZWl0ZW0iIGFyaWEtZXhwYW5kZWQ9ImZhbHNl
Ij5jb2xsYXBzZWQ8L2xpPgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xl
OiB0cmVlaXRlbQorICAgIGF4UGFyZW50Tm9kZUlkOiAoc3VwcHJlc3NlZCkKICAgICBleHBhbmRl
ZDogZmFsc2UKIAogPGxpIHJvbGU9InRyZWVpdGVtIiBhcmlhLWV4cGFuZGVkPSJ0cnVlIj5leHBh
bmRlZDwvbGk+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHRyZWVp
dGVtCisgICAgYXhQYXJlbnROb2RlSWQ6IChzdXBwcmVzc2VkKQogICAgIGV4cGFuZGVkOiB0cnVl
CiAKIDxkaXYgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+bm90IHNlbGVjdGVkPC9k
aXY+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHRhYgorICAgIGF4
UGFyZW50Tm9kZUlkOiAoc3VwcHJlc3NlZCkKIAogPGRpdiByb2xlPSJ0YWIiIGFyaWEtc2VsZWN0
ZWQ9InRydWUiPnNlbGVjdGVkPC9kaXY+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAog
ICAgIHJvbGU6IHRhYgorICAgIGF4UGFyZW50Tm9kZUlkOiAoc3VwcHJlc3NlZCkKICAgICBzZWxl
Y3RlZDogdHJ1ZQogCiA8ZGl2IHJvbGU9Im9wdGlvbiIgYXJpYS1zZWxlY3RlZD0iZmFsc2UiPm5v
dCBzZWxlY3RlZDwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xl
OiBvcHRpb24KKyAgICBheFBhcmVudE5vZGVJZDogKHN1cHByZXNzZWQpCiAKIDxkaXYgcm9sZT0i
b3B0aW9uIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj5zZWxlY3RlZDwvZGl2PgogICAgIGV4aXN0czog
dHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBvcHRpb24KKyAgICBheFBhcmVudE5vZGVJZDog
KHN1cHByZXNzZWQpCiAgICAgc2VsZWN0ZWQ6IHRydWUKIAogPG9wdGlvbj5ub3Qgc2VsZWN0ZWQ8
L29wdGlvbj4KQEAgLTQ2LDEyICs1MiwxMiBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6
IDUwLgogICAgIGxhYmVsOiAKICAgICByb2xlOiAKIAotPGltZyBzcmM9Ii4vNDA0LmdpZiIgYWx0
PSJ4IiBzdHlsZT0iZGlzcGxheTpub25lOyI+Cis8aW1nIHNyYz0iZGF0YTppbWFnZS9naWYuLi4i
IGFsdD0ieCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgIGV4aXN0czogZmFsc2UKICAgICBs
YWJlbDogCiAgICAgcm9sZTogCiAKLTxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCIgYXJpYS1o
aWRkZW49InRydWUiPgorPGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmLi4uIiBhbHQ9IngiIGFyaWEt
aGlkZGVuPSJ0cnVlIj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTog
aW1nCkBAIC01OSwxNyArNjUsMjIgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4K
ICAgICBpZ25vcmVkQnlEZWZhdWx0OiB0cnVlCiAgICAgaGlkZGVuOiB0cnVlCiAKLTxpbWcgc3Jj
PSIuLzQwNC5naWYiIGFsdD0ieCI+Cis8aW1nIHNyYz0iZGF0YTppbWFnZS9naWYuLi4iIGFsdD0i
eCI+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IGltZwogCi08aW1n
IHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+Cis8aW1nIHNyYz0iZGF0YTppbWFnZS9naWYuLi4iIGFs
dD0iIj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogaW1nCiAgICAg
aWdub3JlZDogdHJ1ZQogCis8aW1nIHNyYz0iZGF0YTppbWFnZS9naWYuLi4iPgorICAgIGV4aXN0
czogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByb2xlOiBpbWcKKwogPGltZyBzcmM9Ii4vNDA0Lmdp
ZiI+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IApAQCAtOTQsNiArMTA1LDcgQEAgVG90
YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJl
bDogCiAgICAgcm9sZTogcmFkaW8KKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQog
ICAgIGNoZWNrZWQ6IGZhbHNlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTEwMSw2ICsxMTMs
NyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQog
ICAgIGxhYmVsOiAKICAgICByb2xlOiByYWRpbworICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9j
dW1lbnQpCiAgICAgY2hlY2tlZDogZmFsc2UKICAgICByZXF1aXJlZDogZmFsc2UKIApAQCAtMTA4
LDYgKzEyMSw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3Rz
OiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHJhZGlvCisgICAgYXhQYXJlbnROb2RlSWQ6
IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiB0cnVlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAK
QEAgLTExNSw2ICsxMjksNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAg
IGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiByYWRpbworICAgIGF4UGFyZW50
Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgY2hlY2tlZDogZmFsc2UKICAgICByZXF1aXJlZDog
ZmFsc2UKIApAQCAtMTM2LDYgKzE1MSw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDog
NTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IGNoZWNrYm94Cisg
ICAgYXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiBmYWxzZQogICAg
IHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xNDMsNiArMTU5LDcgQEAgVG90YWwgZWxlbWVudHMgdG8g
YmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTog
Y2hlY2tib3gKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGNoZWNrZWQ6
IG1peGVkCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTE1MCw2ICsxNjcsNyBAQCBUb3RhbCBl
bGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAK
ICAgICByb2xlOiBjaGVja2JveAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAg
ICAgY2hlY2tlZDogdHJ1ZQogICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xNTcsNiArMTc1LDcg
QEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAg
ICBsYWJlbDogCiAgICAgcm9sZTogY2hlY2tib3gKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2Rv
Y3VtZW50KQogICAgIGNoZWNrZWQ6IGZhbHNlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTE3
OCw2ICsxOTcsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0
czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAo
I2RvY3VtZW50KQogICAgIGRpc2FibGVkOiB0cnVlCiAgICAgcmVhZG9ubHk6IHRydWUKICAgICBy
ZXF1aXJlZDogZmFsc2UKQEAgLTE5Myw2ICsyMTMsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0
ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiAKKyAg
ICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIHJlYWRvbmx5OiB0cnVlCiAgICAg
cmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTI0OSw2ICsyNzAsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBi
ZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiAK
KyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIHByZXNzZWQ6IGZhbHNlCiAg
ICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTI1Niw2ICsyNzgsNyBAQCBUb3RhbCBlbGVtZW50cyB0
byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xl
OiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIHByZXNzZWQ6IGZhbHNl
CiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTI2MywxNyArMjg2LDIwIEBAIFRvdGFsIGVsZW1l
bnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAg
IHJvbGU6IGJ1dHRvbgorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgZGlz
YWJsZWQ6IHRydWUKIAogPGRpdiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48L2Rpdj4KICAg
ICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogYnV0dG9uCisgICAgYXhQYXJl
bnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKIAogPHNwYW4gYXJpYS1oaWRkZW49InRydWUiPjwvc3Bh
bj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQYXJl
bnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAgICAgaWdub3JlZEJ5
RGVmYXVsdDogdHJ1ZQogICAgIGhpZGRlbjogdHJ1ZQpAQCAtMjgyLDYgKzMwOCw3IEBAIFRvdGFs
IGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6
IAogICAgIHJvbGU6IAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgaWdu
b3JlZDogdHJ1ZQogICAgIGlnbm9yZWRCeURlZmF1bHQ6IHRydWUKIApAQCAtMjg5LDYgKzMxNiw3
IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAg
ICAgbGFiZWw6IAogICAgIHJvbGU6IAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQp
CiAgICAgaWdub3JlZDogdHJ1ZQogICAgIGlnbm9yZWRCeURlZmF1bHQ6IHRydWUKICAgICBoaWRk
ZW46IHRydWUKQEAgLTI5NywyNCArMzI1LDI4IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3Rl
ZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IAorICAgIGF4
UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgaWdub3JlZDogdHJ1ZQogCiA8ZGl2IHJv
bGU9InByZXNlbnRhdGlvbiI+PGRpdj48L2Rpdj48L2Rpdj4KICAgICBleGlzdHM6IHRydWUKICAg
ICBsYWJlbDogCiAgICAgcm9sZTogcHJlc2VudGF0aW9uCisgICAgYXhQYXJlbnROb2RlSWQ6IDEg
KCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAKIDxkaXY+PGRpdj48L2Rpdj48L2Rpdj4K
ICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQYXJlbnRO
b2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAKIDxzY3JpcHQgc3R5bGU9
ImRpc3BsYXk6YmxvY2s7Ij48L3NjcmlwdD4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDog
CiAgICAgcm9sZTogZ3JvdXAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAg
IGlnbm9yZWQ6IHRydWUKIAogPHNjcmlwdD48L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2lu
c3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRB
Y2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUuaHRtbAkocmV2aXNpb24gMTY1NTMzKQorKysg
TGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVy
dGllc0Zvck5vZGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogPGJ1dHRv
biBjbGFzcz0iZXgiPjwvYnV0dG9uPgogPGlucHV0IGNsYXNzPSJleCIgdHlwZT0iYnV0dG9uIj4K
IAorPCEtLSBGSVhNRTogSW5wdXRzIG1pc3NpbmcgYXhQYXJlbnROb2RlSWQgaHR0cDovL3dlYmtp
dC5vcmcvYi8xMzAxODEgLS0+CiA8aW5wdXQgY2xhc3M9ImV4Ij4KIDxpbnB1dCBjbGFzcz0iZXgi
IHJlcXVpcmVkPgogPGlucHV0IGNsYXNzPSJleCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSIgdmFsdWU9
InJlcXVpcmVkIj4KQEAgLTUyLDExICs1MywxMyBAQAogPGlucHV0IGNsYXNzPSJleCIgYXJpYS1o
aWRkZW49InRydWUiPgogPGlucHV0IGNsYXNzPSJleCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgog
Ci08aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiPgotPGltZyBjbGFzcz0iZXgiIHNyYz0i
Li80MDQuZ2lmIiBhbHQ9IiI+Ci08aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiIGFsdD0i
eCI+Ci08aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCIgYXJpYS1oaWRkZW49
InRydWUiPgotPGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IngiIHN0eWxlPSJk
aXNwbGF5Om5vbmU7Ij4KKzwhLS0gRklYTUU6IEltYWdlcyBtaXNzaW5nIGF4UGFyZW50Tm9kZUlk
IGh0dHA6Ly93ZWJraXQub3JnL2IvMTMwMTgxIC0tPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iLi80
MDQuZ2lmIj48IS0tIGltZzpub3QoW2FsdF0pIGlnbm9yZWQgaWYgaXQgZG9lcyBub3QgbG9hZC4g
IC0tPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxo
RUFBUkFKRUNBT0hoNFVwS1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJbGxCOFp4
NjNiNG90U1VXY3Z5dXo1RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciPgorPGltZyBj
bGFzcz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRUFBUkFKRUNBT0ho
NFVwS1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJbGxCOFp4NjNiNG90U1VXY3Z5
dXo1RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciIGFsdD0iIj4KKzxpbWcgY2xhc3M9
ImV4IiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEVBQVJBSkVDQU9IaDRVcEtT
Z0FBQUFBQUFDSDVCQUVBQUFJQUxBQUFBQUFRQUJFQUFBSWxsQjhaeDYzYjRvdFNVV2N2eXV6NUQ0
YmlTRDdBaVpyb1dTWGE1cjdDSk5PdnJhMVJBUUE3IiBhbHQ9IngiPgorPGltZyBjbGFzcz0iZXgi
IHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRUFBUkFKRUNBT0hoNFVwS1NnQUFB
QUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJbGxCOFp4NjNiNG90U1VXY3Z5dXo1RDRiaVNE
N0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciIGFsdD0ieCIgYXJpYS1oaWRkZW49InRydWUiPgor
PGltZyBjbGFzcz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRUFBUkFK
RUNBT0hoNFVwS1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJbGxCOFp4NjNiNG90
U1VXY3Z5dXo1RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciIGFsdD0ieCIgc3R5bGU9
ImRpc3BsYXk6bm9uZTsiPgogCiA8c2VsZWN0IG11bHRpcGxlPgogICAgIDxvcHRpb24gY2xhc3M9
ImV4IiBzZWxlY3RlZD5GSVhNRTogU2VsZWN0ZWQgaXMgZmFsc2UuIEV4cGVjdGVkIHRydWUuIGh0
dHA6Ly93ZWJraXQub3JnL2IvMTI5ODM1PC9vcHRpb24+CkBAIC0xMTcsMTUgKzEyMCwyMiBAQCBm
dW5jdGlvbiB0ZXN0KCkgewogCiAgICAgZnVuY3Rpb24gb25Hb3RPdXRlckhUTUwocmVzcG9uc2Up
IHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNlKTsKLSAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coIlxuIiArIHJlc3BvbnNlLnJlc3VsdC5vdXRlckhUTUwucmVw
bGFjZSgiIGNsYXNzPVwiZXhcIiIsICIiKSk7CisgICAgICAgIHZhciBvdXRlckhUTUwgPSByZXNw
b25zZS5yZXN1bHQub3V0ZXJIVE1MOworICAgICAgICBvdXRlckhUTUwgPSBvdXRlckhUTUwucmVw
bGFjZSgiIGNsYXNzPVwiZXhcIiIsICIiKTsKKyAgICAgICAgb3V0ZXJIVE1MID0gb3V0ZXJIVE1M
LnJlcGxhY2UoIjtiYXNlNjQsUjBsR09EbGhFQUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1QkFF
QUFBSUFMQUFBQUFBUUFCRUFBQUlsbEI4Wng2M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9XU1hh
NXI3Q0pOT3ZyYTFSQVFBNyIsICIuLi4iKQorICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiXG4i
ICsgb3V0ZXJIVE1MKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFuZCgiRE9NLmdl
dEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZSIsIHsibm9kZUlkIjogZXhhbXBsZXNbZXhh
bXBsZXMubGVuZ3RoLTFdfSwgb25Hb3RBWFByb3BzKTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBv
bkdvdEFYUHJvcHMocmVzcG9uc2UpIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVy
cm9yKHJlc3BvbnNlKTsKLSAgICAgICAgZm9yIChwcm9wIGluIHJlc3BvbnNlLnJlc3VsdC5wcm9w
ZXJ0aWVzKSB7Ci0gICAgICAgICAgICBpZiAocHJvcCAhPT0gIm5vZGVJZCIpCi0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIiAgICAiICsgcHJvcCArICI6ICIgKyByZXNwb25zZS5y
ZXN1bHQucHJvcGVydGllc1twcm9wXSk7CisgICAgICAgIGZvciAoa2V5IGluIHJlc3BvbnNlLnJl
c3VsdC5wcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICB2YXIgdmFsdWUgPSByZXNwb25zZS5yZXN1
bHQucHJvcGVydGllc1trZXldOworICAgICAgICAgICAgaWYgKGtleSA9PT0gIm5vZGVJZCIpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBlbHNlIGlmIChrZXkgPT09ICJh
eFBhcmVudE5vZGVJZCIpCisgICAgICAgICAgICAgICAgdmFsdWUgPSAodmFsdWUgPT09IDEpID8g
IjEgKCNkb2N1bWVudCkiIDogIihzdXBwcmVzc2VkKSI7CisgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmxvZygiICAgICIgKyBrZXkgKyAiOiAiICsgdmFsdWUpOwogICAgICAgICB9CiAgICAgICAg
IGV4YW1wbGVzLnBvcCgpOwogICAgICAgICBsb29wKCk7Cg==
</data>
<flag name="review"
          id="250839"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226610</attachid>
            <date>2014-03-13 12:20:24 -0700</date>
            <delta_ts>2014-03-14 02:04:20 -0700</delta_ts>
            <desc>patch with review feedback</desc>
            <filename>webkit129943.diff</filename>
            <type>text/plain</type>
            <size>23738</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAzLTEzICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJOiBF
eHBvc2UgQWNjZXNzaWJpbGl0eSBUcmVlIHBhcmVudCBvZiB0aGUgc2VsZWN0ZWQgbm9kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5OTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGluc3Bl
Y3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwK
KworICAgICAgICBXZWIgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3RvciBub3cgZGlzcGxheXMg
YSBsaW5rIHRvIHRoZSBBWCBwYXJlbnQgbm9kZSwKKyAgICAgICAgYmVjYXVzZSBpdCdzIG5vdCBh
IDE6MSBtYXRjaCB3aXRoIHRoZSBET01Ob2RlIHBhcmVudC4KKworICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHA6IFN1cHBvcnQgZm9yIERPTU5vZGUucm9sZSBhbmQgQWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQuCisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKTogU3VwcG9ydCBmb3Igcm9sZS4K
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzKTogU3VwcG9ydCBmb3IgYXhQYXJlbnROb2RlSWQuCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uOiBBZGRlZCBheFBhcmVudE5vZGVJZCBvbiBB
Y2Nlc3NpYmlsaXR5UHJvcGVydGllcywgYW5kIHJvbGUgb24gRE9NTm9kZS4KKwogMjAxNC0wMy0x
MiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgUmVwbGF5OiBh
ZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIG1lbW9pemluZyBub25kZXRlcm1pbmlzdGljIERPTSBBUElz
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAJKHJldmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTQsNiArMTMxNCwxNiBAQCBQYXNz
UmVmUHRyPEluc3BlY3Rvcjo6VHlwZUJ1aWxkZXI6OkRPTTo6CiAgICAgICAgIHZhbHVlLT5zZXRO
YW1lKGF0dHJpYnV0ZS0+bmFtZSgpKTsKICAgICAgICAgdmFsdWUtPnNldFZhbHVlKGF0dHJpYnV0
ZS0+dmFsdWUoKSk7CiAgICAgfQorCisgICAgLy8gTmVlZCB0byBlbmFibGUgQVggdG8gZ2V0IHRo
ZSBjb21wdXRlZCByb2xlLgorICAgIGlmICghV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6YWNjZXNz
aWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAgV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6ZW5hYmxl
QWNjZXNzaWJpbGl0eSgpOworCisgICAgaWYgKEFYT2JqZWN0Q2FjaGUqIGF4T2JqZWN0Q2FjaGUg
PSBub2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKSkgeworICAgICAgICBpZiAoQWNjZXNz
aWJpbGl0eU9iamVjdCogYXhPYmplY3QgPSBheE9iamVjdENhY2hlLT5nZXRPckNyZWF0ZShub2Rl
KSkKKyAgICAgICAgICAgIHZhbHVlLT5zZXRSb2xlKGF4T2JqZWN0LT5jb21wdXRlZFJvbGVTdHJp
bmcoKSk7CisgICAgfQorCiAgICAgcmV0dXJuIHZhbHVlLnJlbGVhc2UoKTsKIH0KIApAQCAtMTQy
Myw2ICsxNDMzLDcgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpBY2Nlc3NpYmlsaQog
ICAgIFN0cmluZyBpbnZhbGlkID0gImZhbHNlIjsgLy8gU3RyaW5nIHZhbHVlczogdHJ1ZSwgZmFs
c2UsIHNwZWxsaW5nLCBncmFtbWFyLCBldGMuCiAgICAgYm9vbCBoaWRkZW4gPSBmYWxzZTsKICAg
ICBTdHJpbmcgbGFiZWw7IC8vIEZJWE1FOiBXYWl0aW5nIG9uIGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTIxMTM0CisgICAgTm9kZSogYXhQYXJlbnROb2RlID0gbm9kZTsKICAgICBib29sIHByZXNzZWQg
PSBmYWxzZTsKICAgICBib29sIHJlYWRvbmx5ID0gZmFsc2U7CiAgICAgYm9vbCByZXF1aXJlZCA9
IGZhbHNlOwpAQCAtMTQzNiw2ICsxNDQ3LDkgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9N
OjpBY2Nlc3NpYmlsaQogICAgIGlmIChBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlID0gbm9k
ZS0+ZG9jdW1lbnQoKS5heE9iamVjdENhY2hlKCkpIHsKICAgICAgICAgaWYgKEFjY2Vzc2liaWxp
dHlPYmplY3QqIGF4T2JqZWN0ID0gYXhPYmplY3RDYWNoZS0+Z2V0T3JDcmVhdGUobm9kZSkpIHsK
IAorICAgICAgICAgICAgaWYgKEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudE9iamVjdCA9IGF4
T2JqZWN0LT5wYXJlbnRPYmplY3RVbmlnbm9yZWQoKSkKKyAgICAgICAgICAgICAgICBheFBhcmVu
dE5vZGUgPSBwYXJlbnRPYmplY3QtPm5vZGUoKTsKKyAgICAgICAgICAgIAogICAgICAgICAgICAg
c3VwcG9ydHNDaGVja2VkID0gYXhPYmplY3QtPnN1cHBvcnRzQ2hlY2tlZCgpOwogICAgICAgICAg
ICAgaWYgKHN1cHBvcnRzQ2hlY2tlZCkgewogICAgICAgICAgICAgICAgIGludCBjaGVja1ZhbHVl
ID0gYXhPYmplY3QtPmNoZWNrYm94T3JSYWRpb1ZhbHVlKCk7IC8vIEVsZW1lbnQgdXNpbmcgYXJp
YS1jaGVja2VkLgpAQCAtMTQ4NCw2ICsxNDk4LDggQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6
RE9NOjpBY2Nlc3NpYmlsaQogICAgICAgICAuc2V0Tm9kZUlkKHB1c2hOb2RlUGF0aFRvRnJvbnRl
bmQobm9kZSkpOwogCiAgICAgaWYgKGV4aXN0cykgeworICAgICAgICBpZiAoYXhQYXJlbnROb2Rl
ICYmIGF4UGFyZW50Tm9kZSAhPSBub2RlKQorICAgICAgICAgICAgdmFsdWUtPnNldEF4UGFyZW50
Tm9kZUlkKHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQoYXhQYXJlbnROb2RlKSk7CiAgICAgICAgIGlm
IChzdXBwb3J0c0NoZWNrZWQpCiAgICAgICAgICAgICB2YWx1ZS0+c2V0Q2hlY2tlZChjaGVja2Vk
KTsKICAgICAgICAgaWYgKGRpc2FibGVkKQpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL0RPTS5qc29uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9ET00uanNvbgkocmV2aXNpb24gMTY1NTMzKQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw4
IEBACiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAiTmV0d29y
ay5GcmFtZUlkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkZyYW1lIElEIGZv
ciBmcmFtZSBvd25lciBlbGVtZW50cy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJj
b250ZW50RG9jdW1lbnQiLCAiJHJlZiI6ICJOb2RlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIkNvbnRlbnQgZG9jdW1lbnQgZm9yIGZyYW1lIG93bmVyIGVsZW1lbnRzLiIgfSwK
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNoYWRvd1Jvb3RzIiwgInR5cGUiOiAiYXJyYXki
LCAib3B0aW9uYWwiOiB0cnVlLCAiaXRlbXMiOiB7ICIkcmVmIjogIk5vZGUiIH0sICJkZXNjcmlw
dGlvbiI6ICJTaGFkb3cgcm9vdCBsaXN0IGZvciBnaXZlbiBlbGVtZW50IGhvc3QuIiB9LAotICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidGVtcGxhdGVDb250ZW50IiwgIiRyZWYiOiAiTm9kZSIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb250ZW50IGRvY3VtZW50IGZyYWdt
ZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50cyIgfQorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
dGVtcGxhdGVDb250ZW50IiwgIiRyZWYiOiAiTm9kZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJDb250ZW50IGRvY3VtZW50IGZyYWdtZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50
cyIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJvbGUiLCAidHlwZSI6ICJzdHJpbmci
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29tcHV0ZWQgdmFsdWUgZm9yIGZp
cnN0IHJlY29nbml6ZWQgcm9sZSB0b2tlbiwgZGVmYXVsdCByb2xlIHBlciBlbGVtZW50LCBvciBv
dmVycmlkZGVuIHJvbGUuIiB9CiAgICAgICAgICAgICBdLAogICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkRPTSBpbnRlcmFjdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiB0ZXJtcyBvZiBtaXJyb3Ig
b2JqZWN0cyB0aGF0IHJlcHJlc2VudCB0aGUgYWN0dWFsIERPTSBub2Rlcy4gRE9NTm9kZSBpcyBh
IGJhc2Ugbm9kZSBtaXJyb3IgdHlwZS4iCiAgICAgICAgIH0sCkBAIC01OSw2ICs2MCw3IEBACiAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBhY2Nlc3NpYmls
aXR5IHByb3BlcnRpZXMuIiwKICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAg
ICAgICAicHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImF4UGFyZW50
Tm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIjxjb2RlPkRPTU5vZGU8L2NvZGU+IGlkIG9mIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgcGFy
ZW50IG9iamVjdCBpZiBhdmFpbGFibGUuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
Y2hlY2tlZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJlbnVtIjogWyJ0
cnVlIiwgImZhbHNlIiwgIm1peGVkIl0sICJkZXNjcmlwdGlvbiI6ICJDaGVja2VkIHN0YXRlIG9m
IGNlcnRhaW4gZm9ybSBjb250cm9scy4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJk
aXNhYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRp
b24iOiAiRGlzYWJsZWQgc3RhdGUgb2YgZm9ybSBjb250cm9scy4iIH0sCiAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJleGlzdHMiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjog
IkluZGljYXRlcyB3aGV0aGVyIHRoZXJlIGlzIGFuIGV4aXN0aW5nIEFYIG9iamVjdCBmb3IgdGhl
IERPTSBub2RlLiBJZiB0aGlzIGlzIGZhbHNlLCBhbGwgdGhlIG90aGVyIHByb3BlcnRpZXMgd2ls
bCBiZSBkZWZhdWx0IHZhbHVlcy4iIH0sCkluZGV4OiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2NTUzMykKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0wMy0xMyAgSmFtZXMgQ3JhaWcgIDxqY3Jh
aWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYSTogRXhwb3NlIEFjY2Vz
c2liaWxpdHkgVHJlZSBwYXJlbnQgb2YgdGhlIHNlbGVjdGVkIG5vZGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyOTk0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBpbnNwZWN0b3ItcHJvdG9j
b2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCisKKyAgICAgICAg
V2ViIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3Igbm93IGRpc3BsYXlzIGEgbGluayB0byB0
aGUgQVggcGFyZW50IG5vZGUsCisgICAgICAgIGJlY2F1c2UgaXQncyBub3QgYSAxOjEgbWF0Y2gg
d2l0aCB0aGUgRE9NTm9kZSBwYXJlbnQuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6IG5ldyAiUGFyZW50IiBzdHJpbmcuCisgICAgICAgICog
VXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qczogVXBkYXRpbmcgbGlua2lmeU5vZGVS
ZWZlcmVuY2UgdG8gaW5jbHVkZSByb2xlOyBhZGRpbmcgbmV3IHJvbGVTZWxlY3RvckZvck5vZGUg
bWV0aG9kLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanM6IEFYIFBh
cmVudCBzdXBwb3J0IGFuZCBhZGRpbmcgcm9sZSB0byBET01Ob2RlICh3aWxsIGJlIGV4cG9zZWQg
YXMgQVggUGFyZW50IGxpbmsgYW5kIGluIG92ZXJsYXlzKS4KKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOiBBY2Nlc3NpYmlsaXR5IHBh
cmVudCBub2RlLgorCiAyMDE0LTAzLTEyICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogW2lPUyA2XSB1bmNhdWdodCBleGNlcHRp
b24gYXR0ZW1wdGluZyB0byB1c2UgQ1NTQWdlbnQuZ2V0TmFtZWRGbG93Q29sbGVjdGlvbgpJbmRl
eDogU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCShyZXZpc2lvbiAxNjU1MzMpCisrKyBT
b3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yOTgsNiArMjk4LDcgQEAKIABsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGEAZwBlACAASQBzAHMAdQBlACIAXQAgAD0AIAAiAFAA
YQBnAGUAIABJAHMAcwB1AGUAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMA
WwAiAFAAYQBpAG4AdAAiAF0AIAA9ACAAIgBQAGEAaQBuAHQAIgA7AAogAGwAbwBjAGEAbABpAHoA
ZQBkAFMAdAByAGkAbgBnAHMAWwAiAFAAYQBpAG4AdABzACIAXQAgAD0AIAAiAFAAYQBpAG4AdABz
ACIAOwAKKwBsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGEAcgBlAG4AdAAi
AF0AIAA9ACAAIgBQAGEAcgBlAG4AdAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBu
AGcAcwBbACIAUABhAHQAaAAiAF0AIAA9ACAAIgBQAGEAdABoACIAOwAKIABsAG8AYwBhAGwAaQB6
AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGEAdQBzAGUAIABzAGMAcgBpAHAAdAAgAGUAeABlAGMA
dQB0AGkAbwBuACAAKAAlAHMAIABvAHIAIAAlAHMAKQAiAF0AIAA9ACAAIgBQAGEAdQBzAGUAIABz
AGMAcgBpAHAAdAAgAGUAeABlAGMAdQB0AGkAbwBuACAAKAAlAHMAIABvAHIAIAAlAHMAKQAiADsA
CiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUABsAGEAeQAgAFMAbwB1AG4A
ZAAiAF0AIAA9ACAAIgBQAGwAYQB5ACAAUwBvAHUAbgBkACIAOwAKSW5kZXg6IFNvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvRE9NVXRpbGl0aWVzLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvRE9NVXRpbGl0aWVz
LmpzCShyZXZpc2lvbiAxNjU1MzMpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qcwkod29ya2luZyBjb3B5KQpAQCAtNTksMTIgKzU5LDI0
IEBAIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvck5vZGUgPSBmdW5jdGkKICAgICByZXR1cm4g
dGl0bGU7CiB9CiAKK1dlYkluc3BlY3Rvci5yb2xlU2VsZWN0b3JGb3JOb2RlID0gZnVuY3Rpb24o
bm9kZSkKK3sKKyAgICAvLyBUaGlzIGlzIHByb3Bvc2VkIHN5bnRheCBmb3IgQ1NTIDQgY29tcHV0
ZWQgcm9sZSBzZWxlY3RvciA6cm9sZShmb28pIGFuZCBzdWJqZWN0IHRvIGNoYW5nZS4KKyAgICAv
LyBTZWUgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LXN0eWxlLzIwMTNK
dWwvMDEwNC5odG1sCisgICAgdmFyIHRpdGxlID0gIiI7CisgICAgdmFyIHJvbGUgPSBub2RlLmNv
bXB1dGVkUm9sZSgpOworICAgIGlmIChyb2xlKQorICAgICAgICB0aXRsZSA9ICI6cm9sZSgiICsg
cm9sZSArICIpIjsKKyAgICByZXR1cm4gdGl0bGU7Cit9CisKIFdlYkluc3BlY3Rvci5saW5raWZ5
Tm9kZVJlZmVyZW5jZSA9IGZ1bmN0aW9uKG5vZGUpCiB7CiAgICAgdmFyIGRpc3BsYXlOYW1lID0g
V2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yTm9kZShub2RlKTsKIAogICAgIHZhciBsaW5rID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwogICAgIGxpbmsuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoZGlzcGxheU5hbWUpKTsKKyAgICBsaW5rLnNldEF0dHJpYnV0
ZSgicm9sZSIsICJsaW5rIik7CiAgICAgbGluay5jbGFzc05hbWUgPSAibm9kZS1saW5rIjsKICAg
ICBsaW5rLnRpdGxlID0gZGlzcGxheU5hbWU7CiAKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCShyZXZpc2lvbiAx
NjU1MzMpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9N
Tm9kZS5qcwkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBXZWJJbnNwZWN0b3IuRE9N
Tm9kZSA9IGZ1bmN0aW9uKGRvbUFnZW50CiAgICAgdGhpcy5fbm9kZU5hbWUgPSBwYXlsb2FkLm5v
ZGVOYW1lOwogICAgIHRoaXMuX2xvY2FsTmFtZSA9IHBheWxvYWQubG9jYWxOYW1lOwogICAgIHRo
aXMuX25vZGVWYWx1ZSA9IHBheWxvYWQubm9kZVZhbHVlOworICAgIHRoaXMuX2NvbXB1dGVkUm9s
ZSA9IHBheWxvYWQucm9sZTsKIAogICAgIGlmICh0aGlzLl9ub2RlVHlwZSA9PT0gTm9kZS5ET0NV
TUVOVF9OT0RFKQogICAgICAgICB0aGlzLm93bmVyRG9jdW1lbnQgPSB0aGlzOwpAQCAtMjA2LDYg
KzIwNywxNCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgfSwKICAg
ICAKICAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICovCisgICAgY29tcHV0
ZWRSb2xlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fY29tcHV0ZWRS
b2xlOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICAq
LwogICAgIGhhc0F0dHJpYnV0ZXM6IGZ1bmN0aW9uKCkKQEAgLTQ0Nyw2ICs0NTYsNyBAQCBXZWJJ
bnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHsKICAgICAgICAgICAgIGlm
ICghZXJyb3IgJiYgY2FsbGJhY2sgJiYgYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIHsKICAgICAg
ICAgICAgICAgICBjYWxsYmFjayh7CisgICAgICAgICAgICAgICAgICAgIGF4UGFyZW50Tm9kZUlk
OiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5heFBhcmVudE5vZGVJZCwKICAgICAgICAgICAgICAg
ICAgICAgY2hlY2tlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuY2hlY2tlZCwKICAgICAgICAg
ICAgICAgICAgICAgZGlzYWJsZWQ6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmRpc2FibGVkLAog
ICAgICAgICAgICAgICAgICAgICBleGlzdHM6IGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmV4aXN0
cywKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCShy
ZXZpc2lvbiAxNjU1MzMpCisrKyBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNjQs
NiArNjQsNyBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgCiAgICAg
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSWdub3JlZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3Iu
RGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJZ25vcmVkIikp
OwogICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cgPSBuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52
YWxpZCIpKTsKICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVMYWJlbFJvdyA9IG5ldyBX
ZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJMYWJlbCIpKTsKKyAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVQYXJlbnRSb3cgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0
cmluZygiUGFyZW50IikpOwogICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVByZXNzZWRS
b3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiUHJlc3NlZCIpKTsKICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVS
ZWFkb25seVJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJSZWFkb25seSIpKTsKICAgICAgICAgdGhpcy5fYWNjZXNzaWJp
bGl0eU5vZGVSZXF1aXJlZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1w
bGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXF1aXJlZCIpKTsKQEAgLTI3OCw2ICsyNzks
MTQgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLgogCiAgICAgICAg
ICAgICBpZiAoYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMgJiYgYWNjZXNzaWJpbGl0eVByb3BlcnRp
ZXMuZXhpc3RzKSB7CiAKKyAgICAgICAgICAgICAgICB2YXIgYXhQYXJlbnROb2RlTGluayA9IG51
bGw7CisgICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmF4UGFyZW50
Tm9kZUlkICE9PSB1bmRlZmluZWQpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGF4UGFyZW50
Tm9kZSA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQoYWNjZXNzaWJpbGl0
eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQpOworICAgICAgICAgICAgICAgICAgICBheFBhcmVu
dE5vZGVMaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2RlUmVmZXJlbmNlKGF4UGFyZW50Tm9k
ZSk7CisgICAgICAgICAgICAgICAgICAgIGF4UGFyZW50Tm9kZUxpbmsudGl0bGUgKz0gV2ViSW5z
cGVjdG9yLnJvbGVTZWxlY3RvckZvck5vZGUoYXhQYXJlbnROb2RlKTsKKyAgICAgICAgICAgICAg
ICAgICAgYXhQYXJlbnROb2RlTGluay50ZXh0Q29udGVudCA9IGF4UGFyZW50Tm9kZS5jb21wdXRl
ZFJvbGUoKSB8fCBheFBhcmVudE5vZGVMaW5rLnRpdGxlOworICAgICAgICAgICAgICAgIH0KKwog
ICAgICAgICAgICAgICAgIHZhciBjaGVja2VkID0gIiI7CiAgICAgICAgICAgICAgICAgaWYgKGFj
Y2Vzc2liaWxpdHlQcm9wZXJ0aWVzLmNoZWNrZWQgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAg
ICAgICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuY2hlY2tlZCA9PT0gRE9NQWdl
bnQuQWNjZXNzaWJpbGl0eVByb3BlcnRpZXNDaGVja2VkLlRydWUpCkBAIC0zMzAsNiArMzM5LDcg
QEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLgogICAgICAgICAgICAg
ICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSWdub3JlZFJvdy52YWx1ZSA9IGlnbm9yZWQ7CiAg
ICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVJbnZhbGlkUm93LnZhbHVlID0g
aW52YWxpZDsKICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93
LnZhbHVlID0gbGFiZWw7CisgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVQ
YXJlbnRSb3cudmFsdWUgPSBheFBhcmVudE5vZGVMaW5rIHx8ICIiOwogICAgICAgICAgICAgICAg
IHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUHJlc3NlZFJvdy52YWx1ZSA9IHByZXNzZWQ7CiAgICAg
ICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSZWFkb25seVJvdy52YWx1ZSA9IHJl
YWRvbmx5OwogICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUmVxdWlyZWRS
b3cudmFsdWUgPSByZXF1aXJlZDsKQEAgLTM0Miw2ICszNTIsNyBAQCBXZWJJbnNwZWN0b3IuRE9N
Tm9kZURldGFpbHNTaWRlYmFyUGFuZWwuCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vz
c2liaWxpdHlOb2RlSWdub3JlZFJvdywKICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNz
aWJpbGl0eU5vZGVSb2xlUm93LAogICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmls
aXR5Tm9kZUxhYmVsUm93LAorICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5
Tm9kZVBhcmVudFJvdywKIAogICAgICAgICAgICAgICAgICAgICAvLyBQcm9wZXJ0aWVzIGV4cG9z
ZWQgZm9yIGFsbCBpbnB1dC10eXBlIGVsZW1lbnRzLgogICAgICAgICAgICAgICAgICAgICB0aGlz
Ll9hY2Nlc3NpYmlsaXR5Tm9kZURpc2FibGVkUm93LApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1NTMz
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTQtMDMtMTMgIEphbWVzIENyYWlnICA8amNyYWlnQGFwcGxlLmNvbT4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBBWEk6IEV4cG9zZSBBY2Nlc3NpYmlsaXR5IFRyZWUgcGFyZW50IG9m
IHRoZSBzZWxlY3RlZCBub2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjk5NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0czogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5
UHJvcGVydGllc0Zvck5vZGUuaHRtbAorCisgICAgICAgIFdlYiBBY2Nlc3NpYmlsaXR5IE5vZGUg
SW5zcGVjdG9yIG5vdyBkaXNwbGF5cyBhIGxpbmsgdG8gdGhlIEFYIHBhcmVudCBub2RlLAorICAg
ICAgICBiZWNhdXNlIGl0J3Mgbm90IGEgMToxIG1hdGNoIHdpdGggdGhlIERPTU5vZGUgcGFyZW50
LgorCisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5UHJv
cGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3BlY3Rvci1wcm90b2Nv
bC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWw6CisKIDIwMTQtMDMt
MTIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTdWJwaXhlbCBy
ZW5kZXJpbmc6IExheW91dFRlc3RzL2NvbXBvc2l0aW5nL2hpZHBpLXNpbXBsZS1jb250YWluZXIt
bGF5ZXItb24tZGV2aWNlLXBpeGVsLWV4cGVjdGVkLmh0bWwgZmFpbHMgb24gTW91bnRhaW4gTGlv
biBXSzIgZGVidWcKSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0
QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE2NTUzMykKKysrIExheW91dFRl
c3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JO
b2RlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzOSArMSw0NSBAQAogQ2hlY2tp
bmcgV2ViIEluc3BlY3RvciBwcm90b2NvbCBmb3IgdGhlIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNw
ZWN0b3IuCiAKLVRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCitUb3RhbCBlbGVtZW50
cyB0byBiZSB0ZXN0ZWQ6IDUxLgogCiA8bGkgcm9sZT0idHJlZWl0ZW0iIGFyaWEtZXhwYW5kZWQ9
ImZhbHNlIj5jb2xsYXBzZWQ8L2xpPgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAg
ICByb2xlOiB0cmVlaXRlbQorICAgIGF4UGFyZW50Tm9kZUlkOiAoc3VwcHJlc3NlZCkKICAgICBl
eHBhbmRlZDogZmFsc2UKIAogPGxpIHJvbGU9InRyZWVpdGVtIiBhcmlhLWV4cGFuZGVkPSJ0cnVl
Ij5leHBhbmRlZDwvbGk+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6
IHRyZWVpdGVtCisgICAgYXhQYXJlbnROb2RlSWQ6IChzdXBwcmVzc2VkKQogICAgIGV4cGFuZGVk
OiB0cnVlCiAKIDxkaXYgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJmYWxzZSI+bm90IHNlbGVj
dGVkPC9kaXY+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHRhYgor
ICAgIGF4UGFyZW50Tm9kZUlkOiAoc3VwcHJlc3NlZCkKIAogPGRpdiByb2xlPSJ0YWIiIGFyaWEt
c2VsZWN0ZWQ9InRydWUiPnNlbGVjdGVkPC9kaXY+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFi
ZWw6IAogICAgIHJvbGU6IHRhYgorICAgIGF4UGFyZW50Tm9kZUlkOiAoc3VwcHJlc3NlZCkKICAg
ICBzZWxlY3RlZDogdHJ1ZQogCiA8ZGl2IHJvbGU9Im9wdGlvbiIgYXJpYS1zZWxlY3RlZD0iZmFs
c2UiPm5vdCBzZWxlY3RlZDwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAg
ICByb2xlOiBvcHRpb24KKyAgICBheFBhcmVudE5vZGVJZDogKHN1cHByZXNzZWQpCiAKIDxkaXYg
cm9sZT0ib3B0aW9uIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj5zZWxlY3RlZDwvZGl2PgogICAgIGV4
aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBvcHRpb24KKyAgICBheFBhcmVudE5v
ZGVJZDogKHN1cHByZXNzZWQpCiAgICAgc2VsZWN0ZWQ6IHRydWUKIAogPG9wdGlvbj5ub3Qgc2Vs
ZWN0ZWQ8L29wdGlvbj4KQEAgLTQ2LDEyICs1MiwxMiBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0
ZXN0ZWQ6IDUwLgogICAgIGxhYmVsOiAKICAgICByb2xlOiAKIAotPGltZyBzcmM9Ii4vNDA0Lmdp
ZiIgYWx0PSJ4IiBzdHlsZT0iZGlzcGxheTpub25lOyI+Cis8aW1nIHNyYz0iZGF0YTppbWFnZS9n
aWYuLi4iIGFsdD0ieCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgIGV4aXN0czogZmFsc2UK
ICAgICBsYWJlbDogCiAgICAgcm9sZTogCiAKLTxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCIg
YXJpYS1oaWRkZW49InRydWUiPgorPGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmLi4uIiBhbHQ9Ingi
IGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAg
cm9sZTogaW1nCkBAIC01OSwxNyArNjUsMjIgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVk
OiA1MC4KICAgICBpZ25vcmVkQnlEZWZhdWx0OiB0cnVlCiAgICAgaGlkZGVuOiB0cnVlCiAKLTxp
bWcgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCI+Cis8aW1nIHNyYz0iZGF0YTppbWFnZS9naWYuLi4i
IGFsdD0ieCI+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IGltZwog
Ci08aW1nIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+Cis8aW1nIHNyYz0iZGF0YTppbWFnZS9naWYu
Li4iIGFsdD0iIj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogaW1n
CiAgICAgaWdub3JlZDogdHJ1ZQogCis8aW1nIHNyYz0iZGF0YTppbWFnZS9naWYuLi4iPgorICAg
IGV4aXN0czogdHJ1ZQorICAgIGxhYmVsOiAKKyAgICByb2xlOiBpbWcKKwogPGltZyBzcmM9Ii4v
NDA0LmdpZiI+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IApAQCAtOTQsNiArMTA1LDcg
QEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAg
ICBsYWJlbDogCiAgICAgcm9sZTogcmFkaW8KKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3Vt
ZW50KQogICAgIGNoZWNrZWQ6IGZhbHNlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTEwMSw2
ICsxMTMsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czog
dHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiByYWRpbworICAgIGF4UGFyZW50Tm9kZUlkOiAx
ICgjZG9jdW1lbnQpCiAgICAgY2hlY2tlZDogZmFsc2UKICAgICByZXF1aXJlZDogZmFsc2UKIApA
QCAtMTA4LDYgKzEyMSw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAg
ZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHJhZGlvCisgICAgYXhQYXJlbnRO
b2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiB0cnVlCiAgICAgcmVxdWlyZWQ6IGZh
bHNlCiAKQEAgLTExNSw2ICsxMjksNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUw
LgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiByYWRpbworICAgIGF4
UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgY2hlY2tlZDogZmFsc2UKICAgICByZXF1
aXJlZDogZmFsc2UKIApAQCAtMTM2LDYgKzE1MSw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRl
c3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IGNoZWNr
Ym94CisgICAgYXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiBmYWxz
ZQogICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xNDMsNiArMTU5LDcgQEAgVG90YWwgZWxlbWVu
dHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAg
cm9sZTogY2hlY2tib3gKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGNo
ZWNrZWQ6IG1peGVkCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTE1MCw2ICsxNjcsNyBAQCBU
b3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxh
YmVsOiAKICAgICByb2xlOiBjaGVja2JveAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1l
bnQpCiAgICAgY2hlY2tlZDogdHJ1ZQogICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xNTcsNiAr
MTc1LDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRy
dWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogY2hlY2tib3gKKyAgICBheFBhcmVudE5vZGVJZDog
MSAoI2RvY3VtZW50KQogICAgIGNoZWNrZWQ6IGZhbHNlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAK
QEAgLTE3OCw2ICsxOTcsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAg
IGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiAKKyAgICBheFBhcmVudE5vZGVJ
ZDogMSAoI2RvY3VtZW50KQogICAgIGRpc2FibGVkOiB0cnVlCiAgICAgcmVhZG9ubHk6IHRydWUK
ICAgICByZXF1aXJlZDogZmFsc2UKQEAgLTE5Myw2ICsyMTMsNyBAQCBUb3RhbCBlbGVtZW50cyB0
byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xl
OiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIHJlYWRvbmx5OiB0cnVl
CiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTI0OSw2ICsyNzAsNyBAQCBUb3RhbCBlbGVtZW50
cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICBy
b2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIHByZXNzZWQ6IGZh
bHNlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTI1Niw2ICsyNzgsNyBAQCBUb3RhbCBlbGVt
ZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAg
ICByb2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIHByZXNzZWQ6
IGZhbHNlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTI2MywxNyArMjg2LDIwIEBAIFRvdGFs
IGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6
IAogICAgIHJvbGU6IGJ1dHRvbgorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAg
ICAgZGlzYWJsZWQ6IHRydWUKIAogPGRpdiByb2xlPSJidXR0b24iIHRhYmluZGV4PSIwIj48L2Rp
dj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogYnV0dG9uCisgICAg
YXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKIAogPHNwYW4gYXJpYS1oaWRkZW49InRydWUi
Pjwvc3Bhbj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAg
YXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAgICAgaWdu
b3JlZEJ5RGVmYXVsdDogdHJ1ZQogICAgIGhpZGRlbjogdHJ1ZQpAQCAtMjgyLDYgKzMwOCw3IEBA
IFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAg
bGFiZWw6IAogICAgIHJvbGU6IAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAg
ICAgaWdub3JlZDogdHJ1ZQogICAgIGlnbm9yZWRCeURlZmF1bHQ6IHRydWUKIApAQCAtMjg5LDYg
KzMxNiw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0
cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9j
dW1lbnQpCiAgICAgaWdub3JlZDogdHJ1ZQogICAgIGlnbm9yZWRCeURlZmF1bHQ6IHRydWUKICAg
ICBoaWRkZW46IHRydWUKQEAgLTI5NywyNCArMzI1LDI4IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJl
IHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IAor
ICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgaWdub3JlZDogdHJ1ZQogCiA8
ZGl2IHJvbGU9InByZXNlbnRhdGlvbiI+PGRpdj48L2Rpdj48L2Rpdj4KICAgICBleGlzdHM6IHRy
dWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogcHJlc2VudGF0aW9uCisgICAgYXhQYXJlbnROb2Rl
SWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAKIDxkaXY+PGRpdj48L2Rpdj48
L2Rpdj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQ
YXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAKIDxzY3JpcHQg
c3R5bGU9ImRpc3BsYXk6YmxvY2s7Ij48L3NjcmlwdD4KICAgICBleGlzdHM6IHRydWUKICAgICBs
YWJlbDogCiAgICAgcm9sZTogZ3JvdXAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50
KQogICAgIGlnbm9yZWQ6IHRydWUKIAogPHNjcmlwdD48L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2luc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JO
b2RlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2Rv
bS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUuaHRtbAkocmV2aXNpb24gMTY1NTMz
KQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5
UHJvcGVydGllc0Zvck5vZGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAog
PGJ1dHRvbiBjbGFzcz0iZXgiPjwvYnV0dG9uPgogPGlucHV0IGNsYXNzPSJleCIgdHlwZT0iYnV0
dG9uIj4KIAorPCEtLSBGSVhNRTogSW5wdXRzIG1pc3NpbmcgYXhQYXJlbnROb2RlSWQgaHR0cDov
L3dlYmtpdC5vcmcvYi8xMzAxODEgLS0+CiA8aW5wdXQgY2xhc3M9ImV4Ij4KIDxpbnB1dCBjbGFz
cz0iZXgiIHJlcXVpcmVkPgogPGlucHV0IGNsYXNzPSJleCIgYXJpYS1yZXF1aXJlZD0idHJ1ZSIg
dmFsdWU9InJlcXVpcmVkIj4KQEAgLTUyLDExICs1MywxMyBAQAogPGlucHV0IGNsYXNzPSJleCIg
YXJpYS1oaWRkZW49InRydWUiPgogPGlucHV0IGNsYXNzPSJleCIgc3R5bGU9ImRpc3BsYXk6bm9u
ZTsiPgogCi08aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiPgotPGltZyBjbGFzcz0iZXgi
IHNyYz0iLi80MDQuZ2lmIiBhbHQ9IiI+Ci08aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYi
IGFsdD0ieCI+Ci08aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCIgYXJpYS1o
aWRkZW49InRydWUiPgotPGltZyBjbGFzcz0iZXgiIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IngiIHN0
eWxlPSJkaXNwbGF5Om5vbmU7Ij4KKzwhLS0gRklYTUU6IEltYWdlcyBtaXNzaW5nIGF4UGFyZW50
Tm9kZUlkIGh0dHA6Ly93ZWJraXQub3JnL2IvMTMwMTgxIC0tPgorPGltZyBjbGFzcz0iZXgiIHNy
Yz0iLi80MDQuZ2lmIj48IS0tIGltZzpub3QoW2FsdF0pIGlnbm9yZWQgaWYgaXQgZG9lcyBub3Qg
bG9hZC4gIC0tPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIw
bEdPRGxoRUFBUkFKRUNBT0hoNFVwS1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJ
bGxCOFp4NjNiNG90U1VXY3Z5dXo1RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciPgor
PGltZyBjbGFzcz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRUFBUkFK
RUNBT0hoNFVwS1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJbGxCOFp4NjNiNG90
U1VXY3Z5dXo1RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciIGFsdD0iIj4KKzxpbWcg
Y2xhc3M9ImV4IiBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEVBQVJBSkVDQU9I
aDRVcEtTZ0FBQUFBQUFDSDVCQUVBQUFJQUxBQUFBQUFRQUJFQUFBSWxsQjhaeDYzYjRvdFNVV2N2
eXV6NUQ0YmlTRDdBaVpyb1dTWGE1cjdDSk5PdnJhMVJBUUE3IiBhbHQ9IngiPgorPGltZyBjbGFz
cz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoRUFBUkFKRUNBT0hoNFVw
S1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJbGxCOFp4NjNiNG90U1VXY3Z5dXo1
RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciIGFsdD0ieCIgYXJpYS1oaWRkZW49InRy
dWUiPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxo
RUFBUkFKRUNBT0hoNFVwS1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJbGxCOFp4
NjNiNG90U1VXY3Z5dXo1RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciIGFsdD0ieCIg
c3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogCiA8c2VsZWN0IG11bHRpcGxlPgogICAgIDxvcHRpb24g
Y2xhc3M9ImV4IiBzZWxlY3RlZD5GSVhNRTogU2VsZWN0ZWQgaXMgZmFsc2UuIEV4cGVjdGVkIHRy
dWUuIGh0dHA6Ly93ZWJraXQub3JnL2IvMTI5ODM1PC9vcHRpb24+CkBAIC0xMTcsMTUgKzEyMCwy
MiBAQCBmdW5jdGlvbiB0ZXN0KCkgewogCiAgICAgZnVuY3Rpb24gb25Hb3RPdXRlckhUTUwocmVz
cG9uc2UpIHsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jaGVja0ZvckVycm9yKHJlc3BvbnNlKTsK
LSAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlxuIiArIHJlc3BvbnNlLnJlc3VsdC5vdXRlckhU
TUwucmVwbGFjZSgiIGNsYXNzPVwiZXhcIiIsICIiKSk7CisgICAgICAgIHZhciBvdXRlckhUTUwg
PSByZXNwb25zZS5yZXN1bHQub3V0ZXJIVE1MOworICAgICAgICBvdXRlckhUTUwgPSBvdXRlckhU
TUwucmVwbGFjZSgiIGNsYXNzPVwiZXhcIiIsICIiKTsgLy8gcmVtb3ZlIGFueSBkdXBsaWNhdGVk
LCB1bm5lY2Vzc2FyeSBjbGFzcyBhdHRyaWJ1dGVzCisgICAgICAgIG91dGVySFRNTCA9IG91dGVy
SFRNTC5yZXBsYWNlKC87YmFzZTY0LC4qPyIvLCAiLi4uXCIiKTsgLy8gc3VwcHJlc3MgZnVsbCBk
YXRhIFVSSXMgaW4gb3V0cHV0CisgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJcbiIgKyBvdXRl
ckhUTUwpOwogICAgICAgICBJbnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJET00uZ2V0QWNjZXNz
aWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlIiwgeyJub2RlSWQiOiBleGFtcGxlc1tleGFtcGxlcy5s
ZW5ndGgtMV19LCBvbkdvdEFYUHJvcHMpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIG9uR290QVhQ
cm9wcyhyZXNwb25zZSkgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJyb3IocmVz
cG9uc2UpOwotICAgICAgICBmb3IgKHByb3AgaW4gcmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMp
IHsKLSAgICAgICAgICAgIGlmIChwcm9wICE9PSAibm9kZUlkIikKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiICAgICIgKyBwcm9wICsgIjogIiArIHJlc3BvbnNlLnJlc3VsdC5w
cm9wZXJ0aWVzW3Byb3BdKTsKKyAgICAgICAgZm9yICh2YXIga2V5IGluIHJlc3BvbnNlLnJlc3Vs
dC5wcm9wZXJ0aWVzKSB7CisgICAgICAgICAgICB2YXIgdmFsdWUgPSByZXNwb25zZS5yZXN1bHQu
cHJvcGVydGllc1trZXldOworICAgICAgICAgICAgaWYgKGtleSA9PT0gIm5vZGVJZCIpCisgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAoa2V5ID09PSAiYXhQYXJlbnRO
b2RlSWQiKQorICAgICAgICAgICAgICAgIHZhbHVlID0gKHZhbHVlID09PSAxKSA/ICIxICgjZG9j
dW1lbnQpIiA6ICIoc3VwcHJlc3NlZCkiOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
IiAgICAiICsga2V5ICsgIjogIiArIHZhbHVlKTsKICAgICAgICAgfQogICAgICAgICBleGFtcGxl
cy5wb3AoKTsKICAgICAgICAgbG9vcCgpOwo=
</data>
<flag name="review"
          id="250851"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="250852"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>226668</attachid>
            <date>2014-03-14 02:04:20 -0700</date>
            <delta_ts>2014-03-14 12:11:24 -0700</delta_ts>
            <desc>patch merges conflicts with TOT</desc>
            <filename>webkit129943b.diff</filename>
            <type>text/plain</type>
            <size>23752</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NTYwNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAzLTE0ICBKYW1lcyBD
cmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJOiBF
eHBvc2UgQWNjZXNzaWJpbGl0eSBUcmVlIHBhcmVudCBvZiB0aGUgc2VsZWN0ZWQgbm9kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5OTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGluc3Bl
Y3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2RlLmh0bWwK
KworICAgICAgICBXZWIgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3RvciBub3cgZGlzcGxheXMg
YSBsaW5rIHRvIHRoZSBBWCBwYXJlbnQgbm9kZSwKKyAgICAgICAgYmVjYXVzZSBpdCdzIG5vdCBh
IDE6MSBtYXRjaCB3aXRoIHRoZSBET01Ob2RlIHBhcmVudC4KKworICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHA6IFN1cHBvcnQgZm9yIERPTU5vZGUucm9sZSBhbmQgQWNj
ZXNzaWJpbGl0eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQuCisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKTogU3VwcG9ydCBmb3Igcm9sZS4K
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzKTogU3VwcG9ydCBmb3IgYXhQYXJlbnROb2RlSWQuCisgICAgICAg
ICogaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uOiBBZGRlZCBheFBhcmVudE5vZGVJZCBvbiBB
Y2Nlc3NpYmlsaXR5UHJvcGVydGllcywgYW5kIHJvbGUgb24gRE9NTm9kZS4KKwogMjAxNC0wMy0x
NCAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVXNl
IG92ZXJyaWRlIGtleXdvcmQgaW4gQmF0dGVyeU1hbmFnZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAkocmV2aXNpb24gMTY1NjA1KQor
KysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTMxNCw2ICsxMzE0LDE2IEBAIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpUeXBl
QnVpbGRlcjo6RE9NOjoKICAgICAgICAgdmFsdWUtPnNldE5hbWUoYXR0cmlidXRlLT5uYW1lKCkp
OwogICAgICAgICB2YWx1ZS0+c2V0VmFsdWUoYXR0cmlidXRlLT52YWx1ZSgpKTsKICAgICB9CisK
KyAgICAvLyBOZWVkIHRvIGVuYWJsZSBBWCB0byBnZXQgdGhlIGNvbXB1dGVkIHJvbGUuCisgICAg
aWYgKCFXZWJDb3JlOjpBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorICAg
ICAgICBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjplbmFibGVBY2Nlc3NpYmlsaXR5KCk7CisKKyAg
ICBpZiAoQVhPYmplY3RDYWNoZSogYXhPYmplY3RDYWNoZSA9IG5vZGUtPmRvY3VtZW50KCkuYXhP
YmplY3RDYWNoZSgpKSB7CisgICAgICAgIGlmIChBY2Nlc3NpYmlsaXR5T2JqZWN0KiBheE9iamVj
dCA9IGF4T2JqZWN0Q2FjaGUtPmdldE9yQ3JlYXRlKG5vZGUpKQorICAgICAgICAgICAgdmFsdWUt
PnNldFJvbGUoYXhPYmplY3QtPmNvbXB1dGVkUm9sZVN0cmluZygpKTsKKyAgICB9CisKICAgICBy
ZXR1cm4gdmFsdWUucmVsZWFzZSgpOwogfQogCkBAIC0xNDI0LDYgKzE0MzQsNyBAQCBQYXNzUmVm
UHRyPFR5cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpCiAgICAgVHlwZUJ1aWxkZXI6OkRPTTo6
QWNjZXNzaWJpbGl0eVByb3BlcnRpZXM6OkludmFsaWQ6OkVudW0gaW52YWxpZCA9IFR5cGVCdWls
ZGVyOjpET006OkFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzOjpJbnZhbGlkOjpGYWxzZTsKICAgICBi
b29sIGhpZGRlbiA9IGZhbHNlOwogICAgIFN0cmluZyBsYWJlbDsgLy8gRklYTUU6IFdhaXRpbmcg
b24gaHR0cDovL3dlYmtpdC5vcmcvYi8xMjExMzQKKyAgICBOb2RlKiBheFBhcmVudE5vZGUgPSBu
b2RlOwogICAgIGJvb2wgcHJlc3NlZCA9IGZhbHNlOwogICAgIGJvb2wgcmVhZG9ubHkgPSBmYWxz
ZTsKICAgICBib29sIHJlcXVpcmVkID0gZmFsc2U7CkBAIC0xNDM4LDYgKzE0NDksOSBAQCBQYXNz
UmVmUHRyPFR5cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpCiAgICAgaWYgKEFYT2JqZWN0Q2Fj
aGUqIGF4T2JqZWN0Q2FjaGUgPSBub2RlLT5kb2N1bWVudCgpLmF4T2JqZWN0Q2FjaGUoKSkgewog
ICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9iamVjdCogYXhPYmplY3QgPSBheE9iamVjdENhY2hl
LT5nZXRPckNyZWF0ZShub2RlKSkgewogCisgICAgICAgICAgICBpZiAoQWNjZXNzaWJpbGl0eU9i
amVjdCogcGFyZW50T2JqZWN0ID0gYXhPYmplY3QtPnBhcmVudE9iamVjdFVuaWdub3JlZCgpKQor
ICAgICAgICAgICAgICAgIGF4UGFyZW50Tm9kZSA9IHBhcmVudE9iamVjdC0+bm9kZSgpOworICAg
ICAgICAgICAgCiAgICAgICAgICAgICBzdXBwb3J0c0NoZWNrZWQgPSBheE9iamVjdC0+c3VwcG9y
dHNDaGVja2VkKCk7CiAgICAgICAgICAgICBpZiAoc3VwcG9ydHNDaGVja2VkKSB7CiAgICAgICAg
ICAgICAgICAgaW50IGNoZWNrVmFsdWUgPSBheE9iamVjdC0+Y2hlY2tib3hPclJhZGlvVmFsdWUo
KTsgLy8gRWxlbWVudCB1c2luZyBhcmlhLWNoZWNrZWQuCkBAIC0xNDk5LDYgKzE1MTMsOCBAQCBQ
YXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpET006OkFjY2Vzc2liaWxpCiAgICAgICAgIC5zZXROb2Rl
SWQocHVzaE5vZGVQYXRoVG9Gcm9udGVuZChub2RlKSk7CiAKICAgICBpZiAoZXhpc3RzKSB7Cisg
ICAgICAgIGlmIChheFBhcmVudE5vZGUgJiYgYXhQYXJlbnROb2RlICE9IG5vZGUpCisgICAgICAg
ICAgICB2YWx1ZS0+c2V0QXhQYXJlbnROb2RlSWQocHVzaE5vZGVQYXRoVG9Gcm9udGVuZChheFBh
cmVudE5vZGUpKTsKICAgICAgICAgaWYgKHN1cHBvcnRzQ2hlY2tlZCkKICAgICAgICAgICAgIHZh
bHVlLT5zZXRDaGVja2VkKGNoZWNrZWQpOwogICAgICAgICBpZiAoZGlzYWJsZWQpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCShyZXZpc2lvbiAxNjU2
MDUpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24JKHdvcmtp
bmcgY29weSkKQEAgLTM1LDcgKzM1LDggQEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImZy
YW1lSWQiLCAiJHJlZiI6ICJOZXR3b3JrLkZyYW1lSWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVz
Y3JpcHRpb24iOiAiRnJhbWUgSUQgZm9yIGZyYW1lIG93bmVyIGVsZW1lbnRzLiIgfSwKICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImNvbnRlbnREb2N1bWVudCIsICIkcmVmIjogIk5vZGUiLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29udGVudCBkb2N1bWVudCBmb3IgZnJh
bWUgb3duZXIgZWxlbWVudHMuIiB9LAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2hhZG93
Um9vdHMiLCAidHlwZSI6ICJhcnJheSIsICJvcHRpb25hbCI6IHRydWUsICJpdGVtcyI6IHsgIiRy
ZWYiOiAiTm9kZSIgfSwgImRlc2NyaXB0aW9uIjogIlNoYWRvdyByb290IGxpc3QgZm9yIGdpdmVu
IGVsZW1lbnQgaG9zdC4iIH0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZW1wbGF0ZUNv
bnRlbnQiLCAiJHJlZiI6ICJOb2RlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjog
IkNvbnRlbnQgZG9jdW1lbnQgZnJhZ21lbnQgZm9yIHRlbXBsYXRlIGVsZW1lbnRzIiB9CisgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ0ZW1wbGF0ZUNvbnRlbnQiLCAiJHJlZiI6ICJOb2RlIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbnRlbnQgZG9jdW1lbnQgZnJhZ21l
bnQgZm9yIHRlbXBsYXRlIGVsZW1lbnRzIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
cm9sZSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6
ICJDb21wdXRlZCB2YWx1ZSBmb3IgZmlyc3QgcmVjb2duaXplZCByb2xlIHRva2VuLCBkZWZhdWx0
IHJvbGUgcGVyIGVsZW1lbnQsIG9yIG92ZXJyaWRkZW4gcm9sZS4iIH0KICAgICAgICAgICAgIF0s
CiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRE9NIGludGVyYWN0aW9uIGlzIGltcGxlbWVu
dGVkIGluIHRlcm1zIG9mIG1pcnJvciBvYmplY3RzIHRoYXQgcmVwcmVzZW50IHRoZSBhY3R1YWwg
RE9NIG5vZGVzLiBET01Ob2RlIGlzIGEgYmFzZSBub2RlIG1pcnJvciB0eXBlLiIKICAgICAgICAg
fSwKQEAgLTU5LDYgKzYwLDcgQEAKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIHN0cnVj
dHVyZSBob2xkaW5nIGFjY2Vzc2liaWxpdHkgcHJvcGVydGllcy4iLAogICAgICAgICAgICAgInR5
cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiYXhQYXJlbnROb2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAib3B0aW9u
YWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiPGNvZGU+RE9NTm9kZTwvY29kZT4gaWQgb2YgdGhl
IGFjY2Vzc2liaWxpdHkgdHJlZSBwYXJlbnQgb2JqZWN0IGlmIGF2YWlsYWJsZS4iIH0sCiAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJjaGVja2VkIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImVudW0iOiBbInRydWUiLCAiZmFsc2UiLCAibWl4ZWQiXSwgImRlc2NyaXB0
aW9uIjogIkNoZWNrZWQgc3RhdGUgb2YgY2VydGFpbiBmb3JtIGNvbnRyb2xzLiIgfSwKICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImRpc2FibGVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRp
b25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlZCBzdGF0ZSBvZiBmb3JtIGNvbnRy
b2xzLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImV4aXN0cyIsICJ0eXBlIjogImJv
b2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiSW5kaWNhdGVzIHdoZXRoZXIgdGhlcmUgaXMgYW4gZXhp
c3RpbmcgQVggb2JqZWN0IGZvciB0aGUgRE9NIG5vZGUuIElmIHRoaXMgaXMgZmFsc2UsIGFsbCB0
aGUgb3RoZXIgcHJvcGVydGllcyB3aWxsIGJlIGRlZmF1bHQgdmFsdWVzLiIgfSwKSW5kZXg6IFNv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1NjA1KQorKysgU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAz
LTE0ICBKYW1lcyBDcmFpZyAgPGpjcmFpZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogQVhJOiBFeHBvc2UgQWNjZXNzaWJpbGl0eSBUcmVlIHBhcmVudCBvZiB0aGUgc2VsZWN0
ZWQgbm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI5OTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGVzdHM6IGluc3BlY3Rvci1wcm90b2NvbC9kb20vZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNG
b3JOb2RlLmh0bWwKKworICAgICAgICBXZWIgQWNjZXNzaWJpbGl0eSBOb2RlIEluc3BlY3RvciBu
b3cgZGlzcGxheXMgYSBsaW5rIHRvIHRoZSBBWCBwYXJlbnQgbm9kZSwKKyAgICAgICAgYmVjYXVz
ZSBpdCdzIG5vdCBhIDE6MSBtYXRjaCB3aXRoIHRoZSBET01Ob2RlIHBhcmVudC4KKworICAgICAg
ICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczogbmV3ICJQYXJl
bnQiIHN0cmluZy4KKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvRE9NVXRpbGl0aWVzLmpz
OiBVcGRhdGluZyBsaW5raWZ5Tm9kZVJlZmVyZW5jZSB0byBpbmNsdWRlIHJvbGU7IGFkZGluZyBu
ZXcgcm9sZVNlbGVjdG9yRm9yTm9kZSBtZXRob2QuCisgICAgICAgICogVXNlckludGVyZmFjZS9N
b2RlbHMvRE9NTm9kZS5qczogQVggUGFyZW50IHN1cHBvcnQgYW5kIGFkZGluZyByb2xlIHRvIERP
TU5vZGUgKHdpbGwgYmUgZXhwb3NlZCBhcyBBWCBQYXJlbnQgbGluayBhbmQgaW4gb3ZlcmxheXMp
LgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwuanM6IEFjY2Vzc2liaWxpdHkgcGFyZW50IG5vZGUuCisKIDIwMTQtMDMtMTMgIEphbWVzIENy
YWlnICA8amNyYWlnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IFVz
ZSBsb2Mgc3RyaW5ncyBmb3Iga25vd24gYXJpYS1pbnZhbGlkIHR5cGVzCkluZGV4OiBTb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMJKHJldmlzaW9uIDE2NTYwNSkKKysrIFNvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMJKHdv
cmtpbmcgY29weSkKQEAgLTMwMCw2ICszMDAsNyBAQAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdABy
AGkAbgBnAHMAWwAiAFAAYQBnAGUAIABJAHMAcwB1AGUAIgBdACAAPQAgACIAUABhAGcAZQAgAEkA
cwBzAHUAZQAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIAaQBuAGcAcwBbACIAUABhAGkA
bgB0ACIAXQAgAD0AIAAiAFAAYQBpAG4AdAAiADsACiAAbABvAGMAYQBsAGkAegBlAGQAUwB0AHIA
aQBuAGcAcwBbACIAUABhAGkAbgB0AHMAIgBdACAAPQAgACIAUABhAGkAbgB0AHMAIgA7AAorAGwA
bwBjAGEAbABpAHoAZQBkAFMAdAByAGkAbgBnAHMAWwAiAFAAYQByAGUAbgB0ACIAXQAgAD0AIAAi
AFAAYQByAGUAbgB0ACIAOwAKIABsAG8AYwBhAGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQ
AGEAdABoACIAXQAgAD0AIAAiAFAAYQB0AGgAIgA7AAogAGwAbwBjAGEAbABpAHoAZQBkAFMAdABy
AGkAbgBnAHMAWwAiAFAAYQB1AHMAZQAgAHMAYwByAGkAcAB0ACAAZQB4AGUAYwB1AHQAaQBvAG4A
IAAoACUAcwAgAG8AcgAgACUAcwApACIAXQAgAD0AIAAiAFAAYQB1AHMAZQAgAHMAYwByAGkAcAB0
ACAAZQB4AGUAYwB1AHQAaQBvAG4AIAAoACUAcwAgAG8AcgAgACUAcwApACIAOwAKIABsAG8AYwBh
AGwAaQB6AGUAZABTAHQAcgBpAG4AZwBzAFsAIgBQAGwAYQB5ACAAUwBvAHUAbgBkACIAXQAgAD0A
IAAiAFAAbABhAHkAIABTAG8AdQBuAGQAIgA7AApJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMJKHJldmlz
aW9uIDE2NTYwNSkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
RE9NVXRpbGl0aWVzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01OSwxMiArNTksMjQgQEAgV2ViSW5z
cGVjdG9yLmRpc3BsYXlOYW1lRm9yTm9kZSA9IGZ1bmN0aQogICAgIHJldHVybiB0aXRsZTsKIH0K
IAorV2ViSW5zcGVjdG9yLnJvbGVTZWxlY3RvckZvck5vZGUgPSBmdW5jdGlvbihub2RlKQorewor
ICAgIC8vIFRoaXMgaXMgcHJvcG9zZWQgc3ludGF4IGZvciBDU1MgNCBjb21wdXRlZCByb2xlIHNl
bGVjdG9yIDpyb2xlKGZvbykgYW5kIHN1YmplY3QgdG8gY2hhbmdlLgorICAgIC8vIFNlZSBodHRw
Oi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctc3R5bGUvMjAxM0p1bC8wMTA0Lmh0
bWwKKyAgICB2YXIgdGl0bGUgPSAiIjsKKyAgICB2YXIgcm9sZSA9IG5vZGUuY29tcHV0ZWRSb2xl
KCk7CisgICAgaWYgKHJvbGUpCisgICAgICAgIHRpdGxlID0gIjpyb2xlKCIgKyByb2xlICsgIiki
OworICAgIHJldHVybiB0aXRsZTsKK30KKwogV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2RlUmVmZXJl
bmNlID0gZnVuY3Rpb24obm9kZSkKIHsKICAgICB2YXIgZGlzcGxheU5hbWUgPSBXZWJJbnNwZWN0
b3IuZGlzcGxheU5hbWVGb3JOb2RlKG5vZGUpOwogCiAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgbGluay5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShkaXNwbGF5TmFtZSkpOworICAgIGxpbmsuc2V0QXR0cmlidXRlKCJyb2xlIiwg
ImxpbmsiKTsKICAgICBsaW5rLmNsYXNzTmFtZSA9ICJub2RlLWxpbmsiOwogICAgIGxpbmsudGl0
bGUgPSBkaXNwbGF5TmFtZTsKIApJbmRleDogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0RPTU5vZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMJKHJldmlzaW9uIDE2NTYwNSkKKysr
IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlID0gZnVu
Y3Rpb24oZG9tQWdlbnQKICAgICB0aGlzLl9ub2RlTmFtZSA9IHBheWxvYWQubm9kZU5hbWU7CiAg
ICAgdGhpcy5fbG9jYWxOYW1lID0gcGF5bG9hZC5sb2NhbE5hbWU7CiAgICAgdGhpcy5fbm9kZVZh
bHVlID0gcGF5bG9hZC5ub2RlVmFsdWU7CisgICAgdGhpcy5fY29tcHV0ZWRSb2xlID0gcGF5bG9h
ZC5yb2xlOwogCiAgICAgaWYgKHRoaXMuX25vZGVUeXBlID09PSBOb2RlLkRPQ1VNRU5UX05PREUp
CiAgICAgICAgIHRoaXMub3duZXJEb2N1bWVudCA9IHRoaXM7CkBAIC0yMDYsNiArMjA3LDE0IEBA
IFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICB9LAogICAgIAogICAgIC8q
KgorICAgICAqIEByZXR1cm4ge3N0cmluZ30KKyAgICAgKi8KKyAgICBjb21wdXRlZFJvbGU6IGZ1
bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9jb21wdXRlZFJvbGU7CisgICAg
fSwKKworICAgIC8qKgogICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgICovCiAgICAgaGFz
QXR0cmlidXRlczogZnVuY3Rpb24oKQpAQCAtNDQ3LDYgKzQ1Niw3IEBAIFdlYkluc3BlY3Rvci5E
T01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFlcnJvciAm
JiBjYWxsYmFjayAmJiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcykgewogICAgICAgICAgICAgICAg
IGNhbGxiYWNrKHsKKyAgICAgICAgICAgICAgICAgICAgYXhQYXJlbnROb2RlSWQ6IGFjY2Vzc2li
aWxpdHlQcm9wZXJ0aWVzLmF4UGFyZW50Tm9kZUlkLAogICAgICAgICAgICAgICAgICAgICBjaGVj
a2VkOiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5jaGVja2VkLAogICAgICAgICAgICAgICAgICAg
ICBkaXNhYmxlZDogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuZGlzYWJsZWQsCiAgICAgICAgICAg
ICAgICAgICAgIGV4aXN0czogYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuZXhpc3RzLApJbmRleDog
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMJKHJldmlzaW9uIDE2
NTYwNSkKKysrIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBA
IFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCAKICAgICAgICAgdGhpcy5f
YWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2Vj
dGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIklnbm9yZWQiKSk7CiAgICAgICAg
IHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlSW52YWxpZFJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0
YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnZhbGlkIikpOwog
ICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUxhYmVsUm93ID0gbmV3IFdlYkluc3BlY3Rv
ci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxhYmVsIikp
OworICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVBhcmVudFJvdyA9IG5ldyBXZWJJbnNw
ZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXJl
bnQiKSk7CiAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUHJlc3NlZFJvdyA9IG5ldyBX
ZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJQcmVzc2VkIikpOwogICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJlYWRvbmx5Um93
ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlJlYWRvbmx5IikpOwogICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJl
cXVpcmVkUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlJlcXVpcmVkIikpOwpAQCAtMjc5LDYgKzI4MCwxNCBAQCBXZWJJ
bnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuCiAKICAgICAgICAgICAgIGlmIChh
Y2Nlc3NpYmlsaXR5UHJvcGVydGllcyAmJiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5leGlzdHMp
IHsKIAorICAgICAgICAgICAgICAgIHZhciBheFBhcmVudE5vZGVMaW5rID0gbnVsbDsKKyAgICAg
ICAgICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMuYXhQYXJlbnROb2RlSWQgIT09
IHVuZGVmaW5lZCkgeworICAgICAgICAgICAgICAgICAgICB2YXIgYXhQYXJlbnROb2RlID0gV2Vi
SW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChhY2Nlc3NpYmlsaXR5UHJvcGVydGll
cy5heFBhcmVudE5vZGVJZCk7CisgICAgICAgICAgICAgICAgICAgIGF4UGFyZW50Tm9kZUxpbmsg
PSBXZWJJbnNwZWN0b3IubGlua2lmeU5vZGVSZWZlcmVuY2UoYXhQYXJlbnROb2RlKTsKKyAgICAg
ICAgICAgICAgICAgICAgYXhQYXJlbnROb2RlTGluay50aXRsZSArPSBXZWJJbnNwZWN0b3Iucm9s
ZVNlbGVjdG9yRm9yTm9kZShheFBhcmVudE5vZGUpOworICAgICAgICAgICAgICAgICAgICBheFBh
cmVudE5vZGVMaW5rLnRleHRDb250ZW50ID0gYXhQYXJlbnROb2RlLmNvbXB1dGVkUm9sZSgpIHx8
IGF4UGFyZW50Tm9kZUxpbmsudGl0bGU7CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICAgICAgdmFyIGNoZWNrZWQgPSAiIjsKICAgICAgICAgICAgICAgICBpZiAoYWNjZXNzaWJpbGl0
eVByb3BlcnRpZXMuY2hlY2tlZCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAg
IGlmIChhY2Nlc3NpYmlsaXR5UHJvcGVydGllcy5jaGVja2VkID09PSBET01BZ2VudC5BY2Nlc3Np
YmlsaXR5UHJvcGVydGllc0NoZWNrZWQuVHJ1ZSkKQEAgLTMzOSw2ICszNDgsNyBAQCBXZWJJbnNw
ZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuCiAgICAgICAgICAgICAgICAgdGhpcy5f
YWNjZXNzaWJpbGl0eU5vZGVJZ25vcmVkUm93LnZhbHVlID0gaWdub3JlZDsKICAgICAgICAgICAg
ICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZUludmFsaWRSb3cudmFsdWUgPSBpbnZhbGlkOwog
ICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFiZWxSb3cudmFsdWUgPSBs
YWJlbDsKKyAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVBhcmVudFJvdy52
YWx1ZSA9IGF4UGFyZW50Tm9kZUxpbmsgfHwgIiI7CiAgICAgICAgICAgICAgICAgdGhpcy5fYWNj
ZXNzaWJpbGl0eU5vZGVQcmVzc2VkUm93LnZhbHVlID0gcHJlc3NlZDsKICAgICAgICAgICAgICAg
ICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9kZVJlYWRvbmx5Um93LnZhbHVlID0gcmVhZG9ubHk7CiAg
ICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5vZGVSZXF1aXJlZFJvdy52YWx1ZSA9
IHJlcXVpcmVkOwpAQCAtMzUyLDYgKzM2Miw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWls
c1NpZGViYXJQYW5lbC4KICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWNjZXNzaWJpbGl0eU5v
ZGVJZ25vcmVkUm93LAogICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5Tm9k
ZVJvbGVSb3csCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlTGFi
ZWxSb3csCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlOb2RlUGFyZW50
Um93LAogCiAgICAgICAgICAgICAgICAgICAgIC8vIFByb3BlcnRpZXMgZXhwb3NlZCBmb3IgYWxs
IGlucHV0LXR5cGUgZWxlbWVudHMuCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2li
aWxpdHlOb2RlRGlzYWJsZWRSb3csCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjU2MDUpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0w
My0xNCAgSmFtZXMgQ3JhaWcgIDxqY3JhaWdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEFYSTogRXhwb3NlIEFjY2Vzc2liaWxpdHkgVHJlZSBwYXJlbnQgb2YgdGhlIHNlbGVj
dGVkIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyOTk0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RzOiBpbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVz
Rm9yTm9kZS5odG1sCisKKyAgICAgICAgV2ViIEFjY2Vzc2liaWxpdHkgTm9kZSBJbnNwZWN0b3Ig
bm93IGRpc3BsYXlzIGEgbGluayB0byB0aGUgQVggcGFyZW50IG5vZGUsCisgICAgICAgIGJlY2F1
c2UgaXQncyBub3QgYSAxOjEgbWF0Y2ggd2l0aCB0aGUgRE9NTm9kZSBwYXJlbnQuCisKKyAgICAg
ICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9y
Tm9kZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRB
Y2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUuaHRtbDoKKwogMjAxNC0wMy0xMiAgR2F2aW4g
QmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNlIG1l
bW9yeSB1c2UgZm9yIHN0YXRpYyBwcm9wZXJ0eSBtYXBzCkluZGV4OiBMYXlvdXRUZXN0cy9pbnNw
ZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2Rv
bS9nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxNjU2MDUpCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMzkgKzEsNDUgQEAKIENoZWNraW5nIFdlYiBJbnNwZWN0b3IgcHJvdG9jb2wgZm9yIHRoZSBB
Y2Nlc3NpYmlsaXR5IE5vZGUgSW5zcGVjdG9yLgogCi1Ub3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0
ZWQ6IDUwLgorVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MS4KIAogPGxpIHJvbGU9InRy
ZWVpdGVtIiBhcmlhLWV4cGFuZGVkPSJmYWxzZSI+Y29sbGFwc2VkPC9saT4KICAgICBleGlzdHM6
IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogdHJlZWl0ZW0KKyAgICBheFBhcmVudE5vZGVJ
ZDogKHN1cHByZXNzZWQpCiAgICAgZXhwYW5kZWQ6IGZhbHNlCiAKIDxsaSByb2xlPSJ0cmVlaXRl
bSIgYXJpYS1leHBhbmRlZD0idHJ1ZSI+ZXhwYW5kZWQ8L2xpPgogICAgIGV4aXN0czogdHJ1ZQog
ICAgIGxhYmVsOiAKICAgICByb2xlOiB0cmVlaXRlbQorICAgIGF4UGFyZW50Tm9kZUlkOiAoc3Vw
cHJlc3NlZCkKICAgICBleHBhbmRlZDogdHJ1ZQogCiA8ZGl2IHJvbGU9InRhYiIgYXJpYS1zZWxl
Y3RlZD0iZmFsc2UiPm5vdCBzZWxlY3RlZDwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxh
YmVsOiAKICAgICByb2xlOiB0YWIKKyAgICBheFBhcmVudE5vZGVJZDogKHN1cHByZXNzZWQpCiAK
IDxkaXYgcm9sZT0idGFiIiBhcmlhLXNlbGVjdGVkPSJ0cnVlIj5zZWxlY3RlZDwvZGl2PgogICAg
IGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiB0YWIKKyAgICBheFBhcmVudE5v
ZGVJZDogKHN1cHByZXNzZWQpCiAgICAgc2VsZWN0ZWQ6IHRydWUKIAogPGRpdiByb2xlPSJvcHRp
b24iIGFyaWEtc2VsZWN0ZWQ9ImZhbHNlIj5ub3Qgc2VsZWN0ZWQ8L2Rpdj4KICAgICBleGlzdHM6
IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogb3B0aW9uCisgICAgYXhQYXJlbnROb2RlSWQ6
IChzdXBwcmVzc2VkKQogCiA8ZGl2IHJvbGU9Im9wdGlvbiIgYXJpYS1zZWxlY3RlZD0idHJ1ZSI+
c2VsZWN0ZWQ8L2Rpdj4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTog
b3B0aW9uCisgICAgYXhQYXJlbnROb2RlSWQ6IChzdXBwcmVzc2VkKQogICAgIHNlbGVjdGVkOiB0
cnVlCiAKIDxvcHRpb24+bm90IHNlbGVjdGVkPC9vcHRpb24+CkBAIC00NiwxMiArNTIsMTIgQEAg
VG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBsYWJlbDogCiAgICAgcm9sZTog
CiAKLTxpbWcgc3JjPSIuLzQwNC5naWYiIGFsdD0ieCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgor
PGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmLi4uIiBhbHQ9IngiIHN0eWxlPSJkaXNwbGF5Om5vbmU7
Ij4KICAgICBleGlzdHM6IGZhbHNlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IAogCi08aW1nIHNy
Yz0iLi80MDQuZ2lmIiBhbHQ9IngiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KKzxpbWcgc3JjPSJkYXRh
OmltYWdlL2dpZi4uLiIgYWx0PSJ4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgZXhpc3RzOiB0
cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IGltZwpAQCAtNTksMTcgKzY1LDIyIEBAIFRvdGFs
IGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgaWdub3JlZEJ5RGVmYXVsdDogdHJ1ZQog
ICAgIGhpZGRlbjogdHJ1ZQogCi08aW1nIHNyYz0iLi80MDQuZ2lmIiBhbHQ9IngiPgorPGltZyBz
cmM9ImRhdGE6aW1hZ2UvZ2lmLi4uIiBhbHQ9IngiPgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxh
YmVsOiAKICAgICByb2xlOiBpbWcKIAotPGltZyBzcmM9Ii4vNDA0LmdpZiIgYWx0PSIiPgorPGlt
ZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmLi4uIiBhbHQ9IiI+CiAgICAgZXhpc3RzOiB0cnVlCiAgICAg
bGFiZWw6IAogICAgIHJvbGU6IGltZwogICAgIGlnbm9yZWQ6IHRydWUKIAorPGltZyBzcmM9ImRh
dGE6aW1hZ2UvZ2lmLi4uIj4KKyAgICBleGlzdHM6IHRydWUKKyAgICBsYWJlbDogCisgICAgcm9s
ZTogaW1nCisKIDxpbWcgc3JjPSIuLzQwNC5naWYiPgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxh
YmVsOiAKQEAgLTk1LDYgKzEwNiw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAu
CiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IHJhZGlvCisgICAgYXhQ
YXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiBmYWxzZQogICAgIHJlcXVp
cmVkOiBmYWxzZQogCkBAIC0xMDIsNiArMTE0LDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVz
dGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogcmFkaW8K
KyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGNoZWNrZWQ6IGZhbHNlCiAg
ICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTEwOSw2ICsxMjIsNyBAQCBUb3RhbCBlbGVtZW50cyB0
byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xl
OiByYWRpbworICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1lbnQpCiAgICAgY2hlY2tlZDog
dHJ1ZQogICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xMTYsNiArMTMwLDcgQEAgVG90YWwgZWxl
bWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAg
ICAgcm9sZTogcmFkaW8KKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGNo
ZWNrZWQ6IGZhbHNlCiAgICAgcmVxdWlyZWQ6IGZhbHNlCiAKQEAgLTEzOSw2ICsxNTQsNyBAQCBU
b3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxh
YmVsOiAKICAgICByb2xlOiBjaGVja2JveAorICAgIGF4UGFyZW50Tm9kZUlkOiAxICgjZG9jdW1l
bnQpCiAgICAgY2hlY2tlZDogZmFsc2UKICAgICByZXF1aXJlZDogZmFsc2UKIApAQCAtMTQ2LDYg
KzE2Miw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3RlZDogNTAuCiAgICAgZXhpc3RzOiB0
cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IGNoZWNrYm94CisgICAgYXhQYXJlbnROb2RlSWQ6
IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiBtaXhlZAogICAgIHJlcXVpcmVkOiBmYWxzZQog
CkBAIC0xNTMsNiArMTcwLDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAg
ICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogY2hlY2tib3gKKyAgICBheFBh
cmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGNoZWNrZWQ6IHRydWUKICAgICByZXF1aXJl
ZDogZmFsc2UKIApAQCAtMTYwLDYgKzE3OCw3IEBAIFRvdGFsIGVsZW1lbnRzIHRvIGJlIHRlc3Rl
ZDogNTAuCiAgICAgZXhpc3RzOiB0cnVlCiAgICAgbGFiZWw6IAogICAgIHJvbGU6IGNoZWNrYm94
CisgICAgYXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBjaGVja2VkOiBmYWxzZQog
ICAgIHJlcXVpcmVkOiBmYWxzZQogCkBAIC0xODMsNiArMjAyLDcgQEAgVG90YWwgZWxlbWVudHMg
dG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9s
ZTogCisgICAgYXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBkaXNhYmxlZDogdHJ1
ZQogICAgIGZvY3VzZWQ6IGZhbHNlCiAgICAgcmVhZG9ubHk6IHRydWUKQEAgLTE5OSw2ICsyMTks
NyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQog
ICAgIGxhYmVsOiAKICAgICByb2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50
KQogICAgIGZvY3VzZWQ6IGZhbHNlCiAgICAgcmVhZG9ubHk6IHRydWUKICAgICByZXF1aXJlZDog
ZmFsc2UKQEAgLTI2NCw2ICsyODUsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUw
LgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiAKKyAgICBheFBhcmVu
dE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGZvY3VzZWQ6IGZhbHNlCiAgICAgcHJlc3NlZDog
ZmFsc2UKICAgICByZXF1aXJlZDogZmFsc2UKQEAgLTI3Miw2ICsyOTQsNyBAQCBUb3RhbCBlbGVt
ZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAg
ICByb2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGZvY3VzZWQ6
IGZhbHNlCiAgICAgcHJlc3NlZDogZmFsc2UKICAgICByZXF1aXJlZDogZmFsc2UKQEAgLTI4MCw2
ICszMDMsNyBAQCBUb3RhbCBlbGVtZW50cyB0byBiZSB0ZXN0ZWQ6IDUwLgogICAgIGV4aXN0czog
dHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBidXR0b24KKyAgICBheFBhcmVudE5vZGVJZDog
MSAoI2RvY3VtZW50KQogICAgIGRpc2FibGVkOiB0cnVlCiAgICAgZm9jdXNlZDogZmFsc2UKIApA
QCAtMjg3LDEyICszMTEsMTQgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAg
ICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogYnV0dG9uCisgICAgYXhQYXJl
bnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBmb2N1c2VkOiBmYWxzZQogCiA8c3BhbiBhcmlh
LWhpZGRlbj0idHJ1ZSI+PC9zcGFuPgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAg
ICByb2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGlnbm9yZWQ6
IHRydWUKICAgICBpZ25vcmVkQnlEZWZhdWx0OiB0cnVlCiAgICAgaGlkZGVuOiB0cnVlCkBAIC0z
MDEsNiArMzI3LDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlz
dHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQYXJlbnROb2RlSWQ6IDEg
KCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAgICAgaWdub3JlZEJ5RGVmYXVsdDogdHJ1
ZQogCkBAIC0zMDgsNiArMzM1LDcgQEAgVG90YWwgZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4K
ICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDogCiAgICAgcm9sZTogCisgICAgYXhQYXJlbnRO
b2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25vcmVkOiB0cnVlCiAgICAgaWdub3JlZEJ5RGVm
YXVsdDogdHJ1ZQogICAgIGhpZGRlbjogdHJ1ZQpAQCAtMzE2LDI0ICszNDQsMjggQEAgVG90YWwg
ZWxlbWVudHMgdG8gYmUgdGVzdGVkOiA1MC4KICAgICBleGlzdHM6IHRydWUKICAgICBsYWJlbDog
CiAgICAgcm9sZTogCisgICAgYXhQYXJlbnROb2RlSWQ6IDEgKCNkb2N1bWVudCkKICAgICBpZ25v
cmVkOiB0cnVlCiAKIDxkaXYgcm9sZT0icHJlc2VudGF0aW9uIj48ZGl2PjwvZGl2PjwvZGl2Pgog
ICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBwcmVzZW50YXRpb24KKyAg
ICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGlnbm9yZWQ6IHRydWUKIAogPGRp
dj48ZGl2PjwvZGl2PjwvZGl2PgogICAgIGV4aXN0czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICBy
b2xlOiAKKyAgICBheFBhcmVudE5vZGVJZDogMSAoI2RvY3VtZW50KQogICAgIGlnbm9yZWQ6IHRy
dWUKIAogPHNjcmlwdCBzdHlsZT0iZGlzcGxheTpibG9jazsiPjwvc2NyaXB0PgogICAgIGV4aXN0
czogdHJ1ZQogICAgIGxhYmVsOiAKICAgICByb2xlOiBncm91cAorICAgIGF4UGFyZW50Tm9kZUlk
OiAxICgjZG9jdW1lbnQpCiAgICAgaWdub3JlZDogdHJ1ZQogCiA8c2NyaXB0Pjwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL2RvbS9nZXRBY2Nlc3NpYmlsaXR5
UHJvcGVydGllc0Zvck5vZGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNwZWN0
b3ItcHJvdG9jb2wvZG9tL2dldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCShy
ZXZpc2lvbiAxNjU2MDUpCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvZG9tL2dl
dEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw2ICsyNSw3IEBACiA8YnV0dG9uIGNsYXNzPSJleCI+PC9idXR0b24+CiA8aW5wdXQgY2xhc3M9
ImV4IiB0eXBlPSJidXR0b24iPgogCis8IS0tIEZJWE1FOiBJbnB1dHMgbWlzc2luZyBheFBhcmVu
dE5vZGVJZCBodHRwOi8vd2Via2l0Lm9yZy9iLzEzMDE4MSAtLT4KIDxpbnB1dCBjbGFzcz0iZXgi
PgogPGlucHV0IGNsYXNzPSJleCIgcmVxdWlyZWQ+CiA8aW5wdXQgY2xhc3M9ImV4IiBhcmlhLXJl
cXVpcmVkPSJ0cnVlIiB2YWx1ZT0icmVxdWlyZWQiPgpAQCAtNTIsMTEgKzUzLDEzIEBACiA8aW5w
dXQgY2xhc3M9ImV4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiA8aW5wdXQgY2xhc3M9ImV4IiBzdHls
ZT0iZGlzcGxheTpub25lOyI+CiAKLTxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4vNDA0LmdpZiI+Ci08
aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiIGFsdD0iIj4KLTxpbWcgY2xhc3M9ImV4IiBz
cmM9Ii4vNDA0LmdpZiIgYWx0PSJ4Ij4KLTxpbWcgY2xhc3M9ImV4IiBzcmM9Ii4vNDA0LmdpZiIg
YWx0PSJ4IiBhcmlhLWhpZGRlbj0idHJ1ZSI+Ci08aW1nIGNsYXNzPSJleCIgc3JjPSIuLzQwNC5n
aWYiIGFsdD0ieCIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorPCEtLSBGSVhNRTogSW1hZ2VzIG1p
c3NpbmcgYXhQYXJlbnROb2RlSWQgaHR0cDovL3dlYmtpdC5vcmcvYi8xMzAxODEgLS0+Cis8aW1n
IGNsYXNzPSJleCIgc3JjPSIuLzQwNC5naWYiPjwhLS0gaW1nOm5vdChbYWx0XSkgaWdub3JlZCBp
ZiBpdCBkb2VzIG5vdCBsb2FkLiAgLS0+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSJkYXRhOmltYWdl
L2dpZjtiYXNlNjQsUjBsR09EbGhFQUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1QkFFQUFBSUFM
QUFBQUFBUUFCRUFBQUlsbEI4Wng2M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9XU1hhNXI3Q0pO
T3ZyYTFSQVFBNyI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQs
UjBsR09EbGhFQUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1QkFFQUFBSUFMQUFBQUFBUUFCRUFB
QUlsbEI4Wng2M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9XU1hhNXI3Q0pOT3ZyYTFSQVFBNyIg
YWx0PSIiPgorPGltZyBjbGFzcz0iZXgiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdP
RGxoRUFBUkFKRUNBT0hoNFVwS1NnQUFBQUFBQUNINUJBRUFBQUlBTEFBQUFBQVFBQkVBQUFJbGxC
OFp4NjNiNG90U1VXY3Z5dXo1RDRiaVNEN0FpWnJvV1NYYTVyN0NKTk92cmExUkFRQTciIGFsdD0i
eCI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhF
QUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1QkFFQUFBSUFMQUFBQUFBUUFCRUFBQUlsbEI4Wng2
M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9XU1hhNXI3Q0pOT3ZyYTFSQVFBNyIgYWx0PSJ4IiBh
cmlhLWhpZGRlbj0idHJ1ZSI+Cis8aW1nIGNsYXNzPSJleCIgc3JjPSJkYXRhOmltYWdlL2dpZjti
YXNlNjQsUjBsR09EbGhFQUFSQUpFQ0FPSGg0VXBLU2dBQUFBQUFBQ0g1QkFFQUFBSUFMQUFBQUFB
UUFCRUFBQUlsbEI4Wng2M2I0b3RTVVdjdnl1ejVENGJpU0Q3QWlacm9XU1hhNXI3Q0pOT3ZyYTFS
QVFBNyIgYWx0PSJ4IiBzdHlsZT0iZGlzcGxheTpub25lOyI+CiAKIDxzZWxlY3QgbXVsdGlwbGU+
CiAgICAgPG9wdGlvbiBjbGFzcz0iZXgiIHNlbGVjdGVkPkZJWE1FOiBTZWxlY3RlZCBpcyBmYWxz
ZS4gRXhwZWN0ZWQgdHJ1ZS4gaHR0cDovL3dlYmtpdC5vcmcvYi8xMjk4MzU8L29wdGlvbj4KQEAg
LTExNywxNSArMTIwLDIyIEBAIGZ1bmN0aW9uIHRlc3QoKSB7CiAKICAgICBmdW5jdGlvbiBvbkdv
dE91dGVySFRNTChyZXNwb25zZSkgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrRm9yRXJy
b3IocmVzcG9uc2UpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiXG4iICsgcmVzcG9uc2Uu
cmVzdWx0Lm91dGVySFRNTC5yZXBsYWNlKCIgY2xhc3M9XCJleFwiIiwgIiIpKTsKKyAgICAgICAg
dmFyIG91dGVySFRNTCA9IHJlc3BvbnNlLnJlc3VsdC5vdXRlckhUTUw7CisgICAgICAgIG91dGVy
SFRNTCA9IG91dGVySFRNTC5yZXBsYWNlKCIgY2xhc3M9XCJleFwiIiwgIiIpOyAvLyByZW1vdmUg
YW55IGR1cGxpY2F0ZWQsIHVubmVjZXNzYXJ5IGNsYXNzIGF0dHJpYnV0ZXMKKyAgICAgICAgb3V0
ZXJIVE1MID0gb3V0ZXJIVE1MLnJlcGxhY2UoLztiYXNlNjQsLio/Ii8sICIuLi5cIiIpOyAvLyBz
dXBwcmVzcyBmdWxsIGRhdGEgVVJJcyBpbiBvdXRwdXQKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5s
b2coIlxuIiArIG91dGVySFRNTCk7CiAgICAgICAgIEluc3BlY3RvclRlc3Quc2VuZENvbW1hbmQo
IkRPTS5nZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Zvck5vZGUiLCB7Im5vZGVJZCI6IGV4YW1w
bGVzW2V4YW1wbGVzLmxlbmd0aC0xXX0sIG9uR290QVhQcm9wcyk7CiAgICAgfQogCiAgICAgZnVu
Y3Rpb24gb25Hb3RBWFByb3BzKHJlc3BvbnNlKSB7CiAgICAgICAgIEluc3BlY3RvclRlc3QuY2hl
Y2tGb3JFcnJvcihyZXNwb25zZSk7Ci0gICAgICAgIGZvciAocHJvcCBpbiByZXNwb25zZS5yZXN1
bHQucHJvcGVydGllcykgewotICAgICAgICAgICAgaWYgKHByb3AgIT09ICJub2RlSWQiKQotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIgICAgIiArIHByb3AgKyAiOiAiICsgcmVz
cG9uc2UucmVzdWx0LnByb3BlcnRpZXNbcHJvcF0pOworICAgICAgICBmb3IgKHZhciBrZXkgaW4g
cmVzcG9uc2UucmVzdWx0LnByb3BlcnRpZXMpIHsKKyAgICAgICAgICAgIHZhciB2YWx1ZSA9IHJl
c3BvbnNlLnJlc3VsdC5wcm9wZXJ0aWVzW2tleV07CisgICAgICAgICAgICBpZiAoa2V5ID09PSAi
bm9kZUlkIikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGlmIChrZXkg
PT09ICJheFBhcmVudE5vZGVJZCIpCisgICAgICAgICAgICAgICAgdmFsdWUgPSAodmFsdWUgPT09
IDEpID8gIjEgKCNkb2N1bWVudCkiIDogIihzdXBwcmVzc2VkKSI7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmxvZygiICAgICIgKyBrZXkgKyAiOiAiICsgdmFsdWUpOwogICAgICAgICB9CiAg
ICAgICAgIGV4YW1wbGVzLnBvcCgpOwogICAgICAgICBsb29wKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>