<?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>204673</bug_id>
          
          <creation_ts>2019-11-28 03:08:51 -0800</creation_ts>
          <short_desc>[GStreamer] Convert custom GObject subclasses to WEBKIT_DEFINE_TYPE</short_desc>
          <delta_ts>2020-09-13 05:08:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=204674</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Víctor M. Jáquez L.">vjaquez</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1593992</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-11-28 03:08:51 -0800</bug_when>
    <thetext>Source/WebCore/platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp
40:G_DEFINE_TYPE(GstAllocatorFastMalloc, gst_allocator_fast_malloc, GST_TYPE_ALLOCATOR)

Source/WebCore/platform/graphics/gstreamer/TextCombinerGStreamer.cpp
45:G_DEFINE_TYPE_WITH_CODE(WebKitTextCombiner, webkit_text_combiner, GST_TYPE_BIN,
75:G_DEFINE_TYPE(WebKitTextCombinerPad, webkit_text_combiner_pad, GST_TYPE_GHOST_PAD);

Source/WebCore/platform/graphics/gstreamer/TextSinkGStreamer.cpp
35:G_DEFINE_TYPE_WITH_CODE(WebKitTextSink, webkit_text_sink, GST_TYPE_APP_SINK,

Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp
141:G_DEFINE_TYPE_WITH_CODE(WebKitVideoSink, webkit_video_sink, GST_TYPE_VIDEO_SINK, GST_DEBUG_CATEGORY_INIT(webkitVideoSinkDebug, &quot;webkitsink&quot;, 0, &quot;webkit video sink&quot;));

Source/WebCore/platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp
65:G_DEFINE_TYPE(WebKitMediaClearKeyDecrypt, webkit_media_clear_key_decrypt, WEBKIT_TYPE_MEDIA_CENC_DECRYPT);

Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp
188:G_DEFINE_TYPE_WITH_CODE(WebKitMediaSrc, webkit_media_src, GST_TYPE_BIN,

Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp
60:G_DEFINE_TYPE(WebKitMediaCommonEncryptionDecrypt, webkit_media_common_encryption_decrypt, GST_TYPE_BASE_TRANSFORM);

Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp
136:G_DEFINE_TYPE_WITH_CODE(WebKitWebAudioSrc, webkit_web_audio_src, GST_TYPE_BIN, GST_DEBUG_CATEGORY_INIT(webkit_web_audio_src_debug, \

Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
332:G_DEFINE_TYPE_WITH_CODE(WebKitMediaStreamSrc, webkit_media_stream_src, GST_TYPE_BIN, doInit);

Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoder.cpp
92:G_DEFINE_TYPE_WITH_PRIVATE (GstWebrtcVideoEncoder, gst_webrtc_video_encoder,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685674</commentid>
    <comment_count>1</comment_count>
      <attachid>407980</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-09-04 08:47:50 -0700</bug_when>
    <thetext>Created attachment 407980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685676</commentid>
    <comment_count>2</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-09-04 08:51:59 -0700</bug_when>
    <thetext>I didn&apos;t changed GstAllocatorFastMalloc, TextCombinerGStreamer nor TextSinkGStreamer, since they don&apos;t use private structures, so there&apos;s no case to use the macro. 


GStreamerVideoEncoder it&apos;s a bit complex since it doesn&apos;t use the private structure as the macro expects it. I&apos;ll work on this class later.

GStreamerMediaStreamSource is too complex to me to try to try modify it, perhaps the macro doesn&apos;t worth it for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686201</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-09-06 11:36:40 -0700</bug_when>
    <thetext>(In reply to Víctor M. Jáquez L. from comment #2)
&gt; I didn&apos;t changed GstAllocatorFastMalloc, TextCombinerGStreamer nor
&gt; TextSinkGStreamer, since they don&apos;t use private structures, so there&apos;s no
&gt; case to use the macro. 
&gt; 
&gt; 
&gt; GStreamerVideoEncoder it&apos;s a bit complex since it doesn&apos;t use the private
&gt; structure as the macro expects it. I&apos;ll work on this class later.
&gt; 

If the intent is still to upstream this to GStreamer it should keep using G_DEFINE_TYPE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686306</commentid>
    <comment_count>4</comment_count>
      <attachid>407980</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-09-07 01:31:53 -0700</bug_when>
    <thetext>Comment on attachment 407980
Patch

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

LGTM, just a nit, valid for all new calls of WEBKIT_DEFINE_TYPE:

&gt; Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:65
&gt; +WEBKIT_DEFINE_TYPE(WebKitMediaThunderDecrypt, webkit_media_thunder_decrypt, WEBKIT_TYPE_MEDIA_CENC_DECRYPT);

I think there&apos;s no need for ending ;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686316</commentid>
    <comment_count>5</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-09-07 02:31:25 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #3)
&gt; (In reply to Víctor M. Jáquez L. from comment #2)
&gt; &gt; I didn&apos;t changed GstAllocatorFastMalloc, TextCombinerGStreamer nor
&gt; &gt; TextSinkGStreamer, since they don&apos;t use private structures, so there&apos;s no
&gt; &gt; case to use the macro. 
&gt; &gt; 
&gt; &gt; 
&gt; &gt; GStreamerVideoEncoder it&apos;s a bit complex since it doesn&apos;t use the private
&gt; &gt; structure as the macro expects it. I&apos;ll work on this class later.
&gt; &gt; 
&gt; 
&gt; If the intent is still to upstream this to GStreamer it should keep using
&gt; G_DEFINE_TYPE.

I don&apos;t think there&apos;s an intent to upstream it. I&apos;d need to ask Thibault.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686323</commentid>
    <comment_count>6</comment_count>
      <attachid>408170</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-09-07 02:42:14 -0700</bug_when>
    <thetext>Created attachment 408170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686329</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-07 03:09:20 -0700</bug_when>
    <thetext>Committed r266697: &lt;https://trac.webkit.org/changeset/266697&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408170.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686330</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-07 03:10:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/68455348&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686513</commentid>
    <comment_count>9</comment_count>
      <attachid>408170</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-09-08 01:22:39 -0700</bug_when>
    <thetext>Comment on attachment 408170
Patch

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

&gt; Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:84
&gt; +        provider = nullptr;
&gt; +        bus = nullptr;

nullptr initializations aren&apos;t needed for private structs, since they are filled with 0 on allocation by GLib.

&gt; Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:194
&gt; +    g_type_class_add_private(webKitWebAudioSrcClass, sizeof(WebKitWebAudioSrcPrivate));

This is already called by WEBKIT_DEFINE_TYPE, now it&apos;s called twice, which causes a runtime warning.

&gt; Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:280
&gt;      g_type_class_add_private(klass, sizeof(WebKitVideoSinkPrivate));

You should remove this one too.

&gt; Source/WebCore/platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:88
&gt;      g_type_class_add_private(klass, sizeof(WebKitMediaClearKeyDecryptPrivate));

And this.

&gt; Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:81
&gt;      g_type_class_add_private(klass, sizeof(WebKitMediaCommonEncryptionDecryptPrivate));

And this.

&gt; Source/WebCore/platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:107
&gt;      g_type_class_add_private(klass, sizeof(WebKitMediaThunderDecryptPrivate));

And this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686522</commentid>
    <comment_count>10</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-09-08 03:18:59 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686523</commentid>
    <comment_count>11</comment_count>
      <attachid>408220</attachid>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-09-08 03:19:01 -0700</bug_when>
    <thetext>Created attachment 408220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686538</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-08 06:18:52 -0700</bug_when>
    <thetext>Committed r266721: &lt;https://trac.webkit.org/changeset/266721&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408220.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688082</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-09-13 05:08:43 -0700</bug_when>
    <thetext>https://trac.webkit.org/r266992</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407980</attachid>
            <date>2020-09-04 08:47:50 -0700</date>
            <delta_ts>2020-09-07 02:42:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204673-20200904174748.patch</filename>
            <type>text/plain</type>
            <size>22652</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTYwMDVlZjhkYTg0ZDM0
MmMyMDU1NGI1M2VlMTM5ZDhiNTg1MWYzNy4uMjBhM2EzYTc1N2ExOWZlOGUzNThhZDdkNDQyM2Nl
NmRhN2UzZjg1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTA5LTA0ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dTdHJlYW1lcl0gQ29udmVydCBjdXN0b20gR09iamVjdCBzdWJjbGFzc2VzIHRvIFdFQktJVF9E
RUZJTkVfVFlQRQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA0NjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW5zdGVhZCBvZiB1c2luZyBHX0RFRklORV9UWVBFIG1hY3JvIHVzZSByYXRoZXIgV0VCS0lU
X0RFRklORV9UWVBFCisgICAgICAgIHNpbmNlIGl0IGhhbmRsZXMgcHJpdmF0ZSBzdHJ1Y3R1cmVz
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBubyBmdW5jdGlvbmFsIGNoYW5nZXMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VH
U3RyZWFtZXIuY3BwOgorICAgICAgICBSZW5hbWVkIHRoZSBwcml2YXRlIHN0cnVjdHVyZSB0byBt
YXRjaCB3aXRoIGNsYXNzIG5hbWUgc28gaXQgY2FuCisgICAgICAgIGJlIGF1dG9nZW5ldGVyYXRl
ZCBieSB0aGUgbWFjcm8uCisgICAgICAgIChfV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRlOjpfV2Vi
S2l0V2ViQXVkaW9TcmNQcml2YXRlKTogYWRkCisgICAgICAgIGNvbnN0cnVjdHVyZS4KKyAgICAg
ICAgKF9XZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGU6On5fV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRl
KTogYWRkCisgICAgICAgIGRlc3RydWN0b3IuCisgICAgICAgICh3ZWJraXRfd2ViX2F1ZGlvX3Ny
Y19jbGFzc19pbml0KTogcmVtb3ZlIGR1cGxpY2F0ZWQKKyAgICAgICAgaW5pdGlhbGl6YXRpb24u
CisgICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY0NvbnN0cnVjdGVkKTogYWRkIGNvbnN0cnVjdGVk
IHZtZXRob2QgdG8KKyAgICAgICAgaW5pdGFsaXplIHNvbWUgcHJpdmF0ZSBtZW1iZXJzLgorICAg
ICAgICAod2ViS2l0V2ViQXVkaW9TcmNTZXRQcm9wZXJ0eSk6IHJlbmFtZWQgcHJpdmF0ZSBzdHJ1
Y3R1cmUuCisgICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY0dldFByb3BlcnR5KTogZGl0dG8uCisg
ICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY0FsbG9jYXRlQnVmZmVyc0FuZFJlbmRlckF1ZGlvKTog
ZGl0dG8uCisgICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY0xvb3ApOiBkaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKHdlYmtpdFZpZGVvU2lua0NvbnN0cnVjdGVkKTogYWRkIGNvbnN0cnVjdGVkIHZtZXRo
b2QgdG8gaW5pdGFsaXplCisgICAgICAgIHNvbWUgcHJpdmF0ZSBtZW1iZXJzLgorICAgICAgICAo
d2Via2l0X3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCk6IHJlbW92ZSBkdXBsaWNhdGVkIGluaXRpYWxp
emF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0
Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwOgorICAgICAgICAod2Via2l0X21lZGlhX2Ns
ZWFyX2tleV9kZWNyeXB0X2NsYXNzX2luaXQpOiByZW1vdmUgZHVwbGljYXRlZAorICAgICAgICBp
bml0aWFsaXphdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1l
L1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwOgorICAgICAgICAo
d2Via2l0X21lZGlhX2NvbW1vbl9lbmNyeXB0aW9uX2RlY3J5cHRfY2xhc3NfaW5pdCk6IHJlbW92
ZQorICAgICAgICBkdXBsaWNhdGVkIGluaXRpYWxpemF0aW9uLgorICAgICAgICAoY29uc3RydWN0
ZWQpOiBhZGQgY29uc3RydWN0ZWQgdm1ldGhvZCB0byBpbml0YWxpemUgc29tZSBwcml2YXRlCisg
ICAgICAgIG1lbWJlcnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2Vt
ZS9XZWJLaXRUaHVuZGVyRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKHdlYmtpdF9t
ZWRpYV90aHVuZGVyX2RlY3J5cHRfY2xhc3NfaW5pdCk6IHJlbW92ZSBkdXBsaWNhdGVkCisgICAg
ICAgIGluaXRpYWxpemF0aW9uLgorCiAyMDIwLTA5LTAzICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBGaW5hbGl6ZSBJbmxpbmVCb3ggYWxpZ25t
ZW50IGluIExpbmVCb3gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2dzdHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3RyZWFt
ZXIuY3BwCmluZGV4IGUxNGRiNWUyMGMxNTI2N2IyOTVjYjAzODNjYTkwZmY3NmRlMGFlZmUuLmVh
NTNiYmZmY2ZkNDUyZmQzZjA5ZTVmYTEyNGVjMDU4ZjJiNjUwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJjZUdT
dHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVy
L1dlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmNwcApAQCAtMzAsMjQgKzMwLDI5IEBACiAj
aW5jbHVkZSA8Z3N0L2F1ZGlvL2F1ZGlvLWluZm8uaD4KICNpbmNsdWRlIDxnc3QvcGJ1dGlscy9t
aXNzaW5nLXBsdWdpbnMuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CisjaW5j
bHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NyY0NsYXNzICAgV2ViS2l0V2ViQXVkaW9T
cmNDbGFzczsKLXR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NvdXJjZVByaXZhdGUgV2Vi
S2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYkF1ZGlv
U3JjUHJpdmF0ZSBXZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGU7CiAKIHN0cnVjdCBfV2ViS2l0V2Vi
QXVkaW9TcmMgewogICAgIEdzdEJpbiBwYXJlbnQ7CiAKLSAgICBXZWJLaXRXZWJBdWRpb1NvdXJj
ZVByaXZhdGUqIHByaXY7CisgICAgV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRlKiBwcml2OwogfTsK
IAogc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NyY0NsYXNzIHsKICAgICBHc3RCaW5DbGFzcyBwYXJl
bnRDbGFzczsKIH07CiAKLSNkZWZpbmUgV0VCS0lUX1dFQl9BVURJT19TUkNfR0VUX1BSSVZBVEUo
b2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9XRUJB
VURJT19TUkMsIFdlYktpdFdlYkF1ZGlvU291cmNlUHJpdmF0ZSkpCi1zdHJ1Y3QgX1dlYktpdFdl
YkF1ZGlvU291cmNlUHJpdmF0ZSB7CitzdGF0aWMgR3N0U3RhdGljUGFkVGVtcGxhdGUgc3JjVGVt
cGxhdGUgPSBHU1RfU1RBVElDX1BBRF9URU1QTEFURSgic3JjIiwKKyAgICBHU1RfUEFEX1NSQywK
KyAgICBHU1RfUEFEX0FMV0FZUywKKyAgICBHU1RfU1RBVElDX0NBUFMoR1NUX0FVRElPX0NBUFNf
TUFLRShHU1RfQVVESU9fTkUoRjMyKSkpKTsKKworc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NyY1By
aXZhdGUgewogICAgIGdmbG9hdCBzYW1wbGVSYXRlOwogICAgIEF1ZGlvQnVzKiBidXM7CiAgICAg
QXVkaW9JT0NhbGxiYWNrKiBwcm92aWRlcjsKQEAgLTcwLDYgKzc1LDI2IEBAIHN0cnVjdCBfV2Vi
S2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlIHsKICAgICBHUmVmUHRyPEdzdEJ1ZmZlclBvb2w+IHBv
b2w7CiAKICAgICBib29sIGVuYWJsZUdhcEJ1ZmZlclN1cHBvcnQ7CisKKyAgICBfV2ViS2l0V2Vi
QXVkaW9TcmNQcml2YXRlKCkKKyAgICB7CisgICAgICAgIHNvdXJjZVBhZCA9IHdlYmtpdEdzdEdo
b3N0UGFkRnJvbVN0YXRpY1RlbXBsYXRlKCZzcmNUZW1wbGF0ZSwgInNyYyIsIG51bGxwdHIpOwor
CisgICAgICAgIHByb3ZpZGVyID0gbnVsbHB0cjsKKyAgICAgICAgYnVzID0gbnVsbHB0cjsKKwor
ICAgICAgICBnX3JlY19tdXRleF9pbml0KCZtdXRleCk7CisKKyAgICAgICAgLy8gR0FQIGJ1ZmZl
ciBzdXBwb3J0IGlzIGVuYWJsZWQgb25seSBmb3IgR1N0cmVhbWVyIDEuMTIuNSBiZWNhdXNlIG9m
IGEKKyAgICAgICAgLy8gbWVtb3J5IGxlYWsgdGhhdCB3YXMgZml4ZWQgaW4gdGhhdCB2ZXJzaW9u
LgorICAgICAgICAvLyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzkzMDY3CisgICAgICAgIGVuYWJsZUdhcEJ1ZmZlclN1cHBvcnQgPSB3ZWJraXRHc3RDaGVja1Zl
cnNpb24oMSwgMTIsIDUpOworICAgIH0KKworICAgIH5fV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRl
KCkKKyAgICB7CisgICAgICAgIGdfcmVjX211dGV4X2NsZWFyKCZtdXRleCk7CisgICAgfQogfTsK
IAogZW51bSB7CkBAIC03OSwxNiArMTA0LDEwIEBAIGVudW0gewogICAgIFBST1BfRlJBTUVTCiB9
OwogCi1zdGF0aWMgR3N0U3RhdGljUGFkVGVtcGxhdGUgc3JjVGVtcGxhdGUgPSBHU1RfU1RBVElD
X1BBRF9URU1QTEFURSgic3JjIiwKLSAgICBHU1RfUEFEX1NSQywKLSAgICBHU1RfUEFEX0FMV0FZ
UywKLSAgICBHU1RfU1RBVElDX0NBUFMoR1NUX0FVRElPX0NBUFNfTUFLRShHU1RfQVVESU9fTkUo
RjMyKSkpKTsKLQogR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyh3ZWJraXRfd2ViX2F1ZGlvX3Ny
Y19kZWJ1Zyk7CiAjZGVmaW5lIEdTVF9DQVRfREVGQVVMVCB3ZWJraXRfd2ViX2F1ZGlvX3NyY19k
ZWJ1ZwogCiBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJBdWRpb1NyY0NvbnN0cnVjdGVkKEdPYmplY3Qq
KTsKLXN0YXRpYyB2b2lkIHdlYktpdFdlYkF1ZGlvU3JjRmluYWxpemUoR09iamVjdCopOwogc3Rh
dGljIHZvaWQgd2ViS2l0V2ViQXVkaW9TcmNTZXRQcm9wZXJ0eShHT2JqZWN0KiwgZ3VpbnQgcHJv
cGVydHlJZCwgY29uc3QgR1ZhbHVlKiwgR1BhcmFtU3BlYyopOwogc3RhdGljIHZvaWQgd2ViS2l0
V2ViQXVkaW9TcmNHZXRQcm9wZXJ0eShHT2JqZWN0KiwgZ3VpbnQgcHJvcGVydHlJZCwgR1ZhbHVl
KiwgR1BhcmFtU3BlYyopOwogc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuIHdlYktpdFdlYkF1
ZGlvU3JjQ2hhbmdlU3RhdGUoR3N0RWxlbWVudCosIEdzdFN0YXRlQ2hhbmdlKTsKQEAgLTEzMywx
MCArMTUyLDcgQEAgc3RhdGljIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uIHdlYktpdFdlYkF1ZGlv
R1N0cmVhbWVyQ2hhbm5lbFBvc2l0aW9uKGludCBjaGFubmUKIH0KIAogI2RlZmluZSB3ZWJraXRf
d2ViX2F1ZGlvX3NyY19wYXJlbnRfY2xhc3MgcGFyZW50X2NsYXNzCi1HX0RFRklORV9UWVBFX1dJ
VEhfQ09ERShXZWJLaXRXZWJBdWRpb1NyYywgd2Via2l0X3dlYl9hdWRpb19zcmMsIEdTVF9UWVBF
X0JJTiwgR1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQod2Via2l0X3dlYl9hdWRpb19zcmNfZGVidWcs
IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2Via2l0d2ViYXVkaW9zcmMiLCBcCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ3ZWJhdWRpb3NyYyBlbGVtZW50IikpOworV0VCS0lUX0RFRklORV9UWVBFX1dJVEhfQ09E
RShXZWJLaXRXZWJBdWRpb1NyYywgd2Via2l0X3dlYl9hdWRpb19zcmMsIEdTVF9UWVBFX0JJTiwg
R1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQod2Via2l0X3dlYl9hdWRpb19zcmNfZGVidWcsICJ3ZWJr
aXR3ZWJhdWRpb3NyYyIsIDAsICJ3ZWJhdWRpb3NyYyBlbGVtZW50IikpCiAKIHN0YXRpYyB2b2lk
IHdlYmtpdF93ZWJfYXVkaW9fc3JjX2NsYXNzX2luaXQoV2ViS2l0V2ViQXVkaW9TcmNDbGFzcyog
d2ViS2l0V2ViQXVkaW9TcmNDbGFzcykKIHsKQEAgLTE0Nyw3ICsxNjMsNiBAQCBzdGF0aWMgdm9p
ZCB3ZWJraXRfd2ViX2F1ZGlvX3NyY19jbGFzc19pbml0KFdlYktpdFdlYkF1ZGlvU3JjQ2xhc3Mq
IHdlYktpdFdlYkF1ZAogICAgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YShlbGVtZW50
Q2xhc3MsICJXZWJLaXQgV2ViQXVkaW8gc291cmNlIGVsZW1lbnQiLCAiU291cmNlIiwgIkhhbmRs
ZXMgV2ViQXVkaW8gZGF0YSBmcm9tIFdlYkNvcmUiLCAiUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4iKTsKIAogICAgIG9iamVjdENsYXNzLT5jb25zdHJ1Y3RlZCA9IHdlYktp
dFdlYkF1ZGlvU3JjQ29uc3RydWN0ZWQ7Ci0gICAgb2JqZWN0Q2xhc3MtPmZpbmFsaXplID0gd2Vi
S2l0V2ViQXVkaW9TcmNGaW5hbGl6ZTsKICAgICBlbGVtZW50Q2xhc3MtPmNoYW5nZV9zdGF0ZSA9
IHdlYktpdFdlYkF1ZGlvU3JjQ2hhbmdlU3RhdGU7CiAKICAgICBvYmplY3RDbGFzcy0+c2V0X3By
b3BlcnR5ID0gd2ViS2l0V2ViQXVkaW9TcmNTZXRQcm9wZXJ0eTsKQEAgLTE3Niw0MSArMTkxLDIz
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfYXVkaW9fc3JjX2NsYXNzX2luaXQoV2ViS2l0V2Vi
QXVkaW9TcmNDbGFzcyogd2ViS2l0V2ViQXVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiTnVtYmVyIG9mIGF1ZGlvIGZyYW1lcyB0byBwdWxs
IGF0IGVhY2ggaXRlcmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDAsIEdfTUFYVUlOVDgsIDEyOCwgZmxhZ3MpKTsKIAotICAgIGdf
dHlwZV9jbGFzc19hZGRfcHJpdmF0ZSh3ZWJLaXRXZWJBdWRpb1NyY0NsYXNzLCBzaXplb2YoV2Vi
S2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
YXVkaW9fc3JjX2luaXQoV2ViS2l0V2ViQXVkaW9TcmMqIHNyYykKLXsKLSAgICBXZWJLaXRXZWJB
dWRpb1NvdXJjZVByaXZhdGUqIHByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoc3Jj
LCBXRUJLSVRfVFlQRV9XRUJfQVVESU9fU1JDLCBXZWJLaXRXZWJBdWRpb1NvdXJjZVByaXZhdGUp
OwotICAgIHNyYy0+cHJpdiA9IHByaXY7Ci0gICAgbmV3IChwcml2KSBXZWJLaXRXZWJBdWRpb1Nv
dXJjZVByaXZhdGUoKTsKLQotICAgIHByaXYtPnNvdXJjZVBhZCA9IHdlYmtpdEdzdEdob3N0UGFk
RnJvbVN0YXRpY1RlbXBsYXRlKCZzcmNUZW1wbGF0ZSwgInNyYyIsIG51bGxwdHIpOwotICAgIGdz
dF9lbGVtZW50X2FkZF9wYWQoR1NUX0VMRU1FTlQoc3JjKSwgcHJpdi0+c291cmNlUGFkKTsKLQot
ICAgIHByaXYtPnByb3ZpZGVyID0gbnVsbHB0cjsKLSAgICBwcml2LT5idXMgPSBudWxscHRyOwot
Ci0gICAgZ19yZWNfbXV0ZXhfaW5pdCgmcHJpdi0+bXV0ZXgpOwotICAgIHByaXYtPnRhc2sgPSBh
ZG9wdEdSZWYoZ3N0X3Rhc2tfbmV3KHJlaW50ZXJwcmV0X2Nhc3Q8R3N0VGFza0Z1bmN0aW9uPih3
ZWJLaXRXZWJBdWRpb1NyY0xvb3ApLCBzcmMsIG51bGxwdHIpKTsKLQotICAgIC8vIEdBUCBidWZm
ZXIgc3VwcG9ydCBpcyBlbmFibGVkIG9ubHkgZm9yIEdTdHJlYW1lciAxLjEyLjUgYmVjYXVzZSBv
ZiBhCi0gICAgLy8gbWVtb3J5IGxlYWsgdGhhdCB3YXMgZml4ZWQgaW4gdGhhdCB2ZXJzaW9uLgot
ICAgIC8vIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMwNjcK
LSAgICBwcml2LT5lbmFibGVHYXBCdWZmZXJTdXBwb3J0ID0gd2Via2l0R3N0Q2hlY2tWZXJzaW9u
KDEsIDEyLCA1KTsKLQotICAgIGdzdF90YXNrX3NldF9sb2NrKHByaXYtPnRhc2suZ2V0KCksICZw
cml2LT5tdXRleCk7CisgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKHdlYktpdFdlYkF1ZGlv
U3JjQ2xhc3MsIHNpemVvZihXZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGUpKTsKIH0KIAogc3RhdGlj
IHZvaWQgd2ViS2l0V2ViQXVkaW9TcmNDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiB7CiAg
ICAgV2ViS2l0V2ViQXVkaW9TcmMqIHNyYyA9IFdFQktJVF9XRUJfQVVESU9fU1JDKG9iamVjdCk7
Ci0gICAgV2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlKiBwcml2ID0gc3JjLT5wcml2OworICAg
IFdlYktpdFdlYkF1ZGlvU3JjUHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsKIAogICAgIEFTU0VS
VChwcml2LT5idXMpOwogICAgIEFTU0VSVChwcml2LT5wcm92aWRlcik7CiAgICAgQVNTRVJUKHBy
aXYtPnNhbXBsZVJhdGUpOwogCisgICAgZ3N0X2VsZW1lbnRfYWRkX3BhZChHU1RfRUxFTUVOVChz
cmMpLCBwcml2LT5zb3VyY2VQYWQpOworCisgICAgcHJpdi0+dGFzayA9IGFkb3B0R1JlZihnc3Rf
dGFza19uZXcocmVpbnRlcnByZXRfY2FzdDxHc3RUYXNrRnVuY3Rpb24+KHdlYktpdFdlYkF1ZGlv
U3JjTG9vcCksIHNyYywgbnVsbHB0cikpOworICAgIGdzdF90YXNrX3NldF9sb2NrKHByaXYtPnRh
c2suZ2V0KCksICZwcml2LT5tdXRleCk7CisKICAgICBwcml2LT5pbnRlcmxlYXZlID0gZ3N0X2Vs
ZW1lbnRfZmFjdG9yeV9tYWtlKCJhdWRpb2ludGVybGVhdmUiLCBudWxscHRyKTsKIAogICAgIGlm
ICghcHJpdi0+aW50ZXJsZWF2ZSkgewpAQCAtMjQ4LDIxICsyNDUsMTAgQEAgc3RhdGljIHZvaWQg
d2ViS2l0V2ViQXVkaW9TcmNDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiAgICAgZ3N0X2do
b3N0X3BhZF9zZXRfdGFyZ2V0KEdTVF9HSE9TVF9QQUQocHJpdi0+c291cmNlUGFkKSwgdGFyZ2V0
UGFkLmdldCgpKTsKIH0KIAotc3RhdGljIHZvaWQgd2ViS2l0V2ViQXVkaW9TcmNGaW5hbGl6ZShH
T2JqZWN0KiBvYmplY3QpCi17Ci0gICAgV2ViS2l0V2ViQXVkaW9TcmMqIHNyYyA9IFdFQktJVF9X
RUJfQVVESU9fU1JDKG9iamVjdCk7Ci0gICAgV2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlKiBw
cml2ID0gc3JjLT5wcml2OwotCi0gICAgZ19yZWNfbXV0ZXhfY2xlYXIoJnByaXYtPm11dGV4KTsK
LQotICAgIHByaXYtPn5XZWJLaXRXZWJBdWRpb1NvdXJjZVByaXZhdGUoKTsKLSAgICBHU1RfQ0FM
TF9QQVJFTlQoR19PQkpFQ1RfQ0xBU1MsIGZpbmFsaXplLCAoKEdPYmplY3QqICkoc3JjKSkpOwot
fQotCiBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJBdWRpb1NyY1NldFByb3BlcnR5KEdPYmplY3QqIG9i
amVjdCwgZ3VpbnQgcHJvcGVydHlJZCwgY29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyog
cHNwZWMpCiB7CiAgICAgV2ViS2l0V2ViQXVkaW9TcmMqIHNyYyA9IFdFQktJVF9XRUJfQVVESU9f
U1JDKG9iamVjdCk7Ci0gICAgV2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlKiBwcml2ID0gc3Jj
LT5wcml2OworICAgIFdlYktpdFdlYkF1ZGlvU3JjUHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsK
IAogICAgIHN3aXRjaCAocHJvcGVydHlJZCkgewogICAgIGNhc2UgUFJPUF9SQVRFOgpAQCAtMjg3
LDcgKzI3Myw3IEBAIHN0YXRpYyB2b2lkIHdlYktpdFdlYkF1ZGlvU3JjU2V0UHJvcGVydHkoR09i
amVjdCogb2JqZWN0LCBndWludCBwcm9wZXJ0eUlkLCBjb25zCiBzdGF0aWMgdm9pZCB3ZWJLaXRX
ZWJBdWRpb1NyY0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcGVydHlJZCwg
R1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpCiB7CiAgICAgV2ViS2l0V2ViQXVkaW9T
cmMqIHNyYyA9IFdFQktJVF9XRUJfQVVESU9fU1JDKG9iamVjdCk7Ci0gICAgV2ViS2l0V2ViQXVk
aW9Tb3VyY2VQcml2YXRlKiBwcml2ID0gc3JjLT5wcml2OworICAgIFdlYktpdFdlYkF1ZGlvU3Jj
UHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsKIAogICAgIHN3aXRjaCAocHJvcGVydHlJZCkgewog
ICAgIGNhc2UgUFJPUF9SQVRFOgpAQCAtMzEwLDcgKzI5Niw3IEBAIHN0YXRpYyB2b2lkIHdlYktp
dFdlYkF1ZGlvU3JjR2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wZXJ0eUlk
LCBHVmFsCiAKIHN0YXRpYyBPcHRpb25hbDxWZWN0b3I8R1JlZlB0cjxHc3RCdWZmZXI+Pj4gd2Vi
S2l0V2ViQXVkaW9TcmNBbGxvY2F0ZUJ1ZmZlcnNBbmRSZW5kZXJBdWRpbyhXZWJLaXRXZWJBdWRp
b1NyYyogc3JjKQogewotICAgIFdlYktpdFdlYkF1ZGlvU291cmNlUHJpdmF0ZSogcHJpdiA9IHNy
Yy0+cHJpdjsKKyAgICBXZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGUqIHByaXYgPSBzcmMtPnByaXY7
CiAKICAgICBBU1NFUlQocHJpdi0+YnVzKTsKICAgICBBU1NFUlQocHJpdi0+cHJvdmlkZXIpOwpA
QCAtMzY1LDcgKzM1MSw3IEBAIHN0YXRpYyBPcHRpb25hbDxWZWN0b3I8R1JlZlB0cjxHc3RCdWZm
ZXI+Pj4gd2ViS2l0V2ViQXVkaW9TcmNBbGxvY2F0ZUJ1ZmZlcnNBbmRSCiAKIHN0YXRpYyB2b2lk
IHdlYktpdFdlYkF1ZGlvU3JjTG9vcChXZWJLaXRXZWJBdWRpb1NyYyogc3JjKQogewotICAgIFdl
YktpdFdlYkF1ZGlvU291cmNlUHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsKKyAgICBXZWJLaXRX
ZWJBdWRpb1NyY1ByaXZhdGUqIHByaXYgPSBzcmMtPnByaXY7CiAKICAgICBPcHRpb25hbDxWZWN0
b3I8R1JlZlB0cjxHc3RCdWZmZXI+Pj4gY2hhbm5lbEJ1ZmZlckxpc3QgPSB3ZWJLaXRXZWJBdWRp
b1NyY0FsbG9jYXRlQnVmZmVyc0FuZFJlbmRlckF1ZGlvKHNyYyk7CiAgICAgaWYgKCFjaGFubmVs
QnVmZmVyTGlzdCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCBjODkz
YjQ3M2IzMzEwZWU1MDIwNzE3YjE4MjA3M2M1NTEwYWY1MWRjLi5hYWI4NTAxNzVjNjUwODM4MmE1
MGUxNDQ5MDQwYTQ5NWMxMDFmNjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNw
cApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGdzdC92aWRlby9nc3R2aWRlb21ldGEuaD4K
ICNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KKyNp
bmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IApAQCAtMTM4LDE0ICsxMzksMTEgQEAgc3RydWN0IF9XZWJLaXRWaWRlb1NpbmtQcml2YXRlIHsK
IH07CiAKICNkZWZpbmUgd2Via2l0X3ZpZGVvX3NpbmtfcGFyZW50X2NsYXNzIHBhcmVudF9jbGFz
cwotR19ERUZJTkVfVFlQRV9XSVRIX0NPREUoV2ViS2l0VmlkZW9TaW5rLCB3ZWJraXRfdmlkZW9f
c2luaywgR1NUX1RZUEVfVklERU9fU0lOSywgR1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQod2Via2l0
VmlkZW9TaW5rRGVidWcsICJ3ZWJraXRzaW5rIiwgMCwgIndlYmtpdCB2aWRlbyBzaW5rIikpOwor
V0VCS0lUX0RFRklORV9UWVBFX1dJVEhfQ09ERShXZWJLaXRWaWRlb1NpbmssIHdlYmtpdF92aWRl
b19zaW5rLCBHU1RfVFlQRV9WSURFT19TSU5LLCBHU1RfREVCVUdfQ0FURUdPUllfSU5JVCh3ZWJr
aXRWaWRlb1NpbmtEZWJ1ZywgIndlYmtpdHNpbmsiLCAwLCAid2Via2l0IHZpZGVvIHNpbmsiKSkK
IAotCi1zdGF0aWMgdm9pZCB3ZWJraXRfdmlkZW9fc2lua19pbml0KFdlYktpdFZpZGVvU2luayog
c2luaykKK3N0YXRpYyB2b2lkIHdlYmtpdFZpZGVvU2lua0NvbnN0cnVjdGVkKEdPYmplY3QqIG9i
amVjdCkKIHsKLSAgICBzaW5rLT5wcml2ID0gR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKHNp
bmssIFdFQktJVF9UWVBFX1ZJREVPX1NJTkssIFdlYktpdFZpZGVvU2lua1ByaXZhdGUpOwotICAg
IGdfb2JqZWN0X3NldChHU1RfQkFTRV9TSU5LKHNpbmspLCAiZW5hYmxlLWxhc3Qtc2FtcGxlIiwg
RkFMU0UsIG51bGxwdHIpOwotICAgIG5ldyAoc2luay0+cHJpdikgV2ViS2l0VmlkZW9TaW5rUHJp
dmF0ZSgpOworICAgIGdfb2JqZWN0X3NldChHU1RfQkFTRV9TSU5LKG9iamVjdCksICJlbmFibGUt
bGFzdC1zYW1wbGUiLCBGQUxTRSwgbnVsbHB0cik7CiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtpdFZp
ZGVvU2lua1JlcGFpbnRSZXF1ZXN0ZWQoV2ViS2l0VmlkZW9TaW5rKiBzaW5rLCBHc3RTYW1wbGUq
IHNhbXBsZSkKQEAgLTE3NywxMiArMTc1LDYgQEAgc3RhdGljIEdzdEZsb3dSZXR1cm4gd2Via2l0
VmlkZW9TaW5rUmVuZGVyKEdzdEJhc2VTaW5rKiBiYXNlU2luaywgR3N0QnVmZmVyKiBidWYKICAg
ICByZXR1cm4gc2luay0+cHJpdi0+c2NoZWR1bGVyLnJlcXVlc3RSZW5kZXIoc2luaywgYnVmZmVy
KSA/IEdTVF9GTE9XX09LIDogR1NUX0ZMT1dfRVJST1I7CiB9CiAKLXN0YXRpYyB2b2lkIHdlYmtp
dFZpZGVvU2lua0ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKLXsKLSAgICBXRUJLSVRfVklERU9f
U0lOSyhvYmplY3QpLT5wcml2LT5+V2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSgpOwotICAgIEdfT0JK
RUNUX0NMQVNTKHBhcmVudF9jbGFzcyktPmZpbmFsaXplKG9iamVjdCk7Ci19Ci0KIHN0YXRpYyBn
Ym9vbGVhbiB3ZWJraXRWaWRlb1NpbmtVbmxvY2soR3N0QmFzZVNpbmsqIGJhc2VTaW5rKQogewog
ICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfVklERU9fU0lOSyhiYXNl
U2luayktPnByaXY7CkBAIC0yODcsNyArMjc5LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3ZpZGVv
X3NpbmtfY2xhc3NfaW5pdChXZWJLaXRWaWRlb1NpbmtDbGFzcyoga2xhc3MpCiAKICAgICBnX3R5
cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRWaWRlb1NpbmtQcml2YXRl
KSk7CiAKLSAgICBnb2JqZWN0Q2xhc3MtPmZpbmFsaXplID0gd2Via2l0VmlkZW9TaW5rRmluYWxp
emU7CisgICAgZ29iamVjdENsYXNzLT5jb25zdHJ1Y3RlZCA9IHdlYmtpdFZpZGVvU2lua0NvbnN0
cnVjdGVkOwogCiAgICAgYmFzZVNpbmtDbGFzcy0+dW5sb2NrID0gd2Via2l0VmlkZW9TaW5rVW5s
b2NrOwogICAgIGJhc2VTaW5rQ2xhc3MtPnVubG9ja19zdG9wID0gd2Via2l0VmlkZW9TaW5rVW5s
b2NrU3RvcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9lbWUvV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURl
Y3J5cHRvckdTdHJlYW1lci5jcHAKaW5kZXggYWMzOTZmMDgxYmFjMjI2YWRmNjM3OTA2OWVmODQ4
NzBhMzA4ZmE4Yy4uMTU5YjJhMTRlMTk1NmQ2Mjg1OWVkNTZhMWJlNDgxOGRmMWJmYjBjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9X
ZWJLaXRDbGVhcktleURlY3J5cHRvckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURlY3J5cHRvckdT
dHJlYW1lci5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxnY3J5cHQuaD4KICNpbmNs
dWRlIDxnc3QvYmFzZS9nc3RieXRlcmVhZGVyLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4K
KyNpbmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIApAQCAtNDEsNyArNDIsNiBAQCBzdHJ1Y3QgX1dlYktpdE1lZGlhQ2xlYXJLZXlEZWNyeXB0
UHJpdmF0ZSB7CiAgICAgUmVmUHRyPENETVByb3h5Q2xlYXJLZXk+IGNkbVByb3h5OwogfTsKIAot
c3RhdGljIHZvaWQgZmluYWxpemUoR09iamVjdCopOwogc3RhdGljIGNvbnN0IGNoYXIqIHByb3Rl
Y3Rpb25TeXN0ZW1JZChXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0Kik7CiBzdGF0
aWMgYm9vbCBjZG1Qcm94eUF0dGFjaGVkKFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5
cHQqIHNlbGYsIGNvbnN0IFJlZlB0cjxDRE1Qcm94eT4mKTsKIHN0YXRpYyBib29sIGRlY3J5cHQo
V2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdCosIEdzdEJ1ZmZlciogaXYsIEdzdEJ1
ZmZlcioga2V5aWQsIEdzdEJ1ZmZlciogc2FtcGxlLCB1bnNpZ25lZCBzdWJTYW1wbGVzQ291bnQs
IEdzdEJ1ZmZlciogc3ViU2FtcGxlcyk7CkBAIC02MywxMyArNjMsMTAgQEAgc3RhdGljIEdzdFN0
YXRpY1BhZFRlbXBsYXRlIHNyY1RlbXBsYXRlID0gR1NUX1NUQVRJQ19QQURfVEVNUExBVEUoInNy
YyIsCiAgICAgR1NUX1NUQVRJQ19DQVBTKCJ2aWRlby94LWgyNjQ7IGF1ZGlvL21wZWc7IHZpZGVv
L3gtdnA4OyB2aWRlby94LXZwOSIpKTsKIAogI2RlZmluZSB3ZWJraXRfbWVkaWFfY2xlYXJfa2V5
X2RlY3J5cHRfcGFyZW50X2NsYXNzIHBhcmVudF9jbGFzcwotR19ERUZJTkVfVFlQRShXZWJLaXRN
ZWRpYUNsZWFyS2V5RGVjcnlwdCwgd2Via2l0X21lZGlhX2NsZWFyX2tleV9kZWNyeXB0LCBXRUJL
SVRfVFlQRV9NRURJQV9DRU5DX0RFQ1JZUFQpOworV0VCS0lUX0RFRklORV9UWVBFKFdlYktpdE1l
ZGlhQ2xlYXJLZXlEZWNyeXB0LCB3ZWJraXRfbWVkaWFfY2xlYXJfa2V5X2RlY3J5cHQsIFdFQktJ
VF9UWVBFX01FRElBX0NFTkNfREVDUllQVCk7CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9tZWRpYV9j
bGVhcl9rZXlfZGVjcnlwdF9jbGFzc19pbml0KFdlYktpdE1lZGlhQ2xlYXJLZXlEZWNyeXB0Q2xh
c3MqIGtsYXNzKQogewotICAgIEdPYmplY3RDbGFzcyogZ29iamVjdENsYXNzID0gR19PQkpFQ1Rf
Q0xBU1Moa2xhc3MpOwotICAgIGdvYmplY3RDbGFzcy0+ZmluYWxpemUgPSBmaW5hbGl6ZTsKLQog
ICAgIEdzdEVsZW1lbnRDbGFzcyogZWxlbWVudENsYXNzID0gR1NUX0VMRU1FTlRfQ0xBU1Moa2xh
c3MpOwogICAgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoZWxlbWVudENsYXNz
LCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoJnNpbmtUZW1wbGF0ZSkpOwogICAgIGdzdF9l
bGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoZWxlbWVudENsYXNzLCBnc3Rfc3RhdGljX3Bh
ZF90ZW1wbGF0ZV9nZXQoJnNyY1RlbXBsYXRlKSk7CkBAIC05MSwyMiArODgsNiBAQCBzdGF0aWMg
dm9pZCB3ZWJraXRfbWVkaWFfY2xlYXJfa2V5X2RlY3J5cHRfY2xhc3NfaW5pdChXZWJLaXRNZWRp
YUNsZWFyS2V5RGVjcnlwdAogICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZShrbGFzcywgc2l6
ZW9mKFdlYktpdE1lZGlhQ2xlYXJLZXlEZWNyeXB0UHJpdmF0ZSkpOwogfQogCi1zdGF0aWMgdm9p
ZCB3ZWJraXRfbWVkaWFfY2xlYXJfa2V5X2RlY3J5cHRfaW5pdChXZWJLaXRNZWRpYUNsZWFyS2V5
RGVjcnlwdCogc2VsZikKLXsKLSAgICBXZWJLaXRNZWRpYUNsZWFyS2V5RGVjcnlwdFByaXZhdGUq
IHByaXYgPSBXRUJLSVRfTUVESUFfQ0tfREVDUllQVF9HRVRfUFJJVkFURShzZWxmKTsKLSAgICBz
ZWxmLT5wcml2ID0gcHJpdjsKLSAgICBuZXcgKHByaXYpIFdlYktpdE1lZGlhQ2xlYXJLZXlEZWNy
eXB0UHJpdmF0ZSgpOwotfQotCi1zdGF0aWMgdm9pZCBmaW5hbGl6ZShHT2JqZWN0KiBvYmplY3Qp
Ci17Ci0gICAgV2ViS2l0TWVkaWFDbGVhcktleURlY3J5cHQqIHNlbGYgPSBXRUJLSVRfTUVESUFf
Q0tfREVDUllQVChvYmplY3QpOwotICAgIFdlYktpdE1lZGlhQ2xlYXJLZXlEZWNyeXB0UHJpdmF0
ZSogcHJpdiA9IHNlbGYtPnByaXY7Ci0gICAgcHJpdi0+fldlYktpdE1lZGlhQ2xlYXJLZXlEZWNy
eXB0UHJpdmF0ZSgpOwotCi0gICAgR1NUX0NBTExfUEFSRU5UKEdfT0JKRUNUX0NMQVNTLCBmaW5h
bGl6ZSwgKG9iamVjdCkpOwotfQotCiBzdGF0aWMgY29uc3QgY2hhciogcHJvdGVjdGlvblN5c3Rl
bUlkKFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHQqKQogewogICAgIHJldHVybiBH
U3RyZWFtZXJFTUVVdGlsaXRpZXM6OnNfQ2xlYXJLZXlVVUlEOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNy
eXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJl
YW1lci5jcHAKaW5kZXggMTVlMTNhYmZiYWQ0YzFlYjU0ZTMwMTcwYjQ3ZDE4NGZjNTVkOTZhNC4u
NWEwYTdhNDk2MWQ2MDc3YzUzZjgxYzg1YTI3Njc3OWNiMWU4ZjY1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25F
bmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0
b3JHU3RyZWFtZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL1ByaW50U3Ry
ZWFtLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvU2NvcGUuaD4K
KyNpbmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCiB1c2luZyBXZWJDb3JlOjpDRE1Qcm94
eTsKIApAQCAtNDYsOCArNDcsOCBAQCBzdHJ1Y3QgX1dlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlv
bkRlY3J5cHRQcml2YXRlIHsKIAogc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIE1heFNlY29uZHNU
b1dhaXRGb3JDRE1Qcm94eSA9IDVfczsKIAorc3RhdGljIHZvaWQgY29uc3RydWN0ZWQoR09iamVj
dCopOwogc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuIGNoYW5nZVN0YXRlKEdzdEVsZW1lbnQq
LCBHc3RTdGF0ZUNoYW5nZSB0cmFuc2l0aW9uKTsKLXN0YXRpYyB2b2lkIGZpbmFsaXplKEdPYmpl
Y3QqKTsKIHN0YXRpYyBHc3RDYXBzKiB0cmFuc2Zvcm1DYXBzKEdzdEJhc2VUcmFuc2Zvcm0qLCBH
c3RQYWREaXJlY3Rpb24sIEdzdENhcHMqLCBHc3RDYXBzKik7CiBzdGF0aWMgR3N0Rmxvd1JldHVy
biB0cmFuc2Zvcm1JblBsYWNlKEdzdEJhc2VUcmFuc2Zvcm0qLCBHc3RCdWZmZXIqKTsKIHN0YXRp
YyBnYm9vbGVhbiBzaW5rRXZlbnRIYW5kbGVyKEdzdEJhc2VUcmFuc2Zvcm0qLCBHc3RFdmVudCop
OwpAQCAtNTcsMTIgKzU4LDEyIEBAIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMod2Via2l0X21l
ZGlhX2NvbW1vbl9lbmNyeXB0aW9uX2RlY3J5cHRfZGVidWdfY2F0ZWdvcnkpCiAjZGVmaW5lIEdT
VF9DQVRfREVGQVVMVCB3ZWJraXRfbWVkaWFfY29tbW9uX2VuY3J5cHRpb25fZGVjcnlwdF9kZWJ1
Z19jYXRlZ29yeQogCiAjZGVmaW5lIHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNy
eXB0X3BhcmVudF9jbGFzcyBwYXJlbnRfY2xhc3MKLUdfREVGSU5FX1RZUEUoV2ViS2l0TWVkaWFD
b21tb25FbmNyeXB0aW9uRGVjcnlwdCwgd2Via2l0X21lZGlhX2NvbW1vbl9lbmNyeXB0aW9uX2Rl
Y3J5cHQsIEdTVF9UWVBFX0JBU0VfVFJBTlNGT1JNKTsKK1dFQktJVF9ERUZJTkVfVFlQRShXZWJL
aXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0LCB3ZWJraXRfbWVkaWFfY29tbW9uX2VuY3J5
cHRpb25fZGVjcnlwdCwgR1NUX1RZUEVfQkFTRV9UUkFOU0ZPUk0pOwogCiBzdGF0aWMgdm9pZCB3
ZWJraXRfbWVkaWFfY29tbW9uX2VuY3J5cHRpb25fZGVjcnlwdF9jbGFzc19pbml0KFdlYktpdE1l
ZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRDbGFzcyoga2xhc3MpCiB7CiAgICAgR09iamVjdENs
YXNzKiBnb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9DTEFTUyhrbGFzcyk7Ci0gICAgZ29iamVjdENs
YXNzLT5maW5hbGl6ZSA9IGZpbmFsaXplOworICAgIGdvYmplY3RDbGFzcy0+Y29uc3RydWN0ZWQg
PSBjb25zdHJ1Y3RlZDsKIAogICAgIEdTVF9ERUJVR19DQVRFR09SWV9JTklUKHdlYmtpdF9tZWRp
YV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2RlYnVnX2NhdGVnb3J5LAogICAgICAgICAid2Vi
a2l0Y2VuYyIsIDAsICJDb21tb24gRW5jcnlwdGlvbiBiYXNlIGNsYXNzIik7CkBAIC04MCwyOCAr
ODEsMTUgQEAgc3RhdGljIHZvaWQgd2Via2l0X21lZGlhX2NvbW1vbl9lbmNyeXB0aW9uX2RlY3J5
cHRfY2xhc3NfaW5pdChXZWJLaXRNZWRpYUNvbW1vbkUKICAgICBnX3R5cGVfY2xhc3NfYWRkX3By
aXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0UHJp
dmF0ZSkpOwogfQogCi1zdGF0aWMgdm9pZCB3ZWJraXRfbWVkaWFfY29tbW9uX2VuY3J5cHRpb25f
ZGVjcnlwdF9pbml0KFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHQqIHNlbGYpCitz
dGF0aWMgdm9pZCBjb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiB7Ci0gICAgV2ViS2l0TWVk
aWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdFByaXZhdGUqIHByaXYgPSBXRUJLSVRfTUVESUFfQ0VO
Q19ERUNSWVBUX0dFVF9QUklWQVRFKHNlbGYpOwotCi0gICAgc2VsZi0+cHJpdiA9IHByaXY7Ci0g
ICAgbmV3IChwcml2KSBXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0UHJpdmF0ZSgp
OworICAgIEdzdEJhc2VUcmFuc2Zvcm0qIGJhc2UgPSBHU1RfQkFTRV9UUkFOU0ZPUk0ob2JqZWN0
KTsKIAotICAgIEdzdEJhc2VUcmFuc2Zvcm0qIGJhc2UgPSBHU1RfQkFTRV9UUkFOU0ZPUk0oc2Vs
Zik7CiAgICAgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9pbl9wbGFjZShiYXNlLCBUUlVFKTsKICAg
ICBnc3RfYmFzZV90cmFuc2Zvcm1fc2V0X3Bhc3N0aHJvdWdoKGJhc2UsIEZBTFNFKTsKICAgICBn
c3RfYmFzZV90cmFuc2Zvcm1fc2V0X2dhcF9hd2FyZShiYXNlLCBGQUxTRSk7CiB9CiAKLXN0YXRp
YyB2b2lkIGZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKLXsKLSAgICBXZWJLaXRNZWRpYUNvbW1v
bkVuY3J5cHRpb25EZWNyeXB0KiBzZWxmID0gV0VCS0lUX01FRElBX0NFTkNfREVDUllQVChvYmpl
Y3QpOwotICAgIFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRQcml2YXRlKiBwcml2
ID0gc2VsZi0+cHJpdjsKLQotICAgIHByaXYtPn5XZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25E
ZWNyeXB0UHJpdmF0ZSgpOwotICAgIEdTVF9DQUxMX1BBUkVOVChHX09CSkVDVF9DTEFTUywgZmlu
YWxpemUsIChvYmplY3QpKTsKLX0KLQogc3RhdGljIEdzdENhcHMqIHRyYW5zZm9ybUNhcHMoR3N0
QmFzZVRyYW5zZm9ybSogYmFzZSwgR3N0UGFkRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3N0Q2Fwcyog
Y2FwcywgR3N0Q2FwcyogZmlsdGVyKQogewogICAgIGlmIChkaXJlY3Rpb24gPT0gR1NUX1BBRF9V
TktOT1dOKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL2VtZS9XZWJLaXRUaHVuZGVyRGVjcnlwdG9yR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0VGh1bmRlckRlY3J5
cHRvckdTdHJlYW1lci5jcHAKaW5kZXggMmU5YWZmYjIyYmQzZDQ1MzkzMzNiYjJlZjBiYjczNDRh
OGNhNTFmNC4uMWU0OWUxNDIyNTFhMzAyMjY0ZGM0ZDZlMTA0YTRlNGQ4MzEwODc0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJL
aXRUaHVuZGVyRGVjcnlwdG9yR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdFRodW5kZXJEZWNyeXB0b3JHU3RyZWFt
ZXIuY3BwCkBAIC0zMCwxNSArMzAsMTQgQEAKICNpbmNsdWRlIDxnY3J5cHQuaD4KICNpbmNsdWRl
IDxnc3QvYmFzZS9nc3RieXRlcmVhZGVyLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KKyNp
bmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAotI2RlZmluZSBXRUJLSVRfTUVESUFfVEhVTkRFUl9ERUNSWVBUX0dFVF9QUklWQVRFKG9iaikg
KEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfTUVESUFfVEhV
TkRFUl9ERUNSWVBULCBXZWJLaXRNZWRpYVRodW5kZXJEZWNyeXB0UHJpdmF0ZSkpCiBzdHJ1Y3Qg
X1dlYktpdE1lZGlhVGh1bmRlckRlY3J5cHRQcml2YXRlIHsKICAgICBSZWZQdHI8Q0RNUHJveHlU
aHVuZGVyPiBjZG1Qcm94eTsKIH07CiAKLXN0YXRpYyB2b2lkIGZpbmFsaXplKEdPYmplY3QqKTsK
IHN0YXRpYyBjb25zdCBjaGFyKiBwcm90ZWN0aW9uU3lzdGVtSWQoV2ViS2l0TWVkaWFDb21tb25F
bmNyeXB0aW9uRGVjcnlwdCopOwogc3RhdGljIGJvb2wgY2RtUHJveHlBdHRhY2hlZChXZWJLaXRN
ZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0KiwgY29uc3QgUmVmUHRyPENETVByb3h5PiYpOwog
c3RhdGljIGJvb2wgZGVjcnlwdChXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0Kiwg
R3N0QnVmZmVyKiBpdiwgR3N0QnVmZmVyKiBrZXlpZCwgR3N0QnVmZmVyKiBzYW1wbGUsIHVuc2ln
bmVkIHN1YlNhbXBsZXNDb3VudCwKQEAgLTYzLDcgKzYyLDcgQEAgc3RhdGljIEdzdFN0YXRpY1Bh
ZFRlbXBsYXRlIHNyY1RlbXBsYXRlID0gR1NUX1NUQVRJQ19QQURfVEVNUExBVEUoInNyYyIsCiAg
ICAgICAgICJ2aWRlby94LXZwOTsgIikpOwogCiAjZGVmaW5lIHdlYmtpdF9tZWRpYV90aHVuZGVy
X2RlY3J5cHRfcGFyZW50X2NsYXNzIHBhcmVudF9jbGFzcwotR19ERUZJTkVfVFlQRShXZWJLaXRN
ZWRpYVRodW5kZXJEZWNyeXB0LCB3ZWJraXRfbWVkaWFfdGh1bmRlcl9kZWNyeXB0LCBXRUJLSVRf
VFlQRV9NRURJQV9DRU5DX0RFQ1JZUFQpOworV0VCS0lUX0RFRklORV9UWVBFKFdlYktpdE1lZGlh
VGh1bmRlckRlY3J5cHQsIHdlYmtpdF9tZWRpYV90aHVuZGVyX2RlY3J5cHQsIFdFQktJVF9UWVBF
X01FRElBX0NFTkNfREVDUllQVCk7CiAKIHN0YXRpYyBHUmVmUHRyPEdzdENhcHM+IGNyZWF0ZVNp
bmtQYWRUZW1wbGF0ZUNhcHMoKQogewpAQCAtOTIsOSArOTEsNiBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfbWVkaWFfdGh1bmRlcl9kZWNyeXB0X2NsYXNzX2luaXQoV2ViS2l0TWVkaWFUaHVuZGVyRGVj
cnlwdENsYQogewogICAgIEdTVF9ERUJVR19DQVRFR09SWV9JTklUKHdlYmtpdE1lZGlhVGh1bmRl
ckRlY3J5cHREZWJ1Z0NhdGVnb3J5LCAid2Via2l0dGh1bmRlciIsIDAsICJUaHVuZGVyIGRlY3J5
cHQiKTsKIAotICAgIEdPYmplY3RDbGFzcyogZ29iamVjdENsYXNzID0gR19PQkpFQ1RfQ0xBU1Mo
a2xhc3MpOwotICAgIGdvYmplY3RDbGFzcy0+ZmluYWxpemUgPSBmaW5hbGl6ZTsKLQogICAgIEdz
dEVsZW1lbnRDbGFzcyogZWxlbWVudENsYXNzID0gR1NUX0VMRU1FTlRfQ0xBU1Moa2xhc3MpOwog
ICAgIEdSZWZQdHI8R3N0Q2Fwcz4gZ3N0U2lua1BhZFRlbXBsYXRlQ2FwcyA9IGNyZWF0ZVNpbmtQ
YWRUZW1wbGF0ZUNhcHMoKTsKICAgICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRl
KGVsZW1lbnRDbGFzcywgZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoInNpbmsiLCBHU1RfUEFEX1NJTkss
IEdTVF9QQURfQUxXQVlTLCBnc3RTaW5rUGFkVGVtcGxhdGVDYXBzLmdldCgpKSk7CkBAIC0xMTEs
MjIgKzEwNyw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9tZWRpYV90aHVuZGVyX2RlY3J5cHRfY2xh
c3NfaW5pdChXZWJLaXRNZWRpYVRodW5kZXJEZWNyeXB0Q2xhCiAgICAgZ190eXBlX2NsYXNzX2Fk
ZF9wcml2YXRlKGtsYXNzLCBzaXplb2YoV2ViS2l0TWVkaWFUaHVuZGVyRGVjcnlwdFByaXZhdGUp
KTsKIH0KIAotc3RhdGljIHZvaWQgd2Via2l0X21lZGlhX3RodW5kZXJfZGVjcnlwdF9pbml0KFdl
YktpdE1lZGlhVGh1bmRlckRlY3J5cHQqIHNlbGYpCi17Ci0gICAgV2ViS2l0TWVkaWFUaHVuZGVy
RGVjcnlwdFByaXZhdGUqIHByaXYgPSBXRUJLSVRfTUVESUFfVEhVTkRFUl9ERUNSWVBUX0dFVF9Q
UklWQVRFKHNlbGYpOwotICAgIHNlbGYtPnByaXYgPSBwcml2OwotICAgIG5ldyAocHJpdikgV2Vi
S2l0TWVkaWFUaHVuZGVyRGVjcnlwdFByaXZhdGUoKTsKLX0KLQotc3RhdGljIHZvaWQgZmluYWxp
emUoR09iamVjdCogb2JqZWN0KQotewotICAgIFdlYktpdE1lZGlhVGh1bmRlckRlY3J5cHQqIHNl
bGYgPSBXRUJLSVRfTUVESUFfVEhVTkRFUl9ERUNSWVBUKG9iamVjdCk7Ci0gICAgV2ViS2l0TWVk
aWFUaHVuZGVyRGVjcnlwdFByaXZhdGUqIHByaXYgPSBzZWxmLT5wcml2OwotICAgIHByaXYtPn5X
ZWJLaXRNZWRpYVRodW5kZXJEZWNyeXB0UHJpdmF0ZSgpOwotCi0gICAgR1NUX0NBTExfUEFSRU5U
KEdfT0JKRUNUX0NMQVNTLCBmaW5hbGl6ZSwgKG9iamVjdCkpOwotfQotCiBzdGF0aWMgY29uc3Qg
Y2hhciogcHJvdGVjdGlvblN5c3RlbUlkKFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5
cHQqIHNlbGYpCiB7CiAgICAgV2ViS2l0TWVkaWFUaHVuZGVyRGVjcnlwdFByaXZhdGUqIHByaXYg
PSBXRUJLSVRfTUVESUFfVEhVTkRFUl9ERUNSWVBUX0dFVF9QUklWQVRFKFdFQktJVF9NRURJQV9U
SFVOREVSX0RFQ1JZUFQoc2VsZikpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408170</attachid>
            <date>2020-09-07 02:42:14 -0700</date>
            <delta_ts>2020-09-08 03:19:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204673-20200907114213.patch</filename>
            <type>text/plain</type>
            <size>22766</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Njk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY1YTJhNTc0ZTAyZGU3
ZWM3NWYxYjdlYzRlYTFkOWRmNTlhMmEzNi4uMDMzY2EwMDRmYjMzNDkwNjc1Njc5NTcyOTczZjBl
ZDJjODRjNGQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTA5LTA0ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dTdHJlYW1lcl0gQ29udmVydCBjdXN0b20gR09iamVjdCBzdWJjbGFzc2VzIHRvIFdFQktJVF9E
RUZJTkVfVFlQRQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA0NjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW5zdGVhZCBvZiB1c2luZyBHX0RFRklORV9UWVBFIG1hY3JvIHVzZSByYXRoZXIgV0VCS0lU
X0RFRklORV9UWVBFCisgICAgICAgIHNpbmNlIGl0IGhhbmRsZXMgcHJpdmF0ZSBzdHJ1Y3R1cmVz
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBubyBmdW5jdGlvbmFsIGNoYW5nZXMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VH
U3RyZWFtZXIuY3BwOgorICAgICAgICBSZW5hbWVkIHRoZSBwcml2YXRlIHN0cnVjdHVyZSB0byBt
YXRjaCB3aXRoIGNsYXNzIG5hbWUgc28gaXQgY2FuCisgICAgICAgIGJlIGF1dG9nZW5ldGVyYXRl
ZCBieSB0aGUgbWFjcm8uCisgICAgICAgIChfV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRlOjpfV2Vi
S2l0V2ViQXVkaW9TcmNQcml2YXRlKTogYWRkCisgICAgICAgIGNvbnN0cnVjdHVyZS4KKyAgICAg
ICAgKF9XZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGU6On5fV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRl
KTogYWRkCisgICAgICAgIGRlc3RydWN0b3IuCisgICAgICAgICh3ZWJraXRfd2ViX2F1ZGlvX3Ny
Y19jbGFzc19pbml0KTogcmVtb3ZlIGR1cGxpY2F0ZWQKKyAgICAgICAgaW5pdGlhbGl6YXRpb24u
CisgICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY0NvbnN0cnVjdGVkKTogYWRkIGNvbnN0cnVjdGVk
IHZtZXRob2QgdG8KKyAgICAgICAgaW5pdGFsaXplIHNvbWUgcHJpdmF0ZSBtZW1iZXJzLgorICAg
ICAgICAod2ViS2l0V2ViQXVkaW9TcmNTZXRQcm9wZXJ0eSk6IHJlbmFtZWQgcHJpdmF0ZSBzdHJ1
Y3R1cmUuCisgICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY0dldFByb3BlcnR5KTogZGl0dG8uCisg
ICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY0FsbG9jYXRlQnVmZmVyc0FuZFJlbmRlckF1ZGlvKTog
ZGl0dG8uCisgICAgICAgICh3ZWJLaXRXZWJBdWRpb1NyY0xvb3ApOiBkaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKHdlYmtpdFZpZGVvU2lua0NvbnN0cnVjdGVkKTogYWRkIGNvbnN0cnVjdGVkIHZtZXRo
b2QgdG8gaW5pdGFsaXplCisgICAgICAgIHNvbWUgcHJpdmF0ZSBtZW1iZXJzLgorICAgICAgICAo
d2Via2l0X3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCk6IHJlbW92ZSBkdXBsaWNhdGVkIGluaXRpYWxp
emF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0
Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwOgorICAgICAgICAod2Via2l0X21lZGlhX2Ns
ZWFyX2tleV9kZWNyeXB0X2NsYXNzX2luaXQpOiByZW1vdmUgZHVwbGljYXRlZAorICAgICAgICBp
bml0aWFsaXphdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1l
L1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwOgorICAgICAgICAo
d2Via2l0X21lZGlhX2NvbW1vbl9lbmNyeXB0aW9uX2RlY3J5cHRfY2xhc3NfaW5pdCk6IHJlbW92
ZQorICAgICAgICBkdXBsaWNhdGVkIGluaXRpYWxpemF0aW9uLgorICAgICAgICAoY29uc3RydWN0
ZWQpOiBhZGQgY29uc3RydWN0ZWQgdm1ldGhvZCB0byBpbml0YWxpemUgc29tZSBwcml2YXRlCisg
ICAgICAgIG1lbWJlcnMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2Vt
ZS9XZWJLaXRUaHVuZGVyRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKHdlYmtpdF9t
ZWRpYV90aHVuZGVyX2RlY3J5cHRfY2xhc3NfaW5pdCk6IHJlbW92ZSBkdXBsaWNhdGVkCisgICAg
ICAgIGluaXRpYWxpemF0aW9uLgorCiAyMDIwLTA5LTA2ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gYXR0YWNobWVudEFjdGlvbkZvbnQo
KSBOZWVkcyB0byB1c2Uga0NURm9udFN5bWJvbGljVHJhaXQ6IEAoa0NURm9udFRyYWl0VGlnaHRM
ZWFkaW5nIHwga0NURm9udFRyYWl0RW1waGFzaXplZCkgdG8gZ2V0IHRoZSBzaG9ydCBlbXBoYXNp
emVkIGZvb3Rub3RlIGZvbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2dzdHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3Ry
ZWFtZXIuY3BwCmluZGV4IGUxNGRiNWUyMGMxNTI2N2IyOTVjYjAzODNjYTkwZmY3NmRlMGFlZmUu
LmVhNTNiYmZmY2ZkNDUyZmQzZjA5ZTVmYTEyNGVjMDU4ZjJiNjUwMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJj
ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVh
bWVyL1dlYktpdFdlYkF1ZGlvU291cmNlR1N0cmVhbWVyLmNwcApAQCAtMzAsMjQgKzMwLDI5IEBA
CiAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2F1ZGlvLWluZm8uaD4KICNpbmNsdWRlIDxnc3QvcGJ1dGls
cy9taXNzaW5nLXBsdWdpbnMuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKIHR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NyY0NsYXNzICAgV2ViS2l0V2ViQXVk
aW9TcmNDbGFzczsKLXR5cGVkZWYgc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NvdXJjZVByaXZhdGUg
V2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYkF1
ZGlvU3JjUHJpdmF0ZSBXZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGU7CiAKIHN0cnVjdCBfV2ViS2l0
V2ViQXVkaW9TcmMgewogICAgIEdzdEJpbiBwYXJlbnQ7CiAKLSAgICBXZWJLaXRXZWJBdWRpb1Nv
dXJjZVByaXZhdGUqIHByaXY7CisgICAgV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRlKiBwcml2Owog
fTsKIAogc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NyY0NsYXNzIHsKICAgICBHc3RCaW5DbGFzcyBw
YXJlbnRDbGFzczsKIH07CiAKLSNkZWZpbmUgV0VCS0lUX1dFQl9BVURJT19TUkNfR0VUX1BSSVZB
VEUob2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9X
RUJBVURJT19TUkMsIFdlYktpdFdlYkF1ZGlvU291cmNlUHJpdmF0ZSkpCi1zdHJ1Y3QgX1dlYktp
dFdlYkF1ZGlvU291cmNlUHJpdmF0ZSB7CitzdGF0aWMgR3N0U3RhdGljUGFkVGVtcGxhdGUgc3Jj
VGVtcGxhdGUgPSBHU1RfU1RBVElDX1BBRF9URU1QTEFURSgic3JjIiwKKyAgICBHU1RfUEFEX1NS
QywKKyAgICBHU1RfUEFEX0FMV0FZUywKKyAgICBHU1RfU1RBVElDX0NBUFMoR1NUX0FVRElPX0NB
UFNfTUFLRShHU1RfQVVESU9fTkUoRjMyKSkpKTsKKworc3RydWN0IF9XZWJLaXRXZWJBdWRpb1Ny
Y1ByaXZhdGUgewogICAgIGdmbG9hdCBzYW1wbGVSYXRlOwogICAgIEF1ZGlvQnVzKiBidXM7CiAg
ICAgQXVkaW9JT0NhbGxiYWNrKiBwcm92aWRlcjsKQEAgLTcwLDYgKzc1LDI2IEBAIHN0cnVjdCBf
V2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlIHsKICAgICBHUmVmUHRyPEdzdEJ1ZmZlclBvb2w+
IHBvb2w7CiAKICAgICBib29sIGVuYWJsZUdhcEJ1ZmZlclN1cHBvcnQ7CisKKyAgICBfV2ViS2l0
V2ViQXVkaW9TcmNQcml2YXRlKCkKKyAgICB7CisgICAgICAgIHNvdXJjZVBhZCA9IHdlYmtpdEdz
dEdob3N0UGFkRnJvbVN0YXRpY1RlbXBsYXRlKCZzcmNUZW1wbGF0ZSwgInNyYyIsIG51bGxwdHIp
OworCisgICAgICAgIHByb3ZpZGVyID0gbnVsbHB0cjsKKyAgICAgICAgYnVzID0gbnVsbHB0cjsK
KworICAgICAgICBnX3JlY19tdXRleF9pbml0KCZtdXRleCk7CisKKyAgICAgICAgLy8gR0FQIGJ1
ZmZlciBzdXBwb3J0IGlzIGVuYWJsZWQgb25seSBmb3IgR1N0cmVhbWVyIDEuMTIuNSBiZWNhdXNl
IG9mIGEKKyAgICAgICAgLy8gbWVtb3J5IGxlYWsgdGhhdCB3YXMgZml4ZWQgaW4gdGhhdCB2ZXJz
aW9uLgorICAgICAgICAvLyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzkzMDY3CisgICAgICAgIGVuYWJsZUdhcEJ1ZmZlclN1cHBvcnQgPSB3ZWJraXRHc3RDaGVj
a1ZlcnNpb24oMSwgMTIsIDUpOworICAgIH0KKworICAgIH5fV2ViS2l0V2ViQXVkaW9TcmNQcml2
YXRlKCkKKyAgICB7CisgICAgICAgIGdfcmVjX211dGV4X2NsZWFyKCZtdXRleCk7CisgICAgfQog
fTsKIAogZW51bSB7CkBAIC03OSwxNiArMTA0LDEwIEBAIGVudW0gewogICAgIFBST1BfRlJBTUVT
CiB9OwogCi1zdGF0aWMgR3N0U3RhdGljUGFkVGVtcGxhdGUgc3JjVGVtcGxhdGUgPSBHU1RfU1RB
VElDX1BBRF9URU1QTEFURSgic3JjIiwKLSAgICBHU1RfUEFEX1NSQywKLSAgICBHU1RfUEFEX0FM
V0FZUywKLSAgICBHU1RfU1RBVElDX0NBUFMoR1NUX0FVRElPX0NBUFNfTUFLRShHU1RfQVVESU9f
TkUoRjMyKSkpKTsKLQogR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyh3ZWJraXRfd2ViX2F1ZGlv
X3NyY19kZWJ1Zyk7CiAjZGVmaW5lIEdTVF9DQVRfREVGQVVMVCB3ZWJraXRfd2ViX2F1ZGlvX3Ny
Y19kZWJ1ZwogCiBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJBdWRpb1NyY0NvbnN0cnVjdGVkKEdPYmpl
Y3QqKTsKLXN0YXRpYyB2b2lkIHdlYktpdFdlYkF1ZGlvU3JjRmluYWxpemUoR09iamVjdCopOwog
c3RhdGljIHZvaWQgd2ViS2l0V2ViQXVkaW9TcmNTZXRQcm9wZXJ0eShHT2JqZWN0KiwgZ3VpbnQg
cHJvcGVydHlJZCwgY29uc3QgR1ZhbHVlKiwgR1BhcmFtU3BlYyopOwogc3RhdGljIHZvaWQgd2Vi
S2l0V2ViQXVkaW9TcmNHZXRQcm9wZXJ0eShHT2JqZWN0KiwgZ3VpbnQgcHJvcGVydHlJZCwgR1Zh
bHVlKiwgR1BhcmFtU3BlYyopOwogc3RhdGljIEdzdFN0YXRlQ2hhbmdlUmV0dXJuIHdlYktpdFdl
YkF1ZGlvU3JjQ2hhbmdlU3RhdGUoR3N0RWxlbWVudCosIEdzdFN0YXRlQ2hhbmdlKTsKQEAgLTEz
MywxMCArMTUyLDcgQEAgc3RhdGljIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uIHdlYktpdFdlYkF1
ZGlvR1N0cmVhbWVyQ2hhbm5lbFBvc2l0aW9uKGludCBjaGFubmUKIH0KIAogI2RlZmluZSB3ZWJr
aXRfd2ViX2F1ZGlvX3NyY19wYXJlbnRfY2xhc3MgcGFyZW50X2NsYXNzCi1HX0RFRklORV9UWVBF
X1dJVEhfQ09ERShXZWJLaXRXZWJBdWRpb1NyYywgd2Via2l0X3dlYl9hdWRpb19zcmMsIEdTVF9U
WVBFX0JJTiwgR1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQod2Via2l0X3dlYl9hdWRpb19zcmNfZGVi
dWcsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2Via2l0d2ViYXVkaW9zcmMiLCBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ3ZWJhdWRpb3NyYyBlbGVtZW50IikpOworV0VCS0lUX0RFRklORV9UWVBFX1dJVEhf
Q09ERShXZWJLaXRXZWJBdWRpb1NyYywgd2Via2l0X3dlYl9hdWRpb19zcmMsIEdTVF9UWVBFX0JJ
TiwgR1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQod2Via2l0X3dlYl9hdWRpb19zcmNfZGVidWcsICJ3
ZWJraXR3ZWJhdWRpb3NyYyIsIDAsICJ3ZWJhdWRpb3NyYyBlbGVtZW50IikpCiAKIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfYXVkaW9fc3JjX2NsYXNzX2luaXQoV2ViS2l0V2ViQXVkaW9TcmNDbGFz
cyogd2ViS2l0V2ViQXVkaW9TcmNDbGFzcykKIHsKQEAgLTE0Nyw3ICsxNjMsNiBAQCBzdGF0aWMg
dm9pZCB3ZWJraXRfd2ViX2F1ZGlvX3NyY19jbGFzc19pbml0KFdlYktpdFdlYkF1ZGlvU3JjQ2xh
c3MqIHdlYktpdFdlYkF1ZAogICAgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YShlbGVt
ZW50Q2xhc3MsICJXZWJLaXQgV2ViQXVkaW8gc291cmNlIGVsZW1lbnQiLCAiU291cmNlIiwgIkhh
bmRsZXMgV2ViQXVkaW8gZGF0YSBmcm9tIFdlYkNvcmUiLCAiUGhpbGlwcGUgTm9ybWFuZCA8cG5v
cm1hbmRAaWdhbGlhLmNvbT4iKTsKIAogICAgIG9iamVjdENsYXNzLT5jb25zdHJ1Y3RlZCA9IHdl
YktpdFdlYkF1ZGlvU3JjQ29uc3RydWN0ZWQ7Ci0gICAgb2JqZWN0Q2xhc3MtPmZpbmFsaXplID0g
d2ViS2l0V2ViQXVkaW9TcmNGaW5hbGl6ZTsKICAgICBlbGVtZW50Q2xhc3MtPmNoYW5nZV9zdGF0
ZSA9IHdlYktpdFdlYkF1ZGlvU3JjQ2hhbmdlU3RhdGU7CiAKICAgICBvYmplY3RDbGFzcy0+c2V0
X3Byb3BlcnR5ID0gd2ViS2l0V2ViQXVkaW9TcmNTZXRQcm9wZXJ0eTsKQEAgLTE3Niw0MSArMTkx
LDIzIEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfYXVkaW9fc3JjX2NsYXNzX2luaXQoV2ViS2l0
V2ViQXVkaW9TcmNDbGFzcyogd2ViS2l0V2ViQXVkCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTnVtYmVyIG9mIGF1ZGlvIGZyYW1lcyB0byBw
dWxsIGF0IGVhY2ggaXRlcmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDAsIEdfTUFYVUlOVDgsIDEyOCwgZmxhZ3MpKTsKIAotICAg
IGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZSh3ZWJLaXRXZWJBdWRpb1NyY0NsYXNzLCBzaXplb2Yo
V2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHdlYmtpdF93
ZWJfYXVkaW9fc3JjX2luaXQoV2ViS2l0V2ViQXVkaW9TcmMqIHNyYykKLXsKLSAgICBXZWJLaXRX
ZWJBdWRpb1NvdXJjZVByaXZhdGUqIHByaXYgPSBHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUo
c3JjLCBXRUJLSVRfVFlQRV9XRUJfQVVESU9fU1JDLCBXZWJLaXRXZWJBdWRpb1NvdXJjZVByaXZh
dGUpOwotICAgIHNyYy0+cHJpdiA9IHByaXY7Ci0gICAgbmV3IChwcml2KSBXZWJLaXRXZWJBdWRp
b1NvdXJjZVByaXZhdGUoKTsKLQotICAgIHByaXYtPnNvdXJjZVBhZCA9IHdlYmtpdEdzdEdob3N0
UGFkRnJvbVN0YXRpY1RlbXBsYXRlKCZzcmNUZW1wbGF0ZSwgInNyYyIsIG51bGxwdHIpOwotICAg
IGdzdF9lbGVtZW50X2FkZF9wYWQoR1NUX0VMRU1FTlQoc3JjKSwgcHJpdi0+c291cmNlUGFkKTsK
LQotICAgIHByaXYtPnByb3ZpZGVyID0gbnVsbHB0cjsKLSAgICBwcml2LT5idXMgPSBudWxscHRy
OwotCi0gICAgZ19yZWNfbXV0ZXhfaW5pdCgmcHJpdi0+bXV0ZXgpOwotICAgIHByaXYtPnRhc2sg
PSBhZG9wdEdSZWYoZ3N0X3Rhc2tfbmV3KHJlaW50ZXJwcmV0X2Nhc3Q8R3N0VGFza0Z1bmN0aW9u
Pih3ZWJLaXRXZWJBdWRpb1NyY0xvb3ApLCBzcmMsIG51bGxwdHIpKTsKLQotICAgIC8vIEdBUCBi
dWZmZXIgc3VwcG9ydCBpcyBlbmFibGVkIG9ubHkgZm9yIEdTdHJlYW1lciAxLjEyLjUgYmVjYXVz
ZSBvZiBhCi0gICAgLy8gbWVtb3J5IGxlYWsgdGhhdCB3YXMgZml4ZWQgaW4gdGhhdCB2ZXJzaW9u
LgotICAgIC8vIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMw
NjcKLSAgICBwcml2LT5lbmFibGVHYXBCdWZmZXJTdXBwb3J0ID0gd2Via2l0R3N0Q2hlY2tWZXJz
aW9uKDEsIDEyLCA1KTsKLQotICAgIGdzdF90YXNrX3NldF9sb2NrKHByaXYtPnRhc2suZ2V0KCks
ICZwcml2LT5tdXRleCk7CisgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKHdlYktpdFdlYkF1
ZGlvU3JjQ2xhc3MsIHNpemVvZihXZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGUpKTsKIH0KIAogc3Rh
dGljIHZvaWQgd2ViS2l0V2ViQXVkaW9TcmNDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiB7
CiAgICAgV2ViS2l0V2ViQXVkaW9TcmMqIHNyYyA9IFdFQktJVF9XRUJfQVVESU9fU1JDKG9iamVj
dCk7Ci0gICAgV2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlKiBwcml2ID0gc3JjLT5wcml2Owor
ICAgIFdlYktpdFdlYkF1ZGlvU3JjUHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsKIAogICAgIEFT
U0VSVChwcml2LT5idXMpOwogICAgIEFTU0VSVChwcml2LT5wcm92aWRlcik7CiAgICAgQVNTRVJU
KHByaXYtPnNhbXBsZVJhdGUpOwogCisgICAgZ3N0X2VsZW1lbnRfYWRkX3BhZChHU1RfRUxFTUVO
VChzcmMpLCBwcml2LT5zb3VyY2VQYWQpOworCisgICAgcHJpdi0+dGFzayA9IGFkb3B0R1JlZihn
c3RfdGFza19uZXcocmVpbnRlcnByZXRfY2FzdDxHc3RUYXNrRnVuY3Rpb24+KHdlYktpdFdlYkF1
ZGlvU3JjTG9vcCksIHNyYywgbnVsbHB0cikpOworICAgIGdzdF90YXNrX3NldF9sb2NrKHByaXYt
PnRhc2suZ2V0KCksICZwcml2LT5tdXRleCk7CisKICAgICBwcml2LT5pbnRlcmxlYXZlID0gZ3N0
X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJhdWRpb2ludGVybGVhdmUiLCBudWxscHRyKTsKIAogICAg
IGlmICghcHJpdi0+aW50ZXJsZWF2ZSkgewpAQCAtMjQ4LDIxICsyNDUsMTAgQEAgc3RhdGljIHZv
aWQgd2ViS2l0V2ViQXVkaW9TcmNDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiAgICAgZ3N0
X2dob3N0X3BhZF9zZXRfdGFyZ2V0KEdTVF9HSE9TVF9QQUQocHJpdi0+c291cmNlUGFkKSwgdGFy
Z2V0UGFkLmdldCgpKTsKIH0KIAotc3RhdGljIHZvaWQgd2ViS2l0V2ViQXVkaW9TcmNGaW5hbGl6
ZShHT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgV2ViS2l0V2ViQXVkaW9TcmMqIHNyYyA9IFdFQktJ
VF9XRUJfQVVESU9fU1JDKG9iamVjdCk7Ci0gICAgV2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRl
KiBwcml2ID0gc3JjLT5wcml2OwotCi0gICAgZ19yZWNfbXV0ZXhfY2xlYXIoJnByaXYtPm11dGV4
KTsKLQotICAgIHByaXYtPn5XZWJLaXRXZWJBdWRpb1NvdXJjZVByaXZhdGUoKTsKLSAgICBHU1Rf
Q0FMTF9QQVJFTlQoR19PQkpFQ1RfQ0xBU1MsIGZpbmFsaXplLCAoKEdPYmplY3QqICkoc3JjKSkp
OwotfQotCiBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJBdWRpb1NyY1NldFByb3BlcnR5KEdPYmplY3Qq
IG9iamVjdCwgZ3VpbnQgcHJvcGVydHlJZCwgY29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3Bl
YyogcHNwZWMpCiB7CiAgICAgV2ViS2l0V2ViQXVkaW9TcmMqIHNyYyA9IFdFQktJVF9XRUJfQVVE
SU9fU1JDKG9iamVjdCk7Ci0gICAgV2ViS2l0V2ViQXVkaW9Tb3VyY2VQcml2YXRlKiBwcml2ID0g
c3JjLT5wcml2OworICAgIFdlYktpdFdlYkF1ZGlvU3JjUHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJp
djsKIAogICAgIHN3aXRjaCAocHJvcGVydHlJZCkgewogICAgIGNhc2UgUFJPUF9SQVRFOgpAQCAt
Mjg3LDcgKzI3Myw3IEBAIHN0YXRpYyB2b2lkIHdlYktpdFdlYkF1ZGlvU3JjU2V0UHJvcGVydHko
R09iamVjdCogb2JqZWN0LCBndWludCBwcm9wZXJ0eUlkLCBjb25zCiBzdGF0aWMgdm9pZCB3ZWJL
aXRXZWJBdWRpb1NyY0dldFByb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcGVydHlJ
ZCwgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpCiB7CiAgICAgV2ViS2l0V2ViQXVk
aW9TcmMqIHNyYyA9IFdFQktJVF9XRUJfQVVESU9fU1JDKG9iamVjdCk7Ci0gICAgV2ViS2l0V2Vi
QXVkaW9Tb3VyY2VQcml2YXRlKiBwcml2ID0gc3JjLT5wcml2OworICAgIFdlYktpdFdlYkF1ZGlv
U3JjUHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsKIAogICAgIHN3aXRjaCAocHJvcGVydHlJZCkg
ewogICAgIGNhc2UgUFJPUF9SQVRFOgpAQCAtMzEwLDcgKzI5Niw3IEBAIHN0YXRpYyB2b2lkIHdl
YktpdFdlYkF1ZGlvU3JjR2V0UHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wZXJ0
eUlkLCBHVmFsCiAKIHN0YXRpYyBPcHRpb25hbDxWZWN0b3I8R1JlZlB0cjxHc3RCdWZmZXI+Pj4g
d2ViS2l0V2ViQXVkaW9TcmNBbGxvY2F0ZUJ1ZmZlcnNBbmRSZW5kZXJBdWRpbyhXZWJLaXRXZWJB
dWRpb1NyYyogc3JjKQogewotICAgIFdlYktpdFdlYkF1ZGlvU291cmNlUHJpdmF0ZSogcHJpdiA9
IHNyYy0+cHJpdjsKKyAgICBXZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGUqIHByaXYgPSBzcmMtPnBy
aXY7CiAKICAgICBBU1NFUlQocHJpdi0+YnVzKTsKICAgICBBU1NFUlQocHJpdi0+cHJvdmlkZXIp
OwpAQCAtMzY1LDcgKzM1MSw3IEBAIHN0YXRpYyBPcHRpb25hbDxWZWN0b3I8R1JlZlB0cjxHc3RC
dWZmZXI+Pj4gd2ViS2l0V2ViQXVkaW9TcmNBbGxvY2F0ZUJ1ZmZlcnNBbmRSCiAKIHN0YXRpYyB2
b2lkIHdlYktpdFdlYkF1ZGlvU3JjTG9vcChXZWJLaXRXZWJBdWRpb1NyYyogc3JjKQogewotICAg
IFdlYktpdFdlYkF1ZGlvU291cmNlUHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsKKyAgICBXZWJL
aXRXZWJBdWRpb1NyY1ByaXZhdGUqIHByaXYgPSBzcmMtPnByaXY7CiAKICAgICBPcHRpb25hbDxW
ZWN0b3I8R1JlZlB0cjxHc3RCdWZmZXI+Pj4gY2hhbm5lbEJ1ZmZlckxpc3QgPSB3ZWJLaXRXZWJB
dWRpb1NyY0FsbG9jYXRlQnVmZmVyc0FuZFJlbmRlckF1ZGlvKHNyYyk7CiAgICAgaWYgKCFjaGFu
bmVsQnVmZmVyTGlzdCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCBj
ODkzYjQ3M2IzMzEwZWU1MDIwNzE3YjE4MjA3M2M1NTEwYWY1MWRjLi5hYWI4NTAxNzVjNjUwODM4
MmE1MGUxNDQ5MDQwYTQ5NWMxMDFmNjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVy
LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGdzdC92aWRlby9nc3R2aWRlb21ldGEu
aD4KICNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4K
KyNpbmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIApAQCAtMTM4LDE0ICsxMzksMTEgQEAgc3RydWN0IF9XZWJLaXRWaWRlb1NpbmtQcml2YXRl
IHsKIH07CiAKICNkZWZpbmUgd2Via2l0X3ZpZGVvX3NpbmtfcGFyZW50X2NsYXNzIHBhcmVudF9j
bGFzcwotR19ERUZJTkVfVFlQRV9XSVRIX0NPREUoV2ViS2l0VmlkZW9TaW5rLCB3ZWJraXRfdmlk
ZW9fc2luaywgR1NUX1RZUEVfVklERU9fU0lOSywgR1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQod2Vi
a2l0VmlkZW9TaW5rRGVidWcsICJ3ZWJraXRzaW5rIiwgMCwgIndlYmtpdCB2aWRlbyBzaW5rIikp
OworV0VCS0lUX0RFRklORV9UWVBFX1dJVEhfQ09ERShXZWJLaXRWaWRlb1NpbmssIHdlYmtpdF92
aWRlb19zaW5rLCBHU1RfVFlQRV9WSURFT19TSU5LLCBHU1RfREVCVUdfQ0FURUdPUllfSU5JVCh3
ZWJraXRWaWRlb1NpbmtEZWJ1ZywgIndlYmtpdHNpbmsiLCAwLCAid2Via2l0IHZpZGVvIHNpbmsi
KSkKIAotCi1zdGF0aWMgdm9pZCB3ZWJraXRfdmlkZW9fc2lua19pbml0KFdlYktpdFZpZGVvU2lu
ayogc2luaykKK3N0YXRpYyB2b2lkIHdlYmtpdFZpZGVvU2lua0NvbnN0cnVjdGVkKEdPYmplY3Qq
IG9iamVjdCkKIHsKLSAgICBzaW5rLT5wcml2ID0gR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRF
KHNpbmssIFdFQktJVF9UWVBFX1ZJREVPX1NJTkssIFdlYktpdFZpZGVvU2lua1ByaXZhdGUpOwot
ICAgIGdfb2JqZWN0X3NldChHU1RfQkFTRV9TSU5LKHNpbmspLCAiZW5hYmxlLWxhc3Qtc2FtcGxl
IiwgRkFMU0UsIG51bGxwdHIpOwotICAgIG5ldyAoc2luay0+cHJpdikgV2ViS2l0VmlkZW9TaW5r
UHJpdmF0ZSgpOworICAgIGdfb2JqZWN0X3NldChHU1RfQkFTRV9TSU5LKG9iamVjdCksICJlbmFi
bGUtbGFzdC1zYW1wbGUiLCBGQUxTRSwgbnVsbHB0cik7CiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtp
dFZpZGVvU2lua1JlcGFpbnRSZXF1ZXN0ZWQoV2ViS2l0VmlkZW9TaW5rKiBzaW5rLCBHc3RTYW1w
bGUqIHNhbXBsZSkKQEAgLTE3NywxMiArMTc1LDYgQEAgc3RhdGljIEdzdEZsb3dSZXR1cm4gd2Vi
a2l0VmlkZW9TaW5rUmVuZGVyKEdzdEJhc2VTaW5rKiBiYXNlU2luaywgR3N0QnVmZmVyKiBidWYK
ICAgICByZXR1cm4gc2luay0+cHJpdi0+c2NoZWR1bGVyLnJlcXVlc3RSZW5kZXIoc2luaywgYnVm
ZmVyKSA/IEdTVF9GTE9XX09LIDogR1NUX0ZMT1dfRVJST1I7CiB9CiAKLXN0YXRpYyB2b2lkIHdl
YmtpdFZpZGVvU2lua0ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkKLXsKLSAgICBXRUJLSVRfVklE
RU9fU0lOSyhvYmplY3QpLT5wcml2LT5+V2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSgpOwotICAgIEdf
T0JKRUNUX0NMQVNTKHBhcmVudF9jbGFzcyktPmZpbmFsaXplKG9iamVjdCk7Ci19Ci0KIHN0YXRp
YyBnYm9vbGVhbiB3ZWJraXRWaWRlb1NpbmtVbmxvY2soR3N0QmFzZVNpbmsqIGJhc2VTaW5rKQog
ewogICAgIFdlYktpdFZpZGVvU2lua1ByaXZhdGUqIHByaXYgPSBXRUJLSVRfVklERU9fU0lOSyhi
YXNlU2luayktPnByaXY7CkBAIC0yODcsNyArMjc5LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3Zp
ZGVvX3NpbmtfY2xhc3NfaW5pdChXZWJLaXRWaWRlb1NpbmtDbGFzcyoga2xhc3MpCiAKICAgICBn
X3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRWaWRlb1NpbmtQcml2
YXRlKSk7CiAKLSAgICBnb2JqZWN0Q2xhc3MtPmZpbmFsaXplID0gd2Via2l0VmlkZW9TaW5rRmlu
YWxpemU7CisgICAgZ29iamVjdENsYXNzLT5jb25zdHJ1Y3RlZCA9IHdlYmtpdFZpZGVvU2lua0Nv
bnN0cnVjdGVkOwogCiAgICAgYmFzZVNpbmtDbGFzcy0+dW5sb2NrID0gd2Via2l0VmlkZW9TaW5r
VW5sb2NrOwogICAgIGJhc2VTaW5rQ2xhc3MtPnVubG9ja19zdG9wID0gd2Via2l0VmlkZW9TaW5r
VW5sb2NrU3RvcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9lbWUvV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktl
eURlY3J5cHRvckdTdHJlYW1lci5jcHAKaW5kZXggYWMzOTZmMDgxYmFjMjI2YWRmNjM3OTA2OWVm
ODQ4NzBhMzA4ZmE4Yy4uZjkzMDY2NWQ3ZTBjYWZjNTIzNDIxNjQ4NTdjM2MzMzgxZWRiYWFlNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2Vt
ZS9XZWJLaXRDbGVhcktleURlY3J5cHRvckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURlY3J5cHRv
ckdTdHJlYW1lci5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxnY3J5cHQuaD4KICNp
bmNsdWRlIDxnc3QvYmFzZS9nc3RieXRlcmVhZGVyLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3Au
aD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9XVEZHVHlwZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIApAQCAtNDEsNyArNDIsNiBAQCBzdHJ1Y3QgX1dlYktpdE1lZGlhQ2xlYXJLZXlEZWNy
eXB0UHJpdmF0ZSB7CiAgICAgUmVmUHRyPENETVByb3h5Q2xlYXJLZXk+IGNkbVByb3h5OwogfTsK
IAotc3RhdGljIHZvaWQgZmluYWxpemUoR09iamVjdCopOwogc3RhdGljIGNvbnN0IGNoYXIqIHBy
b3RlY3Rpb25TeXN0ZW1JZChXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0Kik7CiBz
dGF0aWMgYm9vbCBjZG1Qcm94eUF0dGFjaGVkKFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRl
Y3J5cHQqIHNlbGYsIGNvbnN0IFJlZlB0cjxDRE1Qcm94eT4mKTsKIHN0YXRpYyBib29sIGRlY3J5
cHQoV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdCosIEdzdEJ1ZmZlciogaXYsIEdz
dEJ1ZmZlcioga2V5aWQsIEdzdEJ1ZmZlciogc2FtcGxlLCB1bnNpZ25lZCBzdWJTYW1wbGVzQ291
bnQsIEdzdEJ1ZmZlciogc3ViU2FtcGxlcyk7CkBAIC02MywxMyArNjMsMTAgQEAgc3RhdGljIEdz
dFN0YXRpY1BhZFRlbXBsYXRlIHNyY1RlbXBsYXRlID0gR1NUX1NUQVRJQ19QQURfVEVNUExBVEUo
InNyYyIsCiAgICAgR1NUX1NUQVRJQ19DQVBTKCJ2aWRlby94LWgyNjQ7IGF1ZGlvL21wZWc7IHZp
ZGVvL3gtdnA4OyB2aWRlby94LXZwOSIpKTsKIAogI2RlZmluZSB3ZWJraXRfbWVkaWFfY2xlYXJf
a2V5X2RlY3J5cHRfcGFyZW50X2NsYXNzIHBhcmVudF9jbGFzcwotR19ERUZJTkVfVFlQRShXZWJL
aXRNZWRpYUNsZWFyS2V5RGVjcnlwdCwgd2Via2l0X21lZGlhX2NsZWFyX2tleV9kZWNyeXB0LCBX
RUJLSVRfVFlQRV9NRURJQV9DRU5DX0RFQ1JZUFQpOworV0VCS0lUX0RFRklORV9UWVBFKFdlYktp
dE1lZGlhQ2xlYXJLZXlEZWNyeXB0LCB3ZWJraXRfbWVkaWFfY2xlYXJfa2V5X2RlY3J5cHQsIFdF
QktJVF9UWVBFX01FRElBX0NFTkNfREVDUllQVCkKIAogc3RhdGljIHZvaWQgd2Via2l0X21lZGlh
X2NsZWFyX2tleV9kZWNyeXB0X2NsYXNzX2luaXQoV2ViS2l0TWVkaWFDbGVhcktleURlY3J5cHRD
bGFzcyoga2xhc3MpCiB7Ci0gICAgR09iamVjdENsYXNzKiBnb2JqZWN0Q2xhc3MgPSBHX09CSkVD
VF9DTEFTUyhrbGFzcyk7Ci0gICAgZ29iamVjdENsYXNzLT5maW5hbGl6ZSA9IGZpbmFsaXplOwot
CiAgICAgR3N0RWxlbWVudENsYXNzKiBlbGVtZW50Q2xhc3MgPSBHU1RfRUxFTUVOVF9DTEFTUyhr
bGFzcyk7CiAgICAgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZShlbGVtZW50Q2xh
c3MsIGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgmc2lua1RlbXBsYXRlKSk7CiAgICAgZ3N0
X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZShlbGVtZW50Q2xhc3MsIGdzdF9zdGF0aWNf
cGFkX3RlbXBsYXRlX2dldCgmc3JjVGVtcGxhdGUpKTsKQEAgLTkxLDIyICs4OCw2IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF9tZWRpYV9jbGVhcl9rZXlfZGVjcnlwdF9jbGFzc19pbml0KFdlYktpdE1l
ZGlhQ2xlYXJLZXlEZWNyeXB0CiAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGtsYXNzLCBz
aXplb2YoV2ViS2l0TWVkaWFDbGVhcktleURlY3J5cHRQcml2YXRlKSk7CiB9CiAKLXN0YXRpYyB2
b2lkIHdlYmtpdF9tZWRpYV9jbGVhcl9rZXlfZGVjcnlwdF9pbml0KFdlYktpdE1lZGlhQ2xlYXJL
ZXlEZWNyeXB0KiBzZWxmKQotewotICAgIFdlYktpdE1lZGlhQ2xlYXJLZXlEZWNyeXB0UHJpdmF0
ZSogcHJpdiA9IFdFQktJVF9NRURJQV9DS19ERUNSWVBUX0dFVF9QUklWQVRFKHNlbGYpOwotICAg
IHNlbGYtPnByaXYgPSBwcml2OwotICAgIG5ldyAocHJpdikgV2ViS2l0TWVkaWFDbGVhcktleURl
Y3J5cHRQcml2YXRlKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGZpbmFsaXplKEdPYmplY3QqIG9iamVj
dCkKLXsKLSAgICBXZWJLaXRNZWRpYUNsZWFyS2V5RGVjcnlwdCogc2VsZiA9IFdFQktJVF9NRURJ
QV9DS19ERUNSWVBUKG9iamVjdCk7Ci0gICAgV2ViS2l0TWVkaWFDbGVhcktleURlY3J5cHRQcml2
YXRlKiBwcml2ID0gc2VsZi0+cHJpdjsKLSAgICBwcml2LT5+V2ViS2l0TWVkaWFDbGVhcktleURl
Y3J5cHRQcml2YXRlKCk7Ci0KLSAgICBHU1RfQ0FMTF9QQVJFTlQoR19PQkpFQ1RfQ0xBU1MsIGZp
bmFsaXplLCAob2JqZWN0KSk7Ci19Ci0KIHN0YXRpYyBjb25zdCBjaGFyKiBwcm90ZWN0aW9uU3lz
dGVtSWQoV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdCopCiB7CiAgICAgcmV0dXJu
IEdTdHJlYW1lckVNRVV0aWxpdGllczo6c19DbGVhcktleVVVSUQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVu
Y3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0
cmVhbWVyLmNwcAppbmRleCAxNWUxM2FiZmJhZDRjMWViNTRlMzAxNzBiNDdkMTg0ZmM1NWQ5NmE0
Li41MDFjYjgwOGVjYjJiNGVlMjVjYzA5MWMxYjUzYzc2N2M1YzY4NTcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1v
bkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5
cHRvckdTdHJlYW1lci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDx3dGYvUHJpbnRT
dHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9TY29wZS5o
PgorI2luY2x1ZGUgPHd0Zi9nbGliL1dURkdUeXBlLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkNETVBy
b3h5OwogCkBAIC00Niw4ICs0Nyw4IEBAIHN0cnVjdCBfV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdFByaXZhdGUgewogCiBzdGF0aWMgY29uc3RleHByIFNlY29uZHMgTWF4U2Vjb25k
c1RvV2FpdEZvckNETVByb3h5ID0gNV9zOwogCitzdGF0aWMgdm9pZCBjb25zdHJ1Y3RlZChHT2Jq
ZWN0Kik7CiBzdGF0aWMgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gY2hhbmdlU3RhdGUoR3N0RWxlbWVu
dCosIEdzdFN0YXRlQ2hhbmdlIHRyYW5zaXRpb24pOwotc3RhdGljIHZvaWQgZmluYWxpemUoR09i
amVjdCopOwogc3RhdGljIEdzdENhcHMqIHRyYW5zZm9ybUNhcHMoR3N0QmFzZVRyYW5zZm9ybSos
IEdzdFBhZERpcmVjdGlvbiwgR3N0Q2FwcyosIEdzdENhcHMqKTsKIHN0YXRpYyBHc3RGbG93UmV0
dXJuIHRyYW5zZm9ybUluUGxhY2UoR3N0QmFzZVRyYW5zZm9ybSosIEdzdEJ1ZmZlciopOwogc3Rh
dGljIGdib29sZWFuIHNpbmtFdmVudEhhbmRsZXIoR3N0QmFzZVRyYW5zZm9ybSosIEdzdEV2ZW50
Kik7CkBAIC01NywxMiArNTgsMTIgQEAgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyh3ZWJraXRf
bWVkaWFfY29tbW9uX2VuY3J5cHRpb25fZGVjcnlwdF9kZWJ1Z19jYXRlZ29yeSkKICNkZWZpbmUg
R1NUX0NBVF9ERUZBVUxUIHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2Rl
YnVnX2NhdGVnb3J5CiAKICNkZWZpbmUgd2Via2l0X21lZGlhX2NvbW1vbl9lbmNyeXB0aW9uX2Rl
Y3J5cHRfcGFyZW50X2NsYXNzIHBhcmVudF9jbGFzcwotR19ERUZJTkVfVFlQRShXZWJLaXRNZWRp
YUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0LCB3ZWJraXRfbWVkaWFfY29tbW9uX2VuY3J5cHRpb25f
ZGVjcnlwdCwgR1NUX1RZUEVfQkFTRV9UUkFOU0ZPUk0pOworV0VCS0lUX0RFRklORV9UWVBFKFdl
YktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHQsIHdlYmtpdF9tZWRpYV9jb21tb25fZW5j
cnlwdGlvbl9kZWNyeXB0LCBHU1RfVFlQRV9CQVNFX1RSQU5TRk9STSkKIAogc3RhdGljIHZvaWQg
d2Via2l0X21lZGlhX2NvbW1vbl9lbmNyeXB0aW9uX2RlY3J5cHRfY2xhc3NfaW5pdChXZWJLaXRN
ZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0Q2xhc3MqIGtsYXNzKQogewogICAgIEdPYmplY3RD
bGFzcyogZ29iamVjdENsYXNzID0gR19PQkpFQ1RfQ0xBU1Moa2xhc3MpOwotICAgIGdvYmplY3RD
bGFzcy0+ZmluYWxpemUgPSBmaW5hbGl6ZTsKKyAgICBnb2JqZWN0Q2xhc3MtPmNvbnN0cnVjdGVk
ID0gY29uc3RydWN0ZWQ7CiAKICAgICBHU1RfREVCVUdfQ0FURUdPUllfSU5JVCh3ZWJraXRfbWVk
aWFfY29tbW9uX2VuY3J5cHRpb25fZGVjcnlwdF9kZWJ1Z19jYXRlZ29yeSwKICAgICAgICAgIndl
YmtpdGNlbmMiLCAwLCAiQ29tbW9uIEVuY3J5cHRpb24gYmFzZSBjbGFzcyIpOwpAQCAtODAsMjgg
KzgxLDE1IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNy
eXB0X2NsYXNzX2luaXQoV2ViS2l0TWVkaWFDb21tb25FCiAgICAgZ190eXBlX2NsYXNzX2FkZF9w
cml2YXRlKGtsYXNzLCBzaXplb2YoV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdFBy
aXZhdGUpKTsKIH0KIAotc3RhdGljIHZvaWQgd2Via2l0X21lZGlhX2NvbW1vbl9lbmNyeXB0aW9u
X2RlY3J5cHRfaW5pdChXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0KiBzZWxmKQor
c3RhdGljIHZvaWQgY29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogewotICAgIFdlYktpdE1l
ZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRQcml2YXRlKiBwcml2ID0gV0VCS0lUX01FRElBX0NF
TkNfREVDUllQVF9HRVRfUFJJVkFURShzZWxmKTsKLQotICAgIHNlbGYtPnByaXYgPSBwcml2Owot
ICAgIG5ldyAocHJpdikgV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdFByaXZhdGUo
KTsKKyAgICBHc3RCYXNlVHJhbnNmb3JtKiBiYXNlID0gR1NUX0JBU0VfVFJBTlNGT1JNKG9iamVj
dCk7CiAKLSAgICBHc3RCYXNlVHJhbnNmb3JtKiBiYXNlID0gR1NUX0JBU0VfVFJBTlNGT1JNKHNl
bGYpOwogICAgIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfaW5fcGxhY2UoYmFzZSwgVFJVRSk7CiAg
ICAgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9wYXNzdGhyb3VnaChiYXNlLCBGQUxTRSk7CiAgICAg
Z3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9nYXBfYXdhcmUoYmFzZSwgRkFMU0UpOwogfQogCi1zdGF0
aWMgdm9pZCBmaW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCi17Ci0gICAgV2ViS2l0TWVkaWFDb21t
b25FbmNyeXB0aW9uRGVjcnlwdCogc2VsZiA9IFdFQktJVF9NRURJQV9DRU5DX0RFQ1JZUFQob2Jq
ZWN0KTsKLSAgICBXZWJLaXRNZWRpYUNvbW1vbkVuY3J5cHRpb25EZWNyeXB0UHJpdmF0ZSogcHJp
diA9IHNlbGYtPnByaXY7Ci0KLSAgICBwcml2LT5+V2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9u
RGVjcnlwdFByaXZhdGUoKTsKLSAgICBHU1RfQ0FMTF9QQVJFTlQoR19PQkpFQ1RfQ0xBU1MsIGZp
bmFsaXplLCAob2JqZWN0KSk7Ci19Ci0KIHN0YXRpYyBHc3RDYXBzKiB0cmFuc2Zvcm1DYXBzKEdz
dEJhc2VUcmFuc2Zvcm0qIGJhc2UsIEdzdFBhZERpcmVjdGlvbiBkaXJlY3Rpb24sIEdzdENhcHMq
IGNhcHMsIEdzdENhcHMqIGZpbHRlcikKIHsKICAgICBpZiAoZGlyZWN0aW9uID09IEdTVF9QQURf
VU5LTk9XTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9lbWUvV2ViS2l0VGh1bmRlckRlY3J5cHRvckdTdHJlYW1lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdFRodW5kZXJEZWNy
eXB0b3JHU3RyZWFtZXIuY3BwCmluZGV4IDJlOWFmZmIyMmJkM2Q0NTM5MzMzYmIyZWYwYmI3MzQ0
YThjYTUxZjQuLmQzMmM2ZjEwZjY3Y2Q5MGZjM2NhZTA0OWY4OGE5NzYyZjU5YTNmODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2Vi
S2l0VGh1bmRlckRlY3J5cHRvckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRUaHVuZGVyRGVjcnlwdG9yR1N0cmVh
bWVyLmNwcApAQCAtMzAsMTUgKzMwLDE0IEBACiAjaW5jbHVkZSA8Z2NyeXB0Lmg+CiAjaW5jbHVk
ZSA8Z3N0L2Jhc2UvZ3N0Ynl0ZXJlYWRlci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+Cisj
aW5jbHVkZSA8d3RmL2dsaWIvV1RGR1R5cGUuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKLSNkZWZpbmUgV0VCS0lUX01FRElBX1RIVU5ERVJfREVDUllQVF9HRVRfUFJJVkFURShvYmop
IChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUoKG9iaiksIFdFQktJVF9UWVBFX01FRElBX1RI
VU5ERVJfREVDUllQVCwgV2ViS2l0TWVkaWFUaHVuZGVyRGVjcnlwdFByaXZhdGUpKQogc3RydWN0
IF9XZWJLaXRNZWRpYVRodW5kZXJEZWNyeXB0UHJpdmF0ZSB7CiAgICAgUmVmUHRyPENETVByb3h5
VGh1bmRlcj4gY2RtUHJveHk7CiB9OwogCi1zdGF0aWMgdm9pZCBmaW5hbGl6ZShHT2JqZWN0Kik7
CiBzdGF0aWMgY29uc3QgY2hhciogcHJvdGVjdGlvblN5c3RlbUlkKFdlYktpdE1lZGlhQ29tbW9u
RW5jcnlwdGlvbkRlY3J5cHQqKTsKIHN0YXRpYyBib29sIGNkbVByb3h5QXR0YWNoZWQoV2ViS2l0
TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdCosIGNvbnN0IFJlZlB0cjxDRE1Qcm94eT4mKTsK
IHN0YXRpYyBib29sIGRlY3J5cHQoV2ViS2l0TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdCos
IEdzdEJ1ZmZlciogaXYsIEdzdEJ1ZmZlcioga2V5aWQsIEdzdEJ1ZmZlciogc2FtcGxlLCB1bnNp
Z25lZCBzdWJTYW1wbGVzQ291bnQsCkBAIC02Myw3ICs2Miw3IEBAIHN0YXRpYyBHc3RTdGF0aWNQ
YWRUZW1wbGF0ZSBzcmNUZW1wbGF0ZSA9IEdTVF9TVEFUSUNfUEFEX1RFTVBMQVRFKCJzcmMiLAog
ICAgICAgICAidmlkZW8veC12cDk7ICIpKTsKIAogI2RlZmluZSB3ZWJraXRfbWVkaWFfdGh1bmRl
cl9kZWNyeXB0X3BhcmVudF9jbGFzcyBwYXJlbnRfY2xhc3MKLUdfREVGSU5FX1RZUEUoV2ViS2l0
TWVkaWFUaHVuZGVyRGVjcnlwdCwgd2Via2l0X21lZGlhX3RodW5kZXJfZGVjcnlwdCwgV0VCS0lU
X1RZUEVfTUVESUFfQ0VOQ19ERUNSWVBUKTsKK1dFQktJVF9ERUZJTkVfVFlQRShXZWJLaXRNZWRp
YVRodW5kZXJEZWNyeXB0LCB3ZWJraXRfbWVkaWFfdGh1bmRlcl9kZWNyeXB0LCBXRUJLSVRfVFlQ
RV9NRURJQV9DRU5DX0RFQ1JZUFQpCiAKIHN0YXRpYyBHUmVmUHRyPEdzdENhcHM+IGNyZWF0ZVNp
bmtQYWRUZW1wbGF0ZUNhcHMoKQogewpAQCAtOTIsOSArOTEsNiBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfbWVkaWFfdGh1bmRlcl9kZWNyeXB0X2NsYXNzX2luaXQoV2ViS2l0TWVkaWFUaHVuZGVyRGVj
cnlwdENsYQogewogICAgIEdTVF9ERUJVR19DQVRFR09SWV9JTklUKHdlYmtpdE1lZGlhVGh1bmRl
ckRlY3J5cHREZWJ1Z0NhdGVnb3J5LCAid2Via2l0dGh1bmRlciIsIDAsICJUaHVuZGVyIGRlY3J5
cHQiKTsKIAotICAgIEdPYmplY3RDbGFzcyogZ29iamVjdENsYXNzID0gR19PQkpFQ1RfQ0xBU1Mo
a2xhc3MpOwotICAgIGdvYmplY3RDbGFzcy0+ZmluYWxpemUgPSBmaW5hbGl6ZTsKLQogICAgIEdz
dEVsZW1lbnRDbGFzcyogZWxlbWVudENsYXNzID0gR1NUX0VMRU1FTlRfQ0xBU1Moa2xhc3MpOwog
ICAgIEdSZWZQdHI8R3N0Q2Fwcz4gZ3N0U2lua1BhZFRlbXBsYXRlQ2FwcyA9IGNyZWF0ZVNpbmtQ
YWRUZW1wbGF0ZUNhcHMoKTsKICAgICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRl
KGVsZW1lbnRDbGFzcywgZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoInNpbmsiLCBHU1RfUEFEX1NJTkss
IEdTVF9QQURfQUxXQVlTLCBnc3RTaW5rUGFkVGVtcGxhdGVDYXBzLmdldCgpKSk7CkBAIC0xMTEs
MjIgKzEwNyw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9tZWRpYV90aHVuZGVyX2RlY3J5cHRfY2xh
c3NfaW5pdChXZWJLaXRNZWRpYVRodW5kZXJEZWNyeXB0Q2xhCiAgICAgZ190eXBlX2NsYXNzX2Fk
ZF9wcml2YXRlKGtsYXNzLCBzaXplb2YoV2ViS2l0TWVkaWFUaHVuZGVyRGVjcnlwdFByaXZhdGUp
KTsKIH0KIAotc3RhdGljIHZvaWQgd2Via2l0X21lZGlhX3RodW5kZXJfZGVjcnlwdF9pbml0KFdl
YktpdE1lZGlhVGh1bmRlckRlY3J5cHQqIHNlbGYpCi17Ci0gICAgV2ViS2l0TWVkaWFUaHVuZGVy
RGVjcnlwdFByaXZhdGUqIHByaXYgPSBXRUJLSVRfTUVESUFfVEhVTkRFUl9ERUNSWVBUX0dFVF9Q
UklWQVRFKHNlbGYpOwotICAgIHNlbGYtPnByaXYgPSBwcml2OwotICAgIG5ldyAocHJpdikgV2Vi
S2l0TWVkaWFUaHVuZGVyRGVjcnlwdFByaXZhdGUoKTsKLX0KLQotc3RhdGljIHZvaWQgZmluYWxp
emUoR09iamVjdCogb2JqZWN0KQotewotICAgIFdlYktpdE1lZGlhVGh1bmRlckRlY3J5cHQqIHNl
bGYgPSBXRUJLSVRfTUVESUFfVEhVTkRFUl9ERUNSWVBUKG9iamVjdCk7Ci0gICAgV2ViS2l0TWVk
aWFUaHVuZGVyRGVjcnlwdFByaXZhdGUqIHByaXYgPSBzZWxmLT5wcml2OwotICAgIHByaXYtPn5X
ZWJLaXRNZWRpYVRodW5kZXJEZWNyeXB0UHJpdmF0ZSgpOwotCi0gICAgR1NUX0NBTExfUEFSRU5U
KEdfT0JKRUNUX0NMQVNTLCBmaW5hbGl6ZSwgKG9iamVjdCkpOwotfQotCiBzdGF0aWMgY29uc3Qg
Y2hhciogcHJvdGVjdGlvblN5c3RlbUlkKFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5
cHQqIHNlbGYpCiB7CiAgICAgV2ViS2l0TWVkaWFUaHVuZGVyRGVjcnlwdFByaXZhdGUqIHByaXYg
PSBXRUJLSVRfTUVESUFfVEhVTkRFUl9ERUNSWVBUX0dFVF9QUklWQVRFKFdFQktJVF9NRURJQV9U
SFVOREVSX0RFQ1JZUFQoc2VsZikpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408220</attachid>
            <date>2020-09-08 03:19:01 -0700</date>
            <delta_ts>2020-09-08 06:18:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204673-20200908121900.patch</filename>
            <type>text/plain</type>
            <size>6578</size>
            <attacher name="Víctor M. Jáquez L.">vjaquez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M3N2JiZjIzZjcwNjU2
YjIxZTNiYjBlZWJhYjQ5ZGQyYTI2NGZkMy4uM2Y5NjhhZDUwMTk2YmMxMGY0ZjQ0ZGM0NDRhNDhl
NmQzNWQwNjgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTA5LTA4ICBWw61j
dG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgIDx2amFxdWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dTdHJlYW1lcl0gRm9sbG93LXVwIG9mICJDb252ZXJ0IGN1c3RvbSBHT2JqZWN0IHN1YmNsYXNz
ZXMgdG8gV0VCS0lUX0RFRklORV9UWVBFIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA0NjczCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODQ1NTM0
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IGEgY29udGludWF0aW9uIG9mIDIwNDY3MyBzaW5jZSBhIHBvc3QtbWVyZ2UgcmV2aWV3IGNhbWUg
dXA6IGl0CisgICAgICAgIHdhcyBhbHNvIG5lZWRlZCB0byByZW1vdmUgZ190eXBlX2NsYXNzX2Fk
ZF9wcml2YXRlKCkgY2FsbHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIG5lZWRlZC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJl
YW1lci5jcHA6CisgICAgICAgIChfV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRlOjpfV2ViS2l0V2Vi
QXVkaW9TcmNQcml2YXRlKToKKyAgICAgICAgKHdlYmtpdF93ZWJfYXVkaW9fc3JjX2NsYXNzX2lu
aXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3Ry
ZWFtZXIuY3BwOgorICAgICAgICAod2Via2l0X3ZpZGVvX3NpbmtfY2xhc3NfaW5pdCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURlY3J5
cHRvckdTdHJlYW1lci5jcHA6CisgICAgICAgICh3ZWJraXRfbWVkaWFfY2xlYXJfa2V5X2RlY3J5
cHRfY2xhc3NfaW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2Vt
ZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcDoKKyAgICAgICAg
KHdlYmtpdF9tZWRpYV9jb21tb25fZW5jcnlwdGlvbl9kZWNyeXB0X2NsYXNzX2luaXQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0VGh1bmRlckRlY3J5
cHRvckdTdHJlYW1lci5jcHA6CisgICAgICAgICh3ZWJraXRfbWVkaWFfdGh1bmRlcl9kZWNyeXB0
X2NsYXNzX2luaXQpOgorCiAyMDIwLTA5LTA4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBDb21wYXJpbmcgc3R5bGVzIHdpdGggbGFyZ2UgYnV0IGlkZW50aWNh
bCBjdXN0b20gcHJvcGVydHkgbWFwcyBpcyBzbG93CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL1dlYktpdFdlYkF1
ZGlvU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCBlYTUzYmJmZmNmZDQ1MmZkM2YwOWU1ZmExMjRl
YzA1OGYyYjY1MDA1Li5jNGY4Y2FmNDVlNDhkODc0MGNmZWZmMDlkMjZlZDgyZjRjMzY5NzFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvV2ViS2l0
V2ViQXVkaW9Tb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2dzdHJlYW1lci9XZWJLaXRXZWJBdWRpb1NvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTgw
LDkgKzgwLDYgQEAgc3RydWN0IF9XZWJLaXRXZWJBdWRpb1NyY1ByaXZhdGUgewogICAgIHsKICAg
ICAgICAgc291cmNlUGFkID0gd2Via2l0R3N0R2hvc3RQYWRGcm9tU3RhdGljVGVtcGxhdGUoJnNy
Y1RlbXBsYXRlLCAic3JjIiwgbnVsbHB0cik7CiAKLSAgICAgICAgcHJvdmlkZXIgPSBudWxscHRy
OwotICAgICAgICBidXMgPSBudWxscHRyOwotCiAgICAgICAgIGdfcmVjX211dGV4X2luaXQoJm11
dGV4KTsKIAogICAgICAgICAvLyBHQVAgYnVmZmVyIHN1cHBvcnQgaXMgZW5hYmxlZCBvbmx5IGZv
ciBHU3RyZWFtZXIgMS4xMi41IGJlY2F1c2Ugb2YgYQpAQCAtMTkwLDggKzE4Nyw2IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfYXVkaW9fc3JjX2NsYXNzX2luaXQoV2ViS2l0V2ViQXVkaW9TcmND
bGFzcyogd2ViS2l0V2ViQXVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
X3BhcmFtX3NwZWNfdWludCgiZnJhbWVzIiwgImZyYW1lcyIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTnVtYmVyIG9mIGF1ZGlvIGZyYW1l
cyB0byBwdWxsIGF0IGVhY2ggaXRlcmF0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIEdfTUFYVUlOVDgsIDEyOCwgZmxhZ3MpKTsK
LQotICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZSh3ZWJLaXRXZWJBdWRpb1NyY0NsYXNzLCBz
aXplb2YoV2ViS2l0V2ViQXVkaW9TcmNQcml2YXRlKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHdlYktp
dFdlYkF1ZGlvU3JjQ29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9T
aW5rR1N0cmVhbWVyLmNwcAppbmRleCBhYWI4NTAxNzVjNjUwODM4MmE1MGUxNDQ5MDQwYTQ5NWMx
MDFmNjE4Li5mNDEzOWI3NmE3ZmJlMmRlMGY3ZjZlNjRjYzUzMjYwZGYwMmRkMmE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5r
R1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcApAQCAtMjc3LDggKzI3Nyw2IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF92aWRlb19zaW5rX2NsYXNzX2luaXQoV2ViS2l0VmlkZW9TaW5rQ2xhc3MqIGts
YXNzKQogICAgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoZWxlbWVudENsYXNz
LCBnc3Rfc3RhdGljX3BhZF90ZW1wbGF0ZV9nZXQoJnNfc2lua1RlbXBsYXRlKSk7CiAgICAgZ3N0
X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhKGVsZW1lbnRDbGFzcywgIldlYktpdCB2aWRlbyBz
aW5rIiwgIlNpbmsvVmlkZW8iLCAiU2VuZHMgdmlkZW8gZGF0YSBmcm9tIGEgR1N0cmVhbWVyIHBp
cGVsaW5lIHRvIFdlYktpdCIsICJJZ2FsaWEsIEFscCBUb2tlciA8YWxwQGF0b2tlci5jb20+Iik7
CiAKLSAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRWaWRl
b1NpbmtQcml2YXRlKSk7Ci0KICAgICBnb2JqZWN0Q2xhc3MtPmNvbnN0cnVjdGVkID0gd2Via2l0
VmlkZW9TaW5rQ29uc3RydWN0ZWQ7CiAKICAgICBiYXNlU2lua0NsYXNzLT51bmxvY2sgPSB3ZWJr
aXRWaWRlb1NpbmtVbmxvY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENsZWFyS2V5RGVjcnlwdG9yR1N0cmVhbWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0
Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCmluZGV4IGY5MzA2NjVkN2UwY2FmYzUyMzQy
MTY0ODU3YzNjMzM4MWVkYmFhZTcuLjFhYjk3YmIzYjkzNTYzMTc4MWQ5NGU1NzUwYzZjNDVkNzU4
YmVjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9lbWUvV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q2xlYXJLZXlE
ZWNyeXB0b3JHU3RyZWFtZXIuY3BwCkBAIC04NCw4ICs4NCw2IEBAIHN0YXRpYyB2b2lkIHdlYmtp
dF9tZWRpYV9jbGVhcl9rZXlfZGVjcnlwdF9jbGFzc19pbml0KFdlYktpdE1lZGlhQ2xlYXJLZXlE
ZWNyeXB0CiAgICAgY2VuY0NsYXNzLT5wcm90ZWN0aW9uU3lzdGVtSWQgPSBHU1RfREVCVUdfRlVO
Q1BUUihwcm90ZWN0aW9uU3lzdGVtSWQpOwogICAgIGNlbmNDbGFzcy0+Y2RtUHJveHlBdHRhY2hl
ZCA9IEdTVF9ERUJVR19GVU5DUFRSKGNkbVByb3h5QXR0YWNoZWQpOwogICAgIGNlbmNDbGFzcy0+
ZGVjcnlwdCA9IEdTVF9ERUJVR19GVU5DUFRSKGRlY3J5cHQpOwotCi0gICAgZ190eXBlX2NsYXNz
X2FkZF9wcml2YXRlKGtsYXNzLCBzaXplb2YoV2ViS2l0TWVkaWFDbGVhcktleURlY3J5cHRQcml2
YXRlKSk7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyKiBwcm90ZWN0aW9uU3lzdGVtSWQoV2ViS2l0
TWVkaWFDb21tb25FbmNyeXB0aW9uRGVjcnlwdCopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25E
ZWNyeXB0b3JHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNw
cAppbmRleCA1MDFjYjgwOGVjYjJiNGVlMjVjYzA5MWMxYjUzYzc2N2M1YzY4NTcyLi5iZTI2NTFj
MGMxM2M4ZWJiZWM4M2Q1ZGM3YTM1YWZmOGI0MzVjYTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENvbW1vbkVuY3J5cHRp
b25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdTdHJl
YW1lci5jcHAKQEAgLTc3LDggKzc3LDYgQEAgc3RhdGljIHZvaWQgd2Via2l0X21lZGlhX2NvbW1v
bl9lbmNyeXB0aW9uX2RlY3J5cHRfY2xhc3NfaW5pdChXZWJLaXRNZWRpYUNvbW1vbkUKICAgICBi
YXNlVHJhbnNmb3JtQ2xhc3MtPnRyYW5zZm9ybV9jYXBzID0gR1NUX0RFQlVHX0ZVTkNQVFIodHJh
bnNmb3JtQ2Fwcyk7CiAgICAgYmFzZVRyYW5zZm9ybUNsYXNzLT50cmFuc2Zvcm1faXBfb25fcGFz
c3Rocm91Z2ggPSBGQUxTRTsKICAgICBiYXNlVHJhbnNmb3JtQ2xhc3MtPnNpbmtfZXZlbnQgPSBH
U1RfREVCVUdfRlVOQ1BUUihzaW5rRXZlbnRIYW5kbGVyKTsKLQotICAgIGdfdHlwZV9jbGFzc19h
ZGRfcHJpdmF0ZShrbGFzcywgc2l6ZW9mKFdlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5
cHRQcml2YXRlKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVj
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9lbWUvV2ViS2l0VGh1bmRlckRlY3J5cHRvckdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdFRodW5kZXJEZWNyeXB0b3JH
U3RyZWFtZXIuY3BwCmluZGV4IGQzMmM2ZjEwZjY3Y2Q5MGZjM2NhZTA0OWY4OGE5NzYyZjU5YTNm
ODIuLjg5MWIzMjg5YmI3NTIyYTQwYzY4OWM0NGJjNjIzNzUzN2UzYjk0ZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0VGh1
bmRlckRlY3J5cHRvckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRUaHVuZGVyRGVjcnlwdG9yR1N0cmVhbWVyLmNw
cApAQCAtMTAzLDggKzEwMyw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9tZWRpYV90aHVuZGVyX2Rl
Y3J5cHRfY2xhc3NfaW5pdChXZWJLaXRNZWRpYVRodW5kZXJEZWNyeXB0Q2xhCiAgICAgY29tbW9u
Q2xhc3MtPnByb3RlY3Rpb25TeXN0ZW1JZCA9IEdTVF9ERUJVR19GVU5DUFRSKHByb3RlY3Rpb25T
eXN0ZW1JZCk7CiAgICAgY29tbW9uQ2xhc3MtPmNkbVByb3h5QXR0YWNoZWQgPSBHU1RfREVCVUdf
RlVOQ1BUUihjZG1Qcm94eUF0dGFjaGVkKTsKICAgICBjb21tb25DbGFzcy0+ZGVjcnlwdCA9IEdT
VF9ERUJVR19GVU5DUFRSKGRlY3J5cHQpOwotCi0gICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRl
KGtsYXNzLCBzaXplb2YoV2ViS2l0TWVkaWFUaHVuZGVyRGVjcnlwdFByaXZhdGUpKTsKIH0KIAog
c3RhdGljIGNvbnN0IGNoYXIqIHByb3RlY3Rpb25TeXN0ZW1JZChXZWJLaXRNZWRpYUNvbW1vbkVu
Y3J5cHRpb25EZWNyeXB0KiBzZWxmKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>