<?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>235659</bug_id>
          
          <creation_ts>2022-01-26 11:33:04 -0800</creation_ts>
          <short_desc>[WP] Avoid calling IOSurfaceAlignProperty</short_desc>
          <delta_ts>2022-01-27 13:51:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>gavin.p</cc>
    
    <cc>mazander</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1834198</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 11:33:04 -0800</bug_when>
    <thetext>Avoid calling IOSurfaceAlignProperty in the WebContent process, since it requires IOKit access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834209</commentid>
    <comment_count>1</comment_count>
      <attachid>450048</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 11:41:11 -0800</bug_when>
    <thetext>Created attachment 450048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834215</commentid>
    <comment_count>2</comment_count>
      <attachid>450048</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-26 11:48:13 -0800</bug_when>
    <thetext>Comment on attachment 450048
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/IOSurface.h:121
&gt; +    WEBCORE_EXPORT static size_t bytesPerRowAlignment();
&gt; +    WEBCORE_EXPORT static void setBytesPerRowAlignment(size_t);

This doesn&apos;t protect against bytesPerRowAlignment() being called before setBytesPerRowAlignment(). Maybe bytesPerRowAlignment() should return an optional.

&gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:282
&gt; +        surfaceBytesPerRowAlignment().store(IOSurfaceGetPropertyAlignment(kIOSurfaceBytesPerRow));

This is surprising, since calling bytesPerRowAlignment() in the WP before setBytesPerRowAlignment() will trigger the IOSurface call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834258</commentid>
    <comment_count>3</comment_count>
      <attachid>450062</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 13:32:52 -0800</bug_when>
    <thetext>Created attachment 450062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834261</commentid>
    <comment_count>4</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 13:33:47 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #2)
&gt; Comment on attachment 450048 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450048&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/IOSurface.h:121
&gt; &gt; +    WEBCORE_EXPORT static size_t bytesPerRowAlignment();
&gt; &gt; +    WEBCORE_EXPORT static void setBytesPerRowAlignment(size_t);
&gt; 
&gt; This doesn&apos;t protect against bytesPerRowAlignment() being called before
&gt; setBytesPerRowAlignment(). Maybe bytesPerRowAlignment() should return an
&gt; optional.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/IOSurface.mm:282
&gt; &gt; +        surfaceBytesPerRowAlignment().store(IOSurfaceGetPropertyAlignment(kIOSurfaceBytesPerRow));
&gt; 
&gt; This is surprising, since calling bytesPerRowAlignment() in the WP before
&gt; setBytesPerRowAlignment() will trigger the IOSurface call.

That is a good point. I have uploaded a new patch to address this.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834267</commentid>
    <comment_count>5</comment_count>
      <attachid>450062</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-26 13:41:39 -0800</bug_when>
    <thetext>Comment on attachment 450062
Patch

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

&gt; Source/WebKit/Shared/cg/ShareableBitmapCG.cpp:97
&gt; +    return (bytesPerRow + alignmentMask) &amp; ~alignmentMask;

Pretty sure we have a macro for this.

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:461
&gt;      if (!parameters.maximumIOSurfaceSize.isEmpty())
&gt;          WebCore::IOSurface::setMaximumSize(parameters.maximumIOSurfaceSize);
&gt;  
&gt; +    WebCore::IOSurface::setBytesPerRowAlignment(parameters.bytesPerRowIOSurfaceAlignment);

We should probably do both of these for the GPU Process too, right? Also maybe we need to revisit bug 235526 now that I see we already send over maximumIOSurfaceSize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834331</commentid>
    <comment_count>6</comment_count>
      <attachid>450080</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 15:46:27 -0800</bug_when>
    <thetext>Created attachment 450080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834335</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 15:52:40 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #5)
&gt; Comment on attachment 450062 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450062&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/cg/ShareableBitmapCG.cpp:97
&gt; &gt; +    return (bytesPerRow + alignmentMask) &amp; ~alignmentMask;
&gt; 
&gt; Pretty sure we have a macro for this.
&gt; 

I searched for this, but I was not able to find it.

&gt; &gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:461
&gt; &gt;      if (!parameters.maximumIOSurfaceSize.isEmpty())
&gt; &gt;          WebCore::IOSurface::setMaximumSize(parameters.maximumIOSurfaceSize);
&gt; &gt;  
&gt; &gt; +    WebCore::IOSurface::setBytesPerRowAlignment(parameters.bytesPerRowIOSurfaceAlignment);
&gt; 
&gt; We should probably do both of these for the GPU Process too, right? Also
&gt; maybe we need to revisit bug 235526 now that I see we already send over
&gt; maximumIOSurfaceSize.

I revised the original patch to catch (with an assert) when the value is being queried before being set.

I will revisit bug 235526 in a separate bug, if you&apos;re OK with that. I think we can avoid the launch time regression by sending the value in the WebPage creation parameters.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834341</commentid>
    <comment_count>8</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 16:04:58 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #5)
&gt; Comment on attachment 450062 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=450062&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/cg/ShareableBitmapCG.cpp:97
&gt; &gt; +    return (bytesPerRow + alignmentMask) &amp; ~alignmentMask;
&gt; 
&gt; Pretty sure we have a macro for this.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:461
&gt; &gt;      if (!parameters.maximumIOSurfaceSize.isEmpty())
&gt; &gt;          WebCore::IOSurface::setMaximumSize(parameters.maximumIOSurfaceSize);
&gt; &gt;  
&gt; &gt; +    WebCore::IOSurface::setBytesPerRowAlignment(parameters.bytesPerRowIOSurfaceAlignment);
&gt; 
&gt; We should probably do both of these for the GPU Process too, right? Also
&gt; maybe we need to revisit bug 235526 now that I see we already send over
&gt; maximumIOSurfaceSize.

For the GPU process, I don&apos;t think it is strictly needed to do this, since the IOSurface calls will succeed there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834390</commentid>
    <comment_count>9</comment_count>
      <attachid>450080</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 19:37:59 -0800</bug_when>
    <thetext>Comment on attachment 450080
Patch

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834391</commentid>
    <comment_count>10</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2022-01-26 19:40:44 -0800</bug_when>
    <thetext>&lt;rdar://88024079&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1834393</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-26 20:13:48 -0800</bug_when>
    <thetext>Committed r288662 (246470@main): &lt;https://commits.webkit.org/246470@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450080.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450048</attachid>
            <date>2022-01-26 11:41:11 -0800</date>
            <delta_ts>2022-01-26 13:32:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235659-20220126114111.patch</filename>
            <type>text/plain</type>
            <size>7275</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAxLTI2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV1BdIEF2b2lkIGNhbGxp
bmcgSU9TdXJmYWNlQWxpZ25Qcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGluZm9ybWF0aW9uIGFib3V0IGFsaWdubWVudCBvZiBieXRl
cyBwZXIgcm93IHRvIElPU3VyZmFjZSBjbGFzcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0lPU3VyZmFjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0lPU3VyZmFjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnN1cmZhY2VCeXRlc1BlclJvd0FsaWdu
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJT1N1cmZhY2U6OmJ5dGVzUGVyUm93QWxpZ25tZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OklPU3VyZmFjZTo6c2V0Qnl0ZXNQZXJSb3dBbGlnbm1lbnQp
OgorCiAyMDIyLTAxLTI0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+
CiAKICAgICAgICAgU2ltcGxpZnkgYWNjZXNzZXMgdG8gU3lzdGVtVmVyc2lvbi5wbGlzdApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJmYWNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJm
YWNlLmgJKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0lPU3VyZmFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDkgQEAg
cHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBJbnRTaXplIG1heGltdW1TaXplKCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0TWF4aW11bVNpemUoSW50U2l6ZSk7
CiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc2l6ZV90IGJ5dGVzUGVyUm93QWxpZ25tZW50
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0Qnl0ZXNQZXJSb3dBbGlnbm1l
bnQoc2l6ZV90KTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIFdURjo6TWFjaFNlbmRSaWdodCBjcmVh
dGVTZW5kUmlnaHQoKSBjb25zdDsKIAogICAgIC8vIEFueSBpbWFnZXMgY3JlYXRlZCBmcm9tIGEg
c3VyZmFjZSBuZWVkIHRvIGJlIHJlbGVhc2VkIGJlZm9yZSByZWxlYXNpbmcKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0J
KHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0lPU3VyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY5LDYgKzI2OSwyNyBAQCBJbnRT
aXplIElPU3VyZmFjZTo6bWF4aW11bVNpemUoKQogICAgIHJldHVybiBzaXplOwogfQogCitzdGF0
aWMgV1RGOjpBdG9taWM8c2l6ZV90PiYgc3VyZmFjZUJ5dGVzUGVyUm93QWxpZ25tZW50KCkKK3sK
KyAgICBzdGF0aWMgV1RGOjpBdG9taWM8c2l6ZV90PiBhbGlnbm1lbnQgPSAwOworICAgIHJldHVy
biBhbGlnbm1lbnQ7Cit9CisKK3NpemVfdCBJT1N1cmZhY2U6OmJ5dGVzUGVyUm93QWxpZ25tZW50
KCkKK3sKKyAgICBhdXRvIGFsaWdubWVudCA9IHN1cmZhY2VCeXRlc1BlclJvd0FsaWdubWVudCgp
LmxvYWQoKTsKKyAgICBpZiAoIWFsaWdubWVudCkgeworICAgICAgICBzdXJmYWNlQnl0ZXNQZXJS
b3dBbGlnbm1lbnQoKS5zdG9yZShJT1N1cmZhY2VHZXRQcm9wZXJ0eUFsaWdubWVudChrSU9TdXJm
YWNlQnl0ZXNQZXJSb3cpKTsKKyAgICAgICAgcmV0dXJuIHN1cmZhY2VCeXRlc1BlclJvd0FsaWdu
bWVudCgpLmxvYWQoKTsKKyAgICB9CisgICAgcmV0dXJuIGFsaWdubWVudDsKK30KKwordm9pZCBJ
T1N1cmZhY2U6OnNldEJ5dGVzUGVyUm93QWxpZ25tZW50KHNpemVfdCBieXRlc1BlclJvd0FsaWdu
bWVudCkKK3sKKyAgICBzdXJmYWNlQnl0ZXNQZXJSb3dBbGlnbm1lbnQoKS5zdG9yZShieXRlc1Bl
clJvd0FsaWdubWVudCk7Cit9CisKIE1hY2hTZW5kUmlnaHQgSU9TdXJmYWNlOjpjcmVhdGVTZW5k
UmlnaHQoKSBjb25zdAogewogICAgIHJldHVybiBNYWNoU2VuZFJpZ2h0OjphZG9wdChJT1N1cmZh
Y2VDcmVhdGVNYWNoUG9ydChtX3N1cmZhY2UuZ2V0KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lv
biAyODg2MzUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDI1IEBACisyMDIyLTAxLTI2ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxl
LmNvbT4KKworICAgICAgICBbV1BdIEF2b2lkIGNhbGxpbmcgSU9TdXJmYWNlQWxpZ25Qcm9wZXJ0
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjU5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXZvaWQg
Y2FsbGluZyBJT1N1cmZhY2VBbGlnblByb3BlcnR5IGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3Ms
IHNpbmNlIGl0IHJlcXVpcmVzIElPS2l0IGFjY2Vzcy4KKyAgICAgICAgSW5mb3JtYXRpb24gYWJv
dXQgdGhlIGFsaWdubWVudCBvZiBieXRlcyBwZXIgcm93IG9mIElPU3VyZmFjZSB3aWxsIGJlIHJl
dHJpZXZlZCBpbiB0aGUgVUkgcHJvY2VzcywKKyAgICAgICAgYW5kIHNlbnQgdG8gdGhlIFdlYkNv
bnRlbnQgcHJvY2Vzcywgd2hlcmUgaXQgd2lsbCBiZSBzdG9yZWQuCisKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWQvY2cv
U2hhcmVhYmxlQml0bWFwQ0cuY3BwOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6
OmNhbGN1bGF0ZUJ5dGVzUGVyUm93KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRm
b3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUlu
aXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAyMi0wMS0yNiAgTWljaGFlbCBTYWJvZmYgIDxtc2Fi
b2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmYWlsdXJlIC0gd2Via2l0IGRhZW1vbnMg
ZG9uJ3QgbmVlZCBzeW1saW5rIHdpdGggc3lzdGVtIGNvbnRlbnQgcGF0aApJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHAJKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMDMsNiArMjAzLDcgQEAg
dm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogCiAjaWYgSEFWRShJT1NV
UkZBQ0UpCiAgICAgZW5jb2RlciA8PCBtYXhpbXVtSU9TdXJmYWNlU2l6ZTsKKyAgICBlbmNvZGVy
IDw8IGJ5dGVzUGVyUm93SU9TdXJmYWNlQWxpZ25tZW50OwogI2VuZGlmCiAKICAgICBlbmNvZGVy
IDw8IGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlczsKQEAgLTU1Myw2ICs1NTQsOCBAQCBib29sIFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAjaWYgSEFWRShJT1NVUkZBQ0UpCiAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLm1heGltdW1JT1N1cmZhY2VTaXplKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVy
cy5ieXRlc1BlclJvd0lPU3VyZmFjZUFsaWdubWVudCkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
ICNlbmRpZgogCiAgICAgc3RkOjpvcHRpb25hbDxBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXM+IGFj
Y2Vzc2liaWxpdHlQcmVmZXJlbmNlczsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHJldmlzaW9uIDI4ODQ1MSkKKysr
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkod29y
a2luZyBjb3B5KQpAQCAtMjQxLDYgKzI0MSw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzIHsKIAogI2lmIEhBVkUoSU9TVVJGQUNFKQogICAgIFdlYkNvcmU6OkludFNpemUg
bWF4aW11bUlPU3VyZmFjZVNpemU7CisgICAgc2l6ZV90IGJ5dGVzUGVyUm93SU9TdXJmYWNlQWxp
Z25tZW50OwogI2VuZGlmCiAgICAgCiAgICAgQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzIGFjY2Vz
c2liaWxpdHlQcmVmZXJlbmNlczsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJl
YWJsZUJpdG1hcENHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9jZy9T
aGFyZWFibGVCaXRtYXBDRy5jcHAJKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJLaXQv
U2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTIsNyAr
OTIsOCBAQCBDaGVja2VkVWludDMyIFNoYXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlCiAjaWYgSEFW
RShJT1NVUkZBQ0UpCiAgICAgaWYgKGJ5dGVzUGVyUm93Lmhhc092ZXJmbG93ZWQoKSkKICAgICAg
ICAgcmV0dXJuIGJ5dGVzUGVyUm93OwotICAgIHJldHVybiBJT1N1cmZhY2VBbGlnblByb3BlcnR5
KGtJT1N1cmZhY2VCeXRlc1BlclJvdywgYnl0ZXNQZXJSb3cpOworICAgIHNpemVfdCBhbGlnbm1l
bnRNYXNrID0gV2ViQ29yZTo6SU9TdXJmYWNlOjpieXRlc1BlclJvd0FsaWdubWVudCgpIC0gMTsK
KyAgICByZXR1cm4gKGJ5dGVzUGVyUm93ICsgYWxpZ25tZW50TWFzaykgJiB+YWxpZ25tZW50TWFz
azsKICNlbHNlCiAgICAgcmV0dXJuIGJ5dGVzUGVyUm93OwogI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0J
KHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ3Myw2ICs0NzMsOCBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXCiAgICAgaWYgKG1fZGVmYXVsdFBh
Z2VHcm91cC0+cHJlZmVyZW5jZXMoKS51c2VHUFVQcm9jZXNzRm9yRE9NUmVuZGVyaW5nRW5hYmxl
ZCgpKQogICAgICAgICBwYXJhbWV0ZXJzLm1heGltdW1JT1N1cmZhY2VTaXplID0gV2ViQ29yZTo6
SU9TdXJmYWNlOjptYXhpbXVtU2l6ZSgpOwogCisgICAgcGFyYW1ldGVycy5ieXRlc1BlclJvd0lP
U3VyZmFjZUFsaWdubWVudCA9IFdlYkNvcmU6OklPU3VyZmFjZTo6Ynl0ZXNQZXJSb3dBbGlnbm1l
bnQoKTsKKwogICAgIHBhcmFtZXRlcnMuYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzID0gYWNjZXNz
aWJpbGl0eVByZWZlcmVuY2VzKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjg4NDUxKQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNDU4LDYgKzQ1OCw4IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0
aWFsaXplV2ViUHIKICAgICBpZiAoIXBhcmFtZXRlcnMubWF4aW11bUlPU3VyZmFjZVNpemUuaXNF
bXB0eSgpKQogICAgICAgICBXZWJDb3JlOjpJT1N1cmZhY2U6OnNldE1heGltdW1TaXplKHBhcmFt
ZXRlcnMubWF4aW11bUlPU3VyZmFjZVNpemUpOwogCisgICAgV2ViQ29yZTo6SU9TdXJmYWNlOjpz
ZXRCeXRlc1BlclJvd0FsaWdubWVudChwYXJhbWV0ZXJzLmJ5dGVzUGVyUm93SU9TdXJmYWNlQWxp
Z25tZW50KTsKKwogICAgIGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc0RpZENoYW5nZShwYXJhbWV0
ZXJzLmFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450062</attachid>
            <date>2022-01-26 13:32:52 -0800</date>
            <delta_ts>2022-01-26 15:46:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235659-20220126133251.patch</filename>
            <type>text/plain</type>
            <size>7375</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAxLTI2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV1BdIEF2b2lkIGNhbGxp
bmcgSU9TdXJmYWNlQWxpZ25Qcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGluZm9ybWF0aW9uIGFib3V0IGFsaWdubWVudCBvZiBieXRl
cyBwZXIgcm93IHRvIElPU3VyZmFjZSBjbGFzcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0lPU3VyZmFjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0lPU3VyZmFjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnN1cmZhY2VCeXRlc1BlclJvd0FsaWdu
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJT1N1cmZhY2U6OmJ5dGVzUGVyUm93QWxpZ25tZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OklPU3VyZmFjZTo6c2V0Qnl0ZXNQZXJSb3dBbGlnbm1lbnQp
OgorCiAyMDIyLTAxLTI0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+
CiAKICAgICAgICAgU2ltcGxpZnkgYWNjZXNzZXMgdG8gU3lzdGVtVmVyc2lvbi5wbGlzdApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJmYWNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJm
YWNlLmgJKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0lPU3VyZmFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDkgQEAg
cHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBJbnRTaXplIG1heGltdW1TaXplKCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0TWF4aW11bVNpemUoSW50U2l6ZSk7
CiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc2l6ZV90IGJ5dGVzUGVyUm93QWxpZ25tZW50
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0Qnl0ZXNQZXJSb3dBbGlnbm1l
bnQoc2l6ZV90KTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIFdURjo6TWFjaFNlbmRSaWdodCBjcmVh
dGVTZW5kUmlnaHQoKSBjb25zdDsKIAogICAgIC8vIEFueSBpbWFnZXMgY3JlYXRlZCBmcm9tIGEg
c3VyZmFjZSBuZWVkIHRvIGJlIHJlbGVhc2VkIGJlZm9yZSByZWxlYXNpbmcKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0J
KHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0lPU3VyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY5LDYgKzI2OSwyNCBAQCBJbnRT
aXplIElPU3VyZmFjZTo6bWF4aW11bVNpemUoKQogICAgIHJldHVybiBzaXplOwogfQogCitzdGF0
aWMgV1RGOjpBdG9taWM8c2l6ZV90PiYgc3VyZmFjZUJ5dGVzUGVyUm93QWxpZ25tZW50KCkKK3sK
KyAgICBzdGF0aWMgV1RGOjpBdG9taWM8c2l6ZV90PiBhbGlnbm1lbnQgPSAwOworICAgIHJldHVy
biBhbGlnbm1lbnQ7Cit9CisKK3NpemVfdCBJT1N1cmZhY2U6OmJ5dGVzUGVyUm93QWxpZ25tZW50
KCkKK3sKKyAgICBhdXRvIGFsaWdubWVudCA9IHN1cmZhY2VCeXRlc1BlclJvd0FsaWdubWVudCgp
LmxvYWQoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChhbGlnbm1lbnQpOworICAgIHJldHVybiBhbGln
bm1lbnQ7Cit9CisKK3ZvaWQgSU9TdXJmYWNlOjpzZXRCeXRlc1BlclJvd0FsaWdubWVudChzaXpl
X3QgYnl0ZXNQZXJSb3dBbGlnbm1lbnQpCit7CisgICAgc3VyZmFjZUJ5dGVzUGVyUm93QWxpZ25t
ZW50KCkuc3RvcmUoYnl0ZXNQZXJSb3dBbGlnbm1lbnQpOworfQorCiBNYWNoU2VuZFJpZ2h0IElP
U3VyZmFjZTo6Y3JlYXRlU2VuZFJpZ2h0KCkgY29uc3QKIHsKICAgICByZXR1cm4gTWFjaFNlbmRS
aWdodDo6YWRvcHQoSU9TdXJmYWNlQ3JlYXRlTWFjaFBvcnQobV9zdXJmYWNlLmdldCgpKSk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwkocmV2aXNpb24gMjg4NjM1KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAyMi0wMS0yNiAgUGVyIEFybmUgVm9s
bGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dQXSBBdm9pZCBjYWxsaW5nIElP
U3VyZmFjZUFsaWduUHJvcGVydHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNTY1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEF2b2lkIGNhbGxpbmcgSU9TdXJmYWNlQWxpZ25Qcm9wZXJ0eSBpbiB0aGUg
V2ViQ29udGVudCBwcm9jZXNzLCBzaW5jZSBpdCByZXF1aXJlcyBJT0tpdCBhY2Nlc3MuCisgICAg
ICAgIEluZm9ybWF0aW9uIGFib3V0IHRoZSBhbGlnbm1lbnQgb2YgYnl0ZXMgcGVyIHJvdyBvZiBJ
T1N1cmZhY2Ugd2lsbCBiZSByZXRyaWV2ZWQgaW4gdGhlIFVJIHByb2Nlc3MsCisgICAgICAgIGFu
ZCBzZW50IHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHdoZXJlIGl0IHdpbGwgYmUgc3RvcmVk
LgorCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6Cisg
ICAgICAgICogU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6U2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclJvdyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjItMDEtMjYgIE1p
Y2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZmFpbHVy
ZSAtIHdlYmtpdCBkYWVtb25zIGRvbid0IG5lZWQgc3ltbGluayB3aXRoIHN5c3RlbSBjb250ZW50
IHBhdGgKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyODg0NTEpCisrKyBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjAzLDYgKzIwMyw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2QKIAogI2lmIEhBVkUoSU9TVVJGQUNFKQogICAgIGVuY29kZXIgPDwgbWF4aW11bUlPU3VyZmFj
ZVNpemU7CisgICAgZW5jb2RlciA8PCBieXRlc1BlclJvd0lPU3VyZmFjZUFsaWdubWVudDsKICNl
bmRpZgogCiAgICAgZW5jb2RlciA8PCBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXM7CkBAIC01NTMs
NiArNTU0LDggQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogI2lm
IEhBVkUoSU9TVVJGQUNFKQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5tYXhp
bXVtSU9TdXJmYWNlU2l6ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHBhcmFtZXRlcnMuYnl0ZXNQZXJSb3dJT1N1cmZhY2VBbGlnbm1lbnQpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIAogICAgIHN0ZDo6b3B0aW9uYWw8QWNjZXNzaWJp
bGl0eVByZWZlcmVuY2VzPiBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXM7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCShy
ZXZpc2lvbiAyODg0NTEpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0MSw2ICsyNDEsNyBAQCBzdHJ1Y3Qg
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAKICNpZiBIQVZFKElPU1VSRkFDRSkKICAg
ICBXZWJDb3JlOjpJbnRTaXplIG1heGltdW1JT1N1cmZhY2VTaXplOworICAgIHNpemVfdCBieXRl
c1BlclJvd0lPU3VyZmFjZUFsaWdubWVudDsKICNlbmRpZgogICAgIAogICAgIEFjY2Vzc2liaWxp
dHlQcmVmZXJlbmNlcyBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXM7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9TaGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3BwCShyZXZpc2lvbiAyODg0NTEp
CisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPFdlYkNvcmUvQml0bWFwSW1h
Z2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dENHLmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9JT1N1cmZhY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ltYWdlQnVmZmVyVXRpbGl0
aWVzQ0cuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05hdGl2ZUltYWdlLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybVNjcmVlbi5oPgpAQCAtOTIsNyArOTMsOCBAQCBDaGVja2VkVWludDMyIFNo
YXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlCiAjaWYgSEFWRShJT1NVUkZBQ0UpCiAgICAgaWYgKGJ5
dGVzUGVyUm93Lmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIGJ5dGVzUGVyUm93Owot
ICAgIHJldHVybiBJT1N1cmZhY2VBbGlnblByb3BlcnR5KGtJT1N1cmZhY2VCeXRlc1BlclJvdywg
Ynl0ZXNQZXJSb3cpOworICAgIHNpemVfdCBhbGlnbm1lbnRNYXNrID0gV2ViQ29yZTo6SU9TdXJm
YWNlOjpieXRlc1BlclJvd0FsaWdubWVudCgpIC0gMTsKKyAgICByZXR1cm4gKGJ5dGVzUGVyUm93
ICsgYWxpZ25tZW50TWFzaykgJiB+YWxpZ25tZW50TWFzazsKICNlbHNlCiAgICAgcmV0dXJuIGJ5
dGVzUGVyUm93OwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTQ3Myw2ICs0NzMsOCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXCiAgICAgaWYgKG1fZGVmYXVsdFBhZ2VHcm91cC0+cHJlZmVyZW5jZXMoKS51
c2VHUFVQcm9jZXNzRm9yRE9NUmVuZGVyaW5nRW5hYmxlZCgpKQogICAgICAgICBwYXJhbWV0ZXJz
Lm1heGltdW1JT1N1cmZhY2VTaXplID0gV2ViQ29yZTo6SU9TdXJmYWNlOjptYXhpbXVtU2l6ZSgp
OwogCisgICAgcGFyYW1ldGVycy5ieXRlc1BlclJvd0lPU3VyZmFjZUFsaWdubWVudCA9IElPU3Vy
ZmFjZUdldFByb3BlcnR5QWxpZ25tZW50KGtJT1N1cmZhY2VCeXRlc1BlclJvdyk7CisKICAgICBw
YXJhbWV0ZXJzLmFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyA9IGFjY2Vzc2liaWxpdHlQcmVmZXJl
bmNlcygpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1
OCw2ICs0NTgsOCBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAg
ICAgaWYgKCFwYXJhbWV0ZXJzLm1heGltdW1JT1N1cmZhY2VTaXplLmlzRW1wdHkoKSkKICAgICAg
ICAgV2ViQ29yZTo6SU9TdXJmYWNlOjpzZXRNYXhpbXVtU2l6ZShwYXJhbWV0ZXJzLm1heGltdW1J
T1N1cmZhY2VTaXplKTsKIAorICAgIFdlYkNvcmU6OklPU3VyZmFjZTo6c2V0Qnl0ZXNQZXJSb3dB
bGlnbm1lbnQocGFyYW1ldGVycy5ieXRlc1BlclJvd0lPU3VyZmFjZUFsaWdubWVudCk7CisKICAg
ICBhY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXNEaWRDaGFuZ2UocGFyYW1ldGVycy5hY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZXMpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450080</attachid>
            <date>2022-01-26 15:46:27 -0800</date>
            <delta_ts>2022-01-26 20:13:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235659-20220126154627.patch</filename>
            <type>text/plain</type>
            <size>7993</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAxLTI2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbV1BdIEF2b2lkIGNhbGxp
bmcgSU9TdXJmYWNlQWxpZ25Qcm9wZXJ0eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM1NjU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGluZm9ybWF0aW9uIGFib3V0IGFsaWdubWVudCBvZiBieXRl
cyBwZXIgcm93IHRvIElPU3VyZmFjZSBjbGFzcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0lPU3VyZmFjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0lPU3VyZmFjZS5tbToKKyAgICAgICAgKFdlYkNvcmU6OnN1cmZhY2VCeXRlc1BlclJvd0FsaWdu
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJT1N1cmZhY2U6OmJ5dGVzUGVyUm93QWxpZ25tZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OklPU3VyZmFjZTo6c2V0Qnl0ZXNQZXJSb3dBbGlnbm1lbnQp
OgorCiAyMDIyLTAxLTI0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+
CiAKICAgICAgICAgU2ltcGxpZnkgYWNjZXNzZXMgdG8gU3lzdGVtVmVyc2lvbi5wbGlzdApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJmYWNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJm
YWNlLmgJKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0lPU3VyZmFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDkgQEAg
cHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBJbnRTaXplIG1heGltdW1TaXplKCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0TWF4aW11bVNpemUoSW50U2l6ZSk7
CiAKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgc2l6ZV90IGJ5dGVzUGVyUm93QWxpZ25tZW50
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0Qnl0ZXNQZXJSb3dBbGlnbm1l
bnQoc2l6ZV90KTsKKwogICAgIFdFQkNPUkVfRVhQT1JUIFdURjo6TWFjaFNlbmRSaWdodCBjcmVh
dGVTZW5kUmlnaHQoKSBjb25zdDsKIAogICAgIC8vIEFueSBpbWFnZXMgY3JlYXRlZCBmcm9tIGEg
c3VyZmFjZSBuZWVkIHRvIGJlIHJlbGVhc2VkIGJlZm9yZSByZWxlYXNpbmcKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0J
KHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0lPU3VyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY5LDYgKzI2OSwzMiBAQCBJbnRT
aXplIElPU3VyZmFjZTo6bWF4aW11bVNpemUoKQogICAgIHJldHVybiBzaXplOwogfQogCitzdGF0
aWMgV1RGOjpBdG9taWM8c2l6ZV90PiYgc3VyZmFjZUJ5dGVzUGVyUm93QWxpZ25tZW50KCkKK3sK
KyAgICBzdGF0aWMgV1RGOjpBdG9taWM8c2l6ZV90PiBhbGlnbm1lbnQgPSAwOworICAgIHJldHVy
biBhbGlnbm1lbnQ7Cit9CisKK3NpemVfdCBJT1N1cmZhY2U6OmJ5dGVzUGVyUm93QWxpZ25tZW50
KCkKK3sKKyAgICBhdXRvIGFsaWdubWVudCA9IHN1cmZhY2VCeXRlc1BlclJvd0FsaWdubWVudCgp
LmxvYWQoKTsKKyAgICBpZiAoIWFsaWdubWVudCkgeworICAgICAgICBzdXJmYWNlQnl0ZXNQZXJS
b3dBbGlnbm1lbnQoKS5zdG9yZShJT1N1cmZhY2VHZXRQcm9wZXJ0eUFsaWdubWVudChrSU9TdXJm
YWNlQnl0ZXNQZXJSb3cpKTsKKyAgICAgICAgYWxpZ25tZW50ID0gc3VyZmFjZUJ5dGVzUGVyUm93
QWxpZ25tZW50KCkubG9hZCgpOworICAgICAgICAvLyBBIHJldHVybiB2YWx1ZSBmb3IgSU9TdXJm
YWNlR2V0UHJvcGVydHlBbGlnbm1lbnQoa0lPU3VyZmFjZUJ5dGVzUGVyUm93KSBvZiAxIGlzIGlu
dmFsaWQuCisgICAgICAgIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vZG9jdW1l
bnRhdGlvbi9pb3N1cmZhY2UvMTQxOTQ1My1pb3N1cmZhY2VnZXRwcm9wZXJ0eWFsaWdubWVudD9s
YW5ndWFnZT1vYmpjCisgICAgICAgIC8vIFRoaXMgbGlrZWx5IG1lYW5zIHRoYXQgdGhlIHNhbmRi
b3ggaXMgYmxvY2tpbmcgYWNjZXNzIHRvIHRoZSBJT1N1cmZhY2UgSU9LaXQgY2xhc3MsCisgICAg
ICAgIC8vIGFuZCB0aGF0IElPU3VyZmFjZTo6Ynl0ZXNQZXJSb3dBbGlnbm1lbnQoKSBoYXMgYmVl
biBjYWxsZWQgYmVmb3JlIElPU3VyZmFjZTo6c2V0Qnl0ZXNQZXJSb3dBbGlnbm1lbnQuCisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKGFsaWdubWVudCA+IDEpOworICAgIH0KKyAgICByZXR1cm4gYWxp
Z25tZW50OworfQorCit2b2lkIElPU3VyZmFjZTo6c2V0Qnl0ZXNQZXJSb3dBbGlnbm1lbnQoc2l6
ZV90IGJ5dGVzUGVyUm93QWxpZ25tZW50KQoreworICAgIHN1cmZhY2VCeXRlc1BlclJvd0FsaWdu
bWVudCgpLnN0b3JlKGJ5dGVzUGVyUm93QWxpZ25tZW50KTsKK30KKwogTWFjaFNlbmRSaWdodCBJ
T1N1cmZhY2U6OmNyZWF0ZVNlbmRSaWdodCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIE1hY2hTZW5k
UmlnaHQ6OmFkb3B0KElPU3VyZmFjZUNyZWF0ZU1hY2hQb3J0KG1fc3VyZmFjZS5nZXQoKSkpOwpJ
bmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4ODYzNSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjItMDEtMjYgIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXUF0gQXZvaWQgY2FsbGluZyBJ
T1N1cmZhY2VBbGlnblByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzU2NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBdm9pZCBjYWxsaW5nIElPU3VyZmFjZUFsaWduUHJvcGVydHkgaW4gdGhl
IFdlYkNvbnRlbnQgcHJvY2Vzcywgc2luY2UgaXQgcmVxdWlyZXMgSU9LaXQgYWNjZXNzLgorICAg
ICAgICBJbmZvcm1hdGlvbiBhYm91dCB0aGUgYWxpZ25tZW50IG9mIGJ5dGVzIHBlciByb3cgb2Yg
SU9TdXJmYWNlIHdpbGwgYmUgcmV0cmlldmVkIGluIHRoZSBVSSBwcm9jZXNzLAorICAgICAgICBh
bmQgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCB3aGVyZSBpdCB3aWxsIGJlIHN0b3Jl
ZC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNv
bnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgor
ICAgICAgICAqIFNoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJSb3cpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDIyLTAxLTI2ICBN
aWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZhaWx1
cmUgLSB3ZWJraXQgZGFlbW9ucyBkb24ndCBuZWVkIHN5bWxpbmsgd2l0aCBzeXN0ZW0gY29udGVu
dCBwYXRoCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24gMjg4NDUxKQorKysgU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIwMyw2ICsyMDMsNyBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kCiAKICNpZiBIQVZFKElPU1VSRkFDRSkKICAgICBlbmNvZGVyIDw8IG1heGltdW1JT1N1cmZh
Y2VTaXplOworICAgIGVuY29kZXIgPDwgYnl0ZXNQZXJSb3dJT1N1cmZhY2VBbGlnbm1lbnQ7CiAj
ZW5kaWYKIAogICAgIGVuY29kZXIgPDwgYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzOwpAQCAtNTUz
LDYgKzU1NCw4IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICNp
ZiBIQVZFKElPU1VSRkFDRSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMubWF4
aW11bUlPU3VyZmFjZVNpemUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShwYXJhbWV0ZXJzLmJ5dGVzUGVyUm93SU9TdXJmYWNlQWxpZ25tZW50KSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAKICAgICBzdGQ6Om9wdGlvbmFsPEFjY2Vzc2li
aWxpdHlQcmVmZXJlbmNlcz4gYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzOwpJbmRleDogU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAko
cmV2aXNpb24gMjg4NDUxKQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDEsNiArMjQxLDcgQEAgc3RydWN0
IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogCiAjaWYgSEFWRShJT1NVUkZBQ0UpCiAg
ICAgV2ViQ29yZTo6SW50U2l6ZSBtYXhpbXVtSU9TdXJmYWNlU2l6ZTsKKyAgICBzaXplX3QgYnl0
ZXNQZXJSb3dJT1N1cmZhY2VBbGlnbm1lbnQ7CiAjZW5kaWYKICAgICAKICAgICBBY2Nlc3NpYmls
aXR5UHJlZmVyZW5jZXMgYWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzOwpJbmRleDogU291cmNlL1dl
YktpdC9TaGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcAkocmV2aXNpb24gMjg4NDUx
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxXZWJDb3JlL0JpdG1hcElt
YWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHRDRy5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvSU9TdXJmYWNlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZUJ1ZmZlclV0aWxp
dGllc0NHLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9OYXRpdmVJbWFnZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4KQEAgLTkyLDcgKzkzLDggQEAgQ2hlY2tlZFVpbnQzMiBT
aGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZQogI2lmIEhBVkUoSU9TVVJGQUNFKQogICAgIGlmIChi
eXRlc1BlclJvdy5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBieXRlc1BlclJvdzsK
LSAgICByZXR1cm4gSU9TdXJmYWNlQWxpZ25Qcm9wZXJ0eShrSU9TdXJmYWNlQnl0ZXNQZXJSb3cs
IGJ5dGVzUGVyUm93KTsKKyAgICBzaXplX3QgYWxpZ25tZW50TWFzayA9IFdlYkNvcmU6OklPU3Vy
ZmFjZTo6Ynl0ZXNQZXJSb3dBbGlnbm1lbnQoKSAtIDE7CisgICAgcmV0dXJuIChieXRlc1BlclJv
dyArIGFsaWdubWVudE1hc2spICYgfmFsaWdubWVudE1hc2s7CiAjZWxzZQogICAgIHJldHVybiBi
eXRlc1BlclJvdzsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyODg0NTEpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NzMsNiArNDczLDggQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZv
cm1Jbml0aWFsaXplVwogICAgIGlmIChtX2RlZmF1bHRQYWdlR3JvdXAtPnByZWZlcmVuY2VzKCku
dXNlR1BVUHJvY2Vzc0ZvckRPTVJlbmRlcmluZ0VuYWJsZWQoKSkKICAgICAgICAgcGFyYW1ldGVy
cy5tYXhpbXVtSU9TdXJmYWNlU2l6ZSA9IFdlYkNvcmU6OklPU3VyZmFjZTo6bWF4aW11bVNpemUo
KTsKIAorICAgIHBhcmFtZXRlcnMuYnl0ZXNQZXJSb3dJT1N1cmZhY2VBbGlnbm1lbnQgPSBXZWJD
b3JlOjpJT1N1cmZhY2U6OmJ5dGVzUGVyUm93QWxpZ25tZW50KCk7CisKICAgICBwYXJhbWV0ZXJz
LmFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyA9IGFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcygpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0JKHJldmlzaW9uIDI4ODQ1MSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1OCw2ICs0NTgs
OCBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAgICAgaWYgKCFw
YXJhbWV0ZXJzLm1heGltdW1JT1N1cmZhY2VTaXplLmlzRW1wdHkoKSkKICAgICAgICAgV2ViQ29y
ZTo6SU9TdXJmYWNlOjpzZXRNYXhpbXVtU2l6ZShwYXJhbWV0ZXJzLm1heGltdW1JT1N1cmZhY2VT
aXplKTsKIAorICAgIFdlYkNvcmU6OklPU3VyZmFjZTo6c2V0Qnl0ZXNQZXJSb3dBbGlnbm1lbnQo
cGFyYW1ldGVycy5ieXRlc1BlclJvd0lPU3VyZmFjZUFsaWdubWVudCk7CisKICAgICBhY2Nlc3Np
YmlsaXR5UHJlZmVyZW5jZXNEaWRDaGFuZ2UocGFyYW1ldGVycy5hY2Nlc3NpYmlsaXR5UHJlZmVy
ZW5jZXMpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>