<?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>183222</bug_id>
          
          <creation_ts>2018-02-28 13:26:51 -0800</creation_ts>
          <short_desc>[webkitpy] Bugzilla class should use NetworkTransaction for network GET requests</short_desc>
          <delta_ts>2018-03-08 11:14:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=183156</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=182420</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=183463</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>lforschler</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1402703</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-02-28 13:26:51 -0800</bug_when>
    <thetext>commit-queue failed to land https://webkit-queues.webkit.org/patch/334757/commit-queue

Logs indicate network issue. We should add retry on network error on all the Bugzilla operations now.

2018-02-28 12:52:12,529 - Patch does not pass tests
2018-02-28 12:52:15,976 - Fetching: https://bugs.webkit.org/attachment.cgi?id=334757&amp;action=edit
2018-02-28 12:52:16,255 - Fetching: https://bugs.webkit.org/show_bug.cgi?id=183171&amp;ctype=xml&amp;excludefield=attachmentdata
2018-02-28 12:52:16,522 - Running: webkit-patch --status-host=webkit-queues.webkit.org --bot-id=webkit-cq-01 build-and-test --no-clean --no-update --test --non-interactive --build-style=release --port=mac
2018-02-28 13:03:27,741 - Passed tests
2018-02-28 13:04:04,687 - Bug does not already exist for media/video-poster.html, creating.
2018-02-28 13:04:04,687 - Creating bug with title &quot;Flaky Test: media/video-poster.html&quot;
Traceback (most recent call last):
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/bot/queueengine.py&quot;, line 103, in run
    if not self._delegate.process_work_item(work_item):
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/queues.py&quot;, line 340, in process_work_item
    if task.run():
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/bot/commitqueuetask.py&quot;, line 88, in run
    if not self._did_pass_tests_recently():
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/bot/commitqueuetask.py&quot;, line 72, in _did_pass_tests_recently
    return self._test_patch()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/bot/patchanalysistask.py&quot;, line 374, in _test_patch
    return self._retry_layout_tests()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/bot/patchanalysistask.py&quot;, line 305, in _retry_layout_tests
    self._report_flaky_tests(first_results.failing_test_results(), first_results_archive)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/bot/patchanalysistask.py&quot;, line 217, in _report_flaky_tests
    self._delegate.report_flaky_tests(self._patch, flaky_test_results, results_archive)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/queues.py&quot;, line 403, in report_flaky_tests
    reporter.report_flaky_tests(patch, flaky_test_results, results_archive)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/bot/flakytestreporter.py&quot;, line 184, in report_flaky_tests
    flake_bug_id = self._create_bug_for_flaky_test(flaky_test, author_emails, latest_flake_message)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/bot/flakytestreporter.py&quot;, line 116, in _create_bug_for_flaky_test
    blocked=&quot;50856&quot;)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 711, in create_bug
    self.browser.open(config_urls.bug_server_url + &quot;enter_bug.cgi?product=WebKit&quot;)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py&quot;, line 203, in open
    return self._mech_open(url, data, timeout=timeout)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py&quot;, line 230, in _mech_open
    response = UserAgentBase.open(self, request, data)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_opener.py&quot;, line 193, in open
    response = urlopen(self, req, data)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 344, in _open
    &apos;_open&apos;, req)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 332, in _call_chain
    result = func(*args)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1170, in https_open
    return self.do_open(conn_factory, req)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1118, in do_open
    raise URLError(err)
URLError: &lt;urlopen error [Errno 60] Operation timed out&gt;
2018-02-28 13:04:12,557 - Exception while preparing queue Sleeping until 2018-02-28 13:06:12 (120 seconds).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402704</commentid>
    <comment_count>1</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-02-28 13:27:58 -0800</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=183156 added retry on some of the network operations while talking to bugzilla, and that helped.

We should add retry in all the network operations in Bugzilla class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402752</commentid>
    <comment_count>2</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-02-28 15:45:05 -0800</bug_when>
    <thetext>One more examples:

https://webkit-queues.webkit.org/results/6711146

File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 493, in fetch_attachment_contents</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403338</commentid>
    <comment_count>3</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-03-02 12:49:12 -0800</bug_when>
    <thetext>Updated title. NetworkTransaction class has the retry logic. Bugzilla class should use NetworkTransaction for the network operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403345</commentid>
    <comment_count>4</comment_count>
      <attachid>334920</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-03-02 13:23:07 -0800</bug_when>
    <thetext>Created attachment 334920
Proposed patch

Using method open_url() which uses NetworkTransaction for all self.browser.open() 

Also reverting changes done in https://trac.webkit.org/changeset/229064/webkit and using open_url() instead as this is cleaner approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403349</commentid>
    <comment_count>5</comment_count>
      <attachid>334920</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2018-03-02 13:38:15 -0800</bug_when>
    <thetext>Comment on attachment 334920
Proposed patch

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

I really like the philosophy of the patch (retry instead of failing completely If necessary), just have a small issue with the implementation of NetworkTransaction. Let&apos;s chat in-person Monday and see if we can find a better way to do this. If not, the benefit of the patch probably outweighs the new logging in NetworkTransaction.

&gt; Tools/Scripts/webkitpy/common/net/networktransaction.py:58
&gt; +                _log.warn(&apos;Received HTTP status {} while loading {}. Retrying in {} seconds...&apos;.format(e.code, url, self._backoff_seconds))

Why make this change? Is there a way for us to bubble up e.&lt;some_var&gt; for the URL instead of requiring it to be passed into NetworkTransaction? I don&apos;t like that passing url is now required for useful logging.

&gt; Tools/Scripts/webkitpy/common/net/networktransaction.py:62
&gt; +                _log.warn(&apos;Received URLError: &quot;{}&quot; while loading {}. Retrying in {} seconds...&apos;.format(e.reason, url, self._backoff_seconds))

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403368</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-03-02 14:08:02 -0800</bug_when>
    <thetext>&gt; Using method open_url() which uses NetworkTransaction for all self.browser.open() 

Does this only apply retries to GET, never POST?

Given that we can&apos;t retry POST, the only real fix is to fix the network.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403395</commentid>
    <comment_count>7</comment_count>
      <attachid>334933</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-03-02 14:54:39 -0800</bug_when>
    <thetext>Created attachment 334933
Updated patch without additional logging

Patch without additional logging. Will add logs in a separate patch. Let&apos;s fix the urgent issue causing visible EWS problems first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403397</commentid>
    <comment_count>8</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-03-02 14:58:30 -0800</bug_when>
    <thetext>&gt; I really like the philosophy of the patch (retry instead of failing
&gt; completely If necessary), just have a small issue with the implementation of
&gt; NetworkTransaction. Let&apos;s chat in-person Monday and see if we can find a
&gt; better way to do this. If not, the benefit of the patch probably outweighs
&gt; the new logging in NetworkTransaction.
Sure. For now, I have removed the additional logging. Let&apos;s discuss on Monday and add that in a separate patch.

&gt; Does this only apply retries to GET, never POST?
Yes, this apply retries only to POST (only to browser.open(), not to browser.submit())
Reference for open(): http://mechanize.readthedocs.io/en/latest/browser_api.html#mechanize.Browser.open</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403398</commentid>
    <comment_count>9</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-03-02 15:01:14 -0800</bug_when>
    <thetext>&gt; Yes, this apply retries only to POST (only to browser.open(), not to
I meant only to GET. (wish bugzilla has option to edit comments).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403837</commentid>
    <comment_count>10</comment_count>
      <attachid>334933</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-05 17:31:00 -0800</bug_when>
    <thetext>Comment on attachment 334933
Updated patch without additional logging

Clearing flags on attachment: 334933

Committed r229296: &lt;https://trac.webkit.org/changeset/229296&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403838</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-05 17:31:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403839</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-05 17:33:09 -0800</bug_when>
    <thetext>&lt;rdar://problem/38161814&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334920</attachid>
            <date>2018-03-02 13:23:07 -0800</date>
            <delta_ts>2018-03-02 14:54:39 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bugzilla_networktransaction.patch</filename>
            <type>text/plain</type>
            <size>11503</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyOTE4NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDM0IEBACisyMDE4LTAzLTAyICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0cHldIEJ1Z3ppbGxhIGNsYXNzIHNob3VsZCB1c2UgTmV0d29y
a1RyYW5zYWN0aW9uIGZvciBuZXR3b3JrIG9wZXJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIyMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0
L2J1Z3ppbGxhL2J1Z3ppbGxhLnB5OgorICAgICAgICAoQnVnemlsbGEub3Blbl91cmwpOiBNZXRo
b2Qgd2hpY2ggdXNlcyBOZXR3b3JrVHJhbnNhY3Rpb24gZm9yIG9wZW5pbmcgdXJsLgorICAgICAg
ICAoQnVnemlsbGEuZmV0Y2hfdXNlcik6IFVzZWQgc2VsZi5vcGVuX3VybCBpbnN0ZWFkIG9mIGRp
cmVjdGx5IGNhbGxpbmcgYnJvd3Nlci5vcGVuKCkuCisgICAgICAgIChCdWd6aWxsYS5hZGRfdXNl
cl90b19ncm91cHMpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLl9mZXRjaF9idWdfcGFnZSk6
IERpdHRvLgorICAgICAgICAoQnVnemlsbGEuZmV0Y2hfYXR0YWNobWVudF9jb250ZW50cyk6IERp
dHRvLgorICAgICAgICAoQnVnemlsbGEuZ2V0X2J1Z19pZF9mb3JfYXR0YWNobWVudF9pZCk6IERp
dHRvLgorICAgICAgICAoQnVnemlsbGEuYXV0aGVudGljYXRlKTogRGl0dG8uCisgICAgICAgIChC
dWd6aWxsYS5hZGRfYXR0YWNobWVudF90b19idWcpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxh
LmFkZF9wYXRjaF90b19idWcpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLmNyZWF0ZV9idWcp
OiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLmNsZWFyX2F0dGFjaG1lbnRfZmxhZ3MpOiBEaXR0
by4KKyAgICAgICAgKEJ1Z3ppbGxhLnNldF9mbGFnX29uX2F0dGFjaG1lbnQpOiBEaXR0by4KKyAg
ICAgICAgKEJ1Z3ppbGxhLm9ic29sZXRlX2F0dGFjaG1lbnQpOiBEaXR0by4KKyAgICAgICAgKEJ1
Z3ppbGxhLmFkZF9jY190b19idWcpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLnBvc3RfY29t
bWVudF90b19idWcpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLmNsb3NlX2J1Z19hc19maXhl
ZCk6IERpdHRvLgorICAgICAgICAoQnVnemlsbGEucmVhc3NpZ25fYnVnKTogRGl0dG8uCisgICAg
ICAgIChCdWd6aWxsYS5yZW9wZW5fYnVnKTogRGl0dG8uCisgICAgICAgIChCdWd6aWxsYS5fZmV0
Y2hfYnVnX3BhZ2VfYnlfdXJsKTogRGVsZXRlZCwgbm90IHJlcXVpcmVkIGFueW1vcmUuCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L25ldHdvcmt0cmFuc2FjdGlvbi5weToK
KyAgICAgICAgKE5ldHdvcmtUcmFuc2FjdGlvbi5ydW4pOiBBZGRlZCBhbiBvcHRpb25hbCBhcmd1
bWVudCB1cmwgdXNlZCBmb3IgcHJpbnRpbmcgaW4gbG9ncy4gQWxzbyAKKyAgICAgICAgaW1wcm92
ZWQgbG9nIG1lc3NhZ2VzLgorCiAyMDE4LTAzLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ29udmVydGluZyBhIGxvYWQgdG8gYSBkb3dubG9hZCBkb2VzIG5v
dCB3b3JrIHdpdGggYXN5bmMgcG9saWN5IGRlbGVnYXRlcwpJbmRleDogVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vbmV0L25ldHdvcmt0cmFuc2FjdGlvbi5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5CShy
ZXZpc2lvbiAyMjkxODYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0
d29ya3RyYW5zYWN0aW9uLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNz
IE5ldHdvcmtUcmFuc2FjdGlvbihvYmplY3QpOgogICAgICAgICBzZWxmLl90aW1lb3V0X3NlY29u
ZHMgPSB0aW1lb3V0X3NlY29uZHMKICAgICAgICAgc2VsZi5fY29udmVydF80MDRfdG9fTm9uZSA9
IGNvbnZlcnRfNDA0X3RvX05vbmUKIAotICAgIGRlZiBydW4oc2VsZiwgcmVxdWVzdCk6CisgICAg
ZGVmIHJ1bihzZWxmLCByZXF1ZXN0LCB1cmw9Tm9uZSk6CiAgICAgICAgIHNlbGYuX3RvdGFsX3Ns
ZWVwID0gMAogICAgICAgICBzZWxmLl9iYWNrb2ZmX3NlY29uZHMgPSBzZWxmLl9pbml0aWFsX2Jh
Y2tvZmZfc2Vjb25kcwogICAgICAgICB3aGlsZSBUcnVlOgpAQCAtNTUsMTEgKzU1LDExIEBAIGNs
YXNzIE5ldHdvcmtUcmFuc2FjdGlvbihvYmplY3QpOgogICAgICAgICAgICAgICAgIGlmIHNlbGYu
X2NvbnZlcnRfNDA0X3RvX05vbmUgYW5kIGUuY29kZSA9PSA0MDQ6CiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBOb25lCiAgICAgICAgICAgICAgICAgc2VsZi5fY2hlY2tfZm9yX3RpbWVvdXQo
KQotICAgICAgICAgICAgICAgIF9sb2cud2FybigiUmVjZWl2ZWQgSFRUUCBzdGF0dXMgJXMgbG9h
ZGluZyBcIiVzXCIuICBSZXRyeWluZyBpbiAlcyBzZWNvbmRzLi4uIiAlIChlLmNvZGUsIGUuZmls
ZW5hbWUsIHNlbGYuX2JhY2tvZmZfc2Vjb25kcykpCisgICAgICAgICAgICAgICAgX2xvZy53YXJu
KCdSZWNlaXZlZCBIVFRQIHN0YXR1cyB7fSB3aGlsZSBsb2FkaW5nIHt9LiBSZXRyeWluZyBpbiB7
fSBzZWNvbmRzLi4uJy5mb3JtYXQoZS5jb2RlLCB1cmwsIHNlbGYuX2JhY2tvZmZfc2Vjb25kcykp
CiAgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQogICAgICAgICAgICAgZXhjZXB0IHVybGxp
YjIuVVJMRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBzZWxmLl9jaGVja19mb3JfdGltZW91
dCgpCi0gICAgICAgICAgICAgICAgX2xvZy53YXJuKCJSZWNlaXZlZCBVUkxFcnJvcjoge30uIFJl
dHJ5aW5nIGluIHt9IHNlY29uZHMuLi4iLmZvcm1hdChlLnJlYXNvbiwgc2VsZi5fYmFja29mZl9z
ZWNvbmRzKSkKKyAgICAgICAgICAgICAgICBfbG9nLndhcm4oJ1JlY2VpdmVkIFVSTEVycm9yOiAi
e30iIHdoaWxlIGxvYWRpbmcge30uIFJldHJ5aW5nIGluIHt9IHNlY29uZHMuLi4nLmZvcm1hdChl
LnJlYXNvbiwgdXJsLCBzZWxmLl9iYWNrb2ZmX3NlY29uZHMpKQogICAgICAgICAgICAgICAgIHNl
bGYuX3NsZWVwKCkKIAogICAgIGRlZiBfY2hlY2tfZm9yX3RpbWVvdXQoc2VsZik6CkluZGV4OiBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGEucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1
Z3ppbGxhLnB5CShyZXZpc2lvbiAyMjkxODYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGEucHkJKHdvcmtpbmcgY29weSkKQEAgLTMyOCwxNCAr
MzI4LDE3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgZGVmIHNldGRlZmF1bHR0aW1l
b3V0KHNlbGYsIHZhbHVlKToKICAgICAgICAgc29ja2V0LnNldGRlZmF1bHR0aW1lb3V0KHZhbHVl
KQogCisgICAgZGVmIG9wZW5fdXJsKHNlbGYsIHVybCk6CisgICAgICAgIHJldHVybiBOZXR3b3Jr
VHJhbnNhY3Rpb24oKS5ydW4obGFtYmRhOiBzZWxmLmJyb3dzZXIub3Blbih1cmwpLCB1cmwpCisK
ICAgICBkZWYgZmV0Y2hfdXNlcihzZWxmLCB1c2VyX2lkKToKICAgICAgICAgc2VsZi5hdXRoZW50
aWNhdGUoKQotICAgICAgICBlZGl0X3VzZXJfcGFnZSA9IHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYu
ZWRpdF91c2VyX3VybF9mb3JfaWQodXNlcl9pZCkpCisgICAgICAgIGVkaXRfdXNlcl9wYWdlID0g
c2VsZi5vcGVuX3VybChzZWxmLmVkaXRfdXNlcl91cmxfZm9yX2lkKHVzZXJfaWQpKQogICAgICAg
ICByZXR1cm4gc2VsZi5lZGl0X3VzZXJfcGFyc2VyLnVzZXJfZGljdF9mcm9tX2VkaXRfdXNlcl9w
YWdlKGVkaXRfdXNlcl9wYWdlKQogCiAgICAgZGVmIGFkZF91c2VyX3RvX2dyb3VwcyhzZWxmLCB1
c2VyX2lkLCBncm91cF9uYW1lcyk6CiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlKCkKLSAgICAg
ICAgdXNlcl9lZGl0X3BhZ2UgPSBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmVkaXRfdXNlcl91cmxf
Zm9yX2lkKHVzZXJfaWQpKQorICAgICAgICB1c2VyX2VkaXRfcGFnZSA9IHNlbGYub3Blbl91cmwo
c2VsZi5lZGl0X3VzZXJfdXJsX2Zvcl9pZCh1c2VyX2lkKSkKICAgICAgICAgc2VsZi5icm93c2Vy
LnNlbGVjdF9mb3JtKG5yPTEpCiAgICAgICAgIGZvciBncm91cF9uYW1lIGluIGdyb3VwX25hbWVz
OgogICAgICAgICAgICAgZ3JvdXBfc3RyaW5nID0gc2VsZi5lZGl0X3VzZXJfcGFyc2VyLmdyb3Vw
X3N0cmluZ19mcm9tX25hbWUodXNlcl9lZGl0X3BhZ2UsIGdyb3VwX25hbWUpCkBAIC00NjksMTAg
KzQ3Miw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgZGVmIF9mZXRjaF9idWdfcGFn
ZShzZWxmLCBidWdfaWQpOgogICAgICAgICBidWdfdXJsID0gc2VsZi5idWdfdXJsX2Zvcl9idWdf
aWQoYnVnX2lkLCB4bWw9VHJ1ZSkKICAgICAgICAgX2xvZy5pbmZvKCJGZXRjaGluZzogJXMiICUg
YnVnX3VybCkKLSAgICAgICAgcmV0dXJuIE5ldHdvcmtUcmFuc2FjdGlvbigpLnJ1bihsYW1iZGE6
IHNlbGYuX2ZldGNoX2J1Z19wYWdlX2J5X3VybChidWdfdXJsKSkKLQotICAgIGRlZiBfZmV0Y2hf
YnVnX3BhZ2VfYnlfdXJsKHNlbGYsIGJ1Z191cmwpOgotICAgICAgICByZXR1cm4gc2VsZi5icm93
c2VyLm9wZW4oYnVnX3VybCkKKyAgICAgICAgcmV0dXJuIHNlbGYub3Blbl91cmwoYnVnX3VybCkK
IAogICAgIGRlZiBmZXRjaF9idWdfZGljdGlvbmFyeShzZWxmLCBidWdfaWQpOgogICAgICAgICB0
cnk6CkBAIC00ODgsOSArNDg4LDEwIEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAKICAgICBk
ZWYgZmV0Y2hfYXR0YWNobWVudF9jb250ZW50cyhzZWxmLCBhdHRhY2htZW50X2lkKToKICAgICAg
ICAgYXR0YWNobWVudF91cmwgPSBzZWxmLmF0dGFjaG1lbnRfdXJsX2Zvcl9pZChhdHRhY2htZW50
X2lkKQorICAgICAgICBfbG9nLmluZm8oIkZldGNoaW5nOiAlcyIgJSBhdHRhY2htZW50X3VybCkK
ICAgICAgICAgIyBXZSBuZWVkIHRvIGF1dGhlbnRpY2F0ZSB0byBkb3dubG9hZCBwYXRjaGVzIGZy
b20gc2VjdXJpdHkgYnVncy4KICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUoKQotICAgICAgICBy
ZXR1cm4gc2VsZi5icm93c2VyLm9wZW4oYXR0YWNobWVudF91cmwpLnJlYWQoKQorICAgICAgICBy
ZXR1cm4gc2VsZi5vcGVuX3VybChhdHRhY2htZW50X3VybCkucmVhZCgpCiAKICAgICBkZWYgX3Bh
cnNlX2J1Z19pZF9mcm9tX2F0dGFjaG1lbnRfcGFnZShzZWxmLCBwYWdlKToKICAgICAgICAgIyBU
aGUgIlVwIiByZWxhdGlvbiBoYXBwZW5zIHRvIHBvaW50IHRvIHRoZSBidWcuCkBAIC01MTIsNyAr
NTEzLDcgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKIAogICAgICAgICBhdHRhY2htZW50X3Vy
bCA9IHNlbGYuYXR0YWNobWVudF91cmxfZm9yX2lkKGF0dGFjaG1lbnRfaWQsICdlZGl0JykKICAg
ICAgICAgX2xvZy5pbmZvKCJGZXRjaGluZzogJXMiICUgYXR0YWNobWVudF91cmwpCi0gICAgICAg
IHBhZ2UgPSBzZWxmLmJyb3dzZXIub3BlbihhdHRhY2htZW50X3VybCkKKyAgICAgICAgcGFnZSA9
IHNlbGYub3Blbl91cmwoYXR0YWNobWVudF91cmwpCiAgICAgICAgIHJldHVybiBzZWxmLl9wYXJz
ZV9idWdfaWRfZnJvbV9hdHRhY2htZW50X3BhZ2UocGFnZSkKIAogICAgICMgRklYTUU6IFRoaXMg
c2hvdWxkIGp1c3QgcmV0dXJuIEF0dGFjaG1lbnQoaWQpLCB3aGljaCBzaG91bGQgYmUgYWJsZSB0
bwpAQCAtNTQ1LDcgKzU0Niw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgICAg
ICB1c2VybmFtZSwgcGFzc3dvcmQgPSBjcmVkZW50aWFscy5yZWFkX2NyZWRlbnRpYWxzKHVzZV9z
dG9yZWRfY3JlZGVudGlhbHM9YXR0ZW1wdHMgPT0gMSkKIAogICAgICAgICAgICAgX2xvZy5pbmZv
KCJMb2dnaW5nIGluIGFzICVzLi4uIiAlIHVzZXJuYW1lKQotICAgICAgICAgICAgc2VsZi5icm93
c2VyLm9wZW4oY29uZmlnX3VybHMuYnVnX3NlcnZlcl91cmwgKworICAgICAgICAgICAgc2VsZi5v
cGVuX3VybChjb25maWdfdXJscy5idWdfc2VydmVyX3VybCArCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiaW5kZXguY2dpP0dvQWhlYWRBbmRMb2dJbj0xIikKICAgICAgICAgICAgIHNl
bGYuYnJvd3Nlci5zZWxlY3RfZm9ybShuYW1lPSJsb2dpbiIpCiAgICAgICAgICAgICBzZWxmLmJy
b3dzZXJbJ0J1Z3ppbGxhX2xvZ2luJ10gPSB1c2VybmFtZQpAQCAtNjIxLDcgKzYyMiw3IEBAIGNs
YXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgZGVmIGFkZF9hdHRhY2htZW50X3RvX2J1ZyhzZWxm
LCBidWdfaWQsIGZpbGVfb3Jfc3RyaW5nLCBkZXNjcmlwdGlvbiwgZmlsZW5hbWU9Tm9uZSwgY29t
bWVudF90ZXh0PU5vbmUsIG1pbWV0eXBlPU5vbmUpOgogICAgICAgICBzZWxmLmF1dGhlbnRpY2F0
ZSgpCiAgICAgICAgIF9sb2cuaW5mbygnQWRkaW5nIGF0dGFjaG1lbnQgIiVzIiB0byAlcycgJSAo
ZGVzY3JpcHRpb24sIHNlbGYuYnVnX3VybF9mb3JfYnVnX2lkKGJ1Z19pZCkpKQotICAgICAgICBz
ZWxmLmJyb3dzZXIub3BlbihzZWxmLmFkZF9hdHRhY2htZW50X3VybChidWdfaWQpKQorICAgICAg
ICBzZWxmLm9wZW5fdXJsKHNlbGYuYWRkX2F0dGFjaG1lbnRfdXJsKGJ1Z19pZCkpCiAgICAgICAg
IHNlbGYuYnJvd3Nlci5zZWxlY3RfZm9ybShuYW1lPSJlbnRyeWZvcm0iKQogICAgICAgICBmaWxl
X29iamVjdCA9IHNlbGYuX2ZpbGVfb2JqZWN0X2Zvcl91cGxvYWQoZmlsZV9vcl9zdHJpbmcpCiAg
ICAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWUgb3Igc2VsZi5fZmlsZW5hbWVfZm9yX3VwbG9hZChm
aWxlX29iamVjdCwgYnVnX2lkKQpAQCAtNjUyLDcgKzY1Myw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9i
amVjdCk6CiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlKCkKICAgICAgICAgX2xvZy5pbmZvKCdB
ZGRpbmcgcGF0Y2ggIiVzIiB0byAlcycgJSAoZGVzY3JpcHRpb24sIHNlbGYuYnVnX3VybF9mb3Jf
YnVnX2lkKGJ1Z19pZCkpKQogCi0gICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYuYWRkX2F0
dGFjaG1lbnRfdXJsKGJ1Z19pZCkpCisgICAgICAgIHNlbGYub3Blbl91cmwoc2VsZi5hZGRfYXR0
YWNobWVudF91cmwoYnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5h
bWU9ImVudHJ5Zm9ybSIpCiAgICAgICAgIGZpbGVfb2JqZWN0ID0gc2VsZi5fZmlsZV9vYmplY3Rf
Zm9yX3VwbG9hZChmaWxlX29yX3N0cmluZykKICAgICAgICAgZmlsZW5hbWUgPSBzZWxmLl9maWxl
bmFtZV9mb3JfdXBsb2FkKGZpbGVfb2JqZWN0LCBidWdfaWQsIGV4dGVuc2lvbj0icGF0Y2giKQpA
QCAtNzA4LDcgKzcwOSw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgIHNlbGYu
YXV0aGVudGljYXRlKCkKIAogICAgICAgICBfbG9nLmluZm8oJ0NyZWF0aW5nIGJ1ZyB3aXRoIHRp
dGxlICIlcyInICUgYnVnX3RpdGxlKQotICAgICAgICBzZWxmLmJyb3dzZXIub3Blbihjb25maWdf
dXJscy5idWdfc2VydmVyX3VybCArICJlbnRlcl9idWcuY2dpP3Byb2R1Y3Q9V2ViS2l0IikKKyAg
ICAgICAgc2VsZi5vcGVuX3VybChjb25maWdfdXJscy5idWdfc2VydmVyX3VybCArICJlbnRlcl9i
dWcuY2dpP3Byb2R1Y3Q9V2ViS2l0IikKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3Jt
KG5hbWU9IkNyZWF0ZSIpCiAgICAgICAgIGNvbXBvbmVudF9pdGVtcyA9IHNlbGYuYnJvd3Nlci5m
aW5kX2NvbnRyb2woJ2NvbXBvbmVudCcpLml0ZW1zCiAgICAgICAgIGNvbXBvbmVudF9uYW1lcyA9
IG1hcChsYW1iZGEgaXRlbTogaXRlbS5uYW1lLCBjb21wb25lbnRfaXRlbXMpCkBAIC03NjksNyAr
NzcwLDcgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAgICAgICAgICAgIGNvbW1lbnRfdGV4
dCArPSAiXG5cbiVzIiAlIGFkZGl0aW9uYWxfY29tbWVudF90ZXh0CiAgICAgICAgIF9sb2cuaW5m
byhjb21tZW50X3RleHQpCiAKLSAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oc2VsZi5hdHRhY2ht
ZW50X3VybF9mb3JfaWQoYXR0YWNobWVudF9pZCwgJ2VkaXQnKSkKKyAgICAgICAgc2VsZi5vcGVu
X3VybChzZWxmLmF0dGFjaG1lbnRfdXJsX2Zvcl9pZChhdHRhY2htZW50X2lkLCAnZWRpdCcpKQog
ICAgICAgICBzZWxmLmJyb3dzZXIuc2VsZWN0X2Zvcm0obnI9MSkKICAgICAgICAgc2VsZi5icm93
c2VyLnNldF92YWx1ZShjb21tZW50X3RleHQsIG5hbWU9J2NvbW1lbnQnLCBucj0xKQogICAgICAg
ICBzZWxmLl9maW5kX3NlbGVjdF9lbGVtZW50X2Zvcl9mbGFnKCdyZXZpZXcnKS52YWx1ZSA9ICgi
WCIsKQpAQCAtNzg2LDcgKzc4Nyw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAKICAgICAg
ICAgc2VsZi5hdXRoZW50aWNhdGUoKQogICAgICAgICBfbG9nLmluZm8oY29tbWVudF90ZXh0KQot
ICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmF0dGFjaG1lbnRfdXJsX2Zvcl9pZChhdHRh
Y2htZW50X2lkLCAnZWRpdCcpKQorICAgICAgICBzZWxmLm9wZW5fdXJsKHNlbGYuYXR0YWNobWVu
dF91cmxfZm9yX2lkKGF0dGFjaG1lbnRfaWQsICdlZGl0JykpCiAgICAgICAgIHNlbGYuYnJvd3Nl
ci5zZWxlY3RfZm9ybShucj0xKQogCiAgICAgICAgIGlmIGNvbW1lbnRfdGV4dDoKQEAgLTgwMiw3
ICs4MDMsNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICBzZWxmLmF1dGhlbnRp
Y2F0ZSgpCiAKICAgICAgICAgX2xvZy5pbmZvKCJPYnNvbGV0aW5nIGF0dGFjaG1lbnQ6ICVzIiAl
IGF0dGFjaG1lbnRfaWQpCi0gICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYuYXR0YWNobWVu
dF91cmxfZm9yX2lkKGF0dGFjaG1lbnRfaWQsICdlZGl0JykpCisgICAgICAgIHNlbGYub3Blbl91
cmwoc2VsZi5hdHRhY2htZW50X3VybF9mb3JfaWQoYXR0YWNobWVudF9pZCwgJ2VkaXQnKSkKICAg
ICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5yPTEpCiAgICAgICAgIHNlbGYuYnJvd3Nl
ci5maW5kX2NvbnRyb2woJ2lzb2Jzb2xldGUnKS5pdGVtc1swXS5zZWxlY3RlZCA9IFRydWUKICAg
ICAgICAgIyBBbHNvIGNsZWFyIGFueSByZXZpZXcgZmxhZyAodG8gcmVtb3ZlIGl0IGZyb20gcmV2
aWV3L2NvbW1pdCBxdWV1ZXMpCkBAIC04MTksNyArODIwLDcgQEAgY2xhc3MgQnVnemlsbGEob2Jq
ZWN0KToKICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUoKQogCiAgICAgICAgIF9sb2cuaW5mbygi
QWRkaW5nICVzIHRvIHRoZSBDQyBsaXN0IGZvciBidWcgJXMiICUgKGVtYWlsX2FkZHJlc3NfbGlz
dCwgYnVnX2lkKSkKLSAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oc2VsZi5idWdfdXJsX2Zvcl9i
dWdfaWQoYnVnX2lkKSkKKyAgICAgICAgc2VsZi5vcGVuX3VybChzZWxmLmJ1Z191cmxfZm9yX2J1
Z19pZChidWdfaWQpKQogICAgICAgICBzZWxmLmJyb3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0iY2hh
bmdlZm9ybSIpCiAgICAgICAgIHNlbGYuYnJvd3NlclsibmV3Y2MiXSA9ICIsICIuam9pbihlbWFp
bF9hZGRyZXNzX2xpc3QpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5zdWJtaXQoKQpAQCAtODI4LDcg
KzgyOSw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgIHNlbGYuYXV0aGVudGlj
YXRlKCkKIAogICAgICAgICBfbG9nLmluZm8oIkFkZGluZyBjb21tZW50IHRvIGJ1ZyAlcyIgJSBi
dWdfaWQpCi0gICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYuYnVnX3VybF9mb3JfYnVnX2lk
KGJ1Z19pZCkpCisgICAgICAgIHNlbGYub3Blbl91cmwoc2VsZi5idWdfdXJsX2Zvcl9idWdfaWQo
YnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5hbWU9ImNoYW5nZWZv
cm0iKQogICAgICAgICBzZWxmLmJyb3dzZXJbImNvbW1lbnQiXSA9IGNvbW1lbnRfdGV4dAogICAg
ICAgICBpZiBjYzoKQEAgLTgzOSw3ICs4NDAsNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgog
ICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZSgpCiAKICAgICAgICAgX2xvZy5pbmZvKCJDbG9zaW5n
IGJ1ZyAlcyBhcyBmaXhlZCIgJSBidWdfaWQpCi0gICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNl
bGYuYnVnX3VybF9mb3JfYnVnX2lkKGJ1Z19pZCkpCisgICAgICAgIHNlbGYub3Blbl91cmwoc2Vs
Zi5idWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVj
dF9mb3JtKG5hbWU9ImNoYW5nZWZvcm0iKQogICAgICAgICBpZiBjb21tZW50X3RleHQ6CiAgICAg
ICAgICAgICBzZWxmLmJyb3dzZXJbJ2NvbW1lbnQnXSA9IGNvbW1lbnRfdGV4dApAQCAtODU3LDcg
Kzg1OCw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgICAgICBhc3NpZ25lZSA9
IHNlbGYudXNlcm5hbWUKIAogICAgICAgICBfbG9nLmluZm8oIkFzc2lnbmluZyBidWcgJXMgdG8g
JXMiICUgKGJ1Z19pZCwgYXNzaWduZWUpKQotICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxm
LmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQpKQorICAgICAgICBzZWxmLm9wZW5fdXJsKHNlbGYu
YnVnX3VybF9mb3JfYnVnX2lkKGJ1Z19pZCkpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5zZWxlY3Rf
Zm9ybShuYW1lPSJjaGFuZ2Vmb3JtIikKIAogICAgICAgICBpZiBub3Qgc2VsZi5faGFzX2NvbnRy
b2woc2VsZi5icm93c2VyLCAiYXNzaWduZWRfdG8iKToKQEAgLTg3OCw3ICs4NzksNyBAQCBJZ25v
cmUgdGhpcyBtZXNzYWdlIGlmIHlvdSBkb24ndCBoYXZlIEVkCiAgICAgICAgICMgQnVnemlsbGEg
cmVxdWlyZXMgYSBjb21tZW50IHdoZW4gcmUtb3BlbmluZyBhIGJ1Zywgc28gd2Uga25vdyBpdCB3
aWxsCiAgICAgICAgICMgbmV2ZXIgYmUgTm9uZS4KICAgICAgICAgX2xvZy5pbmZvKGNvbW1lbnRf
dGV4dCkKLSAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oc2VsZi5idWdfdXJsX2Zvcl9idWdfaWQo
YnVnX2lkKSkKKyAgICAgICAgc2VsZi5vcGVuX3VybChzZWxmLmJ1Z191cmxfZm9yX2J1Z19pZChi
dWdfaWQpKQogICAgICAgICBzZWxmLmJyb3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0iY2hhbmdlZm9y
bSIpCiAgICAgICAgIGJ1Z19zdGF0dXMgPSBzZWxmLmJyb3dzZXIuZmluZF9jb250cm9sKCJidWdf
c3RhdHVzIiwgdHlwZT0ic2VsZWN0IikKICAgICAgICAgIyBUaGlzIGlzIGEgaGFjayBhcm91bmQg
dGhlIGZhY3QgdGhhdCBDbGllbnRGb3JtLkxpc3RDb250cm9sIHNlZW1zIHRvCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334933</attachid>
            <date>2018-03-02 14:54:39 -0800</date>
            <delta_ts>2018-03-05 17:31:00 -0800</delta_ts>
            <desc>Updated patch without additional logging</desc>
            <filename>bugzilla_networktransaction_v2.patch</filename>
            <type>text/plain</type>
            <size>10535</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyOTE4NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMzIEBACisyMDE4LTAzLTAyICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0cHldIEJ1Z3ppbGxhIGNsYXNzIHNob3VsZCB1c2UgTmV0d29y
a1RyYW5zYWN0aW9uIGZvciBuZXR3b3JrIG9wZXJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzIyMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0
L2J1Z3ppbGxhL2J1Z3ppbGxhLnB5OgorICAgICAgICAoQnVnemlsbGEub3Blbl91cmwpOiBNZXRo
b2Qgd2hpY2ggdXNlcyBOZXR3b3JrVHJhbnNhY3Rpb24gZm9yIG9wZW5pbmcgdXJsLgorICAgICAg
ICAoQnVnemlsbGEuZmV0Y2hfdXNlcik6IFVzZWQgc2VsZi5vcGVuX3VybCBpbnN0ZWFkIG9mIGRp
cmVjdGx5IGNhbGxpbmcgYnJvd3Nlci5vcGVuKCkuCisgICAgICAgIChCdWd6aWxsYS5hZGRfdXNl
cl90b19ncm91cHMpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLl9mZXRjaF9idWdfcGFnZSk6
IERpdHRvLgorICAgICAgICAoQnVnemlsbGEuZmV0Y2hfYXR0YWNobWVudF9jb250ZW50cyk6IERp
dHRvLgorICAgICAgICAoQnVnemlsbGEuZ2V0X2J1Z19pZF9mb3JfYXR0YWNobWVudF9pZCk6IERp
dHRvLgorICAgICAgICAoQnVnemlsbGEuYXV0aGVudGljYXRlKTogRGl0dG8uCisgICAgICAgIChC
dWd6aWxsYS5hZGRfYXR0YWNobWVudF90b19idWcpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxh
LmFkZF9wYXRjaF90b19idWcpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLmNyZWF0ZV9idWcp
OiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLmNsZWFyX2F0dGFjaG1lbnRfZmxhZ3MpOiBEaXR0
by4KKyAgICAgICAgKEJ1Z3ppbGxhLnNldF9mbGFnX29uX2F0dGFjaG1lbnQpOiBEaXR0by4KKyAg
ICAgICAgKEJ1Z3ppbGxhLm9ic29sZXRlX2F0dGFjaG1lbnQpOiBEaXR0by4KKyAgICAgICAgKEJ1
Z3ppbGxhLmFkZF9jY190b19idWcpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLnBvc3RfY29t
bWVudF90b19idWcpOiBEaXR0by4KKyAgICAgICAgKEJ1Z3ppbGxhLmNsb3NlX2J1Z19hc19maXhl
ZCk6IERpdHRvLgorICAgICAgICAoQnVnemlsbGEucmVhc3NpZ25fYnVnKTogRGl0dG8uCisgICAg
ICAgIChCdWd6aWxsYS5yZW9wZW5fYnVnKTogRGl0dG8uCisgICAgICAgIChCdWd6aWxsYS5fZmV0
Y2hfYnVnX3BhZ2VfYnlfdXJsKTogRGVsZXRlZCwgbm90IHJlcXVpcmVkIGFueW1vcmUuCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L25ldHdvcmt0cmFuc2FjdGlvbi5weToK
KyAgICAgICAgKE5ldHdvcmtUcmFuc2FjdGlvbi5ydW4pOiBBZGRlZCBhIEZJWE1FLgorCiAyMDE4
LTAzLTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQ29udmVy
dGluZyBhIGxvYWQgdG8gYSBkb3dubG9hZCBkb2VzIG5vdCB3b3JrIHdpdGggYXN5bmMgcG9saWN5
IGRlbGVnYXRlcwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L25ldHdv
cmt0cmFuc2FjdGlvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5CShyZXZpc2lvbiAyMjkxODYpCisrKyBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIGNsYXNzIE5ldHdvcmtUcmFuc2FjdGlvbihvYmpl
Y3QpOgogICAgICAgICAgICAgICAgIHNlbGYuX3NsZWVwKCkKICAgICAgICAgICAgIGV4Y2VwdCB1
cmxsaWIyLlVSTEVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgc2VsZi5fY2hlY2tfZm9yX3Rp
bWVvdXQoKQorICAgICAgICAgICAgICAgICMgRklYTUU6IExvZyB0aGUgVVJMIHdoaWNoIHJlc3Vs
dGVkIGluIFVSTEVycm9yLgogICAgICAgICAgICAgICAgIF9sb2cud2FybigiUmVjZWl2ZWQgVVJM
RXJyb3I6IHt9LiBSZXRyeWluZyBpbiB7fSBzZWNvbmRzLi4uIi5mb3JtYXQoZS5yZWFzb24sIHNl
bGYuX2JhY2tvZmZfc2Vjb25kcykpCiAgICAgICAgICAgICAgICAgc2VsZi5fc2xlZXAoKQogCklu
ZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGEu
cHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3pp
bGxhL2J1Z3ppbGxhLnB5CShyZXZpc2lvbiAyMjkxODYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGEucHkJKHdvcmtpbmcgY29weSkKQEAgLTMy
OCwxNCArMzI4LDE3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgZGVmIHNldGRlZmF1
bHR0aW1lb3V0KHNlbGYsIHZhbHVlKToKICAgICAgICAgc29ja2V0LnNldGRlZmF1bHR0aW1lb3V0
KHZhbHVlKQogCisgICAgZGVmIG9wZW5fdXJsKHNlbGYsIHVybCk6CisgICAgICAgIHJldHVybiBO
ZXR3b3JrVHJhbnNhY3Rpb24oKS5ydW4obGFtYmRhOiBzZWxmLmJyb3dzZXIub3Blbih1cmwpKQor
CiAgICAgZGVmIGZldGNoX3VzZXIoc2VsZiwgdXNlcl9pZCk6CiAgICAgICAgIHNlbGYuYXV0aGVu
dGljYXRlKCkKLSAgICAgICAgZWRpdF91c2VyX3BhZ2UgPSBzZWxmLmJyb3dzZXIub3BlbihzZWxm
LmVkaXRfdXNlcl91cmxfZm9yX2lkKHVzZXJfaWQpKQorICAgICAgICBlZGl0X3VzZXJfcGFnZSA9
IHNlbGYub3Blbl91cmwoc2VsZi5lZGl0X3VzZXJfdXJsX2Zvcl9pZCh1c2VyX2lkKSkKICAgICAg
ICAgcmV0dXJuIHNlbGYuZWRpdF91c2VyX3BhcnNlci51c2VyX2RpY3RfZnJvbV9lZGl0X3VzZXJf
cGFnZShlZGl0X3VzZXJfcGFnZSkKIAogICAgIGRlZiBhZGRfdXNlcl90b19ncm91cHMoc2VsZiwg
dXNlcl9pZCwgZ3JvdXBfbmFtZXMpOgogICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZSgpCi0gICAg
ICAgIHVzZXJfZWRpdF9wYWdlID0gc2VsZi5icm93c2VyLm9wZW4oc2VsZi5lZGl0X3VzZXJfdXJs
X2Zvcl9pZCh1c2VyX2lkKSkKKyAgICAgICAgdXNlcl9lZGl0X3BhZ2UgPSBzZWxmLm9wZW5fdXJs
KHNlbGYuZWRpdF91c2VyX3VybF9mb3JfaWQodXNlcl9pZCkpCiAgICAgICAgIHNlbGYuYnJvd3Nl
ci5zZWxlY3RfZm9ybShucj0xKQogICAgICAgICBmb3IgZ3JvdXBfbmFtZSBpbiBncm91cF9uYW1l
czoKICAgICAgICAgICAgIGdyb3VwX3N0cmluZyA9IHNlbGYuZWRpdF91c2VyX3BhcnNlci5ncm91
cF9zdHJpbmdfZnJvbV9uYW1lKHVzZXJfZWRpdF9wYWdlLCBncm91cF9uYW1lKQpAQCAtNDY5LDEw
ICs0NzIsNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgIGRlZiBfZmV0Y2hfYnVnX3Bh
Z2Uoc2VsZiwgYnVnX2lkKToKICAgICAgICAgYnVnX3VybCA9IHNlbGYuYnVnX3VybF9mb3JfYnVn
X2lkKGJ1Z19pZCwgeG1sPVRydWUpCiAgICAgICAgIF9sb2cuaW5mbygiRmV0Y2hpbmc6ICVzIiAl
IGJ1Z191cmwpCi0gICAgICAgIHJldHVybiBOZXR3b3JrVHJhbnNhY3Rpb24oKS5ydW4obGFtYmRh
OiBzZWxmLl9mZXRjaF9idWdfcGFnZV9ieV91cmwoYnVnX3VybCkpCi0KLSAgICBkZWYgX2ZldGNo
X2J1Z19wYWdlX2J5X3VybChzZWxmLCBidWdfdXJsKToKLSAgICAgICAgcmV0dXJuIHNlbGYuYnJv
d3Nlci5vcGVuKGJ1Z191cmwpCisgICAgICAgIHJldHVybiBzZWxmLm9wZW5fdXJsKGJ1Z191cmwp
CiAKICAgICBkZWYgZmV0Y2hfYnVnX2RpY3Rpb25hcnkoc2VsZiwgYnVnX2lkKToKICAgICAgICAg
dHJ5OgpAQCAtNDg4LDkgKzQ4OCwxMCBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogCiAgICAg
ZGVmIGZldGNoX2F0dGFjaG1lbnRfY29udGVudHMoc2VsZiwgYXR0YWNobWVudF9pZCk6CiAgICAg
ICAgIGF0dGFjaG1lbnRfdXJsID0gc2VsZi5hdHRhY2htZW50X3VybF9mb3JfaWQoYXR0YWNobWVu
dF9pZCkKKyAgICAgICAgX2xvZy5pbmZvKCJGZXRjaGluZzogJXMiICUgYXR0YWNobWVudF91cmwp
CiAgICAgICAgICMgV2UgbmVlZCB0byBhdXRoZW50aWNhdGUgdG8gZG93bmxvYWQgcGF0Y2hlcyBm
cm9tIHNlY3VyaXR5IGJ1Z3MuCiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlKCkKLSAgICAgICAg
cmV0dXJuIHNlbGYuYnJvd3Nlci5vcGVuKGF0dGFjaG1lbnRfdXJsKS5yZWFkKCkKKyAgICAgICAg
cmV0dXJuIHNlbGYub3Blbl91cmwoYXR0YWNobWVudF91cmwpLnJlYWQoKQogCiAgICAgZGVmIF9w
YXJzZV9idWdfaWRfZnJvbV9hdHRhY2htZW50X3BhZ2Uoc2VsZiwgcGFnZSk6CiAgICAgICAgICMg
VGhlICJVcCIgcmVsYXRpb24gaGFwcGVucyB0byBwb2ludCB0byB0aGUgYnVnLgpAQCAtNTEyLDcg
KzUxMyw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAKICAgICAgICAgYXR0YWNobWVudF91
cmwgPSBzZWxmLmF0dGFjaG1lbnRfdXJsX2Zvcl9pZChhdHRhY2htZW50X2lkLCAnZWRpdCcpCiAg
ICAgICAgIF9sb2cuaW5mbygiRmV0Y2hpbmc6ICVzIiAlIGF0dGFjaG1lbnRfdXJsKQotICAgICAg
ICBwYWdlID0gc2VsZi5icm93c2VyLm9wZW4oYXR0YWNobWVudF91cmwpCisgICAgICAgIHBhZ2Ug
PSBzZWxmLm9wZW5fdXJsKGF0dGFjaG1lbnRfdXJsKQogICAgICAgICByZXR1cm4gc2VsZi5fcGFy
c2VfYnVnX2lkX2Zyb21fYXR0YWNobWVudF9wYWdlKHBhZ2UpCiAKICAgICAjIEZJWE1FOiBUaGlz
IHNob3VsZCBqdXN0IHJldHVybiBBdHRhY2htZW50KGlkKSwgd2hpY2ggc2hvdWxkIGJlIGFibGUg
dG8KQEAgLTU0NSw3ICs1NDYsNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICAg
ICAgdXNlcm5hbWUsIHBhc3N3b3JkID0gY3JlZGVudGlhbHMucmVhZF9jcmVkZW50aWFscyh1c2Vf
c3RvcmVkX2NyZWRlbnRpYWxzPWF0dGVtcHRzID09IDEpCiAKICAgICAgICAgICAgIF9sb2cuaW5m
bygiTG9nZ2luZyBpbiBhcyAlcy4uLiIgJSB1c2VybmFtZSkKLSAgICAgICAgICAgIHNlbGYuYnJv
d3Nlci5vcGVuKGNvbmZpZ191cmxzLmJ1Z19zZXJ2ZXJfdXJsICsKKyAgICAgICAgICAgIHNlbGYu
b3Blbl91cmwoY29uZmlnX3VybHMuYnVnX3NlcnZlcl91cmwgKwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImluZGV4LmNnaT9Hb0FoZWFkQW5kTG9nSW49MSIpCiAgICAgICAgICAgICBz
ZWxmLmJyb3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0ibG9naW4iKQogICAgICAgICAgICAgc2VsZi5i
cm93c2VyWydCdWd6aWxsYV9sb2dpbiddID0gdXNlcm5hbWUKQEAgLTYyMSw3ICs2MjIsNyBAQCBj
bGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgIGRlZiBhZGRfYXR0YWNobWVudF90b19idWcoc2Vs
ZiwgYnVnX2lkLCBmaWxlX29yX3N0cmluZywgZGVzY3JpcHRpb24sIGZpbGVuYW1lPU5vbmUsIGNv
bW1lbnRfdGV4dD1Ob25lLCBtaW1ldHlwZT1Ob25lKToKICAgICAgICAgc2VsZi5hdXRoZW50aWNh
dGUoKQogICAgICAgICBfbG9nLmluZm8oJ0FkZGluZyBhdHRhY2htZW50ICIlcyIgdG8gJXMnICUg
KGRlc2NyaXB0aW9uLCBzZWxmLmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQpKSkKLSAgICAgICAg
c2VsZi5icm93c2VyLm9wZW4oc2VsZi5hZGRfYXR0YWNobWVudF91cmwoYnVnX2lkKSkKKyAgICAg
ICAgc2VsZi5vcGVuX3VybChzZWxmLmFkZF9hdHRhY2htZW50X3VybChidWdfaWQpKQogICAgICAg
ICBzZWxmLmJyb3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0iZW50cnlmb3JtIikKICAgICAgICAgZmls
ZV9vYmplY3QgPSBzZWxmLl9maWxlX29iamVjdF9mb3JfdXBsb2FkKGZpbGVfb3Jfc3RyaW5nKQog
ICAgICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lIG9yIHNlbGYuX2ZpbGVuYW1lX2Zvcl91cGxvYWQo
ZmlsZV9vYmplY3QsIGJ1Z19pZCkKQEAgLTY1Miw3ICs2NTMsNyBAQCBjbGFzcyBCdWd6aWxsYShv
YmplY3QpOgogICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZSgpCiAgICAgICAgIF9sb2cuaW5mbygn
QWRkaW5nIHBhdGNoICIlcyIgdG8gJXMnICUgKGRlc2NyaXB0aW9uLCBzZWxmLmJ1Z191cmxfZm9y
X2J1Z19pZChidWdfaWQpKSkKIAotICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmFkZF9h
dHRhY2htZW50X3VybChidWdfaWQpKQorICAgICAgICBzZWxmLm9wZW5fdXJsKHNlbGYuYWRkX2F0
dGFjaG1lbnRfdXJsKGJ1Z19pZCkpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5zZWxlY3RfZm9ybShu
YW1lPSJlbnRyeWZvcm0iKQogICAgICAgICBmaWxlX29iamVjdCA9IHNlbGYuX2ZpbGVfb2JqZWN0
X2Zvcl91cGxvYWQoZmlsZV9vcl9zdHJpbmcpCiAgICAgICAgIGZpbGVuYW1lID0gc2VsZi5fZmls
ZW5hbWVfZm9yX3VwbG9hZChmaWxlX29iamVjdCwgYnVnX2lkLCBleHRlbnNpb249InBhdGNoIikK
QEAgLTcwOCw3ICs3MDksNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICBzZWxm
LmF1dGhlbnRpY2F0ZSgpCiAKICAgICAgICAgX2xvZy5pbmZvKCdDcmVhdGluZyBidWcgd2l0aCB0
aXRsZSAiJXMiJyAlIGJ1Z190aXRsZSkKLSAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oY29uZmln
X3VybHMuYnVnX3NlcnZlcl91cmwgKyAiZW50ZXJfYnVnLmNnaT9wcm9kdWN0PVdlYktpdCIpCisg
ICAgICAgIHNlbGYub3Blbl91cmwoY29uZmlnX3VybHMuYnVnX3NlcnZlcl91cmwgKyAiZW50ZXJf
YnVnLmNnaT9wcm9kdWN0PVdlYktpdCIpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5zZWxlY3RfZm9y
bShuYW1lPSJDcmVhdGUiKQogICAgICAgICBjb21wb25lbnRfaXRlbXMgPSBzZWxmLmJyb3dzZXIu
ZmluZF9jb250cm9sKCdjb21wb25lbnQnKS5pdGVtcwogICAgICAgICBjb21wb25lbnRfbmFtZXMg
PSBtYXAobGFtYmRhIGl0ZW06IGl0ZW0ubmFtZSwgY29tcG9uZW50X2l0ZW1zKQpAQCAtNzY5LDcg
Kzc3MCw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgICAgICBjb21tZW50X3Rl
eHQgKz0gIlxuXG4lcyIgJSBhZGRpdGlvbmFsX2NvbW1lbnRfdGV4dAogICAgICAgICBfbG9nLmlu
Zm8oY29tbWVudF90ZXh0KQogCi0gICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYuYXR0YWNo
bWVudF91cmxfZm9yX2lkKGF0dGFjaG1lbnRfaWQsICdlZGl0JykpCisgICAgICAgIHNlbGYub3Bl
bl91cmwoc2VsZi5hdHRhY2htZW50X3VybF9mb3JfaWQoYXR0YWNobWVudF9pZCwgJ2VkaXQnKSkK
ICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5yPTEpCiAgICAgICAgIHNlbGYuYnJv
d3Nlci5zZXRfdmFsdWUoY29tbWVudF90ZXh0LCBuYW1lPSdjb21tZW50JywgbnI9MSkKICAgICAg
ICAgc2VsZi5fZmluZF9zZWxlY3RfZWxlbWVudF9mb3JfZmxhZygncmV2aWV3JykudmFsdWUgPSAo
IlgiLCkKQEAgLTc4Niw3ICs3ODcsNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogCiAgICAg
ICAgIHNlbGYuYXV0aGVudGljYXRlKCkKICAgICAgICAgX2xvZy5pbmZvKGNvbW1lbnRfdGV4dCkK
LSAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oc2VsZi5hdHRhY2htZW50X3VybF9mb3JfaWQoYXR0
YWNobWVudF9pZCwgJ2VkaXQnKSkKKyAgICAgICAgc2VsZi5vcGVuX3VybChzZWxmLmF0dGFjaG1l
bnRfdXJsX2Zvcl9pZChhdHRhY2htZW50X2lkLCAnZWRpdCcpKQogICAgICAgICBzZWxmLmJyb3dz
ZXIuc2VsZWN0X2Zvcm0obnI9MSkKIAogICAgICAgICBpZiBjb21tZW50X3RleHQ6CkBAIC04MDIs
NyArODAzLDcgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAgICAgICAgc2VsZi5hdXRoZW50
aWNhdGUoKQogCiAgICAgICAgIF9sb2cuaW5mbygiT2Jzb2xldGluZyBhdHRhY2htZW50OiAlcyIg
JSBhdHRhY2htZW50X2lkKQotICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmF0dGFjaG1l
bnRfdXJsX2Zvcl9pZChhdHRhY2htZW50X2lkLCAnZWRpdCcpKQorICAgICAgICBzZWxmLm9wZW5f
dXJsKHNlbGYuYXR0YWNobWVudF91cmxfZm9yX2lkKGF0dGFjaG1lbnRfaWQsICdlZGl0JykpCiAg
ICAgICAgIHNlbGYuYnJvd3Nlci5zZWxlY3RfZm9ybShucj0xKQogICAgICAgICBzZWxmLmJyb3dz
ZXIuZmluZF9jb250cm9sKCdpc29ic29sZXRlJykuaXRlbXNbMF0uc2VsZWN0ZWQgPSBUcnVlCiAg
ICAgICAgICMgQWxzbyBjbGVhciBhbnkgcmV2aWV3IGZsYWcgKHRvIHJlbW92ZSBpdCBmcm9tIHJl
dmlldy9jb21taXQgcXVldWVzKQpAQCAtODE5LDcgKzgyMCw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9i
amVjdCk6CiAgICAgICAgIHNlbGYuYXV0aGVudGljYXRlKCkKIAogICAgICAgICBfbG9nLmluZm8o
IkFkZGluZyAlcyB0byB0aGUgQ0MgbGlzdCBmb3IgYnVnICVzIiAlIChlbWFpbF9hZGRyZXNzX2xp
c3QsIGJ1Z19pZCkpCi0gICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYuYnVnX3VybF9mb3Jf
YnVnX2lkKGJ1Z19pZCkpCisgICAgICAgIHNlbGYub3Blbl91cmwoc2VsZi5idWdfdXJsX2Zvcl9i
dWdfaWQoYnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5hbWU9ImNo
YW5nZWZvcm0iKQogICAgICAgICBzZWxmLmJyb3dzZXJbIm5ld2NjIl0gPSAiLCAiLmpvaW4oZW1h
aWxfYWRkcmVzc19saXN0KQogICAgICAgICBzZWxmLmJyb3dzZXIuc3VibWl0KCkKQEAgLTgyOCw3
ICs4MjksNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICBzZWxmLmF1dGhlbnRp
Y2F0ZSgpCiAKICAgICAgICAgX2xvZy5pbmZvKCJBZGRpbmcgY29tbWVudCB0byBidWcgJXMiICUg
YnVnX2lkKQotICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmJ1Z191cmxfZm9yX2J1Z19p
ZChidWdfaWQpKQorICAgICAgICBzZWxmLm9wZW5fdXJsKHNlbGYuYnVnX3VybF9mb3JfYnVnX2lk
KGJ1Z19pZCkpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5zZWxlY3RfZm9ybShuYW1lPSJjaGFuZ2Vm
b3JtIikKICAgICAgICAgc2VsZi5icm93c2VyWyJjb21tZW50Il0gPSBjb21tZW50X3RleHQKICAg
ICAgICAgaWYgY2M6CkBAIC04MzksNyArODQwLDcgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToK
ICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUoKQogCiAgICAgICAgIF9sb2cuaW5mbygiQ2xvc2lu
ZyBidWcgJXMgYXMgZml4ZWQiICUgYnVnX2lkKQotICAgICAgICBzZWxmLmJyb3dzZXIub3Blbihz
ZWxmLmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQpKQorICAgICAgICBzZWxmLm9wZW5fdXJsKHNl
bGYuYnVnX3VybF9mb3JfYnVnX2lkKGJ1Z19pZCkpCiAgICAgICAgIHNlbGYuYnJvd3Nlci5zZWxl
Y3RfZm9ybShuYW1lPSJjaGFuZ2Vmb3JtIikKICAgICAgICAgaWYgY29tbWVudF90ZXh0OgogICAg
ICAgICAgICAgc2VsZi5icm93c2VyWydjb21tZW50J10gPSBjb21tZW50X3RleHQKQEAgLTg1Nyw3
ICs4NTgsNyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICAgICAgYXNzaWduZWUg
PSBzZWxmLnVzZXJuYW1lCiAKICAgICAgICAgX2xvZy5pbmZvKCJBc3NpZ25pbmcgYnVnICVzIHRv
ICVzIiAlIChidWdfaWQsIGFzc2lnbmVlKSkKLSAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oc2Vs
Zi5idWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKSkKKyAgICAgICAgc2VsZi5vcGVuX3VybChzZWxm
LmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQpKQogICAgICAgICBzZWxmLmJyb3dzZXIuc2VsZWN0
X2Zvcm0obmFtZT0iY2hhbmdlZm9ybSIpCiAKICAgICAgICAgaWYgbm90IHNlbGYuX2hhc19jb250
cm9sKHNlbGYuYnJvd3NlciwgImFzc2lnbmVkX3RvIik6CkBAIC04NzgsNyArODc5LDcgQEAgSWdu
b3JlIHRoaXMgbWVzc2FnZSBpZiB5b3UgZG9uJ3QgaGF2ZSBFZAogICAgICAgICAjIEJ1Z3ppbGxh
IHJlcXVpcmVzIGEgY29tbWVudCB3aGVuIHJlLW9wZW5pbmcgYSBidWcsIHNvIHdlIGtub3cgaXQg
d2lsbAogICAgICAgICAjIG5ldmVyIGJlIE5vbmUuCiAgICAgICAgIF9sb2cuaW5mbyhjb21tZW50
X3RleHQpCi0gICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYuYnVnX3VybF9mb3JfYnVnX2lk
KGJ1Z19pZCkpCisgICAgICAgIHNlbGYub3Blbl91cmwoc2VsZi5idWdfdXJsX2Zvcl9idWdfaWQo
YnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5hbWU9ImNoYW5nZWZv
cm0iKQogICAgICAgICBidWdfc3RhdHVzID0gc2VsZi5icm93c2VyLmZpbmRfY29udHJvbCgiYnVn
X3N0YXR1cyIsIHR5cGU9InNlbGVjdCIpCiAgICAgICAgICMgVGhpcyBpcyBhIGhhY2sgYXJvdW5k
IHRoZSBmYWN0IHRoYXQgQ2xpZW50Rm9ybS5MaXN0Q29udHJvbCBzZWVtcyB0bwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>