<?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>225230</bug_id>
          
          <creation_ts>2021-04-30 08:56:43 -0700</creation_ts>
          <short_desc>[webkitpy] Support pickling platforminfo</short_desc>
          <delta_ts>2021-05-03 16:42:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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=225221</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>
          <dependson>225242</dependson>
          
          <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>dewei_zhu</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1755693</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-30 08:56:43 -0700</bug_when>
    <thetext>We need to be able to pickle the platforminfo object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755696</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-30 08:58:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/77384913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755703</commentid>
    <comment_count>2</comment_count>
      <attachid>427427</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-30 09:03:47 -0700</bug_when>
    <thetext>Created attachment 427427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755706</commentid>
    <comment_count>3</comment_count>
      <attachid>427427</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2021-04-30 09:13:21 -0700</bug_when>
    <thetext>Comment on attachment 427427
Patch

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

&gt; Tools/Scripts/webkitpy/common/system/platforminfo.py:66
&gt;          self._platform_module = platform_module

Why not self.platform_module or platform?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755707</commentid>
    <comment_count>4</comment_count>
      <attachid>427427</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-30 09:15:47 -0700</bug_when>
    <thetext>Comment on attachment 427427
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/common/system/platforminfo.py:66
&gt;&gt;          self._platform_module = platform_module
&gt; 
&gt; Why not self.platform_module or platform?

Because you can&apos;t pickle a module. Doing `self.platform_module or platform` would mean we could not pickle the PlatformInfo object</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755718</commentid>
    <comment_count>5</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-30 09:33:37 -0700</bug_when>
    <thetext>Waiting on EWS before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755719</commentid>
    <comment_count>6</comment_count>
      <attachid>427427</attachid>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-04-30 09:33:42 -0700</bug_when>
    <thetext>Comment on attachment 427427
Patch

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

&gt; Tools/Scripts/webkitpy/common/system/platforminfo.py:62
&gt; +    def __init__(self, sys_module=None, platform_module=None, executive=None):

I&apos;m still marginally worried about making these optional, in case we forget that these to need to be passed, especially when in WebKit these are always the &apos;standard&apos; objects. Do you have any idea of any approach to make sure that we remember to pass these when needed?

&gt; Tools/Scripts/webkitpy/common/system/platforminfo.py:139
&gt; +            return &quot;Mac OS X %s&quot; % (self._platform_module or platform).mac_ver()[0]

I feel like it would be clearer to just use self._platform_module everywhere and then delete it if it is platform in __getstate__ (and reintroduce it if omitted in __setstate__)?

Either that or make it self._platform_module_override and add a getter for _platform_module which does this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755734</commentid>
    <comment_count>7</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-30 09:54:59 -0700</bug_when>
    <thetext>(In reply to Sam Sneddon [:gsnedders] from comment #6)
&gt; Comment on attachment 427427 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=427427&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/system/platforminfo.py:62
&gt; &gt; +    def __init__(self, sys_module=None, platform_module=None, executive=None):
&gt; 
&gt; I&apos;m still marginally worried about making these optional, in case we forget
&gt; that these to need to be passed, especially when in WebKit these are always
&gt; the &apos;standard&apos; objects. Do you have any idea of any approach to make sure
&gt; that we remember to pass these when needed?

PlatformInfo objects shouldn&apos;t be instantiated outside of the Host, and the defaults we&apos;re setting here are correct unless you have a specific reason to override them. It seems to me that naively instantiation the PlatformInfo object with this set of default arguments would give you what you&apos;re looking for.

The other option would be to not set defaults here, but still support &quot;None&quot; as an argument.

&gt; 
&gt; &gt; Tools/Scripts/webkitpy/common/system/platforminfo.py:139
&gt; &gt; +            return &quot;Mac OS X %s&quot; % (self._platform_module or platform).mac_ver()[0]
&gt; 
&gt; I feel like it would be clearer to just use self._platform_module everywhere
&gt; and then delete it if it is platform in __getstate__ (and reintroduce it if
&gt; omitted in __setstate__)?
&gt; 
&gt; Either that or make it self._platform_module_override and add a getter for
&gt; _platform_module which does this?

The problem I see with this approach is that if the platform_module isn&apos;t the default, it likely is able to be pickled (and that&apos;s probably what we want to do).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755751</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-30 11:22:36 -0700</bug_when>
    <thetext>Committed r276846 (237197@main): &lt;https://commits.webkit.org/237197@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427427.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755768</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-04-30 12:10:39 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 225242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755786</commentid>
    <comment_count>10</comment_count>
      <attachid>427443</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-04-30 13:37:15 -0700</bug_when>
    <thetext>Created attachment 427443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756338</commentid>
    <comment_count>11</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2021-05-03 15:25:50 -0700</bug_when>
    <thetext>rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756347</commentid>
    <comment_count>12</comment_count>
      <attachid>427608</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2021-05-03 15:52:36 -0700</bug_when>
    <thetext>Created attachment 427608
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756362</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-03 16:41:59 -0700</bug_when>
    <thetext>Committed r276935 (237271@main): &lt;https://commits.webkit.org/237271@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427608.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427427</attachid>
            <date>2021-04-30 09:03:47 -0700</date>
            <delta_ts>2021-04-30 13:37:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225230-20210430090346.patch</filename>
            <type>text/plain</type>
            <size>4866</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NjgzOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDIxLTA0LTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0cHldIFN1cHBvcnQgcGlja2xpbmcgcGxhdGZvcm1pbmZvCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUyMzAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3Mzg0OTEzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L3BsYXRmb3JtaW5mby5weToKKyAgICAgICAgKFBsYXRmb3JtSW5mby5fX2luaXRfXyk6IERlZmlu
ZSBkZWZhdWx0IGFyZ3VtZW50cy4KKyAgICAgICAgKFBsYXRmb3JtSW5mby5kaXNwbGF5X25hbWUp
OiBVc2UgZGVmYXVsdCBwbGF0Zm9ybSBtb2R1bGUgaWYgcGxhdGZvcm1fbW9kdWxlIHVuZGVmaW5l
ZC4KKyAgICAgICAgKFBsYXRmb3JtSW5mby5fd2luX3ZlcnNpb25fc3RyKTogRGl0dG8uCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5mb191bml0dGVz
dC5weToKKyAgICAgICAgKFRlc3RQbGF0Zm9ybUluZm8udGVzdF9yZWFsX2NvZGUpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9zeXN0ZW1ob3N0LnB5OgorICAgICAg
ICAoU3lzdGVtSG9zdC5fX2luaXRfXyk6IFVzZSBkZWZhdWx0IHBsYXRmb3JtaW5mbyBzeXMgYW5k
IHBsYXRmb3JtIG1vZHVsZXMuCisKIDIwMjEtMDQtMjkgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIEV4dGVuZCBTb3J0ZWRBcnJheU1hcCBmdXJ0aGVyIHRvIHdvcmsg
b24gY2FzZS1mb2xkZWQgc3RyaW5ncywgdXNlIGluIE1JTUVUeXBlUmVnaXN0cnkKSW5kZXg6IFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9wbGF0Zm9ybWluZm8ucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5m
by5weQkocmV2aXNpb24gMjc2ODM5KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
c3lzdGVtL3BsYXRmb3JtaW5mby5weQkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBm
cm9tIHdlYmtpdGNvcmVweSBpbXBvcnQgVmVyc2lvbgogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5t
ZW1vaXplZCBpbXBvcnQgbWVtb2l6ZWQKIGZyb20gd2Via2l0cHkuY29tbW9uLnZlcnNpb25fbmFt
ZV9tYXAgaW1wb3J0IFBVQkxJQ19UQUJMRSwgSU5URVJOQUxfVEFCTEUsIFZlcnNpb25OYW1lTWFw
Ci1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJv
cgorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZl
LCBTY3JpcHRFcnJvcgogZnJvbSB3ZWJraXRweS5wb3J0LmNvbmZpZyBpbXBvcnQgYXBwbGVfYWRk
aXRpb25zCiAKIApAQCAtNTksOCArNTksMTAgQEAgY2xhc3MgUGxhdGZvcm1JbmZvKG9iamVjdCk6
CiAgICAgbmV3ZXIgdGhhbiBvbmUga25vd24gdG8gdGhlIGNvZGUuCiAgICAgIiIiCiAKLSAgICBk
ZWYgX19pbml0X18oc2VsZiwgc3lzX21vZHVsZSwgcGxhdGZvcm1fbW9kdWxlLCBleGVjdXRpdmUp
OgotICAgICAgICBzZWxmLl9leGVjdXRpdmUgPSBleGVjdXRpdmUKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgc3lzX21vZHVsZT1Ob25lLCBwbGF0Zm9ybV9tb2R1bGU9Tm9uZSwgZXhlY3V0aXZlPU5v
bmUpOgorICAgICAgICBzeXNfbW9kdWxlID0gc3lzX21vZHVsZSBvciBzeXMKKworICAgICAgICBz
ZWxmLl9leGVjdXRpdmUgPSBleGVjdXRpdmUgb3IgRXhlY3V0aXZlKCkKICAgICAgICAgc2VsZi5f
cGxhdGZvcm1fbW9kdWxlID0gcGxhdGZvcm1fbW9kdWxlCiAgICAgICAgIHNlbGYub3NfbmFtZSA9
IHNlbGYuX2RldGVybWluZV9vc19uYW1lKHN5c19tb2R1bGUucGxhdGZvcm0pCiAgICAgICAgIHNl
bGYub3NfdmVyc2lvbiA9IE5vbmUKQEAgLTEzNCwxMiArMTM2LDEyIEBAIGNsYXNzIFBsYXRmb3Jt
SW5mbyhvYmplY3QpOgogICAgIGRlZiBkaXNwbGF5X25hbWUoc2VsZik6CiAgICAgICAgICMgcGxh
dGZvcm0ucGxhdGZvcm0oKSByZXR1cm5zIERhcndpbiBpbmZvcm1hdGlvbiBmb3IgTWFjLCB3aGlj
aCBpcyBqdXN0IGNvbmZ1c2luZy4KICAgICAgICAgaWYgc2VsZi5pc19tYWMoKToKLSAgICAgICAg
ICAgIHJldHVybiAiTWFjIE9TIFggJXMiICUgc2VsZi5fcGxhdGZvcm1fbW9kdWxlLm1hY192ZXIo
KVswXQorICAgICAgICAgICAgcmV0dXJuICJNYWMgT1MgWCAlcyIgJSAoc2VsZi5fcGxhdGZvcm1f
bW9kdWxlIG9yIHBsYXRmb3JtKS5tYWNfdmVyKClbMF0KIAogICAgICAgICAjIFJldHVybnMgc3Ry
aW5ncyBsaWtlOgogICAgICAgICAjIExpbnV4LTIuNi4xOC0xOTQuMy4xLmVsNS1pNjg2LXdpdGgt
cmVkaGF0LTUuNS1GaW5hbAogICAgICAgICAjIFdpbmRvd3MtMjAwOFNlcnZlclIyLTYuMS43NjAw
Ci0gICAgICAgIHJldHVybiBzZWxmLl9wbGF0Zm9ybV9tb2R1bGUucGxhdGZvcm0oKQorICAgICAg
ICByZXR1cm4gKHNlbGYuX3BsYXRmb3JtX21vZHVsZSBvciBwbGF0Zm9ybSkucGxhdGZvcm0oKQog
CiAgICAgZGVmIG9zX3ZlcnNpb25fbmFtZShzZWxmLCB0YWJsZT1Ob25lKToKICAgICAgICAgaWYg
bm90IHNlbGYub3NfdmVyc2lvbjoKQEAgLTI0Niw3ICsyNDgsNyBAQCBjbGFzcyBQbGF0Zm9ybUlu
Zm8ob2JqZWN0KToKICAgICAgICAgcmV0dXJuIFZlcnNpb24uZnJvbV9pdGVyYWJsZShtYXRjaF9v
YmplY3QuZ3JvdXBzKCkpCiAKICAgICBkZWYgX3dpbl92ZXJzaW9uX3N0cihzZWxmKToKLSAgICAg
ICAgdmVyc2lvbiA9IHNlbGYuX3BsYXRmb3JtX21vZHVsZS53aW4zMl92ZXIoKVsxXQorICAgICAg
ICB2ZXJzaW9uID0gKHNlbGYuX3BsYXRmb3JtX21vZHVsZSBvciBwbGF0Zm9ybSkud2luMzJfdmVy
KClbMV0KICAgICAgICAgaWYgdmVyc2lvbjoKICAgICAgICAgICAgIHJldHVybiB2ZXJzaW9uCiAg
ICAgICAgICMgTm90ZSB0aGF0IHRoaXMgc2hvdWxkIG9ubHkgZXZlciBiZSBjYWxsZWQgb24gd2lu
ZG93cywgc28gdGhpcyBzaG91bGQgYWx3YXlzIHdvcmsuCkluZGV4OiBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGxhdGZvcm1pbmZvX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9wbGF0Zm9ybWluZm9fdW5p
dHRlc3QucHkJKHJldmlzaW9uIDI3NjgzOSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9wbGF0Zm9ybWluZm9fdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTc1
LDcgKzc1LDcgQEAgY2xhc3MgVGVzdFBsYXRmb3JtSW5mbyh1bml0dGVzdC5UZXN0Q2FzZQogICAg
ICMgeWV0IHJ1biBieSBkZWZhdWx0IGFuZCB0aGVyZSdzIG5vIHJlYXNvbiBub3QgdG8gcnVuIHRo
aXMgZXZlcnl3aGVyZSBieSBkZWZhdWx0LgogICAgIGRlZiB0ZXN0X3JlYWxfY29kZShzZWxmKToK
ICAgICAgICAgIyBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGUgcmVhbCAodW5tb2NrZWQpIGNvZGUg
YWN0dWFsbHkgd29ya3MuCi0gICAgICAgIGluZm8gPSBQbGF0Zm9ybUluZm8oc3lzLCBwbGF0Zm9y
bSwgRXhlY3V0aXZlKCkpCisgICAgICAgIGluZm8gPSBQbGF0Zm9ybUluZm8oZXhlY3V0aXZlPUV4
ZWN1dGl2ZSgpKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGluZm8ub3NfbmFtZSwgJycp
CiAgICAgICAgIGlmIGluZm8uaXNfbWFjKCkgb3IgaW5mby5pc193aW4oKToKICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0SXNOb3ROb25lKGluZm8ub3NfdmVyc2lvbikKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9zeXN0ZW1ob3N0LnB5Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9zeXN0ZW1ob3N0LnB5CShyZXZpc2lv
biAyNzY4MzkpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vc3lzdGVt
aG9zdC5weQkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBjbGFzcyBTeXN0ZW1Ib3N0
KG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBzZWxmLmV4ZWN1dGl2
ZSA9IGV4ZWN1dGl2ZS5FeGVjdXRpdmUoKQogICAgICAgICBzZWxmLmZpbGVzeXN0ZW0gPSBmaWxl
c3lzdGVtLkZpbGVTeXN0ZW0oKQotICAgICAgICBzZWxmLnBsYXRmb3JtID0gcGxhdGZvcm1pbmZv
LlBsYXRmb3JtSW5mbyhzeXMsIHBsYXRmb3JtLCBzZWxmLmV4ZWN1dGl2ZSkKKyAgICAgICAgc2Vs
Zi5wbGF0Zm9ybSA9IHBsYXRmb3JtaW5mby5QbGF0Zm9ybUluZm8oZXhlY3V0aXZlPXNlbGYuZXhl
Y3V0aXZlKQogICAgICAgICBzZWxmLnVzZXIgPSB1c2VyLlVzZXIoc2VsZi5wbGF0Zm9ybSkKICAg
ICAgICAgc2VsZi53b3Jrc3BhY2UgPSB3b3Jrc3BhY2UuV29ya3NwYWNlKHNlbGYuZmlsZXN5c3Rl
bSwgc2VsZi5leGVjdXRpdmUpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427443</attachid>
            <date>2021-04-30 13:37:15 -0700</date>
            <delta_ts>2021-05-03 15:52:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225230-20210430133714.patch</filename>
            <type>text/plain</type>
            <size>5302</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3Njg1MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDIxLTA0LTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0cHldIFN1cHBvcnQgcGlja2xpbmcgcGxhdGZvcm1pbmZvCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUyMzAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3Mzg0OTEzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L3BsYXRmb3JtaW5mby5weToKKyAgICAgICAgKFBsYXRmb3JtSW5mby5fX2luaXRfXyk6IERlZmlu
ZSBkZWZhdWx0IGFyZ3VtZW50cy4KKyAgICAgICAgKFBsYXRmb3JtSW5mby5kaXNwbGF5X25hbWUp
OiBVc2UgZGVmYXVsdCBwbGF0Zm9ybSBtb2R1bGUgaWYgcGxhdGZvcm1fbW9kdWxlIHVuZGVmaW5l
ZC4KKyAgICAgICAgKFBsYXRmb3JtSW5mby5fd2luX3ZlcnNpb25fc3RyKTogRGl0dG8uCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5mb191bml0dGVz
dC5weToKKyAgICAgICAgKFRlc3RQbGF0Zm9ybUluZm8udGVzdF9yZWFsX2NvZGUpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9zeXN0ZW1ob3N0LnB5OgorICAgICAg
ICAoU3lzdGVtSG9zdC5fX2luaXRfXyk6IFVzZSBkZWZhdWx0IHBsYXRmb3JtaW5mbyBzeXMgYW5k
IHBsYXRmb3JtIG1vZHVsZXMuCisKIDIwMjEtMDQtMzAgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1x
dWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc2ODQ2
LgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5m
by5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
cGxhdGZvcm1pbmZvLnB5CShyZXZpc2lvbiAyNzY4NTEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9zeXN0ZW0vcGxhdGZvcm1pbmZvLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3
ICszNyw3IEBAIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBWZXJzaW9uCiAKIGZyb20gd2Via2l0
cHkuY29tbW9uLm1lbW9pemVkIGltcG9ydCBtZW1vaXplZAogZnJvbSB3ZWJraXRweS5jb21tb24u
dmVyc2lvbl9uYW1lX21hcCBpbXBvcnQgUFVCTElDX1RBQkxFLCBJTlRFUk5BTF9UQUJMRSwgVmVy
c2lvbk5hbWVNYXAKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0
IFNjcmlwdEVycm9yCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9y
dCBFeGVjdXRpdmUsIFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5LnBvcnQuY29uZmlnIGltcG9y
dCBhcHBsZV9hZGRpdGlvbnMKIAogCkBAIC01OSw4ICs1OSw5IEBAIGNsYXNzIFBsYXRmb3JtSW5m
byhvYmplY3QpOgogICAgIG5ld2VyIHRoYW4gb25lIGtub3duIHRvIHRoZSBjb2RlLgogICAgICIi
IgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHN5c19tb2R1bGUsIHBsYXRmb3JtX21vZHVsZSwg
ZXhlY3V0aXZlKToKLSAgICAgICAgc2VsZi5fZXhlY3V0aXZlID0gZXhlY3V0aXZlCisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHN5c19tb2R1bGU9Tm9uZSwgcGxhdGZvcm1fbW9kdWxlPU5vbmUsIGV4
ZWN1dGl2ZT1Ob25lKToKKyAgICAgICAgc3lzX21vZHVsZSA9IHN5c19tb2R1bGUgb3Igc3lzCisg
ICAgICAgIHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZSBvciBFeGVjdXRpdmUoKQogICAgICAg
ICBzZWxmLl9wbGF0Zm9ybV9tb2R1bGUgPSBwbGF0Zm9ybV9tb2R1bGUKICAgICAgICAgc2VsZi5v
c19uYW1lID0gc2VsZi5fZGV0ZXJtaW5lX29zX25hbWUoc3lzX21vZHVsZS5wbGF0Zm9ybSkKICAg
ICAgICAgc2VsZi5vc192ZXJzaW9uID0gTm9uZQpAQCAtNzcsNyArNzgsNyBAQCBjbGFzcyBQbGF0
Zm9ybUluZm8ob2JqZWN0KToKICAgICAgICAgICAgIHNlbGYub3NfdmVyc2lvbiA9IHNlbGYuX3dp
bl92ZXJzaW9uKCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgTW9zdCBvdGhlciBwbGF0
Zm9ybXMgKG5hbWVseSBpT1MpIHJldHVybiBjb25mb3JtaW5nIHZlcnNpb24gc3RyaW5ncy4KLSAg
ICAgICAgICAgIHZlcnNpb24gPSByZS5zZWFyY2gocidcZCsuXGQrKC5cZCspPycsIHBsYXRmb3Jt
X21vZHVsZS5yZWxlYXNlKCkpCisgICAgICAgICAgICB2ZXJzaW9uID0gcmUuc2VhcmNoKHInXGQr
LlxkKyguXGQrKT8nLCAocGxhdGZvcm1fbW9kdWxlIG9yIHBsYXRmb3JtKS5yZWxlYXNlKCkpCiAg
ICAgICAgICAgICBpZiB2ZXJzaW9uOgogICAgICAgICAgICAgICAgIHNlbGYub3NfdmVyc2lvbiA9
IFZlcnNpb24uZnJvbV9zdHJpbmcodmVyc2lvbi5ncm91cCgwKSkKICAgICAgICAgICAgIGVsc2U6
CkBAIC0xMzQsMTIgKzEzNSwxMiBAQCBjbGFzcyBQbGF0Zm9ybUluZm8ob2JqZWN0KToKICAgICBk
ZWYgZGlzcGxheV9uYW1lKHNlbGYpOgogICAgICAgICAjIHBsYXRmb3JtLnBsYXRmb3JtKCkgcmV0
dXJucyBEYXJ3aW4gaW5mb3JtYXRpb24gZm9yIE1hYywgd2hpY2ggaXMganVzdCBjb25mdXNpbmcu
CiAgICAgICAgIGlmIHNlbGYuaXNfbWFjKCk6Ci0gICAgICAgICAgICByZXR1cm4gIk1hYyBPUyBY
ICVzIiAlIHNlbGYuX3BsYXRmb3JtX21vZHVsZS5tYWNfdmVyKClbMF0KKyAgICAgICAgICAgIHJl
dHVybiAiTWFjIE9TIFggJXMiICUgKHNlbGYuX3BsYXRmb3JtX21vZHVsZSBvciBwbGF0Zm9ybSku
bWFjX3ZlcigpWzBdCiAKICAgICAgICAgIyBSZXR1cm5zIHN0cmluZ3MgbGlrZToKICAgICAgICAg
IyBMaW51eC0yLjYuMTgtMTk0LjMuMS5lbDUtaTY4Ni13aXRoLXJlZGhhdC01LjUtRmluYWwKICAg
ICAgICAgIyBXaW5kb3dzLTIwMDhTZXJ2ZXJSMi02LjEuNzYwMAotICAgICAgICByZXR1cm4gc2Vs
Zi5fcGxhdGZvcm1fbW9kdWxlLnBsYXRmb3JtKCkKKyAgICAgICAgcmV0dXJuIChzZWxmLl9wbGF0
Zm9ybV9tb2R1bGUgb3IgcGxhdGZvcm0pLnBsYXRmb3JtKCkKIAogICAgIGRlZiBvc192ZXJzaW9u
X25hbWUoc2VsZiwgdGFibGU9Tm9uZSk6CiAgICAgICAgIGlmIG5vdCBzZWxmLm9zX3ZlcnNpb246
CkBAIC0yNDYsNyArMjQ3LDcgQEAgY2xhc3MgUGxhdGZvcm1JbmZvKG9iamVjdCk6CiAgICAgICAg
IHJldHVybiBWZXJzaW9uLmZyb21faXRlcmFibGUobWF0Y2hfb2JqZWN0Lmdyb3VwcygpKQogCiAg
ICAgZGVmIF93aW5fdmVyc2lvbl9zdHIoc2VsZik6Ci0gICAgICAgIHZlcnNpb24gPSBzZWxmLl9w
bGF0Zm9ybV9tb2R1bGUud2luMzJfdmVyKClbMV0KKyAgICAgICAgdmVyc2lvbiA9IChzZWxmLl9w
bGF0Zm9ybV9tb2R1bGUgb3IgcGxhdGZvcm0pLndpbjMyX3ZlcigpWzFdCiAgICAgICAgIGlmIHZl
cnNpb246CiAgICAgICAgICAgICByZXR1cm4gdmVyc2lvbgogICAgICAgICAjIE5vdGUgdGhhdCB0
aGlzIHNob3VsZCBvbmx5IGV2ZXIgYmUgY2FsbGVkIG9uIHdpbmRvd3MsIHNvIHRoaXMgc2hvdWxk
IGFsd2F5cyB3b3JrLgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L3BsYXRmb3JtaW5mb191bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGxhdGZvcm1pbmZvX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAy
NzY4NTEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGxhdGZvcm1p
bmZvX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC03NSw3ICs3NSw3IEBAIGNsYXNzIFRl
c3RQbGF0Zm9ybUluZm8odW5pdHRlc3QuVGVzdENhc2UKICAgICAjIHlldCBydW4gYnkgZGVmYXVs
dCBhbmQgdGhlcmUncyBubyByZWFzb24gbm90IHRvIHJ1biB0aGlzIGV2ZXJ5d2hlcmUgYnkgZGVm
YXVsdC4KICAgICBkZWYgdGVzdF9yZWFsX2NvZGUoc2VsZik6CiAgICAgICAgICMgVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgdGhlIHJlYWwgKHVubW9ja2VkKSBjb2RlIGFjdHVhbGx5IHdvcmtzLgotICAg
ICAgICBpbmZvID0gUGxhdGZvcm1JbmZvKHN5cywgcGxhdGZvcm0sIEV4ZWN1dGl2ZSgpKQorICAg
ICAgICBpbmZvID0gUGxhdGZvcm1JbmZvKGV4ZWN1dGl2ZT1FeGVjdXRpdmUoKSkKICAgICAgICAg
c2VsZi5hc3NlcnROb3RFcXVhbChpbmZvLm9zX25hbWUsICcnKQogICAgICAgICBpZiBpbmZvLmlz
X21hYygpIG9yIGluZm8uaXNfd2luKCk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9u
ZShpbmZvLm9zX3ZlcnNpb24pCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vc3lzdGVtaG9zdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vc3lzdGVtaG9zdC5weQkocmV2aXNpb24gMjc2ODUxKQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3N5c3RlbWhvc3QucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgU3lzdGVtSG9zdChvYmplY3QpOgogICAgIGRlZiBf
X2luaXRfXyhzZWxmKToKICAgICAgICAgc2VsZi5leGVjdXRpdmUgPSBleGVjdXRpdmUuRXhlY3V0
aXZlKCkKICAgICAgICAgc2VsZi5maWxlc3lzdGVtID0gZmlsZXN5c3RlbS5GaWxlU3lzdGVtKCkK
LSAgICAgICAgc2VsZi5wbGF0Zm9ybSA9IHBsYXRmb3JtaW5mby5QbGF0Zm9ybUluZm8oc3lzLCBw
bGF0Zm9ybSwgc2VsZi5leGVjdXRpdmUpCisgICAgICAgIHNlbGYucGxhdGZvcm0gPSBwbGF0Zm9y
bWluZm8uUGxhdGZvcm1JbmZvKGV4ZWN1dGl2ZT1zZWxmLmV4ZWN1dGl2ZSkKICAgICAgICAgc2Vs
Zi51c2VyID0gdXNlci5Vc2VyKHNlbGYucGxhdGZvcm0pCiAgICAgICAgIHNlbGYud29ya3NwYWNl
ID0gd29ya3NwYWNlLldvcmtzcGFjZShzZWxmLmZpbGVzeXN0ZW0sIHNlbGYuZXhlY3V0aXZlKQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427608</attachid>
            <date>2021-05-03 15:52:36 -0700</date>
            <delta_ts>2021-05-03 16:41:59 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225230-20210503155235.patch</filename>
            <type>text/plain</type>
            <size>5396</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI3NjkzMSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIwIEBACisyMDIxLTA1LTAzICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICBbd2Via2l0cHldIFN1cHBvcnQgcGlja2xpbmcgcGxhdGZvcm1pbmZvCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUyMzAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3Mzg0OTEzPgorCisgICAgICAgIFJ1YmJlci1zdGFtcGVk
IGJ5IEFha2FzaCBKYWluLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lz
dGVtL3BsYXRmb3JtaW5mby5weToKKyAgICAgICAgKFBsYXRmb3JtSW5mby5fX2luaXRfXyk6IERl
ZmluZSBkZWZhdWx0IGFyZ3VtZW50cy4KKyAgICAgICAgKFBsYXRmb3JtSW5mby5kaXNwbGF5X25h
bWUpOiBVc2UgZGVmYXVsdCBwbGF0Zm9ybSBtb2R1bGUgaWYgcGxhdGZvcm1fbW9kdWxlIHVuZGVm
aW5lZC4KKyAgICAgICAgKFBsYXRmb3JtSW5mby5fd2luX3ZlcnNpb25fc3RyKTogRGl0dG8uCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5mb191bml0
dGVzdC5weToKKyAgICAgICAgKFRlc3RQbGF0Zm9ybUluZm8udGVzdF9yZWFsX2NvZGUpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9zeXN0ZW1ob3N0LnB5OgorICAg
ICAgICAoU3lzdGVtSG9zdC5fX2luaXRfXyk6IFVzZSBkZWZhdWx0IHBsYXRmb3JtaW5mbyBzeXMg
YW5kIHBsYXRmb3JtIG1vZHVsZXMuCisKIDIwMjEtMDUtMDMgIEZ1amlpIEhpcm9ub3JpICA8SGly
b25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjc1ODEwKTogW1dl
YktpdFRlc3RSdW5uZXJdIGZhc3QvdGV4dC9iYXNpYy8wMDQuaHRtbCBmYWlscyBhZnRlciBydW5u
aW5nIGZhc3QvbGF5b3V0Zm9ybWF0dGluZ2NvbnRleHQgdGVzdHMKSW5kZXg6IFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9wbGF0Zm9ybWluZm8ucHkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5mby5weQkocmV2
aXNpb24gMjc2OTMxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3Bs
YXRmb3JtaW5mby5weQkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBmcm9tIHdlYmtp
dGNvcmVweSBpbXBvcnQgVmVyc2lvbgogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5tZW1vaXplZCBp
bXBvcnQgbWVtb2l6ZWQKIGZyb20gd2Via2l0cHkuY29tbW9uLnZlcnNpb25fbmFtZV9tYXAgaW1w
b3J0IFBVQkxJQ19UQUJMRSwgSU5URVJOQUxfVEFCTEUsIFZlcnNpb25OYW1lTWFwCi1mcm9tIHdl
YmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBTY3JpcHRFcnJvcgorZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlLCBTY3JpcHRF
cnJvcgogZnJvbSB3ZWJraXRweS5wb3J0LmNvbmZpZyBpbXBvcnQgYXBwbGVfYWRkaXRpb25zCiAK
IApAQCAtNTksOCArNTksOSBAQCBjbGFzcyBQbGF0Zm9ybUluZm8ob2JqZWN0KToKICAgICBuZXdl
ciB0aGFuIG9uZSBrbm93biB0byB0aGUgY29kZS4KICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBzeXNfbW9kdWxlLCBwbGF0Zm9ybV9tb2R1bGUsIGV4ZWN1dGl2ZSk6Ci0gICAgICAg
IHNlbGYuX2V4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzeXNf
bW9kdWxlPU5vbmUsIHBsYXRmb3JtX21vZHVsZT1Ob25lLCBleGVjdXRpdmU9Tm9uZSk6CisgICAg
ICAgIHN5c19tb2R1bGUgPSBzeXNfbW9kdWxlIG9yIHN5cworICAgICAgICBzZWxmLl9leGVjdXRp
dmUgPSBleGVjdXRpdmUgb3IgRXhlY3V0aXZlKCkKICAgICAgICAgc2VsZi5fcGxhdGZvcm1fbW9k
dWxlID0gcGxhdGZvcm1fbW9kdWxlCiAgICAgICAgIHNlbGYub3NfbmFtZSA9IHNlbGYuX2RldGVy
bWluZV9vc19uYW1lKHN5c19tb2R1bGUucGxhdGZvcm0pCiAgICAgICAgIHNlbGYub3NfdmVyc2lv
biA9IE5vbmUKQEAgLTc3LDcgKzc4LDcgQEAgY2xhc3MgUGxhdGZvcm1JbmZvKG9iamVjdCk6CiAg
ICAgICAgICAgICBzZWxmLm9zX3ZlcnNpb24gPSBzZWxmLl93aW5fdmVyc2lvbigpCiAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICAjIE1vc3Qgb3RoZXIgcGxhdGZvcm1zIChuYW1lbHkgaU9TKSBy
ZXR1cm4gY29uZm9ybWluZyB2ZXJzaW9uIHN0cmluZ3MuCi0gICAgICAgICAgICB2ZXJzaW9uID0g
cmUuc2VhcmNoKHInXGQrLlxkKyguXGQrKT8nLCBwbGF0Zm9ybV9tb2R1bGUucmVsZWFzZSgpKQor
ICAgICAgICAgICAgdmVyc2lvbiA9IHJlLnNlYXJjaChyJ1xkKy5cZCsoLlxkKyk/JywgKHBsYXRm
b3JtX21vZHVsZSBvciBwbGF0Zm9ybSkucmVsZWFzZSgpKQogICAgICAgICAgICAgaWYgdmVyc2lv
bjoKICAgICAgICAgICAgICAgICBzZWxmLm9zX3ZlcnNpb24gPSBWZXJzaW9uLmZyb21fc3RyaW5n
KHZlcnNpb24uZ3JvdXAoMCkpCiAgICAgICAgICAgICBlbHNlOgpAQCAtMTM0LDEyICsxMzUsMTIg
QEAgY2xhc3MgUGxhdGZvcm1JbmZvKG9iamVjdCk6CiAgICAgZGVmIGRpc3BsYXlfbmFtZShzZWxm
KToKICAgICAgICAgIyBwbGF0Zm9ybS5wbGF0Zm9ybSgpIHJldHVybnMgRGFyd2luIGluZm9ybWF0
aW9uIGZvciBNYWMsIHdoaWNoIGlzIGp1c3QgY29uZnVzaW5nLgogICAgICAgICBpZiBzZWxmLmlz
X21hYygpOgotICAgICAgICAgICAgcmV0dXJuICJNYWMgT1MgWCAlcyIgJSBzZWxmLl9wbGF0Zm9y
bV9tb2R1bGUubWFjX3ZlcigpWzBdCisgICAgICAgICAgICByZXR1cm4gIk1hYyBPUyBYICVzIiAl
IChzZWxmLl9wbGF0Zm9ybV9tb2R1bGUgb3IgcGxhdGZvcm0pLm1hY192ZXIoKVswXQogCiAgICAg
ICAgICMgUmV0dXJucyBzdHJpbmdzIGxpa2U6CiAgICAgICAgICMgTGludXgtMi42LjE4LTE5NC4z
LjEuZWw1LWk2ODYtd2l0aC1yZWRoYXQtNS41LUZpbmFsCiAgICAgICAgICMgV2luZG93cy0yMDA4
U2VydmVyUjItNi4xLjc2MDAKLSAgICAgICAgcmV0dXJuIHNlbGYuX3BsYXRmb3JtX21vZHVsZS5w
bGF0Zm9ybSgpCisgICAgICAgIHJldHVybiAoc2VsZi5fcGxhdGZvcm1fbW9kdWxlIG9yIHBsYXRm
b3JtKS5wbGF0Zm9ybSgpCiAKICAgICBkZWYgb3NfdmVyc2lvbl9uYW1lKHNlbGYsIHRhYmxlPU5v
bmUpOgogICAgICAgICBpZiBub3Qgc2VsZi5vc192ZXJzaW9uOgpAQCAtMjQ2LDcgKzI0Nyw3IEBA
IGNsYXNzIFBsYXRmb3JtSW5mbyhvYmplY3QpOgogICAgICAgICByZXR1cm4gVmVyc2lvbi5mcm9t
X2l0ZXJhYmxlKG1hdGNoX29iamVjdC5ncm91cHMoKSkKIAogICAgIGRlZiBfd2luX3ZlcnNpb25f
c3RyKHNlbGYpOgotICAgICAgICB2ZXJzaW9uID0gc2VsZi5fcGxhdGZvcm1fbW9kdWxlLndpbjMy
X3ZlcigpWzFdCisgICAgICAgIHZlcnNpb24gPSAoc2VsZi5fcGxhdGZvcm1fbW9kdWxlIG9yIHBs
YXRmb3JtKS53aW4zMl92ZXIoKVsxXQogICAgICAgICBpZiB2ZXJzaW9uOgogICAgICAgICAgICAg
cmV0dXJuIHZlcnNpb24KICAgICAgICAgIyBOb3RlIHRoYXQgdGhpcyBzaG91bGQgb25seSBldmVy
IGJlIGNhbGxlZCBvbiB3aW5kb3dzLCBzbyB0aGlzIHNob3VsZCBhbHdheXMgd29yay4KSW5kZXg6
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9wbGF0Zm9ybWluZm9fdW5pdHRl
c3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVt
L3BsYXRmb3JtaW5mb191bml0dGVzdC5weQkocmV2aXNpb24gMjc2OTMxKQorKysgVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5mb191bml0dGVzdC5weQkod29y
a2luZyBjb3B5KQpAQCAtNzUsNyArNzUsNyBAQCBjbGFzcyBUZXN0UGxhdGZvcm1JbmZvKHVuaXR0
ZXN0LlRlc3RDYXNlCiAgICAgIyB5ZXQgcnVuIGJ5IGRlZmF1bHQgYW5kIHRoZXJlJ3Mgbm8gcmVh
c29uIG5vdCB0byBydW4gdGhpcyBldmVyeXdoZXJlIGJ5IGRlZmF1bHQuCiAgICAgZGVmIHRlc3Rf
cmVhbF9jb2RlKHNlbGYpOgogICAgICAgICAjIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoZSByZWFs
ICh1bm1vY2tlZCkgY29kZSBhY3R1YWxseSB3b3Jrcy4KLSAgICAgICAgaW5mbyA9IFBsYXRmb3Jt
SW5mbyhzeXMsIHBsYXRmb3JtLCBFeGVjdXRpdmUoKSkKKyAgICAgICAgaW5mbyA9IFBsYXRmb3Jt
SW5mbyhleGVjdXRpdmU9RXhlY3V0aXZlKCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwo
aW5mby5vc19uYW1lLCAnJykKICAgICAgICAgaWYgaW5mby5pc19tYWMoKSBvciBpbmZvLmlzX3dp
bigpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoaW5mby5vc192ZXJzaW9uKQpJ
bmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3N5c3RlbWhvc3QucHkK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3N5c3Rl
bWhvc3QucHkJKHJldmlzaW9uIDI3NjkzMSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9zeXN0ZW1ob3N0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBA
IGNsYXNzIFN5c3RlbUhvc3Qob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAg
ICAgIHNlbGYuZXhlY3V0aXZlID0gZXhlY3V0aXZlLkV4ZWN1dGl2ZSgpCiAgICAgICAgIHNlbGYu
ZmlsZXN5c3RlbSA9IGZpbGVzeXN0ZW0uRmlsZVN5c3RlbSgpCi0gICAgICAgIHNlbGYucGxhdGZv
cm0gPSBwbGF0Zm9ybWluZm8uUGxhdGZvcm1JbmZvKHN5cywgcGxhdGZvcm0sIHNlbGYuZXhlY3V0
aXZlKQorICAgICAgICBzZWxmLnBsYXRmb3JtID0gcGxhdGZvcm1pbmZvLlBsYXRmb3JtSW5mbyhl
eGVjdXRpdmU9c2VsZi5leGVjdXRpdmUpCiAgICAgICAgIHNlbGYudXNlciA9IHVzZXIuVXNlcihz
ZWxmLnBsYXRmb3JtKQogICAgICAgICBzZWxmLndvcmtzcGFjZSA9IHdvcmtzcGFjZS5Xb3Jrc3Bh
Y2Uoc2VsZi5maWxlc3lzdGVtLCBzZWxmLmV4ZWN1dGl2ZSkKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>