<?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>191362</bug_id>
          
          <creation_ts>2018-11-07 07:34:21 -0800</creation_ts>
          <short_desc>XMLHTTPRequest POSTs to a custom WKURLSchemeHandler protocol are missing the HTTP body</short_desc>
          <delta_ts>2021-09-08 06:25:05 -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>WebKit Misc.</component>
          <version>Safari 12</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=197237</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>erezg</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>arunlvn</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mkwst</cc>
    
    <cc>pbyang+bz</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1475990</commentid>
    <comment_count>0</comment_count>
    <who name="">erezg</who>
    <bug_when>2018-11-07 07:34:21 -0800</bug_when>
    <thetext>POST requests made through the WKURLSchemeHandler get an empty POST payload in the task&apos;s request.
This leads to lack of data passed on to the handler from WKWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1476250</commentid>
    <comment_count>1</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-11-07 14:52:42 -0800</bug_when>
    <thetext>I feel like this has been recently fixed, but I&apos;m not sure.  In what version are you seeing this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477541</commentid>
    <comment_count>2</comment_count>
    <who name="">erezg</who>
    <bug_when>2018-11-12 05:45:30 -0800</bug_when>
    <thetext>This is true in iOS 12.1 and also in the latest commit I have from the WebKit source - 7ac42d35cb98a00f22847ba51503489dbeb9ab49</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529861</commentid>
    <comment_count>3</comment_count>
    <who name="Patrick Yang">pbyang+bz</who>
    <bug_when>2019-04-23 18:15:57 -0700</bug_when>
    <thetext>This reproduces for me in an iOS 12.2 simulator built from XCode 10.2.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529862</commentid>
    <comment_count>4</comment_count>
      <attachid>368095</attachid>
    <who name="Patrick Yang">pbyang+bz</who>
    <bug_when>2019-04-23 18:17:32 -0700</bug_when>
    <thetext>Created attachment 368095
minimal repro iOS app

Minimal repro iOS app.

Prints !! to console when the webview is loaded, demonstrating that the request is being forwarded to the WKURLSchemeHandler.  The printed request body is nil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529869</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2019-04-23 18:31:44 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #1)
&gt; I feel like this has been recently fixed, but I&apos;m not sure.  In what version
&gt; are you seeing this issue?

Yup we fixed it and have a passing test for the fix.

Form POST navigations work great.

The test app is an XHR POST which follows a different code path and is indeed broken

(People this is why giving as much information as possible - especially repro test cases - is important!)

I’m almost done with a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530065</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2019-04-24 11:33:10 -0700</bug_when>
    <thetext>In my upcoming fix, POSTing a blob via XHR will still be broken.

See https://bugs.webkit.org/show_bug.cgi?id=197237</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530112</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2019-04-24 13:09:12 -0700</bug_when>
    <thetext>Retitle for clarity:
XMLHTTPRequest POSTs to a custom WKURLSchemeHandler protocol are missing the HTTP body</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530125</commentid>
    <comment_count>8</comment_count>
      <attachid>368170</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2019-04-24 13:43:34 -0700</bug_when>
    <thetext>Created attachment 368170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530126</commentid>
    <comment_count>9</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-24 13:46:14 -0700</bug_when>
    <thetext>Attachment 368170 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:585:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:590:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:601:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:602:  Missing spaces around =  [whitespace/operators] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:606:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:611:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:629:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 7 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530140</commentid>
    <comment_count>10</comment_count>
      <attachid>368170</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-24 14:10:06 -0700</bug_when>
    <thetext>Comment on attachment 368170
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:653
&gt; +            printf(&quot;%u %u %u %u %u %u %u %u\n&quot;, ((char*)task.request.HTTPBody.bytes)[0], ((char*)task.request.HTTPBody.bytes)[1], ((char*)task.request.HTTPBody.bytes)[2], ((char*)task.request.HTTPBody.bytes)[3], ((char*)task.request.HTTPBody.bytes)[4], ((char*)task.request.HTTPBody.bytes)[5], ((char*)task.request.HTTPBody.bytes)[6], ((char*)task.request.HTTPBody.bytes)[7]);

:(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530141</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2019-04-24 14:14:17 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #10)
&gt; Comment on attachment 368170 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=368170&amp;action=review
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:653
&gt; &gt; +            printf(&quot;%u %u %u %u %u %u %u %u\n&quot;, ((char*)task.request.HTTPBody.bytes)[0], ((char*)task.request.HTTPBody.bytes)[1], ((char*)task.request.HTTPBody.bytes)[2], ((char*)task.request.HTTPBody.bytes)[3], ((char*)task.request.HTTPBody.bytes)[4], ((char*)task.request.HTTPBody.bytes)[5], ((char*)task.request.HTTPBody.bytes)[6], ((char*)task.request.HTTPBody.bytes)[7]);
&gt; 
&gt; :(

Yup - Have the fix and will upload it for landing after this current patch clears EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530163</commentid>
    <comment_count>12</comment_count>
      <attachid>368177</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2019-04-24 14:41:16 -0700</bug_when>
    <thetext>Created attachment 368177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530168</commentid>
    <comment_count>13</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-04-24 14:44:02 -0700</bug_when>
    <thetext>Attachment 368177 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:585:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:590:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:601:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:602:  Missing spaces around =  [whitespace/operators] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:606:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:611:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:629:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 7 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530186</commentid>
    <comment_count>14</comment_count>
      <attachid>368177</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-24 15:03:10 -0700</bug_when>
    <thetext>Comment on attachment 368177
Patch

Clearing flags on attachment: 368177

Committed r244617: &lt;https://trac.webkit.org/changeset/244617&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530187</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-24 15:03:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530193</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-24 15:09:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/50183483&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1791443</commentid>
    <comment_count>17</comment_count>
    <who name="arunlvn@gmail.com">arunlvn</who>
    <bug_when>2021-09-08 06:25:05 -0700</bug_when>
    <thetext>I feel like this bug is not fixed for online web loading in WKWebView. In this case, I am still getting an empty HTTP body in the methods of WKURLSchemeHandler. Please find my use case below.

1. Loading below URL in WKWebView
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@&quot;http://www.colligoapp.com&quot;]]];

2. After that, I am getting an empty HTTP body in the methods of WKURLSchemeHandler. I am unable to authenticate this URL using the correct credentials. I am facing this issue in all iOS versions (iOS 15 beta/14/13/12).

Please confirm any resolution if possible.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>368095</attachid>
            <date>2019-04-23 18:17:32 -0700</date>
            <delta_ts>2019-04-23 18:17:32 -0700</delta_ts>
            <desc>minimal repro iOS app</desc>
            <filename>WKWebViewTestApp.zip</filename>
            <type>application/zip</type>
            <size>25401</size>
            <attacher name="Patrick Yang">pbyang+bz</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAKWMkU4AAAAAAAAAAAAAAAAiABwAV0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdU
ZXN0QXBwL1VUCQADtca3XP3Mt1x1eAsAAQRg84khBK5zmzJQSwMEFAAAAAgApYyRThBBpkYmAgAA
JQQAADYAHABXS1dlYlZpZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAvVmlld0NvbnRyb2xsZXIu
c3dpZnRVVAkAA7XGt1wmy7dcdXgLAAEEYPOJIQSuc5sylVPLbtswELz7Kza6WAZcsi4KFFFkA6l7
SBCnCfxoWiBAQUkrm4lMMiT9auAP6m/0y0pKcvw4tbpIO7ucnR2uKG1QCvCN46ovhdWyKFATs+K5
LRMPNw+Y+OwYjb1UyoEl3tfILGaQbOCeWc3TZ/jBxBSkgI+084l2zklVJ9VG8+nMwp/f8OF95xy+
aKkSuSZwWRRQpgxoNKiXmPkzjQafK6ktTK5vuN0FToWPGmnBjIFROsM5XjGRObUQwdfRXfKEqW07
vZPh4Dj92gD3qEVS8BTyhUhhVY0U/tx9Rfs522Ascw0Xuqhoxsw8R4e8HmjVrCWz5sKGwdlZ0DrB
jjiIxpeFM5HMrFWfZbapqreN/5Yn1T+oq8m3O8uOb9h5Nrk+gaqJ5BK15hlWUgrJslLL4cAFWkil
yPkUuntl/RJZaGa5FOHeiqqSGLSnNxMeR6025FK/FUUQZMn6nWIKtXP2qPvS9TvsHeaa+RPkF2rZ
rlvWUqI63CsyWOSkpvCvPbePiJ/5anw7GLm1FtMwiGd2XvTiGbKsF5tUc2XBbhR2HwOLa0uf2JJV
8GPQW3GRyRWRwrM4fmdctwevS6bdkr84QLi2328HV24JhtVChK0LnyNSoQib93ejcbMNTZph3qwz
BkUWNnMpuwnTHtxexLRq2YtpJSxxG9XzP2lMy0+He9lBGxJm0Lnqbnw4IFxwG5pyskODI0pxzeaq
QJLKOWVJGrRabyv0F1BLAwQKAAAAAADGipFOAAAAAAAAAAAAAAAAMgAcAFdLV2ViVmlld1Rlc3RB
cHAvV0tXZWJWaWV3VGVzdEFwcC9Bc3NldHMueGNhc3NldHMvVVQJAAMzw7dc/cy3XHV4CwABBGDz
iSEErnObMlBLAwQKAAAAAADGipFOAAAAAAAAAAAAAAAARQAcAFdLV2ViVmlld1Rlc3RBcHAvV0tX
ZWJWaWV3VGVzdEFwcC9Bc3NldHMueGNhc3NldHMvQXBwSWNvbi5hcHBpY29uc2V0L1VUCQADM8O3
XP3Mt1x1eAsAAQRg84khBK5zmzJQSwMEFAAAAAgAxoqRTtwgHsvdAAAANgYAAFIAHABXS1dlYlZp
ZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAvQXNzZXRzLnhjYXNzZXRzL0FwcEljb24uYXBwaWNv
bnNldC9Db250ZW50cy5qc29uVVQJAAMzw7dcI8q3XHV4CwABBGDziSEErnObMq2UXQuCMBSG7/0V
Y9cW8yPN/kp0MXTpKF04i0Pif8/Ngi5cmNvNAc/LHh/Hi72HEOY1LZnE6ICO4yNCvZ4qKLio1R7z
WyUahv1PIvmT6SAkEJKvfU6v7wCwXg6+O2ZkwcwgzFx7mpgWnjGB2PV9GpkWngmBxLWnkbnEkxb/
NClwTlzy3fNEU4vWO9p0fZZobNBqR6uezxLTBNLEqaORuNpxH213oMZKqpCbmrYX1vGmnMEHJIxB
jZ/XMM6Tr//7zVmoaHoTfrBWctGoTTCdx/TeVaLVxyEXBVOEwRteUEsDBBQAAAAIAMSKkU4FrMP8
NAAAAD4AAAA/ABwAV0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdUZXN0QXBwL0Fzc2V0cy54Y2Fz
c2V0cy9Db250ZW50cy5qc29uVVQJAAMvw7dcI8q3XHV4CwABBGDziSEErnObMqvmUlBQysxLy1dS
sFKoBnKA3LLUouLM/DyQiKEORCixtCQjvwgkolSRnJ+SqgQUruWqBQBQSwMECgAAAAAAxoqRTgAA
AAAAAAAAAAAAAC0AHABXS1dlYlZpZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAvQmFzZS5scHJv
ai9VVAkAAzPDt1z9zLdcdXgLAAEEYPOJIQSuc5syUEsDBBQAAAAIAMaKkU73FPSK6wIAAHoGAABE
ABwAV0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdUZXN0QXBwL0Jhc2UubHByb2ovTGF1bmNoU2Ny
ZWVuLnN0b3J5Ym9hcmRVVAkAAzPDt1wuyrdcdXgLAAEEYPOJIQSuc5syfVTBUtswEL3zFarudkhS
UjqTwJA00LRk6JCUQm+yvIlFFMmV5ED4+q5kQ2wI+GBrVuu3q7fvqX/6uJZkA8YKrQa0HR9SAorr
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
Wj49ufHDp3n08tgtURMZFqpD08zKKTPYjt+0ZjDbSMobZ9iHM2TJauQJm7lAkQSMExg/PQQeeQzm
S4+0IQEpliYQMoHCPP3dU8GFEjlIt/x1esD/uhsNgLYBBYgkZZQuF/Z1pEJvgIWk71HQYiE6qZlC
QerGlCULLePgESZy0pRB6KGqIdhDkY2vX6EfF34PwjQkwdJMmZKSjKVkBCXj1zV8+qD7H/JMnGVs
zzxi0Xe3x/nLwTLnToNucYBzQEjSSIYipiCn78/myXuiXu2ru5V2GgzwJQEge/C+W0RBXo+fe+kB
IpEFdAt4IvIYUDgWJdbDBh9P2tJD4VfSwzcE/H8hoNwD0hvSbZefxWvS6hvHupcSr//ycR2GFT9y
FJaGKm+gNl7glt4QbTk3FW6q5+TOXnpxaWIxmriRC+BZnffrpOSNrfkX/ZDi1WK5cesoxXJLk/l1
sVxBfDNwadTDIIiV5PcFq/fD7X6McHn48/AvUEsDBAoAAAAAAMiKkU4AAAAAAAAAAAAAAAA3ABwA
V0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdUZXN0QXBwLnhjb2RlcHJvai94Y3VzZXJkYXRhL1VU
CQADN8O3XP3Mt1x1eAsAAQRg84khBK5zmzJQSwMECgAAAAAAyIqRTgAAAAAAAAAAAAAAAEoAHABX
S1dlYlZpZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAueGNvZGVwcm9qL3hjdXNlcmRhdGEvcGJ5
YW5nLnhjdXNlcmRhdGFkL1VUCQADN8O3XP3Mt1x1eAsAAQRg84khBK5zmzJQSwMECgAAAAAAyIqR
TgAAAAAAAAAAAAAAAFQAHABXS1dlYlZpZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAueGNvZGVw
cm9qL3hjdXNlcmRhdGEvcGJ5YW5nLnhjdXNlcmRhdGFkL3hjc2NoZW1lcy9VVAkAAzfDt1z9zLdc
dXgLAAEEYPOJIQSuc5syUEsDBBQAAAAIAMiKkU629hsj7gAAAF8BAABsABwAV0tXZWJWaWV3VGVz
dEFwcC9XS1dlYlZpZXdUZXN0QXBwLnhjb2RlcHJvai94Y3VzZXJkYXRhL3BieWFuZy54Y3VzZXJk
YXRhZC94Y3NjaGVtZXMveGNzY2hlbWVtYW5hZ2VtZW50LnBsaXN0VVQJAAM3w7dcLsq3XHV4CwAB
BGDziSEErnObMlWP0W+CMBDGn+Wv6OoznHtblopx4jIzspEAM75oGL1IM6BN2wz971dENHvq9e77
ffcdW5yamvyiNkK2c/oYzCjBtpRctMc5zbNX/4kuQo89RJ+rbJesiaqFsSTJX+LNilAfYKlUjQBR
FpEk3qQZcR4A6w9KaGWtegboui4oelVQyqYXGki0VKjtOXZmvgMCbjl1awb3f3Fcl4vSht6E/eA5
TMsKG8wN6tQWFhn0TTe7agbR9n2L318CuwyNdQGDU2ku3GE/NVWhkU/3hxG9swMsNUf9Jlp7E0yY
++ERdThjMJY9CGOya3F/L4eE3h9QSwMECgAAAAAAyIqRTgAAAAAAAAAAAAAAAEAAHABXS1dlYlZp
ZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAueGNvZGVwcm9qL3Byb2plY3QueGN3b3Jrc3BhY2Uv
VVQJAAM3w7dc/cy3XHV4CwABBGDziSEErnObMlBLAwQUAAAACADGipFO1moba3wAAAChAAAAWAAc
AFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJWaWV3VGVzdEFwcC54Y29kZXByb2ovcHJvamVjdC54Y3dv
cmtzcGFjZS9jb250ZW50cy54Y3dvcmtzcGFjZWRhdGFVVAkAAzTDt1wuyrdcdXgLAAEEYPOJIQSu
c5sys7GvyM1RKEstKs7Mz7NVMtQzUFJIzUvOT8nMS7dVCg1x07VQsrfjsgnPL8ouLkhMTuVSUIAp
V7BVAGuwA4nZuGXmpAalpoHYQJCTn5xYAlVTnJqTZhXuHZ6aFJaZWh6SWlziWFCgVwG0JLWgKD8L
ql8fagDQMn24bXZcAFBLAwQKAAAAAADGipFOAAAAAAAAAAAAAAAASwAcAFdLV2ViVmlld1Rlc3RB
cHAvV0tXZWJWaWV3VGVzdEFwcC54Y29kZXByb2ovcHJvamVjdC54Y3dvcmtzcGFjZS94Y3VzZXJk
YXRhL1VUCQADNMO3XP3Mt1x1eAsAAQRg84khBK5zmzJQSwMECgAAAAAA6I2RTgAAAAAAAAAAAAAA
AF4AHABXS1dlYlZpZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAueGNvZGVwcm9qL3Byb2plY3Qu
eGN3b3Jrc3BhY2UveGN1c2VyZGF0YS9wYnlhbmcueGN1c2VyZGF0YWQvVVQJAAMUybdc/cy3XHV4
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
3zK/TX67/b7yu+XP9ffyj/Dv75/on+Sf7J/jX+Bf5D/Uf6R/qb/Wv9zf5G/2t/rX+x/2P+d/1f+a
/9f+3/jf8v/R/77/A/+H/o/9f1UpVH1Vo1WTVS+pZqleUc1VLVI1q5ap3lO9r1qlWqPaotqp2q3a
qzqoOqw6qjqu+lJ1R3Vf9UD1UPVY9asaqZ3UfLVA7ap2U4eo89T16tfVS9XN6uXqFer16i3qbeod
6l3qPep96mPqi+or6q/UX6tvq++qv1f/oP4zAAS4BogDpAGKgK4BngHdA/oGZAaUBIwMGB1QHlAZ
oA+oCTAGmANeDJge8FLAzIBXAl4NmB+wMGBRwOKA5QHrAw4HfBXwc6BzoF9g78DcwNcCFwW+E7ia
ZuK7AvcGHgg8FHgi8FTg2cALgZeChEFBQUk0Oy8IKg4qCRoZNDqoPEgXZA5qDJoYNDloStDLQbOD
5gbNC1oQtDPou2CPYGVwUHDv4Izg7OAhwQXBxcGjgrXBFcFVwfpgc7A1eELwjOA5wa8FLwh+I3hp
cHPw8uD3g1cFbwjeGHw4+Fzw5eCvgr8Ovhn8ffCPwT8FPwx+3B1053UXJ76V+Hbi6sTNidsSdybu
SdyfeDDxSOL5xEuJXyZeTbyeeCPxZuLtJGFSRNLwpGlJc5IWJr2T1JK0JmlD0uako0nHk84lXUz6
Iuly0t2k75N+SLqf9HPSo6QnGqThaLgaN41YI9F4atSaQE2wpocmRBOmSdKkabJaI0rUWgtM6hxR
agb/P1BLAwQKAAAAAADIipFOAAAAAAAAAAAAAAAATQAcAFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJW
aWV3VGVzdEFwcC54Y29kZXByb2ovcHJvamVjdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEvVVQJ
AAM3w7dc/cy3XHV4CwABBGDziSEErnObMlBLAwQUAAAACADIipFOdxVyuLwAAADuAAAAZQAcAFdL
V2ViVmlld1Rlc3RBcHAvV0tXZWJWaWV3VGVzdEFwcC54Y29kZXByb2ovcHJvamVjdC54Y3dvcmtz
cGFjZS94Y3NoYXJlZGRhdGEvSURFV29ya3NwYWNlQ2hlY2tzLnBsaXN0VVQJAAM3w7dcKsq3XHV4
CwABBGDziSEErnObMlWOzQ6CMBAGz/IUtXdYfy7GVIxSTEhQSYQYj4Q22gi0Kavo21v05HUzM/ux
9aupyVPaTul2RafBhBLZVlqo9rqiRb7zF3QdemzMj1F+yWJiatUhyYptmkSE+gAbY2oJwHNOsjQ5
5cQ1AOIDJfSGaJYAfd8H5UAFlW4GsIPMaiMtvlMX850QCBTUvfnV/+a4q1AVht6I3eU7THjMlYh0
Yx4o92U1n20VnkvbusEMBsKBaB8SnAg/k8G3G3ofUEsBAh4DCgAAAAAApYyRTgAAAAAAAAAAAAAA
ACIAGAAAAAAAAAAQAO1BAAAAAFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJWaWV3VGVzdEFwcC9VVAUA
A7XGt1x1eAsAAQRg84khBK5zmzJQSwECHgMUAAAACACljJFOEEGmRiYCAAAlBAAANgAYAAAAAAAB
AAAApIFcAAAAV0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdUZXN0QXBwL1ZpZXdDb250cm9sbGVy
LnN3aWZ0VVQFAAO1xrdcdXgLAAEEYPOJIQSuc5syUEsBAh4DCgAAAAAAxoqRTgAAAAAAAAAAAAAA
ADIAGAAAAAAAAAAQAO1B8gIAAFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJWaWV3VGVzdEFwcC9Bc3Nl
dHMueGNhc3NldHMvVVQFAAMzw7dcdXgLAAEEYPOJIQSuc5syUEsBAh4DCgAAAAAAxoqRTgAAAAAA
AAAAAAAAAEUAGAAAAAAAAAAQAO1BXgMAAFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJWaWV3VGVzdEFw
cC9Bc3NldHMueGNhc3NldHMvQXBwSWNvbi5hcHBpY29uc2V0L1VUBQADM8O3XHV4CwABBGDziSEE
rnObMlBLAQIeAxQAAAAIAMaKkU7cIB7L3QAAADYGAABSABgAAAAAAAEAAACkgd0DAABXS1dlYlZp
ZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAvQXNzZXRzLnhjYXNzZXRzL0FwcEljb24uYXBwaWNv
bnNldC9Db250ZW50cy5qc29uVVQFAAMzw7dcdXgLAAEEYPOJIQSuc5syUEsBAh4DFAAAAAgAxIqR
TgWsw/w0AAAAPgAAAD8AGAAAAAAAAQAAAKSBRgUAAFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJWaWV3
VGVzdEFwcC9Bc3NldHMueGNhc3NldHMvQ29udGVudHMuanNvblVUBQADL8O3XHV4CwABBGDziSEE
rnObMlBLAQIeAwoAAAAAAMaKkU4AAAAAAAAAAAAAAAAtABgAAAAAAAAAEADtQfMFAABXS1dlYlZp
ZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAvQmFzZS5scHJvai9VVAUAAzPDt1x1eAsAAQRg84kh
BK5zmzJQSwECHgMUAAAACADGipFO9xT0iusCAAB6BgAARAAYAAAAAAABAAAApIFaBgAAV0tXZWJW
aWV3VGVzdEFwcC9XS1dlYlZpZXdUZXN0QXBwL0Jhc2UubHByb2ovTGF1bmNoU2NyZWVuLnN0b3J5
Ym9hcmRVVAUAAzPDt1x1eAsAAQRg84khBK5zmzJQSwECHgMUAAAACADEipFOShJwQckCAAA9BgAA
PAAYAAAAAAABAAAApIHDCQAAV0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdUZXN0QXBwL0Jhc2Uu
bHByb2ovTWFpbi5zdG9yeWJvYXJkVVQFAAMvw7dcdXgLAAEEYPOJIQSuc5syUEsBAh4DFAAAAAgA
xIqRTnEpoC92AwAAgggAADMAGAAAAAAAAQAAAKSBAg0AAFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJW
aWV3VGVzdEFwcC9BcHBEZWxlZ2F0ZS5zd2lmdFVUBQADL8O3XHV4CwABBGDziSEErnObMlBLAQIe
AxQAAAAIAMaKkU4JfYZ2+gEAALcFAAAsABgAAAAAAAEAAACkgeUQAABXS1dlYlZpZXdUZXN0QXBw
L1dLV2ViVmlld1Rlc3RBcHAvSW5mby5wbGlzdFVUBQADM8O3XHV4CwABBGDziSEErnObMlBLAQIe
AwoAAAAAAMiKkU4AAAAAAAAAAAAAAAAsABgAAAAAAAAAEADtQUUTAABXS1dlYlZpZXdUZXN0QXBw
L1dLV2ViVmlld1Rlc3RBcHAueGNvZGVwcm9qL1VUBQADN8O3XHV4CwABBGDziSEErnObMlBLAQIe
AxQAAAAIAMaKkU5jPwg60QkAAOUwAAA7ABgAAAAAAAEAAACkgasTAABXS1dlYlZpZXdUZXN0QXBw
L1dLV2ViVmlld1Rlc3RBcHAueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvalVUBQADM8O3XHV4CwAB
BGDziSEErnObMlBLAQIeAwoAAAAAAMiKkU4AAAAAAAAAAAAAAAA3ABgAAAAAAAAAEADtQfEdAABX
S1dlYlZpZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAueGNvZGVwcm9qL3hjdXNlcmRhdGEvVVQF
AAM3w7dcdXgLAAEEYPOJIQSuc5syUEsBAh4DCgAAAAAAyIqRTgAAAAAAAAAAAAAAAEoAGAAAAAAA
AAAQAO1BYh4AAFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJWaWV3VGVzdEFwcC54Y29kZXByb2oveGN1
c2VyZGF0YS9wYnlhbmcueGN1c2VyZGF0YWQvVVQFAAM3w7dcdXgLAAEEYPOJIQSuc5syUEsBAh4D
CgAAAAAAyIqRTgAAAAAAAAAAAAAAAFQAGAAAAAAAAAAQAO1B5h4AAFdLV2ViVmlld1Rlc3RBcHAv
V0tXZWJWaWV3VGVzdEFwcC54Y29kZXByb2oveGN1c2VyZGF0YS9wYnlhbmcueGN1c2VyZGF0YWQv
eGNzY2hlbWVzL1VUBQADN8O3XHV4CwABBGDziSEErnObMlBLAQIeAxQAAAAIAMiKkU629hsj7gAA
AF8BAABsABgAAAAAAAEAAACkgXQfAABXS1dlYlZpZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAu
eGNvZGVwcm9qL3hjdXNlcmRhdGEvcGJ5YW5nLnhjdXNlcmRhdGFkL3hjc2NoZW1lcy94Y3NjaGVt
ZW1hbmFnZW1lbnQucGxpc3RVVAUAAzfDt1x1eAsAAQRg84khBK5zmzJQSwECHgMKAAAAAADIipFO
AAAAAAAAAAAAAAAAQAAYAAAAAAAAABAA7UEIIQAAV0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdU
ZXN0QXBwLnhjb2RlcHJvai9wcm9qZWN0Lnhjd29ya3NwYWNlL1VUBQADN8O3XHV4CwABBGDziSEE
rnObMlBLAQIeAxQAAAAIAMaKkU7WahtrfAAAAKEAAABYABgAAAAAAAEAAACkgYIhAABXS1dlYlZp
ZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAueGNvZGVwcm9qL3Byb2plY3QueGN3b3Jrc3BhY2Uv
Y29udGVudHMueGN3b3Jrc3BhY2VkYXRhVVQFAAM0w7dcdXgLAAEEYPOJIQSuc5syUEsBAh4DCgAA
AAAAxoqRTgAAAAAAAAAAAAAAAEsAGAAAAAAAAAAQAO1BkCIAAFdLV2ViVmlld1Rlc3RBcHAvV0tX
ZWJWaWV3VGVzdEFwcC54Y29kZXByb2ovcHJvamVjdC54Y3dvcmtzcGFjZS94Y3VzZXJkYXRhL1VU
BQADNMO3XHV4CwABBGDziSEErnObMlBLAQIeAwoAAAAAAOiNkU4AAAAAAAAAAAAAAABeABgAAAAA
AAAAEADtQRUjAABXS1dlYlZpZXdUZXN0QXBwL1dLV2ViVmlld1Rlc3RBcHAueGNvZGVwcm9qL3By
b2plY3QueGN3b3Jrc3BhY2UveGN1c2VyZGF0YS9wYnlhbmcueGN1c2VyZGF0YWQvVVQFAAMUybdc
dXgLAAEEYPOJIQSuc5syUEsBAh4DFAAAAAgA6I2RTrQGD7LLLwAA7UkAAHwAGAAAAAAAAAAAAKSB
rSMAAFdLV2ViVmlld1Rlc3RBcHAvV0tXZWJWaWV3VGVzdEFwcC54Y29kZXByb2ovcHJvamVjdC54
Y3dvcmtzcGFjZS94Y3VzZXJkYXRhL3BieWFuZy54Y3VzZXJkYXRhZC9Vc2VySW50ZXJmYWNlU3Rh
dGUueGN1c2Vyc3RhdGVVVAUAAxTJt1x1eAsAAQRg84khBK5zmzJQSwECHgMKAAAAAADIipFOAAAA
AAAAAAAAAAAATQAYAAAAAAAAABAA7UEuVAAAV0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdUZXN0
QXBwLnhjb2RlcHJvai9wcm9qZWN0Lnhjd29ya3NwYWNlL3hjc2hhcmVkZGF0YS9VVAUAAzfDt1x1
eAsAAQRg84khBK5zmzJQSwECHgMUAAAACADIipFOdxVyuLwAAADuAAAAZQAYAAAAAAABAAAApIG1
VAAAV0tXZWJWaWV3VGVzdEFwcC9XS1dlYlZpZXdUZXN0QXBwLnhjb2RlcHJvai9wcm9qZWN0Lnhj
d29ya3NwYWNlL3hjc2hhcmVkZGF0YS9JREVXb3Jrc3BhY2VDaGVja3MucGxpc3RVVAUAAzfDt1x1
eAsAAQRg84khBK5zmzJQSwUGAAAAABgAGAATDQAAEFYAAAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368170</attachid>
            <date>2019-04-24 13:43:34 -0700</date>
            <delta_ts>2019-04-24 14:41:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191362-20190424134333.patch</filename>
            <type>text/plain</type>
            <size>10723</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGFmOTYzM2YyOGVhODcw
N2MxZmE1MjBiZmE5MTUwNmU0MTQ0ZDE3Yi4uMGYwYTZiYzY1NzkwNDM4OGMxZTY2Y2E4OGMwMDZm
NWQxYTI5OTc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTA0LTI0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBYTUxIVFRQUmVxdWVzdCBQ
T1NUcyB0byBhIGN1c3RvbSBXS1VSTFNjaGVtZUhhbmRsZXIgcHJvdG9jb2wgYXJlIG1pc3Npbmcg
dGhlIEhUVFAgYm9keS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MTM2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENvdmVyZWQgYnkgbmV3IEFQSSB0ZXN0cy4KKworICAgICAgICBJbiAyMDA4IHNvbWUg
cmVmYWN0b3JpbmcgYWRkZWQgYW4gSFRUUChTKS1vbmx5IHJlc3RyaWN0aW9uIHRvIGNvcHlpbmcg
dGhlIGZvcm0gYm9keSBmb3IKKyAgICAgICAgWEhScyB0aGF0IFBPU1QsIGFuZCBpdCBhZGRlZCB0
aGF0IHJlc3RyaWN0aW9uIHdpdGggbm8gZXhwbGFuYXRpb24uCisKKyAgICAgICAgV2UgZGVmaW5p
dGVseSB3YW50IHRvIGFsbG93IHRoYXQuCisKKyAgICAgICAgQmxvYnMgYXJlIGJyb2tlbiBhdCB0
aGlzIHRpbWUgKGNvdmVyZWQgYnkgYnVnIDE5NzIzNykKKworICAgICAgICAqIHhtbC9YTUxIdHRw
UmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2VuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2VuZEJ5dGVzRGF0YSk6CisKIDIwMTkt
MDQtMjMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IERlYnVnZ2VyOiByZW1vdmUgQVNTRVJUX05PVF9SRUFDSEVEIHdoZXJlIGl0J3Mg
cG9zc2libGUgdG8gcmVhY2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4
IGY0Yjk3YTk4MmU4OTdiNDA0MTQ1YWMwY2ZjMTlhYTcxOWRlNThjZDkuLmEyMGUyNTYyNDhlN2Ex
NTZmZmJjN2EwNDdiZDVkYWMwMjU0Mzc2MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcApAQCAtNDU5LDcgKzQ1OSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1
ZXN0OjpzZW5kKERvY3VtZW50JiBkb2N1bWVudCkKICAgICBpZiAoYXV0byByZXN1bHQgPSBwcmVw
YXJlVG9TZW5kKCkpCiAgICAgICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpKTsKIAot
ICAgIGlmIChtX21ldGhvZCAhPSAiR0VUIiAmJiBtX21ldGhvZCAhPSAiSEVBRCIgJiYgbV91cmwu
cHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7CisgICAgaWYgKG1fbWV0aG9kICE9ICJHRVQiICYm
IG1fbWV0aG9kICE9ICJIRUFEIikgewogICAgICAgICBpZiAoIW1fcmVxdWVzdEhlYWRlcnMuY29u
dGFpbnMoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKSkgewogI2lmIEVOQUJMRShEQVNIQk9B
UkRfU1VQUE9SVCkKICAgICAgICAgICAgIGlmICh1c2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRp
YmlsaXR5TW9kZSgpKQpAQCAtNDg5LDcgKzQ4OSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0
dHBSZXF1ZXN0OjpzZW5kKGNvbnN0IFN0cmluZyYgYm9keSkKICAgICBpZiAoYXV0byByZXN1bHQg
PSBwcmVwYXJlVG9TZW5kKCkpCiAgICAgICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgp
KTsKIAotICAgIGlmICghYm9keS5pc051bGwoKSAmJiBtX21ldGhvZCAhPSAiR0VUIiAmJiBtX21l
dGhvZCAhPSAiSEVBRCIgJiYgbV91cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7CisgICAg
aWYgKCFib2R5LmlzTnVsbCgpICYmIG1fbWV0aG9kICE9ICJHRVQiICYmIG1fbWV0aG9kICE9ICJI
RUFEIikgewogICAgICAgICBTdHJpbmcgY29udGVudFR5cGUgPSBtX3JlcXVlc3RIZWFkZXJzLmdl
dChIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpOwogICAgICAgICBpZiAoY29udGVudFR5cGUu
aXNOdWxsKCkpIHsKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCkBAIC01MTYsNyArNTE2
LDE3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpzZW5kKEJsb2ImIGJvZHkp
CiAgICAgaWYgKGF1dG8gcmVzdWx0ID0gcHJlcGFyZVRvU2VuZCgpKQogICAgICAgICByZXR1cm4g
V1RGTW92ZShyZXN1bHQudmFsdWUoKSk7CiAKLSAgICBpZiAobV9tZXRob2QgIT0gIkdFVCIgJiYg
bV9tZXRob2QgIT0gIkhFQUQiICYmIG1fdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgewor
ICAgIGlmIChtX21ldGhvZCAhPSAiR0VUIiAmJiBtX21ldGhvZCAhPSAiSEVBRCIpIHsKKyAgICAg
ICAgaWYgKCFtX3VybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKKyAgICAgICAgICAgIC8v
IEZJWE1FOiBXZSB3b3VsZCBsaWtlIHRvIHN1cHBvcnQgcG9zdGluZyBCbG9icyB0byBub24taHR0
cCBVUkxzIChlLmcuIGN1c3RvbSBVUkwgc2NoZW1lcykKKyAgICAgICAgICAgIC8vIGJ1dCBiZWNh
dXNlIG9mIHRoZSBhcmNoaXRlY3R1cmUgb2YgYmxvYi1oYW5kbGluZyB0aGF0IHdpbGwgcmVxdWly
ZSBhIGZhaXIgYW1vdW50IG9mIHdvcmsuCisgICAgICAgICAgICAKKyAgICAgICAgICAgIEFTQ0lJ
TGl0ZXJhbCBjb25zb2xlTWVzc2FnZSB7ICJQT1NUIG9mIGEgQmxvYiB0byBub24tSFRUUCBwcm90
b2NvbHMgaW4gWE1MSHR0cFJlcXVlc3Quc2VuZCgpIGlzIGN1cnJlbnRseSB1bnN1cHBvcnRlZC4i
X3MgfTsKKyAgICAgICAgICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgY29uc29sZU1l
c3NhZ2UpOworICAgICAgICAgICAgCisgICAgICAgICAgICByZXR1cm4gY3JlYXRlUmVxdWVzdCgp
OworICAgICAgICB9CisgICAgICAgIAogICAgICAgICBpZiAoIW1fcmVxdWVzdEhlYWRlcnMuY29u
dGFpbnMoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKSkgewogICAgICAgICAgICAgY29uc3Qg
U3RyaW5nJiBibG9iVHlwZSA9IGJvZHkudHlwZSgpOwogICAgICAgICAgICAgaWYgKCFibG9iVHlw
ZS5pc0VtcHR5KCkgJiYgaXNWYWxpZENvbnRlbnRUeXBlKGJsb2JUeXBlKSkKQEAgLTUzOSw3ICs1
NDksNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6c2VuZChET01Gb3JtRGF0
YSYgYm9keSkKICAgICBpZiAoYXV0byByZXN1bHQgPSBwcmVwYXJlVG9TZW5kKCkpCiAgICAgICAg
IHJldHVybiBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpKTsKIAotICAgIGlmIChtX21ldGhvZCAhPSAi
R0VUIiAmJiBtX21ldGhvZCAhPSAiSEVBRCIgJiYgbV91cmwucHJvdG9jb2xJc0luSFRUUEZhbWls
eSgpKSB7CisgICAgaWYgKG1fbWV0aG9kICE9ICJHRVQiICYmIG1fbWV0aG9kICE9ICJIRUFEIikg
ewogICAgICAgICBtX3JlcXVlc3RFbnRpdHlCb2R5ID0gRm9ybURhdGE6OmNyZWF0ZU11bHRpUGFy
dChib2R5LCBkb2N1bWVudCgpKTsKICAgICAgICAgbV9yZXF1ZXN0RW50aXR5Qm9keS0+Z2VuZXJh
dGVGaWxlcyhkb2N1bWVudCgpKTsKICAgICAgICAgaWYgKCFtX3JlcXVlc3RIZWFkZXJzLmNvbnRh
aW5zKEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSkpCkBAIC01NjYsNyArNTc2LDcgQEAgRXhj
ZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OnNlbmRCeXRlc0RhdGEoY29uc3Qgdm9pZCog
ZGF0YSwgc2l6ZV90IGxlbmd0aCkKICAgICBpZiAoYXV0byByZXN1bHQgPSBwcmVwYXJlVG9TZW5k
KCkpCiAgICAgICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpKTsKIAotICAgIGlmICht
X21ldGhvZCAhPSAiR0VUIiAmJiBtX21ldGhvZCAhPSAiSEVBRCIgJiYgbV91cmwucHJvdG9jb2xJ
c0luSFRUUEZhbWlseSgpKSB7CisgICAgaWYgKG1fbWV0aG9kICE9ICJHRVQiICYmIG1fbWV0aG9k
ICE9ICJIRUFEIikgewogICAgICAgICBtX3JlcXVlc3RFbnRpdHlCb2R5ID0gRm9ybURhdGE6OmNy
ZWF0ZShkYXRhLCBsZW5ndGgpOwogICAgICAgICBpZiAobV91cGxvYWQpCiAgICAgICAgICAgICBt
X3JlcXVlc3RFbnRpdHlCb2R5LT5zZXRBbHdheXNTdHJlYW0odHJ1ZSk7CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTNkYjc4MmZiODNmMjE1NTQx
MTZlMjI0MWM1ZDNmNzIxMGI3ZGJiNi4uYzNjMGIxMmVhMWM2NGJmYjliZGFjNmQ2NDc3ZTJiZjgy
ZTAyYmFjNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTA0LTI0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KKworICAgICAgICBYTUxIVFRQUmVxdWVzdCBQT1NUcyB0byBhIGN1c3RvbSBXS1VS
TFNjaGVtZUhhbmRsZXIgcHJvdG9jb2wgYXJlIG1pc3NpbmcgdGhlIEhUVFAgYm9keS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTM2MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5tbTogQWRkIGEgdGVzdCB0
aGF0IFBPU1RzIGFsbCBzb3J0cyBvZiB0aGluZ3MKKyAgICAgICAgICBmcm9tIGFuIFhIUiB0byBh
IGN1c3RvbSBwcm90b2NvbC4KKwogMjAxOS0wNC0yMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCB1bml0IHRlc3RzIGZvciBXS1dlYlZp
ZXcuc2VydmVyVHJ1c3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxlci0xLm1tCmluZGV4IGNmOGVkMWQ2NTdl
ZDdlYTc2MjBjYWJiYjkwNGQxMzQ4MjIxMzhlYWEuLjQzZDY3YWE1MjA0NGFkNDI1Nzg0ODUwYTM5
ZjZiMGRhNDg3MGQ3MGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5tbQpAQCAtMjcsNiArMjcs
OSBAQAogCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgogI2ltcG9ydCAiVGVzdC5oIgor
I2ltcG9ydCAiVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oIgorI2ltcG9ydCAiVGVzdFVSTFNjaGVt
ZUhhbmRsZXIuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKICNpbXBvcnQgPFdlYktpdC9X
S1VSTFNjaGVtZUhhbmRsZXIuaD4KICNpbXBvcnQgPFdlYktpdC9XS1VSTFNjaGVtZVRhc2tQcml2
YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4K
QEAgLTU3OSw0ICs1ODIsMTE0IEBAIFRFU1QoVVJMU2NoZW1lSGFuZGxlciwgU3luY1hIUkVycm9y
KQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiB9CiAKK3N0YXRpYyBjb25z
dCBjaGFyKiB4aHJQb3N0RG9jdW1lbnQgPSBSIlhIUlBPU1RSRVNPVVJDRSg8aHRtbD48aGVhZD48
c2NyaXB0Pgord2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKK3sKKyAgICB7CisgICAgICAgIHZh
ciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgeGhyLm9wZW4oJ1BPU1QnLCAn
L2FycmF5YnVmZmVyJyk7CisgICAgICAgIAorICAgICAgICB2YXIgY2hhcnMgPSBbXTsKKyAgICAg
ICAgdmFyIHN0ciA9ICJIaSB0aGVyZSI7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3Ry
Lmxlbmd0aDsgKytpKQorICAgICAgICAgICAgY2hhcnMucHVzaChzdHIuY2hhckNvZGVBdChpKSk7
CisKKyAgICAgICAgeGhyLnNlbmQobmV3IFVpbnQ4QXJyYXkoY2hhcnMpKTsKKyAgICB9CisgICAg
eworICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIHhoci5v
cGVuKCdQT1NUJywgJy9zdHJpbmcnKTsKKyAgICAgICAgeGhyLnNlbmQoJ2Zvbz1iYXInKTsKKyAg
ICB9CisgICAgeworICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAg
ICAgIHhoci5vcGVuKCdQT1NUJywgJy9kb2N1bWVudCcpOworICAgICAgICB4aHIuc2VuZCh3aW5k
b3cuZG9jdW1lbnQpOworICAgIH0KKyAgICB7CisgICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0
cFJlcXVlc3QoKTsKKyAgICAgICAgeGhyLm9wZW4oJ1BPU1QnLCAnL2Zvcm1kYXRhJyk7CisgICAg
ICAgIAorICAgICAgICB2YXIgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTsKKyAgICAgICAgZm9y
bURhdGEuYXBwZW5kKCJmb28iLCAiYmF6Iik7CisgICAgICAgIHhoci5zZW5kKGZvcm1EYXRhKTsK
KyAgICB9CisgICAgeworLy8gICAgICAgIC8vIEZJWE1FOiBYSFIgcG9zdGluZyBvZiBCbG9icyBp
cyBjdXJyZW50bHkgdW5zdXBwb3J0ZWQKKy8vICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3MjM3CisvLyAgICAgICAgdmFyIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpOworLy8gICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9ibG9iJyk7CisvLyAg
ICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbIkhlbGxvIHdvcmxkISJdLCB7dHlwZTogInRleHQv
cGxhaW4ifSk7CisvLyAgICAgICAgeGhyLnNlbmQoYmxvYik7CisgICAgfQorfTsKKzwvc2NyaXB0
PjwvaGVhZD4KKzxib2R5PgorSGVsbG8gd29ybGQhCis8L2JvZHk+PC9odG1sPilYSFJQT1NUUkVT
T1VSQ0UiOworCisKK1RFU1QoVVJMU2NoZW1lSGFuZGxlciwgWEhSUG9zdCkKK3sKKyAgICBhdXRv
IGhhbmRsZXIgPSBhZG9wdE5TKFtbVGVzdFVSTFNjaGVtZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsK
KyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOworICAgIFtjb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6
aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJ4aHJwb3N0Il07CisgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFr
ZSgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisK
KyAgICBzdGF0aWMgYm9vbCBkb25lOworICAgIHN0YXRpYyB1aW50OF90IHNlZW5UYXNrczsKKyAg
ICBbaGFuZGxlciBzZXRTdGFydFVSTFNjaGVtZVRhc2tIYW5kbGVyOl4oV0tXZWJWaWV3ICosIGlk
PFdLVVJMU2NoZW1lVGFzaz4gdGFzaykgeworICAgICAgICBpZiAoW3Rhc2sucmVxdWVzdC5VUkwu
YWJzb2x1dGVTdHJpbmcgaXNFcXVhbFRvU3RyaW5nOkAieGhycG9zdDovL2V4YW1wbGUvc3RyaW5n
Il0pIHsKKyAgICAgICAgICAgIHN0YXRpYyBib29sIHJlYWNoZWQ7CisgICAgICAgICAgICBFWFBF
Q1RfRkFMU0UocmVhY2hlZCk7CisgICAgICAgICAgICByZWFjaGVkID0gdHJ1ZTsKKyAgICAgICAg
ICAgIEVYUEVDVF9FUSh0YXNrLnJlcXVlc3QuSFRUUEJvZHkubGVuZ3RoLCA3dSk7CisgICAgICAg
ICAgICBFWFBFQ1RfU1RSRVEoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KHRhc2sucmVxdWVzdC5I
VFRQQm9keS5ieXRlcyksICJmb289YmFyIik7CisgICAgICAgIH0gZWxzZSBpZiAoW3Rhc2sucmVx
dWVzdC5VUkwuYWJzb2x1dGVTdHJpbmcgaXNFcXVhbFRvU3RyaW5nOkAieGhycG9zdDovL2V4YW1w
bGUvYXJyYXlidWZmZXIiXSkgeworICAgICAgICAgICAgc3RhdGljIGJvb2wgcmVhY2hlZDsKKyAg
ICAgICAgICAgIEVYUEVDVF9GQUxTRShyZWFjaGVkKTsKKyAgICAgICAgICAgIHJlYWNoZWQgPSB0
cnVlOworICAgICAgICAgICAgRVhQRUNUX0VRKHRhc2sucmVxdWVzdC5IVFRQQm9keS5sZW5ndGgs
IDh1KTsKKyAgICAgICAgICAgIHByaW50ZigiJXUgJXUgJXUgJXUgJXUgJXUgJXUgJXVcbiIsICgo
Y2hhciopdGFzay5yZXF1ZXN0LkhUVFBCb2R5LmJ5dGVzKVswXSwgKChjaGFyKil0YXNrLnJlcXVl
c3QuSFRUUEJvZHkuYnl0ZXMpWzFdLCAoKGNoYXIqKXRhc2sucmVxdWVzdC5IVFRQQm9keS5ieXRl
cylbMl0sICgoY2hhciopdGFzay5yZXF1ZXN0LkhUVFBCb2R5LmJ5dGVzKVszXSwgKChjaGFyKil0
YXNrLnJlcXVlc3QuSFRUUEJvZHkuYnl0ZXMpWzRdLCAoKGNoYXIqKXRhc2sucmVxdWVzdC5IVFRQ
Qm9keS5ieXRlcylbNV0sICgoY2hhciopdGFzay5yZXF1ZXN0LkhUVFBCb2R5LmJ5dGVzKVs2XSwg
KChjaGFyKil0YXNrLnJlcXVlc3QuSFRUUEJvZHkuYnl0ZXMpWzddKTsKKyAgICAgICAgICAgIEVY
UEVDVF9TVFJFUShzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4odGFzay5yZXF1ZXN0LkhUVFBCb2R5
LmJ5dGVzKSwgIkhpIHRoZXJlIik7CisgICAgICAgIH0gZWxzZSBpZiAoW3Rhc2sucmVxdWVzdC5V
UkwuYWJzb2x1dGVTdHJpbmcgaXNFcXVhbFRvU3RyaW5nOkAieGhycG9zdDovL2V4YW1wbGUvZG9j
dW1lbnQiXSkgeworICAgICAgICAgICAgc3RhdGljIGJvb2wgcmVhY2hlZDsKKyAgICAgICAgICAg
IEVYUEVDVF9GQUxTRShyZWFjaGVkKTsKKyAgICAgICAgICAgIHJlYWNoZWQgPSB0cnVlOworICAg
ICAgICAgICAgRVhQRUNUX0VRKHRhc2sucmVxdWVzdC5IVFRQQm9keS5sZW5ndGgsIHN0cmxlbih4
aHJQb3N0RG9jdW1lbnQpKTsKKyAgICAgICAgICAgIEVYUEVDVF9TVFJFUShzdGF0aWNfY2FzdDxj
b25zdCBjaGFyKj4odGFzay5yZXF1ZXN0LkhUVFBCb2R5LmJ5dGVzKSwgeGhyUG9zdERvY3VtZW50
KTsKKyAgICAgICAgfSBlbHNlIGlmIChbdGFzay5yZXF1ZXN0LlVSTC5hYnNvbHV0ZVN0cmluZyBp
c0VxdWFsVG9TdHJpbmc6QCJ4aHJwb3N0Oi8vZXhhbXBsZS9mb3JtZGF0YSJdKSB7CisgICAgICAg
ICAgICBzdGF0aWMgYm9vbCByZWFjaGVkOworICAgICAgICAgICAgRVhQRUNUX0ZBTFNFKHJlYWNo
ZWQpOworICAgICAgICAgICAgcmVhY2hlZCA9IHRydWU7CisgICAgICAgICAgICAvLyBUaGUgbGVn
bnRoIG9mIHRoaXMgaXMgdmFyaWFibGUKKyAgICAgICAgICAgIGF1dG8gKmZvcm1EYXRhU3RyaW5n
ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOnN0YXRpY19jYXN0PGNvbnN0IGNoYXIq
Pih0YXNrLnJlcXVlc3QuSFRUUEJvZHkuYnl0ZXMpXTsKKyAgICAgICAgICAgIEVYUEVDVF9UUlVF
KFtmb3JtRGF0YVN0cmluZyBjb250YWluc1N0cmluZzpAIkNvbnRlbnQtRGlzcG9zaXRpb246IGZv
cm0tZGF0YTsgbmFtZT1cImZvb1wiIl0pOworICAgICAgICAgICAgRVhQRUNUX1RSVUUoW2Zvcm1E
YXRhU3RyaW5nIGNvbnRhaW5zU3RyaW5nOkAiYmF6Il0pOworICAgICAgICAgICAgRVhQRUNUX1RS
VUUoW2Zvcm1EYXRhU3RyaW5nIGNvbnRhaW5zU3RyaW5nOkAiV2ViS2l0Rm9ybUJvdW5kYXJ5Il0p
OworICAgICAgICB9IGVsc2UgaWYgKFt0YXNrLnJlcXVlc3QuVVJMLmFic29sdXRlU3RyaW5nIGlz
RXF1YWxUb1N0cmluZzpAInhocnBvc3Q6Ly9leGFtcGxlL2Jsb2IiXSkgeworICAgICAgICAgICAg
c3RhdGljIGJvb2wgcmVhY2hlZDsKKyAgICAgICAgICAgIEVYUEVDVF9GQUxTRShyZWFjaGVkKTsK
KyAgICAgICAgICAgIHJlYWNoZWQgPSB0cnVlOworICAgICAgICAgICAgCisgICAgICAgICAgICAv
LyBGSVhNRTogWEhSIHBvc3Rpbmcgb2YgQmxvYnMgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVkCisg
ICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3
MjM3CisKKyAgICAgICAgICAgIEZBSUwoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IC8vIFdlIG9ubHkgZXhwZWN0IG9uZSBvZiB0aGUgNSBVUkxzIHVwIGFib3ZlLgorICAgICAgICAg
ICAgRkFJTCgpOworICAgICAgICB9CisKKyAgICAgICAgYXV0byByZXNwb25zZSA9IGFkb3B0TlMo
W1tOU1VSTFJlc3BvbnNlIGFsbG9jXSBpbml0V2l0aFVSTDp0YXNrLnJlcXVlc3QuVVJMIE1JTUVU
eXBlOkAidGV4dC9odG1sIiBleHBlY3RlZENvbnRlbnRMZW5ndGg6MCB0ZXh0RW5jb2RpbmdOYW1l
Om5pbF0pOworICAgICAgICBbdGFzayBkaWRSZWNlaXZlUmVzcG9uc2U6cmVzcG9uc2UuZ2V0KCld
OworICAgICAgICBbdGFzayBkaWRGaW5pc2hdOworICAgICAgICAKKyAgICAgICAgaWYgKCsrc2Vl
blRhc2tzID09IDQpCisgICAgICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICAKKyAg
ICBbd2ViVmlldyBsb2FkSFRNTFN0cmluZzpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6
eGhyUG9zdERvY3VtZW50XSBiYXNlVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAieGhycG9zdDov
L2V4YW1wbGUveGhydGVzdCJdXTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OworfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368177</attachid>
            <date>2019-04-24 14:41:16 -0700</date>
            <delta_ts>2019-04-24 15:03:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191362-20190424144115.patch</filename>
            <type>text/plain</type>
            <size>10349</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGFmOTYzM2YyOGVhODcw
N2MxZmE1MjBiZmE5MTUwNmU0MTQ0ZDE3Yi4uNDYzNWIxODBmN2FmMjBmMDkxOGRhZjY0ZTk0MGJi
OGMyMjJjMDBhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTA0LTI0ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBYTUxIVFRQUmVxdWVzdCBQ
T1NUcyB0byBhIGN1c3RvbSBXS1VSTFNjaGVtZUhhbmRsZXIgcHJvdG9jb2wgYXJlIG1pc3Npbmcg
dGhlIEhUVFAgYm9keS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MTM2MgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisK
KyAgICAgICAgQ292ZXJlZCBieSBuZXcgQVBJIHRlc3RzLgorCisgICAgICAgIEluIDIwMDggc29t
ZSByZWZhY3RvcmluZyBhZGRlZCBhbiBIVFRQKFMpLW9ubHkgcmVzdHJpY3Rpb24gdG8gY29weWlu
ZyB0aGUgZm9ybSBib2R5IGZvcgorICAgICAgICBYSFJzIHRoYXQgUE9TVCwgYW5kIGl0IGFkZGVk
IHRoYXQgcmVzdHJpY3Rpb24gd2l0aCBubyBleHBsYW5hdGlvbi4KKworICAgICAgICBXZSBkZWZp
bml0ZWx5IHdhbnQgdG8gYWxsb3cgdGhhdC4KKworICAgICAgICBCbG9icyBhcmUgYnJva2VuIGF0
IHRoaXMgdGltZSAoY292ZXJlZCBieSBidWcgMTk3MjM3KQorCisgICAgICAgICogeG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpzZW5kQnl0ZXNEYXRhKToKKwogMjAx
OS0wNC0yMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogRGVidWdnZXI6IHJlbW92ZSBBU1NFUlRfTk9UX1JFQUNIRUQgd2hlcmUgaXQn
cyBwb3NzaWJsZSB0byByZWFjaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5k
ZXggZjRiOTdhOTgyZTg5N2I0MDQxNDVhYzBjZmMxOWFhNzE5ZGU1OGNkOS4uYTIwZTI1NjI0OGU3
YTE1NmZmYmM3YTA0N2JkNWRhYzAyNTQzNzYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCkBAIC00NTksNyArNDU5LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJl
cXVlc3Q6OnNlbmQoRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIGlmIChhdXRvIHJlc3VsdCA9IHBy
ZXBhcmVUb1NlbmQoKSkKICAgICAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0LnZhbHVlKCkpOwog
Ci0gICAgaWYgKG1fbWV0aG9kICE9ICJHRVQiICYmIG1fbWV0aG9kICE9ICJIRUFEIiAmJiBtX3Vy
bC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKKyAgICBpZiAobV9tZXRob2QgIT0gIkdFVCIg
JiYgbV9tZXRob2QgIT0gIkhFQUQiKSB7CiAgICAgICAgIGlmICghbV9yZXF1ZXN0SGVhZGVycy5j
b250YWlucyhIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpKSB7CiAjaWYgRU5BQkxFKERBU0hC
T0FSRF9TVVBQT1JUKQogICAgICAgICAgICAgaWYgKHVzZXNEYXNoYm9hcmRCYWNrd2FyZENvbXBh
dGliaWxpdHlNb2RlKCkpCkBAIC00ODksNyArNDg5LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1M
SHR0cFJlcXVlc3Q6OnNlbmQoY29uc3QgU3RyaW5nJiBib2R5KQogICAgIGlmIChhdXRvIHJlc3Vs
dCA9IHByZXBhcmVUb1NlbmQoKSkKICAgICAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0LnZhbHVl
KCkpOwogCi0gICAgaWYgKCFib2R5LmlzTnVsbCgpICYmIG1fbWV0aG9kICE9ICJHRVQiICYmIG1f
bWV0aG9kICE9ICJIRUFEIiAmJiBtX3VybC5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkpIHsKKyAg
ICBpZiAoIWJvZHkuaXNOdWxsKCkgJiYgbV9tZXRob2QgIT0gIkdFVCIgJiYgbV9tZXRob2QgIT0g
IkhFQUQiKSB7CiAgICAgICAgIFN0cmluZyBjb250ZW50VHlwZSA9IG1fcmVxdWVzdEhlYWRlcnMu
Z2V0KEhUVFBIZWFkZXJOYW1lOjpDb250ZW50VHlwZSk7CiAgICAgICAgIGlmIChjb250ZW50VHlw
ZS5pc051bGwoKSkgewogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9SVCkKQEAgLTUxNiw3ICs1
MTYsMTcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gWE1MSHR0cFJlcXVlc3Q6OnNlbmQoQmxvYiYgYm9k
eSkKICAgICBpZiAoYXV0byByZXN1bHQgPSBwcmVwYXJlVG9TZW5kKCkpCiAgICAgICAgIHJldHVy
biBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpKTsKIAotICAgIGlmIChtX21ldGhvZCAhPSAiR0VUIiAm
JiBtX21ldGhvZCAhPSAiSEVBRCIgJiYgbV91cmwucHJvdG9jb2xJc0luSFRUUEZhbWlseSgpKSB7
CisgICAgaWYgKG1fbWV0aG9kICE9ICJHRVQiICYmIG1fbWV0aG9kICE9ICJIRUFEIikgeworICAg
ICAgICBpZiAoIW1fdXJsLnByb3RvY29sSXNJbkhUVFBGYW1pbHkoKSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IFdlIHdvdWxkIGxpa2UgdG8gc3VwcG9ydCBwb3N0aW5nIEJsb2JzIHRvIG5vbi1o
dHRwIFVSTHMgKGUuZy4gY3VzdG9tIFVSTCBzY2hlbWVzKQorICAgICAgICAgICAgLy8gYnV0IGJl
Y2F1c2Ugb2YgdGhlIGFyY2hpdGVjdHVyZSBvZiBibG9iLWhhbmRsaW5nIHRoYXQgd2lsbCByZXF1
aXJlIGEgZmFpciBhbW91bnQgb2Ygd29yay4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgQVND
SUlMaXRlcmFsIGNvbnNvbGVNZXNzYWdlIHsgIlBPU1Qgb2YgYSBCbG9iIHRvIG5vbi1IVFRQIHBy
b3RvY29scyBpbiBYTUxIdHRwUmVxdWVzdC5zZW5kKCkgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVk
LiJfcyB9OworICAgICAgICAgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hZGRDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5nLCBjb25zb2xl
TWVzc2FnZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybiBjcmVhdGVSZXF1ZXN0
KCk7CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIGlmICghbV9yZXF1ZXN0SGVhZGVycy5j
b250YWlucyhIVFRQSGVhZGVyTmFtZTo6Q29udGVudFR5cGUpKSB7CiAgICAgICAgICAgICBjb25z
dCBTdHJpbmcmIGJsb2JUeXBlID0gYm9keS50eXBlKCk7CiAgICAgICAgICAgICBpZiAoIWJsb2JU
eXBlLmlzRW1wdHkoKSAmJiBpc1ZhbGlkQ29udGVudFR5cGUoYmxvYlR5cGUpKQpAQCAtNTM5LDcg
KzU0OSw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFhNTEh0dHBSZXF1ZXN0OjpzZW5kKERPTUZvcm1E
YXRhJiBib2R5KQogICAgIGlmIChhdXRvIHJlc3VsdCA9IHByZXBhcmVUb1NlbmQoKSkKICAgICAg
ICAgcmV0dXJuIFdURk1vdmUocmVzdWx0LnZhbHVlKCkpOwogCi0gICAgaWYgKG1fbWV0aG9kICE9
ICJHRVQiICYmIG1fbWV0aG9kICE9ICJIRUFEIiAmJiBtX3VybC5wcm90b2NvbElzSW5IVFRQRmFt
aWx5KCkpIHsKKyAgICBpZiAobV9tZXRob2QgIT0gIkdFVCIgJiYgbV9tZXRob2QgIT0gIkhFQUQi
KSB7CiAgICAgICAgIG1fcmVxdWVzdEVudGl0eUJvZHkgPSBGb3JtRGF0YTo6Y3JlYXRlTXVsdGlQ
YXJ0KGJvZHksIGRvY3VtZW50KCkpOwogICAgICAgICBtX3JlcXVlc3RFbnRpdHlCb2R5LT5nZW5l
cmF0ZUZpbGVzKGRvY3VtZW50KCkpOwogICAgICAgICBpZiAoIW1fcmVxdWVzdEhlYWRlcnMuY29u
dGFpbnMoSFRUUEhlYWRlck5hbWU6OkNvbnRlbnRUeXBlKSkKQEAgLTU2Niw3ICs1NzYsNyBAQCBF
eGNlcHRpb25Pcjx2b2lkPiBYTUxIdHRwUmVxdWVzdDo6c2VuZEJ5dGVzRGF0YShjb25zdCB2b2lk
KiBkYXRhLCBzaXplX3QgbGVuZ3RoKQogICAgIGlmIChhdXRvIHJlc3VsdCA9IHByZXBhcmVUb1Nl
bmQoKSkKICAgICAgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0LnZhbHVlKCkpOwogCi0gICAgaWYg
KG1fbWV0aG9kICE9ICJHRVQiICYmIG1fbWV0aG9kICE9ICJIRUFEIiAmJiBtX3VybC5wcm90b2Nv
bElzSW5IVFRQRmFtaWx5KCkpIHsKKyAgICBpZiAobV9tZXRob2QgIT0gIkdFVCIgJiYgbV9tZXRo
b2QgIT0gIkhFQUQiKSB7CiAgICAgICAgIG1fcmVxdWVzdEVudGl0eUJvZHkgPSBGb3JtRGF0YTo6
Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CiAgICAgICAgIGlmIChtX3VwbG9hZCkKICAgICAgICAgICAg
IG1fcmVxdWVzdEVudGl0eUJvZHktPnNldEFsd2F5c1N0cmVhbSh0cnVlKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1M2RiNzgyZmI4M2YyMTU1
NDExNmUyMjQxYzVkM2Y3MjEwYjdkYmI2Li4zNzY2YTdmZTk0NGIxNDJmMTkzMzJmZmNjNmRhYjcx
OTI5ZGVkNzNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDQtMjQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25A
YXBwbGUuY29tPgorCisgICAgICAgIFhNTEhUVFBSZXF1ZXN0IFBPU1RzIHRvIGEgY3VzdG9tIFdL
VVJMU2NoZW1lSGFuZGxlciBwcm90b2NvbCBhcmUgbWlzc2luZyB0aGUgSFRUUCBib2R5LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMzYyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW06IEFkZCBhIHRl
c3QgdGhhdCBQT1NUcyBhbGwgc29ydHMgb2YgdGhpbmdzCisgICAgICAgICAgZnJvbSBhbiBYSFIg
dG8gYSBjdXN0b20gcHJvdG9jb2wuCisKIDIwMTktMDQtMjMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0cyBmb3IgV0tX
ZWJWaWV3LnNlcnZlclRydXN0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxlci0xLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5tbQppbmRleCBjZjhlZDFk
NjU3ZWQ3ZWE3NjIwY2FiYmI5MDRkMTM0ODIyMTM4ZWFhLi5mMzRlYjNiZDMwNzk1MTUyOTA5NWQ1
NmJjZjlmNTQ2NTk0ZTFkYjg3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxlci0xLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW0KQEAgLTI3LDYg
KzI3LDkgQEAKIAogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRlc3Qu
aCIKKyNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKKyNpbXBvcnQgIlRlc3RVUkxT
Y2hlbWVIYW5kbGVyLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCiAjaW1wb3J0IDxXZWJL
aXQvV0tVUkxTY2hlbWVIYW5kbGVyLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tVUkxTY2hlbWVUYXNr
UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRl
Lmg+CkBAIC01NzksNCArNTgyLDExMyBAQCBURVNUKFVSTFNjaGVtZUhhbmRsZXIsIFN5bmNYSFJF
cnJvcikKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogfQogCitzdGF0aWMg
Y29uc3QgY2hhciogeGhyUG9zdERvY3VtZW50ID0gUiJYSFJQT1NUUkVTT1VSQ0UoPGh0bWw+PGhl
YWQ+PHNjcmlwdD4KK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgeworICAgICAg
ICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIHhoci5vcGVuKCdQT1NU
JywgJy9hcnJheWJ1ZmZlcicpOworICAgICAgICAKKyAgICAgICAgdmFyIGNoYXJzID0gW107Cisg
ICAgICAgIHZhciBzdHIgPSAiSGkgdGhlcmUiOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHN0ci5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIGNoYXJzLnB1c2goc3RyLmNoYXJDb2RlQXQo
aSkpOworCisgICAgICAgIHhoci5zZW5kKG5ldyBVaW50OEFycmF5KGNoYXJzKSk7CisgICAgfQor
ICAgIHsKKyAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworICAgICAgICB4
aHIub3BlbignUE9TVCcsICcvc3RyaW5nJyk7CisgICAgICAgIHhoci5zZW5kKCdmb289YmFyJyk7
CisgICAgfQorICAgIHsKKyAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwor
ICAgICAgICB4aHIub3BlbignUE9TVCcsICcvZG9jdW1lbnQnKTsKKyAgICAgICAgeGhyLnNlbmQo
d2luZG93LmRvY3VtZW50KTsKKyAgICB9CisgICAgeworICAgICAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIHhoci5vcGVuKCdQT1NUJywgJy9mb3JtZGF0YScpOwor
ICAgICAgICAKKyAgICAgICAgdmFyIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7CisgICAgICAg
IGZvcm1EYXRhLmFwcGVuZCgiZm9vIiwgImJheiIpOworICAgICAgICB4aHIuc2VuZChmb3JtRGF0
YSk7CisgICAgfQorICAgIHsKKy8vICAgICAgICAvLyBGSVhNRTogWEhSIHBvc3Rpbmcgb2YgQmxv
YnMgaXMgY3VycmVudGx5IHVuc3VwcG9ydGVkCisvLyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzIzNworLy8gICAgICAgIHZhciB4aHIgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKTsKKy8vICAgICAgICB4aHIub3BlbignUE9TVCcsICcvYmxvYicpOwor
Ly8gICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoWyJIZWxsbyB3b3JsZCEiXSwge3R5cGU6ICJ0
ZXh0L3BsYWluIn0pOworLy8gICAgICAgIHhoci5zZW5kKGJsb2IpOworICAgIH0KK307Cis8L3Nj
cmlwdD48L2hlYWQ+Cis8Ym9keT4KK0hlbGxvIHdvcmxkIQorPC9ib2R5PjwvaHRtbD4pWEhSUE9T
VFJFU09VUkNFIjsKKworCitURVNUKFVSTFNjaGVtZUhhbmRsZXIsIFhIUlBvc3QpCit7CisgICAg
YXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1Rlc3RVUkxTY2hlbWVIYW5kbGVyIGFsbG9jXSBpbml0
XSk7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBbY29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5k
bGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAieGhycG9zdCJdOworICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVj
dE1ha2UoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0p
OworCisgICAgc3RhdGljIGJvb2wgZG9uZTsKKyAgICBzdGF0aWMgdWludDhfdCBzZWVuVGFza3M7
CisgICAgW2hhbmRsZXIgc2V0U3RhcnRVUkxTY2hlbWVUYXNrSGFuZGxlcjpeKFdLV2ViVmlldyAq
LCBpZDxXS1VSTFNjaGVtZVRhc2s+IHRhc2spIHsKKyAgICAgICAgaWYgKFt0YXNrLnJlcXVlc3Qu
VVJMLmFic29sdXRlU3RyaW5nIGlzRXF1YWxUb1N0cmluZzpAInhocnBvc3Q6Ly9leGFtcGxlL3N0
cmluZyJdKSB7CisgICAgICAgICAgICBzdGF0aWMgYm9vbCByZWFjaGVkOworICAgICAgICAgICAg
RVhQRUNUX0ZBTFNFKHJlYWNoZWQpOworICAgICAgICAgICAgcmVhY2hlZCA9IHRydWU7CisgICAg
ICAgICAgICBFWFBFQ1RfRVEodGFzay5yZXF1ZXN0LkhUVFBCb2R5Lmxlbmd0aCwgN3UpOworICAg
ICAgICAgICAgRVhQRUNUX1NUUkVRKHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPih0YXNrLnJlcXVl
c3QuSFRUUEJvZHkuYnl0ZXMpLCAiZm9vPWJhciIpOworICAgICAgICB9IGVsc2UgaWYgKFt0YXNr
LnJlcXVlc3QuVVJMLmFic29sdXRlU3RyaW5nIGlzRXF1YWxUb1N0cmluZzpAInhocnBvc3Q6Ly9l
eGFtcGxlL2FycmF5YnVmZmVyIl0pIHsKKyAgICAgICAgICAgIHN0YXRpYyBib29sIHJlYWNoZWQ7
CisgICAgICAgICAgICBFWFBFQ1RfRkFMU0UocmVhY2hlZCk7CisgICAgICAgICAgICByZWFjaGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgIEVYUEVDVF9FUSh0YXNrLnJlcXVlc3QuSFRUUEJvZHkubGVu
Z3RoLCA4dSk7CisgICAgICAgICAgICBFWFBFQ1RfU1RSRVEoc3RhdGljX2Nhc3Q8Y29uc3QgY2hh
cio+KHRhc2sucmVxdWVzdC5IVFRQQm9keS5ieXRlcyksICJIaSB0aGVyZSIpOworICAgICAgICB9
IGVsc2UgaWYgKFt0YXNrLnJlcXVlc3QuVVJMLmFic29sdXRlU3RyaW5nIGlzRXF1YWxUb1N0cmlu
ZzpAInhocnBvc3Q6Ly9leGFtcGxlL2RvY3VtZW50Il0pIHsKKyAgICAgICAgICAgIHN0YXRpYyBi
b29sIHJlYWNoZWQ7CisgICAgICAgICAgICBFWFBFQ1RfRkFMU0UocmVhY2hlZCk7CisgICAgICAg
ICAgICByZWFjaGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIEVYUEVDVF9FUSh0YXNrLnJlcXVlc3Qu
SFRUUEJvZHkubGVuZ3RoLCBzdHJsZW4oeGhyUG9zdERvY3VtZW50KSk7CisgICAgICAgICAgICBF
WFBFQ1RfU1RSRVEoc3RhdGljX2Nhc3Q8Y29uc3QgY2hhcio+KHRhc2sucmVxdWVzdC5IVFRQQm9k
eS5ieXRlcyksIHhoclBvc3REb2N1bWVudCk7CisgICAgICAgIH0gZWxzZSBpZiAoW3Rhc2sucmVx
dWVzdC5VUkwuYWJzb2x1dGVTdHJpbmcgaXNFcXVhbFRvU3RyaW5nOkAieGhycG9zdDovL2V4YW1w
bGUvZm9ybWRhdGEiXSkgeworICAgICAgICAgICAgc3RhdGljIGJvb2wgcmVhY2hlZDsKKyAgICAg
ICAgICAgIEVYUEVDVF9GQUxTRShyZWFjaGVkKTsKKyAgICAgICAgICAgIHJlYWNoZWQgPSB0cnVl
OworICAgICAgICAgICAgLy8gVGhlIGxlbmd0aCBvZiB0aGlzIGlzIHZhcmlhYmxlCisgICAgICAg
ICAgICBhdXRvICpmb3JtRGF0YVN0cmluZyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmlu
ZzpzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4odGFzay5yZXF1ZXN0LkhUVFBCb2R5LmJ5dGVzKV07
CisgICAgICAgICAgICBFWFBFQ1RfVFJVRShbZm9ybURhdGFTdHJpbmcgY29udGFpbnNTdHJpbmc6
QCJDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJmb29cIiJdKTsKKyAgICAg
ICAgICAgIEVYUEVDVF9UUlVFKFtmb3JtRGF0YVN0cmluZyBjb250YWluc1N0cmluZzpAImJheiJd
KTsKKyAgICAgICAgICAgIEVYUEVDVF9UUlVFKFtmb3JtRGF0YVN0cmluZyBjb250YWluc1N0cmlu
ZzpAIldlYktpdEZvcm1Cb3VuZGFyeSJdKTsKKyAgICAgICAgfSBlbHNlIGlmIChbdGFzay5yZXF1
ZXN0LlVSTC5hYnNvbHV0ZVN0cmluZyBpc0VxdWFsVG9TdHJpbmc6QCJ4aHJwb3N0Oi8vZXhhbXBs
ZS9ibG9iIl0pIHsKKyAgICAgICAgICAgIHN0YXRpYyBib29sIHJlYWNoZWQ7CisgICAgICAgICAg
ICBFWFBFQ1RfRkFMU0UocmVhY2hlZCk7CisgICAgICAgICAgICByZWFjaGVkID0gdHJ1ZTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgLy8gRklYTUU6IFhIUiBwb3N0aW5nIG9mIEJsb2JzIGlz
IGN1cnJlbnRseSB1bnN1cHBvcnRlZAorICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzIzNworCisgICAgICAgICAgICBGQUlMKCk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBXZSBvbmx5IGV4cGVjdCBvbmUgb2YgdGhlIDUg
VVJMcyB1cCBhYm92ZS4KKyAgICAgICAgICAgIEZBSUwoKTsKKyAgICAgICAgfQorCisgICAgICAg
IGF1dG8gcmVzcG9uc2UgPSBhZG9wdE5TKFtbTlNVUkxSZXNwb25zZSBhbGxvY10gaW5pdFdpdGhV
Ukw6dGFzay5yZXF1ZXN0LlVSTCBNSU1FVHlwZTpAInRleHQvaHRtbCIgZXhwZWN0ZWRDb250ZW50
TGVuZ3RoOjAgdGV4dEVuY29kaW5nTmFtZTpuaWxdKTsKKyAgICAgICAgW3Rhc2sgZGlkUmVjZWl2
ZVJlc3BvbnNlOnJlc3BvbnNlLmdldCgpXTsKKyAgICAgICAgW3Rhc2sgZGlkRmluaXNoXTsKKyAg
ICAgICAgCisgICAgICAgIGlmICgrK3NlZW5UYXNrcyA9PSA0KQorICAgICAgICAgICAgZG9uZSA9
IHRydWU7CisgICAgfV07CisgICAgCisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6W05TU3Ry
aW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOnhoclBvc3REb2N1bWVudF0gYmFzZVVSTDpbTlNVUkwg
VVJMV2l0aFN0cmluZzpAInhocnBvc3Q6Ly9leGFtcGxlL3hocnRlc3QiXV07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKK30KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>