<?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>225563</bug_id>
          
          <creation_ts>2021-05-08 14:22:19 -0700</creation_ts>
          <short_desc>[GTK][WPE][WebGL2] compilation fixes</short_desc>
          <delta_ts>2022-01-13 12:03:34 -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>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>235178</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Turner">mattst88</reporter>
          <assigned_to name="Alejandro G. Castro">alex</assigned_to>
          <cc>alex</cc>
    
    <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>clord</cc>
    
    <cc>dino</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>magomez</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zdobersek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1758208</commentid>
    <comment_count>0</comment_count>
      <attachid>428092</attachid>
    <who name="Matt Turner">mattst88</who>
    <bug_when>2021-05-08 14:22:19 -0700</bug_when>
    <thetext>Created attachment 428092
patch

When compiling WebKit GTK on Linux with -DENABLE_WEBGL2=ON, I get compilation errors about primitiveRestartIndex:

/var/tmp/portage/net-libs/webkit-gtk-2.32.0/work/webkitgtk-2.32.0/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp: In member function ‘void WebCore::WebGLRenderingContextBase::drawElements(GCGLenum, GCG
Lsizei, GCGLenum, long long int)’:
/var/tmp/portage/net-libs/webkit-gtk-2.32.0/work/webkitgtk-2.32.0/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:2647:20: error: ‘class WebCore::GraphicsContextGL’ has no member named ‘primitiveRestart
Index’
 2647 |         m_context-&gt;primitiveRestartIndex(getRestartIndex(type));
      |                    ^~~~~~~~~~~~~~~~~~~~~

Fixing that (in PATCH 2/4 in the attached patch series) lead to an undefined reference at linking:

lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/html/canvas/WebGLRenderingContextBase.cpp.o):WebGLRenderingContextBase.cpp:function WebCore::WebGLRenderingContextBase::drawElements(unsigned int, int, unsigned int, long long): error: undefined reference to &apos;WebCore::GraphicsContextGLOpenGL::primitiveRestartIndex(unsigned int)&apos;
lib/libWebCoreGTK.a(lib/../Source/WebCore/CMakeFiles/WebCore.dir/html/canvas/WebGLRenderingContextBase.cpp.o):WebGLRenderingContextBase.cpp:function WebCore::WebGLRenderingContextBase::drawElementsInstanced(unsigned int, int, unsigned int, long long, int): error: undefined reference to &apos;WebCore::GraphicsContextGLOpenGL::primitiveRestartIndex(unsigned int)&apos;
collect2: error: ld returned 1 exit status

which I fixed by adding the function to the OpenGL shim code.

I noticed that the OPENGL_4 macro is also never defined and speculatively changed it to USE(OPENGL), which necessitated adding some other functions to the shim.

Never contributed to WebKit before. Probably did some stuff wrong. The attached patch is a git formatted patch against the github repo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758728</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-05-10 16:59:51 -0700</bug_when>
    <thetext>Thanks for the patch and sorry about the build breakage.

WebGL2 in WebKit will only be supported on top of ANGLE. There is too much deep validation of OpenGL context and object states that ANGLE handles to replicate this into WebGLRenderingContextBase / WebGL2RenderingContext.

I suggest you pursue the route of building with USE_ANGLE=1 in your setup. ANGLE&apos;s already well supported on Linux, so this will hopefully not be too difficult. Then ENABLE_WEBGL2=ON should &quot;just work&quot;.

Please feel free to join Chromium&apos;s Slack instance; there&apos;s an #angle-for-webkit channel there where developers working on other WebKit ports, as well as ANGLE developers, hang out and can help with any issues you run into.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758730</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2021-05-10 17:00:36 -0700</bug_when>
    <thetext>CC&apos;ing a couple of folks working on the WPE port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758753</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-05-10 17:38:04 -0700</bug_when>
    <thetext>GTK port has a CMake build option USE_ANGLE_WEBGL for it.
Zan summarized the problem of using ANGLE for WebGL in Coordinated Graphics the other day in WebKit slack. But, the log was expired due to Slack free plan. 
Zan, ChangSeok: Could you summarize USE_ANGLE_WEBGL current status?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759020</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Turner">mattst88</who>
    <bug_when>2021-05-11 12:04:58 -0700</bug_when>
    <thetext>Thanks for the comments, all!

I see the following in Source/cmake/OptionsGTK.cmake:

# Private options specific to the GTK port. Changing these options is
# completely unsupported. They are intended for use only by WebKit developers.
WEBKIT_OPTION_DEFINE(USE_ANGLE_WEBGL &quot;Whether to use ANGLE as WebGL backend.&quot; PRIVATE OFF)

That seems to suggest that I should not ship WebKit with DUSE_ANGLE_WEBGL=ON to Gentoo Linux users? (I&apos;m the Gentoo Linux packager) And by implication I shouldn&apos;t enable WebGL2 either?

Building with -DUSE_ANGLE_WEBGL=ON, I get undefined references when linking lib/libGLESv2.so:

&gt; lib/libANGLE.a(lib/../Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/libANGLE/Display.cpp.o):Display.cpp:function egl::Display::GetDisplayFromNativeDisplay(_XDisplay*, egl::AttributeMap const&amp;): error: undefined reference to &apos;rx::DisplayGLX::DisplayGLX(egl::DisplayState const&amp;)&apos;                                                                                                                                             
&gt; lib/libANGLE.a(lib/../Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/libANGLE/Display.cpp.o):Display.cpp:function egl::Display::GetDisplayFromNativeDisplay(_XDisplay*, egl::AttributeMap const&amp;): error: undefined reference to &apos;rx::DisplayEGL::DisplayEGL(egl::DisplayState const&amp;)&apos;                                                                                                                                             

and indeed I can&apos;t find DisplayEGL.cpp or DisplayGLX.cpp (which contain those definitions) listed in any CMakeLists.txt or *.cmake. So maybe this isn&apos;t wired up?

I&apos;m happy to leave WebGL2 disabled; I just need guidance on what&apos;s expected to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759380</commentid>
    <comment_count>5</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2021-05-12 13:40:14 -0700</bug_when>
    <thetext>I have some build fixes for ANGLE on top of a system GL/GLES in https://bugs.webkit.org/show_bug.cgi?id=224888 which would be required for WebGL 2 to work on GTK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767646</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-06-07 19:42:55 -0700</bug_when>
    <thetext>Adoption of ANGLE in WPE/WebKitGTK - YouTube
https://youtu.be/nu3Zd20IntM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830199</commentid>
    <comment_count>7</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-01-12 10:32:14 -0800</bug_when>
    <thetext>*** Bug 235120 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830202</commentid>
    <comment_count>8</comment_count>
    <who name="Matt Turner">mattst88</who>
    <bug_when>2022-01-12 10:40:33 -0800</bug_when>
    <thetext>I don&apos;t know what the typical webkit patch workflow is, and I don&apos;t know for sure if the attached patch still applies, but if it does, I think it should be accepted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830204</commentid>
    <comment_count>9</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-01-12 10:46:24 -0800</bug_when>
    <thetext>(In reply to Matt Turner from comment #8)
&gt; I don&apos;t know what the typical webkit patch workflow is, and I don&apos;t know for
&gt; sure if the attached patch still applies, but if it does, I think it should
&gt; be accepted.

Thanks for your report and the patch! Don&apos;t worry, the patch is different, we are adding support using ANGLE, I&apos;ll upload it in a few minutes. The architecture is still not final but we are allowing compiling WEBGL2 already for testing purposes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830212</commentid>
    <comment_count>10</comment_count>
      <attachid>448965</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-01-12 10:53:39 -0800</bug_when>
    <thetext>Created attachment 448965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830281</commentid>
    <comment_count>11</comment_count>
      <attachid>448965</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-01-12 12:18:06 -0800</bug_when>
    <thetext>Comment on attachment 448965
Patch

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

&gt; Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:8033
&gt; +#if USE(OPENGL) &amp;&amp; ENABLE(WEBGL2) &amp;&amp; !USE(ANGLE)

Cocoa port no longer uses USE_OPENGL macro (Bug 217374)
WebKit has two WebGL implementations, USE(ANGLE) one and !USE(ANGLE) one.
These conditions should be #if ENABLE(WEBGL2) &amp;&amp; !USE(ANGLE).
And, there is one more condition in this file. It should be replaced too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830342</commentid>
    <comment_count>12</comment_count>
      <attachid>448965</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2022-01-12 14:22:50 -0800</bug_when>
    <thetext>Comment on attachment 448965
Patch

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

&gt;&gt; Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:8033
&gt;&gt; +#if USE(OPENGL) &amp;&amp; ENABLE(WEBGL2) &amp;&amp; !USE(ANGLE)
&gt; 
&gt; Cocoa port no longer uses USE_OPENGL macro (Bug 217374)
&gt; WebKit has two WebGL implementations, USE(ANGLE) one and !USE(ANGLE) one.
&gt; These conditions should be #if ENABLE(WEBGL2) &amp;&amp; !USE(ANGLE).
&gt; And, there is one more condition in this file. It should be replaced too.

Further: WebGL 2.0 is no longer supported in WebKit without ANGLE. These code blocks are historical and can be deleted - but that cleanup should probably be done in a different patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830475</commentid>
    <comment_count>13</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-01-13 00:24:41 -0800</bug_when>
    <thetext>(In reply to Kenneth Russell from comment #12)
&gt; Comment on attachment 448965 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=448965&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:8033
&gt; &gt;&gt; +#if USE(OPENGL) &amp;&amp; ENABLE(WEBGL2) &amp;&amp; !USE(ANGLE)
&gt; &gt; 
&gt; &gt; Cocoa port no longer uses USE_OPENGL macro (Bug 217374)
&gt; &gt; WebKit has two WebGL implementations, USE(ANGLE) one and !USE(ANGLE) one.
&gt; &gt; These conditions should be #if ENABLE(WEBGL2) &amp;&amp; !USE(ANGLE).
&gt; &gt; And, there is one more condition in this file. It should be replaced too.
&gt; 
&gt; Further: WebGL 2.0 is no longer supported in WebKit without ANGLE. These
&gt; code blocks are historical and can be deleted - but that cleanup should
&gt; probably be done in a different patch.

Thanks for the reviews, Fuiji and Kenneth! :-)

I agree, in my opinion it is a better idea to remove all the historical blocks in specific commits that explain the change instead or removing them here and there in differentn commits.

We are in the middle of the process of enabling it so in our case waiting until we have the final architecture patch in place it is a good idea to avoid rebasing issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830503</commentid>
    <comment_count>14</comment_count>
      <attachid>449040</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-01-13 03:25:26 -0800</bug_when>
    <thetext>Created attachment 449040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830504</commentid>
    <comment_count>15</comment_count>
      <attachid>449040</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-01-13 03:29:14 -0800</bug_when>
    <thetext>Comment on attachment 449040
Patch

LGTM - I suppose we need to file a bug about cleaning up USE(OPENGL) &amp;&amp; ENABLE(WEBGL2) at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830511</commentid>
    <comment_count>16</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-01-13 04:13:46 -0800</bug_when>
    <thetext>(In reply to Chris Lord from comment #15)
&gt; Comment on attachment 449040 [details]
&gt; Patch
&gt; 
&gt; LGTM - I suppose we need to file a bug about cleaning up USE(OPENGL) &amp;&amp;
&gt; ENABLE(WEBGL2) at some point.

Thanks! Created bug 235178. I&apos;m going to check if there are many places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830635</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-13 11:04:37 -0800</bug_when>
    <thetext>Committed r287983 (246012@main): &lt;https://commits.webkit.org/246012@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449040.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830636</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-13 11:05:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/87560252&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830649</commentid>
    <comment_count>19</comment_count>
      <attachid>449040</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-01-13 12:00:20 -0800</bug_when>
    <thetext>Comment on attachment 449040
Patch

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

&gt; Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:-2823
&gt; -        m_context-&gt;primitiveRestartIndex(getRestartIndex(type));

getRestartIndex becomes a unused function now. You should remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1830651</commentid>
    <comment_count>20</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-01-13 12:03:34 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #19)
&gt; Comment on attachment 449040 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=449040&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:-2823
&gt; &gt; -        m_context-&gt;primitiveRestartIndex(getRestartIndex(type));
&gt; 
&gt; getRestartIndex becomes a unused function now. You should remove it.

Thanks for pointing that out, it is removed in the patch 235178 that is focused in removing all the code inside USE(OPENGL) &amp;&amp; ENABLE(WEBGL2) defines. I think it already landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428092</attachid>
            <date>2021-05-08 14:22:19 -0700</date>
            <delta_ts>2022-01-12 10:53:30 -0800</delta_ts>
            <desc>patch</desc>
            <filename>p.patch</filename>
            <type>text/plain</type>
            <size>17736</size>
            <attacher name="Matt Turner">mattst88</attacher>
            
              <data encoding="base64">RnJvbSBkYzE5OGQ1ZDJhNGMxNzFmNTI0MTQ4MmJhZTgzYTNjNjE5MjhjMzRjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0IFR1cm5lciA8bWF0dHN0ODhAZ21haWwuY29tPgpEYXRl
OiBTYXQsIDggTWF5IDIwMjEgMTE6MDc6NTMgLTA3MDAKU3ViamVjdDogW1BBVENIIDEvNF0gRml4
IFVOVVNFRF9QQVJBTXMKClRoZSBzaWduYXR1cmUgb2YgdGhpcyBmdW5jdGlvbiBjaGFuZ2VkIGlu
IGNvbW1pdCAzOGI5NTEwMjExNTgKKCJHcmFwaGljc0NvbnRleHRHTCBoYXMgYSBjb3VwbGUgbm9u
LXJvYnVzdCBnZXR0ZXJzIGFuZCBvdGhlciBzbWFsbCBBUEkKcHJvYmxlbXMgcHJldmVudGluZyBH
UFUgcHJvY2VzcyBpbXBsZW1lbnRhdGlvbiIpCi0tLQogLi4uL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5jcHAgfCAzICstLQogMSBmaWxlIGNo
YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5H
TENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0xDb21tb24uY3BwCmluZGV4IDE3NmJlNzU2MjFhNC4uY2Y0Yzgx
ODc3YTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5j
cHAKQEAgLTIyODcsOCArMjI4Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Omdl
dEludGVybmFsZm9ybWF0aXYoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMZW51bSBpbnRlCiAgICAgVU5V
U0VEX1BBUkFNKHRhcmdldCk7CiAgICAgVU5VU0VEX1BBUkFNKGludGVybmFsZm9ybWF0KTsKICAg
ICBVTlVTRURfUEFSQU0ocG5hbWUpOwotICAgIFVOVVNFRF9QQVJBTShidWZTaXplKTsKLSAgICBV
TlVTRURfUEFSQU0ocGFyYW1zKTsKKyAgICBVTlVTRURfUEFSQU0oZGF0YSk7CiAjZW5kaWYKIH0K
IAotLSAKMi4yNi4zCgoKRnJvbSA1YzFhM2YwMjYzZjg3NTAzMWVhZDQyNzU0MGI5Mzg0NjBmNmE1
NTUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0IFR1cm5lciA8bWF0dHN0ODhA
Z21haWwuY29tPgpEYXRlOiBTYXQsIDggTWF5IDIwMjEgMTE6MDk6MzIgLTA3MDAKU3ViamVjdDog
W1BBVENIIDIvNF0gRml4IGNhbGwgdG8KIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpwcmltaXRp
dmVSZXN0YXJ0SW5kZXgKCkkgdGhpbmsgdGhpcyBzaG91bGQgYmUgaGF2ZSBiZWVuIGNoYW5nZWQg
aW4gY29tbWl0IDUyZGVmYWM3YzZmYSAoIkZpbmFsCnJlZmFjdG9yIGZvciBXZWJHTCBpbXBsZW1l
bnRhdGlvbiB0byB1c2Ugb25seSBHcmFwaGljc0NvbnRleHRHTCIpLgotLS0KIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIHwgMiArLQogMSBm
aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNw
cAppbmRleCA1M2M1NmYzYjFlODUuLjM3MjIwYWEwOGQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAg
LTI2NTksNyArMjY1OSw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0Vs
ZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdDR0xzaXplaSBjb3VudCwgR0NHCiAKICNpZiBVU0UoT1BF
TkdMKSAmJiBFTkFCTEUoV0VCR0wyKQogICAgIGlmIChpc1dlYkdMMigpKQotICAgICAgICBtX2Nv
bnRleHQtPnByaW1pdGl2ZVJlc3RhcnRJbmRleChnZXRSZXN0YXJ0SW5kZXgodHlwZSkpOworICAg
ICAgICBzdGF0aWNfY2FzdDxHcmFwaGljc0NvbnRleHRHTE9wZW5HTCo+KG1fY29udGV4dC5nZXQo
KSktPnByaW1pdGl2ZVJlc3RhcnRJbmRleChnZXRSZXN0YXJ0SW5kZXgodHlwZSkpOwogI2VuZGlm
CiAKICAgICB7Ci0tIAoyLjI2LjMKCgpGcm9tIDhlNzlhNzJmMGUzZDM0ZmI5MjM5ODc5NDcxYmRk
NTczODhiYmUzNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hdHQgVHVybmVyIDxt
YXR0c3Q4OEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgOCBNYXkgMjAyMSAxMToxMDo0NyAtMDcwMApT
dWJqZWN0OiBbUEFUQ0ggMy80XSBBZGQgbW9yZSBmdW5jdGlvbnMgdG8gT3BlbkdMIFNoaW0gbGF5
ZXIKClRoZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGJ5IGZ1bmN0aW9ucyBpbgpHcmFwaGljc0Nv
bnRleHRHTE9wZW5HTENvbW1vbi5jcHAgdGhhdCBhcmUgY3VycmVudGx5IGd1YXJkZWQgYnkgI2lm
CkhBVkUoT1BFTkdMXzQpIHdoaWNoIGlzIG5ldmVyIHNldC4gVGhlIG5leHQgcGF0Y2ggZml4ZXMg
dGhhdCwgYW5kIHRodXMKd2lsbCBuZWVkIHRoZXNlIGZ1bmN0aW9ucy4KLS0tCiAuLi4vV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAgfCAgNyArKysrKysrCiAuLi4vV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oICAgfCAyMSArKysrKysrKysrKysr
KysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5jcHAKaW5kZXggOTBiOTgwODVj
Yjg3Li5iNjYwODNlMjZmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL09wZW5HTFNoaW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9PcGVuR0xTaGltcy5jcHAKQEAgLTEyOSw2ICsxMjksNyBAQCBib29sIGluaXRpYWxpemVP
cGVuR0xTaGltcygpCiAgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ29tcGlsZVNo
YWRlciwgc3VjY2Vzcyk7CiAgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ29tcHJl
c3NlZFRleEltYWdlMkQsIHN1Y2Nlc3MpOwogICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbENvbXByZXNzZWRUZXhTdWJJbWFnZTJELCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJ
T05fVEFCTEVfRU5UUlkoZ2xDb3B5QnVmZmVyU3ViRGF0YSwgc3VjY2Vzcyk7CiAgICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ3JlYXRlUHJvZ3JhbSwgc3VjY2Vzcyk7CiAgICAgQVNT
SUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ3JlYXRlU2hhZGVyLCBzdWNjZXNzKTsKICAgICBB
U1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xEZWxldGVCdWZmZXJzLCBzdWNjZXNzKTsKQEAg
LTE1Miw2ICsxNTMsNyBAQCBib29sIGluaXRpYWxpemVPcGVuR0xTaGltcygpCiAgICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZX0VYVChnbEdlblZlcnRleEFycmF5cyk7CiAgICAgQVNTSUdO
X0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0QWN0aXZlQXR0cmliLCBzdWNjZXNzKTsKICAgICBB
U1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRBY3RpdmVVbmlmb3JtLCBzdWNjZXNzKTsK
KyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRBY3RpdmVVbmlmb3Jtc2l2LCBz
dWNjZXNzKTsKICAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRBdHRhY2hlZFNo
YWRlcnMsIHN1Y2Nlc3MpOwogICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbEdldEF0
dHJpYkxvY2F0aW9uLCBzdWNjZXNzKTsKICAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUlko
Z2xHZXRCdWZmZXJQYXJhbWV0ZXJpdiwgc3VjY2Vzcyk7CkBAIC0xNzksNiArMTgxLDggQEAgYm9v
bCBpbml0aWFsaXplT3BlbkdMU2hpbXMoKQogICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbElzU2hhZGVyLCBzdWNjZXNzKTsKICAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5UUllf
RVhUKGdsSXNWZXJ0ZXhBcnJheSk7CiAgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
TGlua1Byb2dyYW0sIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShn
bE1hcEJ1ZmZlclJhbmdlLCBzdWNjZXNzKTsKKyAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xQcmltaXRpdmVSZXN0YXJ0SW5kZXgsIHN1Y2Nlc3MpOwogICAgIEFTU0lHTl9GVU5DVElP
Tl9UQUJMRV9FTlRSWShnbFJlbmRlcmJ1ZmZlclN0b3JhZ2UsIHN1Y2Nlc3MpOwogICAgIC8vIElu
IEdMRVMyIHRoZXJlIGFyZSBvcHRpb25hbCBBTkdMRSBhbmQgQVBQTEUgZXh0ZW5zaW9ucyBmb3Ig
Z2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUuCiAjaWYgZGVmaW5lZChHTF9FU19WRVJT
SU9OXzJfMCkKQEAgLTE5MSw2ICsxOTUsOCBAQCBib29sIGluaXRpYWxpemVPcGVuR0xTaGltcygp
CiAgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsU3RlbmNpbEZ1bmNTZXBhcmF0ZSwg
c3VjY2Vzcyk7CiAgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsU3RlbmNpbE1hc2tT
ZXBhcmF0ZSwgc3VjY2Vzcyk7CiAgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsU3Rl
bmNpbE9wU2VwYXJhdGUsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbFRleFN0b3JhZ2UyRCwgc3VjY2Vzcyk7CisgICAgQVNTSUdOX0ZVTkNUSU9OX1RBQkxFX0VO
VFJZKGdsVGV4U3RvcmFnZTNELCBzdWNjZXNzKTsKICAgICBBU1NJR05fRlVOQ1RJT05fVEFCTEVf
RU5UUlkoZ2xVbmlmb3JtMWYsIHN1Y2Nlc3MpOwogICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9F
TlRSWShnbFVuaWZvcm0xZnYsIHN1Y2Nlc3MpOwogICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9F
TlRSWShnbFVuaWZvcm0xaSwgc3VjY2Vzcyk7CkBAIC0yMTAsNiArMjE2LDcgQEAgYm9vbCBpbml0
aWFsaXplT3BlbkdMU2hpbXMoKQogICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRSWShnbFVu
aWZvcm1NYXRyaXgyZnYsIHN1Y2Nlc3MpOwogICAgIEFTU0lHTl9GVU5DVElPTl9UQUJMRV9FTlRS
WShnbFVuaWZvcm1NYXRyaXgzZnYsIHN1Y2Nlc3MpOwogICAgIEFTU0lHTl9GVU5DVElPTl9UQUJM
RV9FTlRSWShnbFVuaWZvcm1NYXRyaXg0ZnYsIHN1Y2Nlc3MpOworICAgIEFTU0lHTl9GVU5DVElP
Tl9UQUJMRV9FTlRSWShnbFVubWFwQnVmZmVyLCBzdWNjZXNzKTsKICAgICBBU1NJR05fRlVOQ1RJ
T05fVEFCTEVfRU5UUlkoZ2xVc2VQcm9ncmFtLCBzdWNjZXNzKTsKICAgICBBU1NJR05fRlVOQ1RJ
T05fVEFCTEVfRU5UUlkoZ2xWYWxpZGF0ZVByb2dyYW0sIHN1Y2Nlc3MpOwogICAgIEFTU0lHTl9G
VU5DVElPTl9UQUJMRV9FTlRSWShnbFZlcnRleEF0dHJpYjFmLCBzdWNjZXNzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL09wZW5HTFNoaW1zLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9PcGVuR0xTaGltcy5oCmluZGV4IDRjMzU3ZGRl
OTgxZi4uZjZkNjYyOTlhYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9PcGVuR0xTaGltcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL09wZW5HTFNoaW1zLmgKQEAgLTY1LDYgKzY1LDcgQEAgdHlwZWRlZiBHTGVudW0gKEdMQVBJ
RU5UUlkgKmdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1c1R5cGUpIChHTGVudW0pOwogdHlwZWRlZiB2
b2lkIChHTEFQSUVOVFJZICpnbENvbXBpbGVTaGFkZXJUeXBlKSAoR0x1aW50KTsKIHR5cGVkZWYg
dm9pZCAoR0xBUElFTlRSWSAqZ2xDb21wcmVzc2VkVGV4SW1hZ2UyRFR5cGUpIChHTGVudW0sIEdM
aW50LCBHTGVudW0sIEdMc2l6ZWksIEdMc2l6ZWksIEdMaW50LCBHTHNpemVpLCBjb25zdCBHTHZv
aWQqKTsKIHR5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xDb21wcmVzc2VkVGV4U3ViSW1hZ2Uy
RFR5cGUpIChHTGVudW0sIEdMaW50LCBHTGludCwgR0xpbnQsIEdMc2l6ZWksIEdMc2l6ZWksIEdM
ZW51bSwgR0xzaXplaSwgY29uc3QgR0x2b2lkKik7Cit0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkg
KmdsQ29weUJ1ZmZlclN1YkRhdGFUeXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMaW50cHRyLCBHTGlu
dHB0ciwgR0xzaXplaXB0cik7CiB0eXBlZGVmIEdMdWludCAoR0xBUElFTlRSWSAqZ2xDcmVhdGVQ
cm9ncmFtVHlwZSkgKCk7CiB0eXBlZGVmIEdMdWludCAoR0xBUElFTlRSWSAqZ2xDcmVhdGVTaGFk
ZXJUeXBlKSAoR0xlbnVtKTsKIHR5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xEZWxldGVCdWZm
ZXJzVHlwZSkgKEdMc2l6ZWksIGNvbnN0IEdMdWludCopOwpAQCAtODgsNiArODksNyBAQCB0eXBl
ZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmdsR2VuUmVuZGVyYnVmZmVyc1R5cGUpIChHTHNpemVpLCBH
THVpbnQqKTsKIHR5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xHZW5WZXJ0ZXhBcnJheXNUeXBl
KSAoR0xzaXplaSwgR0x1aW50Kik7CiB0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmdsR2V0QWN0
aXZlQXR0cmliVHlwZSkgKEdMdWludCwgR0x1aW50LCBHTHNpemVpLCBHTHNpemVpKiwgR0xpbnQq
LCBHTGVudW0qLCBHTGNoYXIqKTsKIHR5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xHZXRBY3Rp
dmVVbmlmb3JtVHlwZSkgKEdMdWludCwgR0x1aW50LCBHTHNpemVpLCBHTHNpemVpKiwgR0xpbnQq
LCBHTGVudW0qLCBHTGNoYXIqKTsKK3R5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xHZXRBY3Rp
dmVVbmlmb3Jtc2l2VHlwZSkgKEdMdWludCwgR0xzaXplaSwgY29uc3QgR0x1aW50KiwgR0xlbnVt
LCBHTGludCopOwogdHlwZWRlZiB2b2lkIChHTEFQSUVOVFJZICpnbEdldEF0dGFjaGVkU2hhZGVy
c1R5cGUpIChHTHVpbnQsIEdMc2l6ZWksIEdMc2l6ZWkqLCBHTHVpbnQqKTsKIHR5cGVkZWYgR0xp
bnQgKEdMQVBJRU5UUlkgKmdsR2V0QXR0cmliTG9jYXRpb25UeXBlKSAoR0x1aW50LCBjb25zdCBj
aGFyKik7CiB0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmdsR2V0QnVmZmVyUGFyYW1ldGVyaXZU
eXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMaW50Kik7CkBAIC0xMTMsNiArMTE1LDggQEAgdHlwZWRl
ZiBHTGJvb2xlYW4gKEdMQVBJRU5UUlkgKmdsSXNSZW5kZXJidWZmZXJUeXBlKSAoR0x1aW50KTsK
IHR5cGVkZWYgR0xib29sZWFuIChHTEFQSUVOVFJZICpnbElzU2hhZGVyVHlwZSkgKEdMdWludCk7
CiB0eXBlZGVmIEdMYm9vbGVhbiAoR0xBUElFTlRSWSAqZ2xJc1ZlcnRleEFycmF5VHlwZSkgKEdM
dWludCk7CiB0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmdsTGlua1Byb2dyYW1UeXBlKSAoR0x1
aW50KTsKK3R5cGVkZWYgdm9pZCogKEdMQVBJRU5UUlkgKmdsTWFwQnVmZmVyUmFuZ2VUeXBlKSAo
R0xlbnVtLCBHTGludHB0ciwgR0xzaXplaXB0ciwgR0xiaXRmaWVsZCk7Cit0eXBlZGVmIHZvaWQg
KEdMQVBJRU5UUlkgKmdsUHJpbWl0aXZlUmVzdGFydEluZGV4VHlwZSkgKEdMdWludCk7CiB0eXBl
ZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmdsUmVuZGVyYnVmZmVyU3RvcmFnZVR5cGUpIChHTGVudW0s
IEdMZW51bSwgR0xzaXplaSwgR0xzaXplaSk7CiB0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmds
UmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlVHlwZSkgKEdMZW51bSwgR0xzaXplaSwgR0xl
bnVtLCBHTHNpemVpLCBHTHNpemVpKTsKIHR5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xTYW1w
bGVDb3ZlcmFnZVR5cGUpIChHTGNsYW1wZiwgR0xib29sZWFuKTsKQEAgLTEyMCw2ICsxMjQsOCBA
QCB0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmdsU2hhZGVyU291cmNlVHlwZSkgKEdMdWludCwg
R0xzaXplaSwgY29uc3QgY2hhcioqLCBjbwogdHlwZWRlZiB2b2lkIChHTEFQSUVOVFJZICpnbFN0
ZW5jaWxGdW5jU2VwYXJhdGVUeXBlKSAoR0xlbnVtLCBHTGVudW0sIEdMaW50LCBHTHVpbnQpOwog
dHlwZWRlZiB2b2lkIChHTEFQSUVOVFJZICpnbFN0ZW5jaWxNYXNrU2VwYXJhdGVUeXBlKSAoR0xl
bnVtLCBHTHVpbnQpOwogdHlwZWRlZiB2b2lkIChHTEFQSUVOVFJZICpnbFN0ZW5jaWxPcFNlcGFy
YXRlVHlwZSkgKEdMZW51bSwgR0xlbnVtLCBHTGVudW0sIEdMZW51bSk7Cit0eXBlZGVmIHZvaWQg
KEdMQVBJRU5UUlkgKmdsVGV4U3RvcmFnZTJEVHlwZSkgKEdMZW51bSwgR0xzaXplaSwgR0xlbnVt
LCBHTHNpemVpLCBHTHNpemVpKTsKK3R5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xUZXhTdG9y
YWdlM0RUeXBlKSAoR0xlbnVtLCBHTHNpemVpLCBHTGVudW0sIEdMc2l6ZWksIEdMc2l6ZWksIEdM
c2l6ZWkpOwogdHlwZWRlZiB2b2lkIChHTEFQSUVOVFJZICpnbFVuaWZvcm0xZlR5cGUpIChHTGlu
dCwgR0xmbG9hdCk7CiB0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmdsVW5pZm9ybTFmdlR5cGUp
IChHTGludCwgR0xzaXplaSwgY29uc3QgR0xmbG9hdCopOwogdHlwZWRlZiB2b2lkIChHTEFQSUVO
VFJZICpnbFVuaWZvcm0xaVR5cGUpIChHTGludCwgR0xpbnQpOwpAQCAtMTM5LDYgKzE0NSw3IEBA
IHR5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xVbmlmb3JtNGl2VHlwZSkgKEdMaW50LCBHTHNp
emVpLCBjb25zdCBHTGludCopOwogdHlwZWRlZiB2b2lkIChHTEFQSUVOVFJZICpnbFVuaWZvcm1N
YXRyaXgyZnZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIEdMYm9vbGVhbiwgY29uc3QgR0xmbG9hdCop
OwogdHlwZWRlZiB2b2lkIChHTEFQSUVOVFJZICpnbFVuaWZvcm1NYXRyaXgzZnZUeXBlKSAoR0xp
bnQsIEdMc2l6ZWksIEdMYm9vbGVhbiwgY29uc3QgR0xmbG9hdCopOwogdHlwZWRlZiB2b2lkIChH
TEFQSUVOVFJZICpnbFVuaWZvcm1NYXRyaXg0ZnZUeXBlKSAoR0xpbnQsIEdMc2l6ZWksIEdMYm9v
bGVhbiwgY29uc3QgR0xmbG9hdCopOwordHlwZWRlZiBHTGJvb2xlYW4gKEdMQVBJRU5UUlkgKmds
VW5tYXBCdWZmZXJUeXBlKSAoR0xlbnVtKTsKIHR5cGVkZWYgdm9pZCAoR0xBUElFTlRSWSAqZ2xV
c2VQcm9ncmFtVHlwZSkgKEdMdWludCk7CiB0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmdsVmFs
aWRhdGVQcm9ncmFtVHlwZSkgKEdMdWludCk7CiB0eXBlZGVmIHZvaWQgKEdMQVBJRU5UUlkgKmds
VmVydGV4QXR0cmliMWZUeXBlKSAoR0x1aW50LCBjb25zdCBHTGZsb2F0KTsKQEAgLTE3Myw2ICsx
ODAsNyBAQCB0eXBlZGVmIHN0cnVjdCBfT3BlbkdMRnVuY3Rpb25UYWJsZSB7CiAgICAgRlVOQ1RJ
T05fVEFCTEVfRU5UUlkoZ2xDb21waWxlU2hhZGVyKTsKICAgICBGVU5DVElPTl9UQUJMRV9FTlRS
WShnbENvbXByZXNzZWRUZXhJbWFnZTJEKTsKICAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbENv
bXByZXNzZWRUZXhTdWJJbWFnZTJEKTsKKyAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbENvcHlC
dWZmZXJTdWJEYXRhKTsKICAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbENyZWF0ZVByb2dyYW0p
OwogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsQ3JlYXRlU2hhZGVyKTsKICAgICBGVU5DVElP
Tl9UQUJMRV9FTlRSWShnbERlbGV0ZUJ1ZmZlcnMpOwpAQCAtMTk2LDYgKzIwNCw3IEBAIHR5cGVk
ZWYgc3RydWN0IF9PcGVuR0xGdW5jdGlvblRhYmxlIHsKICAgICBGVU5DVElPTl9UQUJMRV9FTlRS
WShnbEdlblZlcnRleEFycmF5cyk7CiAgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRBY3Rp
dmVBdHRyaWIpOwogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsR2V0QWN0aXZlVW5pZm9ybSk7
CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xHZXRBY3RpdmVVbmlmb3Jtc2l2KTsKICAgICBG
VU5DVElPTl9UQUJMRV9FTlRSWShnbEdldEF0dGFjaGVkU2hhZGVycyk7CiAgICAgRlVOQ1RJT05f
VEFCTEVfRU5UUlkoZ2xHZXRBdHRyaWJMb2NhdGlvbik7CiAgICAgRlVOQ1RJT05fVEFCTEVfRU5U
UlkoZ2xHZXRCdWZmZXJQYXJhbWV0ZXJpdik7CkBAIC0yMjEsNiArMjMwLDggQEAgdHlwZWRlZiBz
dHJ1Y3QgX09wZW5HTEZ1bmN0aW9uVGFibGUgewogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
SXNTaGFkZXIpOwogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsSXNWZXJ0ZXhBcnJheSk7CiAg
ICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xMaW5rUHJvZ3JhbSk7CisgICAgRlVOQ1RJT05fVEFC
TEVfRU5UUlkoZ2xNYXBCdWZmZXJSYW5nZSk7CisgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xQ
cmltaXRpdmVSZXN0YXJ0SW5kZXgpOwogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsUmVuZGVy
YnVmZmVyU3RvcmFnZSk7CiAgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xSZW5kZXJidWZmZXJT
dG9yYWdlTXVsdGlzYW1wbGUpOwogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsU2FtcGxlQ292
ZXJhZ2UpOwpAQCAtMjI4LDYgKzIzOSw4IEBAIHR5cGVkZWYgc3RydWN0IF9PcGVuR0xGdW5jdGlv
blRhYmxlIHsKICAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFN0ZW5jaWxGdW5jU2VwYXJhdGUp
OwogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsU3RlbmNpbE1hc2tTZXBhcmF0ZSk7CiAgICAg
RlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xTdGVuY2lsT3BTZXBhcmF0ZSk7CisgICAgRlVOQ1RJT05f
VEFCTEVfRU5UUlkoZ2xUZXhTdG9yYWdlMkQpOworICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGds
VGV4U3RvcmFnZTNEKTsKICAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm0xZik7CiAg
ICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtMWZ2KTsKICAgICBGVU5DVElPTl9UQUJM
RV9FTlRSWShnbFVuaWZvcm0xaSk7CkBAIC0yNDcsNiArMjYwLDcgQEAgdHlwZWRlZiBzdHJ1Y3Qg
X09wZW5HTEZ1bmN0aW9uVGFibGUgewogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5pZm9y
bU1hdHJpeDJmdik7CiAgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xVbmlmb3JtTWF0cml4M2Z2
KTsKICAgICBGVU5DVElPTl9UQUJMRV9FTlRSWShnbFVuaWZvcm1NYXRyaXg0ZnYpOworICAgIEZV
TkNUSU9OX1RBQkxFX0VOVFJZKGdsVW5tYXBCdWZmZXIpOwogICAgIEZVTkNUSU9OX1RBQkxFX0VO
VFJZKGdsVXNlUHJvZ3JhbSk7CiAgICAgRlVOQ1RJT05fVEFCTEVfRU5UUlkoZ2xWYWxpZGF0ZVBy
b2dyYW0pOwogICAgIEZVTkNUSU9OX1RBQkxFX0VOVFJZKGdsVmVydGV4QXR0cmliMWYpOwpAQCAt
Mjg3LDYgKzMwMSw3IEBAIHR5cGVkZWYgc3RydWN0IF9PcGVuR0xGdW5jdGlvblRhYmxlIHsKICNk
ZWZpbmUgZ2xDb21waWxlU2hhZGVyICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZV
TkNUSU9OKGdsQ29tcGlsZVNoYWRlcikKICNkZWZpbmUgZ2xDb21wcmVzc2VkVGV4SW1hZ2UyRCAg
ICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsQ29tcHJlc3NlZFRleEltYWdlMkQp
CiAjZGVmaW5lIGdsQ29tcHJlc3NlZFRleFN1YkltYWdlMkQgICAgICAgICAgICAgIExPT0tVUF9H
TF9GVU5DVElPTihnbENvbXByZXNzZWRUZXhTdWJJbWFnZTJEKQorI2RlZmluZSBnbENvcHlCdWZm
ZXJTdWJEYXRhICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xDb3B5QnVm
ZmVyU3ViRGF0YSkKICNkZWZpbmUgZ2xDcmVhdGVQcm9ncmFtICAgICAgICAgICAgICAgICAgICAg
ICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsQ3JlYXRlUHJvZ3JhbSkKICNkZWZpbmUgZ2xDcmVhdGVT
aGFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsQ3JlYXRl
U2hhZGVyKQogI2RlZmluZSBnbERlbGV0ZUJ1ZmZlcnMgICAgICAgICAgICAgICAgICAgICAgICBM
T09LVVBfR0xfRlVOQ1RJT04oZ2xEZWxldGVCdWZmZXJzKQpAQCAtMzIyLDYgKzMzNyw3IEBAIHR5
cGVkZWYgc3RydWN0IF9PcGVuR0xGdW5jdGlvblRhYmxlIHsKICNkZWZpbmUgZ2xHZW5WZXJ0ZXhB
cnJheXMgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2VuVmVydGV4
QXJyYXlzKQogI2RlZmluZSBnbEdldEFjdGl2ZUF0dHJpYiAgICAgICAgICAgICAgICAgICAgICBM
T09LVVBfR0xfRlVOQ1RJT04oZ2xHZXRBY3RpdmVBdHRyaWIpCiAjZGVmaW5lIGdsR2V0QWN0aXZl
VW5pZm9ybSAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEdldEFjdGl2
ZVVuaWZvcm0pCisjZGVmaW5lIGdsR2V0QWN0aXZlVW5pZm9ybXNpdiAgICAgICAgICAgICAgICAg
IExPT0tVUF9HTF9GVU5DVElPTihnbEdldEFjdGl2ZVVuaWZvcm1zaXYpCiAjZGVmaW5lIGdsR2V0
QXR0YWNoZWRTaGFkZXJzICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbEdl
dEF0dGFjaGVkU2hhZGVycykKICNkZWZpbmUgZ2xHZXRBdHRyaWJMb2NhdGlvbiAgICAgICAgICAg
ICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsR2V0QXR0cmliTG9jYXRpb24pCiAjZGVmaW5l
IGdsR2V0QnVmZmVyUGFyYW1ldGVyaXZFWFQgICAgICAgICAgICAgIGdsR2V0QnVmZmVyUGFyYW1l
dGVyaXYKQEAgLTM1Myw2ICszNjksOCBAQCB0eXBlZGVmIHN0cnVjdCBfT3BlbkdMRnVuY3Rpb25U
YWJsZSB7CiAjZGVmaW5lIGdsSXNWZXJ0ZXhBcnJheU9FUyAgICAgICAgICAgICAgICAgICAgIGds
SXNWZXJ0ZXhBcnJheTsKICNkZWZpbmUgZ2xJc1ZlcnRleEFycmF5ICAgICAgICAgICAgICAgICAg
ICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsSXNWZXJ0ZXhBcnJheSkKICNkZWZpbmUgZ2xMaW5r
UHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsTGlu
a1Byb2dyYW0pCisjZGVmaW5lIGdsTWFwQnVmZmVyUmFuZ2UgICAgICAgICAgICAgICAgICAgICAg
IExPT0tVUF9HTF9GVU5DVElPTihnbE1hcEJ1ZmZlclJhbmdlKQorI2RlZmluZSBnbFByaW1pdGl2
ZVJlc3RhcnRJbmRleCAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xQcmltaXRp
dmVSZXN0YXJ0SW5kZXgpCiAjZGVmaW5lIGdsUmVuZGVyYnVmZmVyU3RvcmFnZUVYVCAgICAgICAg
ICAgICAgIGdsUmVuZGVyYnVmZmVyU3RvcmFnZQogI2RlZmluZSBnbFJlbmRlcmJ1ZmZlclN0b3Jh
Z2UgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xSZW5kZXJidWZmZXJTdG9y
YWdlKQogI2RlZmluZSBnbFJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZUVYVCAgICBnbFJl
bmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZQpAQCAtMzYyLDYgKzM4MCw4IEBAIHR5cGVkZWYg
c3RydWN0IF9PcGVuR0xGdW5jdGlvblRhYmxlIHsKICNkZWZpbmUgZ2xTdGVuY2lsRnVuY1NlcGFy
YXRlICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsU3RlbmNpbEZ1bmNTZXBh
cmF0ZSkKICNkZWZpbmUgZ2xTdGVuY2lsTWFza1NlcGFyYXRlICAgICAgICAgICAgICAgICAgTE9P
S1VQX0dMX0ZVTkNUSU9OKGdsU3RlbmNpbE1hc2tTZXBhcmF0ZSkKICNkZWZpbmUgZ2xTdGVuY2ls
T3BTZXBhcmF0ZSAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsU3RlbmNp
bE9wU2VwYXJhdGUpCisjZGVmaW5lIGdsVGV4U3RvcmFnZTJEICAgICAgICAgICAgICAgICAgICAg
ICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFRleFN0b3JhZ2UyRCkKKyNkZWZpbmUgZ2xUZXhTdG9y
YWdlM0QgICAgICAgICAgICAgICAgICAgICAgICAgTE9PS1VQX0dMX0ZVTkNUSU9OKGdsVGV4U3Rv
cmFnZTNEKQogI2RlZmluZSBnbFVuaWZvcm0xZiAgICAgICAgICAgICAgICAgICAgICAgICAgICBM
T09LVVBfR0xfRlVOQ1RJT04oZ2xVbmlmb3JtMWYpCiAjZGVmaW5lIGdsVW5pZm9ybTFmdiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm0xZnYpCiAj
ZGVmaW5lIGdsVW5pZm9ybTFpICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9G
VU5DVElPTihnbFVuaWZvcm0xaSkKQEAgLTM4MSw2ICs0MDEsNyBAQCB0eXBlZGVmIHN0cnVjdCBf
T3BlbkdMRnVuY3Rpb25UYWJsZSB7CiAjZGVmaW5lIGdsVW5pZm9ybU1hdHJpeDJmdiAgICAgICAg
ICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm1NYXRyaXgyZnYpCiAjZGVm
aW5lIGdsVW5pZm9ybU1hdHJpeDNmdiAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5D
VElPTihnbFVuaWZvcm1NYXRyaXgzZnYpCiAjZGVmaW5lIGdsVW5pZm9ybU1hdHJpeDRmdiAgICAg
ICAgICAgICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFVuaWZvcm1NYXRyaXg0ZnYpCisj
ZGVmaW5lIGdsVW5tYXBCdWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgIExPT0tVUF9HTF9G
VU5DVElPTihnbFVubWFwQnVmZmVyKQogI2RlZmluZSBnbFVzZVByb2dyYW0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04oZ2xVc2VQcm9ncmFtKQogI2RlZmluZSBn
bFZhbGlkYXRlUHJvZ3JhbSAgICAgICAgICAgICAgICAgICAgICBMT09LVVBfR0xfRlVOQ1RJT04o
Z2xWYWxpZGF0ZVByb2dyYW0pCiAjZGVmaW5lIGdsVmVydGV4QXR0cmliMWYgICAgICAgICAgICAg
ICAgICAgICAgIExPT0tVUF9HTF9GVU5DVElPTihnbFZlcnRleEF0dHJpYjFmKQotLSAKMi4yNi4z
CgoKRnJvbSBiYzZlMDhhNDE5ZDM4MzJkM2E5MWExMWNlZWJkNThjNGVjNzMyMDcwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0IFR1cm5lciA8bWF0dHN0ODhAZ21haWwuY29tPgpE
YXRlOiBTYXQsIDggTWF5IDIwMjEgMTE6MTE6MDAgLTA3MDAKU3ViamVjdDogW1BBVENIIDQvNF0g
UmVtb3ZlIHVzZSBvZiB0aGUgT1BFTkdMXzQgbWFjcm8KClRoZSBPUEVOR0xfNCBtYWNybyBkZWZp
bml0aW9uIHdhcyByZW1vdmVkIGluIGNvbW1pdCAxMmM2ZTE1OWJjYjUKKCJSZW1vdmUgR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0w6OnNldFJlbmRlcmJ1ZmZlclN0b3JhZ2VGcm9tRHJhd2FibGUKZGVj
bGFyYXRpb24iKS4KLS0tCiAuLi4vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMQ29tbW9uLmNwcCAgfCAxMCArKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRp
b25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0xDb21tb24uY3BwCmluZGV4IGNmNGM4MTg3N2EzYy4uOGQ5MjlkODYxYTU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5jcHAKQEAgLTIxNjksNyAr
MjE2OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnZlcnRleEF0dHJpYkRpdmlz
b3IoR0NHTHVpbnQgaW5kZXgsIEdDR0x1aW50IGRpdmlzCiAgICAgZ2V0RXh0ZW5zaW9ucygpLnZl
cnRleEF0dHJpYkRpdmlzb3JBTkdMRShpbmRleCwgZGl2aXNvcik7CiB9CiAKLSNpZiBIQVZFKE9Q
RU5HTF80KSAmJiBFTkFCTEUoV0VCR0wyKQorI2lmIFVTRShPUEVOR0wpICYmIEVOQUJMRShXRUJH
TDIpCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpwcmltaXRpdmVSZXN0YXJ0SW5kZXgo
R0NHTHVpbnQgaW5kZXgpCiB7CiAgICAgaWYgKCFtYWtlQ29udGV4dEN1cnJlbnQoKSkKQEAgLTIx
OTcsNyArMjE5Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmJ1ZmZlclN1YkRh
dGEoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMaW50cHRyIGRzdEJ5dGVPCiAgICAgVU5VU0VEX1BBUkFN
KGxlbmd0aCk7CiB9CiAKLSNpZiBIQVZFKE9QRU5HTF80KSB8fCBIQVZFKE9QRU5HTF9FU18zKQor
I2lmIFVTRShPUEVOR0wpIHx8IEhBVkUoT1BFTkdMX0VTXzMpCiB2b2lkIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpjb3B5QnVmZmVyU3ViRGF0YShHQ0dMZW51bSByZWFkVGFyZ2V0LCBHQ0dMZW51
bSB3cml0ZVRhcmdldCwgR0NHTGludHB0ciByZWFkT2Zmc2V0LCBHQ0dMaW50cHRyIHdyaXRlT2Zm
c2V0LCBHQ0dMc2l6ZWlwdHIgc2l6ZSkKIHsKICAgICBpZiAoIW1ha2VDb250ZXh0Q3VycmVudCgp
KQpAQCAtMjIxMyw3ICsyMjEzLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y29w
eUJ1ZmZlclN1YkRhdGEoR0NHTGVudW0sIEdDR0xlbnVtLCBHQ0dMaW50cHRyLAogCiB2b2lkIEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMOjpnZXRCdWZmZXJTdWJEYXRhKEdDR0xlbnVtIHRhcmdldCwg
R0NHTGludHB0ciBvZmZzZXQsIEdDR0xTcGFuPEdDR0x2b2lkPiBkYXRhKQogewotI2lmIEhBVkUo
T1BFTkdMXzQpIHx8IEhBVkUoT1BFTkdMX0VTXzMpCisjaWYgVVNFKE9QRU5HTCkgfHwgSEFWRShP
UEVOR0xfRVNfMykKICAgICBpZiAoIW1ha2VDb250ZXh0Q3VycmVudCgpKQogICAgICAgICByZXR1
cm47CiAgICAgR0NHTHZvaWQqIHB0ciA9IDo6Z2xNYXBCdWZmZXJSYW5nZSh0YXJnZXQsIG9mZnNl
dCwgZGF0YS5idWZTaXplLCBHcmFwaGljc0NvbnRleHRHTDo6TUFQX1JFQURfQklUKTsKQEAgLTIy
NzUsNyArMjI3NSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlYWRCdWZmZXIo
R0NHTGVudW0gc3JjKQogICAgIFVOVVNFRF9QQVJBTShzcmMpOwogfQogCi0jaWYgSEFWRShPUEVO
R0xfNCkgfHwgSEFWRShPUEVOR0xfRVNfMykKKyNpZiBVU0UoT1BFTkdMKSB8fCBIQVZFKE9QRU5H
TF9FU18zKQogdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Z2V0SW50ZXJuYWxmb3JtYXRp
dihHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVtIGludGVybmFsZm9ybWF0LCBHQ0dMZW51bSBwbmFt
ZSwgR0NHTFNwYW48R0NHTGludD4gZGF0YSkKIHsKICNpZiBVU0UoT1BFTkdMX0VTKQpAQCAtMjc1
Miw3ICsyNzUyLDcgQEAgVmVjdG9yPEdDR0x1aW50PiBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
Z2V0VW5pZm9ybUluZGljZXMoUGxhdGZvcm1HTE9iamVjdCBwcm8KIFZlY3RvcjxHQ0dMaW50PiBH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Z2V0QWN0aXZlVW5pZm9ybXMoUGxhdGZvcm1HTE9iamVj
dCBwcm9ncmFtLCBjb25zdCBWZWN0b3I8R0NHTHVpbnQ+JiB1bmlmb3JtSW5kaWNlcywgR0NHTGVu
dW0gcG5hbWUpCiB7CiAgICAgVmVjdG9yPEdDR0xpbnQ+IHJlc3VsdCh1bmlmb3JtSW5kaWNlcy5z
aXplKCksIDApOwotI2lmIEhBVkUoT1BFTkdMXzQpIHx8IEhBVkUoT1BFTkdMX0VTXzMpCisjaWYg
VVNFKE9QRU5HTCkgfHwgSEFWRShPUEVOR0xfRVNfMykKICAgICBBU1NFUlQocHJvZ3JhbSk7CiAg
ICAgaWYgKCFtYWtlQ29udGV4dEN1cnJlbnQoKSkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLS0g
CjIuMjYuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448965</attachid>
            <date>2022-01-12 10:53:39 -0800</date>
            <delta_ts>2022-01-13 03:25:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225563-20220112195338.patch</filename>
            <type>text/plain</type>
            <size>5180</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM1Mzk0ZjJiMTZhYTg5
N2E4MzdkYmY2YzI0NzA0ZDgyYmM0Y2MwNS4uMjdhYjNkNTIyYjhiNGZiYzNhMTRjNDEzMTA0YjY3
NWY0YWMxZGRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAxLTEyICBBbGVq
YW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV1b
V2ViR0wyXSBjb21waWxhdGlvbiBmaXhlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRml4IHRoZSBjb21waWxhdGlvbiBhbmQgYWRkIHRoZSBBTkdMRSBk
ZXBlbmRlbmN5LCB0aGUgYXJjaGl0ZWN0dXJlCisgICAgICAgIGlzIHN0aWxsIG5vdCB0aGUgZmlu
YWwgb25lIGJ1dCBpdCBpcyBoYW5keSB0byB1c2UgV2ViR0wyIGRlbW9zIGZvcgorICAgICAgICB0
ZXN0aW5nIGFscmVhZHkuCisKKyAgICAgICAgV2UgYXJlIHN0aWxsIG5vdCBlbmFibGluZyB0aGUg
dGVzdHMgdW50aWwgd2UgaGF2ZSB0aGUgZmluYWwKKyAgICAgICAgYXJjaGl0ZWN0dXJlLgorCisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3RWxlbWVudHMpOiBB
dm9pZCB1c2luZworICAgICAgICBHcmFwaGljc0NvbnRleHRHTE9wZW5HTCB3aGVuIGNvbXBpbGlu
ZyB3aXRoIEFOR0xFLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKToKKyAgICAgICAgRGl0dG8uCisKIDIwMjItMDEtMTIg
IEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgY3NzL2Nzcy10
cmFuc2l0aW9ucy9wc2V1ZG8tZWxlbWVudHMtMDAyLmh0bWwgV1BUIGlzIGEgZmFpbHVyZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcAppbmRleCBjZTAwZTYzYThmYjc0ZmE4YzVmZGUzM2I5MjNjOWQ1ZjcxNmM0Mjk1
Li42MmYwOGExYWUzMTRkOGZiNTFkMDg2Mzg1OTYwOWMxYmYyMDBiYTkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
LmNwcApAQCAtMjgxOCw3ICsyODE4LDcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OjpkcmF3RWxlbWVudHMoR0NHTGVudW0gbW9kZSwgR0NHTHNpemVpIGNvdW50LCBHQ0cKICAgICAg
ICAgdXNlc0ZhbGxiYWNrVGV4dHVyZSA9IGNoZWNrVGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0Vs
ZW1lbnRzIiwgdHJ1ZSk7CiAjZW5kaWYKIAotI2lmIFVTRShPUEVOR0wpICYmIEVOQUJMRShXRUJH
TDIpCisjaWYgVVNFKE9QRU5HTCkgJiYgRU5BQkxFKFdFQkdMMikgJiYgIVVTRShBTkdMRSkKICAg
ICBpZiAoaXNXZWJHTDIoKSkKICAgICAgICAgbV9jb250ZXh0LT5wcmltaXRpdmVSZXN0YXJ0SW5k
ZXgoZ2V0UmVzdGFydEluZGV4KHR5cGUpKTsKICNlbmRpZgpAQCAtODAzMCw3ICs4MDMwLDcgQEAg
dm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3RWxlbWVudHNJbnN0YW5jZWQoR0NH
TGVudW0gbW9kZSwgR0NHTHNpemVpIGMKICAgICAgICAgY2hlY2tUZXh0dXJlQ29tcGxldGVuZXNz
KCJkcmF3RWxlbWVudHNJbnN0YW5jZWQiLCB0cnVlKTsKICNlbmRpZgogCi0jaWYgVVNFKE9QRU5H
TCkgJiYgRU5BQkxFKFdFQkdMMikKKyNpZiBVU0UoT1BFTkdMKSAmJiBFTkFCTEUoV0VCR0wyKSAm
JiAhVVNFKEFOR0xFKQogICAgIGlmIChpc1dlYkdMMigpKQogICAgICAgICBzdGF0aWNfY2FzdDxH
cmFwaGljc0NvbnRleHRHTE9wZW5HTCo+KG1fY29udGV4dC5nZXQoKSktPnByaW1pdGl2ZVJlc3Rh
cnRJbmRleChnZXRSZXN0YXJ0SW5kZXgodHlwZSkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtl
CmluZGV4IDYyZWZmY2NkYmE4MjA3YjM3YjhlMGFhODc4OTdjN2U5MzEwMzZlMWIuLmRlMzNjNDUx
OGQyYmMyZjA0MGUyYjhjMzY0MDU0MjM5MWRiMDRlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFr
ZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBA
IC04Myw2ICs4Myw3IEBAIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9BU1lOQ19TQ1JPTExJ
TkcgVVNFX09QRU5HTF9PUl9FUykKIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9HTEVTMiBV
U0VfT1BFTkdMX09SX0VTKQogV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX1dFQkdMIFVTRV9P
UEVOR0xfT1JfRVMpCiBXRUJLSVRfT1BUSU9OX0RFUEVORChVU0VfQU5HTEVfV0VCR0wgRU5BQkxF
X1dFQkdMKQorV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX1dFQkdMMiBVU0VfQU5HTEVfV0VC
R0wpCiBXRUJLSVRfT1BUSU9OX0RFUEVORChVU0VfR1NUUkVBTUVSX0dMIFVTRV9PUEVOR0xfT1Jf
RVMpCiBXRUJLSVRfT1BUSU9OX0RFUEVORChVU0VfV1BFX1JFTkRFUkVSIFVTRV9PUEVOR0xfT1Jf
RVMpCiBXRUJLSVRfT1BUSU9OX0RFUEVORChVU0VfV1BFX1JFTkRFUkVSIEVOQUJMRV9XQVlMQU5E
X1RBUkdFVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlIGIvU291
cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKaW5kZXggYTdlNjUyNjQwZWFlNGEzMzgzNDYzOWRj
YzM2ZDAzN2I4MjNkYmQ4Yy4uOWE5OThiODc1NmM4YWNkMmQ4ZGU2NTRmOWU3MDcwOThjNGJjMzFh
OCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKKysrIGIvU291cmNl
L2NtYWtlL09wdGlvbnNXUEUuY21ha2UKQEAgLTY2LDcgKzY2LDYgQEAgV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1BFUklPRElDX01FTU9SWV9NT05JVE9SIFBSSVZBVEUg
T04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU0VSVklDRV9XT1JL
RVIgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9T
SEFSRUFCTEVfUkVTT1VSQ0UgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9UT1VDSF9FVkVOVFMgUFJJVkFURSBPTikKLVdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTDIgUFJJVkFURSBPRkYpCiBXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCX1JUQyBQUklWQVRFICR7RU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFU30pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfV0VCWFIgUFJJVkFURSAke0VOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVN9KQogCkBAIC04
OCw2ICs4Nyw3IEBAIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9HU1RSRUFNRVJfSE9MRVBVTkNI
ICJXaGV0aGVyIHRvIGVuYWJsZSBHU3RyZWFtZXIgaG9sZXB1CiBXRUJLSVRfT1BUSU9OX0RFRklO
RShVU0VfRVhURVJOQUxfSE9MRVBVTkNIICJXaGV0aGVyIHRvIGVuYWJsZSBleHRlcm5hbCBob2xl
cHVuY2giIFBSSVZBVEUgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0FOR0xFX1dFQkdM
ICJXaGV0aGVyIHRvIHVzZSBBTkdMRSBhcyBXZWJHTCBiYWNrZW5kLiIgUFJJVkFURSBPRkYpCiBX
RUJLSVRfT1BUSU9OX0RFUEVORChVU0VfQU5HTEVfV0VCR0wgRU5BQkxFX1dFQkdMKQorV0VCS0lU
X09QVElPTl9ERVBFTkQoRU5BQkxFX1dFQkdMMiBVU0VfQU5HTEVfV0VCR0wpCiAKIGlmIChDTUFL
RV9TWVNURU1fTkFNRSBNQVRDSEVTICJMaW51eCIpCiAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0JVQkJMRVdSQVBfU0FOREJPWCBQVUJMSUMgT04pCmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMThhMThlYzY5Y2U3ZGNiMTgwMjk5YWE5
OWViMDBkZDNiYzk2Y2YwYi4uY2JiYmI3YmE5NGY5Yjk0MjhiZGY2YjJhNDA4NGI5MTQ3MzgxOTgy
NSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDIyLTAxLTEyICBBbGVqYW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtHVEtdW1dQRV1bV2ViR0wyXSBjb21waWxhdGlvbiBmaXhlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTYzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IHRoZSBjb21waWxhdGlvbiBh
bmQgYWRkIHRoZSBBTkdMRSBkZXBlbmRlbmN5LCB0aGUgYXJjaGl0ZWN0dXJlCisgICAgICAgIGlz
IHN0aWxsIG5vdCB0aGUgZmluYWwgb25lIGJ1dCBpdCBpcyBoYW5keSB0byB1c2UgV2ViR0wyIGRl
bW9zIGZvcgorICAgICAgICB0ZXN0aW5nIGFscmVhZHkuCisKKyAgICAgICAgKiBTb3VyY2UvY21h
a2UvT3B0aW9uc0dUSy5jbWFrZTogQWRkZWQgZGVwZW5kZW5jeSB3aXRoIEFOR0xFLgorICAgICAg
ICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlOiBBZGRlZCBkZXBlbmRlbmN5IHdpdGgK
KyAgICAgICAgQU5HTEUuIFJlbW92ZSB0aGUgZGVmYXVsdCBFTkFCTEVfV0VCR0wyIGJlY2F1c2Ug
aXQgaXMgdGhlIHNhbWUKKyAgICAgICAgZGVmYXVsdCB2YWx1ZSBpbiBXZWJLaXRGZWF0dXJlcy5j
bWFrZS4KKwogMjAyMi0wMS0xMiAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1dQRV0gRml4IGJ1aWxkaW5nIFdlYlhSIHdpdGggQU5HTEUgZW5hYmxlZAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449040</attachid>
            <date>2022-01-13 03:25:26 -0800</date>
            <delta_ts>2022-01-13 11:04:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225563-20220113122525.patch</filename>
            <type>text/plain</type>
            <size>5329</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM1Mzk0ZjJiMTZhYTg5
N2E4MzdkYmY2YzI0NzA0ZDgyYmM0Y2MwNS4uOWFmYWVjNjZkZDc4NzVjMTdlMWMzZTU5NWFiOGE0
ZThmYzYzYjAzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTAxLTEyICBBbGVq
YW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV1b
V2ViR0wyXSBjb21waWxhdGlvbiBmaXhlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRml4IHRoZSBjb21waWxhdGlvbiBhbmQgYWRkIHRoZSBBTkdMRSBk
ZXBlbmRlbmN5LCB0aGUgYXJjaGl0ZWN0dXJlCisgICAgICAgIGlzIHN0aWxsIG5vdCB0aGUgZmlu
YWwgb25lIGJ1dCBpdCBpcyBoYW5keSB0byB1c2UgV2ViR0wyIGRlbW9zIGZvcgorICAgICAgICB0
ZXN0aW5nIGFscmVhZHkuCisKKyAgICAgICAgV2UgYXJlIHN0aWxsIG5vdCBlbmFibGluZyB0aGUg
dGVzdHMgdW50aWwgd2UgaGF2ZSB0aGUgZmluYWwKKyAgICAgICAgYXJjaGl0ZWN0dXJlLgorCisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpkcmF3RWxlbWVudHMpOiBM
ZWZ0b3ZlciBjb2RlLAorICAgICAgICB0aGVyZSBpcyBubyBwb3J0IHVzaW5nIE9wZW5HTCBkaXJl
Y3RseSB0byBzdXBwb3J0IFdlYkdMMiBhbnltb3JlLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKToKKyAgICAgICAgRGl0
dG8uCisKIDIwMjItMDEtMTIgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgY3NzL2Nzcy10cmFuc2l0aW9ucy9wc2V1ZG8tZWxlbWVudHMtMDAyLmh0bWwgV1BU
IGlzIGEgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCBjZTAwZTYzYThmYjc0ZmE4YzVmZGUz
M2I5MjNjOWQ1ZjcxNmM0Mjk1Li4zMGM1NTU1MDUzZWZmNTI5ZmNkNTQ4Y2Y1Y2E0OTdjMGVlYmRl
Y2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMjgxOCwxMSArMjgxOCw2IEBAIHZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0VsZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdDR0xzaXpl
aSBjb3VudCwgR0NHCiAgICAgICAgIHVzZXNGYWxsYmFja1RleHR1cmUgPSBjaGVja1RleHR1cmVD
b21wbGV0ZW5lc3MoImRyYXdFbGVtZW50cyIsIHRydWUpOwogI2VuZGlmCiAKLSNpZiBVU0UoT1BF
TkdMKSAmJiBFTkFCTEUoV0VCR0wyKQotICAgIGlmIChpc1dlYkdMMigpKQotICAgICAgICBtX2Nv
bnRleHQtPnByaW1pdGl2ZVJlc3RhcnRJbmRleChnZXRSZXN0YXJ0SW5kZXgodHlwZSkpOwotI2Vu
ZGlmCi0KICAgICB7CiAgICAgICAgIEluc3BlY3RvclNjb3BlZFNoYWRlclByb2dyYW1IaWdobGln
aHQgc2NvcGVkSGlnaGxpZ2h0KCp0aGlzLCBtX2N1cnJlbnRQcm9ncmFtLmdldCgpKTsKIApAQCAt
ODAzMCwxMSArODAyNSw2IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZHJhd0Vs
ZW1lbnRzSW5zdGFuY2VkKEdDR0xlbnVtIG1vZGUsIEdDR0xzaXplaSBjCiAgICAgICAgIGNoZWNr
VGV4dHVyZUNvbXBsZXRlbmVzcygiZHJhd0VsZW1lbnRzSW5zdGFuY2VkIiwgdHJ1ZSk7CiAjZW5k
aWYKIAotI2lmIFVTRShPUEVOR0wpICYmIEVOQUJMRShXRUJHTDIpCi0gICAgaWYgKGlzV2ViR0wy
KCkpCi0gICAgICAgIHN0YXRpY19jYXN0PEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKj4obV9jb250
ZXh0LmdldCgpKS0+cHJpbWl0aXZlUmVzdGFydEluZGV4KGdldFJlc3RhcnRJbmRleCh0eXBlKSk7
Ci0jZW5kaWYKLQogICAgIG1fY29udGV4dC0+ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKG1vZGUsIGNv
dW50LCB0eXBlLCBzdGF0aWNfY2FzdDxHQ0dMaW50cHRyPihvZmZzZXQpLCBwcmltY291bnQpOwog
CiAjaWYgIVVTRShBTkdMRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNt
YWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggNjJlZmZjY2RiYTgyMDdi
MzdiOGUwYWE4Nzg5N2M3ZTkzMTAzNmUxYi4uZGUzM2M0NTE4ZDJiYzJmMDQwZTJiOGMzNjQwNTQy
MzkxZGIwNGVkMCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysr
IGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTgzLDYgKzgzLDcgQEAgV0VCS0lU
X09QVElPTl9ERVBFTkQoRU5BQkxFX0FTWU5DX1NDUk9MTElORyBVU0VfT1BFTkdMX09SX0VTKQog
V0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0dMRVMyIFVTRV9PUEVOR0xfT1JfRVMpCiBXRUJL
SVRfT1BUSU9OX0RFUEVORChFTkFCTEVfV0VCR0wgVVNFX09QRU5HTF9PUl9FUykKIFdFQktJVF9P
UFRJT05fREVQRU5EKFVTRV9BTkdMRV9XRUJHTCBFTkFCTEVfV0VCR0wpCitXRUJLSVRfT1BUSU9O
X0RFUEVORChFTkFCTEVfV0VCR0wyIFVTRV9BTkdMRV9XRUJHTCkKIFdFQktJVF9PUFRJT05fREVQ
RU5EKFVTRV9HU1RSRUFNRVJfR0wgVVNFX09QRU5HTF9PUl9FUykKIFdFQktJVF9PUFRJT05fREVQ
RU5EKFVTRV9XUEVfUkVOREVSRVIgVVNFX09QRU5HTF9PUl9FUykKIFdFQktJVF9PUFRJT05fREVQ
RU5EKFVTRV9XUEVfUkVOREVSRVIgRU5BQkxFX1dBWUxBTkRfVEFSR0VUKQpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5j
bWFrZQppbmRleCBhN2U2NTI2NDBlYWU0YTMzODM0NjM5ZGNjMzZkMDM3YjgyM2RiZDhjLi45YTk5
OGI4NzU2YzhhY2QyZDhkZTY1NGY5ZTcwNzA5OGM0YmMzMWE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc1dQRS5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFr
ZQpAQCAtNjYsNyArNjYsNiBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfUEVSSU9ESUNfTUVNT1JZX01PTklUT1IgUFJJVkFURSBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TRVJWSUNFX1dPUktFUiBQUklWQVRFIE9OKQogV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NIQVJFQUJMRV9SRVNPVVJDRSBQUklW
QVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1RPVUNIX0VW
RU5UUyBQUklWQVRFIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X1dFQkdMMiBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9XRUJfUlRDIFBSSVZBVEUgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTfSkKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJYUiBQUklWQVRFICR7RU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFU30pCiAKQEAgLTg4LDYgKzg3LDcgQEAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoVVNFX0dTVFJFQU1FUl9IT0xFUFVOQ0ggIldoZXRoZXIgdG8gZW5hYmxlIEdT
dHJlYW1lciBob2xlcHUKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9FWFRFUk5BTF9IT0xFUFVO
Q0ggIldoZXRoZXIgdG8gZW5hYmxlIGV4dGVybmFsIGhvbGVwdW5jaCIgUFJJVkFURSBPRkYpCiBX
RUJLSVRfT1BUSU9OX0RFRklORShVU0VfQU5HTEVfV0VCR0wgIldoZXRoZXIgdG8gdXNlIEFOR0xF
IGFzIFdlYkdMIGJhY2tlbmQuIiBQUklWQVRFIE9GRikKIFdFQktJVF9PUFRJT05fREVQRU5EKFVT
RV9BTkdMRV9XRUJHTCBFTkFCTEVfV0VCR0wpCitXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVf
V0VCR0wyIFVTRV9BTkdMRV9XRUJHTCkKIAogaWYgKENNQUtFX1NZU1RFTV9OQU1FIE1BVENIRVMg
IkxpbnV4IikKICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQlVC
QkxFV1JBUF9TQU5EQk9YIFBVQkxJQyBPTikKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCAxOGExOGVjNjljZTdkY2IxODAyOTlhYTk5ZWIwMGRkM2JjOTZjZjBiLi5jYmJi
YjdiYTk0ZjliOTQyOGJkZjZiMmE0MDg0YjkxNDczODE5ODI1IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjItMDEtMTIgIEFsZWphbmRy
byBHLiBDYXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXVtXZWJH
TDJdIGNvbXBpbGF0aW9uIGZpeGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjU1NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggdGhlIGNvbXBpbGF0aW9uIGFuZCBhZGQgdGhlIEFOR0xFIGRlcGVu
ZGVuY3ksIHRoZSBhcmNoaXRlY3R1cmUKKyAgICAgICAgaXMgc3RpbGwgbm90IHRoZSBmaW5hbCBv
bmUgYnV0IGl0IGlzIGhhbmR5IHRvIHVzZSBXZWJHTDIgZGVtb3MgZm9yCisgICAgICAgIHRlc3Rp
bmcgYWxyZWFkeS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOiBB
ZGRlZCBkZXBlbmRlbmN5IHdpdGggQU5HTEUuCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlv
bnNXUEUuY21ha2U6IEFkZGVkIGRlcGVuZGVuY3kgd2l0aAorICAgICAgICBBTkdMRS4gUmVtb3Zl
IHRoZSBkZWZhdWx0IEVOQUJMRV9XRUJHTDIgYmVjYXVzZSBpdCBpcyB0aGUgc2FtZQorICAgICAg
ICBkZWZhdWx0IHZhbHVlIGluIFdlYktpdEZlYXR1cmVzLmNtYWtlLgorCiAyMDIyLTAxLTEyICBD
aHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBGaXggYnVpbGRp
bmcgV2ViWFIgd2l0aCBBTkdMRSBlbmFibGVkCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>