<?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>216858</bug_id>
          
          <creation_ts>2020-09-22 16:50:03 -0700</creation_ts>
          <short_desc>[iOS] unable to airplay directly loaded fullscreen video</short_desc>
          <delta_ts>2020-09-28 11:24:05 -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>Media</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>https://devinrousso.com/demo/WebKit/stream_of_water.mp4</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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1690935</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-22 16:50:03 -0700</bug_when>
    <thetext>By &quot;directly loaded&quot; I mean where the main resource is a video file (e.g. URL ends in `.mp4`).  This issue doesn&apos;t appear to reproduce on pages that load videos (e.g. HTML pages that have `&lt;video src=&quot;...&quot;&gt;`).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690936</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-22 16:50:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/68746321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690946</commentid>
    <comment_count>2</comment_count>
      <attachid>409426</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-22 17:06:16 -0700</bug_when>
    <thetext>Created attachment 409426
Patch

This doesn&apos;t have any tests yet.  I&apos;m mainly uploading it to see what the bots think while I figure out how to test this (if it&apos;s even possible, as it only appears to reproduce on directly loaded videos).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690950</commentid>
    <comment_count>3</comment_count>
      <attachid>409426</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-22 17:15:28 -0700</bug_when>
    <thetext>Comment on attachment 409426
Patch

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

&gt; Source/WebCore/ChangeLog:18
&gt; +        is initally reported as &quot;disabled&quot; and then almost immediately changed to &quot;enabled&quot;.

Sounds like AVKit does not use the up-to-date value of the variable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691333</commentid>
    <comment_count>4</comment_count>
      <attachid>409518</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-23 17:16:34 -0700</bug_when>
    <thetext>Created attachment 409518
Patch

Re-approached the fix from another angle.  Working on writing tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691335</commentid>
    <comment_count>5</comment_count>
      <attachid>409426</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-23 17:21:19 -0700</bug_when>
    <thetext>Comment on attachment 409426
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:18
&gt;&gt; +        is initally reported as &quot;disabled&quot; and then almost immediately changed to &quot;enabled&quot;.
&gt; 
&gt; Sounds like AVKit does not use the up-to-date value of the variable?

as it turns out, it&apos;s more like &quot;WebKit did not propagate the new value if/when the value returned by `wirelessVideoPlaybackDisabled` changes to the UIProcess so that WebKit could call `-[WebAVPlayerController setAllowsExternalPlayback:]` again with the new value&quot; :P

please see attachment 409518 for more details :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691337</commentid>
    <comment_count>6</comment_count>
      <attachid>409518</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-23 17:32:48 -0700</bug_when>
    <thetext>Comment on attachment 409518
Patch

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:5009
&gt; +    if (m_player) {

Is this change needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691338</commentid>
    <comment_count>7</comment_count>
      <attachid>409518</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-23 17:37:15 -0700</bug_when>
    <thetext>Comment on attachment 409518
Patch

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

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:5009
&gt;&gt; +    if (m_player) {
&gt; 
&gt; Is this change needed?

yes, as otherwise this function early-returns before the added code below is able to run

I&apos;ve tried looking at whether any of the other functions after this do in-fact require a `m_player` to exist, and I don&apos;t think they do, but this code is quite nested and intertwined so I&apos;m not entirely sure.  I figured that EWS would tell me if this was bad :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691357</commentid>
    <comment_count>8</comment_count>
      <attachid>409518</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-09-23 19:31:50 -0700</bug_when>
    <thetext>Comment on attachment 409518
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:5009
&gt;&gt;&gt; +    if (m_player) {
&gt;&gt; 
&gt;&gt; Is this change needed?
&gt; 
&gt; yes, as otherwise this function early-returns before the added code below is able to run
&gt; 
&gt; I&apos;ve tried looking at whether any of the other functions after this do in-fact require a `m_player` to exist, and I don&apos;t think they do, but this code is quite nested and intertwined so I&apos;m not entirely sure.  I figured that EWS would tell me if this was bad :)

Hmm, I see! Sounds a little strange that m_player is nullptr but we need to notify observers regarding the media engine change. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692133</commentid>
    <comment_count>9</comment_count>
      <attachid>409764</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-25 18:07:34 -0700</bug_when>
    <thetext>Created attachment 409764
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692134</commentid>
    <comment_count>10</comment_count>
      <attachid>409764</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-09-25 18:11:14 -0700</bug_when>
    <thetext>Comment on attachment 409764
Patch

Thanks for adding a test!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692618</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-28 11:24:03 -0700</bug_when>
    <thetext>Committed r267709: &lt;https://trac.webkit.org/changeset/267709&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409764.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409426</attachid>
            <date>2020-09-22 17:06:16 -0700</date>
            <delta_ts>2020-09-23 17:16:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>216858.diff</filename>
            <type>text/plain</type>
            <size>4253</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1ZDA0OTc2OTA5NTUuLjRhMWI2MjQxMjA4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIyIEBACisyMDIwLTA5LTIyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KKworICAgICAgICBbaU9TXSB1bmFibGUgdG8gYWlycGxheSBkaXJlY3RseSBsb2FkZWQgZnVs
bHNjcmVlbiB2aWRlbworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2ODU4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODc0NjMyMT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvTWVkaWFFbGVt
ZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjp3
aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVJbnRlcmZhY2U6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkIGNvbnN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFW
S2l0Lm1tOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OndpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkIGNvbnN0KToKKyAgICAgICAgVGhlIGRlZmF1bHQgc3Rh
dGUgb2YgYHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkYCBpbiB0aGUgVUlQcm9jZXNzIGlz
ICJlbmFibGVkIiwgc28gbWF0Y2gKKyAgICAgICAgdGhhdCBpbiB0aGUgV2ViUHJvY2VzcyB0b28u
IFRoaXMgd2lsbCBsaWtlbHkgYXZvaWQgYSBmbGlwLWZsb3AgaW4gbW9zdCBjYXNlcyB3aGVyZSB0
aGUgc3RhdGUKKyAgICAgICAgaXMgaW5pdGFsbHkgcmVwb3J0ZWQgYXMgImRpc2FibGVkIiBhbmQg
dGhlbiBhbG1vc3QgaW1tZWRpYXRlbHkgY2hhbmdlZCB0byAiZW5hYmxlZCIuCisKIDIwMjAtMDkt
MjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBbmFseXNlck5v
ZGUncyBnZXRCeXRlRnJlcXVlbmN5RGF0YSgpIC8gZ2V0RmxvYXRGcmVxdWVuY3lEYXRhKCkgc2hv
dWxkIG9ubHkgZG8gRkZUIGFuYWx5c2lzIG9uY2UgcGVyIHJlbmRlciBxdWFudHVtCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCBkMzVmN2Q3MTAwYmMu
LmE4ZTRjMjAyMTI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1l
bnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCkBAIC02MzcsNyArNjM3LDcgQEAgYm9vbCBNZWRpYUVsZW1lbnRTZXNzaW9uOjp3aXJl
bGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0CiAKICAgICBhdXRvIHBsYXllciA9IG1f
ZWxlbWVudC5wbGF5ZXIoKTsKICAgICBpZiAoIXBsYXllcikKLSAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGJvb2wgZGlzYWJsZWQgPSBwbGF5ZXItPndp
cmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCk7CiAgICAgSU5GT19MT0coTE9HSURFTlRJRklF
UiwgInJldHVybmluZyAiLCBkaXNhYmxlZCwgIiBiZWNhdXNlIG1lZGlhIGVuZ2luZSBzYXlzIHNv
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oCmluZGV4IDY3MGMwYTQ5NGMxMS4uYjdiY2U4MzgzNDFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aApAQCAtMTcwLDcgKzE3MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyB3aXJlbGVz
c1BsYXliYWNrVGFyZ2V0TmFtZSgpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KICAg
ICB2aXJ0dWFsIE1lZGlhUGxheWVyOjpXaXJlbGVzc1BsYXliYWNrVGFyZ2V0VHlwZSB3aXJlbGVz
c1BsYXliYWNrVGFyZ2V0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIE1lZGlhUGxheWVyOjpXaXJlbGVz
c1BsYXliYWNrVGFyZ2V0VHlwZTo6VGFyZ2V0VHlwZU5vbmU7IH0KIAotICAgIHZpcnR1YWwgYm9v
bCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRXaXJlbGVzc1ZpZGVvUGxheWJh
Y2tEaXNhYmxlZChib29sKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBjYW5QbGF5VG9XaXJlbGVz
c1BsYXliYWNrVGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0LmgKaW5kZXggNTI4MDMwM2U0ODhhLi5iNDRiM2NjZDA2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdC5oCkBAIC0xODksNyArMTg5LDcgQEAgcHJvdGVjdGVkOgogICAgIFJvdXRlU2hhcmluZ1Bv
bGljeSBtX3JvdXRlU2hhcmluZ1BvbGljeSB7IFJvdXRlU2hhcmluZ1BvbGljeTo6RGVmYXVsdCB9
OwogICAgIFN0cmluZyBtX3JvdXRpbmdDb250ZXh0VUlEOwogICAgIGJvb2wgbV9hbGxvd3NQaWN0
dXJlSW5QaWN0dXJlUGxheWJhY2sgeyBmYWxzZSB9OwotICAgIGJvb2wgbV93aXJlbGVzc1ZpZGVv
UGxheWJhY2tEaXNhYmxlZCB7IHRydWUgfTsKKyAgICBib29sIG1fd2lyZWxlc3NWaWRlb1BsYXli
YWNrRGlzYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaG91bGRSZXR1cm5Ub0Z1bGxzY3Jl
ZW5XaGVuU3RvcHBpbmdQaVAgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9yZXN0b3JpbmdGdWxsc2Ny
ZWVuRm9yUGljdHVyZUluUGljdHVyZVN0b3AgeyBmYWxzZSB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRy
b2xsZXJBVktpdC5tbQppbmRleCA4MjM3Mzg3ODljMWYuLjc2N2RkYTdjNGIzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xs
ZXJBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCkBAIC05NTgsNyArOTU4LDcgQEAgU3RyaW5nIFZpZGVv
RnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpleHRlcm5hbFBsYXliYWNrTG9jYWxpemVkRGV2
aWNlTmFtZSgpIGMKIGJvb2wgVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OndpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNVSVRocmVh
ZCgpKTsKLSAgICByZXR1cm4gbV9wbGF5YmFja01vZGVsID8gbV9wbGF5YmFja01vZGVsLT53aXJl
bGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIDogdHJ1ZTsKKyAgICByZXR1cm4gbV9wbGF5YmFj
a01vZGVsID8gbV9wbGF5YmFja01vZGVsLT53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgp
IDogZmFsc2U7CiB9CiAKICNwcmFnbWEgbWFyayBPdGhlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409518</attachid>
            <date>2020-09-23 17:16:34 -0700</date>
            <delta_ts>2020-09-25 18:07:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216858-20200923171633.patch</filename>
            <type>text/plain</type>
            <size>16878</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1ZDA0OTc2OTA5NTU3NjM5YjlmZDk1ZGMwYjM3ZDNjYmFmOTM4ZWE4Li5h
Yzk4NTQwNGJhY2UyNTdkODJlZDIxYzkyMDhmYzBlNmUwZWMzM2MzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzYgQEAKKzIwMjAtMDktMjMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtpT1NdIHVuYWJsZSB0byBhaXJwbGF5IGRpcmVjdGx5IGxvYWRlZCBmdWxs
c2NyZWVuIHZpZGVvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTY4NTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4NzQ2MzIxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0J3MgcG9zc2libGUgdGhh
dCBgTWVkaWFQbGF5ZXJQcml2YXRlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZGAgaXMg
cXVlcmllZCBiZWZvcmUgYQorICAgICAgICAicmVhbCIgYE1lZGlhUGxheWVyUHJpdmF0ZWAgKGku
ZS4gbm90IGBOdWxsTWVkaWFQbGF5ZXJQcml2YXRlYCkgaXMgaW5pdGlhbGl6ZWQgdGhyb3VnaCBv
bmUKKyAgICAgICAgb2YgdGhlIHJlZ2lzdGVyZWQgYE1lZGlhUGxheWVyRmFjdG9yeWAgImVuZ2lu
ZSJzLiBJdCdzIGZ1cnRoZXIgcG9zc2libGUgdGhhdCB0aGUgdmFsdWUKKyAgICAgICAgcmV0dXJu
ZWQgYnkgYE1lZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRg
IHdpbGwgY2hhbmdlIGFzIHRoZSBuZXcKKyAgICAgICAgInJlYWwiIGBNZWRpYVBsYXllclByaXZh
dGVgIG1heSBoYXZlIGRpZmZlcmVudCBsb2dpYy4gSW4gdGhpcyBjYXNlLCB0aGUgYE1lZGlhUGxh
eWVyYAorICAgICAgICBkb2Vzbid0IHVwZGF0ZSBpdHMgY2xpZW50IChhbmQgdGhlcmVmb3JlIG5v
dGhpbmcgInVwIiB0aGUgdHJlZSwgaW5jbHVkaW5nIHRoZSBjbGllbnQncworICAgICAgICBjbGll
bnRzKSB3aXRoIHRoZSBuZXcgYE1lZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXli
YWNrRGlzYWJsZWRgIHZhbHVlLCBtZWFuaW5nCisgICAgICAgIHRoYXQgdGhlIG9sZCB2YWx1ZSB3
aWxsIHN0aWxsIGJlIHVzZWQuCisKKyAgICAgICAgQWRkIHBpcGluZyBzdWNoIHRoYXQgd2hlbiB0
aGUgYE1lZGlhUGxheWVyRmFjdG9yeWAgImVuZ2luZSIgY2hhbmdlcywgdGhlIGBNZWRpYVBsYXll
cmAKKyAgICAgICAgbm90aWZpZXMgaXRzIGNsaWVudCAod2hpY2ggaXMgZnVydGhlciBwaXBlZCAi
dXAiIHRoZSB0cmVlIHRvIHRoZSBjbGllbnQncyBjbGllbnRzKSB3aGljaAorICAgICAgICBldmVu
dHVhbGx5IGNhdXNlcyBgTWVkaWFQbGF5ZXJQcml2YXRlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tE
aXNhYmxlZGAgdG8gYmUgcmUtZXZhbHVhdGVkLgorCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5n
aW5lV2FzVXBkYXRlZCk6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9Q
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnBsYXliYWNrQ29udHJvbHNNZWRpYUVu
Z2luZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpwbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdpbmVD
aGFuZ2VkKTogQWRkZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Np
b25Nb2RlbE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXliYWNr
U2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxheWJhY2tT
ZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5lQ2hhbmdlZCk6IEFkZGVkLgorCiAy
MDIwLTA5LTIxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQW5h
bHlzZXJOb2RlJ3MgZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEoKSAvIGdldEZsb2F0RnJlcXVlbmN5RGF0
YSgpIHNob3VsZCBvbmx5IGRvIEZGVCBhbmFseXNpcyBvbmNlIHBlciByZW5kZXIgcXVhbnR1bQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCA0YWRmYzMzNTZhMzM5NzZlOGJhOTM5NmJiYTkzNGU4ZjRjMzg4ZjNhLi4zN2I0
OWQxMDVjNzgxNjVmMmI2MmMxMWU2Njc5YzBkYTE2MmE4NDNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMxIEBACisyMDIwLTA5LTIzICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbaU9TXSB1bmFibGUgdG8gYWlycGxheSBkaXJlY3RseSBsb2FkZWQgZnVsbHNjcmVl
biB2aWRlbworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE2ODU4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODc0NjMyMT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCdzIHBvc3NpYmxlIHRoYXQgYE1l
ZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRgIGlzIHF1ZXJp
ZWQgYmVmb3JlIGEKKyAgICAgICAgInJlYWwiIGBNZWRpYVBsYXllclByaXZhdGVgIChpLmUuIG5v
dCBgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZWApIGlzIGluaXRpYWxpemVkIHRocm91Z2ggb25lCisg
ICAgICAgIG9mIHRoZSByZWdpc3RlcmVkIGBNZWRpYVBsYXllckZhY3RvcnlgICJlbmdpbmUicy4g
SXQncyBmdXJ0aGVyIHBvc3NpYmxlIHRoYXQgdGhlIHZhbHVlCisgICAgICAgIHJldHVybmVkIGJ5
IGBNZWRpYVBsYXllclByaXZhdGU6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkYCB3aWxs
IGNoYW5nZSBhcyB0aGUgbmV3CisgICAgICAgICJyZWFsIiBgTWVkaWFQbGF5ZXJQcml2YXRlYCBt
YXkgaGF2ZSBkaWZmZXJlbnQgbG9naWMuIEluIHRoaXMgY2FzZSwgdGhlIGBNZWRpYVBsYXllcmAK
KyAgICAgICAgZG9lc24ndCB1cGRhdGUgaXRzIGNsaWVudCAoYW5kIHRoZXJlZm9yZSBub3RoaW5n
ICJ1cCIgdGhlIHRyZWUsIGluY2x1ZGluZyB0aGUgY2xpZW50J3MKKyAgICAgICAgY2xpZW50cykg
d2l0aCB0aGUgbmV3IGBNZWRpYVBsYXllclByaXZhdGU6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rp
c2FibGVkYCB2YWx1ZSwgbWVhbmluZworICAgICAgICB0aGF0IHRoZSBvbGQgdmFsdWUgd2lsbCBz
dGlsbCBiZSB1c2VkLgorCisgICAgICAgIEFkZCBwaXBpbmcgc3VjaCB0aGF0IHdoZW4gdGhlIGBN
ZWRpYVBsYXllckZhY3RvcnlgICJlbmdpbmUiIGNoYW5nZXMsIHRoZSBgTWVkaWFQbGF5ZXJgCisg
ICAgICAgIG5vdGlmaWVzIGl0cyBjbGllbnQgKHdoaWNoIGlzIGZ1cnRoZXIgcGlwZWQgInVwIiB0
aGUgdHJlZSB0byB0aGUgY2xpZW50J3MgY2xpZW50cykgd2hpY2gKKyAgICAgICAgZXZlbnR1YWxs
eSBjYXVzZXMgYE1lZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJs
ZWRgIHRvIGJlIHJlLWV2YWx1YXRlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGll
bnQ6OnBsYXliYWNrQ29udHJvbHNNZWRpYUVuZ2luZUNoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW06CisgICAgICAgIChXZWJL
aXQ6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6Om1lZGlhRW5naW5lQ2hhbmdlZCk6IEFkZGVkLgor
CiAyMDIwLTA5LTIxICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgog
CiAgICAgICAgIEFsbG93IGFib3V0OmJsYW5rIHN1YmZyYW1lIGxvYWRzIGZvciBub24gYXBwLWJv
dW5kIHRvcCBmcmFtZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBkMjY3ZTRjMDBh
YThkMzQ0YmViMzhjNDY0MDkxZDExNDVjZTRjNWY4Li5iMTllNWE3ZTUzYjFmYjQ2N2M4OTM5Njgx
NjNmNmNkMDMyYjNjMzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzEgQEAKKzIwMjAtMDktMjMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisg
ICAgICAgIFtpT1NdIHVuYWJsZSB0byBhaXJwbGF5IGRpcmVjdGx5IGxvYWRlZCBmdWxsc2NyZWVu
IHZpZGVvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTY4NTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4NzQ2MzIxPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0J3MgcG9zc2libGUgdGhhdCBgTWVk
aWFQbGF5ZXJQcml2YXRlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZGAgaXMgcXVlcmll
ZCBiZWZvcmUgYQorICAgICAgICAicmVhbCIgYE1lZGlhUGxheWVyUHJpdmF0ZWAgKGkuZS4gbm90
IGBOdWxsTWVkaWFQbGF5ZXJQcml2YXRlYCkgaXMgaW5pdGlhbGl6ZWQgdGhyb3VnaCBvbmUKKyAg
ICAgICAgb2YgdGhlIHJlZ2lzdGVyZWQgYE1lZGlhUGxheWVyRmFjdG9yeWAgImVuZ2luZSJzLiBJ
dCdzIGZ1cnRoZXIgcG9zc2libGUgdGhhdCB0aGUgdmFsdWUKKyAgICAgICAgcmV0dXJuZWQgYnkg
YE1lZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRgIHdpbGwg
Y2hhbmdlIGFzIHRoZSBuZXcKKyAgICAgICAgInJlYWwiIGBNZWRpYVBsYXllclByaXZhdGVgIG1h
eSBoYXZlIGRpZmZlcmVudCBsb2dpYy4gSW4gdGhpcyBjYXNlLCB0aGUgYE1lZGlhUGxheWVyYAor
ICAgICAgICBkb2Vzbid0IHVwZGF0ZSBpdHMgY2xpZW50IChhbmQgdGhlcmVmb3JlIG5vdGhpbmcg
InVwIiB0aGUgdHJlZSwgaW5jbHVkaW5nIHRoZSBjbGllbnQncworICAgICAgICBjbGllbnRzKSB3
aXRoIHRoZSBuZXcgYE1lZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWRgIHZhbHVlLCBtZWFuaW5nCisgICAgICAgIHRoYXQgdGhlIG9sZCB2YWx1ZSB3aWxsIHN0
aWxsIGJlIHVzZWQuCisKKyAgICAgICAgQWRkIHBpcGluZyBzdWNoIHRoYXQgd2hlbiB0aGUgYE1l
ZGlhUGxheWVyRmFjdG9yeWAgImVuZ2luZSIgY2hhbmdlcywgdGhlIGBNZWRpYVBsYXllcmAKKyAg
ICAgICAgbm90aWZpZXMgaXRzIGNsaWVudCAod2hpY2ggaXMgZnVydGhlciBwaXBlZCAidXAiIHRo
ZSB0cmVlIHRvIHRoZSBjbGllbnQncyBjbGllbnRzKSB3aGljaAorICAgICAgICBldmVudHVhbGx5
IGNhdXNlcyBgTWVkaWFQbGF5ZXJQcml2YXRlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxl
ZGAgdG8gYmUgcmUtZXZhbHVhdGVkLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50OjpwbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdpbmVD
aGFuZ2VkKTogQWRkZWQuCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3BsYXliYWNr
Q29udHJvbHNNZWRpYUVuZ2luZUNoYW5nZWRdKTogQWRkZWQuCisKIDIwMjAtMDktMTcgIFNhbSBX
ZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRp
bmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgVXNlclRpbWluZyBhbmQgUmVzb3VyY2VUaW1p
bmcgQVBJcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYTRm
MzY3OThlNTRhZjRmZDM5NGY0MjNjNmZiMGE2ZmEwODY5NmIyMS4uN2Y1MGUxYTc5ZTNjOGQyN2Ez
MGYwN2RkZjZiYTZiMDNjMzFmNTdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCkBAIC01MDA2LDExICs1MDA2LDExIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
bWVkaWFFbmdpbmVXYXNVcGRhdGVkKCkKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKQotICAgIGlmICghbV9wbGF5ZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBt
X3BsYXllci0+c2V0VmlkZW9GdWxsc2NyZWVuRnJhbWUobV92aWRlb0Z1bGxzY3JlZW5GcmFtZSk7
Ci0gICAgbV9wbGF5ZXItPnNldFZpZGVvRnVsbHNjcmVlbkdyYXZpdHkobV92aWRlb0Z1bGxzY3Jl
ZW5HcmF2aXR5KTsKLSAgICBtX3BsYXllci0+c2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIobV92aWRl
b0Z1bGxzY3JlZW5MYXllci5nZXQoKSk7CisgICAgaWYgKG1fcGxheWVyKSB7CisgICAgICAgIG1f
cGxheWVyLT5zZXRWaWRlb0Z1bGxzY3JlZW5GcmFtZShtX3ZpZGVvRnVsbHNjcmVlbkZyYW1lKTsK
KyAgICAgICAgbV9wbGF5ZXItPnNldFZpZGVvRnVsbHNjcmVlbkdyYXZpdHkobV92aWRlb0Z1bGxz
Y3JlZW5HcmF2aXR5KTsKKyAgICAgICAgbV9wbGF5ZXItPnNldFZpZGVvRnVsbHNjcmVlbkxheWVy
KG1fdmlkZW9GdWxsc2NyZWVuTGF5ZXIuZ2V0KCkpOworICAgIH0KICNlbmRpZgogCiAjaWYgRU5B
QkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKQEAgLTUwMjAsNiArNTAyMCw5IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFFbmdpbmVXYXNVcGRhdGVkKCkKICNpZiBFTkFCTEUoTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB1cGRh
dGVTaG91bGRDb250aW51ZUFmdGVyTmVlZEtleSgpOwogI2VuZGlmCisKKyAgICBpZiAoYXV0byog
cGFnZSA9IGRvY3VtZW50KCkucGFnZSgpKQorICAgICAgICBwYWdlLT5wbGF5YmFja0NvbnRyb2xz
TWVkaWFFbmdpbmVDaGFuZ2VkKCk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQ
bGF5ZXJFbmdpbmVVcGRhdGVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGU5
MmFhYTA2ZmQ5Y2U0YzQ5MjUyMDNkMjcxMTNlMDJhZDIwZDJjNWUuLmRkYzhjZGU2YWY1OGY4OGEz
NTBjNzBiYTYxOWM1MjczZGI2MWEyZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApA
QCAtMzY4LDYgKzM2OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZW50ZXJWaWRlb0Z1
bGxzY3JlZW5Gb3JWaWRlb0VsZW1lbnQoSFRNTFZpZGVvRWxlbWVudCYsIEhUTUxNZWRpYUVsZW1l
bnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZSwgYm9vbCBzdGFuZGJ5KSB7IFVOVVNFRF9QQVJB
TShzdGFuZGJ5KTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRVcFBsYXliYWNrQ29udHJvbHNNYW5h
Z2VyKEhUTUxNZWRpYUVsZW1lbnQmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlcigpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja0NvbnRyb2xz
TWVkaWFFbmdpbmVDaGFuZ2VkKCkgeyB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9VU0FH
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGQ0NWQzNDQ0MDcwYTQ3OGMzMmM3NTJmMDgxOTZlYmJm
NDIyMWU0NzEuLjVjZDgwYzlkNmNkZmMxNGE2YTY4YTZiMjAwYjEwMzQ1MDk2ZjY4MmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcApAQCAtMTk3OSw2ICsxOTc5LDExIEBAIHZvaWQgUGFnZTo6cGxheWJhY2tD
b250cm9sc01hbmFnZXJVcGRhdGVUaW1lckZpcmVkKCkKIAogI2VuZGlmCiAKK3ZvaWQgUGFnZTo6
cGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdlZCgpCit7CisgICAgY2hyb21lKCkuY2xp
ZW50KCkucGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdlZCgpOworfQorCiB2b2lkIFBh
Z2U6OnNldE11dGVkKE1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBtdXRlZCkKIHsKICAg
ICBtX211dGVkU3RhdGUgPSBtdXRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggYWRmOTA2MmNiMGEyYTk2
ODk5NDI3YjRiYmJhMzYxZTgxMTdkOTk3MC4uMmI1MmU1ZGY5NjcwMjY0OWI3MjY3YWI5ZjEwZmUw
ZjlhZmI0MmEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTYzOSw2ICs2MzksNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc0F1ZGlvTXV0ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUgJiBNZWRp
YVByb2R1Y2VyOjpBdWRpb0lzTXV0ZWQ7IH0KICAgICBib29sIGlzTWVkaWFDYXB0dXJlTXV0ZWQo
KSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVh
bUNhcHR1cmVJc011dGVkOyB9OwogICAgIHZvaWQgc2NoZWR1bGVQbGF5YmFja0NvbnRyb2xzTWFu
YWdlclVwZGF0ZSgpOworICAgIHZvaWQgcGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdl
ZCgpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TXV0ZWQoTWVkaWFQcm9kdWNlcjo6TXV0
ZWRTdGF0ZUZsYWdzKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3BNZWRpYUNhcHR1cmUo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tT
ZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgKaW5kZXggOTM3NDE4MzQyZDMxNjVj
ZmFmYTFiNWRjMDZmZTQ3NjAwZGMyOTdlYy4uZjYyOTQxNzgxMDQzNDYzY2E1NTA0ZmNkNTExYWUx
OTZmMDY0NzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCkBAIC01MCw2ICs1
MCw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1lZGlhRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50Kik7CiAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9tZWRpYUVsZW1lbnQuZ2V0KCk7IH0KIAorICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgbWVkaWFFbmdpbmVDaGFuZ2VkKCk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGhhbmRsZUV2ZW50KFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXZWJDb3JlOjpF
dmVudCYpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRlRm9yRXZlbnROYW1lKGNvbnN0IFdURjo6QXRv
bVN0cmluZyYpOwogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBFdmVudExpc3RlbmVyJiByaHMp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYkNvcmU6OkV2ZW50TGlz
dGVuZXIqPih0aGlzKSA9PSAmcmhzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1t
CmluZGV4IDZlMzYyZGU4MTg3ZWFjYjg3YTA0NGVkNTVjN2M3ODYxNTFiOGZkZTEuLjVlNjAxZDM3
YTU3ZTM4MzljOGJjYzViYzVhM2IxZDQ1NDE0MDExMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVk
aWFFbGVtZW50Lm1tCkBAIC0xMTcsNiArMTE3LDEzIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
CiAgICAgICAgIGNsaWVudC0+aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChpc1Bp
Y3R1cmVJblBpY3R1cmVTdXBwb3J0ZWQoKSk7CiB9CiAKK3ZvaWQgUGxheWJhY2tTZXNzaW9uTW9k
ZWxNZWRpYUVsZW1lbnQ6Om1lZGlhRW5naW5lQ2hhbmdlZCgpCit7CisgICAgYm9vbCB3aXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZCA9IHRoaXMtPndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkKCk7CisgICAgZm9yIChhdXRvIGNsaWVudCA6IG1fY2xpZW50cykKKyAgICAgICAgY2xpZW50
LT53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQod2lyZWxlc3NWaWRlb1BsYXli
YWNrRGlzYWJsZWQpOworfQorCiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
OjpoYW5kbGVFdmVudChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV2ViQ29yZTo6
RXZlbnQmIGV2ZW50KQogewogICAgIHVwZGF0ZUZvckV2ZW50TmFtZShldmVudC50eXBlKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBiY2MyNTRiYTQ0Zjc3NjE2ZDk4MDM5MjhkYjliNmZh
NjJmNTg2ZDJiLi4zYTVmMTUzZGJmM2EyNGZlNTgyZjE0ZThkZGQxNTdhNzU4NjhiNWQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtOTk1LDYgKzk5NSwxMSBAQCB2b2lkIFdlYkNocm9tZUNs
aWVudDo6Y2xlYXJQbGF5YmFja0NvbnRyb2xzTWFuYWdlcigpCiAgICAgbV9wYWdlLnBsYXliYWNr
U2Vzc2lvbk1hbmFnZXIoKS5jbGVhclBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKCk7CiB9CiAKK3Zv
aWQgV2ViQ2hyb21lQ2xpZW50OjpwbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdpbmVDaGFuZ2VkKCkK
K3sKKyAgICBtX3BhZ2UucGxheWJhY2tTZXNzaW9uTWFuYWdlcigpLm1lZGlhRW5naW5lQ2hhbmdl
ZCgpOworfQorCiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9VU0FHRSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAppbmRleCA5YmZiYzgyZTE5YWNjNGE5YzI0ZDNjNzk3ODI5YWQyYWUxNDZkOGVjLi5hNTQx
M2RhYTUzZWNkZjc2MWRhMWQ3MTNkOThhYjM3NGUyOTE1NmJlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CkBAIC0yNzIsNiArMjcyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGV4aXRWaWRlb0Z1bGxzY3Jl
ZW5Gb3JWaWRlb0VsZW1lbnQoV2ViQ29yZTo6SFRNTFZpZGVvRWxlbWVudCYpIGZpbmFsOwogICAg
IHZvaWQgc2V0VXBQbGF5YmFja0NvbnRyb2xzTWFuYWdlcihXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50JikgZmluYWw7CiAgICAgdm9pZCBjbGVhclBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKCkgZmlu
YWw7CisgICAgdm9pZCBwbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdpbmVDaGFuZ2VkKCkgZmluYWw7
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9VU0FHRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCmluZGV4IDg4
MjU3ZmQwZjhkZGNlOTllYThkOTI0MTBmOWZjMmY3OTVmNTdlNzQuLjBjNmJkNzE3MjAyYjE3ODJk
Y2IzMmY3ZDY5NjgyNDg4M2U1Mjg0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaApAQCAtMTA0LDYgKzEwNCw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0VXBQbGF5YmFja0NvbnRyb2xzTWFuYWdlcihXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Jik7CiAgICAgdm9pZCBjbGVhclBsYXliYWNrQ29udHJvbHNN
YW5hZ2VyKCk7CisgICAgdm9pZCBtZWRpYUVuZ2luZUNoYW5nZWQoKTsKICAgICBQbGF5YmFja1Nl
c3Npb25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWRGb3JNZWRpYUVsZW1lbnQoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudCYpOwogCiAgICAgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCogY3Vy
cmVudFBsYXliYWNrQ29udHJvbHNFbGVtZW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbSBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCmluZGV4
IGExOTYyNDAyYzBiNmU4NzA5NTQwN2JjY2I1MWYxY2Q4NDE2ODU3NjkuLjkyMGZiOTRiNWVlZjc4
MzBkMWYwYjlmMjE0YWY5YWI2NTM3OTQ4M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCkBAIC0yODUsNiAr
Mjg1LDE4IEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6Y2xlYXJQbGF5YmFja0NvbnRy
b2xzTWFuYWdlcigpCiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHk6OkNsZWFyUGxheWJhY2tDb250cm9sc01hbmFnZXIoKSk7CiB9CiAKK3ZvaWQg
UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bWVkaWFFbmdpbmVDaGFuZ2VkKCkKK3sKKyAgICBpZiAo
IW1fY29udHJvbHNNYW5hZ2VyQ29udGV4dElkKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRv
IGl0ID0gbV9jb250ZXh0TWFwLmZpbmQobV9jb250cm9sc01hbmFnZXJDb250ZXh0SWQpOworICAg
IGlmIChpdCA9PSBtX2NvbnRleHRNYXAuZW5kKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHN0
ZDo6Z2V0PDA+KGl0LT52YWx1ZSktPm1lZGlhRW5naW5lQ2hhbmdlZCgpOworfQorCiBQbGF5YmFj
a1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpjb250ZXh0
SWRGb3JNZWRpYUVsZW1lbnQoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudCYgbWVkaWFFbGVtZW50
KQogewogICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9tZWRpYUVsZW1lbnRzLmVuc3VyZSgmbWVkaWFF
bGVtZW50LCBbJl0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA5YzA5NWE3NDAyNGQwNmM5ZjBjODA5
OGVjNGQyY2U5ODk5NGNlMjU1Li5lNzNiYzMyYTYyYjI5NjRmYzJmYThjNjE0N2NmYzAwMGEyNDNh
YmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTkzLDYgKzE5Myw3IEBAIHByaXZhdGU6CiAjaWYg
RU5BQkxFKFZJREVPKSAmJiBQTEFURk9STShNQUMpICYmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkKICAgICB2b2lkIHNldFVwUGxheWJhY2tDb250cm9sc01hbmFnZXIoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudCYpIGZpbmFsOwogICAgIHZvaWQgY2xlYXJQbGF5YmFja0NvbnRyb2xz
TWFuYWdlcigpIGZpbmFsOworICAgIHZvaWQgcGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hh
bmdlZCgpIGZpbmFsOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklERU8pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0g
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
bW0KaW5kZXggZjZlMmIxOGU4MGM1ODkzNjYwZmU3OWFlYWY1ZGFhMzdiNDNjN2Q4MS4uMDllMjI0
ZTQ5NDk3YjYyODg4NTRmZTI0YWU0NWZkOGZmN2NiZjdiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpA
QCAtMTAyOSw2ICsxMDI5LDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpjbGVhclBsYXliYWNr
Q29udHJvbHNNYW5hZ2VyKCkKICAgICBbbV93ZWJWaWV3IF9jbGVhclBsYXliYWNrQ29udHJvbHNN
YW5hZ2VyXTsKIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OnBsYXliYWNrQ29udHJvbHNNZWRp
YUVuZ2luZUNoYW5nZWQoKQoreworICAgIFttX3dlYlZpZXcgX3BsYXliYWNrQ29udHJvbHNNZWRp
YUVuZ2luZUNoYW5nZWRdOworfQorCiAjZW5kaWYKIAogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQ
SSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjODg3
Yjg1MzQ1ODNhZjBlZGQwMmU0MTdmMmFhNmViOWM1OTk3ZmRkLi5mZTRiZDFmYWQ3ZGQzODdhOTkx
NzRlN2Y4ZDgzNTgwNGZkMTZhYWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCkBAIC05NTE5LDYgKzk1MTksMTQgQEAgLSAodm9pZClfY2xlYXJQbGF5YmFj
a0NvbnRyb2xzTWFuYWdlcgogICAgIFtzZWxmIHVwZGF0ZVRvdWNoQmFyXTsKIH0KIAorLSAodm9p
ZClfcGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdlZAoreworICAgIGlmICghX3ByaXZh
dGUtPnBsYXliYWNrU2Vzc2lvbk1vZGVsKQorICAgICAgICByZXR1cm47CisKKyAgICBfcHJpdmF0
ZS0+cGxheWJhY2tTZXNzaW9uTW9kZWwtPm1lZGlhRW5naW5lQ2hhbmdlZCgpOworfQorCiAjZW5k
aWYgLy8gUExBVEZPUk0oTUFDKQogCiAjZW5kaWYgLy8gRU5BQkxFKFZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0lu
dGVybmFsLmgKaW5kZXggYTc4NWViNzhhNTg0YjhiY2MzMjUyYzJmYjUyNjU5MTExMWFjNDA5My4u
MDg1ZDA3M2JhNjMzOWYzYWE2YzMxYWY0NzMyZjdjNGQyZWFmZDVmNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0yOTEsNiAr
MjkxLDcgQEAgV2ViTGF5b3V0TWlsZXN0b25lcyBraXRMYXlvdXRNaWxlc3RvbmVzKE9wdGlvblNl
dDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+KTsKIC0gKEJPT0wpX2hhc0FjdGl2ZVZpZGVvRm9y
Q29udHJvbHNJbnRlcmZhY2U7CiAtICh2b2lkKV9zZXRVcFBsYXliYWNrQ29udHJvbHNNYW5hZ2Vy
Rm9yTWVkaWFFbGVtZW50OihOYWtlZFJlZjxXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50PiltZWRp
YUVsZW1lbnQ7CiAtICh2b2lkKV9jbGVhclBsYXliYWNrQ29udHJvbHNNYW5hZ2VyOworLSAodm9p
ZClfcGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdlZDsKICNlbmRpZgogI2VuZGlmCiAj
ZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409764</attachid>
            <date>2020-09-25 18:07:34 -0700</date>
            <delta_ts>2020-09-28 11:24:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216858-20200925180733.patch</filename>
            <type>text/plain</type>
            <size>29039</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1ZDA0OTc2OTA5NTU3NjM5YjlmZDk1ZGMwYjM3ZDNjYmFmOTM4ZWE4Li41
ZjI5YzY1ZWRiNDdiYWJlZGQ0Y2FlZjQ1ZmQ3NjAzNDFjYmMyOTA4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzYgQEAKKzIwMjAtMDktMjUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtpT1NdIHVuYWJsZSB0byBhaXJwbGF5IGRpcmVjdGx5IGxvYWRlZCBmdWxs
c2NyZWVuIHZpZGVvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTY4NTgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY4NzQ2MzIxPgorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBJdCdzIHBvc3NpYmxlIHRoYXQg
YE1lZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRgIGlzIHF1
ZXJpZWQgYmVmb3JlIGEKKyAgICAgICAgInJlYWwiIGBNZWRpYVBsYXllclByaXZhdGVgIChpLmUu
IG5vdCBgTnVsbE1lZGlhUGxheWVyUHJpdmF0ZWApIGlzIGluaXRpYWxpemVkIHRocm91Z2ggb25l
CisgICAgICAgIG9mIHRoZSByZWdpc3RlcmVkIGBNZWRpYVBsYXllckZhY3RvcnlgICJlbmdpbmUi
cy4gSXQncyBmdXJ0aGVyIHBvc3NpYmxlIHRoYXQgdGhlIHZhbHVlCisgICAgICAgIHJldHVybmVk
IGJ5IGBNZWRpYVBsYXllclByaXZhdGU6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkYCB3
aWxsIGNoYW5nZSBhcyB0aGUgbmV3CisgICAgICAgICJyZWFsIiBgTWVkaWFQbGF5ZXJQcml2YXRl
YCBtYXkgaGF2ZSBkaWZmZXJlbnQgbG9naWMuIEluIHRoaXMgY2FzZSwgdGhlIGBNZWRpYVBsYXll
cmAKKyAgICAgICAgZG9lc24ndCB1cGRhdGUgaXRzIGNsaWVudCAoYW5kIHRoZXJlZm9yZSBub3Ro
aW5nICJ1cCIgdGhlIHRyZWUsIGluY2x1ZGluZyB0aGUgY2xpZW50J3MKKyAgICAgICAgY2xpZW50
cykgd2l0aCB0aGUgbmV3IGBNZWRpYVBsYXllclByaXZhdGU6OndpcmVsZXNzVmlkZW9QbGF5YmFj
a0Rpc2FibGVkYCB2YWx1ZSwgbWVhbmluZworICAgICAgICB0aGF0IHRoZSBvbGQgdmFsdWUgd2ls
bCBzdGlsbCBiZSB1c2VkLgorCisgICAgICAgIEFkZCBwaXBpbmcgc3VjaCB0aGF0IHdoZW4gdGhl
IGBNZWRpYVBsYXllckZhY3RvcnlgICJlbmdpbmUiIGNoYW5nZXMsIHRoZSBgTWVkaWFQbGF5ZXJg
CisgICAgICAgIG5vdGlmaWVzIGl0cyBjbGllbnQgKHdoaWNoIGlzIGZ1cnRoZXIgcGlwZWQgInVw
IiB0aGUgdHJlZSB0byB0aGUgY2xpZW50J3MgY2xpZW50cykgd2hpY2gKKyAgICAgICAgZXZlbnR1
YWxseSBjYXVzZXMgYE1lZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWRgIHRvIGJlIHJlLWV2YWx1YXRlZC4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYUVuZ2lu
ZVdhc1VwZGF0ZWQpOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2UvUGFn
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpwbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdp
bmVDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6cGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hh
bmdlZCk6IEFkZGVkLgorCisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nl
c3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXliYWNrU2Vz
c2lvbk1vZGVsTWVkaWFFbGVtZW50OjptZWRpYUVuZ2luZUNoYW5nZWQpOiBBZGRlZC4KKwogMjAy
MC0wOS0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFuYWx5
c2VyTm9kZSdzIGdldEJ5dGVGcmVxdWVuY3lEYXRhKCkgLyBnZXRGbG9hdEZyZXF1ZW5jeURhdGEo
KSBzaG91bGQgb25seSBkbyBGRlQgYW5hbHlzaXMgb25jZSBwZXIgcmVuZGVyIHF1YW50dW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNGFkZmMzMzU2YTMzOTc2ZThiYTkzOTZiYmE5MzRlOGY0YzM4OGYzYS4uZDI0Mjhm
YjNlN2QwY2Y3NzllMjIwOWRiMTljM2M5MDUyNDEwODhkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
OSBAQAorMjAyMC0wOS0yNSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAg
ICAgICAgW2lPU10gdW5hYmxlIHRvIGFpcnBsYXkgZGlyZWN0bHkgbG9hZGVkIGZ1bGxzY3JlZW4g
dmlkZW8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
Njg1OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjg3NDYzMjE+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEl0J3MgcG9zc2libGUgdGhhdCBgTWVkaWFQ
bGF5ZXJQcml2YXRlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZGAgaXMgcXVlcmllZCBi
ZWZvcmUgYQorICAgICAgICAicmVhbCIgYE1lZGlhUGxheWVyUHJpdmF0ZWAgKGkuZS4gbm90IGBO
dWxsTWVkaWFQbGF5ZXJQcml2YXRlYCkgaXMgaW5pdGlhbGl6ZWQgdGhyb3VnaCBvbmUKKyAgICAg
ICAgb2YgdGhlIHJlZ2lzdGVyZWQgYE1lZGlhUGxheWVyRmFjdG9yeWAgImVuZ2luZSJzLiBJdCdz
IGZ1cnRoZXIgcG9zc2libGUgdGhhdCB0aGUgdmFsdWUKKyAgICAgICAgcmV0dXJuZWQgYnkgYE1l
ZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRgIHdpbGwgY2hh
bmdlIGFzIHRoZSBuZXcKKyAgICAgICAgInJlYWwiIGBNZWRpYVBsYXllclByaXZhdGVgIG1heSBo
YXZlIGRpZmZlcmVudCBsb2dpYy4gSW4gdGhpcyBjYXNlLCB0aGUgYE1lZGlhUGxheWVyYAorICAg
ICAgICBkb2Vzbid0IHVwZGF0ZSBpdHMgY2xpZW50IChhbmQgdGhlcmVmb3JlIG5vdGhpbmcgInVw
IiB0aGUgdHJlZSwgaW5jbHVkaW5nIHRoZSBjbGllbnQncworICAgICAgICBjbGllbnRzKSB3aXRo
IHRoZSBuZXcgYE1lZGlhUGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJs
ZWRgIHZhbHVlLCBtZWFuaW5nCisgICAgICAgIHRoYXQgdGhlIG9sZCB2YWx1ZSB3aWxsIHN0aWxs
IGJlIHVzZWQuCisKKyAgICAgICAgQWRkIHBpcGluZyBzdWNoIHRoYXQgd2hlbiB0aGUgYE1lZGlh
UGxheWVyRmFjdG9yeWAgImVuZ2luZSIgY2hhbmdlcywgdGhlIGBNZWRpYVBsYXllcmAKKyAgICAg
ICAgbm90aWZpZXMgaXRzIGNsaWVudCAod2hpY2ggaXMgZnVydGhlciBwaXBlZCAidXAiIHRoZSB0
cmVlIHRvIHRoZSBjbGllbnQncyBjbGllbnRzKSB3aGljaAorICAgICAgICBldmVudHVhbGx5IGNh
dXNlcyBgTWVkaWFQbGF5ZXJQcml2YXRlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZGAg
dG8gYmUgcmUtZXZhbHVhdGVkLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6
cGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvY29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6
UGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bWVkaWFFbmdpbmVDaGFuZ2VkKTogQWRkZWQuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0aW5nLm1tOgorICAg
ICAgICAoLVtXS1dlYlZpZXcgX3dpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkXSk6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OndpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKTogQWRkZWQuCisgICAgICAgIENyZWF0ZSBhZGRpdGlv
bmFsIGZ1bmN0aW9ucyBmb3IgcGlwaW5nIGRhdGEgdG8gdGVzdHMuCisKIDIwMjAtMDktMjEgIEth
dGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cg
YWJvdXQ6Ymxhbmsgc3ViZnJhbWUgbG9hZHMgZm9yIG5vbiBhcHAtYm91bmQgdG9wIGZyYW1lcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGQyNjdlNGMwMGFhOGQzNDRiZWIzOGM0NjQw
OTFkMTE0NWNlNGM1ZjguLjM4NTY2NTczNWJmYjg3OGE4Mzk0NGZlNGUxOTRmNjI2NGQ3ZDY0YTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAyMC0wOS0y
NSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gdW5h
YmxlIHRvIGFpcnBsYXkgZGlyZWN0bHkgbG9hZGVkIGZ1bGxzY3JlZW4gdmlkZW8KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjg1OAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNjg3NDYzMjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgorCisgICAgICAgIEl0J3MgcG9zc2libGUgdGhhdCBgTWVkaWFQbGF5ZXJQcml2YXRlOjp3
aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZGAgaXMgcXVlcmllZCBiZWZvcmUgYQorICAgICAg
ICAicmVhbCIgYE1lZGlhUGxheWVyUHJpdmF0ZWAgKGkuZS4gbm90IGBOdWxsTWVkaWFQbGF5ZXJQ
cml2YXRlYCkgaXMgaW5pdGlhbGl6ZWQgdGhyb3VnaCBvbmUKKyAgICAgICAgb2YgdGhlIHJlZ2lz
dGVyZWQgYE1lZGlhUGxheWVyRmFjdG9yeWAgImVuZ2luZSJzLiBJdCdzIGZ1cnRoZXIgcG9zc2li
bGUgdGhhdCB0aGUgdmFsdWUKKyAgICAgICAgcmV0dXJuZWQgYnkgYE1lZGlhUGxheWVyUHJpdmF0
ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRgIHdpbGwgY2hhbmdlIGFzIHRoZSBuZXcK
KyAgICAgICAgInJlYWwiIGBNZWRpYVBsYXllclByaXZhdGVgIG1heSBoYXZlIGRpZmZlcmVudCBs
b2dpYy4gSW4gdGhpcyBjYXNlLCB0aGUgYE1lZGlhUGxheWVyYAorICAgICAgICBkb2Vzbid0IHVw
ZGF0ZSBpdHMgY2xpZW50IChhbmQgdGhlcmVmb3JlIG5vdGhpbmcgInVwIiB0aGUgdHJlZSwgaW5j
bHVkaW5nIHRoZSBjbGllbnQncworICAgICAgICBjbGllbnRzKSB3aXRoIHRoZSBuZXcgYE1lZGlh
UGxheWVyUHJpdmF0ZTo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRgIHZhbHVlLCBtZWFu
aW5nCisgICAgICAgIHRoYXQgdGhlIG9sZCB2YWx1ZSB3aWxsIHN0aWxsIGJlIHVzZWQuCisKKyAg
ICAgICAgQWRkIHBpcGluZyBzdWNoIHRoYXQgd2hlbiB0aGUgYE1lZGlhUGxheWVyRmFjdG9yeWAg
ImVuZ2luZSIgY2hhbmdlcywgdGhlIGBNZWRpYVBsYXllcmAKKyAgICAgICAgbm90aWZpZXMgaXRz
IGNsaWVudCAod2hpY2ggaXMgZnVydGhlciBwaXBlZCAidXAiIHRoZSB0cmVlIHRvIHRoZSBjbGll
bnQncyBjbGllbnRzKSB3aGljaAorICAgICAgICBldmVudHVhbGx5IGNhdXNlcyBgTWVkaWFQbGF5
ZXJQcml2YXRlOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZGAgdG8gYmUgcmUtZXZhbHVh
dGVkLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAoV2ViQ2hy
b21lQ2xpZW50OjpwbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdpbmVDaGFuZ2VkKTogQWRkZWQuCisg
ICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3BsYXliYWNrQ29udHJvbHNNZWRpYUVuZ2lu
ZUNoYW5nZWRdKTogQWRkZWQuCisKIDIwMjAtMDktMTcgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rp
c2FibGluZyB0aGUgVXNlclRpbWluZyBhbmQgUmVzb3VyY2VUaW1pbmcgQVBJcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggYTRmMzY3OThlNTRhZjRmZDM5NGY0
MjNjNmZiMGE2ZmEwODY5NmIyMS4uN2Y1MGUxYTc5ZTNjOGQyN2EzMGYwN2RkZjZiYTZiMDNjMzFm
NTdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01MDA2
LDExICs1MDA2LDExIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFFbmdpbmVXYXNVcGRh
dGVkKCkKICNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQotICAg
IGlmICghbV9wbGF5ZXIpCi0gICAgICAgIHJldHVybjsKLSAgICBtX3BsYXllci0+c2V0VmlkZW9G
dWxsc2NyZWVuRnJhbWUobV92aWRlb0Z1bGxzY3JlZW5GcmFtZSk7Ci0gICAgbV9wbGF5ZXItPnNl
dFZpZGVvRnVsbHNjcmVlbkdyYXZpdHkobV92aWRlb0Z1bGxzY3JlZW5HcmF2aXR5KTsKLSAgICBt
X3BsYXllci0+c2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIobV92aWRlb0Z1bGxzY3JlZW5MYXllci5n
ZXQoKSk7CisgICAgaWYgKG1fcGxheWVyKSB7CisgICAgICAgIG1fcGxheWVyLT5zZXRWaWRlb0Z1
bGxzY3JlZW5GcmFtZShtX3ZpZGVvRnVsbHNjcmVlbkZyYW1lKTsKKyAgICAgICAgbV9wbGF5ZXIt
PnNldFZpZGVvRnVsbHNjcmVlbkdyYXZpdHkobV92aWRlb0Z1bGxzY3JlZW5HcmF2aXR5KTsKKyAg
ICAgICAgbV9wbGF5ZXItPnNldFZpZGVvRnVsbHNjcmVlbkxheWVyKG1fdmlkZW9GdWxsc2NyZWVu
TGF5ZXIuZ2V0KCkpOworICAgIH0KICNlbmRpZgogCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkKQEAgLTUwMjAsNiArNTAyMCw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
bWVkaWFFbmdpbmVXYXNVcGRhdGVkKCkKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB1cGRhdGVTaG91bGRDb250aW51ZUFm
dGVyTmVlZEtleSgpOwogI2VuZGlmCisKKyAgICBpZiAoYXV0byogcGFnZSA9IGRvY3VtZW50KCku
cGFnZSgpKQorICAgICAgICBwYWdlLT5wbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdpbmVDaGFuZ2Vk
KCk7CiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbmdpbmVVcGRhdGVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGU5MmFhYTA2ZmQ5Y2U0YzQ5MjUy
MDNkMjcxMTNlMDJhZDIwZDJjNWUuLmRkYzhjZGU2YWY1OGY4OGEzNTBjNzBiYTYxOWM1MjczZGI2
MWEyZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzY4LDYgKzM2OCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZW50ZXJWaWRlb0Z1bGxzY3JlZW5Gb3JWaWRlb0Vs
ZW1lbnQoSFRNTFZpZGVvRWxlbWVudCYsIEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxs
c2NyZWVuTW9kZSwgYm9vbCBzdGFuZGJ5KSB7IFVOVVNFRF9QQVJBTShzdGFuZGJ5KTsgfQogICAg
IHZpcnR1YWwgdm9pZCBzZXRVcFBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKEhUTUxNZWRpYUVsZW1l
bnQmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJQbGF5YmFja0NvbnRyb2xzTWFuYWdlcigp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBwbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdpbmVDaGFuZ2Vk
KCkgeyB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9VU0FHRSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CmluZGV4IGQ0NWQzNDQ0MDcwYTQ3OGMzMmM3NTJmMDgxOTZlYmJmNDIyMWU0NzEuLjVjZDgwYzlk
NmNkZmMxNGE2YTY4YTZiMjAwYjEwMzQ1MDk2ZjY4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAt
MTk3OSw2ICsxOTc5LDExIEBAIHZvaWQgUGFnZTo6cGxheWJhY2tDb250cm9sc01hbmFnZXJVcGRh
dGVUaW1lckZpcmVkKCkKIAogI2VuZGlmCiAKK3ZvaWQgUGFnZTo6cGxheWJhY2tDb250cm9sc01l
ZGlhRW5naW5lQ2hhbmdlZCgpCit7CisgICAgY2hyb21lKCkuY2xpZW50KCkucGxheWJhY2tDb250
cm9sc01lZGlhRW5naW5lQ2hhbmdlZCgpOworfQorCiB2b2lkIFBhZ2U6OnNldE11dGVkKE1lZGlh
UHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFncyBtdXRlZCkKIHsKICAgICBtX211dGVkU3RhdGUgPSBt
dXRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggYWRmOTA2MmNiMGEyYTk2ODk5NDI3YjRiYmJhMzYxZTgx
MTdkOTk3MC4uMmI1MmU1ZGY5NjcwMjY0OWI3MjY3YWI5ZjEwZmUwZjlhZmI0MmEzZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTYzOSw2ICs2MzksNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0F1ZGlvTXV0
ZWQoKSBjb25zdCB7IHJldHVybiBtX211dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpBdWRpb0lz
TXV0ZWQ7IH0KICAgICBib29sIGlzTWVkaWFDYXB0dXJlTXV0ZWQoKSBjb25zdCB7IHJldHVybiBt
X211dGVkU3RhdGUgJiBNZWRpYVByb2R1Y2VyOjpNZWRpYVN0cmVhbUNhcHR1cmVJc011dGVkOyB9
OwogICAgIHZvaWQgc2NoZWR1bGVQbGF5YmFja0NvbnRyb2xzTWFuYWdlclVwZGF0ZSgpOworICAg
IHZvaWQgcGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdlZCgpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0TXV0ZWQoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzKTsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN0b3BNZWRpYUNhcHR1cmUoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1v
ZGVsTWVkaWFFbGVtZW50LmgKaW5kZXggOTM3NDE4MzQyZDMxNjVjZmFmYTFiNWRjMDZmZTQ3NjAw
ZGMyOTdlYy4uZjYyOTQxNzgxMDQzNDYzY2E1NTA0ZmNkNTExYWUxOTZmMDY0NzNhMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCkBAIC01MCw2ICs1MCw4IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50Kik7
CiAgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9t
ZWRpYUVsZW1lbnQuZ2V0KCk7IH0KIAorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbWVkaWFFbmdp
bmVDaGFuZ2VkKCk7CisKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGhhbmRsZUV2ZW50KFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBXZWJDb3JlOjpFdmVudCYpIGZpbmFsOwogICAg
IHZvaWQgdXBkYXRlRm9yRXZlbnROYW1lKGNvbnN0IFdURjo6QXRvbVN0cmluZyYpOwogICAgIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBFdmVudExpc3RlbmVyJiByaHMpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIHN0YXRpY19jYXN0PGNvbnN0IFdlYkNvcmU6OkV2ZW50TGlzdGVuZXIqPih0aGlzKSA9PSAm
cmhzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFj
a1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCmluZGV4IDZlMzYyZGU4MTg3
ZWFjYjg3YTA0NGVkNTVjN2M3ODYxNTFiOGZkZTEuLjVlNjAxZDM3YTU3ZTM4MzljOGJjYzViYzVh
M2IxZDQ1NDE0MDExMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29h
L1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCkBAIC0x
MTcsNiArMTE3LDEzIEBAIHZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNl
dE1lZGlhRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsCiAgICAgICAgIGNsaWVudC0+
aXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkQ2hhbmdlZChpc1BpY3R1cmVJblBpY3R1cmVTdXBw
b3J0ZWQoKSk7CiB9CiAKK3ZvaWQgUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6Om1l
ZGlhRW5naW5lQ2hhbmdlZCgpCit7CisgICAgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNh
YmxlZCA9IHRoaXMtPndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCk7CisgICAgZm9yIChh
dXRvIGNsaWVudCA6IG1fY2xpZW50cykKKyAgICAgICAgY2xpZW50LT53aXJlbGVzc1ZpZGVvUGxh
eWJhY2tEaXNhYmxlZENoYW5nZWQod2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQpOworfQor
CiB2b2lkIFBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpoYW5kbGVFdmVudChXZWJD
b3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgV2ViQ29yZTo6RXZlbnQmIGV2ZW50KQogewog
ICAgIHVwZGF0ZUZvckV2ZW50TmFtZShldmVudC50eXBlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRl
c3RpbmcuaAppbmRleCBiODc5NTY3NzVkYzAwMDViMmMyODRkOTk2ZTZlMDNkZWUwOTI0MmVkLi5j
NmM5NzEyMjhhNzUzZjFkMTUyZjg1YmQyNGM1ZDNhYjRiMzQ5ZThmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3Rpbmcu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZUZvclRlc3RpbmcuaApAQCAtNDksNiArNDksNyBAQCB0eXBlZGVmIGVudW0gewogCiAtICh2b2lk
KV9kZW55TmV4dFVzZXJNZWRpYVJlcXVlc3Q7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRNZWRpYUNhcHR1cmVSZXBvcnRpbmdEZWxheUZvclRlc3Rpbmc6KSBkb3VibGUgX21lZGlh
Q2FwdHVyZVJlcG9ydGluZ0RlbGF5Rm9yVGVzdGluZyBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5KSBCT09MIF93aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZDsKIAogLSAoQk9PTClfYmVn
aW5CYWNrU3dpcGVGb3JUZXN0aW5nOwogLSAoQk9PTClfY29tcGxldGVCYWNrU3dpcGVGb3JUZXN0
aW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1Rlc3RpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3VGVzdGluZy5tbQppbmRleCBmNTAyOTZjNGQ3MTJiYjgxOTYyYTNmZTE1ZDU0YzgzOGY0YTY5
Nzk5Li4wYzc2NTIyOTVlYjNmOGVlNjY2MjJlMzE5ZDQxYzQ1MTQ1NzQ2NTYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5t
bQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9ydCAiV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3Rpbmcu
aCIKIAogI2ltcG9ydCAiQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oIgorI2lt
cG9ydCAiUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgiCiAjaW1wb3J0ICJVc2VyTWVkaWFQ
cm9jZXNzTWFuYWdlci5oIgogI2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVyLmgiCiAjaW1w
b3J0ICJXS1dlYlZpZXdJT1MuaCIKQEAgLTIzNiw2ICsyMzcsMTUgQEAgLSAodm9pZClfc2V0TWVk
aWFDYXB0dXJlUmVwb3J0aW5nRGVsYXlGb3JUZXN0aW5nOihkb3VibGUpY2FwdHVyZVJlcG9ydGlu
Z0RlbGF5CiAgICAgX3BhZ2UtPnNldE1lZGlhQ2FwdHVyZVJlcG9ydGluZ0RlbGF5KFNlY29uZHMo
Y2FwdHVyZVJlcG9ydGluZ0RlbGF5KSk7CiB9CiAKKy0gKEJPT0wpX3dpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkCit7CisjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQorICAg
IGlmIChhdXRvKiBwbGF5YmFja1Nlc3Npb25NYW5hZ2VyID0gX3BhZ2UtPnBsYXliYWNrU2Vzc2lv
bk1hbmFnZXIoKSkKKyAgICAgICAgcmV0dXJuIHBsYXliYWNrU2Vzc2lvbk1hbmFnZXItPndpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKCk7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKIC0gKHZvaWQpX2RvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzOihkaXNw
YXRjaF9ibG9ja190KWFjdGlvbgogewogICAgIF9wYWdlLT5kb0FmdGVyUHJvY2Vzc2luZ0FsbFBl
bmRpbmdNb3VzZUV2ZW50cyhbYWN0aW9uID0gbWFrZUJsb2NrUHRyKGFjdGlvbildIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9u
TWFuYWdlclByb3h5LmgKaW5kZXggMGJiMDU5MTc5ODVkMjA3OTZmYjFkYzBhMTZkYWYyNmYxNWYy
NzYyMC4uZmExZjI1ZDVhN2VlNWIxNjJlZWJjMTAwNDcwNDU0NTliOWM0NjliZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxheWJhY2tTZXNzaW9u
TWFuYWdlclByb3h5LmgKQEAgLTg5LDYgKzg5LDggQEAgcHVibGljOgogICAgIHZvaWQgcGljdHVy
ZUluUGljdHVyZVN1cHBvcnRlZENoYW5nZWQoYm9vbCk7CiAgICAgdm9pZCBwaWN0dXJlSW5QaWN0
dXJlQWN0aXZlQ2hhbmdlZChib29sKTsKIAorICAgIGJvb2wgd2lyZWxlc3NWaWRlb1BsYXliYWNr
RGlzYWJsZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3dpcmVsZXNzVmlkZW9QbGF5YmFja0Rp
c2FibGVkOyB9CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFZpZGVvRnVsbHNjcmVlbk1v
ZGVsQ29udGV4dDsKIApAQCAtMTM1LDcgKzEzNyw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBleHRl
cm5hbFBsYXliYWNrRW5hYmxlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZXh0ZXJuYWxQbGF5
YmFja0VuYWJsZWQ7IH0KICAgICBQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFj
a1RhcmdldFR5cGUgZXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2V4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlOyB9CiAgICAgU3RyaW5nIGV4dGVybmFs
UGxheWJhY2tMb2NhbGl6ZWREZXZpY2VOYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9leHRl
cm5hbFBsYXliYWNrTG9jYWxpemVkRGV2aWNlTmFtZTsgfQotICAgIGJvb2wgd2lyZWxlc3NWaWRl
b1BsYXliYWNrRGlzYWJsZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3dpcmVsZXNzVmlkZW9Q
bGF5YmFja0Rpc2FibGVkOyB9CiAgICAgYm9vbCBpc011dGVkKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV9tdXRlZDsgfQogICAgIGRvdWJsZSB2b2x1bWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBt
X3ZvbHVtZTsgfQogICAgIGJvb2wgaXNQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9waWN0dXJlSW5QaWN0dXJlU3VwcG9ydGVkOyB9CkBAIC0xODAsNiAr
MTgxLDkgQEAgcHVibGljOgogICAgIFBsYXRmb3JtUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlKiBj
b250cm9sc01hbmFnZXJJbnRlcmZhY2UoKTsKICAgICB2b2lkIHJlcXVlc3RDb250cm9sbGVkRWxl
bWVudElEKCk7CiAKKyAgICAvLyBGb3IgdGVzdGluZy4KKyAgICBib29sIHdpcmVsZXNzVmlkZW9Q
bGF5YmFja0Rpc2FibGVkKCk7CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFBsYXliYWNr
U2Vzc2lvbk1vZGVsQ29udGV4dDsKICAgICBmcmllbmQgY2xhc3MgVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCmluZGV4IGEwYzhlYzAxNjU2NmY3MGE1
OWY2ZTlkMTE2NWQ4YWFkNGZlM2E0OTguLmJkMzQ1MjJjMDUxNThiMjU0MDE0Mzk4M2Y1MjlkZmYz
OTc2MDI5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KQEAgLTU4MCw2ICs1ODAsMTUgQEAg
dm9pZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFBsYXlpbmdPblNlY29uZFNjcmVl
bihQbGF5YmFja1Nlc3Npb25Db250ZXgKICAgICAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpTZXRQbGF5aW5nT25TZWNvbmRTY3JlZW4oY29udGV4dElk
LCB2YWx1ZSkpOwogfQogCitib29sIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6d2lyZWxl
c3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKQoreworICAgIGF1dG8gaXQgPSBtX2NvbnRleHRNYXAu
ZmluZChtX2NvbnRyb2xzTWFuYWdlckNvbnRleHRJZCk7CisgICAgaWYgKGl0ID09IG1fY29udGV4
dE1hcC5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gc3RkOjpnZXQ8
MD4oaXQtPnZhbHVlKS0+d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoKTsKK30KKwogdm9p
ZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnJlcXVlc3RDb250cm9sbGVkRWxlbWVudElE
KCkKIHsKICAgICBpZiAobV9jb250cm9sc01hbmFnZXJDb250ZXh0SWQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCmluZGV4IGJjYzI1NGJhNDRmNzc2MTZkOTgwMzkyOGRiOWI2ZmE2MmY1ODZkMmIuLjNh
NWYxNTNkYmYzYTI0ZmU1ODJmMTRlOGRkZDE1N2E3NTg2OGI1ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCkBAIC05OTUsNiArOTk1LDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpjbGVhclBs
YXliYWNrQ29udHJvbHNNYW5hZ2VyKCkKICAgICBtX3BhZ2UucGxheWJhY2tTZXNzaW9uTWFuYWdl
cigpLmNsZWFyUGxheWJhY2tDb250cm9sc01hbmFnZXIoKTsKIH0KIAordm9pZCBXZWJDaHJvbWVD
bGllbnQ6OnBsYXliYWNrQ29udHJvbHNNZWRpYUVuZ2luZUNoYW5nZWQoKQoreworICAgIG1fcGFn
ZS5wbGF5YmFja1Nlc3Npb25NYW5hZ2VyKCkubWVkaWFFbmdpbmVDaGFuZ2VkKCk7Cit9CisKICNl
bmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1VTQUdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDli
ZmJjODJlMTlhY2M0YTljMjRkM2M3OTc4MjlhZDJhZTE0NmQ4ZWMuLmE1NDEzZGFhNTNlY2RmNzYx
ZGExZDcxM2Q5OGFiMzc0ZTI5MTU2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTI3Miw2ICsy
NzIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZXhpdFZpZGVvRnVsbHNjcmVlbkZvclZpZGVvRWxl
bWVudChXZWJDb3JlOjpIVE1MVmlkZW9FbGVtZW50JikgZmluYWw7CiAgICAgdm9pZCBzZXRVcFBs
YXliYWNrQ29udHJvbHNNYW5hZ2VyKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQmKSBmaW5hbDsK
ICAgICB2b2lkIGNsZWFyUGxheWJhY2tDb250cm9sc01hbmFnZXIoKSBmaW5hbDsKKyAgICB2b2lk
IHBsYXliYWNrQ29udHJvbHNNZWRpYUVuZ2luZUNoYW5nZWQoKSBmaW5hbDsKICNlbmRpZgogCiAj
aWYgRU5BQkxFKE1FRElBX1VTQUdFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKaW5kZXggODgyNTdmZDBmOGRkY2U5
OWVhOGQ5MjQxMGY5ZmMyZjc5NWY1N2U3NC4uMGM2YmQ3MTcyMDJiMTc4MmRjYjMyZjdkNjk2ODI0
ODgzZTUyODRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1Bs
YXliYWNrU2Vzc2lvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oCkBAIC0xMDQsNiArMTA0LDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzZXRVcFBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKFdlYkNvcmU6OkhUTUxNZWRp
YUVsZW1lbnQmKTsKICAgICB2b2lkIGNsZWFyUGxheWJhY2tDb250cm9sc01hbmFnZXIoKTsKKyAg
ICB2b2lkIG1lZGlhRW5naW5lQ2hhbmdlZCgpOwogICAgIFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJ
ZGVudGlmaWVyIGNvbnRleHRJZEZvck1lZGlhRWxlbWVudChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50Jik7CiAKICAgICBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50KiBjdXJyZW50UGxheWJhY2tD
b250cm9sc0VsZW1lbnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9QbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KaW5kZXggYTE5NjI0MDJjMGI2
ZTg3MDk1NDA3YmNjYjUxZjFjZDg0MTY4NTc2OS4uOTIwZmI5NGI1ZWVmNzgzMGQxZjBiOWYyMTRh
ZjlhYjY1Mzc5NDgzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1BsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KQEAgLTI4NSw2ICsyODUsMTggQEAgdm9p
ZCBQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpjbGVhclBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKCkK
ICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6
Q2xlYXJQbGF5YmFja0NvbnRyb2xzTWFuYWdlcigpKTsKIH0KIAordm9pZCBQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyOjptZWRpYUVuZ2luZUNoYW5nZWQoKQoreworICAgIGlmICghbV9jb250cm9sc01h
bmFnZXJDb250ZXh0SWQpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gaXQgPSBtX2NvbnRl
eHRNYXAuZmluZChtX2NvbnRyb2xzTWFuYWdlckNvbnRleHRJZCk7CisgICAgaWYgKGl0ID09IG1f
Y29udGV4dE1hcC5lbmQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc3RkOjpnZXQ8MD4oaXQt
PnZhbHVlKS0+bWVkaWFFbmdpbmVDaGFuZ2VkKCk7Cit9CisKIFBsYXliYWNrU2Vzc2lvbkNvbnRl
eHRJZGVudGlmaWVyIFBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmNvbnRleHRJZEZvck1lZGlhRWxl
bWVudChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50JiBtZWRpYUVsZW1lbnQpCiB7CiAgICAgYXV0
byBhZGRSZXN1bHQgPSBtX21lZGlhRWxlbWVudHMuZW5zdXJlKCZtZWRpYUVsZW1lbnQsIFsmXSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCmluZGV4IDljMDk1YTc0MDI0ZDA2YzlmMGM4MDk4ZWM0ZDJjZTk4OTk0
Y2UyNTUuLmU3M2JjMzJhNjJiMjk2NGZjMmZhOGM2MTQ3Y2ZjMDAwYTI0M2FiYTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCkBAIC0xOTMsNiArMTkzLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoVklERU8p
ICYmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQogICAg
IHZvaWQgc2V0VXBQbGF5YmFja0NvbnRyb2xzTWFuYWdlcihXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50JikgZmluYWw7CiAgICAgdm9pZCBjbGVhclBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKCkgZmlu
YWw7CisgICAgdm9pZCBwbGF5YmFja0NvbnRyb2xzTWVkaWFFbmdpbmVDaGFuZ2VkKCkgZmluYWw7
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQppbmRleCBmNmUy
YjE4ZTgwYzU4OTM2NjBmZTc5YWVhZjVkYWEzN2I0M2M3ZDgxLi4wOWUyMjRlNDk0OTdiNjI4ODg1
NGZlMjRhZTQ1ZmQ4ZmY3Y2JmN2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBAIC0xMDI5LDYgKzEw
MjksMTEgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmNsZWFyUGxheWJhY2tDb250cm9sc01hbmFn
ZXIoKQogICAgIFttX3dlYlZpZXcgX2NsZWFyUGxheWJhY2tDb250cm9sc01hbmFnZXJdOwogfQog
Cit2b2lkIFdlYkNocm9tZUNsaWVudDo6cGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdl
ZCgpCit7CisgICAgW21fd2ViVmlldyBfcGxheWJhY2tDb250cm9sc01lZGlhRW5naW5lQ2hhbmdl
ZF07Cit9CisKICNlbmRpZgogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGM4ODdiODUzNDU4M2FmMGVk
ZDAyZTQxN2YyYWE2ZWI5YzU5OTdmZGQuLmZlNGJkMWZhZDdkZDM4N2E5OTE3NGU3ZjhkODM1ODA0
ZmQxNmFhZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
QEAgLTk1MTksNiArOTUxOSwxNCBAQCAtICh2b2lkKV9jbGVhclBsYXliYWNrQ29udHJvbHNNYW5h
Z2VyCiAgICAgW3NlbGYgdXBkYXRlVG91Y2hCYXJdOwogfQogCistICh2b2lkKV9wbGF5YmFja0Nv
bnRyb2xzTWVkaWFFbmdpbmVDaGFuZ2VkCit7CisgICAgaWYgKCFfcHJpdmF0ZS0+cGxheWJhY2tT
ZXNzaW9uTW9kZWwpCisgICAgICAgIHJldHVybjsKKworICAgIF9wcml2YXRlLT5wbGF5YmFja1Nl
c3Npb25Nb2RlbC0+bWVkaWFFbmdpbmVDaGFuZ2VkKCk7Cit9CisKICNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCiAKICNlbmRpZiAvLyBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAppbmRl
eCBhNzg1ZWI3OGE1ODRiOGJjYzMyNTJjMmZiNTI2NTkxMTExYWM0MDkzLi4wODVkMDczYmE2MzM5
ZjNhYTZjMzFhZjQ3MzJmN2M0ZDJlYWZkNWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKQEAgLTI5MSw2ICsyOTEsNyBAQCBXZWJM
YXlvdXRNaWxlc3RvbmVzIGtpdExheW91dE1pbGVzdG9uZXMoT3B0aW9uU2V0PFdlYkNvcmU6Okxh
eW91dE1pbGVzdG9uZT4pOwogLSAoQk9PTClfaGFzQWN0aXZlVmlkZW9Gb3JDb250cm9sc0ludGVy
ZmFjZTsKIC0gKHZvaWQpX3NldFVwUGxheWJhY2tDb250cm9sc01hbmFnZXJGb3JNZWRpYUVsZW1l
bnQ6KE5ha2VkUmVmPFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ+KW1lZGlhRWxlbWVudDsKIC0g
KHZvaWQpX2NsZWFyUGxheWJhY2tDb250cm9sc01hbmFnZXI7CistICh2b2lkKV9wbGF5YmFja0Nv
bnRyb2xzTWVkaWFFbmdpbmVDaGFuZ2VkOwogI2VuZGlmCiAjZW5kaWYKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg5Y2M0Y2I2ZDk2
NjcxNzk4YmQxYWIwYTAzMGQ2ZTM5ZWIyYWFmNWMuLmUyZWZiZTkwODNkY2E5NjBmNmZjZWI3NzA1
NGI3YTIyZDI3MmE2MjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wOS0yNSAgRGV2aW4gUm91c3NvICA8ZHJv
dXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gdW5hYmxlIHRvIGFpcnBsYXkgZGlyZWN0
bHkgbG9hZGVkIGZ1bGxzY3JlZW4gdmlkZW8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNjg1OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjg3NDYz
MjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYURvY3VtZW50Lm1tOiBBZGRlZC4KKyAg
ICAgICAgKE1lZGlhRG9jdW1lbnQuV2lyZWxlc3NQbGF5YmFja0VuYWJsZWQpOgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKIDIwMjAtMDktMjEgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdW1dQRV0gV0tUUiBoYXMgbG9zdCBhY2Nlc3MgdG8gUHVsc2VhdWRpbwpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0MWM0YTE3NTRlMDMxYTExYTAzMDE0MmIzZjE2Mzhh
NTc5M2YxYjBlLi5hMDcyNzdmNzhhNjcxZjVkNzdjZjZlZWJkNzU2YjM5NWJiNDJmMDk4IDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODI0LDYgKzgyNCw3IEBACiAJCTkzRjU2REE3MUU1Rjkx
NzQwMDNFREU4NCAvKiBsaWJpY3Vjb3JlLmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4M0UwMzMxRDBBNUYyNzAwRkVCQ0YzIC8qIGxpYmlj
dWNvcmUuZHlsaWIgKi87IH07CiAJCTkzRjU2REE5MUU1RjkxOUQwMDNFREU4NCAvKiBXS1dlYlZp
ZXdTbmFwc2hvdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzRjU2REE4MUU1RjkxODEwMDNFREU4NCAvKiBXS1dlYlZpZXdTbmFwc2hvdC5tbSAqLzsg
fTsKIAkJOTNGN0U4NkYxNERDOEU1QzAwQzg0QTk5IC8qIE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0
eUxheW91dEZyYW1lc19CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTNGN0U4NkUxNERDOEU1QjAwQzg0QTk5IC8qIE5ld0ZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dEZyYW1lc19CdW5kbGUuY3BwICovOyB9OworCQk5NUI2QjNCNzI1MUVC
RjJGMDBGQzQzODIgLyogTWVkaWFEb2N1bWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk1QjZCM0I2MjUxRUJGMkYwMEZDNDM4MiAvKiBNZWRpYURv
Y3VtZW50Lm1tICovOyB9OwogCQk5OTg0RkFDQzFDRkZBRjYwMDA4RDE5OEMgLyogV0tXZWJWaWV3
VGV4dElucHV0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTk4NEZBQ0ExQ0ZGQUVFRTAwOEQxOThDIC8qIFdLV2ViVmlld1RleHRJbnB1dC5tbSAqLzsg
fTsKIAkJOTk4NEZBQ0UxQ0ZGQjA5MDAwOEQxOThDIC8qIGVkaXRhYmxlLWJvZHkuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTg0RkFD
RDFDRkZCMDM4MDA4RDE5OEMgLyogZWRpdGFibGUtYm9keS5odG1sICovOyB9OwogCQk5OTk5MTA4
QjFGMzkzQzk2MDA4QUQ0NTUgLyogQ29weWluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5OTkxMDhBMUYzOTNDOEIwMDhBRDQ1NSAvKiBDb3B5aW5n
Lm1tICovOyB9OwpAQCAtMjQyMiw2ICsyNDIzLDcgQEAKIAkJOTNGNTZEQTgxRTVGOTE4MTAwM0VE
RTg0IC8qIFdLV2ViVmlld1NuYXBzaG90Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV0tXZWJWaWV3U25hcHNob3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzRjdFODZCMTREQzhFNEQwMEM4NEE5OSAvKiBOZXdGaXJzdFZpc3VhbGx5Tm9uRW1w
dHlMYXlvdXRGcmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RnJhbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTNGN0U4NkUxNERDOEU1QjAwQzg0QTk5IC8qIE5ld0ZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dEZyYW1lc19CdW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RnJhbWVzX0J1bmRs
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk1QjZCM0I2MjUxRUJGMkYwMEZD
NDM4MiAvKiBNZWRpYURvY3VtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gTWVkaWFEb2N1bWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTk4NEZBQ0ExQ0ZGQUVFRTAwOEQxOThDIC8qIFdLV2ViVmlld1RleHRJbnB1dC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLV2ViVmlld1RleHRJbnB1dC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTk4NEZBQ0QxQ0ZGQjAzODAwOEQxOThDIC8q
IGVkaXRhYmxlLWJvZHkuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJlZGl0YWJs
ZS1ib2R5Lmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTk5MTA4QTFGMzkz
QzhCMDA4QUQ0NTUgLyogQ29weWluZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IENvcHlpbmcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMjY2
LDYgKzMyNjgsNyBAQAogCQkJCThDMTBBRjk2MjA2NDY3NzcwMDE4RkQ5MCAvKiBMb2NhbFN0b3Jh
Z2VQZXJzaXN0ZW5jZS5tbSAqLywKIAkJCQk3QTZBMkM2RjFEQ0NGODdCMDBDMEQwODUgLyogTG9j
YWxTdG9yYWdlUXVpcmtUZXN0Lm1tICovLAogCQkJCTA3Q0M3REZEMjI2NjMzMDgwMEUzOTE4MSAv
KiBNZWRpYUJ1ZmZlcmluZ1BvbGljeS5tbSAqLywKKwkJCQk5NUI2QjNCNjI1MUVCRjJGMDBGQzQz
ODIgLyogTWVkaWFEb2N1bWVudC5tbSAqLywKIAkJCQlDRDAzNzBFMjI0QTQ0QjdBMDBCQTNDQUUg
LyogTWVkaWFMb2FkaW5nLm1tICovLAogCQkJCTUxQkU5RTY1MjM3NjA4OTUwMEI0RTExNyAvKiBN
ZWRpYVR5cGUubW0gKi8sCiAJCQkJNTE2NUZFMDMyMDFFRTYxNzAwOUY3RUMzIC8qIE1lc3NhZ2VQ
b3J0UHJvdmlkZXJzLm1tICovLApAQCAtNTIzOCw2ICs1MjQxLDcgQEAKIAkJCQk1MTBBOTIwQzI0
RDUyNzU1MDBCRkQ4OUMgLyogTG9naXRlY2hGNzEwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Ux
ODY2NDkxRjcyRThGMTAwQTBDQUI2IC8qIE1hcmtlZFRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDdDQzdERkUyMjY2MzMwOTAwRTM5MTgxIC8qIE1lZGlhQnVmZmVyaW5nUG9saWN5Lm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJOTVCNkIzQjcyNTFFQkYyRjAwRkM0MzgyIC8qIE1lZGlhRG9jdW1l
bnQubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDAzNzBFMzI0QTQ0RDk2MDBCQTNDQUUgLyogTWVk
aWFMb2FkaW5nLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMzE1OTgxRUQ1MzY1MTAwOUY2MEQz
IC8qIE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNE
Qzk0NDJFMUVGMUZDMDgwMDU5QzNDNCAvKiBNZWRpYVN0cmVhbVRyYWNrRGV0YWNoZWQubW0gaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvTWVkaWFEb2N1bWVudC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvTWVkaWFEb2N1bWVudC5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZGJlOWE5MWU0YTExYTNhZjU3Yjhl
MjI5Yjg3MzJmM2I5YjZhZGY2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9NZWRpYURvY3VtZW50Lm1tCkBAIC0wLDAgKzEsNTIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0
aWVzLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJW
aWV3UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5n
Lmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
IHsKKworI2lmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKKworVEVTVChNZWRpYURv
Y3VtZW50LCBXaXJlbGVzc1BsYXliYWNrRW5hYmxlZCkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAwLCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlv
bi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNdKTsKKworICAgIE5TVVJMICp2aWRlb1VSTCA9IFtbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJ0ZXN0IiB3aXRoRXh0ZW5zaW9uOkAi
bXA0IiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworICAgIFt3ZWJW
aWV3IGxvYWRGaWxlVVJMOnZpZGVvVVJMIGFsbG93aW5nUmVhZEFjY2Vzc1RvVVJMOnZpZGVvVVJM
XTsKKworICAgIHdoaWxlICghW3dlYlZpZXcgX3dpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVk
XSkKKyAgICAgICAgVXRpbDo6c2xlZXAoMC4xKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShWSURF
T19QUkVTRU5UQVRJT05fTU9ERSkKKworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>