<?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>211386</bug_id>
          
          <creation_ts>2020-05-04 09:23:32 -0700</creation_ts>
          <short_desc>REGRESSION (r261056): [ Mac WK1 ] inspector/console/console-api.html is flaky crashing</short_desc>
          <delta_ts>2020-05-07 11:10:42 -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>Scrolling</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=211245</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>211418</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Truitt Savell">tsavell</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1648568</commentid>
    <comment_count>0</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-05-04 09:23:32 -0700</bug_when>
    <thetext>inspector/console/console-api.html

This test began crashing around r261063

History:
https://results.webkit.org/?suite=layout-tests&amp;test=inspector%2Fconsole%2Fconsole-api.html

Crash Log:
https://build.webkit.org/results/Apple-Catalina-Release-WK1-Tests/r261078%20(5479)/inspector/console/console-api-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648595</commentid>
    <comment_count>1</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-05-04 10:15:24 -0700</bug_when>
    <thetext>Application Specific Backtrace 1:
0   CoreFoundation                      0x00007fff3855fd07 __exceptionPreprocess + 250
1   libobjc.A.dylib                     0x00007fff712845bf objc_exception_throw + 48
2   CoreFoundation                      0x00007fff385dec97 -[NSObject(NSObject) __retain_OA] + 0
3   CoreFoundation                      0x00007fff384c457b ___forwarding___ + 1427
4   CoreFoundation                      0x00007fff3858aa88 __forwarding_prep_1___ + 120
5   AppKit                              0x00007fff357f2f11 -[NSScrollerImp _unsafeRectForPart:] + 1500
6   AppKit                              0x00007fff357f31cf -[NSOverlayScrollerImp _unsafeRectForPart:] + 147
7   AppKit                              0x00007fff357f28de -[NSScrollerImp _threadsafeRectForPart:preBlock:postBlock:] + 82
8   AppKit                              0x00007fff359cd206 -[NSOverlayScrollerImp expandedRectForPart:] + 154
9   AppKit                              0x00007fff359cd0d7 -[NSScrollerImp _rolloverTrackingRect] + 45
10  AppKit                              0x00007fff359d5ffc -[NSScrollerImpPair _beginHideOverlayScrollers] + 296
11  Foundation                          0x00007fff3abd53ca __NSFireTimer + 67
12  CoreFoundation                      0x00007fff384fe9b9 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
13  CoreFoundation                      0x00007fff384fe51f __CFRunLoopDoTimer + 859
14  CoreFoundation                      0x00007fff384fe007 __CFRunLoopDoTimers + 322
15  CoreFoundation                      0x00007fff384e2daa __CFRunLoopRun + 1871
16  CoreFoundation                      0x00007fff384e1ffe CFRunLoopRunSpecific + 462
17  DumpRenderTree                      0x0000000106288e84 _ZL7runTestRKNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE + 2675
18  DumpRenderTree                      0x0000000106288025 _Z14dumpRenderTreeiPPKc + 2933
19  DumpRenderTree                      0x0000000106289a8c _Z18DumpRenderTreeMainiPPKc + 1490
20  libdyld.dylib                       0x00007fff7242bcc9 start + 1
21  ???                                 0x0000000000000002 0x0 + 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648597</commentid>
    <comment_count>2</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-05-04 10:15:59 -0700</bug_when>
    <thetext>Maybe related to:

Make it possible to test overlay scrollbar interactions
https://trac.webkit.org/changeset/261056/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648599</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-05-04 10:17:13 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #0)
&gt; Crash Log:
&gt; https://build.webkit.org/results/Apple-Catalina-Release-WK1-Tests/
&gt; r261078%20(5479)/inspector/console/console-api-crash-log.txt

This crash looks like an over-released Objective-C object (that was later replaced by another object of a different type):


Application Specific Information:
CRASHING TEST: inspector/console/console-api.html
*** Terminating app due to uncaught exception &apos;NSInvalidArgumentException&apos;, reason: &apos;-[__NSMallocBlock__ convertRectToBacking:]: unrecognized selector sent to instance 0x7fefcf5f0a70&apos;
abort() called
terminating with uncaught exception of type NSException


This might have caught the bug sooner:
Bug 211245: EWS bots should run with NSZombieEnabled=YES

Also, this is a crash in AppKit scrolling code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648605</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 10:26:37 -0700</bug_when>
    <thetext>Oddly none of the new tests were run in the same shard before the crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648606</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 10:27:05 -0700</bug_when>
    <thetext>Oh but I also made overlay scrollbars actually be overlay scrollbars. That must be it.

Note this is WK1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648609</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-04 10:30:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/62851084&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648621</commentid>
    <comment_count>7</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-05-04 10:56:47 -0700</bug_when>
    <thetext>It looks like two other tests are also crashing related to this:
inspector/console/command-line-api-getEventListeners.html
inspector/console/command-line-api.html

History:
https://results.webkit.org/?suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;test=inspector%2Fconsole%2Fcommand-line-api-getEventListeners.html&amp;test=inspector%2Fconsole%2Fcommand-line-api.html&amp;test=inspector%2Fconsole%2Fconsole-api.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648655</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 11:54:07 -0700</bug_when>
    <thetext>inspector/console/command-line-api-copy.html is the only test that triggers overlay scrollbars</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648657</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 11:56:40 -0700</bug_when>
    <thetext>Seems like createPageForSanitizingWebContent() doesn&apos;t get the memo that DRT uses mock scrollbars.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648659</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 12:00:07 -0700</bug_when>
    <thetext>I can&apos;t reproduce crashes on Catalina, nor can I detect NSScrollerImp left with bad delegates.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648668</commentid>
    <comment_count>11</comment_count>
      <attachid>398397</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 12:08:28 -0700</bug_when>
    <thetext>Created attachment 398397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648688</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 12:53:03 -0700</bug_when>
    <thetext>Landed the logging in https://trac.webkit.org/changeset/261102/webkit, let&apos;s see what happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648777</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 15:27:47 -0700</bug_when>
    <thetext>Looks like we do have crashes from Catalina too:
https://build.webkit.org/builders/Apple-Catalina-Debug-WK1-Tests/builds/4319</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648780</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 15:31:20 -0700</bug_when>
    <thetext>Logging didn&apos;t reveal anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648781</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 15:38:05 -0700</bug_when>
    <thetext>Can&apos;t reproduce with run-webkit-tests inspector/console/command-line-api-copy.html inspector/console/command-line-api-getEventListeners.html -1 --iterations=100 -f -g</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648833</commentid>
    <comment_count>16</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-05-04 17:03:30 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #14)
&gt; Logging didn&apos;t reveal anything.
The logging upset the Perf bot: https://build.webkit.org/builders/Apple-Catalina-Release-WK2-Perf/builds/851

Can we go ahead and revert it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1648858</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-04 17:36:03 -0700</bug_when>
    <thetext>Yes: bug 211418.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649790</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-06 14:17:34 -0700</bug_when>
    <thetext>I can reproduce. Logging shows that we lost the NSScrollerImp before clearing the delegate:

worker/0 inspector/console/command-line-api-copy.html output stderr lines:

 ScrollAnimatorMac 0x122608700 didAddVerticalScrollbar 0x1226cad48: setting delegate 0x7f9255d6ac60 on imp 0x7f9255d56510
 ScrollAnimatorMac 0x122608700 willRemoveVerticalScrollbar 0x1226cad48: clearing delegate 0x0 on imp 0x7f9255d56510
...
 ScrollAnimatorMac 0x122608e00 didAddVerticalScrollbar 0x1226ca898: setting delegate 0x7f9255d3a000 on imp 0x7f9255d65760
 ScrollAnimatorMac 0x122608e00 willRemoveVerticalScrollbar 0x1226ca898: clearing delegate 0x0 on imp 0x0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649791</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-06 14:17:40 -0700</bug_when>
    <thetext>We’re clearing the ScrollbarThemeMac which holds the mapping between Scrollbars and NSScrollerImps, so we lost the ability to find the NSScrollerImp for a given scrollbar, and leave the delegate dangling. So this is definitely a test-only crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649793</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-06 14:22:24 -0700</bug_when>
    <thetext>`-[WebInspectorWindowController init] is enabling overlay scrollbars when running inspector/console/command-line-api-copy.html, then at the end of the test we re-enable mock scrollbars via gTestRunner-&gt;setDeveloperExtrasEnabled(false) then load about:blank, and at that point no longer disassociate the Scrollbar from its NSScrollerImp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649812</commentid>
    <comment_count>21</comment_count>
      <attachid>398661</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-06 14:46:38 -0700</bug_when>
    <thetext>Created attachment 398661
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649815</commentid>
    <comment_count>22</comment_count>
      <attachid>398661</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-05-06 14:50:11 -0700</bug_when>
    <thetext>Comment on attachment 398661
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        This bug was caused by the failure clear the delegate on an NSScrollerImp when, for testing,

There is at least one missing or extra word here

&gt; Source/WebCore/platform/mac/ScrollbarThemeMac.mm:185
&gt; +        [iter-&gt;value.get() setDelegate:nil];

.get() here? I&apos;m not sure what `value` is , but hopefully unnecessary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649868</commentid>
    <comment_count>23</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-06 15:56:33 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/261256/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649871</commentid>
    <comment_count>24</comment_count>
      <attachid>398661</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-06 15:59:33 -0700</bug_when>
    <thetext>Comment on attachment 398661
Patch

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

&gt; Source/WebCore/platform/mac/ScrollbarThemeMac.mm:187
&gt; -    scrollbarMap()-&gt;remove(&amp;scrollbar);
&gt; +    auto iter = scrollbarMap().find(&amp;scrollbar);
&gt; +    if (iter != scrollbarMap().end()) {
&gt; +        [iter-&gt;value.get() setDelegate:nil];
&gt; +        scrollbarMap().remove(iter);
&gt; +    }

This can be written really nicely using &quot;take()&quot;. I think this will work:

    [scrollbarMap()-&gt;take(&amp;scrollbar) setDelegate:nil];

Because Objective-C messages quietly do nothing with nil, don’t even need an if statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649872</commentid>
    <comment_count>25</comment_count>
      <attachid>398661</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-06 16:00:22 -0700</bug_when>
    <thetext>Comment on attachment 398661
Patch

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

&gt;&gt; Source/WebCore/platform/mac/ScrollbarThemeMac.mm:187
&gt;&gt; +    }
&gt; 
&gt; This can be written really nicely using &quot;take()&quot;. I think this will work:
&gt; 
&gt;     [scrollbarMap()-&gt;take(&amp;scrollbar) setDelegate:nil];
&gt; 
&gt; Because Objective-C messages quietly do nothing with nil, don’t even need an if statement.

[scrollbarMap().take(&amp;scrollbar) setDelegate:nil];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650229</commentid>
    <comment_count>26</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-07 11:10:42 -0700</bug_when>
    <thetext>Did that in https://trac.webkit.org/changeset/261306/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398397</attachid>
            <date>2020-05-04 12:08:28 -0700</date>
            <delta_ts>2020-05-04 13:03:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211386-20200504120827.patch</filename>
            <type>text/plain</type>
            <size>4774</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGJhNzkyZGYyYjQzNDRk
NWIxOTZiMTM4ODg5YjIwNTkwZTkyM2YwNS4uYzc1NmYyYzQxNGQyOTkxOTQ3Yzc1NDk1MTEzNjk4
YmE0NmZlOTZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA1LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT046
IFsgTWFjIFdLMSBdIGluc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtYXBpLmh0bWwgaXMgZmxha3kg
Y3Jhc2hpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMTM4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBzb21lIHRlbXBvcmFyeSBsb2dnaW5nIGNvZGUgdG8gZ2V0IGRhdGEgZnJvbSBNb2phdmUg
Ym90cyByZWxhdGVkIHRvIHRoaXMKKyAgICAgICAgTlNTY3JvbGxlckltcCBjcmFzaC4KKworICAg
ICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OmR1bXBQYWludGVyc1dpdGhEZWxlZ2F0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
QW5pbWF0b3JNYWM6OlNjcm9sbEFuaW1hdG9yTWFjKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yTWFjOjp+U2Nyb2xsQW5pbWF0b3JNYWMpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3JNYWM6OmRpZEFkZFZlcnRpY2FsU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbEFuaW1hdG9yTWFjOjp3aWxsUmVtb3ZlVmVydGljYWxTY3JvbGxiYXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OmRpZEFkZEhvcml6b250YWxTY3JvbGxi
YXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OndpbGxSZW1vdmVIb3Jp
em9udGFsU2Nyb2xsYmFyKToKKwogMjAyMC0wNS0wMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIGF0b2IoKSBzaG91bGQgbm90IGFjY2VwdCBhIHZlcnRpY2FsIHRhYgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmlu
ZGV4IDJlMDdmMDFlNjY4ZjBiMTY1ZjliMDMyYzc0NWE2YzE0ZmQyMWNjNWYuLjcwNzk5YTc2Nzky
NGFjMTI4NWM1MGZkYjc5OTk0ZGJmM2UyMzIwODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KQEAgLTczMCw2ICs3MzAsMjMgQEAgc3Rk
Ojp1bmlxdWVfcHRyPFNjcm9sbEFuaW1hdG9yPiBTY3JvbGxBbmltYXRvcjo6Y3JlYXRlKFNjcm9s
bGFibGVBcmVhJiBzY3JvbGxhYmwKICAgICByZXR1cm4gbWFrZVVuaXF1ZTxTY3JvbGxBbmltYXRv
ck1hYz4oc2Nyb2xsYWJsZUFyZWEpOwogfQogCisjZGVmaW5lIElOVkVTVElHQVRFXzIxMTM4NiAx
CisKKyNpZiBJTlZFU1RJR0FURV8yMTEzODYKK3N0YXRpYyBIYXNoU2V0PE5TU2Nyb2xsZXJJbXAg
Kj4gcGFpbnRlcnNXaXRoRGVsZWdhdGVzKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
SGFzaFNldDxOU1Njcm9sbGVySW1wICo+PiBwYWludGVyU2V0OworICAgIHJldHVybiBwYWludGVy
U2V0OworfQorCitzdGF0aWMgdm9pZCBkdW1wUGFpbnRlcnNXaXRoRGVsZWdhdGVzKGNvbnN0IGNo
YXIqIG1zZykKK3sKKyAgICBXVEZMb2dBbHdheXMoIiVzOiAldSBOU1Njcm9sbGVySW1wIHdpdGgg
ZGVsZWdhdGVzIiwgbXNnLCBwYWludGVyc1dpdGhEZWxlZ2F0ZXMoKS5zaXplKCkpOworICAgIGZv
ciAoYXV0byogcGFpbnRlciA6IHBhaW50ZXJzV2l0aERlbGVnYXRlcygpKQorICAgICAgICBXVEZM
b2dBbHdheXMoIiBwYWludGVyICVwIiwgcGFpbnRlcik7Cit9CisjZW5kaWYKKwogU2Nyb2xsQW5p
bWF0b3JNYWM6OlNjcm9sbEFuaW1hdG9yTWFjKFNjcm9sbGFibGVBcmVhJiBzY3JvbGxhYmxlQXJl
YSkKICAgICA6IFNjcm9sbEFuaW1hdG9yKHNjcm9sbGFibGVBcmVhKQogICAgICwgbV9pbml0aWFs
U2Nyb2xsYmFyUGFpbnRUaW1lcigqdGhpcywgJlNjcm9sbEFuaW1hdG9yTWFjOjppbml0aWFsU2Ny
b2xsYmFyUGFpbnRUaW1lckZpcmVkKQpAQCAtNzQ0LDYgKzc2MSwxMCBAQCBTY3JvbGxBbmltYXRv
ck1hYzo6U2Nyb2xsQW5pbWF0b3JNYWMoU2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhKQog
ICAgIG1fc2Nyb2xsZXJJbXBQYWlyID0gYWRvcHROUyhbW05TU2Nyb2xsZXJJbXBQYWlyIGFsbG9j
XSBpbml0XSk7CiAgICAgW21fc2Nyb2xsZXJJbXBQYWlyIHNldERlbGVnYXRlOm1fc2Nyb2xsZXJJ
bXBQYWlyRGVsZWdhdGUuZ2V0KCldOwogICAgIFttX3Njcm9sbGVySW1wUGFpciBzZXRTY3JvbGxl
clN0eWxlOlNjcm9sbGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSgpXTsKKworI2lm
IElOVkVTVElHQVRFXzIxMTM4NgorICAgIGR1bXBQYWludGVyc1dpdGhEZWxlZ2F0ZXMoIlNjcm9s
bEFuaW1hdG9yTWFjIGN0b3I6ICIpOworI2VuZGlmCiB9CiAKIFNjcm9sbEFuaW1hdG9yTWFjOjp+
U2Nyb2xsQW5pbWF0b3JNYWMoKQpAQCAtNzU1LDYgKzc3NiwxMCBAQCBTY3JvbGxBbmltYXRvck1h
Yzo6flNjcm9sbEFuaW1hdG9yTWFjKCkKICAgICBbbV92ZXJ0aWNhbFNjcm9sbGVySW1wRGVsZWdh
dGUgaW52YWxpZGF0ZV07CiAgICAgW21fc2Nyb2xsQW5pbWF0aW9uSGVscGVyRGVsZWdhdGUgaW52
YWxpZGF0ZV07CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICAKKyNpZiBJTlZF
U1RJR0FURV8yMTEzODYKKyAgICBkdW1wUGFpbnRlcnNXaXRoRGVsZWdhdGVzKCJTY3JvbGxBbmlt
YXRvck1hYyBkdG9yOiAiKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgYm9vbCBzY3JvbGxBbmltYXRp
b25FbmFibGVkRm9yU3lzdGVtKCkKQEAgLTExMTAsNiArMTEzNSwxMCBAQCB2b2lkIFNjcm9sbEFu
aW1hdG9yTWFjOjpkaWRBZGRWZXJ0aWNhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikK
ICAgICBtX3ZlcnRpY2FsU2Nyb2xsZXJJbXBEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tXZWJTY3JvbGxl
ckltcERlbGVnYXRlIGFsbG9jXSBpbml0V2l0aFNjcm9sbGJhcjpzY3JvbGxiYXJdKTsKIAogICAg
IFtwYWludGVyIHNldERlbGVnYXRlOm1fdmVydGljYWxTY3JvbGxlckltcERlbGVnYXRlLmdldCgp
XTsKKyNpZiBJTlZFU1RJR0FURV8yMTEzODYKKyAgICBwYWludGVyc1dpdGhEZWxlZ2F0ZXMoKS5h
ZGQocGFpbnRlcik7CisjZW5kaWYKKwogICAgIGlmIChHcmFwaGljc0xheWVyKiBsYXllciA9IHNj
cm9sbGJhci0+c2Nyb2xsYWJsZUFyZWEoKS5sYXllckZvclZlcnRpY2FsU2Nyb2xsYmFyKCkpCiAg
ICAgICAgIFtwYWludGVyIHNldExheWVyOmxheWVyLT5wbGF0Zm9ybUxheWVyKCldOwogCkBAIC0x
MTI5LDYgKzExNTgsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6d2lsbFJlbW92ZVZlcnRp
Y2FsU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFyKQogICAgIG1fdmVydGljYWxTY3JvbGxl
ckltcERlbGVnYXRlID0gbnVsbHB0cjsKIAogICAgIFtwYWludGVyIHNldERlbGVnYXRlOm5pbF07
CisjaWYgSU5WRVNUSUdBVEVfMjExMzg2CisgICAgcGFpbnRlcnNXaXRoRGVsZWdhdGVzKCkucmVt
b3ZlKHBhaW50ZXIpOworI2VuZGlmCisKICAgICBbbV9zY3JvbGxlckltcFBhaXIgc2V0VmVydGlj
YWxTY3JvbGxlckltcDpuaWxdOwogfQogCkBAIC0xMTQyLDYgKzExNzUsMTAgQEAgdm9pZCBTY3Jv
bGxBbmltYXRvck1hYzo6ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9s
bGJhcikKICAgICBtX2hvcml6b250YWxTY3JvbGxlckltcERlbGVnYXRlID0gYWRvcHROUyhbW1dl
YlNjcm9sbGVySW1wRGVsZWdhdGUgYWxsb2NdIGluaXRXaXRoU2Nyb2xsYmFyOnNjcm9sbGJhcl0p
OwogCiAgICAgW3BhaW50ZXIgc2V0RGVsZWdhdGU6bV9ob3Jpem9udGFsU2Nyb2xsZXJJbXBEZWxl
Z2F0ZS5nZXQoKV07CisjaWYgSU5WRVNUSUdBVEVfMjExMzg2CisgICAgcGFpbnRlcnNXaXRoRGVs
ZWdhdGVzKCkuYWRkKHBhaW50ZXIpOworI2VuZGlmCisKICAgICBpZiAoR3JhcGhpY3NMYXllciog
bGF5ZXIgPSBzY3JvbGxiYXItPnNjcm9sbGFibGVBcmVhKCkubGF5ZXJGb3JIb3Jpem9udGFsU2Ny
b2xsYmFyKCkpCiAgICAgICAgIFtwYWludGVyIHNldExheWVyOmxheWVyLT5wbGF0Zm9ybUxheWVy
KCldOwogCkBAIC0xMTYxLDYgKzExOTgsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6d2ls
bFJlbW92ZUhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCiAgICAgbV9o
b3Jpem9udGFsU2Nyb2xsZXJJbXBEZWxlZ2F0ZSA9IG51bGxwdHI7CiAKICAgICBbcGFpbnRlciBz
ZXREZWxlZ2F0ZTpuaWxdOworI2lmIElOVkVTVElHQVRFXzIxMTM4NgorICAgIHBhaW50ZXJzV2l0
aERlbGVnYXRlcygpLnJlbW92ZShwYWludGVyKTsKKyNlbmRpZgorCiAgICAgW21fc2Nyb2xsZXJJ
bXBQYWlyIHNldEhvcml6b250YWxTY3JvbGxlckltcDpuaWxdOwogfQogCg==
</data>
<flag name="review"
          id="413787"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398661</attachid>
            <date>2020-05-06 14:46:38 -0700</date>
            <delta_ts>2020-05-06 14:50:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211386-20200506144638.patch</filename>
            <type>text/plain</type>
            <size>10985</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg4NjBiNjQ4NTk3YTcx
Y2Y4YWU5MzMwYjY3YWJhMWViMzc0ZGI2Mi4uZTlkNmViMzhjZGVkZDliMzE5NTEyMGMyYmI2M2I3
OTYxNWU2ZDg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIwLTA1LTA2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIyNjEwNTYpOiBbIE1hYyBXSzEgXSBpbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWFwaS5odG1s
IGlzIGZsYWt5IGNyYXNoaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTEzODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIGJ1ZyB3YXMgY2F1c2VkIGJ5IHRoZSBmYWlsdXJlIGNsZWFyIHRoZSBk
ZWxlZ2F0ZSBvbiBhbiBOU1Njcm9sbGVySW1wIHdoZW4sIGZvciB0ZXN0aW5nLAorICAgICAgICB3
ZSBmbGlwIGJldHdlZW4gdGhlIG5hdGl2ZSBzY3JvbGxiYXIgdGhlbWUsIGFuZCB0aGUgbW9jayBz
Y3JvbGxiYXIgdGhlbWUuCisKKyAgICAgICAgVGhlIGNydXggb2YgdGhlIGZpeCBpcyB0byBoYXZl
IFNjcm9sbEFuaW1hdG9yTWFjJ3Mgc2Nyb2xsZXJJbXBGb3JTY3JvbGxiYXIoKSBjYWxsIGEKKyAg
ICAgICAgc3RhdGljIGZ1bmN0aW9uIG9uIFNjcm9sbGJhclRoZW1lTWFjIHRvIGdldCB0aGUgcGFp
bnRlcnMsIHJhdGhlciB0aGFuIGdvaW5nIHRocm91Z2gKKyAgICAgICAgdGhlIHBvc3NpYmx5LW51
bGwgU2Nyb2xsYmFyVGhlbWVNYWMgaW5zdGFuY2UuCisKKyAgICAgICAgQSBiZWx0LWFuZC1icmFj
ZXMgZml4IGluIFNjcm9sbGJhclRoZW1lTWFjOjp1bnJlZ2lzdGVyU2Nyb2xsYmFyKCkgYWx3YXlz
IGNsZWFycyB0aGUgZGVsZWdhdGUKKyAgICAgICAgb24gdGhlIE5TU2Nyb2xsZXJJbXAgd2hlbiB1
bnJlZ2lzdGVyaW5nIGEgc2Nyb2xsYmFyLgorCisgICAgICAgIEZpbmFsbHksIG1vZGVybml6ZSBj
b2RlIGluIHZhcmlvdXMgcGxhY2VzLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFu
aW1hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6c2Nyb2xsZXJJbXBGb3JTY3JvbGxiYXIp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9sbGVyU3R5
bGUpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OnNjcm9sbGJhck1hcCk6CisgICAgICAgICgrW1dlYlNjcm9sbGJhclByZWZzT2JzZXJ2ZXIgYXBw
ZWFyYW5jZVByZWZzQ2hhbmdlZDpdKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1l
TWFjOjpyZWdpc3RlclNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVt
ZU1hYzo6dW5yZWdpc3RlclNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJU
aGVtZU1hYzo6c2V0TmV3UGFpbnRlckZvclNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxiYXJUaGVtZU1hYzo6cGFpbnRlckZvclNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxiYXJUaGVtZU1hYzo6aGFzVGh1bWIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YmFyVGhlbWVNYWM6Om1pbmltdW1UaHVtYkxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxiYXJUaGVtZU1hYzo6dXBkYXRlRW5hYmxlZFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGJhclRoZW1lTWFjOjpwYWludCk6CisKIDIwMjAtMDUtMDYgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBub3ctdW5uZWVkZWQgVVNFKEdSQU1NQVJf
Q0hFQ0tJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
QW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0
b3JNYWMubW0KaW5kZXggMmUwN2YwMWU2NjhmMGIxNjVmOWIwMzJjNzQ1YTZjMTRmZDIxY2M1Zi4u
NjExOGY3NmEyMjIzY2M4ZjI5ZWZjZmUwOWJjZTFhOWM0NTE1ZmRiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAtNTIsMTAgKzUy
LDcgQEAgc3RhdGljIFNjcm9sbGJhclRoZW1lTWFjKiBtYWNTY3JvbGxiYXJUaGVtZSgpCiAKIHN0
YXRpYyBOU1Njcm9sbGVySW1wICpzY3JvbGxlckltcEZvclNjcm9sbGJhcihTY3JvbGxiYXImIHNj
cm9sbGJhcikKIHsKLSAgICBpZiAoU2Nyb2xsYmFyVGhlbWVNYWMqIHNjcm9sbGJhclRoZW1lID0g
bWFjU2Nyb2xsYmFyVGhlbWUoKSkKLSAgICAgICAgcmV0dXJuIHNjcm9sbGJhclRoZW1lLT5wYWlu
dGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhcik7Ci0KLSAgICByZXR1cm4gbmlsOworICAgIHJldHVy
biBTY3JvbGxiYXJUaGVtZU1hYzo6cGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkBAIC0xNDY0LDEwICsxNDYxLDEwIEBAIHZvaWQgU2Ny
b2xsQW5pbWF0b3JNYWM6OnVwZGF0ZVNjcm9sbGVyU3R5bGUoKQogICAgICAgICB2ZXJ0aWNhbFNj
cm9sbGJhci0+aW52YWxpZGF0ZSgpOwogCiAgICAgICAgIE5TU2Nyb2xsZXJJbXAgKm9sZFZlcnRp
Y2FsUGFpbnRlciA9IFttX3Njcm9sbGVySW1wUGFpciB2ZXJ0aWNhbFNjcm9sbGVySW1wXTsKLSAg
ICAgICAgTlNTY3JvbGxlckltcCAqbmV3VmVydGljYWxQYWludGVyID0gW05TU2Nyb2xsZXJJbXAg
c2Nyb2xsZXJJbXBXaXRoU3R5bGU6bmV3U3R5bGUgY29udHJvbFNpemU6KE5TQ29udHJvbFNpemUp
dmVydGljYWxTY3JvbGxiYXItPmNvbnRyb2xTaXplKCkgaG9yaXpvbnRhbDpOTyByZXBsYWNpbmdT
Y3JvbGxlckltcDpvbGRWZXJ0aWNhbFBhaW50ZXJdOworICAgICAgICBhdXRvIG5ld1ZlcnRpY2Fs
UGFpbnRlciA9IHJldGFpblB0cihbTlNTY3JvbGxlckltcCBzY3JvbGxlckltcFdpdGhTdHlsZTpu
ZXdTdHlsZSBjb250cm9sU2l6ZTooTlNDb250cm9sU2l6ZSl2ZXJ0aWNhbFNjcm9sbGJhci0+Y29u
dHJvbFNpemUoKSBob3Jpem9udGFsOk5PIHJlcGxhY2luZ1Njcm9sbGVySW1wOm9sZFZlcnRpY2Fs
UGFpbnRlcl0pOwogCi0gICAgICAgIFttX3Njcm9sbGVySW1wUGFpciBzZXRWZXJ0aWNhbFNjcm9s
bGVySW1wOm5ld1ZlcnRpY2FsUGFpbnRlcl07Ci0gICAgICAgIG1hY1RoZW1lLT5zZXROZXdQYWlu
dGVyRm9yU2Nyb2xsYmFyKCp2ZXJ0aWNhbFNjcm9sbGJhciwgbmV3VmVydGljYWxQYWludGVyKTsK
KyAgICAgICAgW21fc2Nyb2xsZXJJbXBQYWlyIHNldFZlcnRpY2FsU2Nyb2xsZXJJbXA6bmV3VmVy
dGljYWxQYWludGVyLmdldCgpXTsKKyAgICAgICAgbWFjVGhlbWUtPnNldE5ld1BhaW50ZXJGb3JT
Y3JvbGxiYXIoKnZlcnRpY2FsU2Nyb2xsYmFyLCBXVEZNb3ZlKG5ld1ZlcnRpY2FsUGFpbnRlcikp
OwogICAgICAgICBtYWNUaGVtZS0+ZGlkQ3JlYXRlU2Nyb2xsZXJJbXAoKnZlcnRpY2FsU2Nyb2xs
YmFyKTsKIAogICAgICAgICAvLyBUaGUgZGlmZmVyZW50IHNjcm9sbGJhciBzdHlsZXMgaGF2ZSBk
aWZmZXJlbnQgdGhpY2tuZXNzZXMsIHNvIHdlIG11c3QgcmUtc2V0IHRoZSAKQEAgLTE0ODEsMTAg
KzE0NzgsMTAgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgp
CiAgICAgICAgIGhvcml6b250YWxTY3JvbGxiYXItPmludmFsaWRhdGUoKTsKIAogICAgICAgICBO
U1Njcm9sbGVySW1wICpvbGRIb3Jpem9udGFsUGFpbnRlciA9IFttX3Njcm9sbGVySW1wUGFpciBo
b3Jpem9udGFsU2Nyb2xsZXJJbXBdOwotICAgICAgICBOU1Njcm9sbGVySW1wICpuZXdIb3Jpem9u
dGFsUGFpbnRlciA9IFtOU1Njcm9sbGVySW1wIHNjcm9sbGVySW1wV2l0aFN0eWxlOm5ld1N0eWxl
IGNvbnRyb2xTaXplOihOU0NvbnRyb2xTaXplKWhvcml6b250YWxTY3JvbGxiYXItPmNvbnRyb2xT
aXplKCkgaG9yaXpvbnRhbDpZRVMgcmVwbGFjaW5nU2Nyb2xsZXJJbXA6b2xkSG9yaXpvbnRhbFBh
aW50ZXJdOworICAgICAgICBhdXRvIG5ld0hvcml6b250YWxQYWludGVyID0gcmV0YWluUHRyKFtO
U1Njcm9sbGVySW1wIHNjcm9sbGVySW1wV2l0aFN0eWxlOm5ld1N0eWxlIGNvbnRyb2xTaXplOihO
U0NvbnRyb2xTaXplKWhvcml6b250YWxTY3JvbGxiYXItPmNvbnRyb2xTaXplKCkgaG9yaXpvbnRh
bDpZRVMgcmVwbGFjaW5nU2Nyb2xsZXJJbXA6b2xkSG9yaXpvbnRhbFBhaW50ZXJdKTsKIAotICAg
ICAgICBbbV9zY3JvbGxlckltcFBhaXIgc2V0SG9yaXpvbnRhbFNjcm9sbGVySW1wOm5ld0hvcml6
b250YWxQYWludGVyXTsKLSAgICAgICAgbWFjVGhlbWUtPnNldE5ld1BhaW50ZXJGb3JTY3JvbGxi
YXIoKmhvcml6b250YWxTY3JvbGxiYXIsIG5ld0hvcml6b250YWxQYWludGVyKTsKKyAgICAgICAg
W21fc2Nyb2xsZXJJbXBQYWlyIHNldEhvcml6b250YWxTY3JvbGxlckltcDpuZXdIb3Jpem9udGFs
UGFpbnRlci5nZXQoKV07CisgICAgICAgIG1hY1RoZW1lLT5zZXROZXdQYWludGVyRm9yU2Nyb2xs
YmFyKCpob3Jpem9udGFsU2Nyb2xsYmFyLCBXVEZNb3ZlKG5ld0hvcml6b250YWxQYWludGVyKSk7
CiAgICAgICAgIG1hY1RoZW1lLT5kaWRDcmVhdGVTY3JvbGxlckltcCgqaG9yaXpvbnRhbFNjcm9s
bGJhcik7CiAKICAgICAgICAgLy8gVGhlIGRpZmZlcmVudCBzY3JvbGxiYXIgc3R5bGVzIGhhdmUg
ZGlmZmVyZW50IHRoaWNrbmVzc2VzLCBzbyB3ZSBtdXN0IHJlLXNldCB0aGUgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oCmluZGV4IGNmMGVlYWYy
YTEzZjdjYWQ4ZGQyNzcwZTc2NDA1ZjBiYzE3YjU2NTUuLmVlZTkzZTJjZmZkNDcxOWFmOWNmYmJm
ZjNlZTMxMGY2ZWQxZjI1OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxiYXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5oCkBAIC02MCw4ICs2MCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
Z2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYpIG92ZXJyaWRlOwogICAgIHZvaWQgdW5yZWdpc3Rl
clNjcm9sbGJhcihTY3JvbGxiYXImKSBvdmVycmlkZTsKIAotICAgIHZvaWQgc2V0TmV3UGFpbnRl
ckZvclNjcm9sbGJhcihTY3JvbGxiYXImLCBOU1Njcm9sbGVySW1wICopOwotICAgIE5TU2Nyb2xs
ZXJJbXAgKnBhaW50ZXJGb3JTY3JvbGxiYXIoU2Nyb2xsYmFyJik7CisgICAgdm9pZCBzZXROZXdQ
YWludGVyRm9yU2Nyb2xsYmFyKFNjcm9sbGJhciYsIFJldGFpblB0cjxOU1Njcm9sbGVySW1wPiYm
KTsKKyAgICBzdGF0aWMgTlNTY3JvbGxlckltcCAqcGFpbnRlckZvclNjcm9sbGJhcihTY3JvbGxi
YXImKTsKIAogICAgIHZvaWQgc2V0UGFpbnRDaGFyYWN0ZXJpc3RpY3NGb3JTY3JvbGxiYXIoU2Ny
b2xsYmFyJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3Jv
bGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJU
aGVtZU1hYy5tbQppbmRleCAzNWExNDFhN2U3NmI4Mzg3NDdlNzc3OWM5YTRlZTdjN2VmMGI0Y2Qz
Li5hODgzN2M2NTIxOGEwYzZlNjNmOGJjNzIyNDQ3ZmU1YTIwZjU1OGUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC01MSwyMCAr
NTEsMjEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgdHlwZWRlZiBIYXNoTWFwPFNj
cm9sbGJhciosIFJldGFpblB0cjxOU1Njcm9sbGVySW1wPj4gU2Nyb2xsZXJJbXBNYXA7Ci0KLSAg
ICBzdGF0aWMgU2Nyb2xsZXJJbXBNYXAqIHNjcm9sbGJhck1hcCgpCi0gICAgewotICAgICAgICBz
dGF0aWMgU2Nyb2xsZXJJbXBNYXAqIG1hcCA9IG5ldyBTY3JvbGxlckltcE1hcDsKLSAgICAgICAg
cmV0dXJuIG1hcDsKLSAgICB9Cit1c2luZyBTY3JvbGxiYXJUb1Njcm9sbGVySW1wTWFwID0gSGFz
aE1hcDxTY3JvbGxiYXIqLCBSZXRhaW5QdHI8TlNTY3JvbGxlckltcD4+OwogCitzdGF0aWMgU2Ny
b2xsYmFyVG9TY3JvbGxlckltcE1hcCYgc2Nyb2xsYmFyTWFwKCkKK3sKKyAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8U2Nyb2xsYmFyVG9TY3JvbGxlckltcE1hcD4gaW5zdGFuY2VzOworICAgIHJl
dHVybiBpbnN0YW5jZXM7CiB9CiAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwogdXNpbmcgV2Vi
Q29yZTo6U2Nyb2xsYmFyVGhlbWU7CiB1c2luZyBXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzsK
IHVzaW5nIFdlYkNvcmU6OnNjcm9sbGJhck1hcDsKLXVzaW5nIFdlYkNvcmU6OlNjcm9sbGVySW1w
TWFwOwordXNpbmcgV2ViQ29yZTo6U2Nyb2xsYmFyVG9TY3JvbGxlckltcE1hcDsKKwogQGludGVy
ZmFjZSBOU0NvbG9yIChXZWJOU0NvbG9yRGV0YWlscykKICsgKE5TSW1hZ2UgKilfbGluZW5QYXR0
ZXJuSW1hZ2U7CiBAZW5kCkBAIC05MCwxMiArOTEsMTEgQEAgKyAodm9pZClhcHBlYXJhbmNlUHJl
ZnNDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAqKXVudXNlZE5vdGlmaWNhdGlvbgogICAgICAgICBy
ZXR1cm47CiAKICAgICBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZU1hYyY+KHRoZW1lKS5wcmVm
ZXJlbmNlc0NoYW5nZWQoKTsKLSAgICBpZiAoc2Nyb2xsYmFyTWFwKCktPmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuOwotICAgIFNjcm9sbGVySW1wTWFwOjppdGVyYXRvciBlbmQgPSBzY3JvbGxi
YXJNYXAoKS0+ZW5kKCk7Ci0gICAgZm9yIChTY3JvbGxlckltcE1hcDo6aXRlcmF0b3IgaXQgPSBz
Y3JvbGxiYXJNYXAoKS0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIGl0LT5r
ZXktPnN0eWxlQ2hhbmdlZCgpOwotICAgICAgICBpdC0+a2V5LT5pbnZhbGlkYXRlKCk7CisKKyAg
ICBmb3IgKGF1dG8ga2V5VmFsdWVQYWlyIDogc2Nyb2xsYmFyTWFwKCkpIHsKKyAgICAgICAgYXV0
byogc2Nyb2xsYmFyID0ga2V5VmFsdWVQYWlyLmtleTsKKyAgICAgICAgc2Nyb2xsYmFyLT5zdHls
ZUNoYW5nZWQoKTsKKyAgICAgICAgc2Nyb2xsYmFyLT5pbnZhbGlkYXRlKCk7CiAgICAgfQogfQog
CkBAIC0xNzEsOCArMTcxLDggQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cmVnaXN0ZXJTY3Jv
bGxiYXIoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIGJvb2wg
aXNIb3Jpem9udGFsID0gc2Nyb2xsYmFyLm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9s
bGJhcjsKLSAgICBOU1Njcm9sbGVySW1wICpzY3JvbGxlckltcCA9IFtOU1Njcm9sbGVySW1wIHNj
cm9sbGVySW1wV2l0aFN0eWxlOlNjcm9sbGVyU3R5bGU6OnJlY29tbWVuZGVkU2Nyb2xsZXJTdHls
ZSgpIGNvbnRyb2xTaXplOnNjcm9sbGJhckNvbnRyb2xTaXplVG9OU0NvbnRyb2xTaXplKHNjcm9s
bGJhci5jb250cm9sU2l6ZSgpKSBob3Jpem9udGFsOmlzSG9yaXpvbnRhbCByZXBsYWNpbmdTY3Jv
bGxlckltcDpuaWxdOwotICAgIHNjcm9sbGJhck1hcCgpLT5hZGQoJnNjcm9sbGJhciwgc2Nyb2xs
ZXJJbXApOworICAgIGF1dG8gc2Nyb2xsZXJJbXAgPSByZXRhaW5QdHIoW05TU2Nyb2xsZXJJbXAg
c2Nyb2xsZXJJbXBXaXRoU3R5bGU6U2Nyb2xsZXJTdHlsZTo6cmVjb21tZW5kZWRTY3JvbGxlclN0
eWxlKCkgY29udHJvbFNpemU6c2Nyb2xsYmFyQ29udHJvbFNpemVUb05TQ29udHJvbFNpemUoc2Ny
b2xsYmFyLmNvbnRyb2xTaXplKCkpIGhvcml6b250YWw6aXNIb3Jpem9udGFsIHJlcGxhY2luZ1Nj
cm9sbGVySW1wOm5pbF0pOworICAgIHNjcm9sbGJhck1hcCgpLmFkZCgmc2Nyb2xsYmFyLCBXVEZN
b3ZlKHNjcm9sbGVySW1wKSk7CiAgICAgZGlkQ3JlYXRlU2Nyb2xsZXJJbXAoc2Nyb2xsYmFyKTsK
ICAgICB1cGRhdGVFbmFibGVkU3RhdGUoc2Nyb2xsYmFyKTsKICAgICB1cGRhdGVTY3JvbGxiYXJP
dmVybGF5U3R5bGUoc2Nyb2xsYmFyKTsKQEAgLTE4MCwxOSArMTgwLDIzIEBAIHZvaWQgU2Nyb2xs
YmFyVGhlbWVNYWM6OnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKQogCiB2
b2lkIFNjcm9sbGJhclRoZW1lTWFjOjp1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Ny
b2xsYmFyKQogewotICAgIHNjcm9sbGJhck1hcCgpLT5yZW1vdmUoJnNjcm9sbGJhcik7CisgICAg
YXV0byBpdGVyID0gc2Nyb2xsYmFyTWFwKCkuZmluZCgmc2Nyb2xsYmFyKTsKKyAgICBpZiAoaXRl
ciAhPSBzY3JvbGxiYXJNYXAoKS5lbmQoKSkgeworICAgICAgICBbaXRlci0+dmFsdWUuZ2V0KCkg
c2V0RGVsZWdhdGU6bmlsXTsKKyAgICAgICAgc2Nyb2xsYmFyTWFwKCkucmVtb3ZlKGl0ZXIpOwor
ICAgIH0KIH0KIAotdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6c2V0TmV3UGFpbnRlckZvclNjcm9s
bGJhcihTY3JvbGxiYXImIHNjcm9sbGJhciwgTlNTY3JvbGxlckltcCAqbmV3UGFpbnRlcikKK3Zv
aWQgU2Nyb2xsYmFyVGhlbWVNYWM6OnNldE5ld1BhaW50ZXJGb3JTY3JvbGxiYXIoU2Nyb2xsYmFy
JiBzY3JvbGxiYXIsIFJldGFpblB0cjxOU1Njcm9sbGVySW1wPiYmIG5ld1BhaW50ZXIpCiB7Ci0g
ICAgc2Nyb2xsYmFyTWFwKCktPnNldCgmc2Nyb2xsYmFyLCBuZXdQYWludGVyKTsKKyAgICBzY3Jv
bGxiYXJNYXAoKS5zZXQoJnNjcm9sbGJhciwgV1RGTW92ZShuZXdQYWludGVyKSk7CiAgICAgdXBk
YXRlRW5hYmxlZFN0YXRlKHNjcm9sbGJhcik7CiAgICAgdXBkYXRlU2Nyb2xsYmFyT3ZlcmxheVN0
eWxlKHNjcm9sbGJhcik7CiB9CiAKIE5TU2Nyb2xsZXJJbXAgKlNjcm9sbGJhclRoZW1lTWFjOjpw
YWludGVyRm9yU2Nyb2xsYmFyKFNjcm9sbGJhciYgc2Nyb2xsYmFyKQogewotICAgIHJldHVybiBz
Y3JvbGxiYXJNYXAoKS0+Z2V0KCZzY3JvbGxiYXIpLmdldCgpOworICAgIHJldHVybiBzY3JvbGxi
YXJNYXAoKS5nZXQoJnNjcm9sbGJhcikuZ2V0KCk7CiB9CiAKIGJvb2wgU2Nyb2xsYmFyVGhlbWVN
YWM6OmlzTGF5b3V0RGlyZWN0aW9uUlRMKFNjcm9sbGJhciYgc2Nyb2xsYmFyKQpAQCAtMjk2LDcg
KzMwMCw3IEBAIGJvb2wgU2Nyb2xsYmFyVGhlbWVNYWM6Omhhc1RodW1iKFNjcm9sbGJhciYgc2Ny
b2xsYmFyKQogewogICAgIGludCBtaW5MZW5ndGhGb3JUaHVtYjsKIAotICAgIE5TU2Nyb2xsZXJJ
bXAgKnBhaW50ZXIgPSBzY3JvbGxiYXJNYXAoKS0+Z2V0KCZzY3JvbGxiYXIpLmdldCgpOworICAg
IE5TU2Nyb2xsZXJJbXAgKnBhaW50ZXIgPSBzY3JvbGxiYXJNYXAoKS5nZXQoJnNjcm9sbGJhciku
Z2V0KCk7CiAgICAgbWluTGVuZ3RoRm9yVGh1bWIgPSBbcGFpbnRlciBrbm9iTWluTGVuZ3RoXSAr
IFtwYWludGVyIHRyYWNrT3ZlcmxhcEVuZEluc2V0XSArIFtwYWludGVyIGtub2JPdmVybGFwRW5k
SW5zZXRdCiAgICAgICAgICsgMiAqIChbcGFpbnRlciB0cmFja0VuZEluc2V0XSArIFtwYWludGVy
IGtub2JFbmRJbnNldF0pOwogCkBAIC00MzcsNyArNDQxLDcgQEAgSW50UmVjdCBTY3JvbGxiYXJU
aGVtZU1hYzo6dHJhY2tSZWN0KFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBib29sIHBhaW50aW5nKQog
aW50IFNjcm9sbGJhclRoZW1lTWFjOjptaW5pbXVtVGh1bWJMZW5ndGgoU2Nyb2xsYmFyJiBzY3Jv
bGxiYXIpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwotICAgIHJldHVybiBb
c2Nyb2xsYmFyTWFwKCktPmdldCgmc2Nyb2xsYmFyKSBrbm9iTWluTGVuZ3RoXTsKKyAgICByZXR1
cm4gW3Njcm9sbGJhck1hcCgpLmdldCgmc2Nyb2xsYmFyKSBrbm9iTWluTGVuZ3RoXTsKICAgICBF
TkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogfQogCkBAIC00OTYsNyArNTAwLDcgQEAgaW50IFNj
cm9sbGJhclRoZW1lTWFjOjpzY3JvbGxiYXJQYXJ0VG9ISVByZXNzZWRTdGF0ZShTY3JvbGxiYXJQ
YXJ0IHBhcnQpCiB2b2lkIFNjcm9sbGJhclRoZW1lTWFjOjp1cGRhdGVFbmFibGVkU3RhdGUoU2Ny
b2xsYmFyJiBzY3JvbGxiYXIpCiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19FWENFUFRJT05TOwot
ICAgIFtzY3JvbGxiYXJNYXAoKS0+Z2V0KCZzY3JvbGxiYXIpIHNldEVuYWJsZWQ6c2Nyb2xsYmFy
LmVuYWJsZWQoKV07CisgICAgW3Njcm9sbGJhck1hcCgpLmdldCgmc2Nyb2xsYmFyKSBzZXRFbmFi
bGVkOnNjcm9sbGJhci5lbmFibGVkKCldOwogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7
CiB9CiAKQEAgLTU1MCw3ICs1NTQsNyBAQCBib29sIFNjcm9sbGJhclRoZW1lTWFjOjpwYWludChT
Y3JvbGxiYXImIHNjcm9sbGJhciwgR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjbwogICAgIGNv
bnRleHQuY2xpcChkYW1hZ2VSZWN0KTsKICAgICBjb250ZXh0LnRyYW5zbGF0ZShzY3JvbGxiYXIu
ZnJhbWVSZWN0KCkubG9jYXRpb24oKSk7CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0
IGxvY2FsQ29udGV4dChjb250ZXh0KTsKLSAgICBzY3JvbGxlckltcFBhaW50KHNjcm9sbGJhck1h
cCgpLT5nZXQoJnNjcm9sbGJhcikuZ2V0KCksIHNjcm9sbGJhci5lbmFibGVkKCkpOworICAgIHNj
cm9sbGVySW1wUGFpbnQoc2Nyb2xsYmFyTWFwKCkuZ2V0KCZzY3JvbGxiYXIpLmdldCgpLCBzY3Jv
bGxiYXIuZW5hYmxlZCgpKTsKIAogICAgIHJldHVybiB0cnVlOwogfQo=
</data>
<flag name="review"
          id="414072"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>