<?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>201955</bug_id>
          
          <creation_ts>2019-09-18 17:00:18 -0700</creation_ts>
          <short_desc>Python 3: Add support to auto-importer</short_desc>
          <delta_ts>2019-12-16 11:27:33 -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>WebKit Nightly Build</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=184986</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>
          
          <blocked>202830</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1572158</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-09-18 17:00:18 -0700</bug_when>
    <thetext>This may actually be a good time to re-write said auto-importer for Python 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572162</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-09-18 17:04:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/55499874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576133</commentid>
    <comment_count>2</comment_count>
      <attachid>380051</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-02 13:15:48 -0700</bug_when>
    <thetext>Created attachment 380051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576563</commentid>
    <comment_count>3</comment_count>
      <attachid>380051</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2019-10-03 13:16:39 -0700</bug_when>
    <thetext>Comment on attachment 380051
Patch

LGTM overall. Unofficial r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576569</commentid>
    <comment_count>4</comment_count>
      <attachid>380051</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-10-03 13:26:27 -0700</bug_when>
    <thetext>Comment on attachment 380051
Patch

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

&gt; Tools/Scripts/webkitpy/thirdparty/__init__.py:88
&gt; +    def find_module(self, fullname, path=None):

where are we using &apos;path&apos; variable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576570</commentid>
    <comment_count>5</comment_count>
      <attachid>380157</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-03 13:31:56 -0700</bug_when>
    <thetext>Created attachment 380157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576571</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-03 13:32:46 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #5)
&gt; Created attachment 380157 [details]
&gt; Patch

Using the proper Octal format as per https://python-future.org/compatible_idioms.html?highlight=octal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576573</commentid>
    <comment_count>7</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-03 13:34:54 -0700</bug_when>
    <thetext>(In reply to Aakash Jain from comment #4)
&gt; Comment on attachment 380051 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=380051&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/thirdparty/__init__.py:88
&gt; &gt; +    def find_module(self, fullname, path=None):
&gt; 
&gt; where are we using &apos;path&apos; variable?

We&apos;re not, it&apos;s just that this protocol has been defined in Python 3. &lt;https://www.python.org/dev/peps/pep-0302/&gt;, we should adhere to it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577837</commentid>
    <comment_count>8</comment_count>
      <attachid>380157</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 11:07:41 -0700</bug_when>
    <thetext>Comment on attachment 380157
Patch

Rejecting attachment 380157 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 380157, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Traceback (most recent call last):
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&quot;, line 84, in &lt;module&gt;
    main()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&quot;, line 79, in main
    WebKitPatch(os.path.abspath(__file__)).main()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py&quot;, line 305, in main
    result = command.check_arguments_and_execute(options, args, self)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py&quot;, line 123, in check_arguments_and_execute
    return self.execute(options, args, tool) or 0
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/download.py&quot;, line 180, in execute
    patches = self._fetch_list_of_patches_to_process(options, args, tool)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/download.py&quot;, line 224, in _fetch_list_of_patches_to_process
    patch = tool.bugs.fetch_attachment(patch_id, throw_on_access_error=True)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 552, in fetch_attachment
    bug_id = self.bug_id_for_attachment_id(attachment_id, throw_on_access_error)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 530, in bug_id_for_attachment_id
    return NetworkTransaction().run(lambda: self.get_bug_id_for_attachment_id(attachment_id, throw_on_access_error))
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/networktransaction.py&quot;, line 58, in run
    return request()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 530, in &lt;lambda&gt;
    return NetworkTransaction().run(lambda: self.get_bug_id_for_attachment_id(attachment_id, throw_on_access_error))
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 533, in get_bug_id_for_attachment_id
    self.authenticate()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 577, in authenticate
    self.browser.select_form(name=&quot;login&quot;)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py&quot;, line 620, in select_form
    global_form = self._factory.global_form
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 313, in global_form
    self.forms()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 320, in forms
    self._current_forms, self._current_global_form = self._get_forms()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 335, in _get_forms
    if self.root is None:
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 300, in root
    transport_encoding=transport_encoding)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 191, in content_parser
    from html5lib import parse
ImportError: No module named html5lib

Full output: https://webkit-queues.webkit.org/results/13106985</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577847</commentid>
    <comment_count>9</comment_count>
      <attachid>380446</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-08 11:24:18 -0700</bug_when>
    <thetext>Created attachment 380446
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577878</commentid>
    <comment_count>10</comment_count>
      <attachid>380446</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 12:27:02 -0700</bug_when>
    <thetext>Comment on attachment 380446
Patch for landing

Rejecting attachment 380446 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 380446, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Traceback (most recent call last):
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&quot;, line 84, in &lt;module&gt;
    main()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&quot;, line 79, in main
    WebKitPatch(os.path.abspath(__file__)).main()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py&quot;, line 305, in main
    result = command.check_arguments_and_execute(options, args, self)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py&quot;, line 123, in check_arguments_and_execute
    return self.execute(options, args, tool) or 0
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/download.py&quot;, line 180, in execute
    patches = self._fetch_list_of_patches_to_process(options, args, tool)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/download.py&quot;, line 224, in _fetch_list_of_patches_to_process
    patch = tool.bugs.fetch_attachment(patch_id, throw_on_access_error=True)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 552, in fetch_attachment
    bug_id = self.bug_id_for_attachment_id(attachment_id, throw_on_access_error)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 530, in bug_id_for_attachment_id
    return NetworkTransaction().run(lambda: self.get_bug_id_for_attachment_id(attachment_id, throw_on_access_error))
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/networktransaction.py&quot;, line 58, in run
    return request()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 530, in &lt;lambda&gt;
    return NetworkTransaction().run(lambda: self.get_bug_id_for_attachment_id(attachment_id, throw_on_access_error))
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 533, in get_bug_id_for_attachment_id
    self.authenticate()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 577, in authenticate
    self.browser.select_form(name=&quot;login&quot;)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py&quot;, line 620, in select_form
    global_form = self._factory.global_form
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 313, in global_form
    self.forms()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 320, in forms
    self._current_forms, self._current_global_form = self._get_forms()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 335, in _get_forms
    if self.root is None:
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 300, in root
    transport_encoding=transport_encoding)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 191, in content_parser
    from html5lib import parse
ImportError: No module named html5lib

Full output: https://webkit-queues.webkit.org/results/13107168</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577917</commentid>
    <comment_count>11</comment_count>
      <attachid>380458</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-08 13:36:22 -0700</bug_when>
    <thetext>Created attachment 380458
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577946</commentid>
    <comment_count>12</comment_count>
      <attachid>380458</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 14:24:01 -0700</bug_when>
    <thetext>Comment on attachment 380458
Patch for landing

Rejecting attachment 380458 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 380458, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Traceback (most recent call last):
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&quot;, line 84, in &lt;module&gt;
    main()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&quot;, line 79, in main
    WebKitPatch(os.path.abspath(__file__)).main()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py&quot;, line 305, in main
    result = command.check_arguments_and_execute(options, args, self)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py&quot;, line 123, in check_arguments_and_execute
    return self.execute(options, args, tool) or 0
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/download.py&quot;, line 180, in execute
    patches = self._fetch_list_of_patches_to_process(options, args, tool)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/download.py&quot;, line 224, in _fetch_list_of_patches_to_process
    patch = tool.bugs.fetch_attachment(patch_id, throw_on_access_error=True)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 552, in fetch_attachment
    bug_id = self.bug_id_for_attachment_id(attachment_id, throw_on_access_error)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 530, in bug_id_for_attachment_id
    return NetworkTransaction().run(lambda: self.get_bug_id_for_attachment_id(attachment_id, throw_on_access_error))
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/networktransaction.py&quot;, line 58, in run
    return request()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 530, in &lt;lambda&gt;
    return NetworkTransaction().run(lambda: self.get_bug_id_for_attachment_id(attachment_id, throw_on_access_error))
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 533, in get_bug_id_for_attachment_id
    self.authenticate()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py&quot;, line 577, in authenticate
    self.browser.select_form(name=&quot;login&quot;)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py&quot;, line 620, in select_form
    global_form = self._factory.global_form
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 313, in global_form
    self.forms()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 320, in forms
    self._current_forms, self._current_global_form = self._get_forms()
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 335, in _get_forms
    if self.root is None:
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 300, in root
    transport_encoding=transport_encoding)
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py&quot;, line 191, in content_parser
    from html5lib import parse
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/html5lib/__init__.py&quot;, line 25, in &lt;module&gt;
    from .html5parser import HTMLParser, parse, parseFragment
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/html5lib/html5parser.py&quot;, line 7, in &lt;module&gt;
    from . import _inputstream
  File &quot;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/html5lib/_inputstream.py&quot;, line 9, in &lt;module&gt;
    import webencodings
ImportError: No module named webencodings

Full output: https://webkit-queues.webkit.org/results/13107573</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577958</commentid>
    <comment_count>13</comment_count>
      <attachid>380466</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-10-08 14:41:05 -0700</bug_when>
    <thetext>Created attachment 380466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577982</commentid>
    <comment_count>14</comment_count>
      <attachid>380466</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 15:30:28 -0700</bug_when>
    <thetext>Comment on attachment 380466
Patch

Clearing flags on attachment: 380466

Committed r250869: &lt;https://trac.webkit.org/changeset/250869&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577983</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-08 15:30:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578985</commentid>
    <comment_count>16</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-10-10 20:55:44 -0700</bug_when>
    <thetext>Filed: Bug 202839 – [WinCairo] auto-installing raises exception &quot;Inner message: global name &apos;urllib2&apos; is not defined&quot; since r250869</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380051</attachid>
            <date>2019-10-02 13:15:48 -0700</date>
            <delta_ts>2019-10-03 13:31:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201955-20191002131547.patch</filename>
            <type>text/plain</type>
            <size>12395</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MDYyMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI3IEBACisyMDE5LTEwLTAyICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBQeXRob24gMzogQWRkIHN1cHBvcnQgdG8gYXV0by1pbXBvcnRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3Rl
c3Qtd2Via2l0cHktcHl0aG9uMzogQXV0by1pbnN0YWxsIGV2ZXJ5dGhpbmcuCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5OiBJbXBvcnQgdXJs
b3BlbiBhbmQgdXJscGFyc2UgZm9yIFB5dGhvbjMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS90aGlyZHBhcnR5L19faW5pdF9fLnB5OgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29r
LmZpbmRfbW9kdWxlKTogVXBkYXRlIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIFB5dGhvbjMuCisg
ICAgICAgIChBdXRvaW5zdGFsbEltcG9ydEhvb2suX2luc3RhbGxfbWVjaGFuaXplKTogVXNlIFB5
dGhvbiAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIG1lY2hhbml6ZS4KKyAgICAgICAgKEF1dG9p
bnN0YWxsSW1wb3J0SG9vay5faW5zdGFsbF9yZXF1ZXN0cyk6IFVwZGF0ZSB1cmxsaWIzIGFuZCBy
ZXF1ZXN0cyB2ZXJzaW9uLgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLl9pbnN0YWxs
X2NvdmVyYWdlKTogVXNlIFB5dGhvbiAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIGNvdmVyYWdl
LgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdyZWF0ZXJfdGhhbl9lcXVhbF90b192
ZXJzaW9uKTogVXNlIHJhbmdlIGluc3RlYWQgb2YgeHJhbmdlLgorICAgICAgICAoQXV0b2luc3Rh
bGxJbXBvcnRIb29rLl9pbnN0YWxsX3NlbGVuaXVtKTogVXBkYXRlIHVybGxpYjMgdmVyc2lvbi4K
KyAgICAgICAgKEF1dG9pbnN0YWxsSW1wb3J0SG9vay5pbnN0YWxsX2Nocm9tZWRyaXZlcik6IAor
ICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfZ2Vja29kcml2ZXIpOgorICAg
ICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdldF9sYXRlc3RfcHlwaV91cmwpOgorICAgICAg
ICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfYmluYXJ5KToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3QucHk6CisgICAgICAgIChU
aGlyZHBhcnR5VGVzdCk6CisgICAgICAgIChUaGlyZHBhcnR5VGVzdC50ZXN0X2ltcG9ydF9ob29r
KTogRGVsZXRlZC4KKwogMjAxOS0xMC0wMiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5
QGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGVkIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyBh
cmUgbmV2ZXIgbWVyZ2VkIGludG8gdGhlIFNRTGl0ZSBEYXRhYmFzZSBiYWNrZW5kICgyMDIzNzIp
LgpJbmRleDogVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5LXB5dGhvbjMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5LXB5dGhvbjMJKHJldmlzaW9uIDI1MDYwOCkK
KysrIFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweS1weXRob24zCSh3b3JraW5nIGNvcHkpCkBA
IC01Miw2ICs1Miw5IEBAIGRlZiBtYWluKCk6CiAgICAgaWYgc3VpdGUuY291bnRUZXN0Q2FzZXMo
KSA9PSAwOgogICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ05vIG1hdGNoaW5nIHRlc3RzIGZv
dW5kLicpCiAKKyAgICBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkgaW1wb3J0IGF1dG9pbnN0YWxs
X2V2ZXJ5dGhpbmcKKyAgICBhdXRvaW5zdGFsbF9ldmVyeXRoaW5nKCkKKwogICAgIHJlc3VsdCA9
IHVuaXR0ZXN0LlRleHRUZXN0UnVubmVyKHZlcmJvc2l0eT1pbnQob3B0aW9ucy52ZXJib3NlKSAr
IDEsIGZhaWxmYXN0PW9wdGlvbnMuc3RvcF9vbl9mYWlsLCBidWZmZXI9bm90IG9wdGlvbnMudmVy
Ym9zZSkucnVuKHN1aXRlKQogICAgIHJldHVybiBsZW4ocmVzdWx0LmVycm9ycykKIApJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9hdXRvaW5zdGFs
bC5weQkocmV2aXNpb24gMjUwNjA4KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
c3lzdGVtL2F1dG9pbnN0YWxsLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxNSArMzksMTkgQEAg
aW1wb3J0IHN0YXQKIGltcG9ydCBzeXMKIGltcG9ydCB0YXJmaWxlCiBpbXBvcnQgdGVtcGZpbGUK
LWltcG9ydCB1cmxsaWIyCi1pbXBvcnQgdXJscGFyc2UKIGltcG9ydCB6aXBmaWxlCiBpbXBvcnQg
cmUKIGZyb20gZGlzdHV0aWxzIGltcG9ydCBkaXJfdXRpbAogZnJvbSBnbG9iIGltcG9ydCBnbG9i
Ci1pbXBvcnQgdXJscGFyc2UKIGltcG9ydCBzdWJwcm9jZXNzCiAKK2lmIHN5cy52ZXJzaW9uX2lu
Zm8gPiAoMywgMCk6CisgICAgZnJvbSB1cmxsaWIucmVxdWVzdCBpbXBvcnQgdXJsb3BlbgorICAg
IGltcG9ydCB1cmxsaWIucGFyc2UgYXMgdXJscGFyc2UKK2Vsc2U6CisgICAgZnJvbSB1cmxsaWIy
IGltcG9ydCB1cmxvcGVuCisgICAgaW1wb3J0IHVybHBhcnNlCisKIAogX2xvZyA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKF9fbmFtZV9fKQogaWYgbm90IF9sb2cuaGFuZGxlcnM6ICAjIE5vIHBhcmVudCBs
b2dnZXJzIHNldHVwLgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS90aGlyZHBhcnR5L19f
aW5pdF9fLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGhpcmRwYXJ0
eS9fX2luaXRfXy5weQkocmV2aXNpb24gMjUwNjA4KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90aGlyZHBhcnR5L19faW5pdF9fLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSwxMiBA
QCBpbXBvcnQganNvbgogaW1wb3J0IG9zCiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKLWltcG9ydCB1
cmxsaWIyCisKK2lmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCk6CisgICAgZnJvbSB1cmxsaWIu
ZXJyb3IgaW1wb3J0IFVSTEVycm9yCisgICAgZnJvbSB1cmxsaWIucmVxdWVzdCBpbXBvcnQgdXJs
b3BlbgorZWxzZToKKyAgICBmcm9tIHVybGxpYjIgaW1wb3J0IFVSTEVycm9yLCB1cmxvcGVuCiAK
IGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUKIGZyb20gZGlzdHV0aWxzIGltcG9y
dCBzcGF3bgpAQCAtODAsNyArODUsNyBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2sob2Jq
ZWN0KToKICAgICAgICAgaWYgbm90IF9BVVRPSU5TVEFMTEVEX0RJUiBpbiBzeXMucGF0aDoKICAg
ICAgICAgICAgIHN5cy5wYXRoLmluc2VydCgwLCBfQVVUT0lOU1RBTExFRF9ESVIpCiAKLSAgICBk
ZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUsIF8pOgorICAgIGRlZiBmaW5kX21vZHVsZShz
ZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lKToKICAgICAgICAgIyBUaGlzIG1ldGhvZCB3aWxsIHJ1
biBiZWZvcmUgZWFjaCBpbXBvcnQuIFNlZSBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMv
cGVwLTAzMDIvCiAgICAgICAgIGlmICcuYXV0b2luc3RhbGxlZCcgbm90IGluIGZ1bGxuYW1lOgog
ICAgICAgICAgICAgcmV0dXJuCkBAIC0xMjEsOCArMTI2LDggQEAgY2xhc3MgQXV0b2luc3RhbGxJ
bXBvcnRIb29rKG9iamVjdCk6CiAgICAgICAgICAgICBzZWxmLl9pbnN0YWxsX3JlcXVlc3RzKCkK
IAogICAgIGRlZiBfaW5zdGFsbF9tZWNoYW5pemUoc2VsZik6Ci0gICAgICAgIHNlbGYuX2luc3Rh
bGwoImh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9zb3VyY2UvbS9tZWNo
YW5pemUvbWVjaGFuaXplLTAuMi41LnRhci5neiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJtZWNoYW5pemUtMC4yLjUvbWVjaGFuaXplIikKKyAgICAgICAgc2VsZi5faW5zdGFsbCgi
aHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzY0L2YxLzFhYTRjOTZkZWEx
NGUxN2E5NTUwMTliMGZjNGFjMWI4ZGZiYzUwZTNjOTA5NzBjMWZiODg4MmU3NGE3Yi9tZWNoYW5p
emUtMC40LjMudGFyLmd6IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lY2hhbml6
ZS0wLjQuMy9tZWNoYW5pemUiKQogCiAgICAgZGVmIF9pbnN0YWxsX2tleXJpbmcoc2VsZik6CiAg
ICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNr
YWdlcy83ZC9hOS84YzZiZjYwNzEwNzgxY2UxM2E5OTg3YzBkZWJkYThhZGFiMzVlYjc5YzZiNTUy
NWY3ZmU1MjQwYjdhOGEva2V5cmluZy03LjMuMS50YXIuZ3oiLApAQCAtMTc1LDE0ICsxODAsMTIg
QEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVjdCk6CiAgICAgICAgICAgICAgICAg
ICAgICAgImNlcnRpZmktMjAxOS4zLjkvY2VydGlmaSIpCiAgICAgICAgIHNlbGYuX2luc3RhbGwo
Imh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9mYy9iYi9hNTc2OGMyMzBm
OWRkYjAzYWNjOWVmM2YwZDRhM2NmOTM0NjI0NzM3OTVkMThlOTUzNTQ5OGM4ZjkyOWQvY2hhcmRl
dC0zLjAuNC50YXIuZ3oiLAogICAgICAgICAgICAgICAgICAgICAgICJjaGFyZGV0LTMuMC40L2No
YXJkZXQiKQotICAgICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3Rl
ZC5vcmcvcGFja2FnZXMvZmMvYmIvYTU3NjhjMjMwZjlkZGIwM2FjYzllZjNmMGQ0YTNjZjkzNDYy
NDczNzk1ZDE4ZTk1MzU0OThjOGY5MjlkL2NoYXJkZXQtMy4wLjQudGFyLmd6IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAiY2hhcmRldC0zLjAuNC9jaGFyZGV0IikKICAgICAgICAgc2VsZi5faW5z
dGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2FkLzEzL2ViNTY5
NTFiNmY3OTUwY2FkYjU3OWNhMTY2ZTQ0OGJhNzdmOWQyNGVmYzAzZWRkN2U1NWZhNTdkMDRiNy9p
ZG5hLTIuOC50YXIuZ3oiLAogICAgICAgICAgICAgICAgICAgICAgICJpZG5hLTIuOC9pZG5hIikK
LSAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3Bh
Y2thZ2VzL2IxLzUzLzM3ZDgyYWIzOTEzOTM1NjVmMmY4MzFiOGVlZGJmZmQ1N2RiNWE3MTgyMTZm
ODJmMWE4YjRkMzgxYTFjMS91cmxsaWIzLTEuMjQuMS50YXIuZ3oiLAotICAgICAgICAgICAgICAg
ICAgICAgICJ1cmxsaWIzLTEuMjQuMS9zcmMvdXJsbGliMyIpCi0gICAgICAgIHNlbGYuX2luc3Rh
bGwoImh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy81Mi8yYy81MTRlNGFj
MjVkYTJiMDhjYTVhNDY0YzUwNDYzNjgyMTI2Mzg1YzQyNzJjMTgxOTM4NzZlOTFmNGJjMzgvcmVx
dWVzdHMtMi4yMS4wLnRhci5neiIsCi0gICAgICAgICAgICAgICAgICAgICAgInJlcXVlc3RzLTIu
MjEuMC9yZXF1ZXN0cyIpCisgICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0
aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9mZi80NC8yOTY1NTE2OGRhNDQxZGZmNjZkZTAzOTUyODgw
YzZlMmQxN2IyNTI4MzZmZjFhYTQ0MjFmYmE1NTY0MjQvdXJsbGliMy0xLjI1LjYudGFyLmd6IiwK
KyAgICAgICAgICAgICAgICAgICAgICAidXJsbGliMy0xLjI1LjYvc3JjL3VybGxpYjMiKQorICAg
ICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2Fn
ZXMvMDEvNjIvZGRjZjc2ZDFkMTk4ODVlODU3OWFjYjFiMWRmMjZhODUyYjAzNDcyYzBlNDZkMmI5
NTlhNzE0YzkwNjA4L3JlcXVlc3RzLTIuMjIuMC50YXIuZ3oiLAorICAgICAgICAgICAgICAgICAg
ICAgICJyZXF1ZXN0cy0yLjIyLjAvcmVxdWVzdHMiKQogCiAgICAgZGVmIF9pbnN0YWxsX3B5bGlu
dChzZWxmKToKICAgICAgICAgc2VsZi5fZW5zdXJlX2F1dG9pbnN0YWxsZWRfZGlyX2lzX2luX3N5
c19wYXRoKCkKQEAgLTIyMyw3ICsyMjYsNyBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2so
b2JqZWN0KToKIAogICAgIGRlZiBfaW5zdGFsbF9jb3ZlcmFnZShzZWxmKToKICAgICAgICAgc2Vs
Zi5fZW5zdXJlX2F1dG9pbnN0YWxsZWRfZGlyX2lzX2luX3N5c19wYXRoKCkKLSAgICAgICAgc2Vs
Zi5faW5zdGFsbCh1cmw9Imh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9z
b3VyY2UvYy9jb3ZlcmFnZS9jb3ZlcmFnZS0zLjUuMS50YXIuZ3oiLCB1cmxfc3VicGF0aD0iY292
ZXJhZ2UtMy41LjEvY292ZXJhZ2UiKQorICAgICAgICBzZWxmLl9pbnN0YWxsKHVybD0iaHR0cHM6
Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzg1L2Q1LzgxOGQwZTYwMzY4NWM0YTYx
M2Q1NmYwNjVhNzIxMDEzZTk0MjA4ODA0N2ZmMTAyN2E2MzI5NDhiZGFlNi9jb3ZlcmFnZS00LjUu
NC50YXIuZ3oiLCB1cmxfc3VicGF0aD0iY292ZXJhZ2UtNC41LjQvY292ZXJhZ2UiKQogCiAgICAg
ZGVmIF9pbnN0YWxsX3R3aXN0ZWRfMTVfNV8wKHNlbGYpOgogICAgICAgICB0d2lzdGVkX2RpciA9
IHNlbGYuX2ZzLmpvaW4oX0FVVE9JTlNUQUxMRURfRElSLCAidHdpc3RlZF8xNV81XzAiKQpAQCAt
MjMzLDcgKzIzNiw3IEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogCiAg
ICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBncmVhdGVyX3RoYW5fZXF1YWxfdG9fdmVyc2lvbiht
aW5pbXVtLCB2ZXJzaW9uKToKLSAgICAgICAgZm9yIGkgaW4geHJhbmdlKGxlbihtaW5pbXVtLnNw
bGl0KCcuJykpKToKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKG1pbmltdW0uc3BsaXQoJy4n
KSkpOgogICAgICAgICAgICAgaWYgaW50KHZlcnNpb24uc3BsaXQoJy4nKVtpXSkgPiBpbnQobWlu
aW11bS5zcGxpdCgnLicpW2ldKToKICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAg
ICAgICAgaWYgaW50KHZlcnNpb24uc3BsaXQoJy4nKVtpXSkgPCBpbnQobWluaW11bS5zcGxpdCgn
LicpW2ldKToKQEAgLTI0NCw3ICsyNDcsNyBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2so
b2JqZWN0KToKICAgICAgICAgc2VsZi5fZW5zdXJlX2F1dG9pbnN0YWxsZWRfZGlyX2lzX2luX3N5
c19wYXRoKCkKIAogICAgICAgICBpbnN0YWxsZXIgPSBBdXRvSW5zdGFsbGVyKHByZXBlbmRfdG9f
c2VhcmNoX3BhdGg9VHJ1ZSwgdGFyZ2V0X2Rpcj1zZWxmLl9mcy5qb2luKF9BVVRPSU5TVEFMTEVE
X0RJUiwgInVybGxpYjMiKSkKLSAgICAgICAgaW5zdGFsbGVyLmluc3RhbGwodXJsPSJodHRwczov
L2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYjEvNTMvMzdkODJhYjM5MTM5MzU2NWYy
ZjgzMWI4ZWVkYmZmZDU3ZGI1YTcxODIxNmY4MmYxYThiNGQzODFhMWMxL3VybGxpYjMtMS4yNC4x
LnRhci5neiIsIHVybF9zdWJwYXRoPSJ1cmxsaWIzLTEuMjQuMSIpCisgICAgICAgIGluc3RhbGxl
ci5pbnN0YWxsKHVybD0iaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2Zm
LzQ0LzI5NjU1MTY4ZGE0NDFkZmY2NmRlMDM5NTI4ODBjNmUyZDE3YjI1MjgzNmZmMWFhNDQyMWZi
YTU1NjQyNC91cmxsaWIzLTEuMjUuNi50YXIuZ3oiLCB1cmxfc3VicGF0aD0idXJsbGliMy0xLjI1
LjYiKQogCiAgICAgICAgIG1pbmltdW1fdmVyc2lvbiA9ICczLjUuMCcKICAgICAgICAgaWYgb3Mu
cGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKF9BVVRPSU5TVEFMTEVEX0RJUiwgJ3NlbGVuaXVtJywg
J19faW5pdF9fLnB5JykpOgpAQCAtMjU0LDcgKzI1Nyw3IEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1w
b3J0SG9vayhvYmplY3QpOgogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHVybCwgdXJsX3N1
YnBhdGggPSBzZWxmLmdldF9sYXRlc3RfcHlwaV91cmwoJ3NlbGVuaXVtJykKLSAgICAgICAgZXhj
ZXB0IHVybGxpYjIuVVJMRXJyb3I6CisgICAgICAgIGV4Y2VwdCBVUkxFcnJvcjoKICAgICAgICAg
ICAgICMgVVJMIGZvciBpbnN0YWxsaW5nIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHZlcnNpb24uCiAg
ICAgICAgICAgICB1cmwgPSAnaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2Vz
L2FjL2Q3LzE5Mjg0MTY0MzlkMDY2YzYwZjI2Yzg3YThkMWI3OGE4ZWRkNjRjN2QwNWEwYWE5MTdm
YTk3YThlZTAyZC9zZWxlbml1bS0zLjUuMC50YXIuZ3onCiAgICAgICAgICAgICB1cmxfc3VicGF0
aCA9ICdzZWxlbml1bS17fS9zZWxlbml1bScuZm9ybWF0KG1pbmltdW1fdmVyc2lvbikKQEAgLTI2
NCwxNCArMjY3LDE0IEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogICAg
IGRlZiBpbnN0YWxsX2Nocm9tZWRyaXZlcihzZWxmKToKICAgICAgICAgZmlsZW5hbWVfcG9zdGZp
eCA9IGdldF9kcml2ZXJfZmlsZW5hbWUoKS5jaHJvbWUKICAgICAgICAgaWYgZmlsZW5hbWVfcG9z
dGZpeCAhPSAidW5zdXBwb3J0ZWQiOgotICAgICAgICAgICAgdmVyc2lvbiA9IHVybGxpYjIudXJs
b3BlbihDSFJPTUVfRFJJVkVSX1VSTCArICdMQVRFU1RfUkVMRUFTRScpLnJlYWQoKS5zdHJpcCgp
CisgICAgICAgICAgICB2ZXJzaW9uID0gdXJsb3BlbihDSFJPTUVfRFJJVkVSX1VSTCArICdMQVRF
U1RfUkVMRUFTRScpLnJlYWQoKS5zdHJpcCgpCiAgICAgICAgICAgICBmdWxsX2Nocm9tZV91cmwg
PSAie2Jhc2VfdXJsfXt2ZXJzaW9ufS9jaHJvbWVkcml2ZXJfe29zfS56aXAiLmZvcm1hdChiYXNl
X3VybD1DSFJPTUVfRFJJVkVSX1VSTCwgdmVyc2lvbj12ZXJzaW9uLCBvcz1maWxlbmFtZV9wb3N0
Zml4KQogICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2JpbmFyeShmdWxsX2Nocm9tZV91cmwsICdj
aHJvbWVkcml2ZXInKQogCiAgICAgZGVmIGluc3RhbGxfZ2Vja29kcml2ZXIoc2VsZik6CiAgICAg
ICAgIGZpbGVuYW1lX3Bvc3RmaXggPSBnZXRfZHJpdmVyX2ZpbGVuYW1lKCkuZmlyZWZveAogICAg
ICAgICBpZiBmaWxlbmFtZV9wb3N0Zml4ICE9ICJ1bnN1cHBvcnRlZCI6Ci0gICAgICAgICAgICBm
aXJlZm94X3JlbGVhc2VzX2Jsb2IgPSB1cmxsaWIyLnVybG9wZW4oRklSRUZPWF9SRUxFQVNFU19V
UkwpCisgICAgICAgICAgICBmaXJlZm94X3JlbGVhc2VzX2Jsb2IgPSB1cmxvcGVuKEZJUkVGT1hf
UkVMRUFTRVNfVVJMKQogICAgICAgICAgICAgZmlyZWZveF9yZWxlYXNlc19saW5lX3NlcGFyYXRl
ZCA9IGpzb24uZHVtcHMoanNvbi5sb2FkKGZpcmVmb3hfcmVsZWFzZXNfYmxvYiksIGluZGVudD0w
KS5zdHJpcCgpCiAgICAgICAgICAgICBhbGxfZmlyZWZveF9yZWxlYXNlX3VybHMgPSAiXG4iLmpv
aW4ocmUuZmluZGFsbChyJy4qYnJvd3Nlcl9kb3dubG9hZF91cmwuKicsIGZpcmVmb3hfcmVsZWFz
ZXNfbGluZV9zZXBhcmF0ZWQpKQogICAgICAgICAgICAgZnVsbF9maXJlZm94X3VybCA9IHJlLmZp
bmRhbGwocicuKiVzLionICUgZmlsZW5hbWVfcG9zdGZpeCwgYWxsX2ZpcmVmb3hfcmVsZWFzZV91
cmxzKVswXS5zcGxpdCgnIicpWzNdCkBAIC0yODMsNyArMjg2LDcgQEAgY2xhc3MgQXV0b2luc3Rh
bGxJbXBvcnRIb29rKG9iamVjdCk6CiAKICAgICBkZWYgZ2V0X2xhdGVzdF9weXBpX3VybChzZWxm
LCBwYWNrYWdlX25hbWUsIHVybF9zdWJwYXRoX2Zvcm1hdD0ne25hbWV9LXt2ZXJzaW9ufS97bG5h
bWV9Jyk6CiAgICAgICAgIGpzb25fdXJsID0gImh0dHBzOi8vcHlwaS5vcmcvcHlwaS8lcy9qc29u
IiAlIHBhY2thZ2VfbmFtZQotICAgICAgICByZXNwb25zZSA9IHVybGxpYjIudXJsb3Blbihqc29u
X3VybCwgdGltZW91dD0zMCkKKyAgICAgICAgcmVzcG9uc2UgPSB1cmxvcGVuKGpzb25fdXJsLCB0
aW1lb3V0PTMwKQogICAgICAgICBkYXRhID0ganNvbi5sb2FkKHJlc3BvbnNlKQogICAgICAgICB1
cmwgPSBkYXRhWyd1cmxzJ11bMV1bJ3VybCddCiAgICAgICAgIHN1YnBhdGggPSB1cmxfc3VicGF0
aF9mb3JtYXQuZm9ybWF0KG5hbWU9cGFja2FnZV9uYW1lLCB2ZXJzaW9uPWRhdGFbJ2luZm8nXVsn
dmVyc2lvbiddLCBsbmFtZT1wYWNrYWdlX25hbWUubG93ZXIoKSkKQEAgLTI5MiwxMiArMjk1LDEy
IEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogICAgIGRlZiBpbnN0YWxs
X2JpbmFyeShzZWxmLCB1cmwsIG5hbWUpOgogICAgICAgICBzZWxmLl9pbnN0YWxsKHVybD11cmws
IHRhcmdldF9uYW1lPW5hbWUpCiAgICAgICAgIGRpcmVjdG9yeSA9IG9zLnBhdGguam9pbihfQVVU
T0lOU1RBTExFRF9ESVIsIG5hbWUpCi0gICAgICAgIG9zLmNobW9kKG9zLnBhdGguam9pbihkaXJl
Y3RvcnksIG5hbWUpLCAwNzU1KQorICAgICAgICBvcy5jaG1vZChvcy5wYXRoLmpvaW4oZGlyZWN0
b3J5LCBuYW1lKSwgJzA3NTUnKQogICAgICAgICBvcGVuKG9zLnBhdGguam9pbihkaXJlY3Rvcnks
ICdfX2luaXRfXy5weScpLCAndysnKS5jbG9zZSgpCiAKIAogX2hvb2sgPSBBdXRvaW5zdGFsbElt
cG9ydEhvb2soKQotc3lzLm1ldGFfcGF0aC5hcHBlbmQoX2hvb2spCitzeXMubWV0YV9wYXRoLmlu
c2VydCgwLCBfaG9vaykKIAogCiBkZWYgYXV0b2luc3RhbGxfZXZlcnl0aGluZygpOgpJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90aGlyZHBhcnR5L19faW5pdF9fX3VuaXR0ZXN0LnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGhpcmRwYXJ0eS9fX2luaXRfX191
bml0dGVzdC5weQkocmV2aXNpb24gMjUwNjA4KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
aGlyZHBhcnR5L19faW5pdF9fX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMywyOCAr
MzMsNiBAQCBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkgaW1wb3J0IEF1dG9pbnN0CiAKIAogY2xh
c3MgVGhpcmRwYXJ0eVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGRlZiB0ZXN0X2ltcG9y
dF9ob29rKHNlbGYpOgotICAgICAgICAjIEFkZCBhbm90aGVyIGltcG9ydCBob29rIGFuZCBtYWtl
IHN1cmUgd2UgZ2V0IGNhbGxlZC4KLSAgICAgICAgY2xhc3MgTW9ja0ltcG9ydEhvb2soQXV0b2lu
c3RhbGxJbXBvcnRIb29rKToKLSAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAg
ICAgICAgICAgICBBdXRvaW5zdGFsbEltcG9ydEhvb2suX19pbml0X18oc2VsZikKLSAgICAgICAg
ICAgICAgICBzZWxmLmJ1aWxkYm90X2luc3RhbGxlZCA9IEZhbHNlCi0KLSAgICAgICAgICAgIGRl
ZiBfaW5zdGFsbF9idWlsZGJvdChzZWxmKToKLSAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkYm90
X2luc3RhbGxlZCA9IFRydWUKLQotICAgICAgICBtb2NrX2ltcG9ydF9ob29rID0gTW9ja0ltcG9y
dEhvb2soKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICAjIFRoZSBhY3R1YWwgQXV0b2luc3Rh
bGxJbXBvcnRIb29rIHNob3VsZCBiZSBpbnN0YWxsZWQgYmVmb3JlIHVzLAotICAgICAgICAgICAg
IyBzbyB0aGVzZSBtb2R1bGVzIHdpbGwgZ2V0IGluc3RhbGxlZCBiZWZvcmUgTW9ja0ltcG9ydEhv
b2sgcnVucy4KLSAgICAgICAgICAgIHN5cy5tZXRhX3BhdGguYXBwZW5kKG1vY2tfaW1wb3J0X2hv
b2spCi0gICAgICAgICAgICAjIHVudXNlZC12YXJpYWJsZSwgaW1wb3J0IGZhaWx1cmVzIC0gcHls
aW50OiBkaXNhYmxlLW1zZz1XMDYxMixFMDYxMSxGMDQwMQotICAgICAgICAgICAgZnJvbSB3ZWJr
aXRweS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQgaW1wb3J0IGJ1aWxkYm90Ci0gICAgICAgICAg
ICBzZWxmLmFzc2VydFRydWUobW9ja19pbXBvcnRfaG9vay5idWlsZGJvdF9pbnN0YWxsZWQpCi0K
LSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHN5cy5tZXRhX3BhdGgucmVtb3ZlKG1vY2tf
aW1wb3J0X2hvb2spCi0KICAgICBkZWYgdGVzdF9pbXBvcnRzKHNlbGYpOgogICAgICAgICAjIFRo
aXMgbWV0aG9kIHRlc3RzIHRoYXQgd2UgY2FuIGFjdHVhbGx5IGltcG9ydCBldmVyeXRoaW5nLgog
ICAgICAgICAjIHVudXNlZC12YXJpYWJsZSwgaW1wb3J0IGZhaWx1cmVzIC0gcHlsaW50OiBkaXNh
YmxlLW1zZz1XMDYxMixFMDYxMSxGMDQwMQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380157</attachid>
            <date>2019-10-03 13:31:56 -0700</date>
            <delta_ts>2019-10-08 11:24:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201955-20191003133155.patch</filename>
            <type>text/plain</type>
            <size>12367</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MDY3MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI3IEBACisyMDE5LTEwLTAzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBQeXRob24gMzogQWRkIHN1cHBvcnQgdG8gYXV0by1pbXBvcnRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3Rl
c3Qtd2Via2l0cHktcHl0aG9uMzogQXV0by1pbnN0YWxsIGV2ZXJ5dGhpbmcuCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5OiBJbXBvcnQgdXJs
b3BlbiBhbmQgdXJscGFyc2UgZm9yIFB5dGhvbjMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS90aGlyZHBhcnR5L19faW5pdF9fLnB5OgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29r
LmZpbmRfbW9kdWxlKTogVXBkYXRlIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIFB5dGhvbjMuCisg
ICAgICAgIChBdXRvaW5zdGFsbEltcG9ydEhvb2suX2luc3RhbGxfbWVjaGFuaXplKTogVXNlIFB5
dGhvbiAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIG1lY2hhbml6ZS4KKyAgICAgICAgKEF1dG9p
bnN0YWxsSW1wb3J0SG9vay5faW5zdGFsbF9yZXF1ZXN0cyk6IFVwZGF0ZSB1cmxsaWIzIGFuZCBy
ZXF1ZXN0cyB2ZXJzaW9uLgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLl9pbnN0YWxs
X2NvdmVyYWdlKTogVXNlIFB5dGhvbiAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIGNvdmVyYWdl
LgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdyZWF0ZXJfdGhhbl9lcXVhbF90b192
ZXJzaW9uKTogVXNlIHJhbmdlIGluc3RlYWQgb2YgeHJhbmdlLgorICAgICAgICAoQXV0b2luc3Rh
bGxJbXBvcnRIb29rLl9pbnN0YWxsX3NlbGVuaXVtKTogVXBkYXRlIHVybGxpYjMgdmVyc2lvbi4K
KyAgICAgICAgKEF1dG9pbnN0YWxsSW1wb3J0SG9vay5pbnN0YWxsX2Nocm9tZWRyaXZlcik6IAor
ICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfZ2Vja29kcml2ZXIpOgorICAg
ICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdldF9sYXRlc3RfcHlwaV91cmwpOgorICAgICAg
ICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfYmluYXJ5KToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3QucHk6CisgICAgICAgIChU
aGlyZHBhcnR5VGVzdCk6CisgICAgICAgIChUaGlyZHBhcnR5VGVzdC50ZXN0X2ltcG9ydF9ob29r
KTogRGVsZXRlZC4KKwogMjAxOS0xMC0wMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTigyNDk2NDkpOiBVbmFibGUgdG8gb3BlbiBsb2Nh
bCBmaWxlcyBpbiBNaW5pQnJvd3NlciBvbiBtYWNPUwpJbmRleDogVG9vbHMvU2NyaXB0cy90ZXN0
LXdlYmtpdHB5LXB5dGhvbjMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtp
dHB5LXB5dGhvbjMJKHJldmlzaW9uIDI1MDY3MykKKysrIFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJr
aXRweS1weXRob24zCSh3b3JraW5nIGNvcHkpCkBAIC03NSw2ICs3NSw5IEBAIGRlZiBtYWluKCk6
CiAgICAgaWYgc3VpdGUuY291bnRUZXN0Q2FzZXMoKSA9PSAwOgogICAgICAgICByYWlzZSBSdW50
aW1lRXJyb3IoJ05vIG1hdGNoaW5nIHRlc3RzIGZvdW5kLicpCiAKKyAgICBmcm9tIHdlYmtpdHB5
LnRoaXJkcGFydHkgaW1wb3J0IGF1dG9pbnN0YWxsX2V2ZXJ5dGhpbmcKKyAgICBhdXRvaW5zdGFs
bF9ldmVyeXRoaW5nKCkKKwogICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRleHRUZXN0UnVubmVyKHZl
cmJvc2l0eT1pbnQob3B0aW9ucy52ZXJib3NlKSArIDEsIGZhaWxmYXN0PW9wdGlvbnMuc3RvcF9v
bl9mYWlsLCBidWZmZXI9bm90IG9wdGlvbnMudmVyYm9zZSkucnVuKHN1aXRlKQogICAgIHJldHVy
biBsZW4ocmVzdWx0LmVycm9ycykKIApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3N5c3RlbS9hdXRvaW5zdGFsbC5weQkocmV2aXNpb24gMjUwNjczKQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOSwxNSArMzksMTkgQEAgaW1wb3J0IHN0YXQKIGltcG9ydCBzeXMKIGlt
cG9ydCB0YXJmaWxlCiBpbXBvcnQgdGVtcGZpbGUKLWltcG9ydCB1cmxsaWIyCi1pbXBvcnQgdXJs
cGFyc2UKIGltcG9ydCB6aXBmaWxlCiBpbXBvcnQgcmUKIGZyb20gZGlzdHV0aWxzIGltcG9ydCBk
aXJfdXRpbAogZnJvbSBnbG9iIGltcG9ydCBnbG9iCi1pbXBvcnQgdXJscGFyc2UKIGltcG9ydCBz
dWJwcm9jZXNzCiAKK2lmIHN5cy52ZXJzaW9uX2luZm8gPiAoMywgMCk6CisgICAgZnJvbSB1cmxs
aWIucmVxdWVzdCBpbXBvcnQgdXJsb3BlbgorICAgIGltcG9ydCB1cmxsaWIucGFyc2UgYXMgdXJs
cGFyc2UKK2Vsc2U6CisgICAgZnJvbSB1cmxsaWIyIGltcG9ydCB1cmxvcGVuCisgICAgaW1wb3J0
IHVybHBhcnNlCisKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogaWYgbm90
IF9sb2cuaGFuZGxlcnM6ICAjIE5vIHBhcmVudCBsb2dnZXJzIHNldHVwLgpJbmRleDogVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90aGlyZHBhcnR5L19faW5pdF9fLnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdGhpcmRwYXJ0eS9fX2luaXRfXy5weQkocmV2aXNpb24gMjUw
NjczKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS90aGlyZHBhcnR5L19faW5pdF9fLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSwxMiBAQCBpbXBvcnQganNvbgogaW1wb3J0IG9zCiBp
bXBvcnQgcmUKIGltcG9ydCBzeXMKLWltcG9ydCB1cmxsaWIyCisKK2lmIHN5cy52ZXJzaW9uX2lu
Zm8gPiAoMywgMCk6CisgICAgZnJvbSB1cmxsaWIuZXJyb3IgaW1wb3J0IFVSTEVycm9yCisgICAg
ZnJvbSB1cmxsaWIucmVxdWVzdCBpbXBvcnQgdXJsb3BlbgorZWxzZToKKyAgICBmcm9tIHVybGxp
YjIgaW1wb3J0IFVSTEVycm9yLCB1cmxvcGVuCiAKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5h
bWVkdHVwbGUKIGZyb20gZGlzdHV0aWxzIGltcG9ydCBzcGF3bgpAQCAtODAsNyArODUsNyBAQCBj
bGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2sob2JqZWN0KToKICAgICAgICAgaWYgbm90IF9BVVRP
SU5TVEFMTEVEX0RJUiBpbiBzeXMucGF0aDoKICAgICAgICAgICAgIHN5cy5wYXRoLmluc2VydCgw
LCBfQVVUT0lOU1RBTExFRF9ESVIpCiAKLSAgICBkZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5h
bWUsIF8pOgorICAgIGRlZiBmaW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lKToK
ICAgICAgICAgIyBUaGlzIG1ldGhvZCB3aWxsIHJ1biBiZWZvcmUgZWFjaCBpbXBvcnQuIFNlZSBo
dHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTAzMDIvCiAgICAgICAgIGlmICcuYXV0
b2luc3RhbGxlZCcgbm90IGluIGZ1bGxuYW1lOgogICAgICAgICAgICAgcmV0dXJuCkBAIC0xMjEs
OCArMTI2LDggQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVjdCk6CiAgICAgICAg
ICAgICBzZWxmLl9pbnN0YWxsX3JlcXVlc3RzKCkKIAogICAgIGRlZiBfaW5zdGFsbF9tZWNoYW5p
emUoc2VsZik6Ci0gICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0aG9uaG9z
dGVkLm9yZy9wYWNrYWdlcy9zb3VyY2UvbS9tZWNoYW5pemUvbWVjaGFuaXplLTAuMi41LnRhci5n
eiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZWNoYW5pemUtMC4yLjUvbWVjaGFu
aXplIikKKyAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQu
b3JnL3BhY2thZ2VzLzY0L2YxLzFhYTRjOTZkZWExNGUxN2E5NTUwMTliMGZjNGFjMWI4ZGZiYzUw
ZTNjOTA5NzBjMWZiODg4MmU3NGE3Yi9tZWNoYW5pemUtMC40LjMudGFyLmd6IiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIm1lY2hhbml6ZS0wLjQuMy9tZWNoYW5pemUiKQogCiAgICAg
ZGVmIF9pbnN0YWxsX2tleXJpbmcoc2VsZik6CiAgICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBz
Oi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy83ZC9hOS84YzZiZjYwNzEwNzgxY2Ux
M2E5OTg3YzBkZWJkYThhZGFiMzVlYjc5YzZiNTUyNWY3ZmU1MjQwYjdhOGEva2V5cmluZy03LjMu
MS50YXIuZ3oiLApAQCAtMTc1LDE0ICsxODAsMTIgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRI
b29rKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgImNlcnRpZmktMjAxOS4zLjkvY2Vy
dGlmaSIpCiAgICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVk
Lm9yZy9wYWNrYWdlcy9mYy9iYi9hNTc2OGMyMzBmOWRkYjAzYWNjOWVmM2YwZDRhM2NmOTM0NjI0
NzM3OTVkMThlOTUzNTQ5OGM4ZjkyOWQvY2hhcmRldC0zLjAuNC50YXIuZ3oiLAogICAgICAgICAg
ICAgICAgICAgICAgICJjaGFyZGV0LTMuMC40L2NoYXJkZXQiKQotICAgICAgICBzZWxmLl9pbnN0
YWxsKCJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvZmMvYmIvYTU3Njhj
MjMwZjlkZGIwM2FjYzllZjNmMGQ0YTNjZjkzNDYyNDczNzk1ZDE4ZTk1MzU0OThjOGY5MjlkL2No
YXJkZXQtMy4wLjQudGFyLmd6IiwKLSAgICAgICAgICAgICAgICAgICAgICAiY2hhcmRldC0zLjAu
NC9jaGFyZGV0IikKICAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25o
b3N0ZWQub3JnL3BhY2thZ2VzL2FkLzEzL2ViNTY5NTFiNmY3OTUwY2FkYjU3OWNhMTY2ZTQ0OGJh
NzdmOWQyNGVmYzAzZWRkN2U1NWZhNTdkMDRiNy9pZG5hLTIuOC50YXIuZ3oiLAogICAgICAgICAg
ICAgICAgICAgICAgICJpZG5hLTIuOC9pZG5hIikKLSAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0
cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2IxLzUzLzM3ZDgyYWIzOTEzOTM1
NjVmMmY4MzFiOGVlZGJmZmQ1N2RiNWE3MTgyMTZmODJmMWE4YjRkMzgxYTFjMS91cmxsaWIzLTEu
MjQuMS50YXIuZ3oiLAotICAgICAgICAgICAgICAgICAgICAgICJ1cmxsaWIzLTEuMjQuMS9zcmMv
dXJsbGliMyIpCi0gICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0aG9uaG9z
dGVkLm9yZy9wYWNrYWdlcy81Mi8yYy81MTRlNGFjMjVkYTJiMDhjYTVhNDY0YzUwNDYzNjgyMTI2
Mzg1YzQyNzJjMTgxOTM4NzZlOTFmNGJjMzgvcmVxdWVzdHMtMi4yMS4wLnRhci5neiIsCi0gICAg
ICAgICAgICAgICAgICAgICAgInJlcXVlc3RzLTIuMjEuMC9yZXF1ZXN0cyIpCisgICAgICAgIHNl
bGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9mZi80
NC8yOTY1NTE2OGRhNDQxZGZmNjZkZTAzOTUyODgwYzZlMmQxN2IyNTI4MzZmZjFhYTQ0MjFmYmE1
NTY0MjQvdXJsbGliMy0xLjI1LjYudGFyLmd6IiwKKyAgICAgICAgICAgICAgICAgICAgICAidXJs
bGliMy0xLjI1LjYvc3JjL3VybGxpYjMiKQorICAgICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczov
L2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvMDEvNjIvZGRjZjc2ZDFkMTk4ODVlODU3
OWFjYjFiMWRmMjZhODUyYjAzNDcyYzBlNDZkMmI5NTlhNzE0YzkwNjA4L3JlcXVlc3RzLTIuMjIu
MC50YXIuZ3oiLAorICAgICAgICAgICAgICAgICAgICAgICJyZXF1ZXN0cy0yLjIyLjAvcmVxdWVz
dHMiKQogCiAgICAgZGVmIF9pbnN0YWxsX3B5bGludChzZWxmKToKICAgICAgICAgc2VsZi5fZW5z
dXJlX2F1dG9pbnN0YWxsZWRfZGlyX2lzX2luX3N5c19wYXRoKCkKQEAgLTIyMyw3ICsyMjYsNyBA
QCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2sob2JqZWN0KToKIAogICAgIGRlZiBfaW5zdGFs
bF9jb3ZlcmFnZShzZWxmKToKICAgICAgICAgc2VsZi5fZW5zdXJlX2F1dG9pbnN0YWxsZWRfZGly
X2lzX2luX3N5c19wYXRoKCkKLSAgICAgICAgc2VsZi5faW5zdGFsbCh1cmw9Imh0dHBzOi8vZmls
ZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9zb3VyY2UvYy9jb3ZlcmFnZS9jb3ZlcmFnZS0z
LjUuMS50YXIuZ3oiLCB1cmxfc3VicGF0aD0iY292ZXJhZ2UtMy41LjEvY292ZXJhZ2UiKQorICAg
ICAgICBzZWxmLl9pbnN0YWxsKHVybD0iaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3Bh
Y2thZ2VzLzg1L2Q1LzgxOGQwZTYwMzY4NWM0YTYxM2Q1NmYwNjVhNzIxMDEzZTk0MjA4ODA0N2Zm
MTAyN2E2MzI5NDhiZGFlNi9jb3ZlcmFnZS00LjUuNC50YXIuZ3oiLCB1cmxfc3VicGF0aD0iY292
ZXJhZ2UtNC41LjQvY292ZXJhZ2UiKQogCiAgICAgZGVmIF9pbnN0YWxsX3R3aXN0ZWRfMTVfNV8w
KHNlbGYpOgogICAgICAgICB0d2lzdGVkX2RpciA9IHNlbGYuX2ZzLmpvaW4oX0FVVE9JTlNUQUxM
RURfRElSLCAidHdpc3RlZF8xNV81XzAiKQpAQCAtMjMzLDcgKzIzNiw3IEBAIGNsYXNzIEF1dG9p
bnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogCiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBn
cmVhdGVyX3RoYW5fZXF1YWxfdG9fdmVyc2lvbihtaW5pbXVtLCB2ZXJzaW9uKToKLSAgICAgICAg
Zm9yIGkgaW4geHJhbmdlKGxlbihtaW5pbXVtLnNwbGl0KCcuJykpKToKKyAgICAgICAgZm9yIGkg
aW4gcmFuZ2UobGVuKG1pbmltdW0uc3BsaXQoJy4nKSkpOgogICAgICAgICAgICAgaWYgaW50KHZl
cnNpb24uc3BsaXQoJy4nKVtpXSkgPiBpbnQobWluaW11bS5zcGxpdCgnLicpW2ldKToKICAgICAg
ICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICAgaWYgaW50KHZlcnNpb24uc3BsaXQo
Jy4nKVtpXSkgPCBpbnQobWluaW11bS5zcGxpdCgnLicpW2ldKToKQEAgLTI0NCw3ICsyNDcsNyBA
QCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2sob2JqZWN0KToKICAgICAgICAgc2VsZi5fZW5z
dXJlX2F1dG9pbnN0YWxsZWRfZGlyX2lzX2luX3N5c19wYXRoKCkKIAogICAgICAgICBpbnN0YWxs
ZXIgPSBBdXRvSW5zdGFsbGVyKHByZXBlbmRfdG9fc2VhcmNoX3BhdGg9VHJ1ZSwgdGFyZ2V0X2Rp
cj1zZWxmLl9mcy5qb2luKF9BVVRPSU5TVEFMTEVEX0RJUiwgInVybGxpYjMiKSkKLSAgICAgICAg
aW5zdGFsbGVyLmluc3RhbGwodXJsPSJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFj
a2FnZXMvYjEvNTMvMzdkODJhYjM5MTM5MzU2NWYyZjgzMWI4ZWVkYmZmZDU3ZGI1YTcxODIxNmY4
MmYxYThiNGQzODFhMWMxL3VybGxpYjMtMS4yNC4xLnRhci5neiIsIHVybF9zdWJwYXRoPSJ1cmxs
aWIzLTEuMjQuMSIpCisgICAgICAgIGluc3RhbGxlci5pbnN0YWxsKHVybD0iaHR0cHM6Ly9maWxl
cy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2ZmLzQ0LzI5NjU1MTY4ZGE0NDFkZmY2NmRlMDM5
NTI4ODBjNmUyZDE3YjI1MjgzNmZmMWFhNDQyMWZiYTU1NjQyNC91cmxsaWIzLTEuMjUuNi50YXIu
Z3oiLCB1cmxfc3VicGF0aD0idXJsbGliMy0xLjI1LjYiKQogCiAgICAgICAgIG1pbmltdW1fdmVy
c2lvbiA9ICczLjUuMCcKICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKF9B
VVRPSU5TVEFMTEVEX0RJUiwgJ3NlbGVuaXVtJywgJ19faW5pdF9fLnB5JykpOgpAQCAtMjU0LDcg
KzI1Nyw3IEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogCiAgICAgICAg
IHRyeToKICAgICAgICAgICAgIHVybCwgdXJsX3N1YnBhdGggPSBzZWxmLmdldF9sYXRlc3RfcHlw
aV91cmwoJ3NlbGVuaXVtJykKLSAgICAgICAgZXhjZXB0IHVybGxpYjIuVVJMRXJyb3I6CisgICAg
ICAgIGV4Y2VwdCBVUkxFcnJvcjoKICAgICAgICAgICAgICMgVVJMIGZvciBpbnN0YWxsaW5nIHRo
ZSBtaW5pbXVtIHJlcXVpcmVkIHZlcnNpb24uCiAgICAgICAgICAgICB1cmwgPSAnaHR0cHM6Ly9m
aWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2FjL2Q3LzE5Mjg0MTY0MzlkMDY2YzYwZjI2
Yzg3YThkMWI3OGE4ZWRkNjRjN2QwNWEwYWE5MTdmYTk3YThlZTAyZC9zZWxlbml1bS0zLjUuMC50
YXIuZ3onCiAgICAgICAgICAgICB1cmxfc3VicGF0aCA9ICdzZWxlbml1bS17fS9zZWxlbml1bScu
Zm9ybWF0KG1pbmltdW1fdmVyc2lvbikKQEAgLTI2NCwxNCArMjY3LDE0IEBAIGNsYXNzIEF1dG9p
bnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogICAgIGRlZiBpbnN0YWxsX2Nocm9tZWRyaXZlcihz
ZWxmKToKICAgICAgICAgZmlsZW5hbWVfcG9zdGZpeCA9IGdldF9kcml2ZXJfZmlsZW5hbWUoKS5j
aHJvbWUKICAgICAgICAgaWYgZmlsZW5hbWVfcG9zdGZpeCAhPSAidW5zdXBwb3J0ZWQiOgotICAg
ICAgICAgICAgdmVyc2lvbiA9IHVybGxpYjIudXJsb3BlbihDSFJPTUVfRFJJVkVSX1VSTCArICdM
QVRFU1RfUkVMRUFTRScpLnJlYWQoKS5zdHJpcCgpCisgICAgICAgICAgICB2ZXJzaW9uID0gdXJs
b3BlbihDSFJPTUVfRFJJVkVSX1VSTCArICdMQVRFU1RfUkVMRUFTRScpLnJlYWQoKS5zdHJpcCgp
CiAgICAgICAgICAgICBmdWxsX2Nocm9tZV91cmwgPSAie2Jhc2VfdXJsfXt2ZXJzaW9ufS9jaHJv
bWVkcml2ZXJfe29zfS56aXAiLmZvcm1hdChiYXNlX3VybD1DSFJPTUVfRFJJVkVSX1VSTCwgdmVy
c2lvbj12ZXJzaW9uLCBvcz1maWxlbmFtZV9wb3N0Zml4KQogICAgICAgICAgICAgc2VsZi5pbnN0
YWxsX2JpbmFyeShmdWxsX2Nocm9tZV91cmwsICdjaHJvbWVkcml2ZXInKQogCiAgICAgZGVmIGlu
c3RhbGxfZ2Vja29kcml2ZXIoc2VsZik6CiAgICAgICAgIGZpbGVuYW1lX3Bvc3RmaXggPSBnZXRf
ZHJpdmVyX2ZpbGVuYW1lKCkuZmlyZWZveAogICAgICAgICBpZiBmaWxlbmFtZV9wb3N0Zml4ICE9
ICJ1bnN1cHBvcnRlZCI6Ci0gICAgICAgICAgICBmaXJlZm94X3JlbGVhc2VzX2Jsb2IgPSB1cmxs
aWIyLnVybG9wZW4oRklSRUZPWF9SRUxFQVNFU19VUkwpCisgICAgICAgICAgICBmaXJlZm94X3Jl
bGVhc2VzX2Jsb2IgPSB1cmxvcGVuKEZJUkVGT1hfUkVMRUFTRVNfVVJMKQogICAgICAgICAgICAg
ZmlyZWZveF9yZWxlYXNlc19saW5lX3NlcGFyYXRlZCA9IGpzb24uZHVtcHMoanNvbi5sb2FkKGZp
cmVmb3hfcmVsZWFzZXNfYmxvYiksIGluZGVudD0wKS5zdHJpcCgpCiAgICAgICAgICAgICBhbGxf
ZmlyZWZveF9yZWxlYXNlX3VybHMgPSAiXG4iLmpvaW4ocmUuZmluZGFsbChyJy4qYnJvd3Nlcl9k
b3dubG9hZF91cmwuKicsIGZpcmVmb3hfcmVsZWFzZXNfbGluZV9zZXBhcmF0ZWQpKQogICAgICAg
ICAgICAgZnVsbF9maXJlZm94X3VybCA9IHJlLmZpbmRhbGwocicuKiVzLionICUgZmlsZW5hbWVf
cG9zdGZpeCwgYWxsX2ZpcmVmb3hfcmVsZWFzZV91cmxzKVswXS5zcGxpdCgnIicpWzNdCkBAIC0y
ODMsNyArMjg2LDcgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVjdCk6CiAKICAg
ICBkZWYgZ2V0X2xhdGVzdF9weXBpX3VybChzZWxmLCBwYWNrYWdlX25hbWUsIHVybF9zdWJwYXRo
X2Zvcm1hdD0ne25hbWV9LXt2ZXJzaW9ufS97bG5hbWV9Jyk6CiAgICAgICAgIGpzb25fdXJsID0g
Imh0dHBzOi8vcHlwaS5vcmcvcHlwaS8lcy9qc29uIiAlIHBhY2thZ2VfbmFtZQotICAgICAgICBy
ZXNwb25zZSA9IHVybGxpYjIudXJsb3Blbihqc29uX3VybCwgdGltZW91dD0zMCkKKyAgICAgICAg
cmVzcG9uc2UgPSB1cmxvcGVuKGpzb25fdXJsLCB0aW1lb3V0PTMwKQogICAgICAgICBkYXRhID0g
anNvbi5sb2FkKHJlc3BvbnNlKQogICAgICAgICB1cmwgPSBkYXRhWyd1cmxzJ11bMV1bJ3VybCdd
CiAgICAgICAgIHN1YnBhdGggPSB1cmxfc3VicGF0aF9mb3JtYXQuZm9ybWF0KG5hbWU9cGFja2Fn
ZV9uYW1lLCB2ZXJzaW9uPWRhdGFbJ2luZm8nXVsndmVyc2lvbiddLCBsbmFtZT1wYWNrYWdlX25h
bWUubG93ZXIoKSkKQEAgLTI5MiwxMiArMjk1LDEyIEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1wb3J0
SG9vayhvYmplY3QpOgogICAgIGRlZiBpbnN0YWxsX2JpbmFyeShzZWxmLCB1cmwsIG5hbWUpOgog
ICAgICAgICBzZWxmLl9pbnN0YWxsKHVybD11cmwsIHRhcmdldF9uYW1lPW5hbWUpCiAgICAgICAg
IGRpcmVjdG9yeSA9IG9zLnBhdGguam9pbihfQVVUT0lOU1RBTExFRF9ESVIsIG5hbWUpCi0gICAg
ICAgIG9zLmNobW9kKG9zLnBhdGguam9pbihkaXJlY3RvcnksIG5hbWUpLCAwNzU1KQorICAgICAg
ICBvcy5jaG1vZChvcy5wYXRoLmpvaW4oZGlyZWN0b3J5LCBuYW1lKSwgMG83NTUpCiAgICAgICAg
IG9wZW4ob3MucGF0aC5qb2luKGRpcmVjdG9yeSwgJ19faW5pdF9fLnB5JyksICd3KycpLmNsb3Nl
KCkKIAogCiBfaG9vayA9IEF1dG9pbnN0YWxsSW1wb3J0SG9vaygpCi1zeXMubWV0YV9wYXRoLmFw
cGVuZChfaG9vaykKK3N5cy5tZXRhX3BhdGguaW5zZXJ0KDAsIF9ob29rKQogCiAKIGRlZiBhdXRv
aW5zdGFsbF9ldmVyeXRoaW5nKCk6CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RoaXJk
cGFydHkvX19pbml0X19fdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90aGlyZHBhcnR5L19faW5pdF9fX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNTA2NzMp
CisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3Qu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTMzLDI4ICszMyw2IEBAIGZyb20gd2Via2l0cHkudGhpcmRw
YXJ0eSBpbXBvcnQgQXV0b2luc3QKIAogCiBjbGFzcyBUaGlyZHBhcnR5VGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6Ci0gICAgZGVmIHRlc3RfaW1wb3J0X2hvb2soc2VsZik6Ci0gICAgICAgICMgQWRk
IGFub3RoZXIgaW1wb3J0IGhvb2sgYW5kIG1ha2Ugc3VyZSB3ZSBnZXQgY2FsbGVkLgotICAgICAg
ICBjbGFzcyBNb2NrSW1wb3J0SG9vayhBdXRvaW5zdGFsbEltcG9ydEhvb2spOgotICAgICAgICAg
ICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICAgICAgICAgIEF1dG9pbnN0YWxsSW1wb3J0
SG9vay5fX2luaXRfXyhzZWxmKQotICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRib3RfaW5zdGFs
bGVkID0gRmFsc2UKLQotICAgICAgICAgICAgZGVmIF9pbnN0YWxsX2J1aWxkYm90KHNlbGYpOgot
ICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRib3RfaW5zdGFsbGVkID0gVHJ1ZQotCi0gICAgICAg
IG1vY2tfaW1wb3J0X2hvb2sgPSBNb2NrSW1wb3J0SG9vaygpCi0gICAgICAgIHRyeToKLSAgICAg
ICAgICAgICMgVGhlIGFjdHVhbCBBdXRvaW5zdGFsbEltcG9ydEhvb2sgc2hvdWxkIGJlIGluc3Rh
bGxlZCBiZWZvcmUgdXMsCi0gICAgICAgICAgICAjIHNvIHRoZXNlIG1vZHVsZXMgd2lsbCBnZXQg
aW5zdGFsbGVkIGJlZm9yZSBNb2NrSW1wb3J0SG9vayBydW5zLgotICAgICAgICAgICAgc3lzLm1l
dGFfcGF0aC5hcHBlbmQobW9ja19pbXBvcnRfaG9vaykKLSAgICAgICAgICAgICMgdW51c2VkLXZh
cmlhYmxlLCBpbXBvcnQgZmFpbHVyZXMgLSBweWxpbnQ6IGRpc2FibGUtbXNnPVcwNjEyLEUwNjEx
LEYwNDAxCi0gICAgICAgICAgICBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2luc3RhbGxl
ZCBpbXBvcnQgYnVpbGRib3QKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtb2NrX2ltcG9y
dF9ob29rLmJ1aWxkYm90X2luc3RhbGxlZCkKLQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAg
ICAgc3lzLm1ldGFfcGF0aC5yZW1vdmUobW9ja19pbXBvcnRfaG9vaykKLQogICAgIGRlZiB0ZXN0
X2ltcG9ydHMoc2VsZik6CiAgICAgICAgICMgVGhpcyBtZXRob2QgdGVzdHMgdGhhdCB3ZSBjYW4g
YWN0dWFsbHkgaW1wb3J0IGV2ZXJ5dGhpbmcuCiAgICAgICAgICMgdW51c2VkLXZhcmlhYmxlLCBp
bXBvcnQgZmFpbHVyZXMgLSBweWxpbnQ6IGRpc2FibGUtbXNnPVcwNjEyLEUwNjExLEYwNDAxCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380446</attachid>
            <date>2019-10-08 11:24:18 -0700</date>
            <delta_ts>2019-10-08 13:36:20 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-201955-20191008112417.patch</filename>
            <type>text/plain</type>
            <size>12534</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MDgzOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI3IEBACisyMDE5LTEwLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBQeXRob24gMzogQWRkIHN1cHBvcnQgdG8gYXV0by1pbXBvcnRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWFrYXNoIEphaW4uCisKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qt
d2Via2l0cHktcHl0aG9uMzogQXV0by1pbnN0YWxsIGV2ZXJ5dGhpbmcuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5OiBJbXBvcnQgdXJsb3Bl
biBhbmQgdXJscGFyc2UgZm9yIFB5dGhvbjMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
aGlyZHBhcnR5L19faW5pdF9fLnB5OgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmZp
bmRfbW9kdWxlKTogVXBkYXRlIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIFB5dGhvbjMuCisgICAg
ICAgIChBdXRvaW5zdGFsbEltcG9ydEhvb2suX2luc3RhbGxfbWVjaGFuaXplKTogVXNlIFB5dGhv
biAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIG1lY2hhbml6ZS4KKyAgICAgICAgKEF1dG9pbnN0
YWxsSW1wb3J0SG9vay5faW5zdGFsbF9yZXF1ZXN0cyk6IFVwZGF0ZSB1cmxsaWIzIGFuZCByZXF1
ZXN0cyB2ZXJzaW9uLgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLl9pbnN0YWxsX2Nv
dmVyYWdlKTogVXNlIFB5dGhvbiAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIGNvdmVyYWdlLgor
ICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdyZWF0ZXJfdGhhbl9lcXVhbF90b192ZXJz
aW9uKTogVXNlIHJhbmdlIGluc3RlYWQgb2YgeHJhbmdlLgorICAgICAgICAoQXV0b2luc3RhbGxJ
bXBvcnRIb29rLl9pbnN0YWxsX3NlbGVuaXVtKTogVXBkYXRlIHVybGxpYjMgdmVyc2lvbi4KKyAg
ICAgICAgKEF1dG9pbnN0YWxsSW1wb3J0SG9vay5pbnN0YWxsX2Nocm9tZWRyaXZlcik6IAorICAg
ICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfZ2Vja29kcml2ZXIpOgorICAgICAg
ICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdldF9sYXRlc3RfcHlwaV91cmwpOgorICAgICAgICAo
QXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfYmluYXJ5KToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3QucHk6CisgICAgICAgIChUaGly
ZHBhcnR5VGVzdCk6CisgICAgICAgIChUaGlyZHBhcnR5VGVzdC50ZXN0X2ltcG9ydF9ob29rKTog
RGVsZXRlZC4KKwogMjAxOS0xMC0wNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBBZGQgSURMIGZvciByZXF1ZXN0SWRsZUNhbGxiYWNrCkluZGV4OiBUb29scy9T
Y3JpcHRzL3Rlc3Qtd2Via2l0cHktcHl0aG9uMwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3Rlc3Qtd2Via2l0cHktcHl0aG9uMwkocmV2aXNpb24gMjUwODM5KQorKysgVG9vbHMvU2NyaXB0
cy90ZXN0LXdlYmtpdHB5LXB5dGhvbjMJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDkgQEAg
ZGVmIG1haW4oKToKICAgICBpZiBzdWl0ZS5jb3VudFRlc3RDYXNlcygpID09IDA6CiAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcignTm8gbWF0Y2hpbmcgdGVzdHMgZm91bmQuJykKIAorICAgIGZy
b20gd2Via2l0cHkudGhpcmRwYXJ0eSBpbXBvcnQgYXV0b2luc3RhbGxfZXZlcnl0aGluZworICAg
IGF1dG9pbnN0YWxsX2V2ZXJ5dGhpbmcoKQorCiAgICAgcmVzdWx0ID0gdW5pdHRlc3QuVGV4dFRl
c3RSdW5uZXIodmVyYm9zaXR5PWludChvcHRpb25zLnZlcmJvc2UpICsgMSwgZmFpbGZhc3Q9b3B0
aW9ucy5zdG9wX29uX2ZhaWwsIGJ1ZmZlcj1ub3Qgb3B0aW9ucy52ZXJib3NlKS5ydW4oc3VpdGUp
CiAgICAgcmV0dXJuIGxlbihyZXN1bHQuZXJyb3JzKQogCkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5CShyZXZpc2lvbiAy
NTA4MzkpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3Rh
bGwucHkJKHdvcmtpbmcgY29weSkKQEAgLTM5LDE1ICszOSwxOSBAQCBpbXBvcnQgc3RhdAogaW1w
b3J0IHN5cwogaW1wb3J0IHRhcmZpbGUKIGltcG9ydCB0ZW1wZmlsZQotaW1wb3J0IHVybGxpYjIK
LWltcG9ydCB1cmxwYXJzZQogaW1wb3J0IHppcGZpbGUKIGltcG9ydCByZQogZnJvbSBkaXN0dXRp
bHMgaW1wb3J0IGRpcl91dGlsCiBmcm9tIGdsb2IgaW1wb3J0IGdsb2IKLWltcG9ydCB1cmxwYXJz
ZQogaW1wb3J0IHN1YnByb2Nlc3MKIAoraWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKToKKyAg
ICBmcm9tIHVybGxpYi5yZXF1ZXN0IGltcG9ydCB1cmxvcGVuCisgICAgaW1wb3J0IHVybGxpYi5w
YXJzZSBhcyB1cmxwYXJzZQorZWxzZToKKyAgICBmcm9tIHVybGxpYjIgaW1wb3J0IHVybG9wZW4K
KyAgICBpbXBvcnQgdXJscGFyc2UKKwogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCiBpZiBub3QgX2xvZy5oYW5kbGVyczogICMgTm8gcGFyZW50IGxvZ2dlcnMgc2V0dXAuCklu
ZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X18ucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90aGlyZHBhcnR5L19faW5pdF9fLnB5CShy
ZXZpc2lvbiAyNTA4MzkpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RoaXJkcGFydHkvX19p
bml0X18ucHkJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDEyIEBAIGltcG9ydCBqc29uCiBp
bXBvcnQgb3MKIGltcG9ydCByZQogaW1wb3J0IHN5cwotaW1wb3J0IHVybGxpYjIKKworaWYgc3lz
LnZlcnNpb25faW5mbyA+ICgzLCAwKToKKyAgICBmcm9tIHVybGxpYi5lcnJvciBpbXBvcnQgVVJM
RXJyb3IKKyAgICBmcm9tIHVybGxpYi5yZXF1ZXN0IGltcG9ydCB1cmxvcGVuCitlbHNlOgorICAg
IGZyb20gdXJsbGliMiBpbXBvcnQgVVJMRXJyb3IsIHVybG9wZW4KIAogZnJvbSBjb2xsZWN0aW9u
cyBpbXBvcnQgbmFtZWR0dXBsZQogZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHNwYXduCkBAIC04MCw3
ICs4NSw3IEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogICAgICAgICBp
ZiBub3QgX0FVVE9JTlNUQUxMRURfRElSIGluIHN5cy5wYXRoOgogICAgICAgICAgICAgc3lzLnBh
dGguaW5zZXJ0KDAsIF9BVVRPSU5TVEFMTEVEX0RJUikKIAotICAgIGRlZiBmaW5kX21vZHVsZShz
ZWxmLCBmdWxsbmFtZSwgXyk6CisgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lLCBw
YXRoPU5vbmUpOgogICAgICAgICAjIFRoaXMgbWV0aG9kIHdpbGwgcnVuIGJlZm9yZSBlYWNoIGlt
cG9ydC4gU2VlIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMDMwMi8KICAgICAg
ICAgaWYgJy5hdXRvaW5zdGFsbGVkJyBub3QgaW4gZnVsbG5hbWU6CiAgICAgICAgICAgICByZXR1
cm4KQEAgLTEyMSw4ICsxMjYsMTAgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVj
dCk6CiAgICAgICAgICAgICBzZWxmLl9pbnN0YWxsX3JlcXVlc3RzKCkKIAogICAgIGRlZiBfaW5z
dGFsbF9tZWNoYW5pemUoc2VsZik6Ci0gICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmls
ZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9zb3VyY2UvbS9tZWNoYW5pemUvbWVjaGFuaXpl
LTAuMi41LnRhci5neiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZWNoYW5pemUt
MC4yLjUvbWVjaGFuaXplIikKKyAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5w
eXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzg1LzNlL2NmNDQ5Y2YxYjUwMDRlODc1MTBiOTM2OGU3
YTVmMWFjZDg4MzFjMmQ2NjkxZWRkM2M2MmEwODIzZjk4Zi9odG1sNWxpYi0xLjAuMS50YXIuZ3oi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHRtbDVsaWItMS4wLjEvaHRtbDVsaWIi
KQorICAgICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcv
cGFja2FnZXMvNjQvZjEvMWFhNGM5NmRlYTE0ZTE3YTk1NTAxOWIwZmM0YWMxYjhkZmJjNTBlM2M5
MDk3MGMxZmI4ODgyZTc0YTdiL21lY2hhbml6ZS0wLjQuMy50YXIuZ3oiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibWVjaGFuaXplLTAuNC4zL21lY2hhbml6ZSIpCiAKICAgICBkZWYg
X2luc3RhbGxfa2V5cmluZyhzZWxmKToKICAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9m
aWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzdkL2E5LzhjNmJmNjA3MTA3ODFjZTEzYTk5
ODdjMGRlYmRhOGFkYWIzNWViNzljNmI1NTI1ZjdmZTUyNDBiN2E4YS9rZXlyaW5nLTcuMy4xLnRh
ci5neiIsCkBAIC0xNzUsMTQgKzE4MiwxMiBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2so
b2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAiY2VydGlmaS0yMDE5LjMuOS9jZXJ0aWZp
IikKICAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3Jn
L3BhY2thZ2VzL2ZjL2JiL2E1NzY4YzIzMGY5ZGRiMDNhY2M5ZWYzZjBkNGEzY2Y5MzQ2MjQ3Mzc5
NWQxOGU5NTM1NDk4YzhmOTI5ZC9jaGFyZGV0LTMuMC40LnRhci5neiIsCiAgICAgICAgICAgICAg
ICAgICAgICAgImNoYXJkZXQtMy4wLjQvY2hhcmRldCIpCi0gICAgICAgIHNlbGYuX2luc3RhbGwo
Imh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9mYy9iYi9hNTc2OGMyMzBm
OWRkYjAzYWNjOWVmM2YwZDRhM2NmOTM0NjI0NzM3OTVkMThlOTUzNTQ5OGM4ZjkyOWQvY2hhcmRl
dC0zLjAuNC50YXIuZ3oiLAotICAgICAgICAgICAgICAgICAgICAgICJjaGFyZGV0LTMuMC40L2No
YXJkZXQiKQogICAgICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3Rl
ZC5vcmcvcGFja2FnZXMvYWQvMTMvZWI1Njk1MWI2Zjc5NTBjYWRiNTc5Y2ExNjZlNDQ4YmE3N2Y5
ZDI0ZWZjMDNlZGQ3ZTU1ZmE1N2QwNGI3L2lkbmEtMi44LnRhci5neiIsCiAgICAgICAgICAgICAg
ICAgICAgICAgImlkbmEtMi44L2lkbmEiKQotICAgICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczov
L2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYjEvNTMvMzdkODJhYjM5MTM5MzU2NWYy
ZjgzMWI4ZWVkYmZmZDU3ZGI1YTcxODIxNmY4MmYxYThiNGQzODFhMWMxL3VybGxpYjMtMS4yNC4x
LnRhci5neiIsCi0gICAgICAgICAgICAgICAgICAgICAgInVybGxpYjMtMS4yNC4xL3NyYy91cmxs
aWIzIikKLSAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQu
b3JnL3BhY2thZ2VzLzUyLzJjLzUxNGU0YWMyNWRhMmIwOGNhNWE0NjRjNTA0NjM2ODIxMjYzODVj
NDI3MmMxODE5Mzg3NmU5MWY0YmMzOC9yZXF1ZXN0cy0yLjIxLjAudGFyLmd6IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAicmVxdWVzdHMtMi4yMS4wL3JlcXVlc3RzIikKKyAgICAgICAgc2VsZi5f
aW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2ZmLzQ0LzI5
NjU1MTY4ZGE0NDFkZmY2NmRlMDM5NTI4ODBjNmUyZDE3YjI1MjgzNmZmMWFhNDQyMWZiYTU1NjQy
NC91cmxsaWIzLTEuMjUuNi50YXIuZ3oiLAorICAgICAgICAgICAgICAgICAgICAgICJ1cmxsaWIz
LTEuMjUuNi9zcmMvdXJsbGliMyIpCisgICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmls
ZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy8wMS82Mi9kZGNmNzZkMWQxOTg4NWU4NTc5YWNi
MWIxZGYyNmE4NTJiMDM0NzJjMGU0NmQyYjk1OWE3MTRjOTA2MDgvcmVxdWVzdHMtMi4yMi4wLnRh
ci5neiIsCisgICAgICAgICAgICAgICAgICAgICAgInJlcXVlc3RzLTIuMjIuMC9yZXF1ZXN0cyIp
CiAKICAgICBkZWYgX2luc3RhbGxfcHlsaW50KHNlbGYpOgogICAgICAgICBzZWxmLl9lbnN1cmVf
YXV0b2luc3RhbGxlZF9kaXJfaXNfaW5fc3lzX3BhdGgoKQpAQCAtMjIzLDcgKzIyOCw3IEBAIGNs
YXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogCiAgICAgZGVmIF9pbnN0YWxsX2Nv
dmVyYWdlKHNlbGYpOgogICAgICAgICBzZWxmLl9lbnN1cmVfYXV0b2luc3RhbGxlZF9kaXJfaXNf
aW5fc3lzX3BhdGgoKQotICAgICAgICBzZWxmLl9pbnN0YWxsKHVybD0iaHR0cHM6Ly9maWxlcy5w
eXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL3NvdXJjZS9jL2NvdmVyYWdlL2NvdmVyYWdlLTMuNS4x
LnRhci5neiIsIHVybF9zdWJwYXRoPSJjb3ZlcmFnZS0zLjUuMS9jb3ZlcmFnZSIpCisgICAgICAg
IHNlbGYuX2luc3RhbGwodXJsPSJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2Fn
ZXMvODUvZDUvODE4ZDBlNjAzNjg1YzRhNjEzZDU2ZjA2NWE3MjEwMTNlOTQyMDg4MDQ3ZmYxMDI3
YTYzMjk0OGJkYWU2L2NvdmVyYWdlLTQuNS40LnRhci5neiIsIHVybF9zdWJwYXRoPSJjb3ZlcmFn
ZS00LjUuNC9jb3ZlcmFnZSIpCiAKICAgICBkZWYgX2luc3RhbGxfdHdpc3RlZF8xNV81XzAoc2Vs
Zik6CiAgICAgICAgIHR3aXN0ZWRfZGlyID0gc2VsZi5fZnMuam9pbihfQVVUT0lOU1RBTExFRF9E
SVIsICJ0d2lzdGVkXzE1XzVfMCIpCkBAIC0yMzMsNyArMjM4LDcgQEAgY2xhc3MgQXV0b2luc3Rh
bGxJbXBvcnRIb29rKG9iamVjdCk6CiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGdyZWF0
ZXJfdGhhbl9lcXVhbF90b192ZXJzaW9uKG1pbmltdW0sIHZlcnNpb24pOgotICAgICAgICBmb3Ig
aSBpbiB4cmFuZ2UobGVuKG1pbmltdW0uc3BsaXQoJy4nKSkpOgorICAgICAgICBmb3IgaSBpbiBy
YW5nZShsZW4obWluaW11bS5zcGxpdCgnLicpKSk6CiAgICAgICAgICAgICBpZiBpbnQodmVyc2lv
bi5zcGxpdCgnLicpW2ldKSA+IGludChtaW5pbXVtLnNwbGl0KCcuJylbaV0pOgogICAgICAgICAg
ICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgICAgICBpZiBpbnQodmVyc2lvbi5zcGxpdCgnLicp
W2ldKSA8IGludChtaW5pbXVtLnNwbGl0KCcuJylbaV0pOgpAQCAtMjQ0LDcgKzI0OSw3IEBAIGNs
YXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogICAgICAgICBzZWxmLl9lbnN1cmVf
YXV0b2luc3RhbGxlZF9kaXJfaXNfaW5fc3lzX3BhdGgoKQogCiAgICAgICAgIGluc3RhbGxlciA9
IEF1dG9JbnN0YWxsZXIocHJlcGVuZF90b19zZWFyY2hfcGF0aD1UcnVlLCB0YXJnZXRfZGlyPXNl
bGYuX2ZzLmpvaW4oX0FVVE9JTlNUQUxMRURfRElSLCAidXJsbGliMyIpKQotICAgICAgICBpbnN0
YWxsZXIuaW5zdGFsbCh1cmw9Imh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdl
cy9iMS81My8zN2Q4MmFiMzkxMzkzNTY1ZjJmODMxYjhlZWRiZmZkNTdkYjVhNzE4MjE2ZjgyZjFh
OGI0ZDM4MWExYzEvdXJsbGliMy0xLjI0LjEudGFyLmd6IiwgdXJsX3N1YnBhdGg9InVybGxpYjMt
MS4yNC4xIikKKyAgICAgICAgaW5zdGFsbGVyLmluc3RhbGwodXJsPSJodHRwczovL2ZpbGVzLnB5
dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvZmYvNDQvMjk2NTUxNjhkYTQ0MWRmZjY2ZGUwMzk1Mjg4
MGM2ZTJkMTdiMjUyODM2ZmYxYWE0NDIxZmJhNTU2NDI0L3VybGxpYjMtMS4yNS42LnRhci5neiIs
IHVybF9zdWJwYXRoPSJ1cmxsaWIzLTEuMjUuNiIpCiAKICAgICAgICAgbWluaW11bV92ZXJzaW9u
ID0gJzMuNS4wJwogICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4oX0FVVE9J
TlNUQUxMRURfRElSLCAnc2VsZW5pdW0nLCAnX19pbml0X18ucHknKSk6CkBAIC0yNTQsNyArMjU5
LDcgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVjdCk6CiAKICAgICAgICAgdHJ5
OgogICAgICAgICAgICAgdXJsLCB1cmxfc3VicGF0aCA9IHNlbGYuZ2V0X2xhdGVzdF9weXBpX3Vy
bCgnc2VsZW5pdW0nKQotICAgICAgICBleGNlcHQgdXJsbGliMi5VUkxFcnJvcjoKKyAgICAgICAg
ZXhjZXB0IFVSTEVycm9yOgogICAgICAgICAgICAgIyBVUkwgZm9yIGluc3RhbGxpbmcgdGhlIG1p
bmltdW0gcmVxdWlyZWQgdmVyc2lvbi4KICAgICAgICAgICAgIHVybCA9ICdodHRwczovL2ZpbGVz
LnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYWMvZDcvMTkyODQxNjQzOWQwNjZjNjBmMjZjODdh
OGQxYjc4YThlZGQ2NGM3ZDA1YTBhYTkxN2ZhOTdhOGVlMDJkL3NlbGVuaXVtLTMuNS4wLnRhci5n
eicKICAgICAgICAgICAgIHVybF9zdWJwYXRoID0gJ3NlbGVuaXVtLXt9L3NlbGVuaXVtJy5mb3Jt
YXQobWluaW11bV92ZXJzaW9uKQpAQCAtMjY0LDE0ICsyNjksMTQgQEAgY2xhc3MgQXV0b2luc3Rh
bGxJbXBvcnRIb29rKG9iamVjdCk6CiAgICAgZGVmIGluc3RhbGxfY2hyb21lZHJpdmVyKHNlbGYp
OgogICAgICAgICBmaWxlbmFtZV9wb3N0Zml4ID0gZ2V0X2RyaXZlcl9maWxlbmFtZSgpLmNocm9t
ZQogICAgICAgICBpZiBmaWxlbmFtZV9wb3N0Zml4ICE9ICJ1bnN1cHBvcnRlZCI6Ci0gICAgICAg
ICAgICB2ZXJzaW9uID0gdXJsbGliMi51cmxvcGVuKENIUk9NRV9EUklWRVJfVVJMICsgJ0xBVEVT
VF9SRUxFQVNFJykucmVhZCgpLnN0cmlwKCkKKyAgICAgICAgICAgIHZlcnNpb24gPSB1cmxvcGVu
KENIUk9NRV9EUklWRVJfVVJMICsgJ0xBVEVTVF9SRUxFQVNFJykucmVhZCgpLnN0cmlwKCkKICAg
ICAgICAgICAgIGZ1bGxfY2hyb21lX3VybCA9ICJ7YmFzZV91cmx9e3ZlcnNpb259L2Nocm9tZWRy
aXZlcl97b3N9LnppcCIuZm9ybWF0KGJhc2VfdXJsPUNIUk9NRV9EUklWRVJfVVJMLCB2ZXJzaW9u
PXZlcnNpb24sIG9zPWZpbGVuYW1lX3Bvc3RmaXgpCiAgICAgICAgICAgICBzZWxmLmluc3RhbGxf
YmluYXJ5KGZ1bGxfY2hyb21lX3VybCwgJ2Nocm9tZWRyaXZlcicpCiAKICAgICBkZWYgaW5zdGFs
bF9nZWNrb2RyaXZlcihzZWxmKToKICAgICAgICAgZmlsZW5hbWVfcG9zdGZpeCA9IGdldF9kcml2
ZXJfZmlsZW5hbWUoKS5maXJlZm94CiAgICAgICAgIGlmIGZpbGVuYW1lX3Bvc3RmaXggIT0gInVu
c3VwcG9ydGVkIjoKLSAgICAgICAgICAgIGZpcmVmb3hfcmVsZWFzZXNfYmxvYiA9IHVybGxpYjIu
dXJsb3BlbihGSVJFRk9YX1JFTEVBU0VTX1VSTCkKKyAgICAgICAgICAgIGZpcmVmb3hfcmVsZWFz
ZXNfYmxvYiA9IHVybG9wZW4oRklSRUZPWF9SRUxFQVNFU19VUkwpCiAgICAgICAgICAgICBmaXJl
Zm94X3JlbGVhc2VzX2xpbmVfc2VwYXJhdGVkID0ganNvbi5kdW1wcyhqc29uLmxvYWQoZmlyZWZv
eF9yZWxlYXNlc19ibG9iKSwgaW5kZW50PTApLnN0cmlwKCkKICAgICAgICAgICAgIGFsbF9maXJl
Zm94X3JlbGVhc2VfdXJscyA9ICJcbiIuam9pbihyZS5maW5kYWxsKHInLipicm93c2VyX2Rvd25s
b2FkX3VybC4qJywgZmlyZWZveF9yZWxlYXNlc19saW5lX3NlcGFyYXRlZCkpCiAgICAgICAgICAg
ICBmdWxsX2ZpcmVmb3hfdXJsID0gcmUuZmluZGFsbChyJy4qJXMuKicgJSBmaWxlbmFtZV9wb3N0
Zml4LCBhbGxfZmlyZWZveF9yZWxlYXNlX3VybHMpWzBdLnNwbGl0KCciJylbM10KQEAgLTI4Myw3
ICsyODgsNyBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2sob2JqZWN0KToKIAogICAgIGRl
ZiBnZXRfbGF0ZXN0X3B5cGlfdXJsKHNlbGYsIHBhY2thZ2VfbmFtZSwgdXJsX3N1YnBhdGhfZm9y
bWF0PSd7bmFtZX0te3ZlcnNpb259L3tsbmFtZX0nKToKICAgICAgICAganNvbl91cmwgPSAiaHR0
cHM6Ly9weXBpLm9yZy9weXBpLyVzL2pzb24iICUgcGFja2FnZV9uYW1lCi0gICAgICAgIHJlc3Bv
bnNlID0gdXJsbGliMi51cmxvcGVuKGpzb25fdXJsLCB0aW1lb3V0PTMwKQorICAgICAgICByZXNw
b25zZSA9IHVybG9wZW4oanNvbl91cmwsIHRpbWVvdXQ9MzApCiAgICAgICAgIGRhdGEgPSBqc29u
LmxvYWQocmVzcG9uc2UpCiAgICAgICAgIHVybCA9IGRhdGFbJ3VybHMnXVsxXVsndXJsJ10KICAg
ICAgICAgc3VicGF0aCA9IHVybF9zdWJwYXRoX2Zvcm1hdC5mb3JtYXQobmFtZT1wYWNrYWdlX25h
bWUsIHZlcnNpb249ZGF0YVsnaW5mbyddWyd2ZXJzaW9uJ10sIGxuYW1lPXBhY2thZ2VfbmFtZS5s
b3dlcigpKQpAQCAtMjkyLDEyICsyOTcsMTIgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29r
KG9iamVjdCk6CiAgICAgZGVmIGluc3RhbGxfYmluYXJ5KHNlbGYsIHVybCwgbmFtZSk6CiAgICAg
ICAgIHNlbGYuX2luc3RhbGwodXJsPXVybCwgdGFyZ2V0X25hbWU9bmFtZSkKICAgICAgICAgZGly
ZWN0b3J5ID0gb3MucGF0aC5qb2luKF9BVVRPSU5TVEFMTEVEX0RJUiwgbmFtZSkKLSAgICAgICAg
b3MuY2htb2Qob3MucGF0aC5qb2luKGRpcmVjdG9yeSwgbmFtZSksIDA3NTUpCisgICAgICAgIG9z
LmNobW9kKG9zLnBhdGguam9pbihkaXJlY3RvcnksIG5hbWUpLCAwbzc1NSkKICAgICAgICAgb3Bl
bihvcy5wYXRoLmpvaW4oZGlyZWN0b3J5LCAnX19pbml0X18ucHknKSwgJ3crJykuY2xvc2UoKQog
CiAKIF9ob29rID0gQXV0b2luc3RhbGxJbXBvcnRIb29rKCkKLXN5cy5tZXRhX3BhdGguYXBwZW5k
KF9ob29rKQorc3lzLm1ldGFfcGF0aC5pbnNlcnQoMCwgX2hvb2spCiAKIAogZGVmIGF1dG9pbnN0
YWxsX2V2ZXJ5dGhpbmcoKToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGhpcmRwYXJ0
eS9fX2luaXRfX191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3QucHkJKHJldmlzaW9uIDI1MDgzOSkKKysr
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGhpcmRwYXJ0eS9fX2luaXRfX191bml0dGVzdC5weQko
d29ya2luZyBjb3B5KQpAQCAtMzMsMjggKzMzLDYgQEAgZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5
IGltcG9ydCBBdXRvaW5zdAogCiAKIGNsYXNzIFRoaXJkcGFydHlUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKLSAgICBkZWYgdGVzdF9pbXBvcnRfaG9vayhzZWxmKToKLSAgICAgICAgIyBBZGQgYW5v
dGhlciBpbXBvcnQgaG9vayBhbmQgbWFrZSBzdXJlIHdlIGdldCBjYWxsZWQuCi0gICAgICAgIGNs
YXNzIE1vY2tJbXBvcnRIb29rKEF1dG9pbnN0YWxsSW1wb3J0SG9vayk6Ci0gICAgICAgICAgICBk
ZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgICAgICAgICAgQXV0b2luc3RhbGxJbXBvcnRIb29r
Ll9faW5pdF9fKHNlbGYpCi0gICAgICAgICAgICAgICAgc2VsZi5idWlsZGJvdF9pbnN0YWxsZWQg
PSBGYWxzZQotCi0gICAgICAgICAgICBkZWYgX2luc3RhbGxfYnVpbGRib3Qoc2VsZik6Ci0gICAg
ICAgICAgICAgICAgc2VsZi5idWlsZGJvdF9pbnN0YWxsZWQgPSBUcnVlCi0KLSAgICAgICAgbW9j
a19pbXBvcnRfaG9vayA9IE1vY2tJbXBvcnRIb29rKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAg
ICAgIyBUaGUgYWN0dWFsIEF1dG9pbnN0YWxsSW1wb3J0SG9vayBzaG91bGQgYmUgaW5zdGFsbGVk
IGJlZm9yZSB1cywKLSAgICAgICAgICAgICMgc28gdGhlc2UgbW9kdWxlcyB3aWxsIGdldCBpbnN0
YWxsZWQgYmVmb3JlIE1vY2tJbXBvcnRIb29rIHJ1bnMuCi0gICAgICAgICAgICBzeXMubWV0YV9w
YXRoLmFwcGVuZChtb2NrX2ltcG9ydF9ob29rKQotICAgICAgICAgICAgIyB1bnVzZWQtdmFyaWFi
bGUsIGltcG9ydCBmYWlsdXJlcyAtIHB5bGludDogZGlzYWJsZS1tc2c9VzA2MTIsRTA2MTEsRjA0
MDEKLSAgICAgICAgICAgIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5hdXRvaW5zdGFsbGVkIGlt
cG9ydCBidWlsZGJvdAotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1vY2tfaW1wb3J0X2hv
b2suYnVpbGRib3RfaW5zdGFsbGVkKQotCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBz
eXMubWV0YV9wYXRoLnJlbW92ZShtb2NrX2ltcG9ydF9ob29rKQotCiAgICAgZGVmIHRlc3RfaW1w
b3J0cyhzZWxmKToKICAgICAgICAgIyBUaGlzIG1ldGhvZCB0ZXN0cyB0aGF0IHdlIGNhbiBhY3R1
YWxseSBpbXBvcnQgZXZlcnl0aGluZy4KICAgICAgICAgIyB1bnVzZWQtdmFyaWFibGUsIGltcG9y
dCBmYWlsdXJlcyAtIHB5bGludDogZGlzYWJsZS1tc2c9VzA2MTIsRTA2MTEsRjA0MDEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380458</attachid>
            <date>2019-10-08 13:36:22 -0700</date>
            <delta_ts>2019-10-08 14:41:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-201955-20191008133621.patch</filename>
            <type>text/plain</type>
            <size>12591</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MDgzOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI3IEBACisyMDE5LTEwLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBQeXRob24gMzogQWRkIHN1cHBvcnQgdG8gYXV0by1pbXBvcnRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWFrYXNoIEphaW4uCisKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qt
d2Via2l0cHktcHl0aG9uMzogQXV0by1pbnN0YWxsIGV2ZXJ5dGhpbmcuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5OiBJbXBvcnQgdXJsb3Bl
biBhbmQgdXJscGFyc2UgZm9yIFB5dGhvbjMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
aGlyZHBhcnR5L19faW5pdF9fLnB5OgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmZp
bmRfbW9kdWxlKTogVXBkYXRlIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIFB5dGhvbjMuCisgICAg
ICAgIChBdXRvaW5zdGFsbEltcG9ydEhvb2suX2luc3RhbGxfbWVjaGFuaXplKTogVXNlIFB5dGhv
biAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIG1lY2hhbml6ZS4KKyAgICAgICAgKEF1dG9pbnN0
YWxsSW1wb3J0SG9vay5faW5zdGFsbF9yZXF1ZXN0cyk6IFVwZGF0ZSB1cmxsaWIzIGFuZCByZXF1
ZXN0cyB2ZXJzaW9uLgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLl9pbnN0YWxsX2Nv
dmVyYWdlKTogVXNlIFB5dGhvbiAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIGNvdmVyYWdlLgor
ICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdyZWF0ZXJfdGhhbl9lcXVhbF90b192ZXJz
aW9uKTogVXNlIHJhbmdlIGluc3RlYWQgb2YgeHJhbmdlLgorICAgICAgICAoQXV0b2luc3RhbGxJ
bXBvcnRIb29rLl9pbnN0YWxsX3NlbGVuaXVtKTogVXBkYXRlIHVybGxpYjMgdmVyc2lvbi4KKyAg
ICAgICAgKEF1dG9pbnN0YWxsSW1wb3J0SG9vay5pbnN0YWxsX2Nocm9tZWRyaXZlcik6IAorICAg
ICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfZ2Vja29kcml2ZXIpOgorICAgICAg
ICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdldF9sYXRlc3RfcHlwaV91cmwpOgorICAgICAgICAo
QXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfYmluYXJ5KToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3QucHk6CisgICAgICAgIChUaGly
ZHBhcnR5VGVzdCk6CisgICAgICAgIChUaGlyZHBhcnR5VGVzdC50ZXN0X2ltcG9ydF9ob29rKTog
RGVsZXRlZC4KKwogMjAxOS0xMC0wNyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBBZGQgSURMIGZvciByZXF1ZXN0SWRsZUNhbGxiYWNrCkluZGV4OiBUb29scy9T
Y3JpcHRzL3Rlc3Qtd2Via2l0cHktcHl0aG9uMwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRz
L3Rlc3Qtd2Via2l0cHktcHl0aG9uMwkocmV2aXNpb24gMjUwODM5KQorKysgVG9vbHMvU2NyaXB0
cy90ZXN0LXdlYmtpdHB5LXB5dGhvbjMJKHdvcmtpbmcgY29weSkKQEAgLTc1LDYgKzc1LDkgQEAg
ZGVmIG1haW4oKToKICAgICBpZiBzdWl0ZS5jb3VudFRlc3RDYXNlcygpID09IDA6CiAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcignTm8gbWF0Y2hpbmcgdGVzdHMgZm91bmQuJykKIAorICAgIGZy
b20gd2Via2l0cHkudGhpcmRwYXJ0eSBpbXBvcnQgYXV0b2luc3RhbGxfZXZlcnl0aGluZworICAg
IGF1dG9pbnN0YWxsX2V2ZXJ5dGhpbmcoKQorCiAgICAgcmVzdWx0ID0gdW5pdHRlc3QuVGV4dFRl
c3RSdW5uZXIodmVyYm9zaXR5PWludChvcHRpb25zLnZlcmJvc2UpICsgMSwgZmFpbGZhc3Q9b3B0
aW9ucy5zdG9wX29uX2ZhaWwsIGJ1ZmZlcj1ub3Qgb3B0aW9ucy52ZXJib3NlKS5ydW4oc3VpdGUp
CiAgICAgcmV0dXJuIGxlbihyZXN1bHQuZXJyb3JzKQogCkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5CShyZXZpc2lvbiAy
NTA4MzkpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3Rh
bGwucHkJKHdvcmtpbmcgY29weSkKQEAgLTM5LDE1ICszOSwxOSBAQCBpbXBvcnQgc3RhdAogaW1w
b3J0IHN5cwogaW1wb3J0IHRhcmZpbGUKIGltcG9ydCB0ZW1wZmlsZQotaW1wb3J0IHVybGxpYjIK
LWltcG9ydCB1cmxwYXJzZQogaW1wb3J0IHppcGZpbGUKIGltcG9ydCByZQogZnJvbSBkaXN0dXRp
bHMgaW1wb3J0IGRpcl91dGlsCiBmcm9tIGdsb2IgaW1wb3J0IGdsb2IKLWltcG9ydCB1cmxwYXJz
ZQogaW1wb3J0IHN1YnByb2Nlc3MKIAoraWYgc3lzLnZlcnNpb25faW5mbyA+ICgzLCAwKToKKyAg
ICBmcm9tIHVybGxpYi5yZXF1ZXN0IGltcG9ydCB1cmxvcGVuCisgICAgaW1wb3J0IHVybGxpYi5w
YXJzZSBhcyB1cmxwYXJzZQorZWxzZToKKyAgICBmcm9tIHVybGxpYjIgaW1wb3J0IHVybG9wZW4K
KyAgICBpbXBvcnQgdXJscGFyc2UKKwogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCiBpZiBub3QgX2xvZy5oYW5kbGVyczogICMgTm8gcGFyZW50IGxvZ2dlcnMgc2V0dXAuCklu
ZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X18ucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS90aGlyZHBhcnR5L19faW5pdF9fLnB5CShy
ZXZpc2lvbiAyNTA4MzkpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RoaXJkcGFydHkvX19p
bml0X18ucHkJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDEyIEBAIGltcG9ydCBqc29uCiBp
bXBvcnQgb3MKIGltcG9ydCByZQogaW1wb3J0IHN5cwotaW1wb3J0IHVybGxpYjIKKworaWYgc3lz
LnZlcnNpb25faW5mbyA+ICgzLCAwKToKKyAgICBmcm9tIHVybGxpYi5lcnJvciBpbXBvcnQgVVJM
RXJyb3IKKyAgICBmcm9tIHVybGxpYi5yZXF1ZXN0IGltcG9ydCB1cmxvcGVuCitlbHNlOgorICAg
IGZyb20gdXJsbGliMiBpbXBvcnQgVVJMRXJyb3IsIHVybG9wZW4KIAogZnJvbSBjb2xsZWN0aW9u
cyBpbXBvcnQgbmFtZWR0dXBsZQogZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHNwYXduCkBAIC04MCw3
ICs4NSw3IEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogICAgICAgICBp
ZiBub3QgX0FVVE9JTlNUQUxMRURfRElSIGluIHN5cy5wYXRoOgogICAgICAgICAgICAgc3lzLnBh
dGguaW5zZXJ0KDAsIF9BVVRPSU5TVEFMTEVEX0RJUikKIAotICAgIGRlZiBmaW5kX21vZHVsZShz
ZWxmLCBmdWxsbmFtZSwgXyk6CisgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lLCBw
YXRoPU5vbmUpOgogICAgICAgICAjIFRoaXMgbWV0aG9kIHdpbGwgcnVuIGJlZm9yZSBlYWNoIGlt
cG9ydC4gU2VlIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMDMwMi8KICAgICAg
ICAgaWYgJy5hdXRvaW5zdGFsbGVkJyBub3QgaW4gZnVsbG5hbWU6CiAgICAgICAgICAgICByZXR1
cm4KQEAgLTEyMSw4ICsxMjYsMTEgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVj
dCk6CiAgICAgICAgICAgICBzZWxmLl9pbnN0YWxsX3JlcXVlc3RzKCkKIAogICAgIGRlZiBfaW5z
dGFsbF9tZWNoYW5pemUoc2VsZik6Ci0gICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmls
ZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9zb3VyY2UvbS9tZWNoYW5pemUvbWVjaGFuaXpl
LTAuMi41LnRhci5neiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZWNoYW5pemUt
MC4yLjUvbWVjaGFuaXplIikKKyAgICAgICAgc2VsZi5fZW5zdXJlX2F1dG9pbnN0YWxsZWRfZGly
X2lzX2luX3N5c19wYXRoKCkKKyAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5w
eXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzg1LzNlL2NmNDQ5Y2YxYjUwMDRlODc1MTBiOTM2OGU3
YTVmMWFjZDg4MzFjMmQ2NjkxZWRkM2M2MmEwODIzZjk4Zi9odG1sNWxpYi0xLjAuMS50YXIuZ3oi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHRtbDVsaWItMS4wLjEvaHRtbDVsaWIi
KQorICAgICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcv
cGFja2FnZXMvNjQvZjEvMWFhNGM5NmRlYTE0ZTE3YTk1NTAxOWIwZmM0YWMxYjhkZmJjNTBlM2M5
MDk3MGMxZmI4ODgyZTc0YTdiL21lY2hhbml6ZS0wLjQuMy50YXIuZ3oiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAibWVjaGFuaXplLTAuNC4zL21lY2hhbml6ZSIpCiAKICAgICBkZWYg
X2luc3RhbGxfa2V5cmluZyhzZWxmKToKICAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9m
aWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzdkL2E5LzhjNmJmNjA3MTA3ODFjZTEzYTk5
ODdjMGRlYmRhOGFkYWIzNWViNzljNmI1NTI1ZjdmZTUyNDBiN2E4YS9rZXlyaW5nLTcuMy4xLnRh
ci5neiIsCkBAIC0xNzUsMTQgKzE4MywxMiBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2so
b2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAiY2VydGlmaS0yMDE5LjMuOS9jZXJ0aWZp
IikKICAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3Jn
L3BhY2thZ2VzL2ZjL2JiL2E1NzY4YzIzMGY5ZGRiMDNhY2M5ZWYzZjBkNGEzY2Y5MzQ2MjQ3Mzc5
NWQxOGU5NTM1NDk4YzhmOTI5ZC9jaGFyZGV0LTMuMC40LnRhci5neiIsCiAgICAgICAgICAgICAg
ICAgICAgICAgImNoYXJkZXQtMy4wLjQvY2hhcmRldCIpCi0gICAgICAgIHNlbGYuX2luc3RhbGwo
Imh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9mYy9iYi9hNTc2OGMyMzBm
OWRkYjAzYWNjOWVmM2YwZDRhM2NmOTM0NjI0NzM3OTVkMThlOTUzNTQ5OGM4ZjkyOWQvY2hhcmRl
dC0zLjAuNC50YXIuZ3oiLAotICAgICAgICAgICAgICAgICAgICAgICJjaGFyZGV0LTMuMC40L2No
YXJkZXQiKQogICAgICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3Rl
ZC5vcmcvcGFja2FnZXMvYWQvMTMvZWI1Njk1MWI2Zjc5NTBjYWRiNTc5Y2ExNjZlNDQ4YmE3N2Y5
ZDI0ZWZjMDNlZGQ3ZTU1ZmE1N2QwNGI3L2lkbmEtMi44LnRhci5neiIsCiAgICAgICAgICAgICAg
ICAgICAgICAgImlkbmEtMi44L2lkbmEiKQotICAgICAgICBzZWxmLl9pbnN0YWxsKCJodHRwczov
L2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYjEvNTMvMzdkODJhYjM5MTM5MzU2NWYy
ZjgzMWI4ZWVkYmZmZDU3ZGI1YTcxODIxNmY4MmYxYThiNGQzODFhMWMxL3VybGxpYjMtMS4yNC4x
LnRhci5neiIsCi0gICAgICAgICAgICAgICAgICAgICAgInVybGxpYjMtMS4yNC4xL3NyYy91cmxs
aWIzIikKLSAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQu
b3JnL3BhY2thZ2VzLzUyLzJjLzUxNGU0YWMyNWRhMmIwOGNhNWE0NjRjNTA0NjM2ODIxMjYzODVj
NDI3MmMxODE5Mzg3NmU5MWY0YmMzOC9yZXF1ZXN0cy0yLjIxLjAudGFyLmd6IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAicmVxdWVzdHMtMi4yMS4wL3JlcXVlc3RzIikKKyAgICAgICAgc2VsZi5f
aW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2ZmLzQ0LzI5
NjU1MTY4ZGE0NDFkZmY2NmRlMDM5NTI4ODBjNmUyZDE3YjI1MjgzNmZmMWFhNDQyMWZiYTU1NjQy
NC91cmxsaWIzLTEuMjUuNi50YXIuZ3oiLAorICAgICAgICAgICAgICAgICAgICAgICJ1cmxsaWIz
LTEuMjUuNi9zcmMvdXJsbGliMyIpCisgICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmls
ZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy8wMS82Mi9kZGNmNzZkMWQxOTg4NWU4NTc5YWNi
MWIxZGYyNmE4NTJiMDM0NzJjMGU0NmQyYjk1OWE3MTRjOTA2MDgvcmVxdWVzdHMtMi4yMi4wLnRh
ci5neiIsCisgICAgICAgICAgICAgICAgICAgICAgInJlcXVlc3RzLTIuMjIuMC9yZXF1ZXN0cyIp
CiAKICAgICBkZWYgX2luc3RhbGxfcHlsaW50KHNlbGYpOgogICAgICAgICBzZWxmLl9lbnN1cmVf
YXV0b2luc3RhbGxlZF9kaXJfaXNfaW5fc3lzX3BhdGgoKQpAQCAtMjIzLDcgKzIyOSw3IEBAIGNs
YXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogCiAgICAgZGVmIF9pbnN0YWxsX2Nv
dmVyYWdlKHNlbGYpOgogICAgICAgICBzZWxmLl9lbnN1cmVfYXV0b2luc3RhbGxlZF9kaXJfaXNf
aW5fc3lzX3BhdGgoKQotICAgICAgICBzZWxmLl9pbnN0YWxsKHVybD0iaHR0cHM6Ly9maWxlcy5w
eXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL3NvdXJjZS9jL2NvdmVyYWdlL2NvdmVyYWdlLTMuNS4x
LnRhci5neiIsIHVybF9zdWJwYXRoPSJjb3ZlcmFnZS0zLjUuMS9jb3ZlcmFnZSIpCisgICAgICAg
IHNlbGYuX2luc3RhbGwodXJsPSJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2Fn
ZXMvODUvZDUvODE4ZDBlNjAzNjg1YzRhNjEzZDU2ZjA2NWE3MjEwMTNlOTQyMDg4MDQ3ZmYxMDI3
YTYzMjk0OGJkYWU2L2NvdmVyYWdlLTQuNS40LnRhci5neiIsIHVybF9zdWJwYXRoPSJjb3ZlcmFn
ZS00LjUuNC9jb3ZlcmFnZSIpCiAKICAgICBkZWYgX2luc3RhbGxfdHdpc3RlZF8xNV81XzAoc2Vs
Zik6CiAgICAgICAgIHR3aXN0ZWRfZGlyID0gc2VsZi5fZnMuam9pbihfQVVUT0lOU1RBTExFRF9E
SVIsICJ0d2lzdGVkXzE1XzVfMCIpCkBAIC0yMzMsNyArMjM5LDcgQEAgY2xhc3MgQXV0b2luc3Rh
bGxJbXBvcnRIb29rKG9iamVjdCk6CiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGdyZWF0
ZXJfdGhhbl9lcXVhbF90b192ZXJzaW9uKG1pbmltdW0sIHZlcnNpb24pOgotICAgICAgICBmb3Ig
aSBpbiB4cmFuZ2UobGVuKG1pbmltdW0uc3BsaXQoJy4nKSkpOgorICAgICAgICBmb3IgaSBpbiBy
YW5nZShsZW4obWluaW11bS5zcGxpdCgnLicpKSk6CiAgICAgICAgICAgICBpZiBpbnQodmVyc2lv
bi5zcGxpdCgnLicpW2ldKSA+IGludChtaW5pbXVtLnNwbGl0KCcuJylbaV0pOgogICAgICAgICAg
ICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgICAgICBpZiBpbnQodmVyc2lvbi5zcGxpdCgnLicp
W2ldKSA8IGludChtaW5pbXVtLnNwbGl0KCcuJylbaV0pOgpAQCAtMjQ0LDcgKzI1MCw3IEBAIGNs
YXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogICAgICAgICBzZWxmLl9lbnN1cmVf
YXV0b2luc3RhbGxlZF9kaXJfaXNfaW5fc3lzX3BhdGgoKQogCiAgICAgICAgIGluc3RhbGxlciA9
IEF1dG9JbnN0YWxsZXIocHJlcGVuZF90b19zZWFyY2hfcGF0aD1UcnVlLCB0YXJnZXRfZGlyPXNl
bGYuX2ZzLmpvaW4oX0FVVE9JTlNUQUxMRURfRElSLCAidXJsbGliMyIpKQotICAgICAgICBpbnN0
YWxsZXIuaW5zdGFsbCh1cmw9Imh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdl
cy9iMS81My8zN2Q4MmFiMzkxMzkzNTY1ZjJmODMxYjhlZWRiZmZkNTdkYjVhNzE4MjE2ZjgyZjFh
OGI0ZDM4MWExYzEvdXJsbGliMy0xLjI0LjEudGFyLmd6IiwgdXJsX3N1YnBhdGg9InVybGxpYjMt
MS4yNC4xIikKKyAgICAgICAgaW5zdGFsbGVyLmluc3RhbGwodXJsPSJodHRwczovL2ZpbGVzLnB5
dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvZmYvNDQvMjk2NTUxNjhkYTQ0MWRmZjY2ZGUwMzk1Mjg4
MGM2ZTJkMTdiMjUyODM2ZmYxYWE0NDIxZmJhNTU2NDI0L3VybGxpYjMtMS4yNS42LnRhci5neiIs
IHVybF9zdWJwYXRoPSJ1cmxsaWIzLTEuMjUuNiIpCiAKICAgICAgICAgbWluaW11bV92ZXJzaW9u
ID0gJzMuNS4wJwogICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4oX0FVVE9J
TlNUQUxMRURfRElSLCAnc2VsZW5pdW0nLCAnX19pbml0X18ucHknKSk6CkBAIC0yNTQsNyArMjYw
LDcgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVjdCk6CiAKICAgICAgICAgdHJ5
OgogICAgICAgICAgICAgdXJsLCB1cmxfc3VicGF0aCA9IHNlbGYuZ2V0X2xhdGVzdF9weXBpX3Vy
bCgnc2VsZW5pdW0nKQotICAgICAgICBleGNlcHQgdXJsbGliMi5VUkxFcnJvcjoKKyAgICAgICAg
ZXhjZXB0IFVSTEVycm9yOgogICAgICAgICAgICAgIyBVUkwgZm9yIGluc3RhbGxpbmcgdGhlIG1p
bmltdW0gcmVxdWlyZWQgdmVyc2lvbi4KICAgICAgICAgICAgIHVybCA9ICdodHRwczovL2ZpbGVz
LnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvYWMvZDcvMTkyODQxNjQzOWQwNjZjNjBmMjZjODdh
OGQxYjc4YThlZGQ2NGM3ZDA1YTBhYTkxN2ZhOTdhOGVlMDJkL3NlbGVuaXVtLTMuNS4wLnRhci5n
eicKICAgICAgICAgICAgIHVybF9zdWJwYXRoID0gJ3NlbGVuaXVtLXt9L3NlbGVuaXVtJy5mb3Jt
YXQobWluaW11bV92ZXJzaW9uKQpAQCAtMjY0LDE0ICsyNzAsMTQgQEAgY2xhc3MgQXV0b2luc3Rh
bGxJbXBvcnRIb29rKG9iamVjdCk6CiAgICAgZGVmIGluc3RhbGxfY2hyb21lZHJpdmVyKHNlbGYp
OgogICAgICAgICBmaWxlbmFtZV9wb3N0Zml4ID0gZ2V0X2RyaXZlcl9maWxlbmFtZSgpLmNocm9t
ZQogICAgICAgICBpZiBmaWxlbmFtZV9wb3N0Zml4ICE9ICJ1bnN1cHBvcnRlZCI6Ci0gICAgICAg
ICAgICB2ZXJzaW9uID0gdXJsbGliMi51cmxvcGVuKENIUk9NRV9EUklWRVJfVVJMICsgJ0xBVEVT
VF9SRUxFQVNFJykucmVhZCgpLnN0cmlwKCkKKyAgICAgICAgICAgIHZlcnNpb24gPSB1cmxvcGVu
KENIUk9NRV9EUklWRVJfVVJMICsgJ0xBVEVTVF9SRUxFQVNFJykucmVhZCgpLnN0cmlwKCkKICAg
ICAgICAgICAgIGZ1bGxfY2hyb21lX3VybCA9ICJ7YmFzZV91cmx9e3ZlcnNpb259L2Nocm9tZWRy
aXZlcl97b3N9LnppcCIuZm9ybWF0KGJhc2VfdXJsPUNIUk9NRV9EUklWRVJfVVJMLCB2ZXJzaW9u
PXZlcnNpb24sIG9zPWZpbGVuYW1lX3Bvc3RmaXgpCiAgICAgICAgICAgICBzZWxmLmluc3RhbGxf
YmluYXJ5KGZ1bGxfY2hyb21lX3VybCwgJ2Nocm9tZWRyaXZlcicpCiAKICAgICBkZWYgaW5zdGFs
bF9nZWNrb2RyaXZlcihzZWxmKToKICAgICAgICAgZmlsZW5hbWVfcG9zdGZpeCA9IGdldF9kcml2
ZXJfZmlsZW5hbWUoKS5maXJlZm94CiAgICAgICAgIGlmIGZpbGVuYW1lX3Bvc3RmaXggIT0gInVu
c3VwcG9ydGVkIjoKLSAgICAgICAgICAgIGZpcmVmb3hfcmVsZWFzZXNfYmxvYiA9IHVybGxpYjIu
dXJsb3BlbihGSVJFRk9YX1JFTEVBU0VTX1VSTCkKKyAgICAgICAgICAgIGZpcmVmb3hfcmVsZWFz
ZXNfYmxvYiA9IHVybG9wZW4oRklSRUZPWF9SRUxFQVNFU19VUkwpCiAgICAgICAgICAgICBmaXJl
Zm94X3JlbGVhc2VzX2xpbmVfc2VwYXJhdGVkID0ganNvbi5kdW1wcyhqc29uLmxvYWQoZmlyZWZv
eF9yZWxlYXNlc19ibG9iKSwgaW5kZW50PTApLnN0cmlwKCkKICAgICAgICAgICAgIGFsbF9maXJl
Zm94X3JlbGVhc2VfdXJscyA9ICJcbiIuam9pbihyZS5maW5kYWxsKHInLipicm93c2VyX2Rvd25s
b2FkX3VybC4qJywgZmlyZWZveF9yZWxlYXNlc19saW5lX3NlcGFyYXRlZCkpCiAgICAgICAgICAg
ICBmdWxsX2ZpcmVmb3hfdXJsID0gcmUuZmluZGFsbChyJy4qJXMuKicgJSBmaWxlbmFtZV9wb3N0
Zml4LCBhbGxfZmlyZWZveF9yZWxlYXNlX3VybHMpWzBdLnNwbGl0KCciJylbM10KQEAgLTI4Myw3
ICsyODksNyBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2sob2JqZWN0KToKIAogICAgIGRl
ZiBnZXRfbGF0ZXN0X3B5cGlfdXJsKHNlbGYsIHBhY2thZ2VfbmFtZSwgdXJsX3N1YnBhdGhfZm9y
bWF0PSd7bmFtZX0te3ZlcnNpb259L3tsbmFtZX0nKToKICAgICAgICAganNvbl91cmwgPSAiaHR0
cHM6Ly9weXBpLm9yZy9weXBpLyVzL2pzb24iICUgcGFja2FnZV9uYW1lCi0gICAgICAgIHJlc3Bv
bnNlID0gdXJsbGliMi51cmxvcGVuKGpzb25fdXJsLCB0aW1lb3V0PTMwKQorICAgICAgICByZXNw
b25zZSA9IHVybG9wZW4oanNvbl91cmwsIHRpbWVvdXQ9MzApCiAgICAgICAgIGRhdGEgPSBqc29u
LmxvYWQocmVzcG9uc2UpCiAgICAgICAgIHVybCA9IGRhdGFbJ3VybHMnXVsxXVsndXJsJ10KICAg
ICAgICAgc3VicGF0aCA9IHVybF9zdWJwYXRoX2Zvcm1hdC5mb3JtYXQobmFtZT1wYWNrYWdlX25h
bWUsIHZlcnNpb249ZGF0YVsnaW5mbyddWyd2ZXJzaW9uJ10sIGxuYW1lPXBhY2thZ2VfbmFtZS5s
b3dlcigpKQpAQCAtMjkyLDEyICsyOTgsMTIgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29r
KG9iamVjdCk6CiAgICAgZGVmIGluc3RhbGxfYmluYXJ5KHNlbGYsIHVybCwgbmFtZSk6CiAgICAg
ICAgIHNlbGYuX2luc3RhbGwodXJsPXVybCwgdGFyZ2V0X25hbWU9bmFtZSkKICAgICAgICAgZGly
ZWN0b3J5ID0gb3MucGF0aC5qb2luKF9BVVRPSU5TVEFMTEVEX0RJUiwgbmFtZSkKLSAgICAgICAg
b3MuY2htb2Qob3MucGF0aC5qb2luKGRpcmVjdG9yeSwgbmFtZSksIDA3NTUpCisgICAgICAgIG9z
LmNobW9kKG9zLnBhdGguam9pbihkaXJlY3RvcnksIG5hbWUpLCAwbzc1NSkKICAgICAgICAgb3Bl
bihvcy5wYXRoLmpvaW4oZGlyZWN0b3J5LCAnX19pbml0X18ucHknKSwgJ3crJykuY2xvc2UoKQog
CiAKIF9ob29rID0gQXV0b2luc3RhbGxJbXBvcnRIb29rKCkKLXN5cy5tZXRhX3BhdGguYXBwZW5k
KF9ob29rKQorc3lzLm1ldGFfcGF0aC5pbnNlcnQoMCwgX2hvb2spCiAKIAogZGVmIGF1dG9pbnN0
YWxsX2V2ZXJ5dGhpbmcoKToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGhpcmRwYXJ0
eS9fX2luaXRfX191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3QucHkJKHJldmlzaW9uIDI1MDgzOSkKKysr
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGhpcmRwYXJ0eS9fX2luaXRfX191bml0dGVzdC5weQko
d29ya2luZyBjb3B5KQpAQCAtMzMsMjggKzMzLDYgQEAgZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5
IGltcG9ydCBBdXRvaW5zdAogCiAKIGNsYXNzIFRoaXJkcGFydHlUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKLSAgICBkZWYgdGVzdF9pbXBvcnRfaG9vayhzZWxmKToKLSAgICAgICAgIyBBZGQgYW5v
dGhlciBpbXBvcnQgaG9vayBhbmQgbWFrZSBzdXJlIHdlIGdldCBjYWxsZWQuCi0gICAgICAgIGNs
YXNzIE1vY2tJbXBvcnRIb29rKEF1dG9pbnN0YWxsSW1wb3J0SG9vayk6Ci0gICAgICAgICAgICBk
ZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgICAgICAgICAgQXV0b2luc3RhbGxJbXBvcnRIb29r
Ll9faW5pdF9fKHNlbGYpCi0gICAgICAgICAgICAgICAgc2VsZi5idWlsZGJvdF9pbnN0YWxsZWQg
PSBGYWxzZQotCi0gICAgICAgICAgICBkZWYgX2luc3RhbGxfYnVpbGRib3Qoc2VsZik6Ci0gICAg
ICAgICAgICAgICAgc2VsZi5idWlsZGJvdF9pbnN0YWxsZWQgPSBUcnVlCi0KLSAgICAgICAgbW9j
a19pbXBvcnRfaG9vayA9IE1vY2tJbXBvcnRIb29rKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAg
ICAgIyBUaGUgYWN0dWFsIEF1dG9pbnN0YWxsSW1wb3J0SG9vayBzaG91bGQgYmUgaW5zdGFsbGVk
IGJlZm9yZSB1cywKLSAgICAgICAgICAgICMgc28gdGhlc2UgbW9kdWxlcyB3aWxsIGdldCBpbnN0
YWxsZWQgYmVmb3JlIE1vY2tJbXBvcnRIb29rIHJ1bnMuCi0gICAgICAgICAgICBzeXMubWV0YV9w
YXRoLmFwcGVuZChtb2NrX2ltcG9ydF9ob29rKQotICAgICAgICAgICAgIyB1bnVzZWQtdmFyaWFi
bGUsIGltcG9ydCBmYWlsdXJlcyAtIHB5bGludDogZGlzYWJsZS1tc2c9VzA2MTIsRTA2MTEsRjA0
MDEKLSAgICAgICAgICAgIGZyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5hdXRvaW5zdGFsbGVkIGlt
cG9ydCBidWlsZGJvdAotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1vY2tfaW1wb3J0X2hv
b2suYnVpbGRib3RfaW5zdGFsbGVkKQotCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBz
eXMubWV0YV9wYXRoLnJlbW92ZShtb2NrX2ltcG9ydF9ob29rKQotCiAgICAgZGVmIHRlc3RfaW1w
b3J0cyhzZWxmKToKICAgICAgICAgIyBUaGlzIG1ldGhvZCB0ZXN0cyB0aGF0IHdlIGNhbiBhY3R1
YWxseSBpbXBvcnQgZXZlcnl0aGluZy4KICAgICAgICAgIyB1bnVzZWQtdmFyaWFibGUsIGltcG9y
dCBmYWlsdXJlcyAtIHB5bGludDogZGlzYWJsZS1tc2c9VzA2MTIsRTA2MTEsRjA0MDEK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380466</attachid>
            <date>2019-10-08 14:41:05 -0700</date>
            <delta_ts>2019-10-08 15:30:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201955-20191008144105.patch</filename>
            <type>text/plain</type>
            <size>12829</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1MDg2MCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI3IEBACisyMDE5LTEwLTA4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBQeXRob24gMzogQWRkIHN1cHBvcnQgdG8gYXV0by1pbXBvcnRlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWFrYXNoIEphaW4uCisKKyAgICAgICAgKiBTY3JpcHRzL3Rlc3Qt
d2Via2l0cHktcHl0aG9uMzogQXV0by1pbnN0YWxsIGV2ZXJ5dGhpbmcuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5OiBJbXBvcnQgdXJsb3Bl
biBhbmQgdXJscGFyc2UgZm9yIFB5dGhvbjMuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
aGlyZHBhcnR5L19faW5pdF9fLnB5OgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmZp
bmRfbW9kdWxlKTogVXBkYXRlIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIFB5dGhvbjMuCisgICAg
ICAgIChBdXRvaW5zdGFsbEltcG9ydEhvb2suX2luc3RhbGxfbWVjaGFuaXplKTogVXNlIFB5dGhv
biAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIG1lY2hhbml6ZS4KKyAgICAgICAgKEF1dG9pbnN0
YWxsSW1wb3J0SG9vay5faW5zdGFsbF9yZXF1ZXN0cyk6IFVwZGF0ZSB1cmxsaWIzIGFuZCByZXF1
ZXN0cyB2ZXJzaW9uLgorICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLl9pbnN0YWxsX2Nv
dmVyYWdlKTogVXNlIFB5dGhvbiAyLzMgY29tcGF0aWJsZSB2ZXJzaW9uIG9mIGNvdmVyYWdlLgor
ICAgICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdyZWF0ZXJfdGhhbl9lcXVhbF90b192ZXJz
aW9uKTogVXNlIHJhbmdlIGluc3RlYWQgb2YgeHJhbmdlLgorICAgICAgICAoQXV0b2luc3RhbGxJ
bXBvcnRIb29rLl9pbnN0YWxsX3NlbGVuaXVtKTogVXBkYXRlIHVybGxpYjMgdmVyc2lvbi4KKyAg
ICAgICAgKEF1dG9pbnN0YWxsSW1wb3J0SG9vay5pbnN0YWxsX2Nocm9tZWRyaXZlcik6IAorICAg
ICAgICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfZ2Vja29kcml2ZXIpOgorICAgICAg
ICAoQXV0b2luc3RhbGxJbXBvcnRIb29rLmdldF9sYXRlc3RfcHlwaV91cmwpOgorICAgICAgICAo
QXV0b2luc3RhbGxJbXBvcnRIb29rLmluc3RhbGxfYmluYXJ5KToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3QucHk6CisgICAgICAgIChUaGly
ZHBhcnR5VGVzdCk6CisgICAgICAgIChUaGlyZHBhcnR5VGVzdC50ZXN0X2ltcG9ydF9ob29rKTog
RGVsZXRlZC4KKwogMjAxOS0xMC0wOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgU2VydmljZSBXb3JrZXIgRmV0Y2ggZXZlbnRzIHNob3VsZCB0aW1lIG91dC4K
SW5kZXg6IFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweS1weXRob24zCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweS1weXRob24zCShyZXZpc2lvbiAyNTA4NjApCisr
KyBUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHktcHl0aG9uMwkod29ya2luZyBjb3B5KQpAQCAt
NzUsNiArNzUsOSBAQCBkZWYgbWFpbigpOgogICAgIGlmIHN1aXRlLmNvdW50VGVzdENhc2VzKCkg
PT0gMDoKICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdObyBtYXRjaGluZyB0ZXN0cyBmb3Vu
ZC4nKQogCisgICAgZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5IGltcG9ydCBhdXRvaW5zdGFsbF9l
dmVyeXRoaW5nCisgICAgYXV0b2luc3RhbGxfZXZlcnl0aGluZygpCisKICAgICByZXN1bHQgPSB1
bml0dGVzdC5UZXh0VGVzdFJ1bm5lcih2ZXJib3NpdHk9aW50KG9wdGlvbnMudmVyYm9zZSkgKyAx
LCBmYWlsZmFzdD1vcHRpb25zLnN0b3Bfb25fZmFpbCwgYnVmZmVyPW5vdCBvcHRpb25zLnZlcmJv
c2UpLnJ1bihzdWl0ZSkKICAgICByZXR1cm4gbGVuKHJlc3VsdC5lcnJvcnMpCiAKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9hdXRvaW5zdGFsbC5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwu
cHkJKHJldmlzaW9uIDI1MDg2MCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5
c3RlbS9hdXRvaW5zdGFsbC5weQkod29ya2luZyBjb3B5KQpAQCAtMzksMTUgKzM5LDE5IEBAIGlt
cG9ydCBzdGF0CiBpbXBvcnQgc3lzCiBpbXBvcnQgdGFyZmlsZQogaW1wb3J0IHRlbXBmaWxlCi1p
bXBvcnQgdXJsbGliMgotaW1wb3J0IHVybHBhcnNlCiBpbXBvcnQgemlwZmlsZQogaW1wb3J0IHJl
CiBmcm9tIGRpc3R1dGlscyBpbXBvcnQgZGlyX3V0aWwKIGZyb20gZ2xvYiBpbXBvcnQgZ2xvYgot
aW1wb3J0IHVybHBhcnNlCiBpbXBvcnQgc3VicHJvY2VzcwogCitpZiBzeXMudmVyc2lvbl9pbmZv
ID4gKDMsIDApOgorICAgIGZyb20gdXJsbGliLnJlcXVlc3QgaW1wb3J0IHVybG9wZW4KKyAgICBp
bXBvcnQgdXJsbGliLnBhcnNlIGFzIHVybHBhcnNlCitlbHNlOgorICAgIGZyb20gdXJsbGliMiBp
bXBvcnQgdXJsb3BlbgorICAgIGltcG9ydCB1cmxwYXJzZQorCiAKIF9sb2cgPSBsb2dnaW5nLmdl
dExvZ2dlcihfX25hbWVfXykKIGlmIG5vdCBfbG9nLmhhbmRsZXJzOiAgIyBObyBwYXJlbnQgbG9n
Z2VycyBzZXR1cC4KSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGhpcmRwYXJ0eS9fX2lu
aXRfXy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RoaXJkcGFydHkv
X19pbml0X18ucHkJKHJldmlzaW9uIDI1MDg2MCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dGhpcmRwYXJ0eS9fX2luaXRfXy5weQkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsMTIgQEAg
aW1wb3J0IGpzb24KIGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCi1pbXBvcnQgdXJs
bGliMgorCitpZiBzeXMudmVyc2lvbl9pbmZvID4gKDMsIDApOgorICAgIGZyb20gdXJsbGliLmVy
cm9yIGltcG9ydCBVUkxFcnJvcgorICAgIGZyb20gdXJsbGliLnJlcXVlc3QgaW1wb3J0IHVybG9w
ZW4KK2Vsc2U6CisgICAgZnJvbSB1cmxsaWIyIGltcG9ydCBVUkxFcnJvciwgdXJsb3BlbgogCiBm
cm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlCiBmcm9tIGRpc3R1dGlscyBpbXBvcnQg
c3Bhd24KQEAgLTgwLDcgKzg1LDcgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVj
dCk6CiAgICAgICAgIGlmIG5vdCBfQVVUT0lOU1RBTExFRF9ESVIgaW4gc3lzLnBhdGg6CiAgICAg
ICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgX0FVVE9JTlNUQUxMRURfRElSKQogCi0gICAgZGVm
IGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lLCBfKToKKyAgICBkZWYgZmluZF9tb2R1bGUoc2Vs
ZiwgZnVsbG5hbWUsIHBhdGg9Tm9uZSk6CiAgICAgICAgICMgVGhpcyBtZXRob2Qgd2lsbCBydW4g
YmVmb3JlIGVhY2ggaW1wb3J0LiBTZWUgaHR0cDovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL3Bl
cC0wMzAyLwogICAgICAgICBpZiAnLmF1dG9pbnN0YWxsZWQnIG5vdCBpbiBmdWxsbmFtZToKICAg
ICAgICAgICAgIHJldHVybgpAQCAtMTIxLDggKzEyNiwxMyBAQCBjbGFzcyBBdXRvaW5zdGFsbElt
cG9ydEhvb2sob2JqZWN0KToKICAgICAgICAgICAgIHNlbGYuX2luc3RhbGxfcmVxdWVzdHMoKQog
CiAgICAgZGVmIF9pbnN0YWxsX21lY2hhbml6ZShzZWxmKToKLSAgICAgICAgc2VsZi5faW5zdGFs
bCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL3NvdXJjZS9tL21lY2hh
bml6ZS9tZWNoYW5pemUtMC4yLjUudGFyLmd6IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIm1lY2hhbml6ZS0wLjIuNS9tZWNoYW5pemUiKQorICAgICAgICBzZWxmLl9lbnN1cmVfYXV0
b2luc3RhbGxlZF9kaXJfaXNfaW5fc3lzX3BhdGgoKQorICAgICAgICBzZWxmLl9pbnN0YWxsKCJo
dHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvMGIvMDIvYWU2Y2VhYzFiYWVk
YTUzMDg2NmE4NTA3NTY0MWNlYzEyOTg5YmQ4ZDMxYWY2ZDVhYjRhM2U4YzkyZjQ3L3dlYmVuY29k
aW5ncy0wLjUuMS50YXIuZ3oiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2ViZW5j
b2RpbmdzLTAuNS4xL3dlYmVuY29kaW5ncyIpCisgICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBz
Oi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy84NS8zZS9jZjQ0OWNmMWI1MDA0ZTg3
NTEwYjkzNjhlN2E1ZjFhY2Q4ODMxYzJkNjY5MWVkZDNjNjJhMDgyM2Y5OGYvaHRtbDVsaWItMS4w
LjEudGFyLmd6IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0bWw1bGliLTEuMC4x
L2h0bWw1bGliIikKKyAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5weXRob25o
b3N0ZWQub3JnL3BhY2thZ2VzLzY0L2YxLzFhYTRjOTZkZWExNGUxN2E5NTUwMTliMGZjNGFjMWI4
ZGZiYzUwZTNjOTA5NzBjMWZiODg4MmU3NGE3Yi9tZWNoYW5pemUtMC40LjMudGFyLmd6IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lY2hhbml6ZS0wLjQuMy9tZWNoYW5pemUiKQog
CiAgICAgZGVmIF9pbnN0YWxsX2tleXJpbmcoc2VsZik6CiAgICAgICAgIHNlbGYuX2luc3RhbGwo
Imh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy83ZC9hOS84YzZiZjYwNzEw
NzgxY2UxM2E5OTg3YzBkZWJkYThhZGFiMzVlYjc5YzZiNTUyNWY3ZmU1MjQwYjdhOGEva2V5cmlu
Zy03LjMuMS50YXIuZ3oiLApAQCAtMTc1LDE0ICsxODUsMTIgQEAgY2xhc3MgQXV0b2luc3RhbGxJ
bXBvcnRIb29rKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgImNlcnRpZmktMjAxOS4z
LjkvY2VydGlmaSIpCiAgICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0aG9u
aG9zdGVkLm9yZy9wYWNrYWdlcy9mYy9iYi9hNTc2OGMyMzBmOWRkYjAzYWNjOWVmM2YwZDRhM2Nm
OTM0NjI0NzM3OTVkMThlOTUzNTQ5OGM4ZjkyOWQvY2hhcmRldC0zLjAuNC50YXIuZ3oiLAogICAg
ICAgICAgICAgICAgICAgICAgICJjaGFyZGV0LTMuMC40L2NoYXJkZXQiKQotICAgICAgICBzZWxm
Ll9pbnN0YWxsKCJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvZmMvYmIv
YTU3NjhjMjMwZjlkZGIwM2FjYzllZjNmMGQ0YTNjZjkzNDYyNDczNzk1ZDE4ZTk1MzU0OThjOGY5
MjlkL2NoYXJkZXQtMy4wLjQudGFyLmd6IiwKLSAgICAgICAgICAgICAgICAgICAgICAiY2hhcmRl
dC0zLjAuNC9jaGFyZGV0IikKICAgICAgICAgc2VsZi5faW5zdGFsbCgiaHR0cHM6Ly9maWxlcy5w
eXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2FkLzEzL2ViNTY5NTFiNmY3OTUwY2FkYjU3OWNhMTY2
ZTQ0OGJhNzdmOWQyNGVmYzAzZWRkN2U1NWZhNTdkMDRiNy9pZG5hLTIuOC50YXIuZ3oiLAogICAg
ICAgICAgICAgICAgICAgICAgICJpZG5hLTIuOC9pZG5hIikKLSAgICAgICAgc2VsZi5faW5zdGFs
bCgiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2IxLzUzLzM3ZDgyYWIz
OTEzOTM1NjVmMmY4MzFiOGVlZGJmZmQ1N2RiNWE3MTgyMTZmODJmMWE4YjRkMzgxYTFjMS91cmxs
aWIzLTEuMjQuMS50YXIuZ3oiLAotICAgICAgICAgICAgICAgICAgICAgICJ1cmxsaWIzLTEuMjQu
MS9zcmMvdXJsbGliMyIpCi0gICAgICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0
aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy81Mi8yYy81MTRlNGFjMjVkYTJiMDhjYTVhNDY0YzUwNDYz
NjgyMTI2Mzg1YzQyNzJjMTgxOTM4NzZlOTFmNGJjMzgvcmVxdWVzdHMtMi4yMS4wLnRhci5neiIs
Ci0gICAgICAgICAgICAgICAgICAgICAgInJlcXVlc3RzLTIuMjEuMC9yZXF1ZXN0cyIpCisgICAg
ICAgIHNlbGYuX2luc3RhbGwoImh0dHBzOi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdl
cy9mZi80NC8yOTY1NTE2OGRhNDQxZGZmNjZkZTAzOTUyODgwYzZlMmQxN2IyNTI4MzZmZjFhYTQ0
MjFmYmE1NTY0MjQvdXJsbGliMy0xLjI1LjYudGFyLmd6IiwKKyAgICAgICAgICAgICAgICAgICAg
ICAidXJsbGliMy0xLjI1LjYvc3JjL3VybGxpYjMiKQorICAgICAgICBzZWxmLl9pbnN0YWxsKCJo
dHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5vcmcvcGFja2FnZXMvMDEvNjIvZGRjZjc2ZDFkMTk4
ODVlODU3OWFjYjFiMWRmMjZhODUyYjAzNDcyYzBlNDZkMmI5NTlhNzE0YzkwNjA4L3JlcXVlc3Rz
LTIuMjIuMC50YXIuZ3oiLAorICAgICAgICAgICAgICAgICAgICAgICJyZXF1ZXN0cy0yLjIyLjAv
cmVxdWVzdHMiKQogCiAgICAgZGVmIF9pbnN0YWxsX3B5bGludChzZWxmKToKICAgICAgICAgc2Vs
Zi5fZW5zdXJlX2F1dG9pbnN0YWxsZWRfZGlyX2lzX2luX3N5c19wYXRoKCkKQEAgLTIyMyw3ICsy
MzEsNyBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2sob2JqZWN0KToKIAogICAgIGRlZiBf
aW5zdGFsbF9jb3ZlcmFnZShzZWxmKToKICAgICAgICAgc2VsZi5fZW5zdXJlX2F1dG9pbnN0YWxs
ZWRfZGlyX2lzX2luX3N5c19wYXRoKCkKLSAgICAgICAgc2VsZi5faW5zdGFsbCh1cmw9Imh0dHBz
Oi8vZmlsZXMucHl0aG9uaG9zdGVkLm9yZy9wYWNrYWdlcy9zb3VyY2UvYy9jb3ZlcmFnZS9jb3Zl
cmFnZS0zLjUuMS50YXIuZ3oiLCB1cmxfc3VicGF0aD0iY292ZXJhZ2UtMy41LjEvY292ZXJhZ2Ui
KQorICAgICAgICBzZWxmLl9pbnN0YWxsKHVybD0iaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQu
b3JnL3BhY2thZ2VzLzg1L2Q1LzgxOGQwZTYwMzY4NWM0YTYxM2Q1NmYwNjVhNzIxMDEzZTk0MjA4
ODA0N2ZmMTAyN2E2MzI5NDhiZGFlNi9jb3ZlcmFnZS00LjUuNC50YXIuZ3oiLCB1cmxfc3VicGF0
aD0iY292ZXJhZ2UtNC41LjQvY292ZXJhZ2UiKQogCiAgICAgZGVmIF9pbnN0YWxsX3R3aXN0ZWRf
MTVfNV8wKHNlbGYpOgogICAgICAgICB0d2lzdGVkX2RpciA9IHNlbGYuX2ZzLmpvaW4oX0FVVE9J
TlNUQUxMRURfRElSLCAidHdpc3RlZF8xNV81XzAiKQpAQCAtMjMzLDcgKzI0MSw3IEBAIGNsYXNz
IEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogCiAgICAgQHN0YXRpY21ldGhvZAogICAg
IGRlZiBncmVhdGVyX3RoYW5fZXF1YWxfdG9fdmVyc2lvbihtaW5pbXVtLCB2ZXJzaW9uKToKLSAg
ICAgICAgZm9yIGkgaW4geHJhbmdlKGxlbihtaW5pbXVtLnNwbGl0KCcuJykpKToKKyAgICAgICAg
Zm9yIGkgaW4gcmFuZ2UobGVuKG1pbmltdW0uc3BsaXQoJy4nKSkpOgogICAgICAgICAgICAgaWYg
aW50KHZlcnNpb24uc3BsaXQoJy4nKVtpXSkgPiBpbnQobWluaW11bS5zcGxpdCgnLicpW2ldKToK
ICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICAgaWYgaW50KHZlcnNpb24u
c3BsaXQoJy4nKVtpXSkgPCBpbnQobWluaW11bS5zcGxpdCgnLicpW2ldKToKQEAgLTI0NCw3ICsy
NTIsNyBAQCBjbGFzcyBBdXRvaW5zdGFsbEltcG9ydEhvb2sob2JqZWN0KToKICAgICAgICAgc2Vs
Zi5fZW5zdXJlX2F1dG9pbnN0YWxsZWRfZGlyX2lzX2luX3N5c19wYXRoKCkKIAogICAgICAgICBp
bnN0YWxsZXIgPSBBdXRvSW5zdGFsbGVyKHByZXBlbmRfdG9fc2VhcmNoX3BhdGg9VHJ1ZSwgdGFy
Z2V0X2Rpcj1zZWxmLl9mcy5qb2luKF9BVVRPSU5TVEFMTEVEX0RJUiwgInVybGxpYjMiKSkKLSAg
ICAgICAgaW5zdGFsbGVyLmluc3RhbGwodXJsPSJodHRwczovL2ZpbGVzLnB5dGhvbmhvc3RlZC5v
cmcvcGFja2FnZXMvYjEvNTMvMzdkODJhYjM5MTM5MzU2NWYyZjgzMWI4ZWVkYmZmZDU3ZGI1YTcx
ODIxNmY4MmYxYThiNGQzODFhMWMxL3VybGxpYjMtMS4yNC4xLnRhci5neiIsIHVybF9zdWJwYXRo
PSJ1cmxsaWIzLTEuMjQuMSIpCisgICAgICAgIGluc3RhbGxlci5pbnN0YWxsKHVybD0iaHR0cHM6
Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2ZmLzQ0LzI5NjU1MTY4ZGE0NDFkZmY2
NmRlMDM5NTI4ODBjNmUyZDE3YjI1MjgzNmZmMWFhNDQyMWZiYTU1NjQyNC91cmxsaWIzLTEuMjUu
Ni50YXIuZ3oiLCB1cmxfc3VicGF0aD0idXJsbGliMy0xLjI1LjYiKQogCiAgICAgICAgIG1pbmlt
dW1fdmVyc2lvbiA9ICczLjUuMCcKICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5q
b2luKF9BVVRPSU5TVEFMTEVEX0RJUiwgJ3NlbGVuaXVtJywgJ19faW5pdF9fLnB5JykpOgpAQCAt
MjU0LDcgKzI2Miw3IEBAIGNsYXNzIEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogCiAg
ICAgICAgIHRyeToKICAgICAgICAgICAgIHVybCwgdXJsX3N1YnBhdGggPSBzZWxmLmdldF9sYXRl
c3RfcHlwaV91cmwoJ3NlbGVuaXVtJykKLSAgICAgICAgZXhjZXB0IHVybGxpYjIuVVJMRXJyb3I6
CisgICAgICAgIGV4Y2VwdCBVUkxFcnJvcjoKICAgICAgICAgICAgICMgVVJMIGZvciBpbnN0YWxs
aW5nIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHZlcnNpb24uCiAgICAgICAgICAgICB1cmwgPSAnaHR0
cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL2FjL2Q3LzE5Mjg0MTY0MzlkMDY2
YzYwZjI2Yzg3YThkMWI3OGE4ZWRkNjRjN2QwNWEwYWE5MTdmYTk3YThlZTAyZC9zZWxlbml1bS0z
LjUuMC50YXIuZ3onCiAgICAgICAgICAgICB1cmxfc3VicGF0aCA9ICdzZWxlbml1bS17fS9zZWxl
bml1bScuZm9ybWF0KG1pbmltdW1fdmVyc2lvbikKQEAgLTI2NCwxNCArMjcyLDE0IEBAIGNsYXNz
IEF1dG9pbnN0YWxsSW1wb3J0SG9vayhvYmplY3QpOgogICAgIGRlZiBpbnN0YWxsX2Nocm9tZWRy
aXZlcihzZWxmKToKICAgICAgICAgZmlsZW5hbWVfcG9zdGZpeCA9IGdldF9kcml2ZXJfZmlsZW5h
bWUoKS5jaHJvbWUKICAgICAgICAgaWYgZmlsZW5hbWVfcG9zdGZpeCAhPSAidW5zdXBwb3J0ZWQi
OgotICAgICAgICAgICAgdmVyc2lvbiA9IHVybGxpYjIudXJsb3BlbihDSFJPTUVfRFJJVkVSX1VS
TCArICdMQVRFU1RfUkVMRUFTRScpLnJlYWQoKS5zdHJpcCgpCisgICAgICAgICAgICB2ZXJzaW9u
ID0gdXJsb3BlbihDSFJPTUVfRFJJVkVSX1VSTCArICdMQVRFU1RfUkVMRUFTRScpLnJlYWQoKS5z
dHJpcCgpCiAgICAgICAgICAgICBmdWxsX2Nocm9tZV91cmwgPSAie2Jhc2VfdXJsfXt2ZXJzaW9u
fS9jaHJvbWVkcml2ZXJfe29zfS56aXAiLmZvcm1hdChiYXNlX3VybD1DSFJPTUVfRFJJVkVSX1VS
TCwgdmVyc2lvbj12ZXJzaW9uLCBvcz1maWxlbmFtZV9wb3N0Zml4KQogICAgICAgICAgICAgc2Vs
Zi5pbnN0YWxsX2JpbmFyeShmdWxsX2Nocm9tZV91cmwsICdjaHJvbWVkcml2ZXInKQogCiAgICAg
ZGVmIGluc3RhbGxfZ2Vja29kcml2ZXIoc2VsZik6CiAgICAgICAgIGZpbGVuYW1lX3Bvc3RmaXgg
PSBnZXRfZHJpdmVyX2ZpbGVuYW1lKCkuZmlyZWZveAogICAgICAgICBpZiBmaWxlbmFtZV9wb3N0
Zml4ICE9ICJ1bnN1cHBvcnRlZCI6Ci0gICAgICAgICAgICBmaXJlZm94X3JlbGVhc2VzX2Jsb2Ig
PSB1cmxsaWIyLnVybG9wZW4oRklSRUZPWF9SRUxFQVNFU19VUkwpCisgICAgICAgICAgICBmaXJl
Zm94X3JlbGVhc2VzX2Jsb2IgPSB1cmxvcGVuKEZJUkVGT1hfUkVMRUFTRVNfVVJMKQogICAgICAg
ICAgICAgZmlyZWZveF9yZWxlYXNlc19saW5lX3NlcGFyYXRlZCA9IGpzb24uZHVtcHMoanNvbi5s
b2FkKGZpcmVmb3hfcmVsZWFzZXNfYmxvYiksIGluZGVudD0wKS5zdHJpcCgpCiAgICAgICAgICAg
ICBhbGxfZmlyZWZveF9yZWxlYXNlX3VybHMgPSAiXG4iLmpvaW4ocmUuZmluZGFsbChyJy4qYnJv
d3Nlcl9kb3dubG9hZF91cmwuKicsIGZpcmVmb3hfcmVsZWFzZXNfbGluZV9zZXBhcmF0ZWQpKQog
ICAgICAgICAgICAgZnVsbF9maXJlZm94X3VybCA9IHJlLmZpbmRhbGwocicuKiVzLionICUgZmls
ZW5hbWVfcG9zdGZpeCwgYWxsX2ZpcmVmb3hfcmVsZWFzZV91cmxzKVswXS5zcGxpdCgnIicpWzNd
CkBAIC0yODMsNyArMjkxLDcgQEAgY2xhc3MgQXV0b2luc3RhbGxJbXBvcnRIb29rKG9iamVjdCk6
CiAKICAgICBkZWYgZ2V0X2xhdGVzdF9weXBpX3VybChzZWxmLCBwYWNrYWdlX25hbWUsIHVybF9z
dWJwYXRoX2Zvcm1hdD0ne25hbWV9LXt2ZXJzaW9ufS97bG5hbWV9Jyk6CiAgICAgICAgIGpzb25f
dXJsID0gImh0dHBzOi8vcHlwaS5vcmcvcHlwaS8lcy9qc29uIiAlIHBhY2thZ2VfbmFtZQotICAg
ICAgICByZXNwb25zZSA9IHVybGxpYjIudXJsb3Blbihqc29uX3VybCwgdGltZW91dD0zMCkKKyAg
ICAgICAgcmVzcG9uc2UgPSB1cmxvcGVuKGpzb25fdXJsLCB0aW1lb3V0PTMwKQogICAgICAgICBk
YXRhID0ganNvbi5sb2FkKHJlc3BvbnNlKQogICAgICAgICB1cmwgPSBkYXRhWyd1cmxzJ11bMV1b
J3VybCddCiAgICAgICAgIHN1YnBhdGggPSB1cmxfc3VicGF0aF9mb3JtYXQuZm9ybWF0KG5hbWU9
cGFja2FnZV9uYW1lLCB2ZXJzaW9uPWRhdGFbJ2luZm8nXVsndmVyc2lvbiddLCBsbmFtZT1wYWNr
YWdlX25hbWUubG93ZXIoKSkKQEAgLTI5MiwxMiArMzAwLDEyIEBAIGNsYXNzIEF1dG9pbnN0YWxs
SW1wb3J0SG9vayhvYmplY3QpOgogICAgIGRlZiBpbnN0YWxsX2JpbmFyeShzZWxmLCB1cmwsIG5h
bWUpOgogICAgICAgICBzZWxmLl9pbnN0YWxsKHVybD11cmwsIHRhcmdldF9uYW1lPW5hbWUpCiAg
ICAgICAgIGRpcmVjdG9yeSA9IG9zLnBhdGguam9pbihfQVVUT0lOU1RBTExFRF9ESVIsIG5hbWUp
Ci0gICAgICAgIG9zLmNobW9kKG9zLnBhdGguam9pbihkaXJlY3RvcnksIG5hbWUpLCAwNzU1KQor
ICAgICAgICBvcy5jaG1vZChvcy5wYXRoLmpvaW4oZGlyZWN0b3J5LCBuYW1lKSwgMG83NTUpCiAg
ICAgICAgIG9wZW4ob3MucGF0aC5qb2luKGRpcmVjdG9yeSwgJ19faW5pdF9fLnB5JyksICd3Kycp
LmNsb3NlKCkKIAogCiBfaG9vayA9IEF1dG9pbnN0YWxsSW1wb3J0SG9vaygpCi1zeXMubWV0YV9w
YXRoLmFwcGVuZChfaG9vaykKK3N5cy5tZXRhX3BhdGguaW5zZXJ0KDAsIF9ob29rKQogCiAKIGRl
ZiBhdXRvaW5zdGFsbF9ldmVyeXRoaW5nKCk6CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3RoaXJkcGFydHkvX19pbml0X19fdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90aGlyZHBhcnR5L19faW5pdF9fX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAy
NTA4NjApCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3RoaXJkcGFydHkvX19pbml0X19fdW5p
dHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTMzLDI4ICszMyw2IEBAIGZyb20gd2Via2l0cHku
dGhpcmRwYXJ0eSBpbXBvcnQgQXV0b2luc3QKIAogCiBjbGFzcyBUaGlyZHBhcnR5VGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6Ci0gICAgZGVmIHRlc3RfaW1wb3J0X2hvb2soc2VsZik6Ci0gICAgICAg
ICMgQWRkIGFub3RoZXIgaW1wb3J0IGhvb2sgYW5kIG1ha2Ugc3VyZSB3ZSBnZXQgY2FsbGVkLgot
ICAgICAgICBjbGFzcyBNb2NrSW1wb3J0SG9vayhBdXRvaW5zdGFsbEltcG9ydEhvb2spOgotICAg
ICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICAgICAgICAgIEF1dG9pbnN0YWxs
SW1wb3J0SG9vay5fX2luaXRfXyhzZWxmKQotICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRib3Rf
aW5zdGFsbGVkID0gRmFsc2UKLQotICAgICAgICAgICAgZGVmIF9pbnN0YWxsX2J1aWxkYm90KHNl
bGYpOgotICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRib3RfaW5zdGFsbGVkID0gVHJ1ZQotCi0g
ICAgICAgIG1vY2tfaW1wb3J0X2hvb2sgPSBNb2NrSW1wb3J0SG9vaygpCi0gICAgICAgIHRyeToK
LSAgICAgICAgICAgICMgVGhlIGFjdHVhbCBBdXRvaW5zdGFsbEltcG9ydEhvb2sgc2hvdWxkIGJl
IGluc3RhbGxlZCBiZWZvcmUgdXMsCi0gICAgICAgICAgICAjIHNvIHRoZXNlIG1vZHVsZXMgd2ls
bCBnZXQgaW5zdGFsbGVkIGJlZm9yZSBNb2NrSW1wb3J0SG9vayBydW5zLgotICAgICAgICAgICAg
c3lzLm1ldGFfcGF0aC5hcHBlbmQobW9ja19pbXBvcnRfaG9vaykKLSAgICAgICAgICAgICMgdW51
c2VkLXZhcmlhYmxlLCBpbXBvcnQgZmFpbHVyZXMgLSBweWxpbnQ6IGRpc2FibGUtbXNnPVcwNjEy
LEUwNjExLEYwNDAxCi0gICAgICAgICAgICBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkuYXV0b2lu
c3RhbGxlZCBpbXBvcnQgYnVpbGRib3QKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtb2Nr
X2ltcG9ydF9ob29rLmJ1aWxkYm90X2luc3RhbGxlZCkKLQotICAgICAgICBmaW5hbGx5OgotICAg
ICAgICAgICAgc3lzLm1ldGFfcGF0aC5yZW1vdmUobW9ja19pbXBvcnRfaG9vaykKLQogICAgIGRl
ZiB0ZXN0X2ltcG9ydHMoc2VsZik6CiAgICAgICAgICMgVGhpcyBtZXRob2QgdGVzdHMgdGhhdCB3
ZSBjYW4gYWN0dWFsbHkgaW1wb3J0IGV2ZXJ5dGhpbmcuCiAgICAgICAgICMgdW51c2VkLXZhcmlh
YmxlLCBpbXBvcnQgZmFpbHVyZXMgLSBweWxpbnQ6IGRpc2FibGUtbXNnPVcwNjEyLEUwNjExLEYw
NDAxCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>