<?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>205443</bug_id>
          
          <creation_ts>2019-12-19 02:25:37 -0800</creation_ts>
          <short_desc>[iOS] Issue mach sandbox extension to the frontboard and icon service when the attachment element is enabled</short_desc>
          <delta_ts>2020-02-06 10:02:49 -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>iPhone / iPad</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>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1600211</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-19 02:25:37 -0800</bug_when>
    <thetext>When support for the html attachment element is enabled, issue a mach lookup extension to the frontboard service for the WebContent process, since this daemon is being contacted when icons for attachments are being queried.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600212</commentid>
    <comment_count>1</comment_count>
      <attachid>386090</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-19 02:35:35 -0800</bug_when>
    <thetext>Created attachment 386090
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600213</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-19 02:36:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/58074291&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600253</commentid>
    <comment_count>3</comment_count>
      <attachid>386099</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-12-19 07:10:24 -0800</bug_when>
    <thetext>Created attachment 386099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607545</commentid>
    <comment_count>4</comment_count>
      <attachid>386099</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-01-16 11:08:16 -0800</bug_when>
    <thetext>Comment on attachment 386099
Patch

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

r=me

&gt; Source/WebKit/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=205443

Please add the radar

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:345
&gt; +        SandboxExtension::createHandleForMachLookup(&quot;com.apple.frontboard.systemappservices&quot;, WTF::nullopt, handle);

Do we have a similar situation on macOS (using a different mach-port)? We should file a radar to investigate and address that, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607573</commentid>
    <comment_count>5</comment_count>
      <attachid>387940</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-16 11:42:12 -0800</bug_when>
    <thetext>Created attachment 387940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607575</commentid>
    <comment_count>6</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-16 11:44:04 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #4)
&gt; Comment on attachment 386099 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=386099&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:4
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=205443
&gt; 
&gt; Please add the radar
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:345
&gt; &gt; +        SandboxExtension::createHandleForMachLookup(&quot;com.apple.frontboard.systemappservices&quot;, WTF::nullopt, handle);
&gt; 
&gt; Do we have a similar situation on macOS (using a different mach-port)? We
&gt; should file a radar to investigate and address that, too.

I don&apos;t know which port this would be on macOS, but I think it is likely there is a counterpart. I will file a radar.

I uploaded another patch with an additional fix for getting the focus ring color in the UI process.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607581</commentid>
    <comment_count>7</comment_count>
      <attachid>387940</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-01-16 11:56:09 -0800</bug_when>
    <thetext>Comment on attachment 387940
Patch

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

r=me

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7614
&gt; +        SandboxExtension::createHandleForMachLookup(&quot;com.apple.iconservices&quot;, WTF::nullopt, handle);

Should we handle icon services under a different radar? We probably need this on macOS, too, so it would be nice to do both together?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607582</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-01-16 11:56:53 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #7)
&gt; Comment on attachment 387940 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=387940&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7614
&gt; &gt; +        SandboxExtension::createHandleForMachLookup(&quot;com.apple.iconservices&quot;, WTF::nullopt, handle);
&gt; 
&gt; Should we handle icon services under a different radar? We probably need
&gt; this on macOS, too, so it would be nice to do both together?

I spoke with Per Arne offline. We should proceed with this patch as-is, and do a similar patch on macOS after validating if any other changes are needed there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607615</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-16 13:07:37 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #8)
&gt; (In reply to Brent Fulgham from comment #7)
&gt; &gt; Comment on attachment 387940 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=387940&amp;action=review
&gt; &gt; 
&gt; &gt; r=me
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:7614
&gt; &gt; &gt; +        SandboxExtension::createHandleForMachLookup(&quot;com.apple.iconservices&quot;, WTF::nullopt, handle);
&gt; &gt; 
&gt; &gt; Should we handle icon services under a different radar? We probably need
&gt; &gt; this on macOS, too, so it would be nice to do both together?
&gt; 
&gt; I spoke with Per Arne offline. We should proceed with this patch as-is, and
&gt; do a similar patch on macOS after validating if any other changes are needed
&gt; there.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613008</commentid>
    <comment_count>10</comment_count>
      <attachid>387940</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-30 09:56:51 -0800</bug_when>
    <thetext>Comment on attachment 387940
Patch

Rejecting attachment 387940 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 387940, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=387940&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=205443&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 387940 from bug 205443.
Fetching: https://bugs.webkit.org/attachment.cgi?id=387940
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Brent Fulgham&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 23 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/rendering/RenderTheme.h
patching file Source/WebCore/rendering/RenderThemeIOS.h
patching file Source/WebCore/rendering/RenderThemeIOS.mm
patching file Source/WebCore/testing/Internals.cpp
Hunk #1 succeeded at 5455 with fuzz 1 (offset 20 lines).
patching file Source/WebCore/testing/Internals.h
Hunk #1 succeeded at 933 with fuzz 2 (offset 7 lines).
patching file Source/WebCore/testing/Internals.idl
Hunk #1 FAILED at 833.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/testing/Internals.idl.rej
patching file Source/WebKit/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb
Hunk #1 FAILED at 955.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.rej
patching file Source/WebKit/Shared/WebPageCreationParameters.cpp
Hunk #1 succeeded at 92 with fuzz 2 (offset -7 lines).
Hunk #2 succeeded at 301 with fuzz 1 (offset -9 lines).
patching file Source/WebKit/Shared/WebPageCreationParameters.h
Hunk #1 succeeded at 152 with fuzz 2 (offset -8 lines).
patching file Source/WebKit/Shared/WebProcessCreationParameters.cpp
Hunk #1 succeeded at 173 (offset 2 lines).
Hunk #2 succeeded at 459 (offset 14 lines).
patching file Source/WebKit/Shared/WebProcessCreationParameters.h
Hunk #1 succeeded at 215 (offset 2 lines).
patching file Source/WebKit/UIProcess/WebPageProxy.cpp
Hunk #1 succeeded at 7651 with fuzz 2 (offset 45 lines).
patching file Source/WebKit/UIProcess/WebProcessProxy.h
Hunk #1 succeeded at 354 (offset 7 lines).
Hunk #2 succeeded at 537 (offset 10 lines).
patching file Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
Hunk #1 succeeded at 360 (offset 6 lines).
patching file Source/WebKit/WebProcess/WebPage/WebPage.cpp
Hunk #1 succeeded at 526 (offset 2 lines).
patching file Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Hunk #1 succeeded at 267 (offset 5 lines).
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/fast/sandbox/ios/focus-ring-color-expected.txt
patching file LayoutTests/fast/sandbox/ios/focus-ring-color.html
patching file LayoutTests/fast/sandbox/ios/sandbox-mach-lookup-attachment-element-expected.txt
patching file LayoutTests/fast/sandbox/ios/sandbox-mach-lookup-attachment-element.html

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Brent Fulgham&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/13314023</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613021</commentid>
    <comment_count>11</comment_count>
      <attachid>389265</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-01-30 10:19:47 -0800</bug_when>
    <thetext>Created attachment 389265
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613092</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-30 12:39:45 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 389265:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613096</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-30 12:40:07 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 389265:

editing/spelling/spellcheck-attribute.html bug 206178 (authors: g.czajkowski@samsung.com, mark.lam@apple.com, and rniwa@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613139</commentid>
    <comment_count>14</comment_count>
      <attachid>389265</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-30 14:13:28 -0800</bug_when>
    <thetext>Comment on attachment 389265
Patch

Clearing flags on attachment: 389265

Committed r255457: &lt;https://trac.webkit.org/changeset/255457&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386090</attachid>
            <date>2019-12-19 02:35:35 -0800</date>
            <delta_ts>2019-12-19 07:10:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205443-20191219023534.patch</filename>
            <type>text/plain</type>
            <size>8215</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTM3NDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE5LTEyLTE5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBJc3N1ZSBtYWNoIHNh
bmRib3ggZXh0ZW5zaW9uIHRvIHRoZSBmcm9udGJvYXJkIHNlcnZpY2Ugd2hlbiB0aGUgYXR0YWNo
bWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNTQ0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdoZW4gc3VwcG9ydCBmb3IgdGhlIGh0bWwgYXR0YWNobWVudCBlbGVt
ZW50IGlzIGVuYWJsZWQsIGlzc3VlIGEgbWFjaCBsb29rdXAgZXh0ZW5zaW9uIHRvIHRoZSBmcm9u
dGJvYXJkIHNlcnZpY2UKKyAgICAgICAgZm9yIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHNpbmNl
IHRoaXMgZGFlbW9uIGlzIGJlaW5nIGNvbnRhY3RlZCB3aGVuIGljb25zIGZvciBhdHRhY2htZW50
cyBhcmUgYmVpbmcgcXVlcmllZC4KKworICAgICAgICBUZXN0OiBmYXN0L3NhbmRib3gvaW9zL3Nh
bmRib3gtbWFjaC1sb29rdXAtYXR0YWNobWVudC1lbGVtZW50Lmh0bWwKKworICAgICAgICAqIFJl
c291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5z
YjoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAx
OS0xMi0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0Nvb3JkaW5hdGVkR3JhcGhpY3NdIFRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9y
IGlzIG5ldmVyIHJlbGVhc2VkCkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjUzNjYyKQorKysgU291cmNlL1dlYktpdC9S
ZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
c2IJKHdvcmtpbmcgY29weSkKQEAgLTk2OCw3ICs5NjgsNyBAQAogKGFsbG93IG1hY2gtbG9va3Vw
CiAgICAgKHJlcXVpcmUtYWxsCiAgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQu
ZXh0ZW5zaW9uLm1hY2giKQotICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pcGhvbmUu
YXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2NkIiAiY29tLmFwcGxlLm5laGVscGVy
IiAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiICJjb20uYXBwbGUu
dWlraXQudmlld3NlcnZpY2UuY29tLmFwcGxlLldlYkNvbnRlbnRGaWx0ZXIucmVtb3RlVUkiICJj
b20uYXBwbGUuZGlhZ25vc3RpY2QiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUu
bmVoZWxwZXIiICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIgImNv
bS5hcHBsZS51aWtpdC52aWV3c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1v
dGVVSSIgImNvbS5hcHBsZS5kaWFnbm9zdGljZCIgImNvbS5hcHBsZS5mcm9udGJvYXJkLnN5c3Rl
bWFwcHNlcnZpY2VzIikpKQogCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNTM2NjIpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY0
LDYgKzE2NCw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICAg
ICBlbmNvZGVyIDw8IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNvZGVy
IDw8IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBkaWFnbm9z
dGljc0V4dGVuc2lvbkhhbmRsZTsKKyAgICBlbmNvZGVyIDw8IGZyb250Ym9hcmRFeHRlbnNpb25I
YW5kbGU7CiAjZW5kaWYKICAgICAKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTQyOCw2ICs0Mjks
MTIgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgIGlmICgh
ZGlhZ25vc3RpY3NFeHRlbnNpb25IYW5kbGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBw
YXJhbWV0ZXJzLmRpYWdub3N0aWNzRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqZGlhZ25vc3Rp
Y3NFeHRlbnNpb25IYW5kbGUpOworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlPj4gZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZTsKKyAgICBkZWNvZGVyID4+
IGZyb250Ym9hcmRFeHRlbnNpb25IYW5kbGU7CisgICAgaWYgKCFmcm9udGJvYXJkRXh0ZW5zaW9u
SGFuZGxlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5mcm9udGJvYXJk
RXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZSk7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjUzNjYy
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4g
Y29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlOwogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRl
bnNpb246OkhhbmRsZT4gY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZTsKICAgICBPcHRpb25h
bDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IGRpYWdub3N0aWNzRXh0ZW5zaW9uSGFuZGxlOwor
ICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gZnJvbnRib2FyZEV4dGVuc2lv
bkhhbmRsZTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJl
dmlzaW9uIDI1MzY2MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTMzNyw2ICszMzcsMTQgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICBTYW5kYm94RXh0ZW5z
aW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUudWlraXQudmlld3NlcnZp
Y2UuY29tLmFwcGxlLldlYkNvbnRlbnRGaWx0ZXIucmVtb3RlVUkiLCBXVEY6Om51bGxvcHQsIGhh
bmRsZSk7CiAgICAgICAgIHBhcmFtZXRlcnMuY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZSA9
IFdURk1vdmUoaGFuZGxlKTsKICAgICB9CisKKyNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5U
KQorICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLmF0dGFj
aG1lbnRFbGVtZW50RW5hYmxlZCgpKSB7CisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZSBoYW5kbGU7CisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hM
b29rdXAoImNvbS5hcHBsZS5mcm9udGJvYXJkLnN5c3RlbWFwcHNlcnZpY2VzIiwgV1RGOjpudWxs
b3B0LCBoYW5kbGUpOworICAgICAgICBwYXJhbWV0ZXJzLmZyb250Ym9hcmRFeHRlbnNpb25IYW5k
bGUgPSBXVEZNb3ZlKGhhbmRsZSk7CisgICAgfQorI2VuZGlmCiAjZW5kaWYKICAgICAKICNpZiBQ
TEFURk9STShJT1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1MzY2MikKKysrIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI0
Miw2ICsyNDIsOSBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAg
ICAgaWYgKHBhcmFtZXRlcnMuY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZSkKICAgICAgICAg
U2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLmNvbnRlbnRG
aWx0ZXJFeHRlbnNpb25IYW5kbGUpOwogICAgIFBhcmVudGFsQ29udHJvbHNDb250ZW50RmlsdGVy
OjpzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb24ocGFyYW1ldGVycy5jb250ZW50RmlsdGVy
RXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkpOworCisgICAgaWYgKHBhcmFtZXRlcnMuZnJvbnRi
b2FyZEV4dGVuc2lvbkhhbmRsZSkKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBl
cm1hbmVudGx5KCpwYXJhbWV0ZXJzLmZyb250Ym9hcmRFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlm
CiAgICAgCiAjaWYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTM2NjIpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxOS0xMi0xOSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW2lPU10gSXNzdWUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0byB0aGUgZnJvbnRib2FyZCBz
ZXJ2aWNlIHdoZW4gdGhlIGF0dGFjaG1lbnQgZWxlbWVudCBpcyBlbmFibGVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU0NDMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2FuZGJveC9pb3Mv
c2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3NhbmRib3gvaW9zL3NhbmRib3gtbWFjaC1sb29rdXAtYXR0YWNo
bWVudC1lbGVtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE5LTEyLTE3ICBUcnVpdHQgU2F2ZWxsICA8
dHNhdmVsbEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogWyBNb2phdmUrIERlYnVn
IF0gZmFzdC9tZWRpYXN0cmVhbS9jYXB0dXJlU3RyZWFtL2NhbnZhczJkLWhlYXZ5LWRyYXdpbmcu
aHRtbCBpcyBhIGZsYWtleSBmYWlsdXJlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gv
aW9zL3NhbmRib3gtbWFjaC1sb29rdXAtYXR0YWNobWVudC1lbGVtZW50LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvaW9zL3NhbmRib3gtbWFjaC1s
b29rdXAtYXR0YWNobWVudC1lbGVtZW50LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvaW9zL3NhbmRib3gtbWFjaC1sb29rdXAtYXR0YWNobWVu
dC1lbGVtZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKK1Rl
c3QgdGhhdCB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGhhcyBtYWNoIGxvb2t1cCBhY2Nlc3MgdG8g
ZnJvbnRib2FyZCBzZXJ2aWNlcyB3aGVuIHRoZSBhdHRhY2htZW50IGVsZW1lbnQgaXMgZW5hYmxl
ZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnRlcm5hbHMuaGFzU2Fu
ZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29u
dGVudCIsICJjb20uYXBwbGUuZnJvbnRib2FyZC5zeXN0ZW1hcHBzZXJ2aWNlcyIpIGlzIHRydWUK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L2lvcy9zYW5kYm94LW1hY2gtbG9va3Vw
LWF0dGFjaG1lbnQtZWxlbWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
c2FuZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVsZW1lbnQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvaW9zL3NhbmRib3gtbWFj
aC1sb29rdXAtYXR0YWNobWVudC1lbGVtZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxNCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBlbmFibGVB
dHRhY2htZW50RWxlbWVudD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGhhcyBtYWNoIGxv
b2t1cCBhY2Nlc3MgdG8gZnJvbnRib2FyZCBzZXJ2aWNlcyB3aGVuIHRoZSBhdHRhY2htZW50IGVs
ZW1lbnQgaXMgZW5hYmxlZCcpOworCitpZiAod2luZG93LmludGVybmFscykgeworICAgIHNob3Vs
ZEJlVHJ1ZSgiaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9HbG9iYWxOYW1l
KFwiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50XCIsIFwiY29tLmFwcGxlLmZyb250Ym9hcmQu
c3lzdGVtYXBwc2VydmljZXNcIikiKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386099</attachid>
            <date>2019-12-19 07:10:24 -0800</date>
            <delta_ts>2020-01-16 11:42:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205443-20191219071022.patch</filename>
            <type>text/plain</type>
            <size>8496</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTM3NDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE5LTEyLTE5ICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBJc3N1ZSBtYWNoIHNh
bmRib3ggZXh0ZW5zaW9uIHRvIHRoZSBmcm9udGJvYXJkIHNlcnZpY2Ugd2hlbiB0aGUgYXR0YWNo
bWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNTQ0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdoZW4gc3VwcG9ydCBmb3IgdGhlIGh0bWwgYXR0YWNobWVudCBlbGVt
ZW50IGlzIGVuYWJsZWQsIGlzc3VlIGEgbWFjaCBsb29rdXAgZXh0ZW5zaW9uIHRvIHRoZSBmcm9u
dGJvYXJkIHNlcnZpY2UKKyAgICAgICAgZm9yIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHNpbmNl
IHRoaXMgZGFlbW9uIGlzIGJlaW5nIGNvbnRhY3RlZCB3aGVuIGljb25zIGZvciBhdHRhY2htZW50
cyBhcmUgYmVpbmcgcXVlcmllZC4KKworICAgICAgICBUZXN0OiBmYXN0L3NhbmRib3gvaW9zL3Nh
bmRib3gtbWFjaC1sb29rdXAtYXR0YWNobWVudC1lbGVtZW50Lmh0bWwKKworICAgICAgICAqIFJl
c291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5z
YjoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29k
ZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKwogMjAx
OS0xMi0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0Nvb3JkaW5hdGVkR3JhcGhpY3NdIFRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9y
IGlzIG5ldmVyIHJlbGVhc2VkCkluZGV4OiBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94
UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5X
ZWJLaXQuV2ViQ29udGVudC5zYgkocmV2aXNpb24gMjUzNjYyKQorKysgU291cmNlL1dlYktpdC9S
ZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQu
c2IJKHdvcmtpbmcgY29weSkKQEAgLTk2OCw3ICs5NjgsNyBAQAogKGFsbG93IG1hY2gtbG9va3Vw
CiAgICAgKHJlcXVpcmUtYWxsCiAgICAgICAgIChleHRlbnNpb24gImNvbS5hcHBsZS53ZWJraXQu
ZXh0ZW5zaW9uLm1hY2giKQotICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pcGhvbmUu
YXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2NkIiAiY29tLmFwcGxlLm5laGVscGVy
IiAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiICJjb20uYXBwbGUu
dWlraXQudmlld3NlcnZpY2UuY29tLmFwcGxlLldlYkNvbnRlbnRGaWx0ZXIucmVtb3RlVUkiICJj
b20uYXBwbGUuZGlhZ25vc3RpY2QiKSkpCisgICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxl
LmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAiY29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUu
bmVoZWxwZXIiICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciIgImNv
bS5hcHBsZS51aWtpdC52aWV3c2VydmljZS5jb20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1v
dGVVSSIgImNvbS5hcHBsZS5kaWFnbm9zdGljZCIgImNvbS5hcHBsZS5mcm9udGJvYXJkLnN5c3Rl
bWFwcHNlcnZpY2VzIikpKQogCiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNTM2NjIpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY0
LDYgKzE2NCw3IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICAg
ICBlbmNvZGVyIDw8IGNvbXBpbGVyU2VydmljZUV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNvZGVy
IDw8IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGU7CiAgICAgZW5jb2RlciA8PCBkaWFnbm9z
dGljc0V4dGVuc2lvbkhhbmRsZTsKKyAgICBlbmNvZGVyIDw8IGZyb250Ym9hcmRFeHRlbnNpb25I
YW5kbGU7CiAjZW5kaWYKICAgICAKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTQyOCw2ICs0Mjks
MTIgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgIGlmICgh
ZGlhZ25vc3RpY3NFeHRlbnNpb25IYW5kbGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBw
YXJhbWV0ZXJzLmRpYWdub3N0aWNzRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqZGlhZ25vc3Rp
Y3NFeHRlbnNpb25IYW5kbGUpOworCisgICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlPj4gZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZTsKKyAgICBkZWNvZGVyID4+
IGZyb250Ym9hcmRFeHRlbnNpb25IYW5kbGU7CisgICAgaWYgKCFmcm9udGJvYXJkRXh0ZW5zaW9u
SGFuZGxlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5mcm9udGJvYXJk
RXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZSk7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjUzNjYy
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsNiArMjA2LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgewogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4g
Y29tcGlsZXJTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlOwogICAgIE9wdGlvbmFsPFNhbmRib3hFeHRl
bnNpb246OkhhbmRsZT4gY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZTsKICAgICBPcHRpb25h
bDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+IGRpYWdub3N0aWNzRXh0ZW5zaW9uSGFuZGxlOwor
ICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gZnJvbnRib2FyZEV4dGVuc2lv
bkhhbmRsZTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJl
dmlzaW9uIDI1MzY2MikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAKICNpbXBvcnQg
PFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1QYXN0
ZWJvYXJkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgor
I2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1NoYXJlZEJ1ZmZlci5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0IDxw
YWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgpAQCAtMzM3LDYgKzMzOCwxNCBAQCB2b2lkIFdlYlBy
b2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVXCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246
OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS51aWtpdC52aWV3c2VydmljZS5j
b20uYXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1vdGVVSSIsIFdURjo6bnVsbG9wdCwgaGFuZGxl
KTsKICAgICAgICAgcGFyYW1ldGVycy5jb250ZW50RmlsdGVyRXh0ZW5zaW9uSGFuZGxlID0gV1RG
TW92ZShoYW5kbGUpOwogICAgIH0KKworI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCisg
ICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuYXR0YWNobWVu
dEVsZW1lbnRFbmFibGVkKCkpIHsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhh
bmRsZTsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1
cCgiY29tLmFwcGxlLmZyb250Ym9hcmQuc3lzdGVtYXBwc2VydmljZXMiLCBXVEY6Om51bGxvcHQs
IGhhbmRsZSk7CisgICAgICAgIHBhcmFtZXRlcnMuZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZSA9
IFdURk1vdmUoaGFuZGxlKTsKKyAgICB9CisjZW5kaWYKICNlbmRpZgogICAgIAogI2lmIFBMQVRG
T1JNKElPUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNz
Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dl
YlByb2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjUzNjYyKQorKysgU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjQyLDYg
KzI0Miw5IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHIKICAgICBp
ZiAocGFyYW1ldGVycy5jb250ZW50RmlsdGVyRXh0ZW5zaW9uSGFuZGxlKQogICAgICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkoKnBhcmFtZXRlcnMuY29udGVudEZpbHRl
ckV4dGVuc2lvbkhhbmRsZSk7CiAgICAgUGFyZW50YWxDb250cm9sc0NvbnRlbnRGaWx0ZXI6OnNl
dEhhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbihwYXJhbWV0ZXJzLmNvbnRlbnRGaWx0ZXJFeHRl
bnNpb25IYW5kbGUuaGFzVmFsdWUoKSk7CisKKyAgICBpZiAocGFyYW1ldGVycy5mcm9udGJvYXJk
RXh0ZW5zaW9uSGFuZGxlKQorICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFu
ZW50bHkoKnBhcmFtZXRlcnMuZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKICAg
ICAKICNpZiBQTEFURk9STShDT0NPQSkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MzY2MikKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDE5
LTEyLTE5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBb
aU9TXSBJc3N1ZSBtYWNoIHNhbmRib3ggZXh0ZW5zaW9uIHRvIHRoZSBmcm9udGJvYXJkIHNlcnZp
Y2Ugd2hlbiB0aGUgYXR0YWNobWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9zYW5kYm94L2lvcy9zYW5k
Ym94LW1hY2gtbG9va3VwLWF0dGFjaG1lbnQtZWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3Qvc2FuZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50
LWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMTktMTItMTcgIFRydWl0dCBTYXZlbGwgIDx0c2F2
ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBbIE1vamF2ZSsgRGVidWcgXSBm
YXN0L21lZGlhc3RyZWFtL2NhcHR1cmVTdHJlYW0vY2FudmFzMmQtaGVhdnktZHJhd2luZy5odG1s
IGlzIGEgZmxha2V5IGZhaWx1cmUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3Mv
c2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxvb2t1
cC1hdHRhY2htZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVs
ZW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNyBAQAorVGVzdCB0
aGF0IHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaGFzIG1hY2ggbG9va3VwIGFjY2VzcyB0byBmcm9u
dGJvYXJkIHNlcnZpY2VzIHdoZW4gdGhlIGF0dGFjaG1lbnQgZWxlbWVudCBpcyBlbmFibGVkCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGludGVybmFscy5oYXNTYW5kYm94
TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50
IiwgImNvbS5hcHBsZS5mcm9udGJvYXJkLnN5c3RlbWFwcHNlcnZpY2VzIikgaXMgdHJ1ZQorCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvaW9zL3NhbmRib3gtbWFjaC1sb29rdXAtYXR0
YWNobWVudC1lbGVtZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zYW5k
Ym94L2lvcy9zYW5kYm94LW1hY2gtbG9va3VwLWF0dGFjaG1lbnQtZWxlbWVudC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxv
b2t1cC1hdHRhY2htZW50LWVsZW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0
IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUF0dGFj
aG1lbnRFbGVtZW50PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbignVGVzdCB0aGF0IHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaGFzIG1hY2ggbG9va3Vw
IGFjY2VzcyB0byBmcm9udGJvYXJkIHNlcnZpY2VzIHdoZW4gdGhlIGF0dGFjaG1lbnQgZWxlbWVu
dCBpcyBlbmFibGVkJyk7CisKK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgc2hvdWxkQmVU
cnVlKCJpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoXCJj
b20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnRcIiwgXCJjb20uYXBwbGUuZnJvbnRib2FyZC5zeXN0
ZW1hcHBzZXJ2aWNlc1wiKSIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9k
eT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387940</attachid>
            <date>2020-01-16 11:42:12 -0800</date>
            <delta_ts>2020-01-30 09:56:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205443-20200116114211.patch</filename>
            <type>text/plain</type>
            <size>19957</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NDY5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDIwLTAxLTE2ICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBJc3N1ZSBtYWNo
IHNhbmRib3ggZXh0ZW5zaW9uIHRvIHRoZSBmcm9udGJvYXJkIGFuZCBpY29uIHNlcnZpY2Ugd2hl
biB0aGUgYXR0YWNobWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ0MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBmb2N1cyByaW5nIGNvbG9yIGluIHRoZSBV
SSBwcm9jZXNzIHNpbmNlIGdldHRpbmcgdGhpcyBjb2xvciB3aWxsIGNvbW11bmljYXRlIHdpdGgg
dGhlIGZyb250Ym9hcmQgZGFlbW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3Qvc2FuZGJveC9pb3Mv
Zm9jdXMtcmluZy1jb2xvci5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaDoKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpjYWNoZWRGb2N1c1Jp
bmdDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6cGxhdGZvcm1Gb2N1
c1JpbmdDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6c2V0
Rm9jdXNSaW5nQ29sb3IpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6Zm9jdXNSaW5nQ29sb3IpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDIw
LTAxLTE2ICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OIChyMjU0MjkxKTogWyBDYXRhbGluYSB3azIgRGVidWcgXSBGbGFreSBBU1NFUlQgb24gZmFz
dC9pbWFnZXMvYW5pbWF0ZWQtaW1hZ2UtbG9vcC1jb3VudC5odG1sCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAkocmV2aXNpb24gMjU0MzczKQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MCw3ICsx
NjAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIENvbG9yIGRpc2FibGVkVGV4dENvbG9yKGNv
bnN0IENvbG9yJiB0ZXh0Q29sb3IsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IpIGNvbnN0
OwogCi0gICAgQ29sb3IgZm9jdXNSaW5nQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlv
bnM+KSBjb25zdDsKKyAgICBXVEZfRVhQT1JUIENvbG9yIGZvY3VzUmluZ0NvbG9yKE9wdGlvblNl
dDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3Q7CiAgICAgdmlydHVhbCBDb2xvciBwbGF0Zm9y
bUZvY3VzUmluZ0NvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3QgeyBy
ZXR1cm4gQ29sb3IoMCwgMCwgMCk7IH0KICAgICBzdGF0aWMgdm9pZCBzZXRDdXN0b21Gb2N1c1Jp
bmdDb2xvcihjb25zdCBDb2xvciYpOwogICAgIHN0YXRpYyBmbG9hdCBwbGF0Zm9ybUZvY3VzUmlu
Z1dpZHRoKCkgeyByZXR1cm4gMzsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLmgJKHJldmlzaW9uIDI1NDM3MykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZUlPUy5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw5IEBAIHB1
YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBjb25zdCBDU1NWYWx1ZVRvU3lzdGVt
Q29sb3JNYXAmIGNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCgpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIHNldENTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcChDU1NWYWx1ZVRvU3lzdGVt
Q29sb3JNYXAmJik7Ci0gICAgCisKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRG
b2N1c1JpbmdDb2xvcihjb25zdCBDb2xvciYpOworCiBwcm90ZWN0ZWQ6CiAgICAgTGVuZ3RoQm94
IHBvcHVwSW50ZXJuYWxQYWRkaW5nQm94KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1Mu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lm1tCShyZXZpc2lvbiAyNTQzNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMzAsOSArMTEzMCwxOCBAQCBDb2xvciBS
ZW5kZXJUaGVtZUlPUzo6cGxhdGZvcm1JbmFjdGl2ZVNlCiAgICAgcmV0dXJuIENvbG9yOjp0cmFu
c3BhcmVudDsKIH0KIAorc3RhdGljIE9wdGlvbmFsPENvbG9yPiYgY2FjaGVkRm9jdXNSaW5nQ29s
b3IoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDxDb2xvcj4+IGNvbG9y
OworICAgIHJldHVybiBjb2xvcjsKK30KKwogI2lmIEVOQUJMRShGVUxMX0tFWUJPQVJEX0FDQ0VT
UykKIENvbG9yIFJlbmRlclRoZW1lSU9TOjpwbGF0Zm9ybUZvY3VzUmluZ0NvbG9yKE9wdGlvblNl
dDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3QKIHsKKyAgICBpZiAoY2FjaGVkRm9jdXNSaW5n
Q29sb3IoKS5oYXNWYWx1ZSgpKQorICAgICAgICByZXR1cm4gKmNhY2hlZEZvY3VzUmluZ0NvbG9y
KCk7CisKICAgICAvLyBGSVhNRTogU2hvdWxkIGJlIHVzaW5nIC1rZXlib2FyZEZvY3VzSW5kaWNh
dG9yQ29sb3IuIEZvciBub3csIHdvcmsgYXJvdW5kIDxyZGFyOi8vcHJvYmxlbS81MDgzODg4Nj4u
CiAgICAgcmV0dXJuIGNvbG9yRnJvbVVJQ29sb3IoW1BBTDo6Z2V0VUlDb2xvckNsYXNzKCkgc3lz
dGVtQmx1ZUNvbG9yXSk7CiB9CkBAIC0xNTM4LDYgKzE1NDcsMTEgQEAgdm9pZCBSZW5kZXJUaGVt
ZUlPUzo6c2V0Q1NTVmFsdWVUb1N5c3RlbQogICAgIGdsb2JhbENTU1ZhbHVlVG9TeXN0ZW1Db2xv
ck1hcCgpID0gV1RGTW92ZShjb2xvck1hcCk7CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWVJT1M6OnNl
dEZvY3VzUmluZ0NvbG9yKGNvbnN0IENvbG9yJiBjb2xvcikKK3sKKyAgICBjYWNoZWRGb2N1c1Jp
bmdDb2xvcigpID0gY29sb3I7Cit9CisKIENvbG9yIFJlbmRlclRoZW1lSU9TOjpzeXN0ZW1Db2xv
cihDU1NWYWx1ZUlEIGNzc1ZhbHVlSUQsIE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBv
cHRpb25zKSBjb25zdAogewogICAgIGNvbnN0IGJvb2wgZm9yVmlzaXRlZExpbmsgPSBvcHRpb25z
LmNvbnRhaW5zKFN0eWxlQ29sb3I6Ok9wdGlvbnM6OkZvclZpc2l0ZWRMaW5rKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAJKHJldmlzaW9uIDI1NDM3MykKKysrIFNvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQzNSw0
ICs1NDM1LDEwIEBAIFN0cmluZyBJbnRlcm5hbHM6OnN5c3RlbUNvbG9yRm9yQ1NTVmFsdWUKICAg
ICByZXR1cm4gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLnN5c3RlbUNvbG9yKGlkLCBvcHRpb25z
KS5jc3NUZXh0KCk7CiB9CiAKK1N0cmluZyBJbnRlcm5hbHM6OmZvY3VzUmluZ0NvbG9yKCkKK3sK
KyAgICBPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4gb3B0aW9uczsKKyAgICByZXR1cm4g
UmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmZvY3VzUmluZ0NvbG9yKG9wdGlvbnMpLmNzc1RleHQo
KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCShyZXZpc2lvbiAyNTQzNzMpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCSh3b3JraW5nIGNvcHkpCkBAIC05MjYsNiArOTI2LDggQEAgcHVibGljOgogCiAg
ICAgU3RyaW5nIHN5c3RlbUNvbG9yRm9yQ1NTVmFsdWUoY29uc3QgU3RyaW5nJiBjc3NWYWx1ZSwg
Ym9vbCB1c2VEYXJrTW9kZUFwcGVhcmFuY2UsIGJvb2wgdXNlRWxldmF0ZWRVc2VySW50ZXJmYWNl
TGV2ZWwpOwogCisgICAgU3RyaW5nIGZvY3VzUmluZ0NvbG9yKCk7CisKIHByaXZhdGU6CiAgICAg
ZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Jik7CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1
bWVudCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkocmV2
aXNpb24gMjU0MzczKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC04MzMsNCArODMzLDUgQEAgZW51bSBDb21wb3NpdGluZ1BvbGljeSB7
CiAgICAgYm9vbGVhbiBoYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvWFBDU2VydmljZU5hbWUo
RE9NU3RyaW5nIHByb2Nlc3MsIERPTVN0cmluZyBzZXJ2aWNlKTsKICAgICAKICAgICBET01TdHJp
bmcgc3lzdGVtQ29sb3JGb3JDU1NWYWx1ZShET01TdHJpbmcgY3NzVmFsdWUsIGJvb2xlYW4gdXNl
RGFya01vZGVBcHBlYXJhbmNlLCBib29sZWFuIHVzZUVsZXZhdGVkVXNlckludGVyZmFjZUxldmVs
KTsKKyAgICBET01TdHJpbmcgZm9jdXNSaW5nQ29sb3IoKTsKIH07CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkocmV2
aXNpb24gMjU0MzczKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyNyBAQAorMjAyMC0wMS0xMCAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBh
cHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gSXNzdWUgbWFjaCBzYW5kYm94IGV4dGVuc2lvbiB0
byB0aGUgZnJvbnRib2FyZCBhbmQgaWNvbiBzZXJ2aWNlIHdoZW4gdGhlIGF0dGFjaG1lbnQgZWxl
bWVudCBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDU0NDMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4MDc0MjkxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gc3VwcG9ydCBm
b3IgdGhlIGh0bWwgYXR0YWNobWVudCBlbGVtZW50IGlzIGVuYWJsZWQsIGlzc3VlIGEgbWFjaCBs
b29rdXAgZXh0ZW5zaW9uIHRvIHRoZSBmcm9udGJvYXJkIGFuZCBpY29uIHNlcnZpY2UKKyAgICAg
ICAgZm9yIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIHNpbmNlIHRoZXNlIGRhZW1vbnMgYXJlIGJl
aW5nIGNvbnRhY3RlZCB3aGVuIGljb25zIGZvciBhdHRhY2htZW50cyBhcmUgYmVpbmcgcXVlcmll
ZC4gQWxzbywKKyAgICAgICAgcmV0cmlldmUgdGhlIGZvY3VzIHJpbmcgY29sb3IgaW4gdGhlIFVJ
IHByb2Nlc3MsIHNpbmNlIGdldHRpbmcgdGhpcyBjb2xvciByZXF1aXJlcyBhY2Nlc3MgdG8gdGhl
IGZyb250Ym9hcmQgZGFlbW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3Qvc2FuZGJveC9pb3Mvc2Fu
ZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVsZW1lbnQuaHRtbAorCisgICAgICAgICogUmVz
b3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNi
OgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2Rl
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAyMDIw
LTAxLTA5ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBN
YXAgQ1NTIHZhbHVlIElEIHRvIHN5c3RlbSBjb2xvciBpbiB0aGUgVUkgcHJvY2VzcwpJbmRleDog
U291cmNlL1dlYktpdC9SZXNvdXJjZXMvU2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2Vi
S2l0LldlYkNvbnRlbnQuc2IKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9SZXNvdXJjZXMv
U2FuZGJveFByb2ZpbGVzL2lvcy9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuc2IJKHJldmlz
aW9uIDI1NDM3MykKKysrIFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9p
b3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCSh3b3JraW5nIGNvcHkpCkBAIC05NTUs
NyArOTU1LDcgQEAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbAogICAgICAg
ICAoZXh0ZW5zaW9uICJjb20uYXBwbGUud2Via2l0LmV4dGVuc2lvbi5tYWNoIikKLSAgICAgICAg
KGdsb2JhbC1uYW1lICJjb20uYXBwbGUuaXBob25lLmF4c2VydmVyLXN5c3RlbXdpZGUiICJjb20u
YXBwbGUudGNjZCIgImNvbS5hcHBsZS5uZWhlbHBlciIgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5h
Z2VyLmNvbnRlbnQtZmlsdGVyIiAiY29tLmFwcGxlLnVpa2l0LnZpZXdzZXJ2aWNlLmNvbS5hcHBs
ZS5XZWJDb250ZW50RmlsdGVyLnJlbW90ZVVJIiAiY29tLmFwcGxlLmRpYWdub3N0aWNkIiAiY29t
LmFwcGxlLmxzZC5vcGVuIikpKQorICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pcGhv
bmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2NkIiAiY29tLmFwcGxlLm5laGVs
cGVyIiAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiICJjb20uYXBw
bGUudWlraXQudmlld3NlcnZpY2UuY29tLmFwcGxlLldlYkNvbnRlbnRGaWx0ZXIucmVtb3RlVUki
ICJjb20uYXBwbGUuZGlhZ25vc3RpY2QiICJjb20uYXBwbGUubHNkLm9wZW4iICJjb20uYXBwbGUu
ZnJvbnRib2FyZC5zeXN0ZW1hcHBzZXJ2aWNlcyIgImNvbS5hcHBsZS5pY29uc2VydmljZXMiKSkp
CiAKIChhbGxvdyBtYWNoLWxvb2t1cAogICAgIChyZXF1aXJlLWFsbApJbmRleDogU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAJKHJldmlz
aW9uIDI1NDM3MykKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSw2ICs5OSw4IEBAIHZvaWQgV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKEkKICAgICBlbmNvZGVyIDw8IGtleWJvYXJkSXNBdHRh
Y2hlZDsKICAgICBlbmNvZGVyIDw8IGNhblNob3dXaGlsZUxvY2tlZDsKICAgICBlbmNvZGVyIDw8
IG92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHM7CisgICAgZW5jb2RlciA8PCBmcm9udGJvYXJkRXh0
ZW5zaW9uSGFuZGxlOworICAgIGVuY29kZXIgPDwgaWNvblNlcnZpY2VzRXh0ZW5zaW9uSGFuZGxl
OwogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgZW5jb2RlciA8PCBzbWFydEluc2Vy
dERlbGV0ZUVuYWJsZWQ7CkBAIC0zMDgsNiArMzEwLDE4IEBAIE9wdGlvbmFsPFdlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnM+IFdlYlAKICAgICBpZiAoIW92ZXJyaWRlVmlld3BvcnRBcmd1bWVudHMp
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAgICAgcGFyYW1ldGVycy5vdmVycmlkZVZp
ZXdwb3J0QXJndW1lbnRzID0gV1RGTW92ZSgqb3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50cyk7CisK
KyAgICBPcHRpb25hbDxPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+PiBmcm9udGJv
YXJkRXh0ZW5zaW9uSGFuZGxlOworICAgIGRlY29kZXIgPj4gZnJvbnRib2FyZEV4dGVuc2lvbkhh
bmRsZTsKKyAgICBpZiAoIWZyb250Ym9hcmRFeHRlbnNpb25IYW5kbGUpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgcGFyYW1ldGVycy5mcm9udGJvYXJkRXh0ZW5zaW9uSGFuZGxl
ID0gV1RGTW92ZSgqZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZSk7CisKKyAgICBPcHRpb25hbDxP
cHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+PiBpY29uU2VydmljZXNFeHRlbnNpb25I
YW5kbGU7CisgICAgZGVjb2RlciA+PiBpY29uU2VydmljZXNFeHRlbnNpb25IYW5kbGU7CisgICAg
aWYgKCFpY29uU2VydmljZXNFeHRlbnNpb25IYW5kbGUpCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisgICAgcGFyYW1ldGVycy5pY29uU2VydmljZXNFeHRlbnNpb25IYW5kbGUgPSBXVEZN
b3ZlKCppY29uU2VydmljZXNFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShDT0NPQSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzLmgJKHJldmlzaW9uIDI1NDM3MykKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTYwLDYgKzE2
MCw4IEBAIHN0cnVjdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIGtleWJv
YXJkSXNBdHRhY2hlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBjYW5TaG93V2hpbGVMb2NrZWQgeyBm
YWxzZSB9OwogICAgIE9wdGlvbmFsPFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzPiBvdmVycmlk
ZVZpZXdwb3J0QXJndW1lbnRzOworICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZT4gZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZTsKKyAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5z
aW9uOjpIYW5kbGU+IGljb25TZXJ2aWNlc0V4dGVuc2lvbkhhbmRsZTsKICNlbmRpZgogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIGJvb2wgc21hcnRJbnNlcnREZWxldGVFbmFibGVkOwpJbmRleDog
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHAJKHJldmlzaW9uIDI1NDM3MykKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiArMTcx
LDcgQEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgZW5jb2RlciA8PCBjdXJyZW50VXNlckludGVyZmFjZUlkaW9t
SXNQYWQ7CiAgICAgZW5jb2RlciA8PCBjc3NWYWx1ZVRvU3lzdGVtQ29sb3JNYXA7CisgICAgZW5j
b2RlciA8PCBmb2N1c1JpbmdDb2xvcjsKICNlbmRpZgogfQogCkBAIC00NDQsNiArNDQ1LDEyIEBA
IGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2QKICAgICBpZiAoIWNzc1Zh
bHVlVG9TeXN0ZW1Db2xvck1hcCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHBhcmFtZXRl
cnMuY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwID0gV1RGTW92ZSgqY3NzVmFsdWVUb1N5c3RlbUNv
bG9yTWFwKTsKKworICAgIE9wdGlvbmFsPFdlYkNvcmU6OkNvbG9yPiBmb2N1c1JpbmdDb2xvcjsK
KyAgICBkZWNvZGVyID4+IGZvY3VzUmluZ0NvbG9yOworICAgIGlmICghZm9jdXNSaW5nQ29sb3Ip
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBwYXJhbWV0ZXJzLmZvY3VzUmluZ0NvbG9yID0g
V1RGTW92ZSgqZm9jdXNSaW5nQ29sb3IpOwogI2VuZGlmCiAKICAgICByZXR1cm4gdHJ1ZTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgJKHJldmlzaW9uIDI1NDM3MykKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMjEzLDYgKzIxMyw3
IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIGJvb2wgY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkIHsgZmFs
c2UgfTsKICAgICBXZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6Q1NTVmFsdWVUb1N5c3RlbUNvbG9y
TWFwIGNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcDsKKyAgICBXZWJDb3JlOjpDb2xvciBmb2N1c1Jp
bmdDb2xvcjsKICNlbmRpZgogfTsKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCShyZXZpc2lvbiAyNTQzNzMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjA2LDYgKzc2MDYsMTcgQEAg
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBXZWJQYWdlUHJveHk6OgogICAgIHBhcmFtZXRlcnMu
c2hvdWxkQ2FwdHVyZVZpZGVvSW5HUFVQcm9jZXNzID0gbV9wcm9jZXNzLT5wcm9jZXNzUG9vbCgp
LmNvbmZpZ3VyYXRpb24oKS5zaG91bGRDYXB0dXJlVmlkZW9JbkdQVVByb2Nlc3MoKTsKICAgICBw
YXJhbWV0ZXJzLnNob3VsZENhcHR1cmVEaXNwbGF5SW5VSVByb2Nlc3MgPSBtX3Byb2Nlc3MtPnBy
b2Nlc3NQb29sKCkuY29uZmlndXJhdGlvbigpLnNob3VsZENhcHR1cmVEaXNwbGF5SW5VSVByb2Nl
c3MoKTsKIAorI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCisgICAgaWYgKG1fcHJlZmVyZW5jZXMtPmF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCgp
ICYmICFtX3Byb2Nlc3MtPmhhc0lzc3VlZEF0dGFjaG1lbnRFbGVtZW50UmVsYXRlZFNhbmRib3hF
eHRlbnNpb25zKCkpIHsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIGhhbmRsZTsK
KyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29t
LmFwcGxlLmZyb250Ym9hcmQuc3lzdGVtYXBwc2VydmljZXMiLCBXVEY6Om51bGxvcHQsIGhhbmRs
ZSk7CisgICAgICAgIHBhcmFtZXRlcnMuZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZSA9IFdURk1v
dmUoaGFuZGxlKTsKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFj
aExvb2t1cCgiY29tLmFwcGxlLmljb25zZXJ2aWNlcyIsIFdURjo6bnVsbG9wdCwgaGFuZGxlKTsK
KyAgICAgICAgcGFyYW1ldGVycy5pY29uU2VydmljZXNFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3Zl
KGhhbmRsZSk7CisgICAgICAgIG1fcHJvY2Vzcy0+c2V0SGFzSXNzdWVkQXR0YWNobWVudEVsZW1l
bnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMoKTsKKyAgICB9CisjZW5kaWYKKwogICAgIHJldHVy
biBwYXJhbWV0ZXJzOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUHJveHkuaAkocmV2aXNpb24gMjU0MzczKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTM0Nyw2ICszNDcsMTEgQEAgcHVi
bGljOgogICAgIFVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkqIHVzZXJNZWRpYUNhcHR1cmVN
YW5hZ2VyUHJveHkoKSB7IHJldHVybiBtX3VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuZ2V0
KCk7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkgJiYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBib29sIGhhc0lzc3VlZEF0dGFjaG1lbnRFbGVtZW50UmVsYXRl
ZFNhbmRib3hFeHRlbnNpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oYXNJc3N1ZWRBdHRhY2htZW50
RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9uczsgfQorICAgIHZvaWQgc2V0SGFzSXNzdWVk
QXR0YWNobWVudEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMoKSB7IG1faGFzSXNzdWVk
QXR0YWNobWVudEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMgPSB0cnVlOyB9CisjZW5k
aWYKKwogcHJvdGVjdGVkOgogICAgIFdlYlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYsIFdl
YnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdhcm1lZCk7CiAKQEAgLTUyMiw2ICs1MjcsOSBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9oYXNDb21taXR0ZWRBbnlQcm92aXNpb25hbExvYWRzIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNQcmV3YXJtZWQ7CiAgICAgYm9vbCBtX2hhc0F1ZGlibGVXZWJQYWdl
IHsgZmFsc2UgfTsKKyNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKSAmJiBQTEFURk9STShJ
T1NfRkFNSUxZKQorICAgIGJvb2wgbV9oYXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRT
YW5kYm94RXh0ZW5zaW9ucyB7IGZhbHNlIH07CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdBVENI
T1MpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb2Nlc3NUaHJvdHRsZXI6OkJhY2tncm91bmRBY3Rp
dml0eT4gbV9iYWNrZ3JvdW5kQWN0aXZpdHlGb3JGdWxsc2NyZWVuRm9ybUNvbnRyb2xzOwpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9v
bENvY29hLm1tCShyZXZpc2lvbiAyNTQzNzMpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0
LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgcGFyYW1ldGVycy5jdXJyZW50VXNlckludGVyZmFjZUlkaW9t
SXNQYWQgPSBjdXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWQoKTsKICAgICBwYXJhbWV0ZXJz
LmNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCA9IFJlbmRlclRoZW1lSU9TOjpjc3NWYWx1ZVRvU3lz
dGVtQ29sb3JNYXAoKTsKKyAgICBwYXJhbWV0ZXJzLmZvY3VzUmluZ0NvbG9yID0gUmVuZGVyVGhl
bWU6OnNpbmdsZXRvbigpLmZvY3VzUmluZ0NvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRp
b25zPigpKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMjU0MzczKQorKysgU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyNCw2ICs1
MjQsMTMgQEAgV2ViUGFnZTo6V2ViUGFnZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIAogCiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24uY29yc0Rpc2FibGluZ1BhdHRlcm5zID0gV1RGTW92ZShwYXJhbWV0
ZXJzLmNvcnNEaXNhYmxpbmdQYXR0ZXJucyk7CiAKKyNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmIChwYXJhbWV0ZXJzLmZyb250Ym9h
cmRFeHRlbnNpb25IYW5kbGUpCisgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJt
YW5lbnRseSgqcGFyYW1ldGVycy5mcm9udGJvYXJkRXh0ZW5zaW9uSGFuZGxlKTsKKyAgICBpZiAo
cGFyYW1ldGVycy5pY29uU2VydmljZXNFeHRlbnNpb25IYW5kbGUpCisgICAgICAgIFNhbmRib3hF
eHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgqcGFyYW1ldGVycy5pY29uU2VydmljZXNFeHRl
bnNpb25IYW5kbGUpOworI2VuZGlmCisKICAgICBtX3BhZ2UgPSBtYWtlVW5pcXVlPFBhZ2U+KFdU
Rk1vdmUocGFnZUNvbmZpZ3VyYXRpb24pKTsKIAogICAgIHVwZGF0ZVByZWZlcmVuY2VzKHBhcmFt
ZXRlcnMuc3RvcmUpOwpJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvV2ViUHJvY2Vzc0NvY29hLm1tCShyZXZpc2lvbiAyNTQzNzMpCisrKyBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
NjIsNiArMjYyLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBSZW5kZXJUaGVtZUlPUzo6c2V0Q1NTVmFs
dWVUb1N5c3RlbUNvbG9yTWFwKFdURk1vdmUocGFyYW1ldGVycy5jc3NWYWx1ZVRvU3lzdGVtQ29s
b3JNYXApKTsKKyAgICBSZW5kZXJUaGVtZUlPUzo6c2V0Rm9jdXNSaW5nQ29sb3IocGFyYW1ldGVy
cy5mb2N1c1JpbmdDb2xvcik7CiAjZW5kaWYKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjU0Mzcz
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjAtMDEtMTAgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFtpT1NdIElzc3VlIG1hY2ggc2FuZGJveCBleHRlbnNpb24gdG8gdGhlIGZyb250Ym9h
cmQgYW5kIGljb24gc2VydmljZSB3aGVuIHRoZSBhdHRhY2htZW50IGVsZW1lbnQgaXMgZW5hYmxl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDQz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L3NhbmRib3gvaW9zL2ZvY3VzLXJpbmctY29sb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3NhbmRib3gvaW9zL2ZvY3VzLXJpbmctY29sb3IuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9zYW5kYm94L2lvcy9zYW5kYm94LW1hY2gtbG9va3VwLWF0dGFjaG1lbnQtZWxl
bWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2FuZGJveC9pb3Mvc2Fu
ZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVsZW1lbnQuaHRtbDogQWRkZWQuCisKIDIwMjAt
MDEtMDkgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1h
cCBDU1MgdmFsdWUgSUQgdG8gc3lzdGVtIGNvbG9yIGluIHRoZSBVSSBwcm9jZXNzCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3NhbmRib3gvaW9zL2ZvY3VzLXJpbmctY29sb3ItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3MvZm9jdXMtcmluZy1j
b2xvci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zYW5k
Ym94L2lvcy9mb2N1cy1yaW5nLWNvbG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDcgQEAKK1Rlc3QgdGhhdCB0aGUgZm9jdXMgcmluZyBjb2xvciBpcyBhcyBleHBlY3Rl
ZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaW50ZXJuYWxzLmZvY3Vz
UmluZ0NvbG9yKCkgaXMgJ3JnYigwLCAxMjIsIDI1NSknCisKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3Qvc2FuZGJveC9pb3MvZm9jdXMtcmluZy1jb2xvci5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3MvZm9jdXMtcmluZy1jb2xvci5odG1sCShub25leGlzdGVu
dCkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3MvZm9jdXMtcmluZy1jb2xvci5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgdGhlIGZvY3VzIHJp
bmcgY29sb3IgaXMgYXMgZXhwZWN0ZWQuJyk7CisKK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgc2hvdWxkQmUoImludGVybmFscy5mb2N1c1JpbmdDb2xvcigpIiwgIidyZ2IoMCwgMTIyLCAy
NTUpJyIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzwvYm9keT4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50
LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qvc2Fu
ZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVsZW1lbnQtZXhwZWN0ZWQu
dHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3Mvc2FuZGJv
eC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsOCBAQAorVGVzdCB0aGF0IHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaGFz
IG1hY2ggbG9va3VwIGFjY2VzcyB0byBmcm9udGJvYXJkIGFuZCBpY29uIHNlcnZpY2VzIHdoZW4g
dGhlIGF0dGFjaG1lbnQgZWxlbWVudCBpcyBlbmFibGVkCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIGludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xv
YmFsTmFtZSgnY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50JywgJ2NvbS5hcHBsZS5mcm9udGJv
YXJkLnN5c3RlbWFwcHNlcnZpY2VzJykgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMuaGFzU2FuZGJv
eE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoJ2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVu
dCcsICdjb20uYXBwbGUuaWNvbnNlcnZpY2VzJykgaXMgdHJ1ZQorCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L3NhbmRib3gvaW9zL3NhbmRib3gtbWFjaC1sb29rdXAtYXR0YWNobWVudC1lbGVtZW50
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L2lvcy9zYW5kYm94
LW1hY2gtbG9va3VwLWF0dGFjaG1lbnQtZWxlbWVudC5odG1sCShub25leGlzdGVudCkKKysrIExh
eW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50
LWVsZW1lbnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGVuYWJsZUF0dGFjaG1lbnRFbGVtZW50PXRy
dWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCB0
aGF0IHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaGFzIG1hY2ggbG9va3VwIGFjY2VzcyB0byBmcm9u
dGJvYXJkIGFuZCBpY29uIHNlcnZpY2VzIHdoZW4gdGhlIGF0dGFjaG1lbnQgZWxlbWVudCBpcyBl
bmFibGVkJyk7CisKK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgc2hvdWxkQmVUcnVlKCJp
bnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29rdXBBY2Nlc3NUb0dsb2JhbE5hbWUoJ2NvbS5hcHBs
ZS5XZWJLaXQuV2ViQ29udGVudCcsICdjb20uYXBwbGUuZnJvbnRib2FyZC5zeXN0ZW1hcHBzZXJ2
aWNlcycpIik7CisgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaGFzU2FuZGJveE1hY2hMb29r
dXBBY2Nlc3NUb0dsb2JhbE5hbWUoJ2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCcsICdjb20u
YXBwbGUuaWNvbnNlcnZpY2VzJykiKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
L2JvZHk+Cg==
</data>
<flag name="review"
          id="403698"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
    <flag name="commit-queue"
          id="404946"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389265</attachid>
            <date>2020-01-30 10:19:47 -0800</date>
            <delta_ts>2020-01-30 14:13:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205443-20200130101946.patch</filename>
            <type>text/plain</type>
            <size>19968</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1NTQzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDIwLTAxLTMwICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBJc3N1ZSBtYWNo
IHNhbmRib3ggZXh0ZW5zaW9uIHRvIHRoZSBmcm9udGJvYXJkIGFuZCBpY29uIHNlcnZpY2Ugd2hl
biB0aGUgYXR0YWNobWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ0MworCisgICAgICAgIFJldmlld2VkIGJ5
IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgR2V0IGZvY3VzIHJpbmcgY29sb3IgaW4gdGhlIFVJ
IHByb2Nlc3Mgc2luY2UgZ2V0dGluZyB0aGlzIGNvbG9yIHdpbGwgY29tbXVuaWNhdGUgd2l0aCB0
aGUgZnJvbnRib2FyZCBkYWVtb24uCisKKyAgICAgICAgVGVzdDogZmFzdC9zYW5kYm94L2lvcy9m
b2N1cy1yaW5nLWNvbG9yLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNhY2hlZEZvY3VzUmlu
Z0NvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpwbGF0Zm9ybUZvY3Vz
UmluZ0NvbG9yIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpzZXRG
b2N1c1JpbmdDb2xvcik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpmb2N1c1JpbmdDb2xvcik6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMjAt
MDEtMzAgIERvdWcgS2VsbHkgIDxkb3Vna0BhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4g
UmVuZGVyQmxvY2tGbG93OjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKCkgd2l0aCBj
b21wbGV4IGxpbmUgd2l0aG91dCByb290IGJveApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmgJKHJldmlzaW9uIDI1NTQzNykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjAsNyArMTYwLDcgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBDb2xvciBkaXNhYmxlZFRleHRDb2xvcihjb25zdCBDb2xvciYg
dGV4dENvbG9yLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBjb25zdDsKIAotICAgIENv
bG9yIGZvY3VzUmluZ0NvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3Q7
CisgICAgV1RGX0VYUE9SVCBDb2xvciBmb2N1c1JpbmdDb2xvcihPcHRpb25TZXQ8U3R5bGVDb2xv
cjo6T3B0aW9ucz4pIGNvbnN0OwogICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1Gb2N1c1JpbmdD
b2xvcihPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0IHsgcmV0dXJuIENvbG9y
KDAsIDAsIDApOyB9CiAgICAgc3RhdGljIHZvaWQgc2V0Q3VzdG9tRm9jdXNSaW5nQ29sb3IoY29u
c3QgQ29sb3ImKTsKICAgICBzdGF0aWMgZmxvYXQgcGxhdGZvcm1Gb2N1c1JpbmdXaWR0aCgpIHsg
cmV0dXJuIDM7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlP
Uy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlP
Uy5oCShyZXZpc2lvbiAyNTU0MzcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsOSBAQCBwdWJsaWM6CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgY29uc3QgQ1NTVmFsdWVUb1N5c3RlbUNvbG9yTWFwJiBj
c3NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAoKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCBzZXRDU1NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAoQ1NTVmFsdWVUb1N5c3RlbUNvbG9yTWFwJiYp
OwotICAgIAorCisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0Rm9jdXNSaW5nQ29s
b3IoY29uc3QgQ29sb3ImKTsKKwogcHJvdGVjdGVkOgogICAgIExlbmd0aEJveCBwb3B1cEludGVy
bmFsUGFkZGluZ0JveChjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IG92ZXJyaWRlOwogICAgIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQkocmV2aXNp
b24gMjU1NDM3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMwLDkgKzExMzAsMTggQEAgQ29sb3IgUmVuZGVyVGhlbWVJ
T1M6OnBsYXRmb3JtSW5hY3RpdmVTZQogICAgIHJldHVybiBDb2xvcjo6dHJhbnNwYXJlbnQ7CiB9
CiAKK3N0YXRpYyBPcHRpb25hbDxDb2xvcj4mIGNhY2hlZEZvY3VzUmluZ0NvbG9yKCkKK3sKKyAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8Q29sb3I+PiBjb2xvcjsKKyAgICByZXR1
cm4gY29sb3I7Cit9CisKICNpZiBFTkFCTEUoRlVMTF9LRVlCT0FSRF9BQ0NFU1MpCiBDb2xvciBS
ZW5kZXJUaGVtZUlPUzo6cGxhdGZvcm1Gb2N1c1JpbmdDb2xvcihPcHRpb25TZXQ8U3R5bGVDb2xv
cjo6T3B0aW9ucz4pIGNvbnN0CiB7CisgICAgaWYgKGNhY2hlZEZvY3VzUmluZ0NvbG9yKCkuaGFz
VmFsdWUoKSkKKyAgICAgICAgcmV0dXJuICpjYWNoZWRGb2N1c1JpbmdDb2xvcigpOworCiAgICAg
Ly8gRklYTUU6IFNob3VsZCBiZSB1c2luZyAta2V5Ym9hcmRGb2N1c0luZGljYXRvckNvbG9yLiBG
b3Igbm93LCB3b3JrIGFyb3VuZCA8cmRhcjovL3Byb2JsZW0vNTA4Mzg4ODY+LgogICAgIHJldHVy
biBjb2xvckZyb21VSUNvbG9yKFtQQUw6OmdldFVJQ29sb3JDbGFzcygpIHN5c3RlbUJsdWVDb2xv
cl0pOwogfQpAQCAtMTUzOCw2ICsxNTQ3LDExIEBAIHZvaWQgUmVuZGVyVGhlbWVJT1M6OnNldENT
U1ZhbHVlVG9TeXN0ZW0KICAgICBnbG9iYWxDU1NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAoKSA9IFdU
Rk1vdmUoY29sb3JNYXApOwogfQogCit2b2lkIFJlbmRlclRoZW1lSU9TOjpzZXRGb2N1c1JpbmdD
b2xvcihjb25zdCBDb2xvciYgY29sb3IpCit7CisgICAgY2FjaGVkRm9jdXNSaW5nQ29sb3IoKSA9
IGNvbG9yOworfQorCiBDb2xvciBSZW5kZXJUaGVtZUlPUzo6c3lzdGVtQ29sb3IoQ1NTVmFsdWVJ
RCBjc3NWYWx1ZUlELCBPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4gb3B0aW9ucykgY29u
c3QKIHsKICAgICBjb25zdCBib29sIGZvclZpc2l0ZWRMaW5rID0gb3B0aW9ucy5jb250YWlucyhT
dHlsZUNvbG9yOjpPcHRpb25zOjpGb3JWaXNpdGVkTGluayk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNTU0MzcpCisrKyBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0NTUsNCArNTQ1NSwxMCBA
QCBTdHJpbmcgSW50ZXJuYWxzOjptZWRpYU1JTUVUeXBlRm9yRXh0ZW5zCiAgICAgcmV0dXJuIE1J
TUVUeXBlUmVnaXN0cnk6OmdldE1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0ZW5zaW9uKTsK
IH0KIAorU3RyaW5nIEludGVybmFsczo6Zm9jdXNSaW5nQ29sb3IoKQoreworICAgIE9wdGlvblNl
dDxTdHlsZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zOworICAgIHJldHVybiBSZW5kZXJUaGVtZTo6
c2luZ2xldG9uKCkuZm9jdXNSaW5nQ29sb3Iob3B0aW9ucykuY3NzVGV4dCgpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJl
dmlzaW9uIDI1NTQzNykKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTkzMyw2ICs5MzMsOCBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgbWVk
aWFNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbik7CiAKKyAgICBT
dHJpbmcgZm9jdXNSaW5nQ29sb3IoKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5h
bHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29uc3Q7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAyNTU0MzcpCisr
KyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTgzNiw2ICs4MzYsNyBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5IHsKICAgICBib29sZWFuIGhh
c1NhbmRib3hNYWNoTG9va3VwQWNjZXNzVG9YUENTZXJ2aWNlTmFtZShET01TdHJpbmcgcHJvY2Vz
cywgRE9NU3RyaW5nIHNlcnZpY2UpOwogICAgIAogICAgIERPTVN0cmluZyBzeXN0ZW1Db2xvckZv
ckNTU1ZhbHVlKERPTVN0cmluZyBjc3NWYWx1ZSwgYm9vbGVhbiB1c2VEYXJrTW9kZUFwcGVhcmFu
Y2UsIGJvb2xlYW4gdXNlRWxldmF0ZWRVc2VySW50ZXJmYWNlTGV2ZWwpOworICAgIERPTVN0cmlu
ZyBmb2N1c1JpbmdDb2xvcigpOwogCiAgICAgYm9vbGVhbiBzeXN0ZW1IYXNCYXR0ZXJ5KCk7CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTU0MzcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDIwLTAxLTMwICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBJc3N1ZSBtYWNoIHNh
bmRib3ggZXh0ZW5zaW9uIHRvIHRoZSBmcm9udGJvYXJkIGFuZCBpY29uIHNlcnZpY2Ugd2hlbiB0
aGUgYXR0YWNobWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ0MworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NTgwNzQyOTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAg
ICBXaGVuIHN1cHBvcnQgZm9yIHRoZSBodG1sIGF0dGFjaG1lbnQgZWxlbWVudCBpcyBlbmFibGVk
LCBpc3N1ZSBhIG1hY2ggbG9va3VwIGV4dGVuc2lvbiB0byB0aGUgZnJvbnRib2FyZCBhbmQgaWNv
biBzZXJ2aWNlCisgICAgICAgIGZvciB0aGUgV2ViQ29udGVudCBwcm9jZXNzLCBzaW5jZSB0aGVz
ZSBkYWVtb25zIGFyZSBiZWluZyBjb250YWN0ZWQgd2hlbiBpY29ucyBmb3IgYXR0YWNobWVudHMg
YXJlIGJlaW5nIHF1ZXJpZWQuIEFsc28sCisgICAgICAgIHJldHJpZXZlIHRoZSBmb2N1cyByaW5n
IGNvbG9yIGluIHRoZSBVSSBwcm9jZXNzLCBzaW5jZSBnZXR0aW5nIHRoaXMgY29sb3IgcmVxdWly
ZXMgYWNjZXNzIHRvIHRoZSBmcm9udGJvYXJkIGRhZW1vbi4KKworICAgICAgICBUZXN0OiBmYXN0
L3NhbmRib3gvaW9zL3NhbmRib3gtbWFjaC1sb29rdXAtYXR0YWNobWVudC1lbGVtZW50Lmh0bWwK
KworICAgICAgICAqIFJlc291cmNlcy9TYW5kYm94UHJvZmlsZXMvaW9zL2NvbS5hcHBsZS5XZWJL
aXQuV2ViQ29udGVudC5zYjoKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6
ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQ
cm9jZXNzKToKKwogMjAyMC0wMS0zMCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBSZW1vdmUgcmVwb3J0IHJ1bGUgZm9yICdjb20uYXBwbGUucnVu
bmluZ2JvYXJkJyBmcm9tIHRoZSBOZXR3b3JrIGFuZCBHUFUgcHJvY2VzcyBzYW5kYm94ZXMKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvUmVzb3VyY2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxl
LldlYktpdC5XZWJDb250ZW50LnNiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvUmVzb3Vy
Y2VzL1NhbmRib3hQcm9maWxlcy9pb3MvY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50LnNiCShy
ZXZpc2lvbiAyNTU0MzcpCisrKyBTb3VyY2UvV2ViS2l0L1Jlc291cmNlcy9TYW5kYm94UHJvZmls
ZXMvaW9zL2NvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudC5zYgkod29ya2luZyBjb3B5KQpAQCAt
OTE5LDcgKzkxOSw3IEBACiAoYWxsb3cgbWFjaC1sb29rdXAKICAgICAocmVxdWlyZS1hbGwKICAg
ICAgICAgKGV4dGVuc2lvbiAiY29tLmFwcGxlLndlYmtpdC5leHRlbnNpb24ubWFjaCIpCi0gICAg
ICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmlwaG9uZS5heHNlcnZlci1zeXN0ZW13aWRlIiAi
Y29tLmFwcGxlLnRjY2QiICJjb20uYXBwbGUubmVoZWxwZXIiICJjb20uYXBwbGUubmVzZXNzaW9u
bWFuYWdlci5jb250ZW50LWZpbHRlciIgImNvbS5hcHBsZS51aWtpdC52aWV3c2VydmljZS5jb20u
YXBwbGUuV2ViQ29udGVudEZpbHRlci5yZW1vdGVVSSIgImNvbS5hcHBsZS5kaWFnbm9zdGljZCIg
ImNvbS5hcHBsZS5sc2Qub3BlbiIgImNvbS5hcHBsZS5tb2JpbGVhc3NldGQiICJjb20uYXBwbGUu
bW9iaWxlYXNzZXRkLnYyIikpKQorICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5pcGhv
bmUuYXhzZXJ2ZXItc3lzdGVtd2lkZSIgImNvbS5hcHBsZS50Y2NkIiAiY29tLmFwcGxlLm5laGVs
cGVyIiAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiICJjb20uYXBw
bGUudWlraXQudmlld3NlcnZpY2UuY29tLmFwcGxlLldlYkNvbnRlbnRGaWx0ZXIucmVtb3RlVUki
ICJjb20uYXBwbGUuZGlhZ25vc3RpY2QiICJjb20uYXBwbGUubHNkLm9wZW4iICJjb20uYXBwbGUu
bW9iaWxlYXNzZXRkIiAiY29tLmFwcGxlLm1vYmlsZWFzc2V0ZC52MiIgImNvbS5hcHBsZS5mcm9u
dGJvYXJkLnN5c3RlbWFwcHNlcnZpY2VzIiAiY29tLmFwcGxlLmljb25zZXJ2aWNlcyIpKSkKIAog
KGFsbG93IG1hY2gtbG9va3VwCiAgICAgKHJlcXVpcmUtYWxsCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkocmV2aXNpb24g
MjU1NDM3KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzkyLDggQEAgdm9pZCBXZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzOjplbmNvZGUoSQogICAgIGVuY29kZXIgPDwgdmlld3BvcnRDb25maWd1cmF0
aW9uTWluaW11bUVmZmVjdGl2ZURldmljZVdpZHRoOwogICAgIGVuY29kZXIgPDwgdmlld3BvcnRD
b25maWd1cmF0aW9uVmlld1NpemU7CiAgICAgZW5jb2RlciA8PCBvdmVycmlkZVZpZXdwb3J0QXJn
dW1lbnRzOworICAgIGVuY29kZXIgPDwgZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZTsKKyAgICBl
bmNvZGVyIDw8IGljb25TZXJ2aWNlc0V4dGVuc2lvbkhhbmRsZTsKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTI5OSw2ICszMDEsMTggQEAgT3B0aW9uYWw8V2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycz4gV2ViUAogICAgIGlmICghb3ZlcnJpZGVWaWV3cG9ydEFyZ3VtZW50
cykKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBwYXJhbWV0ZXJzLm92ZXJyaWRl
Vmlld3BvcnRBcmd1bWVudHMgPSBXVEZNb3ZlKCpvdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzKTsK
KworICAgIE9wdGlvbmFsPE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4+IGZyb250
Ym9hcmRFeHRlbnNpb25IYW5kbGU7CisgICAgZGVjb2RlciA+PiBmcm9udGJvYXJkRXh0ZW5zaW9u
SGFuZGxlOworICAgIGlmICghZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZSkKKyAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKKyAgICBwYXJhbWV0ZXJzLmZyb250Ym9hcmRFeHRlbnNpb25IYW5k
bGUgPSBXVEZNb3ZlKCpmcm9udGJvYXJkRXh0ZW5zaW9uSGFuZGxlKTsKKworICAgIE9wdGlvbmFs
PE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4+IGljb25TZXJ2aWNlc0V4dGVuc2lv
bkhhbmRsZTsKKyAgICBkZWNvZGVyID4+IGljb25TZXJ2aWNlc0V4dGVuc2lvbkhhbmRsZTsKKyAg
ICBpZiAoIWljb25TZXJ2aWNlc0V4dGVuc2lvbkhhbmRsZSkKKyAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKyAgICBwYXJhbWV0ZXJzLmljb25TZXJ2aWNlc0V4dGVuc2lvbkhhbmRsZSA9IFdU
Rk1vdmUoKmljb25TZXJ2aWNlc0V4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycy5oCShyZXZpc2lvbiAyNTU0MzcpCisrKyBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1
Miw2ICsxNTIsOCBAQCBzdHJ1Y3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgZG91
YmxlIHZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1FZmZlY3RpdmVEZXZpY2VXaWR0aDsKICAg
ICBXZWJDb3JlOjpGbG9hdFNpemUgdmlld3BvcnRDb25maWd1cmF0aW9uVmlld1NpemU7CiAgICAg
T3B0aW9uYWw8V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM+IG92ZXJyaWRlVmlld3BvcnRBcmd1
bWVudHM7CisgICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBmcm9udGJvYXJk
RXh0ZW5zaW9uSGFuZGxlOworICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4g
aWNvblNlcnZpY2VzRXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgc2NyZWVuU2l6ZTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CShyZXZpc2lvbiAyNTU0MzcpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTczLDYgKzE3Myw3IEBAIHZv
aWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2QKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgIGVuY29kZXIgPDwgY3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkOwog
ICAgIGVuY29kZXIgPDwgY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwOworICAgIGVuY29kZXIgPDwg
Zm9jdXNSaW5nQ29sb3I7CiAjZW5kaWYKIH0KIApAQCAtNDU4LDYgKzQ1OSwxMiBAQCBib29sIFdl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kCiAgICAgaWYgKCFjc3NWYWx1ZVRvU3lz
dGVtQ29sb3JNYXApCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBwYXJhbWV0ZXJzLmNzc1Zh
bHVlVG9TeXN0ZW1Db2xvck1hcCA9IFdURk1vdmUoKmNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCk7
CisKKyAgICBPcHRpb25hbDxXZWJDb3JlOjpDb2xvcj4gZm9jdXNSaW5nQ29sb3I7CisgICAgZGVj
b2RlciA+PiBmb2N1c1JpbmdDb2xvcjsKKyAgICBpZiAoIWZvY3VzUmluZ0NvbG9yKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgcGFyYW1ldGVycy5mb2N1c1JpbmdDb2xvciA9IFdURk1vdmUo
KmZvY3VzUmluZ0NvbG9yKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CShyZXZpc2lvbiAyNTU0MzcpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxNSw2ICsyMTUsNyBAQCBzdHJ1
Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBib29sIGN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCB7IGZhbHNlIH07CiAg
ICAgV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6OkNTU1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCBjc3NW
YWx1ZVRvU3lzdGVtQ29sb3JNYXA7CisgICAgV2ViQ29yZTo6Q29sb3IgZm9jdXNSaW5nQ29sb3I7
CiAjZW5kaWYKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAkocmV2aXNpb24gMjU1NDM3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzY1MSw2ICs3NjUxLDE3IEBAIFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMgV2ViUGFnZVByb3h5OjoKICAgICBwYXJhbWV0ZXJzLnRoZW1lTmFt
ZSA9IHBhZ2VDbGllbnQoKS50aGVtZU5hbWUoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEFUVEFD
SE1FTlRfRUxFTUVOVCkgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAobV9wcmVmZXJl
bmNlcy0+YXR0YWNobWVudEVsZW1lbnRFbmFibGVkKCkgJiYgIW1fcHJvY2Vzcy0+aGFzSXNzdWVk
QXR0YWNobWVudEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMoKSkgeworICAgICAgICBT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGFuZGxlOworICAgICAgICBTYW5kYm94RXh0ZW5zaW9u
OjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUuZnJvbnRib2FyZC5zeXN0ZW1h
cHBzZXJ2aWNlcyIsIFdURjo6bnVsbG9wdCwgaGFuZGxlKTsKKyAgICAgICAgcGFyYW1ldGVycy5m
cm9udGJvYXJkRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZShoYW5kbGUpOworICAgICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUuaWNvbnNl
cnZpY2VzIiwgV1RGOjpudWxsb3B0LCBoYW5kbGUpOworICAgICAgICBwYXJhbWV0ZXJzLmljb25T
ZXJ2aWNlc0V4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoaGFuZGxlKTsKKyAgICAgICAgbV9wcm9j
ZXNzLT5zZXRIYXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRTYW5kYm94RXh0ZW5zaW9u
cygpOworICAgIH0KKyNlbmRpZgorCiAgICAgcmV0dXJuIHBhcmFtZXRlcnM7CiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyNTU0
MzcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzU0LDYgKzM1NCwxMSBAQCBwdWJsaWM6CiAgICAgVXNlck1lZGlhQ2FwdHVy
ZU1hbmFnZXJQcm94eSogdXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eSgpIHsgcmV0dXJuIG1f
dXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5nZXQoKTsgfQogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoQVRUQUNITUVOVF9FTEVNRU5UKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGJvb2wg
aGFzSXNzdWVkQXR0YWNobWVudEVsZW1lbnRSZWxhdGVkU2FuZGJveEV4dGVuc2lvbnMoKSBjb25z
dCB7IHJldHVybiBtX2hhc0lzc3VlZEF0dGFjaG1lbnRFbGVtZW50UmVsYXRlZFNhbmRib3hFeHRl
bnNpb25zOyB9CisgICAgdm9pZCBzZXRIYXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRT
YW5kYm94RXh0ZW5zaW9ucygpIHsgbV9oYXNJc3N1ZWRBdHRhY2htZW50RWxlbWVudFJlbGF0ZWRT
YW5kYm94RXh0ZW5zaW9ucyA9IHRydWU7IH0KKyNlbmRpZgorCiBwcm90ZWN0ZWQ6CiAgICAgV2Vi
UHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiwgV2Vic2l0ZURhdGFTdG9yZSosIElzUHJld2Fy
bWVkKTsKIApAQCAtNTMyLDYgKzUzNyw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc0NvbW1p
dHRlZEFueVByb3Zpc2lvbmFsTG9hZHMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1ByZXdhcm1l
ZDsKICAgICBib29sIG1faGFzQXVkaWJsZVdlYlBhZ2UgeyBmYWxzZSB9OworI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgYm9vbCBtX2hh
c0lzc3VlZEF0dGFjaG1lbnRFbGVtZW50UmVsYXRlZFNhbmRib3hFeHRlbnNpb25zIHsgZmFsc2Ug
fTsKKyNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
UHJvY2Vzc1Rocm90dGxlcjo6QmFja2dyb3VuZEFjdGl2aXR5PiBtX2JhY2tncm91bmRBY3Rpdml0
eUZvckZ1bGxzY3JlZW5Gb3JtQ29udHJvbHM7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI1NTQz
NykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTM2MCw2ICszNjAsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29s
OjpwbGF0Zm9ybUluaXRpYWxpemVXCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBwYXJh
bWV0ZXJzLmN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCA9IGN1cnJlbnRVc2VySW50ZXJm
YWNlSWRpb21Jc1BhZCgpOwogICAgIHBhcmFtZXRlcnMuY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFw
ID0gUmVuZGVyVGhlbWVJT1M6OmNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCgpOworICAgIHBhcmFt
ZXRlcnMuZm9jdXNSaW5nQ29sb3IgPSBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuZm9jdXNSaW5n
Q29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KCkpOwogI2VuZGlmCiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZp
c2lvbiAyNTU0MzcpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI2LDYgKzUyNiwxMyBAQCBXZWJQYWdlOjpXZWJQYWdl
KFBhZ2VJZGVudGlmaWVyIHBhZ2VJRCwgCiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi5jb3JzRGlz
YWJsaW5nUGF0dGVybnMgPSBXVEZNb3ZlKHBhcmFtZXRlcnMuY29yc0Rpc2FibGluZ1BhdHRlcm5z
KTsKIAorI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpICYmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgaWYgKHBhcmFtZXRlcnMuZnJvbnRib2FyZEV4dGVuc2lvbkhhbmRsZSkKKyAgICAg
ICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLmZyb250
Ym9hcmRFeHRlbnNpb25IYW5kbGUpOworICAgIGlmIChwYXJhbWV0ZXJzLmljb25TZXJ2aWNlc0V4
dGVuc2lvbkhhbmRsZSkKKyAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVu
dGx5KCpwYXJhbWV0ZXJzLmljb25TZXJ2aWNlc0V4dGVuc2lvbkhhbmRsZSk7CisjZW5kaWYKKwog
ICAgIG1fcGFnZSA9IG1ha2VVbmlxdWU8UGFnZT4oV1RGTW92ZShwYWdlQ29uZmlndXJhdGlvbikp
OwogCiAgICAgdXBkYXRlUHJlZmVyZW5jZXMocGFyYW1ldGVycy5zdG9yZSk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJl
dmlzaW9uIDI1NTQzNykKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2Nyw2ICsyNjcsNyBAQCB2b2lkIFdlYlBy
b2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIFJlbmRlclRoZW1lSU9TOjpzZXRDU1NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAoV1RGTW92
ZShwYXJhbWV0ZXJzLmNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCkpOworICAgIFJlbmRlclRoZW1l
SU9TOjpzZXRGb2N1c1JpbmdDb2xvcihwYXJhbWV0ZXJzLmZvY3VzUmluZ0NvbG9yKTsKICNlbmRp
ZgogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTU0MzcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMS0zMCAgUGVyIEFybmUg
Vm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gSXNzdWUgbWFjaCBz
YW5kYm94IGV4dGVuc2lvbiB0byB0aGUgZnJvbnRib2FyZCBhbmQgaWNvbiBzZXJ2aWNlIHdoZW4g
dGhlIGF0dGFjaG1lbnQgZWxlbWVudCBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU0NDMKKworICAgICAgICBSZXZpZXdlZCBieSBC
cmVudCBGdWxnaGFtLgorCisgICAgICAgICogZmFzdC9zYW5kYm94L2lvcy9mb2N1cy1yaW5nLWNv
bG9yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zYW5kYm94L2lvcy9mb2N1
cy1yaW5nLWNvbG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2FuZGJveC9pb3Mvc2Fu
ZGJveC1tYWNoLWxvb2t1cC1hdHRhY2htZW50LWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3NhbmRib3gvaW9zL3NhbmRib3gtbWFjaC1sb29rdXAtYXR0YWNobWVu
dC1lbGVtZW50Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTAxLTMwICBEb3VnIEtlbGx5ICA8ZG91Z2tA
YXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFJlbmRlckJsb2NrRmxvdzo6YWRqdXN0TGlu
ZVBvc2l0aW9uRm9yUGFnaW5hdGlvbigpIHdpdGggY29tcGxleCBsaW5lIHdpdGhvdXQgcm9vdCBi
b3gKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3MvZm9jdXMtcmluZy1jb2xvci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L2lvcy9m
b2N1cy1yaW5nLWNvbG9yLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3NhbmRib3gvaW9zL2ZvY3VzLXJpbmctY29sb3ItZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsNyBAQAorVGVzdCB0aGF0IHRoZSBmb2N1cyByaW5nIGNvbG9yIGlz
IGFzIGV4cGVjdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnRl
cm5hbHMuZm9jdXNSaW5nQ29sb3IoKSBpcyAncmdiKDAsIDEyMiwgMjU1KScKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9zYW5kYm94L2lvcy9mb2N1cy1yaW5nLWNvbG9yLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L2lvcy9mb2N1cy1yaW5nLWNvbG9yLmh0bWwJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L2lvcy9mb2N1cy1yaW5n
LWNvbG9yLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0
aGUgZm9jdXMgcmluZyBjb2xvciBpcyBhcyBleHBlY3RlZC4nKTsKKworaWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLmZvY3VzUmluZ0NvbG9yKCkiLCAiJ3Jn
YigwLCAxMjIsIDI1NSknIik7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L2lvcy9zYW5kYm94LW1hY2gtbG9va3Vw
LWF0dGFjaG1lbnQtZWxlbWVudC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9zYW5kYm94L2lvcy9zYW5kYm94LW1hY2gtbG9va3VwLWF0dGFjaG1lbnQtZWxlbWVu
dC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94
L2lvcy9zYW5kYm94LW1hY2gtbG9va3VwLWF0dGFjaG1lbnQtZWxlbWVudC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4IEBACitUZXN0IHRoYXQgdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyBoYXMgbWFjaCBsb29rdXAgYWNjZXNzIHRvIGZyb250Ym9hcmQgYW5kIGljb24gc2Vy
dmljZXMgd2hlbiB0aGUgYXR0YWNobWVudCBlbGVtZW50IGlzIGVuYWJsZWQKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaW50ZXJuYWxzLmhhc1NhbmRib3hNYWNoTG9va3Vw
QWNjZXNzVG9HbG9iYWxOYW1lKCdjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQnLCAnY29tLmFw
cGxlLmZyb250Ym9hcmQuc3lzdGVtYXBwc2VydmljZXMnKSBpcyB0cnVlCitQQVNTIGludGVybmFs
cy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgnY29tLmFwcGxlLldlYktp
dC5XZWJDb250ZW50JywgJ2NvbS5hcHBsZS5pY29uc2VydmljZXMnKSBpcyB0cnVlCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3Qvc2FuZGJveC9pb3Mvc2FuZGJveC1tYWNoLWxvb2t1cC1hdHRhY2ht
ZW50LWVsZW1lbnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3NhbmRib3gv
aW9zL3NhbmRib3gtbWFjaC1sb29rdXAtYXR0YWNobWVudC1lbGVtZW50Lmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9zYW5kYm94L2lvcy9zYW5kYm94LW1hY2gtbG9va3Vw
LWF0dGFjaG1lbnQtZWxlbWVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAK
KzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZW5hYmxlQXR0YWNobWVu
dEVsZW1lbnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCdUZXN0IHRoYXQgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBoYXMgbWFjaCBsb29rdXAgYWNj
ZXNzIHRvIGZyb250Ym9hcmQgYW5kIGljb24gc2VydmljZXMgd2hlbiB0aGUgYXR0YWNobWVudCBl
bGVtZW50IGlzIGVuYWJsZWQnKTsKKworaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBzaG91
bGRCZVRydWUoImludGVybmFscy5oYXNTYW5kYm94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFt
ZSgnY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50JywgJ2NvbS5hcHBsZS5mcm9udGJvYXJkLnN5
c3RlbWFwcHNlcnZpY2VzJykiKTsKKyAgICBzaG91bGRCZVRydWUoImludGVybmFscy5oYXNTYW5k
Ym94TWFjaExvb2t1cEFjY2Vzc1RvR2xvYmFsTmFtZSgnY29tLmFwcGxlLldlYktpdC5XZWJDb250
ZW50JywgJ2NvbS5hcHBsZS5pY29uc2VydmljZXMnKSIpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>