<?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>236602</bug_id>
          
          <creation_ts>2022-02-14 12:01:25 -0800</creation_ts>
          <short_desc>[macOS] Add a context menu item to &quot;Copy Cropped Image&quot;</short_desc>
          <delta_ts>2022-02-15 13:58:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>236628</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1841347</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-14 12:01:25 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841355</commentid>
    <comment_count>1</comment_count>
      <attachid>451931</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-14 12:20:22 -0800</bug_when>
    <thetext>Created attachment 451931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841381</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-14 13:13:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/88924479&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841823</commentid>
    <comment_count>3</comment_count>
      <attachid>451931</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2022-02-15 11:15:47 -0800</bug_when>
    <thetext>Comment on attachment 451931
Patch

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

&gt; Source/WebCore/page/ContextMenuController.cpp:258
&gt; +        break;

Why are we sure we won&apos;t ever get here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841828</commentid>
    <comment_count>4</comment_count>
      <attachid>451931</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-15 11:20:21 -0800</bug_when>
    <thetext>Comment on attachment 451931
Patch

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

Thanks for the review!

&gt;&gt; Source/WebCore/page/ContextMenuController.cpp:258
&gt;&gt; +        break;
&gt; 
&gt; Why are we sure we won&apos;t ever get here?

Good question! We won&apos;t ever get here because we expect to handle this item in the client layer, similar to ContextMenuItemTagQuickLookImage.

I&apos;ll move this case down next to ContextMenuItemTagQuickLookImage, so that the &quot;This should be handled at the client layer.&quot; comment will apply to both.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841845</commentid>
    <comment_count>5</comment_count>
      <attachid>452070</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-15 11:43:48 -0800</bug_when>
    <thetext>Created attachment 452070
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841933</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-15 13:58:22 -0800</bug_when>
    <thetext>Committed r289851 (247293@main): &lt;https://commits.webkit.org/247293@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452070.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451931</attachid>
            <date>2022-02-14 12:20:22 -0800</date>
            <delta_ts>2022-02-15 11:15:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236602-20220214122021.patch</filename>
            <type>text/plain</type>
            <size>26451</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5NzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjUwYzVhNDI0ZjFiMjdm
OWFjODQ5NGFhZDZmY2RlODU5NzBjNTM3OS4uMmRlZTNiMDhhNTA1MjcyYjFhYjI4ZmM5MThjZTRl
NTJhOTBkYjVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIyLTAyLTE0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRk
IGEgY29udGV4dCBtZW51IGl0ZW0gdG8gIkNvcHkgQ3JvcHBlZCBJbWFnZSIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjYwMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBDb250ZXh0TWVudUl0ZW1U
YWdDb3B5Q3JvcHBlZEltYWdlLCBhbmQgaGFuZGxlIGl0IGluIHZhcmlvdXMgY29udGV4dCBtZW51
IGNvZGVwYXRocyB0aHJvdWdob3V0IFdlYkNvcmUuCisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlD
bGllbnRzLmNwcDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q2xpZW50Lmg6CisKKyAgICAg
ICAgQWRkIGEgY2xpZW50IGhvb2sgdG8gYWxsb3cgdXMgdG8gZGlzYWJsZSB0aGlzIGl0ZW0gaW4g
V2ViS2l0TGVnYWN5LCBidXQgZW5hYmxlIGl0IGluIHRoZSBtb2Rlcm4gV2ViS2l0IHBvcnQuCisK
KyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6cG9wdWxhdGUpOgorCisgICAg
ICAgIEluc2VydCB0aGlzIG5ldyBpdGVtLCBhZGphY2VudCB0byB0aGUgZXhpc3RpbmcgIkNvcHkg
SW1hZ2UiIGl0ZW0uCisKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
Y2hlY2tPckVuYWJsZUlmTmVlZGVkIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Db250ZXh0
TWVudUl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZENvbnRleHRNZW51QWN0aW9u
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaDoKKworICAgICAgICBBZGQg
YSBuZXcgY29udGV4dCBtZW51IGl0ZW0gdGFnIGZvciBDb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3Jv
cHBlZEltYWdlOyBhZGRpdGlvbmFsbHksIGFkZCBhIG5ldyBzcGVjaWFsIHRhZywKKyAgICAgICAg
Q29udGV4dE1lbnVJdGVtVGFnTGFzdE5vbkN1c3RvbVRhZywgdGhhdCB3aWxsIGFsd2F5cyBwb2lu
dCB0byB0aGUgbGFzdCBub24tY3VzdG9tIChlbmdpbmUtc3VwcG9ydGVkKSBjb250ZXh0CisgICAg
ICAgIG1lbnUgaXRlbSBpbiB0aGlzIGVudW1lcmF0aW9uLiBUaGlzIG1ha2VzIGl0IHNvIHRoYXQg
d2UgY2FuIHN0b3AgZmlkZGxpbmcgd2l0aCB0aGUgQVBJIHRlc3QKKyAgICAgICAgYFdlYkNvcmUu
Q29udGV4dE1lbnVBY3Rpb25fSXNWYWxpZEVudW1gIGV2ZXJ5IHRpbWUgd2UgYWRkIGEgbmV3IGNv
bnRleHQgbWVudSB0eXBlLCBhcyBsb25nIGFzIHdlIHVwZGF0ZSB0aGUKKyAgICAgICAgQ29udGV4
dE1lbnVJdGVtVGFnTGFzdE5vbkN1c3RvbVRhZy4KKworICAgICAgICAqIHBsYXRmb3JtL0xvY2Fs
aXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9Mb2NhbGl6ZWRTdHJpbmdz
Q29jb2EubW06CisKKyAgICAgICAgUHVsbCB0aGUgbG9jYWxpemVkIHN0cmluZyBmb3IgIkNvcHkg
Q3JvcHBlZCBJbWFnZSIgb3V0IGludG8gYSBzZXBhcmF0ZSBsb2NhbGl6ZWQgc3RyaW5nIGhlbHBl
ciBmdW5jdGlvbi4KKworICAgICAgICAoV2ViQ29yZTo6Y29udGV4dE1lbnVJdGVtVGFnQ29weUNy
b3BwZWRJbWFnZSk6CisKIDIwMjItMDItMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVmYWN0b3IgbG9naWMgZm9yIHdyaXRpbmcgc2VsZWN0ZWQg
dGV4dCBpbiBpbWFnZSBvdmVybGF5cyB0byB0aGUgcGFzdGVib2FyZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1N2Ni
ZmUyMjVkNjNmMzZlYTFkMTQ2YmVjMWUwOTFlZTcxNTg5ZjUxLi5kYWQyMmQ4MjA5ZmMwY2I4MDJh
ZDdiN2YxNWY4ZDhkNjI5NDQ3OTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIyLTAy
LTE0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtt
YWNPU10gQWRkIGEgY29udGV4dCBtZW51IGl0ZW0gdG8gIkNvcHkgQ3JvcHBlZCBJbWFnZSIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjYwMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBhIG5ldyBjb250ZXh0IG1lbnUgaXRlbSB0aGF0IGludm9rZXMgbWFya3VwIHdoZW4gY29w
eWluZyBhbiBpbWFnZS4gU2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBT
aGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oOgorICAgICAgICAqIFNoYXJlZC9B
UEkvYy9XS1NoYXJlZEFQSUNhc3QuaDoKKyAgICAgICAgKFdlYktpdDo6dG9BUEkpOgorICAgICAg
ICAoV2ViS2l0Ojp0b0ltcGwpOgorCisgICAgICAgIEhhbmRsZSB0aGUgbmV3IGNvbnRleHQgbWVu
dSBlbnVtIHRhZy4KKworICAgICAgICAqIFNoYXJlZC9XZWJIaXRUZXN0UmVzdWx0RGF0YS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHREYXRhOjpXZWJIaXRUZXN0UmVzdWx0
RGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHREYXRhOjplbmNvZGUgY29u
c3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0UmVzdWx0RGF0YTo6ZGVjb2RlKToKKyAg
ICAgICAgKiBTaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERhdGEuaDoKKworICAgICAgICBBZGQgYSBu
ZXcgYHNvdXJjZUltYWdlTUlNRVR5cGVgIG1lbWJlciB0aGF0IHByb3ZpZGVzIHRoZSBvcmlnaW5h
bCBNSU1FIHR5cGUgb2YgdGhlIHNvdXJjZSBpbWFnZSBjb3JyZXNwb25kaW5nIHRvCisgICAgICAg
IHRoZSBpbWFnZSBiaXRtYXAgaW4gV2ViSGl0VGVzdFJlc3VsdERhdGEuIFdlIHVzZSB0aGlzIGJl
bG93LCBpbiBgaGFuZGxlQ29udGV4dE1lbnVDb3B5Q3JvcHBlZEltYWdlYC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbToKKyAgICAgICAgKCtbX1dL
RWxlbWVudEFjdGlvbiBfZWxlbWVudEFjdGlvbldpdGhUeXBlOmN1c3RvbVRpdGxlOmFzc2lzdGFu
dDpdKToKKworICAgICAgICBSZXBsYWNlIHRoZSBsb2NhbGl6ZWQgc3RyaW5nIG1hY3JvIHdpdGgg
YSBjYWxsIHRvIHRoZSBuZXcgbG9jYWxpemVkIHN0cmluZyBoZWxwZXIgZnVuY3Rpb24uCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmhhbmRsZUNvbnRleHRNZW51Q29w
eUNyb3BwZWRJbWFnZSk6CisKKyAgICAgICAgSGFuZGxlIHRoZSBuZXcgY29udGV4dCBtZW51IGl0
ZW0gYWN0aW9uIGJ5IGNhbGxpbmcgaW50byBgcmVxdWVzdEltYWdlQW5hbHlzaXNNYXJrdXBgIGFu
ZCB3cml0aW5nIHRoZSByZXN1bHQKKyAgICAgICAgdG8gdGhlIHBhc3RlYm9hcmQgKHRyYW5zY29k
aW5nIGJhY2sgdG8gdGhlIE1JTUUgdHlwZSBvZiB0aGUgc291cmNlIGltYWdlLCBpZiBwb3NzaWJs
ZSkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51
Q2xpZW50Lmg6CisKIDIwMjItMDItMTMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0xpdmUgVGV4dF0gUGx1bWIgcGxhdGZvcm0gaW1hZ2UgYW5hbHlz
aXMgb2JqZWN0cyB0byB0aGUgd2ViIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpp
bmRleCA2ODAzOTQ4NThhMTViOGEyNTY5NmFhZWM3YzhkOTRhYTczYWQ3MjIzLi5iYmIwYmNiOThk
YmRhZDYwYjI2MDNiNWZmZWY3MmI3NzdkYzcxY2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjItMDItMTQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBBZGQgYSBjb250ZXh0IG1lbnUgaXRl
bSB0byAiQ29weSBDcm9wcGVkIEltYWdlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgU2VlIFdlYkNvcmUgYW5kIFdlYktpdCBDaGFuZ2VMb2dzIGZvciBt
b3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNs
aWVudC5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICh0b1Rh
Zyk6CisKIDIwMjItMDItMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCBmaXggYnVpbGQgd2l0aCB0aGUgbGF0ZXN0IGlPUyBTREsuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDM0NTNmZDVhNjhhYWJiZjYzMWMw
ZmJhYmViYjlkY2Y0MDdkMTlmYzUuLjlhNGQ4NTdiNmI3NmJmZDFlMmFmNDAxOWE1ODcwNjliZjdj
MTA1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0xNDIsNiAr
MTQyLDEwIEBAIGNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgZmluYWwgOiBwdWJsaWMgQ29u
dGV4dE1lbnVDbGllbnQgewogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKICAgICBib29sIHN1
cHBvcnRzTG9va1VwSW5JbWFnZXMoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCisK
KyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorICAgIGJvb2wgc3VwcG9y
dHNDb3B5Q3JvcHBlZEltYWdlKCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogfTsK
IAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNsaWVudC5oCmluZGV4IDc2MmZmZWM4NDRmMDQwYTQwNmU4MDJiMWI0NjhjYWU3MTky
OTk1OTcuLmZmY2FkOTMwY2IwZDlmMGI3ZmM4OWE3MjE1YWI4NTI3M2E2MWY4M2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmgKQEAgLTU1LDYgKzU1LDEwIEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNMb29rVXBJbkltYWdlcygpID0gMDsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKKyAgICB2aXJ0dWFs
IGJvb2wgc3VwcG9ydHNDb3B5Q3JvcHBlZEltYWdlKCkgPSAwOworI2VuZGlmCisKICNpZiBIQVZF
KFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVUcmFuc2xh
dGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpID0gMDsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDdhODVi
ZDU1YWJhZDMxNTdlZmQxYzBjMTU0ZDBkYTdjZTU1N2Q1YWYuLmE3NzJjYjliNDQ5MjdhMTE1NGY4
NWQ4ZmQwZGQwMGEzYmNlOTkwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5jcHAKQEAgLTI1Myw2ICsyNTMsOSBAQCB2b2lkIENvbnRleHRNZW51Q29u
dHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24gYWN0aW9u
LCBjbwogICAgICAgICAvLyBGb3Igbm93LCBjYWxsIGludG8gdGhlIGNsaWVudC4gVGhpcyBpcyB0
ZW1wb3JhcnkhCiAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS5jb3B5SW1hZ2UobV9jb250ZXh0Lmhp
dFRlc3RSZXN1bHQoKSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnQ29weUNyb3BwZWRJbWFnZToKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIGJyZWFrOwogI2lmIFBMQVRGT1JNKEdUSykKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkOgogICAgICAgICBmcmFtZS0+ZWRpdG9yKCkuY29weVVS
TChtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLmFic29sdXRlSW1hZ2VVUkwoKSwgbV9jb250ZXh0
LmhpdFRlc3RSZXN1bHQoKS50ZXh0Q29udGVudCgpKTsKQEAgLTg0Miw2ICs4NDUsMTAgQEAgdm9p
ZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKCkKICAgICBDb250ZXh0TWVudUl0ZW0g
U2hhcmVNZW51SXRlbShTdWJtZW51VHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnU2hhcmVNZW51LCBl
bXB0eVN0cmluZygpKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFO
Q0VNRU5UUykKKyAgICBDb250ZXh0TWVudUl0ZW0gY29weUNyb3BwZWRJbWFnZUl0ZW0geyBBY3Rp
b25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlLCBjb250ZXh0TWVudUl0
ZW1UYWdDb3B5Q3JvcHBlZEltYWdlKCkgfTsKKyNlbmRpZgorCiAgICAgTm9kZSogbm9kZSA9IG1f
Y29udGV4dC5oaXRUZXN0UmVzdWx0KCkuaW5uZXJOb25TaGFyZWROb2RlKCk7CiAgICAgaWYgKCFu
b2RlKQogICAgICAgICByZXR1cm47CkBAIC05MTIsMTAgKzkxOSwxNSBAQCB2b2lkIENvbnRleHRN
ZW51Q29udHJvbGxlcjo6cG9wdWxhdGUoKQogICAgICAgICAgICAgaWYgKGltYWdlVVJMLmlzTG9j
YWxGaWxlKCkgfHwgaW1hZ2UpIHsKICAgICAgICAgICAgICAgICBhcHBlbmRJdGVtKENvcHlJbWFn
ZUl0ZW0sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwogCisgICAgICAgICAgICAgICAgaWYgKGltYWdl
ICYmICFpbWFnZS0+aXNBbmltYXRlZCgpKSB7CisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VO
SEFOQ0VNRU5UUykKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1fY2xpZW50LnN1cHBvcnRzQ29w
eUNyb3BwZWRJbWFnZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kSXRlbShjb3B5
Q3JvcHBlZEltYWdlSXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CisjZW5kaWYKICNpZiBFTkFC
TEUoSU1BR0VfQU5BTFlTSVMpCi0gICAgICAgICAgICAgICAgaWYgKG1fY2xpZW50LnN1cHBvcnRz
TG9va1VwSW5JbWFnZXMoKSAmJiBpbWFnZSAmJiAhaW1hZ2UtPmlzQW5pbWF0ZWQoKSkKLSAgICAg
ICAgICAgICAgICAgICAgc2hvdWxkQXBwZW5kUXVpY2tMb29rSW1hZ2VJdGVtID0gdHJ1ZTsKKyAg
ICAgICAgICAgICAgICAgICAgc2hvdWxkQXBwZW5kUXVpY2tMb29rSW1hZ2VJdGVtID0gbV9jbGll
bnQuc3VwcG9ydHNMb29rVXBJbkltYWdlcygpOwogI2VuZGlmCisgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQogI2lmIFBMQVRGT1JNKEdUSykKICAgICAgICAgICAgIGFwcGVuZEl0ZW0o
Q29weUltYWdlVXJsSXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CkBAIC0xNDE3LDYgKzE0Mjks
NyBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVkKENv
bnRleHRNZW51SXRlbSYgaXRlbSkgY29uc3QKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdDb3B5TGlua1RvQ2xpcGJvYXJkOgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09w
ZW5JbWFnZUluTmV3V2luZG93OgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NvcHlJ
bWFnZVRvQ2xpcGJvYXJkOgorICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NvcHlDcm9w
cGVkSW1hZ2U6CiAjaWYgUExBVEZPUk0oR1RLKQogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkOgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ29udGV4dE1lbnVJdGVtLmNwcAppbmRleCA1ZDhmN2I1MjBlYjM3ZDE0NGFmNjY0ZjAz
ZjY3ZjkzNTlhZTc4OTQ0Li4xNzA3OTNjOTIxYTU5ODVjYzhhYzE1NWQwNWFkZmI3NzExYTlmYTgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5jcHAKQEAgLTE1
Myw2ICsxNTMsNyBAQCBib29sIGlzVmFsaWRDb250ZXh0TWVudUFjdGlvbihDb250ZXh0TWVudUFj
dGlvbiBhY3Rpb24pCiAgICAgY2FzZSBDb250ZXh0TWVudUFjdGlvbjo6Q29udGV4dE1lbnVJdGVt
VGFnT3BlbkltYWdlSW5OZXdXaW5kb3c6CiAgICAgY2FzZSBDb250ZXh0TWVudUFjdGlvbjo6Q29u
dGV4dE1lbnVJdGVtVGFnRG93bmxvYWRJbWFnZVRvRGlzazoKICAgICBjYXNlIENvbnRleHRNZW51
QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZDoKKyAgICBjYXNl
IENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlOgog
I2lmIFBMQVRGT1JNKEdUSykKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVu
dUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZDoKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAppbmRleCA2ZTVmNjJlYjY4N2I2NjUyNGIwNTNmODY1
Y2M2NDE4MWE0NjY2YmQzLi40ZjE3NDE1ZWQ0OGNiM2VjZmM2MzE5YWZhNzFhYWJmMTBlMmY3NGU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtMTQ5LDYg
KzE0OSw4IEBAIGVudW0gQ29udGV4dE1lbnVBY3Rpb24gewogICAgIENvbnRleHRNZW51SXRlbVRh
Z0FkZEhpZ2hsaWdodFRvTmV3UXVpY2tOb3RlLAogICAgIENvbnRleHRNZW51SXRlbVRhZ1F1aWNr
TG9va0ltYWdlLAogICAgIENvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZSwKKyAgICBDb250ZXh0
TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlLAorICAgIENvbnRleHRNZW51SXRlbVRhZ0xhc3RO
b25DdXN0b21UYWcgPSBDb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlLAogICAgIENv
bnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcgPSA1MDAwLAogICAgIENvbnRleHRNZW51SXRlbUxh
c3RDdXN0b21UYWcgPSA1OTk5LAogICAgIENvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRh
ZyA9IDEwMDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRT
dHJpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKaW5k
ZXggNjUwYzcyODFmNjJkMDhjZWIwYTUzZWY3NDgzNTJiMzJjMGFlZTA1Zi4uMTY4MThjY2E3NDdl
NjM1OWJjMWIyNmY4MjQ3OGFlYjFlMzk3MzAzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuaApAQCAtMzc3LDYgKzM3NywxMCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1F1aWNrTG9v
a0ltYWdlRm9yVmlzdWFsU2VhcmNoKCk7CiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lT
KQogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKKyAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUNyb3BwZWRJbWFnZSgpOworI2Vu
ZGlmCisKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogICAgIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdUcmFuc2xhdGUoY29uc3QgU3RyaW5nJiBzZWxlY3RlZFN0cmluZyk7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0xvY2FsaXpl
ZFN0cmluZ3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0xvY2FsaXpl
ZFN0cmluZ3NDb2NvYS5tbQppbmRleCBjYzZkZmUzMGViODZiYWE3MGFiMjgxY2NmOTc4OTBiYzll
MGI2ZDZhLi42MThjZWE2YTg1YTY4NTc0NjI3YjBiODdiNWY1NjBkMmM0YWY3YWVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9Mb2NhbGl6ZWRTdHJpbmdzQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTG9jYWxpemVkU3RyaW5nc0Nv
Y29hLm1tCkBAIC0zMTksNCArMzE5LDEzIEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdRdWlj
a0xvb2tJbWFnZUZvclZpc3VhbFNlYXJjaCgpCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5B
TFlTSVMpCiAKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorCitTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUNyb3BwZWRJbWFnZSgpCit7CisgICAgcmV0dXJuIFdF
Ql9VSV9TVFJJTkcoIkNvcHkgQ3JvcHBlZCBJbWFnZSIsICJUaXRsZSBmb3IgQ29weSBDcm9wcGVk
IEltYWdlIik7Cit9CisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgKaW5k
ZXggNDMzYzRjZjIzMTI4ZTJkOGRlYmVlYzkxMTcxNDU1ZTVjNGNiNjUzNS4uYmFhNzFhZjczNzc2
OTY5MTUyZWIyZjEyYjMxZGU4MzRhZWRlYjE2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaApAQCAtMTI3LDYgKzEyNyw3IEBA
IGVudW0gewogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ0FkZEhpZ2hsaWdodFRvTmV3UXVpY2tO
b3RlLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdlLAogICAgIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ1RyYW5zbGF0ZSwKKyAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3Jv
cHBlZEltYWdlLAogICAgIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyA9IDEw
MDAwCiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS0NvbnRleHRNZW51SXRlbVRhZzsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKaW5kZXggN2MzZjFjZWNmMGZj
MDEyZjI3NjlhNjJlOWFkOTI0Y2FhZGE5ZTM4NS4uYTllYWU2NzNkYTNjMTg4MzhmNjEwZGYyNDg2
YmUwMzE3ZGFmNzhlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tT
aGFyZWRBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRB
UElDYXN0LmgKQEAgLTU0Nyw2ICs1NDcsOCBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcg
dG9BUEkoV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gYWN0aW9uKQogICAgICAgICByZXR1cm4g
a1dLQ29udGV4dE1lbnVJdGVtVGFnUmV2ZWFsSW1hZ2U7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdUcmFuc2xhdGU6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0
ZW1UYWdUcmFuc2xhdGU7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5
Q3JvcHBlZEltYWdlOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weUNy
b3BwZWRJbWFnZTsKICAgICBkZWZhdWx0OgogICAgICAgICBpZiAoYWN0aW9uIDwgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtQmFzZUFwcGxpY2F0aW9uVGFnICYmICEoYWN0aW9uID49IFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcgJiYgYWN0aW9uIDw9IFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbUxhc3RDdXN0b21UYWcpKQogICAgICAgICAgICAgTE9HX0VSUk9SKCJDb250ZXh0
TWVudUFjdGlvbiAlaSBpcyBhbiB1bmtub3duIHRhZyBidXQgaXMgYmVsb3cgdGhlIGFsbG93YWJs
ZSBjdXN0b20gdGFnIHZhbHVlIG9mICVpIiwgYWN0aW9uLCBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1CYXNlQXBwbGljYXRpb25UYWcpOwpAQCAtNzQ5LDYgKzc1MSw4IEBAIGlubGluZSBXZWJDb3Jl
OjpDb250ZXh0TWVudUFjdGlvbiB0b0ltcGwoV0tDb250ZXh0TWVudUl0ZW1UYWcgdGFnKQogICAg
ICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnUXVpY2tMb29rSW1hZ2U7CiAg
ICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xhdGU6CiAgICAgICAgIHJldHVybiBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xhdGU7CisgICAgY2FzZSBrV0tDb250ZXh0
TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlOgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnQ29weUNyb3BwZWRJbWFnZTsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51
SXRlbVRhZ09wZW5MaW5rSW5UaGlzV2luZG93OgogICAgIGRlZmF1bHQ6CiAgICAgICAgIGlmICh0
YWcgPCBrV0tDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcgJiYgISh0YWcgPj0gV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyAmJiB0YWcgPD0gV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtTGFzdEN1c3RvbVRhZykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJIaXRUZXN0UmVzdWx0RGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJI
aXRUZXN0UmVzdWx0RGF0YS5jcHAKaW5kZXggYjYwN2FjZTgzOGUwNGJjZTFhNmFlZTRkYTU2NTU5
ZTA5Njk4Mzk4ZS4uYzBiZTNhNDViOThmMDEyZjY2MzAyOWE2ZDVjZjBhODgyYThkYjczYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmNwcApAQCAtMzks
NyArMzksNyBAQCBXZWJIaXRUZXN0UmVzdWx0RGF0YTo6V2ViSGl0VGVzdFJlc3VsdERhdGEoKQog
ewogfQogCi1XZWJIaXRUZXN0UmVzdWx0RGF0YTo6V2ViSGl0VGVzdFJlc3VsdERhdGEoY29uc3Qg
V2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYgaGl0VGVzdFJlc3VsdCwgY29uc3QgU3RyaW5nJiB0b29s
VGlwVGV4dCkKK1dlYkhpdFRlc3RSZXN1bHREYXRhOjpXZWJIaXRUZXN0UmVzdWx0RGF0YShjb25z
dCBIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWx0LCBjb25zdCBTdHJpbmcmIHRvb2xUaXBUZXh0
KQogICAgIDogYWJzb2x1dGVJbWFnZVVSTChoaXRUZXN0UmVzdWx0LmFic29sdXRlSW1hZ2VVUkwo
KS5zdHJpbmcoKSkKICAgICAsIGFic29sdXRlUERGVVJMKGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVQ
REZVUkwoKS5zdHJpbmcoKSkKICAgICAsIGFic29sdXRlTGlua1VSTChoaXRUZXN0UmVzdWx0LmFi
c29sdXRlTGlua1VSTCgpLnN0cmluZygpKQpAQCAtNjEsNyArNjEsNyBAQCBXZWJIaXRUZXN0UmVz
dWx0RGF0YTo6V2ViSGl0VGVzdFJlc3VsdERhdGEoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3Vs
dCYgaGl0VGVzdAogICAgICAgICBpc1Njcm9sbGJhciA9IHNjcm9sbGJhci0+b3JpZW50YXRpb24o
KSA9PSBTY3JvbGxiYXJPcmllbnRhdGlvbjo6SG9yaXpvbnRhbCA/IElzU2Nyb2xsYmFyOjpIb3Jp
em9udGFsIDogSXNTY3JvbGxiYXI6OlZlcnRpY2FsOwogfQogCi1XZWJIaXRUZXN0UmVzdWx0RGF0
YTo6V2ViSGl0VGVzdFJlc3VsdERhdGEoY29uc3QgV2ViQ29yZTo6SGl0VGVzdFJlc3VsdCYgaGl0
VGVzdFJlc3VsdCwgYm9vbCBpbmNsdWRlSW1hZ2UpCitXZWJIaXRUZXN0UmVzdWx0RGF0YTo6V2Vi
SGl0VGVzdFJlc3VsdERhdGEoY29uc3QgSGl0VGVzdFJlc3VsdCYgaGl0VGVzdFJlc3VsdCwgYm9v
bCBpbmNsdWRlSW1hZ2UpCiAgICAgOiBhYnNvbHV0ZUltYWdlVVJMKGhpdFRlc3RSZXN1bHQuYWJz
b2x1dGVJbWFnZVVSTCgpLnN0cmluZygpKQogICAgICwgYWJzb2x1dGVQREZVUkwoaGl0VGVzdFJl
c3VsdC5hYnNvbHV0ZVBERlVSTCgpLnN0cmluZygpKQogICAgICwgYWJzb2x1dGVMaW5rVVJMKGhp
dFRlc3RSZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCkuc3RyaW5nKCkpCkBAIC05Miw4ICs5MiwxNSBA
QCBXZWJIaXRUZXN0UmVzdWx0RGF0YTo6V2ViSGl0VGVzdFJlc3VsdERhdGEoY29uc3QgV2ViQ29y
ZTo6SGl0VGVzdFJlc3VsdCYgaGl0VGVzdAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGF1
dG8gdGFyZ2V0ID0gUmVmUHRyIHsgaGl0VGVzdFJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSB9
OyB0YXJnZXQgJiYgaXM8UmVuZGVySW1hZ2U+KHRhcmdldC0+cmVuZGVyZXIoKSkpCi0gICAgICAg
IGltYWdlQml0bWFwID0gY3JlYXRlU2hhcmVhYmxlQml0bWFwKCpkb3duY2FzdDxSZW5kZXJJbWFn
ZT4odGFyZ2V0LT5yZW5kZXJlcigpKSk7CisgICAgaWYgKGF1dG8gdGFyZ2V0ID0gUmVmUHRyIHsg
aGl0VGVzdFJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSB9KSB7CisgICAgICAgIGlmIChhdXRv
IHJlbmRlcmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckltYWdlPih0YXJnZXQtPnJlbmRlcmVy
KCkpKSB7CisgICAgICAgICAgICBpbWFnZUJpdG1hcCA9IGNyZWF0ZVNoYXJlYWJsZUJpdG1hcCgq
ZG93bmNhc3Q8UmVuZGVySW1hZ2U+KHRhcmdldC0+cmVuZGVyZXIoKSkpOworICAgICAgICAgICAg
aWYgKGF1dG8qIGNhY2hlZEltYWdlID0gcmVuZGVyZXItPmNhY2hlZEltYWdlKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoYXV0byogaW1hZ2UgPSBjYWNoZWRJbWFnZS0+aW1hZ2UoKSkKKyAgICAg
ICAgICAgICAgICAgICAgc291cmNlSW1hZ2VNSU1FVHlwZSA9IGltYWdlLT5taW1lVHlwZSgpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQogfQogCiBXZWJIaXRUZXN0UmVzdWx0RGF0
YTo6fldlYkhpdFRlc3RSZXN1bHREYXRhKCkKQEAgLTEzMCw2ICsxMzcsNyBAQCB2b2lkIFdlYkhp
dFRlc3RSZXN1bHREYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAg
IGlmIChpbWFnZUJpdG1hcCkKICAgICAgICAgaW1hZ2VCaXRtYXAtPmNyZWF0ZUhhbmRsZShpbWFn
ZUJpdG1hcEhhbmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CiAgICAg
ZW5jb2RlciA8PCBpbWFnZUJpdG1hcEhhbmRsZTsKKyAgICBlbmNvZGVyIDw8IHNvdXJjZUltYWdl
TUlNRVR5cGU7CiAKICAgICBib29sIGhhc0xpbmtUZXh0SW5kaWNhdG9yID0gbGlua1RleHRJbmRp
Y2F0b3I7CiAgICAgZW5jb2RlciA8PCBoYXNMaW5rVGV4dEluZGljYXRvcjsKQEAgLTE4Myw2ICsx
OTEsOSBAQCBib29sIFdlYkhpdFRlc3RSZXN1bHREYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBk
ZWNvZGVyLCBXZWJIaXRUZXN0UmVzdWx0RGF0YSYgaAogICAgIGlmICghaW1hZ2VCaXRtYXBIYW5k
bGUuaXNOdWxsKCkpCiAgICAgICAgIGhpdFRlc3RSZXN1bHREYXRhLmltYWdlQml0bWFwID0gU2hh
cmVhYmxlQml0bWFwOjpjcmVhdGUoaW1hZ2VCaXRtYXBIYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJv
dGVjdGlvbjo6UmVhZE9ubHkpOwogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShoaXRUZXN0UmVz
dWx0RGF0YS5zb3VyY2VJbWFnZU1JTUVUeXBlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAg
ICAgYm9vbCBoYXNMaW5rVGV4dEluZGljYXRvcjsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhh
c0xpbmtUZXh0SW5kaWNhdG9yKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmgKaW5kZXggMDVlZWRkOGYwM2U4MTQzZmM4
YWRmNjExMGY4OTFlYWU2ODgyNjIxZC4uOTMyZjhmYWQ3ZDc2NGI5MzgyZjU1MWY2YTk0YTU5Nzll
ZWQzOWVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3Vs
dERhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0RGF0YS5o
CkBAIC02Niw2ICs2Niw3IEBAIHN0cnVjdCBXZWJIaXRUZXN0UmVzdWx0RGF0YSB7CiAgICAgUmVm
UHRyPFNoYXJlZE1lbW9yeT4gaW1hZ2VTaGFyZWRNZW1vcnk7CiAgICAgdWludDY0X3QgaW1hZ2VT
aXplOwogICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGltYWdlQml0bWFwOworICAgIFN0cmlu
ZyBzb3VyY2VJbWFnZU1JTUVUeXBlOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFJldGFpblB0
cjxEREFjdGlvbkNvbnRleHQ+IGRldGVjdGVkRGF0YUFjdGlvbkNvbnRleHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tCmlu
ZGV4IGQ2NDI3OTcxZDY1M2E3YzNjYjk2Mzk3NWQ3MzIzMjZkZTYwNmJjY2MuLmY5NzFhODg3OWJm
NTI4Y2ZiYmI2YzRjN2EwNmEzMDFmOTcxY2Y2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tCkBAIC0xODAsNyArMTgw
LDcgQEAgc3RhdGljIHZvaWQgYWRkVG9SZWFkaW5nTGlzdChOU1VSTCAqdGFyZ2V0VVJMLCBOU1N0
cmluZyAqdGl0bGUpCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgX1dLRWxlbWVudEFjdGlvblR5
cGVDb3B5Q3JvcHBlZEltYWdlOgogI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVO
VFMpCi0gICAgICAgIHRpdGxlID0gV0VCX1VJX1NUUklORygiQ29weSBDcm9wcGVkIEltYWdlIiwg
IlRpdGxlIGZvciBDb3B5IENyb3BwZWQgSW1hZ2UiKTsKKyAgICAgICAgdGl0bGUgPSBXZWJDb3Jl
Ojpjb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlKCk7CiAgICAgICAgIGhhbmRsZXIg
PSBeKFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgKmFzc2lzdGFudCwgX1dLQWN0aXZhdGVkRWxlbWVu
dEluZm8gKmFjdGlvbkluZm8pIHsKICAgICAgICAgICAgIFthc3Npc3RhbnQgaGFuZGxlRWxlbWVu
dEFjdGlvbldpdGhUeXBlOnR5cGUgZWxlbWVudDphY3Rpb25JbmZvIG5lZWRzSW50ZXJhY3Rpb246
WUVTXTsKICAgICAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDllNmU1MmFmYTA0NmM1MzhjY2VjZjM1MDViMzg4NGQzZTExN2IxOWQuLjFlNzUwZWNk
N2QwYTljZTZlNzYzYjBlMGE3M2UyNjcyMGIwMjMzNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNzExMyw2ICs3MTEzLDEzIEBAIHZvaWQgV2ViUGFnZVBy
b3h5Ojpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1EYXRh
JiBpdGVtKQogI2VuZGlmCiAgICAgICAgIHJldHVybjsKIAorICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnQ29weUNyb3BwZWRJbWFnZToKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5D
RU1FTlRTKQorICAgICAgICBpZiAoaGl0VGVzdERhdGEuaW1hZ2VCaXRtYXApCisgICAgICAgICAg
ICBoYW5kbGVDb250ZXh0TWVudUNvcHlDcm9wcGVkSW1hZ2UoKmhpdFRlc3REYXRhLmltYWdlQml0
bWFwLCBoaXRUZXN0RGF0YS5zb3VyY2VJbWFnZU1JTUVUeXBlKTsKKyNlbmRpZgorICAgICAgICBy
ZXR1cm47CisKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDViY2E4MjY1YjY3MmI0MWJkMTk0ZTY2Zjcx
NWNlYjQzMDI1ZjRkMjUuLjc5MWExMWYzN2VmYTgxNWZiOTQ2NjZiYTk1ZDQwNTVmMzE5ZjZhNmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yMDA4LDEwICsyMDA4
LDE0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlzcGF0Y2hXaGVlbEV2ZW50V2l0aG91dFNjcm9s
bGluZyhjb25zdCBXZWJXaGVlbEV2ZW50JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4m
Jik7CiAKLSNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpICYmIEVOQUJMRShDT05URVhUX01FTlVT
KQotICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVMb29rVXBJbWFnZSgpOworI2lmIEVOQUJMRShD
T05URVhUX01FTlVTKQorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKICAgICB2b2lkIGhhbmRs
ZUNvbnRleHRNZW51UXVpY2tMb29rSW1hZ2UoUXVpY2tMb29rUHJldmlld0FjdGl2aXR5KTsKICNl
bmRpZgorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisgICAgdm9pZCBo
YW5kbGVDb250ZXh0TWVudUNvcHlDcm9wcGVkSW1hZ2UoU2hhcmVhYmxlQml0bWFwJiwgY29uc3Qg
U3RyaW5nJiBwcmVmZXJyZWRNSU1FVHlwZSk7CisjZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoQ09O
VEVYVF9NRU5VUykKIAogI2lmIFVTRShBUFBLSVQpCiAgICAgdm9pZCBiZWdpblByZXZpZXdQYW5l
bENvbnRyb2woUUxQcmV2aWV3UGFuZWwgKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYlBhZ2VQcm94eU1hYy5tbQppbmRleCAwODkyODJiNjlhZTY3N2U5M2Q3Zjc0MDY1MjAw
ZTBmMjNkNzQ2ZTRkLi5hZTRhMTkzMTZlMmMyZmUyNjRjMDBlYTc2OTkyOGRmZGEwMGFhMTU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KQEAg
LTI5LDYgKzI5LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAKICNpbXBvcnQgIkFQSVVJQ2xpZW50
LmgiCisjaW1wb3J0ICJDb2NvYUltYWdlLmgiCiAjaW1wb3J0ICJDb25uZWN0aW9uLmgiCiAjaW1w
b3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0ICJFZGl0b3JTdGF0ZS5oIgpAQCAtNDMsNiAr
NDQsNyBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlSG9zdC5oIgogI2ltcG9ydCAiU3RyaW5n
VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXh0Q2hlY2tlci5oIgorI2ltcG9ydCAiVGV4dFJlY29n
bml0aW9uVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJJ
bnRlcm5hbC5oIgogI2ltcG9ydCAiV0tRdWlja0xvb2tQcmV2aWV3Q29udHJvbGxlci5oIgogI2lt
cG9ydCAiV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlLmgiCkBAIC03NzMsNiArNzc1LDMx
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93SW1hZ2VJblF1aWNrTG9va1ByZXZpZXdQYW5lbChT
aGFyZWFibGVCaXRtYXAmIGltYWdlQml0bWFwCiAKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5B
TFlTSVMpCiAKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorCit2b2lk
IFdlYlBhZ2VQcm94eTo6aGFuZGxlQ29udGV4dE1lbnVDb3B5Q3JvcHBlZEltYWdlKFNoYXJlYWJs
ZUJpdG1hcCYgaW1hZ2VCaXRtYXAsIGNvbnN0IFN0cmluZyYgcHJlZmVycmVkTUlNRVR5cGUpCit7
CisgICAgYXV0byBvcmlnaW5hbEltYWdlID0gaW1hZ2VCaXRtYXAubWFrZUNHSW1hZ2UoKTsKKyAg
ICBpZiAoIW9yaWdpbmFsSW1hZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gY2hhbmdl
Q291bnQgPSBOU1Bhc3RlYm9hcmQuZ2VuZXJhbFBhc3RlYm9hcmQuY2hhbmdlQ291bnQ7CisgICAg
cmVxdWVzdEltYWdlQW5hbHlzaXNNYXJrdXAob3JpZ2luYWxJbWFnZS5nZXQoKSwgW2NoYW5nZUNv
dW50LCBvcmlnaW5hbEltYWdlLCBwcmVmZXJyZWRNSU1FVHlwZV0oQ0dJbWFnZVJlZiByZXN1bHRJ
bWFnZSkgeworICAgICAgICBhdXRvIHBhc3RlYm9hcmQgPSBOU1Bhc3RlYm9hcmQuZ2VuZXJhbFBh
c3RlYm9hcmQ7CisgICAgICAgIGlmIChjaGFuZ2VDb3VudCAhPSBwYXN0ZWJvYXJkLmNoYW5nZUNv
dW50KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGF1dG8gW2RhdGEsIHR5cGVdID0g
V2ViS2l0Ojp0cmFuc2NvZGVXaXRoUHJlZmVycmVkTUlNRVR5cGUocmVzdWx0SW1hZ2UgPzogb3Jp
Z2luYWxJbWFnZS5nZXQoKSwgcHJlZmVycmVkTUlNRVR5cGUuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQo
KSwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKVVUVHlwZVRJRkYuaWRlbnRpZmllcik7CisgICAgICAg
IGlmICghZGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBbcGFzdGVib2FyZCBk
ZWNsYXJlVHlwZXM6QFsoX19icmlkZ2UgTlNTdHJpbmcgKil0eXBlLmdldCgpXSBvd25lcjpuaWxd
OworICAgICAgICBbcGFzdGVib2FyZCBzZXREYXRhOmRhdGEuZ2V0KCkgZm9yVHlwZTooX19icmlk
Z2UgTlNTdHJpbmcgKil0eXBlLmdldCgpXTsKKyAgICB9KTsKK30KKworI2VuZGlmIC8vIEVOQUJM
RShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAog
CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAppbmRl
eCBkZWFkYTFiZWI5NTZmZDI2MGRiYzI0ZmY0YjlhODAzMzM4ZmEzMjRmLi5kYTZiYzk1MTg3YjRh
M2Q3YzliNGM0YTBmZTE0YWY3MWY2ZWZkNWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
aApAQCAtNTYsNiArNTYsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIHN1cHBvcnRzTG9va1VwSW5J
bWFnZXMoKSBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTUFH
RV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisgICAgYm9vbCBzdXBwb3J0c0NvcHlDcm9wcGVkSW1h
Z2UoKSBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIHZvaWQgc2VhcmNoV2l0aFNwb3RsaWdodCgpIG92ZXJyaWRlOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0
TWVudUNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q29udGV4dE1lbnVDbGllbnQuaAppbmRleCA4MDZkYjEyODM0MDYxZWM3ODNiZTA1NGEzODI5ZWI5
YmVlYjU5YjZmLi40NTE0YmQ5NmYyMjEyZjg5NGQyNzFlYWYzMjk3NGM2NjRkYTM3ZTAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0
TWVudUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKQEAgLTY0LDYgKzY0LDEwIEBAIHB1YmxpYzoKICAgICBi
b29sIHN1cHBvcnRzTG9va1VwSW5JbWFnZXMoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorICAgIGJvb2wg
c3VwcG9ydHNDb3B5Q3JvcHBlZEltYWdlKCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgLy8gV2ViU2hhcmluZ1NlcnZp
Y2VQaWNrZXJDbGllbnQKICAgICB2b2lkIHNoYXJpbmdTZXJ2aWNlUGlja2VyV2lsbEJlRGVzdHJv
eWVkKFdlYlNoYXJpbmdTZXJ2aWNlUGlja2VyQ29udHJvbGxlciAmKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IDQ5ODk5
MzE4ZGM5YWM1MmUzYzg4N2I1NGU3ODlhZWM2MGI5NzMwNTAuLmFhOTZmYzdhMWQ1YmY3Y2UzMjU2
ZDQ2Mjg3Mjc5M2NkMzg2ODA4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjAwLDYgKzYwMCw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPE5TSW50ZWdlcj4gdG9UYWcoV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gYWN0aW9uKQog
ICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlOgogICAgICAgICByZXR1cm4gV2Vi
TWVudUl0ZW1UYWdUcmFuc2xhdGU7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdRdWlja0xv
b2tJbWFnZToKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NvcHlDcm9wcGVkSW1hZ2U6CiAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKICAgICBjYXNlIENvbnRleHRNZW51SXRlbUJh
c2VDdXN0b21UYWcgLi4uIENvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWc6CmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWIzZTA4YmQ5ODM3NDhk
YzIxNjFhZGNhOTc4YzAyNjA3Y2NjMmMzMy4uMGExZWYxNWJhOTI5YTE4ZmIzNGNiMTFmZjhlZDY4
OTkxODE5MGRmMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTAyLTE0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRkIGEgY29udGV4dCBtZW51IGl0
ZW0gdG8gIkNvcHkgQ3JvcHBlZCBJbWFnZSIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNjYwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkanVzdCBhbiBleGlzdGluZyBBUEkgdGVzdCB0byBhY2NvdW50
IGZvciB0aGUgZmFjdCB0aGF0IENvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZSBpcyBubyBsb25n
ZXIgdGhlIGxhc3Qgbm9uLQorICAgICAgICBjdXN0b20gY29udGV4dCBtZW51IGl0ZW0gdGFnLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRleHRNZW51QWN0aW9u
LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIyLTAyLTEyICBKb25h
dGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbcnVuLXdlYmtpdC10
ZXN0c10gRG8gbm90IHRyeSBhbmQgcmVhZCBmcm9tIC9kZXYvbnVsbApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRleHRNZW51QWN0aW9uLmNwcCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db250ZXh0TWVudUFjdGlvbi5jcHAKaW5k
ZXggMjY4NGU4NWI5OGVjNTdjZWExMGYxZDNhMzkwZTMxNmM2YmIzZTA0OS4uYjc2YjIyNGExMmI2
Nzc4YjVmYTY4NjBkZTg3NDE2ODU1YjZhYjc2OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRleHRNZW51QWN0aW9uLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGV4dE1lbnVBY3Rpb24uY3BwCkBAIC0zNyw5ICsz
Nyw5IEBAIFRFU1QoV2ViQ29yZSwgQ29udGV4dE1lbnVBY3Rpb25fSXNWYWxpZEVudW0pCiAgICAg
RVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4o
V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbVRhZ05vQWN0aW9uKSk7
CiAgICAgRVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFj
dGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbVRhZ05vQWN0
aW9uICsgMSkpOwogCi0gICAgRVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpD
b250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51
SXRlbVRhZ1RyYW5zbGF0ZSAtIDEpKTsKLSAgICBFWFBFQ1RfVFJVRShXVEY6OmlzVmFsaWRFbnVt
PFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uPihXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbjo6
Q29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlKSk7Ci0gICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNW
YWxpZEVudW08V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24+KFdlYkNvcmU6OkNvbnRleHRNZW51
QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xhdGUgKyAxKSk7CisgICAgRVhQRUNUX1RS
VUUoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6
Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbVRhZ0xhc3ROb25DdXN0b21UYWcgLSAx
KSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVu
dUFjdGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbVRhZ0xh
c3ROb25DdXN0b21UYWcpKTsKKyAgICBFWFBFQ1RfRkFMU0UoV1RGOjppc1ZhbGlkRW51bTxXZWJD
b3JlOjpDb250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRl
eHRNZW51SXRlbVRhZ0xhc3ROb25DdXN0b21UYWcgKyAxKSk7CiAKICAgICBFWFBFQ1RfRkFMU0Uo
V1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29u
dGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcgLSAxKSk7CiAgICAg
RVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4o
V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcp
KTsK
</data>
<flag name="review"
          id="478831"
          type_id="1"
          status="+"
          setter="megan_gardner"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452070</attachid>
            <date>2022-02-15 11:43:48 -0800</date>
            <delta_ts>2022-02-15 13:58:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-236602-20220215114347.patch</filename>
            <type>text/plain</type>
            <size>26526</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5Nzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE0M2VkMTYyNTY5YTBl
MTk2YzUxYTVjNTFhZTYwZWEzNjhmNjgwMy4uOGQ0OWYwZmNjM2Q4ZTQyMzc3MGM0MDg2MDNiNWZk
MDZkMDRjMzAxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTAyLTE1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gQWRk
IGEgY29udGV4dCBtZW51IGl0ZW0gdG8gIkNvcHkgQ3JvcHBlZCBJbWFnZSIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjYwMgorICAgICAgICByZGFy
Oi8vODg5MjQ0NzkKKworICAgICAgICBSZXZpZXdlZCBieSBNZWdhbiBHYXJkbmVyLgorCisgICAg
ICAgIEFkZCBDb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlLCBhbmQgaGFuZGxlIGl0
IGluIHZhcmlvdXMgY29udGV4dCBtZW51IGNvZGVwYXRocyB0aHJvdWdob3V0IFdlYkNvcmUuCisK
KyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKiBwYWdlL0NvbnRl
eHRNZW51Q2xpZW50Lmg6CisKKyAgICAgICAgQWRkIGEgY2xpZW50IGhvb2sgdG8gYWxsb3cgdXMg
dG8gZGlzYWJsZSB0aGlzIGl0ZW0gaW4gV2ViS2l0TGVnYWN5LCBidXQgZW5hYmxlIGl0IGluIHRo
ZSBtb2Rlcm4gV2ViS2l0IHBvcnQuCisKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJv
bGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNvbnRl
eHRNZW51SXRlbVNlbGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJv
bGxlcjo6cG9wdWxhdGUpOgorCisgICAgICAgIEluc2VydCB0aGlzIG5ldyBpdGVtLCBhZGphY2Vu
dCB0byB0aGUgZXhpc3RpbmcgIkNvcHkgSW1hZ2UiIGl0ZW0uCisKKyAgICAgICAgKFdlYkNvcmU6
OkNvbnRleHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVuYWJsZUlmTmVlZGVkIGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
aXNWYWxpZENvbnRleHRNZW51QWN0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaDoKKworICAgICAgICBBZGQgYSBuZXcgY29udGV4dCBtZW51IGl0ZW0gdGFnIGZvciBD
b250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlOyBhZGRpdGlvbmFsbHksIGFkZCBhIG5l
dyBzcGVjaWFsIHRhZywKKyAgICAgICAgQ29udGV4dE1lbnVJdGVtTGFzdE5vbkN1c3RvbVRhZywg
dGhhdCB3aWxsIGFsd2F5cyBwb2ludCB0byB0aGUgbGFzdCBub24tY3VzdG9tIChlbmdpbmUtc3Vw
cG9ydGVkKSBjb250ZXh0IG1lbnUKKyAgICAgICAgaXRlbSBpbiB0aGlzIGVudW1lcmF0aW9uLiBU
aGlzIG1ha2VzIGl0IHNvIHRoYXQgd2UgY2FuIHN0b3AgZmlkZGxpbmcgd2l0aCB0aGUgQVBJIHRl
c3QKKyAgICAgICAgYFdlYkNvcmUuQ29udGV4dE1lbnVBY3Rpb25fSXNWYWxpZEVudW1gIGV2ZXJ5
IHRpbWUgd2UgYWRkIGEgbmV3IGNvbnRleHQgbWVudSB0eXBlLCBhcyBsb25nIGFzIHdlIHVwZGF0
ZSB0aGUKKyAgICAgICAgQ29udGV4dE1lbnVJdGVtTGFzdE5vbkN1c3RvbVRhZy4KKworICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2Nv
YS9Mb2NhbGl6ZWRTdHJpbmdzQ29jb2EubW06CisKKyAgICAgICAgUHVsbCB0aGUgbG9jYWxpemVk
IHN0cmluZyBmb3IgIkNvcHkgQ3JvcHBlZCBJbWFnZSIgb3V0IGludG8gYSBzZXBhcmF0ZSBsb2Nh
bGl6ZWQgc3RyaW5nIGhlbHBlciBmdW5jdGlvbi4KKworICAgICAgICAoV2ViQ29yZTo6Y29udGV4
dE1lbnVJdGVtVGFnQ29weUNyb3BwZWRJbWFnZSk6CisKIDIwMjItMDItMTQgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtDU1MgQ29udGFpbmVyIFF1ZXJpZXNd
IFN1cHBvcnQgcmFuZ2Ugb3BlcmF0b3JzIGluIHNpemUgcXVlcmllcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4MTNi
N2Y4MzlmMTY4ZjhkZDUwMjJlM2EwYTU0NThiMmU4Y2E5NTY4Li4yZTQ5NzQ2NmNmY2NhYmY2OTI2
MjZiOTcxZDM5MTYyN2U5NjNiNjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIyLTAy
LTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtt
YWNPU10gQWRkIGEgY29udGV4dCBtZW51IGl0ZW0gdG8gIkNvcHkgQ3JvcHBlZCBJbWFnZSIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjYwMgorICAg
ICAgICByZGFyOi8vODg5MjQ0NzkKKworICAgICAgICBSZXZpZXdlZCBieSBNZWdhbiBHYXJkbmVy
LgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBhIG5ldyBjb250ZXh0IG1lbnUgaXRlbSB0aGF0
IGludm9rZXMgbWFya3VwIHdoZW4gY29weWluZyBhbiBpbWFnZS4gU2VlIGJlbG93IGZvciBtb3Jl
IGRldGFpbHMuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBl
cy5oOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaDoKKyAgICAgICAg
KFdlYktpdDo6dG9BUEkpOgorICAgICAgICAoV2ViS2l0Ojp0b0ltcGwpOgorCisgICAgICAgIEhh
bmRsZSB0aGUgbmV3IGNvbnRleHQgbWVudSBlbnVtIHRhZy4KKworICAgICAgICAqIFNoYXJlZC9X
ZWJIaXRUZXN0UmVzdWx0RGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1
bHREYXRhOjpXZWJIaXRUZXN0UmVzdWx0RGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYkhpdFRl
c3RSZXN1bHREYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJIaXRUZXN0
UmVzdWx0RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERh
dGEuaDoKKworICAgICAgICBBZGQgYSBuZXcgYHNvdXJjZUltYWdlTUlNRVR5cGVgIG1lbWJlciB0
aGF0IHByb3ZpZGVzIHRoZSBvcmlnaW5hbCBNSU1FIHR5cGUgb2YgdGhlIHNvdXJjZSBpbWFnZSBj
b3JyZXNwb25kaW5nIHRvCisgICAgICAgIHRoZSBpbWFnZSBiaXRtYXAgaW4gV2ViSGl0VGVzdFJl
c3VsdERhdGEuIFdlIHVzZSB0aGlzIGJlbG93LCBpbiBgaGFuZGxlQ29udGV4dE1lbnVDb3B5Q3Jv
cHBlZEltYWdlYC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFj
dGlvbi5tbToKKyAgICAgICAgKCtbX1dLRWxlbWVudEFjdGlvbiBfZWxlbWVudEFjdGlvbldpdGhU
eXBlOmN1c3RvbVRpdGxlOmFzc2lzdGFudDpdKToKKworICAgICAgICBSZXBsYWNlIHRoZSBsb2Nh
bGl6ZWQgc3RyaW5nIG1hY3JvIHdpdGggYSBjYWxsIHRvIHRoZSBuZXcgbG9jYWxpemVkIHN0cmlu
ZyBoZWxwZXIgZnVuY3Rpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpjb250ZXh0TWVudUl0ZW1TZWxlY3Rl
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmhhbmRsZUNvbnRleHRNZW51Q29weUNyb3BwZWRJbWFnZSk6CisKKyAgICAgICAgSGFuZGxl
IHRoZSBuZXcgY29udGV4dCBtZW51IGl0ZW0gYWN0aW9uIGJ5IGNhbGxpbmcgaW50byBgcmVxdWVz
dEltYWdlQW5hbHlzaXNNYXJrdXBgIGFuZCB3cml0aW5nIHRoZSByZXN1bHQKKyAgICAgICAgdG8g
dGhlIHBhc3RlYm9hcmQgKHRyYW5zY29kaW5nIGJhY2sgdG8gdGhlIE1JTUUgdHlwZSBvZiB0aGUg
c291cmNlIGltYWdlLCBpZiBwb3NzaWJsZSkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lmg6CisKIDIwMjItMDItMTQgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgRGlyZWN0IHRvdWNoZXMg
ZG9uJ3QgdHJpZ2dlciBvdGhlciBnZXN0dXJlIHJlY29nbml6ZXJzIGlmIFdLTW91c2VHZXN0dXJl
UmVjb2duaXplciBzZWVzIHRoZW0gZmlyc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRl
eCA2ODAzOTQ4NThhMTViOGEyNTY5NmFhZWM3YzhkOTRhYTczYWQ3MjIzLi40OTM5YzU4ZTBhMDg3
ODg3NWI5OTIwMTE4YjI1ODE0YzdmYTdkN2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDItMTQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBBZGQgYSBjb250ZXh0IG1lbnUgaXRlbSB0
byAiQ29weSBDcm9wcGVkIEltYWdlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM2NjAyCisgICAgICAgIHJkYXI6Ly84ODkyNDQ3OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE1lZ2FuIEdhcmRuZXIuCisKKyAgICAgICAgU2VlIFdlYkNvcmUgYW5kIFdl
YktpdCBDaGFuZ2VMb2dzIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZp
ZXcubW06CisgICAgICAgICh0b1RhZyk6CisKIDIwMjItMDItMTEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggYnVpbGQgd2l0aCB0aGUg
bGF0ZXN0IGlPUyBTREsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4
IDM0NTNmZDVhNjhhYWJiZjYzMWMwZmJhYmViYjlkY2Y0MDdkMTlmYzUuLjlhNGQ4NTdiNmI3NmJm
ZDFlMmFmNDAxOWE1ODcwNjliZjdjMTA1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuY3BwCkBAIC0xNDIsNiArMTQyLDEwIEBAIGNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGll
bnQgZmluYWwgOiBwdWJsaWMgQ29udGV4dE1lbnVDbGllbnQgewogI2lmIEVOQUJMRShJTUFHRV9B
TkFMWVNJUykKICAgICBib29sIHN1cHBvcnRzTG9va1VwSW5JbWFnZXMoKSBmaW5hbCB7IHJldHVy
biBmYWxzZTsgfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1F
TlRTKQorICAgIGJvb2wgc3VwcG9ydHNDb3B5Q3JvcHBlZEltYWdlKCkgZmluYWwgeyByZXR1cm4g
ZmFsc2U7IH0KKyNlbmRpZgogfTsKIAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oCmluZGV4IDc2MmZmZWM4NDRmMDQw
YTQwNmU4MDJiMWI0NjhjYWU3MTkyOTk1OTcuLmZmY2FkOTMwY2IwZDlmMGI3ZmM4OWE3MjE1YWI4
NTI3M2E2MWY4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmgKQEAg
LTU1LDYgKzU1LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNMb29rVXBJ
bkltYWdlcygpID0gMDsKICNlbmRpZgogCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFO
Q0VNRU5UUykKKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDb3B5Q3JvcHBlZEltYWdlKCkgPSAw
OworI2VuZGlmCisKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5m
byYpID0gMDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuY3BwCmluZGV4IDdhODViZDU1YWJhZDMxNTdlZmQxYzBjMTU0ZDBkYTdjZTU1N2Q1YWYu
LmVmZjU3ZDk0Mzg3NmRjOTBjNjdlMjFlOTczNjA3ZjQ3MWNhNWZmMmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTUyNiw4ICs1MjYsOSBA
QCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29u
dGV4dE1lbnVBY3Rpb24gYWN0aW9uLCBjbwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRGlj
dGF0aW9uQWx0ZXJuYXRpdmU6CiAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS5hcHBseURpY3RhdGlv
bkFsdGVybmF0aXZlKHRpdGxlKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlOgogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnUXVp
Y2tMb29rSW1hZ2U6Ci0gICAgICAgIC8vIFRoaXMgc2hvdWxkIGJlIGhhbmRsZWQgYXQgdGhlIGNs
aWVudCBsYXllci4KKyAgICAgICAgLy8gVGhlc2Ugc2hvdWxkIGJlIGhhbmRsZWQgYXQgdGhlIGNs
aWVudCBsYXllci4KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlOgpAQCAtODQyLDYgKzg0Mywx
MCBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6cG9wdWxhdGUoKQogICAgIENvbnRleHRN
ZW51SXRlbSBTaGFyZU1lbnVJdGVtKFN1Ym1lbnVUeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdTaGFy
ZU1lbnUsIGVtcHR5U3RyaW5nKCkpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlT
SVNfRU5IQU5DRU1FTlRTKQorICAgIENvbnRleHRNZW51SXRlbSBjb3B5Q3JvcHBlZEltYWdlSXRl
bSB7IEFjdGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ0NvcHlDcm9wcGVkSW1hZ2UsIGNvbnRl
eHRNZW51SXRlbVRhZ0NvcHlDcm9wcGVkSW1hZ2UoKSB9OworI2VuZGlmCisKICAgICBOb2RlKiBu
b2RlID0gbV9jb250ZXh0LmhpdFRlc3RSZXN1bHQoKS5pbm5lck5vblNoYXJlZE5vZGUoKTsKICAg
ICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsKQEAgLTkxMiwxMCArOTE3LDE1IEBAIHZvaWQg
Q29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAgICAgICAgICBpZiAoaW1hZ2VV
UkwuaXNMb2NhbEZpbGUoKSB8fCBpbWFnZSkgewogICAgICAgICAgICAgICAgIGFwcGVuZEl0ZW0o
Q29weUltYWdlSXRlbSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAKKyAgICAgICAgICAgICAgICBp
ZiAoaW1hZ2UgJiYgIWltYWdlLT5pc0FuaW1hdGVkKCkpIHsKKyNpZiBFTkFCTEUoSU1BR0VfQU5B
TFlTSVNfRU5IQU5DRU1FTlRTKQorICAgICAgICAgICAgICAgICAgICBpZiAobV9jbGllbnQuc3Vw
cG9ydHNDb3B5Q3JvcHBlZEltYWdlKCkpCisgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRJ
dGVtKGNvcHlDcm9wcGVkSW1hZ2VJdGVtLCBtX2NvbnRleHRNZW51LmdldCgpKTsKKyNlbmRpZgog
I2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKLSAgICAgICAgICAgICAgICBpZiAobV9jbGllbnQu
c3VwcG9ydHNMb29rVXBJbkltYWdlcygpICYmIGltYWdlICYmICFpbWFnZS0+aXNBbmltYXRlZCgp
KQotICAgICAgICAgICAgICAgICAgICBzaG91bGRBcHBlbmRRdWlja0xvb2tJbWFnZUl0ZW0gPSB0
cnVlOworICAgICAgICAgICAgICAgICAgICBzaG91bGRBcHBlbmRRdWlja0xvb2tJbWFnZUl0ZW0g
PSBtX2NsaWVudC5zdXBwb3J0c0xvb2tVcEluSW1hZ2VzKCk7CiAjZW5kaWYKKyAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAjaWYgUExBVEZPUk0oR1RLKQogICAgICAgICAgICAgYXBw
ZW5kSXRlbShDb3B5SW1hZ2VVcmxJdGVtLCBtX2NvbnRleHRNZW51LmdldCgpKTsKQEAgLTE0MTcs
NiArMTQyNyw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjaGVja09yRW5hYmxlSWZO
ZWVkZWQoQ29udGV4dE1lbnVJdGVtJiBpdGVtKSBjb25zdAogICAgICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ0NvcHlMaW5rVG9DbGlwYm9hcmQ6CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnT3BlbkltYWdlSW5OZXdXaW5kb3c6CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnQ29weUltYWdlVG9DbGlwYm9hcmQ6CisgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
Q29weUNyb3BwZWRJbWFnZToKICNpZiBQTEFURk9STShHVEspCiAgICAgICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQ6CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uY3BwCmluZGV4IDVkOGY3YjUyMGViMzdkMTQ0
YWY2NjRmMDNmNjdmOTM1OWFlNzg5NDQuLjE3MDc5M2M5MjFhNTk4NWNjOGFjMTU1ZDA1YWRmYjc3
MTFhOWZhODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51
SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmNw
cApAQCAtMTUzLDYgKzE1Myw3IEBAIGJvb2wgaXNWYWxpZENvbnRleHRNZW51QWN0aW9uKENvbnRl
eHRNZW51QWN0aW9uIGFjdGlvbikKICAgICBjYXNlIENvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0
TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdzoKICAgICBjYXNlIENvbnRleHRNZW51QWN0
aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrOgogICAgIGNhc2UgQ29u
dGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkOgor
ICAgIGNhc2UgQ29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbVRhZ0NvcHlDcm9wcGVk
SW1hZ2U6CiAjaWYgUExBVEZPUk0oR1RLKQogICAgIGNhc2UgQ29udGV4dE1lbnVBY3Rpb246OkNv
bnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkOgogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCmluZGV4IDZlNWY2MmViNjg3YjY2NTI0
YjA1M2Y4NjVjYzY0MTgxYTQ2NjZiZDMuLmY4MGQxYmU3NDkwNWFhZjUzNTA5YTIwMDQxYzJkYjI1
YWU0NTA1MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51
SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBA
IC0xNDksNiArMTQ5LDggQEAgZW51bSBDb250ZXh0TWVudUFjdGlvbiB7CiAgICAgQ29udGV4dE1l
bnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdRdWlja05vdGUsCiAgICAgQ29udGV4dE1lbnVJdGVt
VGFnUXVpY2tMb29rSW1hZ2UsCiAgICAgQ29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlLAorICAg
IENvbnRleHRNZW51SXRlbVRhZ0NvcHlDcm9wcGVkSW1hZ2UsCisgICAgQ29udGV4dE1lbnVJdGVt
TGFzdE5vbkN1c3RvbVRhZyA9IENvbnRleHRNZW51SXRlbVRhZ0NvcHlDcm9wcGVkSW1hZ2UsCiAg
ICAgQ29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyA9IDUwMDAsCiAgICAgQ29udGV4dE1lbnVJ
dGVtTGFzdEN1c3RvbVRhZyA9IDU5OTksCiAgICAgQ29udGV4dE1lbnVJdGVtQmFzZUFwcGxpY2F0
aW9uVGFnID0gMTAwMDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2Fs
aXplZFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3Mu
aAppbmRleCA2NTBjNzI4MWY2MmQwOGNlYjBhNTNlZjc0ODM1MmIzMmMwYWVlMDVmLi4xNjgxOGNj
YTc0N2U2MzU5YmMxYjI2ZjgyNDc4YWViMWUzOTczMDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0zNzcsNiArMzc3LDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUXVp
Y2tMb29rSW1hZ2VGb3JWaXN1YWxTZWFyY2goKTsKICNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5B
TFlTSVMpCiAKKyNpZiBFTkFCTEUoSU1BR0VfQU5BTFlTSVNfRU5IQU5DRU1FTlRTKQorICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlKCk7
CisjZW5kaWYKKwogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCiAgICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZShjb25zdCBTdHJpbmcmIHNlbGVjdGVkU3RyaW5n
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTG9j
YWxpemVkU3RyaW5nc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvTG9j
YWxpemVkU3RyaW5nc0NvY29hLm1tCmluZGV4IGNjNmRmZTMwZWI4NmJhYTcwYWIyODFjY2Y5Nzg5
MGJjOWUwYjZkNmEuLjYxOGNlYTZhODVhNjg1NzQ2MjdiMGI4N2I1ZjU2MGQyYzRhZjdhZWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0xvY2FsaXplZFN0cmluZ3ND
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9Mb2NhbGl6ZWRTdHJp
bmdzQ29jb2EubW0KQEAgLTMxOSw0ICszMTksMTMgQEAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1F1aWNrTG9va0ltYWdlRm9yVmlzdWFsU2VhcmNoKCkKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFH
RV9BTkFMWVNJUykKIAorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisK
K1N0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlKCkKK3sKKyAgICByZXR1
cm4gV0VCX1VJX1NUUklORygiQ29weSBDcm9wcGVkIEltYWdlIiwgIlRpdGxlIGZvciBDb3B5IENy
b3BwZWQgSW1hZ2UiKTsKK30KKworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlw
ZXMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMu
aAppbmRleCA0MzNjNGNmMjMxMjhlMmQ4ZGViZWVjOTExNzE0NTVlNWM0Y2I2NTM1Li5iYWE3MWFm
NzM3NzY5NjkxNTJlYjJmMTJiMzFkZTgzNGFlZGViMTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCkBAIC0xMjcsNiArMTI3
LDcgQEAgZW51bSB7CiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnQWRkSGlnaGxpZ2h0VG9OZXdR
dWlja05vdGUsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnUmV2ZWFsSW1hZ2UsCiAgICAga1dL
Q29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlLAorICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Nv
cHlDcm9wcGVkSW1hZ2UsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtQmFzZUFwcGxpY2F0aW9uVGFn
ID0gMTAwMDAKIH07CiB0eXBlZGVmIHVpbnQzMl90IFdLQ29udGV4dE1lbnVJdGVtVGFnOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAppbmRleCA3YzNmMWNl
Y2YwZmMwMTJmMjc2OWE2MmU5YWQ5MjRjYWFkYTllMzg1Li5hOWVhZTY3M2RhM2MxODgzOGY2MTBk
ZjI0ODZiZTAzMTdkYWY3OGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkv
Yy9XS1NoYXJlZEFQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1No
YXJlZEFQSUNhc3QuaApAQCAtNTQ3LDYgKzU0Nyw4IEBAIGlubGluZSBXS0NvbnRleHRNZW51SXRl
bVRhZyB0b0FQSShXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24pCiAgICAgICAgIHJl
dHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdSZXZlYWxJbWFnZTsKICAgICBjYXNlIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZToKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1RyYW5zbGF0ZTsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z0NvcHlDcm9wcGVkSW1hZ2U6CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdD
b3B5Q3JvcHBlZEltYWdlOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGlmIChhY3Rpb24gPCBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcgJiYgIShhY3Rpb24gPj0gV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyAmJiBhY3Rpb24gPD0gV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtTGFzdEN1c3RvbVRhZykpCiAgICAgICAgICAgICBMT0dfRVJST1IoIkNv
bnRleHRNZW51QWN0aW9uICVpIGlzIGFuIHVua25vd24gdGFnIGJ1dCBpcyBiZWxvdyB0aGUgYWxs
b3dhYmxlIGN1c3RvbSB0YWcgdmFsdWUgb2YgJWkiLCBhY3Rpb24sIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyk7CkBAIC03NDksNiArNzUxLDggQEAgaW5saW5lIFdl
YkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIHRvSW1wbChXS0NvbnRleHRNZW51SXRlbVRhZyB0YWcp
CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdRdWlja0xvb2tJbWFn
ZTsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZToKICAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZTsKKyAgICBjYXNlIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ0NvcHlDcm9wcGVkSW1hZ2U6CisgICAgICAgIHJldHVybiBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlOwogICAgIGNhc2Uga1dLQ29udGV4
dE1lbnVJdGVtVGFnT3BlbkxpbmtJblRoaXNXaW5kb3c6CiAgICAgZGVmYXVsdDoKICAgICAgICAg
aWYgKHRhZyA8IGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyAmJiAhKHRhZyA+
PSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnICYmIHRhZyA8PSBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1MYXN0Q3VzdG9tVGFnKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHREYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkhpdFRlc3RSZXN1bHREYXRhLmNwcAppbmRleCBiNjA3YWNlODM4ZTA0YmNlMWE2YWVlNGRh
NTY1NTllMDk2OTgzOThlLi5jMGJlM2E0NWI5OGYwMTJmNjYzMDI5YTZkNWNmMGE4ODJhOGRiNzNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0RGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERhdGEuY3BwCkBA
IC0zOSw3ICszOSw3IEBAIFdlYkhpdFRlc3RSZXN1bHREYXRhOjpXZWJIaXRUZXN0UmVzdWx0RGF0
YSgpCiB7CiB9CiAKLVdlYkhpdFRlc3RSZXN1bHREYXRhOjpXZWJIaXRUZXN0UmVzdWx0RGF0YShj
b25zdCBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWx0LCBjb25zdCBTdHJpbmcm
IHRvb2xUaXBUZXh0KQorV2ViSGl0VGVzdFJlc3VsdERhdGE6OldlYkhpdFRlc3RSZXN1bHREYXRh
KGNvbnN0IEhpdFRlc3RSZXN1bHQmIGhpdFRlc3RSZXN1bHQsIGNvbnN0IFN0cmluZyYgdG9vbFRp
cFRleHQpCiAgICAgOiBhYnNvbHV0ZUltYWdlVVJMKGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVJbWFn
ZVVSTCgpLnN0cmluZygpKQogICAgICwgYWJzb2x1dGVQREZVUkwoaGl0VGVzdFJlc3VsdC5hYnNv
bHV0ZVBERlVSTCgpLnN0cmluZygpKQogICAgICwgYWJzb2x1dGVMaW5rVVJMKGhpdFRlc3RSZXN1
bHQuYWJzb2x1dGVMaW5rVVJMKCkuc3RyaW5nKCkpCkBAIC02MSw3ICs2MSw3IEBAIFdlYkhpdFRl
c3RSZXN1bHREYXRhOjpXZWJIaXRUZXN0UmVzdWx0RGF0YShjb25zdCBXZWJDb3JlOjpIaXRUZXN0
UmVzdWx0JiBoaXRUZXN0CiAgICAgICAgIGlzU2Nyb2xsYmFyID0gc2Nyb2xsYmFyLT5vcmllbnRh
dGlvbigpID09IFNjcm9sbGJhck9yaWVudGF0aW9uOjpIb3Jpem9udGFsID8gSXNTY3JvbGxiYXI6
Okhvcml6b250YWwgOiBJc1Njcm9sbGJhcjo6VmVydGljYWw7CiB9CiAKLVdlYkhpdFRlc3RSZXN1
bHREYXRhOjpXZWJIaXRUZXN0UmVzdWx0RGF0YShjb25zdCBXZWJDb3JlOjpIaXRUZXN0UmVzdWx0
JiBoaXRUZXN0UmVzdWx0LCBib29sIGluY2x1ZGVJbWFnZSkKK1dlYkhpdFRlc3RSZXN1bHREYXRh
OjpXZWJIaXRUZXN0UmVzdWx0RGF0YShjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWx0
LCBib29sIGluY2x1ZGVJbWFnZSkKICAgICA6IGFic29sdXRlSW1hZ2VVUkwoaGl0VGVzdFJlc3Vs
dC5hYnNvbHV0ZUltYWdlVVJMKCkuc3RyaW5nKCkpCiAgICAgLCBhYnNvbHV0ZVBERlVSTChoaXRU
ZXN0UmVzdWx0LmFic29sdXRlUERGVVJMKCkuc3RyaW5nKCkpCiAgICAgLCBhYnNvbHV0ZUxpbmtV
UkwoaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZUxpbmtVUkwoKS5zdHJpbmcoKSkKQEAgLTkyLDggKzky
LDE1IEBAIFdlYkhpdFRlc3RSZXN1bHREYXRhOjpXZWJIaXRUZXN0UmVzdWx0RGF0YShjb25zdCBX
ZWJDb3JlOjpIaXRUZXN0UmVzdWx0JiBoaXRUZXN0CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBp
ZiAoYXV0byB0YXJnZXQgPSBSZWZQdHIgeyBoaXRUZXN0UmVzdWx0LmlubmVyTm9uU2hhcmVkTm9k
ZSgpIH07IHRhcmdldCAmJiBpczxSZW5kZXJJbWFnZT4odGFyZ2V0LT5yZW5kZXJlcigpKSkKLSAg
ICAgICAgaW1hZ2VCaXRtYXAgPSBjcmVhdGVTaGFyZWFibGVCaXRtYXAoKmRvd25jYXN0PFJlbmRl
ckltYWdlPih0YXJnZXQtPnJlbmRlcmVyKCkpKTsKKyAgICBpZiAoYXV0byB0YXJnZXQgPSBSZWZQ
dHIgeyBoaXRUZXN0UmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpIH0pIHsKKyAgICAgICAgaWYg
KGF1dG8gcmVuZGVyZXIgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVySW1hZ2U+KHRhcmdldC0+cmVu
ZGVyZXIoKSkpIHsKKyAgICAgICAgICAgIGltYWdlQml0bWFwID0gY3JlYXRlU2hhcmVhYmxlQml0
bWFwKCpkb3duY2FzdDxSZW5kZXJJbWFnZT4odGFyZ2V0LT5yZW5kZXJlcigpKSk7CisgICAgICAg
ICAgICBpZiAoYXV0byogY2FjaGVkSW1hZ2UgPSByZW5kZXJlci0+Y2FjaGVkSW1hZ2UoKSkgewor
ICAgICAgICAgICAgICAgIGlmIChhdXRvKiBpbWFnZSA9IGNhY2hlZEltYWdlLT5pbWFnZSgpKQor
ICAgICAgICAgICAgICAgICAgICBzb3VyY2VJbWFnZU1JTUVUeXBlID0gaW1hZ2UtPm1pbWVUeXBl
KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CiB9CiAKIFdlYkhpdFRlc3RSZXN1
bHREYXRhOjp+V2ViSGl0VGVzdFJlc3VsdERhdGEoKQpAQCAtMTMwLDYgKzEzNyw3IEBAIHZvaWQg
V2ViSGl0VGVzdFJlc3VsdERhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgaWYgKGltYWdlQml0bWFwKQogICAgICAgICBpbWFnZUJpdG1hcC0+Y3JlYXRlSGFuZGxl
KGltYWdlQml0bWFwSGFuZGxlLCBTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb246OlJlYWRPbmx5KTsK
ICAgICBlbmNvZGVyIDw8IGltYWdlQml0bWFwSGFuZGxlOworICAgIGVuY29kZXIgPDwgc291cmNl
SW1hZ2VNSU1FVHlwZTsKIAogICAgIGJvb2wgaGFzTGlua1RleHRJbmRpY2F0b3IgPSBsaW5rVGV4
dEluZGljYXRvcjsKICAgICBlbmNvZGVyIDw8IGhhc0xpbmtUZXh0SW5kaWNhdG9yOwpAQCAtMTgz
LDYgKzE5MSw5IEBAIGJvb2wgV2ViSGl0VGVzdFJlc3VsdERhdGE6OmRlY29kZShJUEM6OkRlY29k
ZXImIGRlY29kZXIsIFdlYkhpdFRlc3RSZXN1bHREYXRhJiBoCiAgICAgaWYgKCFpbWFnZUJpdG1h
cEhhbmRsZS5pc051bGwoKSkKICAgICAgICAgaGl0VGVzdFJlc3VsdERhdGEuaW1hZ2VCaXRtYXAg
PSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShpbWFnZUJpdG1hcEhhbmRsZSwgU2hhcmVkTWVtb3J5
OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhpdFRl
c3RSZXN1bHREYXRhLnNvdXJjZUltYWdlTUlNRVR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKICAgICBib29sIGhhc0xpbmtUZXh0SW5kaWNhdG9yOwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaGFzTGlua1RleHRJbmRpY2F0b3IpKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJIaXRUZXN0UmVzdWx0RGF0YS5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViSGl0VGVzdFJlc3VsdERhdGEuaAppbmRleCAwNWVlZGQ4ZjAzZTgx
NDNmYzhhZGY2MTEwZjg5MWVhZTY4ODI2MjFkLi45MzJmOGZhZDdkNzY0YjkzODJmNTUxZjZhOTRh
NTk3OWVlZDM5ZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJIaXRUZXN0
UmVzdWx0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkhpdFRlc3RSZXN1bHRE
YXRhLmgKQEAgLTY2LDYgKzY2LDcgQEAgc3RydWN0IFdlYkhpdFRlc3RSZXN1bHREYXRhIHsKICAg
ICBSZWZQdHI8U2hhcmVkTWVtb3J5PiBpbWFnZVNoYXJlZE1lbW9yeTsKICAgICB1aW50NjRfdCBp
bWFnZVNpemU7CiAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gaW1hZ2VCaXRtYXA7CisgICAg
U3RyaW5nIHNvdXJjZUltYWdlTUlNRVR5cGU7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgUmV0
YWluUHRyPEREQWN0aW9uQ29udGV4dD4gZGV0ZWN0ZWREYXRhQWN0aW9uQ29udGV4dDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9u
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24u
bW0KaW5kZXggZDY0Mjc5NzFkNjUzYTdjM2NiOTYzOTc1ZDczMjMyNmRlNjA2YmNjYy4uZjk3MWE4
ODc5YmY1MjhjZmJiYjZjNGM3YTA2YTMwMWY5NzFjZjY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0KQEAgLTE4MCw3
ICsxODAsNyBAQCBzdGF0aWMgdm9pZCBhZGRUb1JlYWRpbmdMaXN0KE5TVVJMICp0YXJnZXRVUkws
IE5TU3RyaW5nICp0aXRsZSkKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBfV0tFbGVtZW50QWN0
aW9uVHlwZUNvcHlDcm9wcGVkSW1hZ2U6CiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFO
Q0VNRU5UUykKLSAgICAgICAgdGl0bGUgPSBXRUJfVUlfU1RSSU5HKCJDb3B5IENyb3BwZWQgSW1h
Z2UiLCAiVGl0bGUgZm9yIENvcHkgQ3JvcHBlZCBJbWFnZSIpOworICAgICAgICB0aXRsZSA9IFdl
YkNvcmU6OmNvbnRleHRNZW51SXRlbVRhZ0NvcHlDcm9wcGVkSW1hZ2UoKTsKICAgICAgICAgaGFu
ZGxlciA9IF4oV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqYXNzaXN0YW50LCBfV0tBY3RpdmF0ZWRF
bGVtZW50SW5mbyAqYWN0aW9uSW5mbykgewogICAgICAgICAgICAgW2Fzc2lzdGFudCBoYW5kbGVF
bGVtZW50QWN0aW9uV2l0aFR5cGU6dHlwZSBlbGVtZW50OmFjdGlvbkluZm8gbmVlZHNJbnRlcmFj
dGlvbjpZRVNdOwogICAgICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggODYwYTQ1MDYyNDM4MDI4ZDQwZWFjMzg4MjEzMmQzYzI4MDMzZTFiOS4uYWQ1
NTdkOTBmM2JmZDgyNWNmMmVkYTljYTQzOTM3MWYyZDgyYmUxOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03MTEzLDYgKzcxMTMsMTMgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKGNvbnN0IFdlYkNvbnRleHRNZW51SXRl
bURhdGEmIGl0ZW0pCiAjZW5kaWYKICAgICAgICAgcmV0dXJuOwogCisgICAgY2FzZSBDb250ZXh0
TWVudUl0ZW1UYWdDb3B5Q3JvcHBlZEltYWdlOgorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19F
TkhBTkNFTUVOVFMpCisgICAgICAgIGlmIChoaXRUZXN0RGF0YS5pbWFnZUJpdG1hcCkKKyAgICAg
ICAgICAgIGhhbmRsZUNvbnRleHRNZW51Q29weUNyb3BwZWRJbWFnZSgqaGl0VGVzdERhdGEuaW1h
Z2VCaXRtYXAsIGhpdFRlc3REYXRhLnNvdXJjZUltYWdlTUlNRVR5cGUpOworI2VuZGlmCisgICAg
ICAgIHJldHVybjsKKwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNDAwZjk0MDQ5ZGQ5MDg1MmMzN2Uw
MmFhZGM0MWUwMDg0ZWZkMzA4Zi4uYzU3NjdhMDcyNjBjMmU1ZGFkMmQwNjNjZTA1MzM0YzdmZTZk
MzNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTIwMDgsMTAg
KzIwMDgsMTQgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaXNwYXRjaFdoZWVsRXZlbnRXaXRob3V0
U2Nyb2xsaW5nKGNvbnN0IFdlYldoZWVsRXZlbnQmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmKTsKIAotI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJUykgJiYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCi0gICAgdm9pZCBoYW5kbGVDb250ZXh0TWVudUxvb2tVcEltYWdlKCk7CisjaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogICAgIHZvaWQg
aGFuZGxlQ29udGV4dE1lbnVRdWlja0xvb2tJbWFnZShRdWlja0xvb2tQcmV2aWV3QWN0aXZpdHkp
OwogI2VuZGlmCisjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKKyAgICB2
b2lkIGhhbmRsZUNvbnRleHRNZW51Q29weUNyb3BwZWRJbWFnZShTaGFyZWFibGVCaXRtYXAmLCBj
b25zdCBTdHJpbmcmIHByZWZlcnJlZE1JTUVUeXBlKTsKKyNlbmRpZgorI2VuZGlmIC8vIEVOQUJM
RShDT05URVhUX01FTlVTKQogCiAjaWYgVVNFKEFQUEtJVCkKICAgICB2b2lkIGJlZ2luUHJldmll
d1BhbmVsQ29udHJvbChRTFByZXZpZXdQYW5lbCAqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCmluZGV4IDA4OTI4MmI2OWFlNjc3ZTkzZDdmNzQw
NjUyMDBlMGYyM2Q3NDZlNGQuLmFlNGExOTMxNmUyYzJmZTI2NGMwMGVhNzY5OTI4ZGZkYTAwYWEx
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5t
bQpAQCAtMjksNiArMjksNyBAQAogI2lmIFBMQVRGT1JNKE1BQykKIAogI2ltcG9ydCAiQVBJVUlD
bGllbnQuaCIKKyNpbXBvcnQgIkNvY29hSW1hZ2UuaCIKICNpbXBvcnQgIkNvbm5lY3Rpb24uaCIK
ICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKICNpbXBvcnQgIkVkaXRvclN0YXRlLmgiCkBAIC00
Myw2ICs0NCw3IEBACiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVIb3N0LmgiCiAjaW1wb3J0ICJT
dHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlRleHRDaGVja2VyLmgiCisjaW1wb3J0ICJUZXh0
UmVjb2duaXRpb25VdGlsaXRpZXMuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlckludGVybmFsLmgiCiAjaW1wb3J0ICJXS1F1aWNrTG9va1ByZXZpZXdDb250cm9sbGVyLmgi
CiAjaW1wb3J0ICJXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUuaCIKQEAgLTc3Myw2ICs3
NzUsMzEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNob3dJbWFnZUluUXVpY2tMb29rUHJldmlld1Bh
bmVsKFNoYXJlYWJsZUJpdG1hcCYgaW1hZ2VCaXRtYXAKIAogI2VuZGlmIC8vIEVOQUJMRShJTUFH
RV9BTkFMWVNJUykKIAorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisK
K3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVDb250ZXh0TWVudUNvcHlDcm9wcGVkSW1hZ2UoU2hh
cmVhYmxlQml0bWFwJiBpbWFnZUJpdG1hcCwgY29uc3QgU3RyaW5nJiBwcmVmZXJyZWRNSU1FVHlw
ZSkKK3sKKyAgICBhdXRvIG9yaWdpbmFsSW1hZ2UgPSBpbWFnZUJpdG1hcC5tYWtlQ0dJbWFnZSgp
OworICAgIGlmICghb3JpZ2luYWxJbWFnZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBj
aGFuZ2VDb3VudCA9IE5TUGFzdGVib2FyZC5nZW5lcmFsUGFzdGVib2FyZC5jaGFuZ2VDb3VudDsK
KyAgICByZXF1ZXN0SW1hZ2VBbmFseXNpc01hcmt1cChvcmlnaW5hbEltYWdlLmdldCgpLCBbY2hh
bmdlQ291bnQsIG9yaWdpbmFsSW1hZ2UsIHByZWZlcnJlZE1JTUVUeXBlXShDR0ltYWdlUmVmIHJl
c3VsdEltYWdlKSB7CisgICAgICAgIGF1dG8gcGFzdGVib2FyZCA9IE5TUGFzdGVib2FyZC5nZW5l
cmFsUGFzdGVib2FyZDsKKyAgICAgICAgaWYgKGNoYW5nZUNvdW50ICE9IHBhc3RlYm9hcmQuY2hh
bmdlQ291bnQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgYXV0byBbZGF0YSwgdHlw
ZV0gPSBXZWJLaXQ6OnRyYW5zY29kZVdpdGhQcmVmZXJyZWRNSU1FVHlwZShyZXN1bHRJbWFnZSA/
OiBvcmlnaW5hbEltYWdlLmdldCgpLCBwcmVmZXJyZWRNSU1FVHlwZS5jcmVhdGVDRlN0cmluZygp
LmdldCgpLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpVVRUeXBlVElGRi5pZGVudGlmaWVyKTsKKyAg
ICAgICAgaWYgKCFkYXRhKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIFtwYXN0ZWJv
YXJkIGRlY2xhcmVUeXBlczpAWyhfX2JyaWRnZSBOU1N0cmluZyAqKXR5cGUuZ2V0KCldIG93bmVy
Om5pbF07CisgICAgICAgIFtwYXN0ZWJvYXJkIHNldERhdGE6ZGF0YS5nZXQoKSBmb3JUeXBlOihf
X2JyaWRnZSBOU1N0cmluZyAqKXR5cGUuZ2V0KCldOworICAgIH0pOworfQorCisjZW5kaWYgLy8g
RU5BQkxFKElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5o
CmluZGV4IGRlYWRhMWJlYjk1NmZkMjYwZGJjMjRmZjRiOWE4MDMzMzhmYTMyNGYuLmRhNmJjOTUx
ODdiNGEzZDdjOWI0YzRhMGZlMTRhZjcxZjZlZmQ1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNs
aWVudC5oCkBAIC01Niw2ICs1NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNMb29r
VXBJbkltYWdlcygpIGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KElNQUdFX0FOQUxZU0lTX0VOSEFOQ0VNRU5UUykKKyAgICBib29sIHN1cHBvcnRzQ29weUNyb3Bw
ZWRJbWFnZSgpIGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgorCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAgICAgdm9pZCBzZWFyY2hXaXRoU3BvdGxpZ2h0KCkgb3ZlcnJpZGU7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNv
bnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDb250ZXh0TWVudUNsaWVudC5oCmluZGV4IDgwNmRiMTI4MzQwNjFlYzc4M2JlMDU0YTM4
MjllYjliZWViNTliNmYuLjQ1MTRiZDk2ZjIyMTJmODk0ZDI3MWVhZjMyOTc0YzY2NGRhMzdlMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNv
bnRleHRNZW51Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNjQsNiArNjQsMTAgQEAgcHVibGljOgog
ICAgIGJvb2wgc3VwcG9ydHNMb29rVXBJbkltYWdlcygpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJU19FTkhBTkNFTUVOVFMpCisgICAg
Ym9vbCBzdXBwb3J0c0NvcHlDcm9wcGVkSW1hZ2UoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQor
I2VuZGlmCisKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKICAgICAvLyBXZWJTaGFyaW5n
U2VydmljZVBpY2tlckNsaWVudAogICAgIHZvaWQgc2hhcmluZ1NlcnZpY2VQaWNrZXJXaWxsQmVE
ZXN0cm95ZWQoV2ViU2hhcmluZ1NlcnZpY2VQaWNrZXJDb250cm9sbGVyICYpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KaW5kZXgg
NDk4OTkzMThkYzlhYzUyZTNjODg3YjU0ZTc4OWFlYzYwYjk3MzA1MC4uYWE5NmZjN2ExZDViZjdj
ZTMyNTZkNDYyODcyNzkzY2QzODY4MDg5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC02MDAsNiArNjAwLDcgQEAgc3RhdGljIHN0ZDo6
b3B0aW9uYWw8TlNJbnRlZ2VyPiB0b1RhZyhXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rp
b24pCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUcmFuc2xhdGU6CiAgICAgICAgIHJldHVy
biBXZWJNZW51SXRlbVRhZ1RyYW5zbGF0ZTsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1F1
aWNrTG9va0ltYWdlOgorICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ29weUNyb3BwZWRJbWFn
ZToKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtQmFzZUN1c3RvbVRhZyAuLi4gQ29udGV4dE1lbnVJdGVtTGFzdEN1c3RvbVRhZzoKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA0ZjY4MTdlZmFi
OWMyNGYwMzhjMzgwYTM5NDNlNDUxN2ExNTgwZmNjLi4zMjlkNTI4NzY2Yjc2MDViYTRhMTA0MDY0
ZWUwYzQ2NGNiNDI5ODIyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDItMTUgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBBZGQgYSBjb250ZXh0IG1l
bnUgaXRlbSB0byAiQ29weSBDcm9wcGVkIEltYWdlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2NjAyCisgICAgICAgIHJkYXI6Ly84ODkyNDQ3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE1lZ2FuIEdhcmRuZXIuCisKKyAgICAgICAgQWRqdXN0IGFu
IGV4aXN0aW5nIEFQSSB0ZXN0IHRvIGFjY291bnQgZm9yIHRoZSBmYWN0IHRoYXQgQ29udGV4dE1l
bnVJdGVtVGFnVHJhbnNsYXRlIGlzIG5vIGxvbmdlciB0aGUgbGFzdCBub24tCisgICAgICAgIGN1
c3RvbSBjb250ZXh0IG1lbnUgaXRlbSB0YWcuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvQ29udGV4dE1lbnVBY3Rpb24uY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisKIDIwMjItMDItMDEgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtFV1NdIFN1cHBvcnQgUFJzIHdoZW4gc2VuZGluZyBidWlsZCBmYWls
dXJlIGVtYWlscwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0NvbnRleHRNZW51QWN0aW9uLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29y
ZS9Db250ZXh0TWVudUFjdGlvbi5jcHAKaW5kZXggMjY4NGU4NWI5OGVjNTdjZWExMGYxZDNhMzkw
ZTMxNmM2YmIzZTA0OS4uZGE0NTgzNGQyNTZkNDUzMWNmMmRhNTQ5NDkyMTIzNDRlYmU2Y2Y4YyAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRleHRNZW51
QWN0aW9uLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGV4
dE1lbnVBY3Rpb24uY3BwCkBAIC0zNyw5ICszNyw5IEBAIFRFU1QoV2ViQ29yZSwgQ29udGV4dE1l
bnVBY3Rpb25fSXNWYWxpZEVudW0pCiAgICAgRVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlkRW51bTxX
ZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNv
bnRleHRNZW51SXRlbVRhZ05vQWN0aW9uKSk7CiAgICAgRVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlk
RW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rp
b246OkNvbnRleHRNZW51SXRlbVRhZ05vQWN0aW9uICsgMSkpOwogCi0gICAgRVhQRUNUX1RSVUUo
V1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29u
dGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZSAtIDEpKTsKLSAgICBF
WFBFQ1RfVFJVRShXVEY6OmlzVmFsaWRFbnVtPFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uPihX
ZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbjo6Q29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlKSk7
Ci0gICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNWYWxpZEVudW08V2ViQ29yZTo6Q29udGV4dE1lbnVB
Y3Rpb24+KFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uOjpDb250ZXh0TWVudUl0ZW1UYWdUcmFu
c2xhdGUgKyAxKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpD
b250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51
SXRlbUxhc3ROb25DdXN0b21UYWcgLSAxKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlk
RW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rp
b246OkNvbnRleHRNZW51SXRlbUxhc3ROb25DdXN0b21UYWcpKTsKKyAgICBFWFBFQ1RfRkFMU0Uo
V1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29u
dGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbUxhc3ROb25DdXN0b21UYWcgKyAxKSk7CiAK
ICAgICBFWFBFQ1RfRkFMU0UoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpDb250ZXh0TWVudUFj
dGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51SXRlbUJhc2VDdXN0
b21UYWcgLSAxKSk7CiAgICAgRVhQRUNUX1RSVUUoV1RGOjppc1ZhbGlkRW51bTxXZWJDb3JlOjpD
b250ZXh0TWVudUFjdGlvbj4oV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb246OkNvbnRleHRNZW51
SXRlbUJhc2VDdXN0b21UYWcpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>