<?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>226655</bug_id>
          
          <creation_ts>2021-06-04 12:26:14 -0700</creation_ts>
          <short_desc>[iOS] Meaningful click heuristic should account for media state changes</short_desc>
          <delta_ts>2021-06-04 17:57:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1766878</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-04 12:26:14 -0700</bug_when>
    <thetext>rdar://78330664</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766901</commentid>
    <comment_count>1</comment_count>
      <attachid>430603</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-04 13:16:24 -0700</bug_when>
    <thetext>Created attachment 430603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766910</commentid>
    <comment_count>2</comment_count>
      <attachid>430607</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-04 13:36:49 -0700</bug_when>
    <thetext>Created attachment 430607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766924</commentid>
    <comment_count>3</comment_count>
      <attachid>430607</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-06-04 14:02:43 -0700</bug_when>
    <thetext>Comment on attachment 430607
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.h:2195
&gt;      bool m_didHandleOrPreventMouseDownOrMouseUpEventDuringSyntheticClick { false };
&gt; +    bool m_didChangePlayingMediaStateDuringSyntheticClick { false };

How many of these are we going to end up with? Is it actually important that we keep track of /why/? 
Should we just &quot;m_currentSyntheticClickMayBeMeaningful { true }&quot; and then falsy it in all the callbacks? Then you don&apos;t need m_isCompletingSyntheticClick or separate bits for each thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766927</commentid>
    <comment_count>4</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-04 14:05:40 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #3)
&gt; Comment on attachment 430607 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=430607&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.h:2195
&gt; &gt;      bool m_didHandleOrPreventMouseDownOrMouseUpEventDuringSyntheticClick { false };
&gt; &gt; +    bool m_didChangePlayingMediaStateDuringSyntheticClick { false };
&gt; 
&gt; How many of these are we going to end up with? Is it actually important that
&gt; we keep track of /why/? 
&gt; Should we just &quot;m_currentSyntheticClickMayBeMeaningful { true }&quot; and then
&gt; falsy it in all the callbacks? Then you don&apos;t need
&gt; m_isCompletingSyntheticClick or separate bits for each thing.

That&apos;s a good point — I&apos;ll change it to `m_currentSyntheticClickMayBeMeaningful` instead, in the way you described.

(As an aside, if we accumulate one or two more of these call sites in the future, we&apos;ll also probably want this to also turn it into an OptionSet).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766933</commentid>
    <comment_count>5</comment_count>
      <attachid>430611</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-04 14:23:47 -0700</bug_when>
    <thetext>Created attachment 430611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766940</commentid>
    <comment_count>6</comment_count>
      <attachid>430611</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-06-04 14:39:00 -0700</bug_when>
    <thetext>Comment on attachment 430611
Patch

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

r=me as well :)

&gt; Source/WebKit/WebProcess/WebPage/WebPage.h:2193
&gt; +    bool m_currentSyntheticClickMayBeNonMeaningful { true };

NIT: How about `m_currentSyntheticClickMayNotBeMeaningful`? 😅</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766944</commentid>
    <comment_count>7</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-04 14:50:10 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #6)
&gt; Comment on attachment 430611 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=430611&amp;action=review
&gt; 
&gt; r=me as well :)
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.h:2193
&gt; &gt; +    bool m_currentSyntheticClickMayBeNonMeaningful { true };
&gt; 
&gt; NIT: How about `m_currentSyntheticClickMayNotBeMeaningful`? 😅

Sure — I don&apos;t have a preference for either one, so I&apos;ll change it to `m_currentSyntheticClickMayNotBeMeaningful`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766946</commentid>
    <comment_count>8</comment_count>
      <attachid>430616</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-04 14:55:29 -0700</bug_when>
    <thetext>Created attachment 430616
Renaming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767019</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-04 17:57:50 -0700</bug_when>
    <thetext>Committed r278515 (238514@main): &lt;https://commits.webkit.org/238514@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430616.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430603</attachid>
            <date>2021-06-04 13:16:24 -0700</date>
            <delta_ts>2021-06-04 13:29:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226655-20210604131623.patch</filename>
            <type>text/plain</type>
            <size>12655</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFiMDAyZTYzNGQ5YWQzMjli
YWYyMjdlMmRlMjM4ZWQyNmNjZGIxYTguLjdkMDVlZjYzYjc3YTZkMmVmOGMwYjE5ODRhMjlhNjMw
OTA1ZWU1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMDYtMDQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWVhbmluZ2Z1
bCBjbGljayBoZXVyaXN0aWMgc2hvdWxkIGFjY291bnQgZm9yIG1lZGlhIHN0YXRlIGNoYW5nZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY1NQor
ICAgICAgICByZGFyOi8vNzgzMzA2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZWFjaCB0aGUgIm1lYW5pbmdmdWwgY2xpY2siIGhldXJpc3RpYyBh
Ym91dCBjaGFuZ2VzIHRvIG1lZGlhIGVsZW1lbnQgc3RhdGUgZmxhZ3MuIFNlZSBjb21tZW50cyBi
ZWxvdyBmb3IgbW9yZQorICAgICAgICBkZXRhaWxzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZl
bnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS5odG1sCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6aXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6aXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UpOgorCisgICAgICAgIFJlZmFjdG9y
IHNvbWUgbG9naWMgaGVyZSBzbyB0aGF0IHRoZSBXZWJDaHJvbWVDbGllbnQgY2FsbHMgaW50byBX
ZWJQYWdlLCB3aGljaCB0aGVuIHNlbmRzIGFuIElQQyBtZXNzYWdlIHRvIHRoZQorICAgICAgICBV
SSBwcm9jZXNzIGFuZCBhZGRpdGlvbmFsbHkgY2FsbHMgaW50byBhIHByaXZhdGUgbWV0aG9kIGZv
ciBwbGF0Zm9ybS1zcGVjaWZpYyBsb2dpYyAoc2VlIFdlYlBhZ2VJT1MubW0pLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKworICAgICAgICBBZGQgYSBmbGFnLCBg
bV9kaWRDaGFuZ2VQbGF5aW5nTWVkaWFTdGF0ZUR1cmluZ1N5bnRoZXRpY0NsaWNrYCwgdGhhdCBp
cyBzZXQgdG8gYHRydWVgIGlmIGFuZCBvbmx5IGlmIGEgcGxheWluZworICAgICAgICBtZWRpYSBl
bGVtZW50IGNoYW5nZXMgc3RhdGUgdW5kZXJuZWF0aCB0aGUgc2NvcGUgb2YgbW91c2UgZXZlbnQg
ZGlzcGF0Y2ggaW4gYFdlYlBhZ2U6OmNvbXBsZXRlU3ludGhldGljQ2xpY2tgLgorICAgICAgICBJ
ZiB0aGUgZmxhZyBpcyBzZXQgdG8gYHRydWVgLCB3ZSB0aGVuIGNvbnNpZGVyIHRoZSBjbGljayB0
byBoYXZlIGJlZW4gIm1lYW5pbmdmdWwiLCB3aXRoIHJlc3BlY3QgdG8gdGhlCisgICAgICAgIGAt
X3dlYlZpZXc6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50OmAgVUkgZGVs
ZWdhdGUgbWV0aG9kLgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtSXNQbGF5
aW5nTWVkaWFEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWND
bGljayk6CisKKyAgICAgICAgQ29uc29saWRhdGUgbG9naWMgdG8gcmVzZXQgdGhlIG5ldyBmbGFn
IGFuZCBgbV9kaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudER1cmluZ1N5
bnRoZXRpY0NsaWNrYAorICAgICAgICBvdXQgaW50byBhIHNpbmdsZSBsYW1iZGEsIGFuZCBtYWtl
IHN1cmUgaXQgaXMgY2FsbGVkIGJvdGggKmJlZm9yZSogZGlzcGF0Y2hpbmcgZXZlbnRzIHVuZGVy
bmVhdGggdGhpcyBtZXRob2QsCisgICAgICAgIGFuZCBhZnRlciB3ZSdyZSBkb25lIGluIHRoaXMg
bWV0aG9kLgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtSXNQbGF5aW5nTWVk
aWFEaWRDaGFuZ2UpOgorCisgICAgICAgIE9uIGlPUywgc2V0IHRoZSBuZXcgYm9vbGVhbiBmbGFn
IHRvIGB0cnVlYC4KKwogMjAyMS0wNi0wNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdGhlIHVudXNlZCBgc291cmNlRWxlbWVudElEYCBh
cmd1bWVudCBpbiBgRG9jdW1lbnQ6OnVwZGF0ZUlzUGxheWluZ01lZGlhYCBhbmQgcmVsYXRlZCBj
b2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDVkYjU4OGRlM2UyMDU3YjE2OTBhMmYwOTFm
MmRhNGExNTI3ZTJmZDcuLmRjZmQ3Yzc1Njk3ZjkwMTdkZThmZjkxYmM3ZGFhYjUxZmExZDJiNmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMjM1LDcgKzEyMzUsNyBAQCBib29sIFdlYkNo
cm9tZUNsaWVudDo6c2hvdWxkVXNlVGlsZWRCYWNraW5nRm9yRnJhbWVWaWV3KGNvbnN0IEZyYW1l
VmlldyYgZnJhbWVWaQogCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6aXNQbGF5aW5nTWVkaWFEaWRD
aGFuZ2UoTWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRlKQogewotICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OklzUGxheWluZ01lZGlhRGlkQ2hhbmdlKHN0
YXRlKSk7CisgICAgbV9wYWdlLmlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKHN0YXRlKTsKIH0KIAog
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmhhbmRsZUF1dG9wbGF5RXZlbnQoQXV0b3BsYXlFdmVudCBl
dmVudCwgT3B0aW9uU2V0PEF1dG9wbGF5RXZlbnRGbGFncz4gZmxhZ3MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDZhN2VjM2UyYjA1MTU5NWU5
NTM5ZDY2ODBjMTlkNjQ5M2UzZjZlZjYuLjMxYjUzN2ZjM2U0NjBmMWMxZjZkNzNlNGIxNTQ5MmFh
MDNlNDZkZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCkBAIC03MzYwLDYgKzczNjAsMTEgQEAgdm9pZCBXZWJQYWdlOjpzeW5jaHJvbml6ZUNPUlNE
aXNhYmxpbmdQYXR0ZXJuc1dpdGhOZXR3b3JrUHJvY2VzcygpCiAgICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpTZXRDT1JTRGlzYWJs
aW5nUGF0dGVybnMobV9pZGVudGlmaWVyLCBtX2NvcnNEaXNhYmxpbmdQYXR0ZXJucyksIDApOwog
fQogCit2b2lkIFdlYlBhZ2U6OmlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1lZGlh
UHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBzdGF0ZSkKK3sKKyAgICBwbGF0Zm9ybUlzUGxheWlu
Z01lZGlhRGlkQ2hhbmdlKCk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJc1Bs
YXlpbmdNZWRpYURpZENoYW5nZShzdGF0ZSkpOworfQogCiAjaWYgRU5BQkxFKE1FRElBX1VTQUdF
KQogdm9pZCBXZWJQYWdlOjphZGRNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24oTWVkaWFTZXNzaW9u
SWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNv
bnN0IFVSTCYgcGFnZVVSTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAppbmRleCBmNWNkN2VlMDkzM2M0ZGE2MThmYTU4MDU3OGVkMjA3NzlhZmE2ODg3Li40YTVm
ZjE4YzYxNmRlZDk1MzUyYTZjM2RjMjlkMGJiMmFhMDFmOGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDAxLDYgKzE0MDEsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCByZW1vdmVNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24oV2ViQ29yZTo6TWVkaWFT
ZXNzaW9uSWRlbnRpZmllcik7CiAjZW5kaWYKIAorICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRD
aGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsKKwogI2lmIEVO
QUJMRShJTUFHRV9FWFRSQUNUSU9OKQogICAgIHZvaWQgcmVxdWVzdEltYWdlRXh0cmFjdGlvbihX
ZWJDb3JlOjpFbGVtZW50JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6
RWxlbWVudD4mJik+JiYpOwogICAgIHZvaWQgdXBkYXRlV2l0aEltYWdlRXh0cmFjdGlvblJlc3Vs
dChXZWJDb3JlOjpJbWFnZUV4dHJhY3Rpb25SZXN1bHQmJiwgY29uc3QgV2ViQ29yZTo6RWxlbWVu
dENvbnRleHQmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBsb2NhdGlvbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChJbWFnZUV4dHJhY3Rpb25VcGRhdGVSZXN1bHQpPiYmKTsKQEAgLTE4OTcs
NiArMTg5OSw4IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBjb25zdW1lTmV0d29ya0V4dGVu
c2lvblNhbmRib3hFeHRlbnNpb25zKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5
Jik7CiAKKyAgICB2b2lkIHBsYXRmb3JtSXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoKTsKKwogICAg
IFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKIAogICAgIHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpQYWdlPiBtX3BhZ2U7CkBAIC0yMTg2LDYgKzIxOTAsNyBAQCBwcml2YXRl
OgogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9wb3RlbnRpYWxUYXBMb2NhdGlvbjsKICAgICBS
ZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IG1fcG90ZW50aWFsVGFwU2VjdXJpdHlPcmln
aW47CiAgICAgYm9vbCBtX2RpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50
RHVyaW5nU3ludGhldGljQ2xpY2sgeyBmYWxzZSB9OworICAgIGJvb2wgbV9kaWRDaGFuZ2VQbGF5
aW5nTWVkaWFTdGF0ZUR1cmluZ1N5bnRoZXRpY0NsaWNrIHsgZmFsc2UgfTsKIAogICAgIGJvb2wg
bV9oYXNSZWNlaXZlZFZpc2libGVDb250ZW50UmVjdHNBZnRlckRpZENvbW1pdExvYWQgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9oYXNSZXN0b3JlZEV4cG9zZWRDb250ZW50UmVjdEFmdGVyRGlkQ29t
bWl0TG9hZCB7IGZhbHNlIH07CkBAIC0yMzU4LDYgKzIzNjMsNyBAQCBpbmxpbmUgdm9pZCBXZWJQ
YWdlOjpwbGF0Zm9ybVdpbGxQZXJmb3JtRWRpdGluZ0NvbW1hbmQoKSB7IH0KIGlubGluZSBib29s
IFdlYlBhZ2U6OnBsYXRmb3JtTmVlZHNMYXlvdXRGb3JFZGl0b3JTdGF0ZShjb25zdCBXZWJDb3Jl
OjpGcmFtZSYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiBpbmxpbmUgdm9pZCBXZWJQYWdlOjpk
aWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudCgpIHsgfQogaW5saW5lIHZv
aWQgV2ViUGFnZTo6cHJlcGFyZVRvUnVuTW9kYWxKYXZhU2NyaXB0RGlhbG9nKCkgeyB9Citpbmxp
bmUgdm9pZCBXZWJQYWdlOjpwbGF0Zm9ybUlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKCkgeyB9CiAj
ZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDUwNzA5NjZlYjdmZjZjZDhl
NzI5OWQxNTM5ZjE1N2RiM2IxMDc0MGIuLjhiOWNlZDAxNmMwZDVjNWU3NjVmOTM3YmI1MjMxZWVl
NGFhNjcyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lv
cy9XZWJQYWdlSU9TLm1tCkBAIC04NzQsNyArODc0LDEyIEBAIHZvaWQgV2ViUGFnZTo6Y29tcGxl
dGVTeW50aGV0aWNDbGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNv
cmU6CiAgICAgYm9vbCBhbHRLZXkgPSBtb2RpZmllcnMuY29udGFpbnMoV2ViRXZlbnQ6Ok1vZGlm
aWVyOjpBbHRLZXkpOwogICAgIGJvb2wgbWV0YUtleSA9IG1vZGlmaWVycy5jb250YWlucyhXZWJF
dmVudDo6TW9kaWZpZXI6Ok1ldGFLZXkpOwogCi0gICAgbV9kaWRIYW5kbGVPclByZXZlbnRNb3Vz
ZURvd25Pck1vdXNlVXBFdmVudER1cmluZ1N5bnRoZXRpY0NsaWNrID0gZmFsc2U7CisgICAgRnVu
Y3Rpb248dm9pZCgpPiByZXNldFN5bnRoZXRpY0NsaWNrU3RhdGVGbGFncyA9IFsmXSB7CisgICAg
ICAgIG1fZGlkQ2hhbmdlUGxheWluZ01lZGlhU3RhdGVEdXJpbmdTeW50aGV0aWNDbGljayA9IGZh
bHNlOworICAgICAgICBtX2RpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50
RHVyaW5nU3ludGhldGljQ2xpY2sgPSBmYWxzZTsKKyAgICB9OworICAgIHJlc2V0U3ludGhldGlj
Q2xpY2tTdGF0ZUZsYWdzKCk7CisgICAgYXV0byByZXNldFN5bnRoZXRpY0NsaWNrU3RhdGVGbGFn
c0FmdGVyU2NvcGUgPSBtYWtlU2NvcGVFeGl0KFdURk1vdmUocmVzZXRTeW50aGV0aWNDbGlja1N0
YXRlRmxhZ3MpKTsKIAogICAgIHRhcFdhc0hhbmRsZWQgfD0gbWFpbmZyYW1lLmV2ZW50SGFuZGxl
cigpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChQbGF0Zm9ybU1vdXNlRXZlbnQocm91bmRlZEFkanVz
dGVkUG9pbnQsIHJvdW5kZWRBZGp1c3RlZFBvaW50LCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50
OjpNb3VzZVByZXNzZWQsIDEsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIFdh
bGxUaW1lOjpub3coKSwgV2ViQ29yZTo6Rm9yY2VBdENsaWNrLCBzeW50aGV0aWNDbGlja1R5cGUs
IHBvaW50ZXJJZCkpOwogICAgIGlmIChtX2lzQ2xvc2VkKQpAQCAtOTA2LDYgKzkxMSw5IEBAIHZv
aWQgV2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1Rv
Q2xpY2ssIGNvbnN0IFdlYkNvcmU6CiAgICAgICAgIGlmIChtX2RpZEhhbmRsZU9yUHJldmVudE1v
dXNlRG93bk9yTW91c2VVcEV2ZW50RHVyaW5nU3ludGhldGljQ2xpY2spCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYgKG1fZGlkQ2hhbmdlUGxheWluZ01lZGlhU3RhdGVE
dXJpbmdTeW50aGV0aWNDbGljaykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAg
ICBpZiAob2xkRm9jdXNlZEVsZW1lbnQgIT0gbmV3Rm9jdXNlZEVsZW1lbnQpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKQEAgLTkyNCw4ICs5MzIsNiBAQCB2b2lkIFdlYlBhZ2U6OmNvbXBs
ZXRlU3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJD
b3JlOgogICAgIGlmICghdGFwV2FzSGFuZGxlZCB8fCAhbm9kZVJlc3BvbmRpbmdUb0NsaWNrLmlz
RWxlbWVudE5vZGUoKSkKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRO
b3RIYW5kbGVUYXBBc0NsaWNrKHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbikpKTsKIAotICAgIG1f
ZGlkSGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVwRXZlbnREdXJpbmdTeW50aGV0aWND
bGljayA9IGZhbHNlOwotICAgIAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlk
Q29tcGxldGVTeW50aGV0aWNDbGljaygpKTsKIH0KIApAQCAtNDY5NCw2ICs0NzAwLDExIEBAIHZv
aWQgV2ViUGFnZTo6YW5pbWF0aW9uRGlkRmluaXNoRm9yRWxlbWVudChjb25zdCBXZWJDb3JlOjpF
bGVtZW50JiBhbmltYXRlZEVsZW1lCiAgICAgICAgIHNjaGVkdWxlRWRpdG9yU3RhdGVVcGRhdGVG
b3JTdGFydE9yRW5kQ29udGFpbmVyTm9kZUlmTmVlZGVkKGVuZENvbnRhaW5lci5nZXQoKSk7CiB9
CiAKK3ZvaWQgV2ViUGFnZTo6cGxhdGZvcm1Jc1BsYXlpbmdNZWRpYURpZENoYW5nZSgpCit7Cisg
ICAgbV9kaWRDaGFuZ2VQbGF5aW5nTWVkaWFTdGF0ZUR1cmluZ1N5bnRoZXRpY0NsaWNrID0gdHJ1
ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxFQVNFX0xPR19JRl9B
TExPV0VECmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZDcxYjA0ZTJjY2U4MzE3M2NkZWMzMDc3MWUyNzQ3MGQ5MGZjM2ExNS4u
ODYzNDNiZmJlMGIyMGFkZjNlNTRkNDVlZjljNTNlOGU1N2VlMjRkYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIxLTA2LTA0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgorCisgICAgICAgIFtpT1NdIE1lYW5pbmdmdWwgY2xpY2sgaGV1cmlzdGljIHNob3VsZCBhY2Nv
dW50IGZvciBtZWRpYSBzdGF0ZSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2NTUKKyAgICAgICAgcmRhcjovLzc4MzMwNjY0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbGF5b3V0
IHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGFwcGluZyB0byBwbGF5IG9yIHBhdXNlIGEgdmlkZW8gdHJp
Z2dlcnMgIm1lYW5pbmdmdWwiIHN5bnRoZXRpYyBjbGlja3MuCisKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVu
LXBsYXlpbmctbWVkaWEuaHRtbDogQWRkZWQuCisKIDIwMjEtMDYtMDQgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gTG9uZyBwcmVzc2luZyBp
bWFnZXMgb24gOWdhZy5jb20gZmFpbHMgdG8gcHJlc2VudCBjb250ZXh0IG1lbnVzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBs
YXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21l
YW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43YTBjNjk5YTRjN2ZlMmRmZmVlNGE2YmI3YjdiYTUzY2IwY2M5ZDc4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1w
bGF5aW5nLW1lZGlhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3QgZXhl
cmNpc2VzIHRoZSAnbWVhbmluZ2Z1bCBjbGljaycgaGV1cmlzdGljIHdoZW4gcGxheWluZyBvciBw
YXVzaW5nIGEgdmlkZW8sIGFuZCByZXF1aXJlcyBXZWJLaXRUZXN0UnVubmVyLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgZGlkUGxheVZpZGVvIGJlY2FtZSB0cnVlCitQQVNT
IGRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgaXMgZmFsc2UKK1BBU1MgZGlk
UGF1c2VWaWRlbyBiZWNhbWUgdHJ1ZQorUEFTUyBkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlj
a0NhbGxiYWNrIGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21l
YW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MmQ4YzEyYmI2ZjQzZTgxZDM4YTYwNzFkMTM0YjU4NDBkY2Y0MzI3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2st
d2hlbi1wbGF5aW5nLW1lZGlhLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIGh0bWw+
IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCB1c2VyLXNjYWxhYmxlPW5vIj4KKzxzdHlsZT4K
K2JvZHksIGh0bWwgeworICAgIGZvbnQtc2l6ZTogMThweDsKKyAgICBmb250LWZhbWlseTogc3lz
dGVtLXVpOworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKKyAgICBtYXJnaW46
IDA7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2RpZFBhdXNl
VmlkZW8gPSBmYWxzZTsKK2RpZFBsYXlWaWRlbyA9IGZhbHNlOworCithZGRFdmVudExpc3RlbmVy
KCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZXhlcmNp
c2VzIHRoZSAnbWVhbmluZ2Z1bCBjbGljaycgaGV1cmlzdGljIHdoZW4gcGxheWluZyBvciBwYXVz
aW5nIGEgdmlkZW8sIGFuZCByZXF1aXJlcyBXZWJLaXRUZXN0UnVubmVyLiIpOworICAgIGRvY3Vt
ZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBhc3luYyAoKSA9PiB7CisgICAgICAg
IGNvbnN0IHZpZGVvID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKTsKKyAgICAgICAg
aWYgKHZpZGVvLnBhdXNlZCkgeworICAgICAgICAgICAgYXdhaXQgdmlkZW8ucGxheSgpOworICAg
ICAgICAgICAgZGlkUGxheVZpZGVvID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIGF3YWl0IHZpZGVvLnBhdXNlKCk7CisgICAgICAgICAgICBkaWRQYXVzZVZpZGVvID0gdHJ1
ZTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgYXN5bmMgZnVuY3Rpb24gY2hlY2tGb3JOb25NZWFuaW5nZnVs
Q2xpY2soc2hvdWxkUGxheSkgeworICAgICAgICBkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlj
a0NhbGxiYWNrID0gZmFsc2U7CisgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZE5vdEhhbmRs
ZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2soKCkgPT4geworICAgICAgICAgICAgZGlkRGlz
cGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayA9IHRydWU7CisgICAgICAgIH0pOworCisg
ICAgICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChkb2N1bWVudC5ib2R5KTsKKyAg
ICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckRvdWJsZVRhcERlbGF5KCk7CisgICAgICAgIGF3
YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2hvdWxkQmVjb21lRXF1YWwoc2hvdWxkUGxheSA/
ICJkaWRQbGF5VmlkZW8iIDogImRpZFBhdXNlVmlkZW8iLCAidHJ1ZSIsIHJlc29sdmUpKTsKKyAg
ICAgICAgc2hvdWxkQmVGYWxzZSgiZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFj
ayIpOworICAgICAgICB0ZXN0UnVubmVyLmNsZWFyVGVzdFJ1bm5lckNhbGxiYWNrcygpOworICAg
IH0KKworICAgIGF3YWl0IGNoZWNrRm9yTm9uTWVhbmluZ2Z1bENsaWNrKHRydWUpOworICAgIGF3
YWl0IGNoZWNrRm9yTm9uTWVhbmluZ2Z1bENsaWNrKGZhbHNlKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30pOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHZpZGVvIGxv
b3Agc3JjPSIuLi8uLi9pbWFnZXMvcmVzb3VyY2VzL2FuaW1hdGVkLXJlZC1ncmVlbi1ibHVlLm1w
NCI+PC92aWRlbz4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430607</attachid>
            <date>2021-06-04 13:36:49 -0700</date>
            <delta_ts>2021-06-04 14:23:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226655-20210604133648.patch</filename>
            <type>text/plain</type>
            <size>13821</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFiMDAyZTYzNGQ5YWQzMjli
YWYyMjdlMmRlMjM4ZWQyNmNjZGIxYTguLmU3OTVjNDI5ODM1OWViYjc1NDNkMWYxOGE2NDZiZGIx
NWM3NmYwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMjEtMDYtMDQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWVhbmluZ2Z1
bCBjbGljayBoZXVyaXN0aWMgc2hvdWxkIGFjY291bnQgZm9yIG1lZGlhIHN0YXRlIGNoYW5nZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY1NQor
ICAgICAgICByZGFyOi8vNzgzMzA2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZWFjaCB0aGUgIm1lYW5pbmdmdWwgY2xpY2siIGhldXJpc3RpYyBh
Ym91dCBjaGFuZ2VzIHRvIG1lZGlhIGVsZW1lbnQgc3RhdGUgZmxhZ3MuIFNlZSBjb21tZW50cyBi
ZWxvdyBmb3IgbW9yZQorICAgICAgICBkZXRhaWxzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZl
bnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS5odG1sCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6aXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6aXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UpOgorCisgICAgICAgIFJlZmFjdG9y
IHNvbWUgbG9naWMgaGVyZSBzbyB0aGF0IHRoZSBXZWJDaHJvbWVDbGllbnQgY2FsbHMgaW50byBX
ZWJQYWdlLCB3aGljaCB0aGVuIHNlbmRzIGFuIElQQyBtZXNzYWdlIHRvIHRoZQorICAgICAgICBV
SSBwcm9jZXNzIGFuZCBhZGRpdGlvbmFsbHkgY2FsbHMgaW50byBhIHByaXZhdGUgbWV0aG9kIGZv
ciBwbGF0Zm9ybS1zcGVjaWZpYyBsb2dpYyAoc2VlIFdlYlBhZ2VJT1MubW0pLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKworICAgICAgICBBZGQgYSBmbGFnLCBg
bV9kaWRDaGFuZ2VQbGF5aW5nTWVkaWFTdGF0ZUR1cmluZ1N5bnRoZXRpY0NsaWNrYCwgdGhhdCBp
cyBzZXQgdG8gYHRydWVgIGlmIGFuZCBvbmx5IGlmIGEgcGxheWluZworICAgICAgICBtZWRpYSBl
bGVtZW50IGNoYW5nZXMgc3RhdGUgdW5kZXJuZWF0aCB0aGUgc2NvcGUgb2YgbW91c2UgZXZlbnQg
ZGlzcGF0Y2ggaW4gYFdlYlBhZ2U6OmNvbXBsZXRlU3ludGhldGljQ2xpY2tgLgorICAgICAgICBJ
ZiB0aGUgZmxhZyBpcyBzZXQgdG8gYHRydWVgLCB3ZSB0aGVuIGNvbnNpZGVyIHRoZSBjbGljayB0
byBoYXZlIGJlZW4gIm1lYW5pbmdmdWwiLCB3aXRoIHJlc3BlY3QgdG8gdGhlCisgICAgICAgIGAt
X3dlYlZpZXc6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50OmAgVUkgZGVs
ZWdhdGUgbWV0aG9kLgorCisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtSXNQbGF5
aW5nTWVkaWFEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWND
bGljayk6CisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBtYWtlIGl0IHNvIHRoYXQgd2Ugb25seSBz
ZXQgdGhlICItRHVyaW5nU3ludGhldGljQ2xpY2siIGZsYWdzIHRvIHRydWUgaWYKKyAgICAgICAg
YG1faXNDb21wbGV0aW5nU3ludGhldGljQ2xpY2tgIGlzIGB0cnVlYCAoaS5lLiwgd2UncmUgY3Vy
cmVudGx5IGluIHRoZSBzY29wZSBvZiBgY29tcGxldGVTeW50aGV0aWNDbGlja2ApLiBUaGlzCisg
ICAgICAgIGVuc3VyZXMgdGhhdCB3ZSBvbmx5IG5lZWQgdG8gcmVzZXQgYm90aCBmbGFncyByaWdo
dCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgbWV0aG9kLCBhbmQgYWxzbyB0aGF0IHRoZQorICAg
ICAgICAiLUR1cmluZ1N5bnRoZXRpY0NsaWNrIiBmbGFncyB3b24ndCBnZXQgc2V0IHRvIGB0cnVl
YCBvdXRzaWRlIG9mIHRoZSBzY29wZSBvZiBhIHN5bnRoZXRpYyBjbGljay4KKworICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpkaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVu
dCk6CisKKyAgICAgICAgQWRkIGEgY2hlY2sgZm9yIGBtX2lzQ29tcGxldGluZ1N5bnRoZXRpY0Ns
aWNrYC4KKworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKToKKworICAgICAgICBPbiBpT1MsIHNldCB0aGUgbmV3IGJvb2xlYW4gZmxhZyB0
byBgdHJ1ZWAgb25seSBpZiB3ZSdyZSBjdXJyZW50bHkgY29tcGxldGluZyBhIHN5bnRoZXRpYyBj
bGljay4KKwogMjAyMS0wNi0wNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgdGhlIHVudXNlZCBgc291cmNlRWxlbWVudElEYCBhcmd1bWVu
dCBpbiBgRG9jdW1lbnQ6OnVwZGF0ZUlzUGxheWluZ01lZGlhYCBhbmQgcmVsYXRlZCBjb2RlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDVkYjU4OGRlM2UyMDU3YjE2OTBhMmYwOTFmMmRhNGEx
NTI3ZTJmZDcuLmRjZmQ3Yzc1Njk3ZjkwMTdkZThmZjkxYmM3ZGFhYjUxZmExZDJiNmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMjM1LDcgKzEyMzUsNyBAQCBib29sIFdlYkNocm9tZUNs
aWVudDo6c2hvdWxkVXNlVGlsZWRCYWNraW5nRm9yRnJhbWVWaWV3KGNvbnN0IEZyYW1lVmlldyYg
ZnJhbWVWaQogCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6aXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2Uo
TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzIHN0YXRlKQogewotICAgIG1fcGFnZS5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OklzUGxheWluZ01lZGlhRGlkQ2hhbmdlKHN0YXRlKSk7
CisgICAgbV9wYWdlLmlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKHN0YXRlKTsKIH0KIAogdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmhhbmRsZUF1dG9wbGF5RXZlbnQoQXV0b3BsYXlFdmVudCBldmVudCwg
T3B0aW9uU2V0PEF1dG9wbGF5RXZlbnRGbGFncz4gZmxhZ3MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDZhN2VjM2UyYjA1MTU5NWU5NTM5ZDY2
ODBjMTlkNjQ5M2UzZjZlZjYuLjMxYjUzN2ZjM2U0NjBmMWMxZjZkNzNlNGIxNTQ5MmFhMDNlNDZk
ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBA
IC03MzYwLDYgKzczNjAsMTEgQEAgdm9pZCBXZWJQYWdlOjpzeW5jaHJvbml6ZUNPUlNEaXNhYmxp
bmdQYXR0ZXJuc1dpdGhOZXR3b3JrUHJvY2VzcygpCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVz
c2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpTZXRDT1JTRGlzYWJsaW5nUGF0
dGVybnMobV9pZGVudGlmaWVyLCBtX2NvcnNEaXNhYmxpbmdQYXR0ZXJucyksIDApOwogfQogCit2
b2lkIFdlYlBhZ2U6OmlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXI6Ok1lZGlhU3RhdGVGbGFncyBzdGF0ZSkKK3sKKyAgICBwbGF0Zm9ybUlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKCk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJc1BsYXlpbmdN
ZWRpYURpZENoYW5nZShzdGF0ZSkpOworfQogCiAjaWYgRU5BQkxFKE1FRElBX1VTQUdFKQogdm9p
ZCBXZWJQYWdlOjphZGRNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24oTWVkaWFTZXNzaW9uSWRlbnRp
ZmllciBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0IFVS
TCYgcGFnZVVSTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApp
bmRleCBmNWNkN2VlMDkzM2M0ZGE2MThmYTU4MDU3OGVkMjA3NzlhZmE2ODg3Li42MWYwYmJjMDcy
MDY2YjhjNDQ1Y2VkNGI1MzcwNDljY2UxM2IwZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDAxLDYgKzE0MDEsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCByZW1vdmVNZWRpYVVzYWdlTWFuYWdlclNlc3Npb24oV2ViQ29yZTo6TWVkaWFTZXNzaW9u
SWRlbnRpZmllcik7CiAjZW5kaWYKIAorICAgIHZvaWQgaXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2Uo
V2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdzKTsKKwogI2lmIEVOQUJMRShJ
TUFHRV9FWFRSQUNUSU9OKQogICAgIHZvaWQgcmVxdWVzdEltYWdlRXh0cmFjdGlvbihXZWJDb3Jl
OjpFbGVtZW50JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6RWxlbWVu
dD4mJik+JiYpOwogICAgIHZvaWQgdXBkYXRlV2l0aEltYWdlRXh0cmFjdGlvblJlc3VsdChXZWJD
b3JlOjpJbWFnZUV4dHJhY3Rpb25SZXN1bHQmJiwgY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRl
eHQmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBsb2NhdGlvbiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChJbWFnZUV4dHJhY3Rpb25VcGRhdGVSZXN1bHQpPiYmKTsKQEAgLTE4OTcsNiArMTg5
OSw4IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBjb25zdW1lTmV0d29ya0V4dGVuc2lvblNh
bmRib3hFeHRlbnNpb25zKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5Jik7CiAK
KyAgICB2b2lkIHBsYXRmb3JtSXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoKTsKKwogICAgIFdlYkNv
cmU6OlBhZ2VJZGVudGlmaWVyIG1faWRlbnRpZmllcjsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJDb3JlOjpQYWdlPiBtX3BhZ2U7CkBAIC0yMTg1LDcgKzIxODksMTAgQEAgcHJpdmF0ZToKICAg
ICBSZWZQdHI8V2ViQ29yZTo6Tm9kZT4gbV9wb3RlbnRpYWxUYXBOb2RlOwogICAgIFdlYkNvcmU6
OkZsb2F0UG9pbnQgbV9wb3RlbnRpYWxUYXBMb2NhdGlvbjsKICAgICBSZWZQdHI8V2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4+IG1fcG90ZW50aWFsVGFwU2VjdXJpdHlPcmlnaW47CisKKyAgICBib29s
IG1faXNDb21wbGV0aW5nU3ludGhldGljQ2xpY2sgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kaWRI
YW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudER1cmluZ1N5bnRoZXRpY0NsaWNr
IHsgZmFsc2UgfTsKKyAgICBib29sIG1fZGlkQ2hhbmdlUGxheWluZ01lZGlhU3RhdGVEdXJpbmdT
eW50aGV0aWNDbGljayB7IGZhbHNlIH07CiAKICAgICBib29sIG1faGFzUmVjZWl2ZWRWaXNpYmxl
Q29udGVudFJlY3RzQWZ0ZXJEaWRDb21taXRMb2FkIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFz
UmVzdG9yZWRFeHBvc2VkQ29udGVudFJlY3RBZnRlckRpZENvbW1pdExvYWQgeyBmYWxzZSB9OwpA
QCAtMjM1OCw2ICsyMzY1LDcgQEAgaW5saW5lIHZvaWQgV2ViUGFnZTo6cGxhdGZvcm1XaWxsUGVy
Zm9ybUVkaXRpbmdDb21tYW5kKCkgeyB9CiBpbmxpbmUgYm9vbCBXZWJQYWdlOjpwbGF0Zm9ybU5l
ZWRzTGF5b3V0Rm9yRWRpdG9yU3RhdGUoY29uc3QgV2ViQ29yZTo6RnJhbWUmKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogaW5saW5lIHZvaWQgV2ViUGFnZTo6ZGlkSGFuZGxlT3JQcmV2ZW50TW91
c2VEb3duT3JNb3VzZVVwRXZlbnQoKSB7IH0KIGlubGluZSB2b2lkIFdlYlBhZ2U6OnByZXBhcmVU
b1J1bk1vZGFsSmF2YVNjcmlwdERpYWxvZygpIHsgfQoraW5saW5lIHZvaWQgV2ViUGFnZTo6cGxh
dGZvcm1Jc1BsYXlpbmdNZWRpYURpZENoYW5nZSgpIHsgfQogI2VuZGlmCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3Mv
V2ViUGFnZUlPUy5tbQppbmRleCA1MDcwOTY2ZWI3ZmY2Y2Q4ZTcyOTlkMTUzOWYxNTdkYjNiMTA3
NDBiLi5lMjk4OGQ4NTE1YTZkZTAyMmNiODNhMjQwY2Y0MmIzNTI4YmIwNjY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAt
ODY0LDYgKzg2NCw3IEBAIHZvaWQgV2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayhOb2Rl
JiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6CiAgICAgUmVmUHRyPEVsZW1l
bnQ+IG9sZEZvY3VzZWRFbGVtZW50ID0gb2xkRm9jdXNlZEZyYW1lID8gb2xkRm9jdXNlZEZyYW1l
LT5kb2N1bWVudCgpLT5mb2N1c2VkRWxlbWVudCgpIDogbnVsbHB0cjsKIAogICAgIFNldEZvclNj
b3BlPGJvb2w+IHVzZXJJc0ludGVyYWN0aW5nQ2hhbmdlIHsgbV91c2VySXNJbnRlcmFjdGluZywg
dHJ1ZSB9OworICAgIFNldEZvclNjb3BlPGJvb2w+IGlzQ29tcGxldGluZ1N5bnRoZXRpY0NsaWNr
Q2hhbmdlIHsgbV9pc0NvbXBsZXRpbmdTeW50aGV0aWNDbGljaywgdHJ1ZSB9OwogCiAgICAgYm9v
bCB0YXBXYXNIYW5kbGVkID0gZmFsc2U7CiAgICAgbV9sYXN0SW50ZXJhY3Rpb25Mb2NhdGlvbiA9
IHJvdW5kZWRBZGp1c3RlZFBvaW50OwpAQCAtODc0LDYgKzg3NSw3IEBAIHZvaWQgV2ViUGFnZTo6
Y29tcGxldGVTeW50aGV0aWNDbGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0
IFdlYkNvcmU6CiAgICAgYm9vbCBhbHRLZXkgPSBtb2RpZmllcnMuY29udGFpbnMoV2ViRXZlbnQ6
Ok1vZGlmaWVyOjpBbHRLZXkpOwogICAgIGJvb2wgbWV0YUtleSA9IG1vZGlmaWVycy5jb250YWlu
cyhXZWJFdmVudDo6TW9kaWZpZXI6Ok1ldGFLZXkpOwogCisgICAgbV9kaWRDaGFuZ2VQbGF5aW5n
TWVkaWFTdGF0ZUR1cmluZ1N5bnRoZXRpY0NsaWNrID0gZmFsc2U7CiAgICAgbV9kaWRIYW5kbGVP
clByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudER1cmluZ1N5bnRoZXRpY0NsaWNrID0gZmFs
c2U7CiAKICAgICB0YXBXYXNIYW5kbGVkIHw9IG1haW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5k
bGVNb3VzZVByZXNzRXZlbnQoUGxhdGZvcm1Nb3VzZUV2ZW50KHJvdW5kZWRBZGp1c3RlZFBvaW50
LCByb3VuZGVkQWRqdXN0ZWRQb2ludCwgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VQ
cmVzc2VkLCAxLCBzaGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6
bm93KCksIFdlYkNvcmU6OkZvcmNlQXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVy
SWQpKTsKQEAgLTkwNiw2ICs5MDgsOSBAQCB2b2lkIFdlYlBhZ2U6OmNvbXBsZXRlU3ludGhldGlj
Q2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJDb3JlOgogICAgICAg
ICBpZiAobV9kaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudER1cmluZ1N5
bnRoZXRpY0NsaWNrKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgICAgIGlmICht
X2RpZENoYW5nZVBsYXlpbmdNZWRpYVN0YXRlRHVyaW5nU3ludGhldGljQ2xpY2spCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKG9sZEZvY3VzZWRFbGVtZW50ICE9IG5l
d0ZvY3VzZWRFbGVtZW50KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC05MjQsOCAr
OTI5LDYgQEAgdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVS
ZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZToKICAgICBpZiAoIXRhcFdhc0hhbmRsZWQg
fHwgIW5vZGVSZXNwb25kaW5nVG9DbGljay5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkTm90SGFuZGxlVGFwQXNDbGljayhyb3VuZGVkSW50
UG9pbnQobG9jYXRpb24pKSk7CiAKLSAgICBtX2RpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9y
TW91c2VVcEV2ZW50RHVyaW5nU3ludGhldGljQ2xpY2sgPSBmYWxzZTsKLSAgICAKICAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKSk7CiB9
CiAKQEAgLTk0Nyw3ICs5NTAsOCBAQCB2b2lkIFdlYlBhZ2U6OmF0dGVtcHRTeW50aGV0aWNDbGlj
ayhjb25zdCBJbnRQb2ludCYgcG9pbnQsIE9wdGlvblNldDxXZWJFdmVudDo6TQogCiB2b2lkIFdl
YlBhZ2U6OmRpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KCkKIHsKLSAg
ICBtX2RpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50RHVyaW5nU3ludGhl
dGljQ2xpY2sgPSB0cnVlOworICAgIGlmIChtX2lzQ29tcGxldGluZ1N5bnRoZXRpY0NsaWNrKQor
ICAgICAgICBtX2RpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50RHVyaW5n
U3ludGhldGljQ2xpY2sgPSB0cnVlOwogfQogCiB2b2lkIFdlYlBhZ2U6OmhhbmRsZURvdWJsZVRh
cEZvckRvdWJsZUNsaWNrQXRQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQsIE9wdGlvblNldDxX
ZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVycywgVHJhbnNhY3Rpb25JRCBsYXN0TGF5ZXJUcmVl
VHJhbnNhY3Rpb25JZCkKQEAgLTQ2OTQsNiArNDY5OCwxMiBAQCB2b2lkIFdlYlBhZ2U6OmFuaW1h
dGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29uc3QgV2ViQ29yZTo6RWxlbWVudCYgYW5pbWF0ZWRF
bGVtZQogICAgICAgICBzY2hlZHVsZUVkaXRvclN0YXRlVXBkYXRlRm9yU3RhcnRPckVuZENvbnRh
aW5lck5vZGVJZk5lZWRlZChlbmRDb250YWluZXIuZ2V0KCkpOwogfQogCit2b2lkIFdlYlBhZ2U6
OnBsYXRmb3JtSXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoKQoreworICAgIGlmIChtX2lzQ29tcGxl
dGluZ1N5bnRoZXRpY0NsaWNrKQorICAgICAgICBtX2RpZENoYW5nZVBsYXlpbmdNZWRpYVN0YXRl
RHVyaW5nU3ludGhldGljQ2xpY2sgPSB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkNzFiMDRlMmNjZTgzMTcz
Y2RlYzMwNzcxZTI3NDcwZDkwZmMzYTE1Li44NjM0M2JmYmUwYjIwYWRmM2U1NGQ0NWVmOWM1M2U4
ZTU3ZWUyNGRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDYtMDQgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWVhbmluZ2Z1bCBj
bGljayBoZXVyaXN0aWMgc2hvdWxkIGFjY291bnQgZm9yIG1lZGlhIHN0YXRlIGNoYW5nZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY1NQorICAg
ICAgICByZGFyOi8vNzgzMzA2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVzdCB0byB2ZXJpZnkgdGhhdCB0YXBwaW5nIHRv
IHBsYXkgb3IgcGF1c2UgYSB2aWRlbyB0cmlnZ2VycyAibWVhbmluZ2Z1bCIgc3ludGhldGljIGNs
aWNrcy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4t
cGxheWluZy1tZWRpYS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS5odG1sOiBBZGRlZC4KKwog
MjAyMS0wNi0wNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbaU9TXSBMb25nIHByZXNzaW5nIGltYWdlcyBvbiA5Z2FnLmNvbSBmYWlscyB0byBwcmVz
ZW50IGNvbnRleHQgbWVudXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lv
cy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVk
aWEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMGM2OTlhNGM3ZmUyZGZmZWU0YTZiYjdiN2Jh
NTNjYjBjYzlkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9p
b3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTIgQEAKK1RoaXMgdGVzdCBleGVyY2lzZXMgdGhlICdtZWFuaW5nZnVsIGNsaWNrJyBo
ZXVyaXN0aWMgd2hlbiBwbGF5aW5nIG9yIHBhdXNpbmcgYSB2aWRlbywgYW5kIHJlcXVpcmVzIFdl
YktpdFRlc3RSdW5uZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBkaWRQ
bGF5VmlkZW8gYmVjYW1lIHRydWUKK1BBU1MgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tD
YWxsYmFjayBpcyBmYWxzZQorUEFTUyBkaWRQYXVzZVZpZGVvIGJlY2FtZSB0cnVlCitQQVNTIGRp
ZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVk
aWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdo
ZW4tcGxheWluZy1tZWRpYS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZDhjMTJiYjZmNDNlODFkMzhhNjA3
MWQxMzRiNTg0MGRjZjQzMjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEuaHRtbApAQCAtMCww
ICsxLDYxIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyB1c2VG
bGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVz
ZXItc2NhbGFibGU9bm8iPgorPHN0eWxlPgorYm9keSwgaHRtbCB7CisgICAgZm9udC1zaXplOiAx
OHB4OworICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWk7CisgICAgd2lkdGg6IDEwMCU7CisgICAg
aGVpZ2h0OiAxMDAlOworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2pzVGVz
dElzQXN5bmMgPSB0cnVlOworZGlkUGF1c2VWaWRlbyA9IGZhbHNlOworZGlkUGxheVZpZGVvID0g
ZmFsc2U7CisKK2FkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdCBleGVyY2lzZXMgdGhlICdtZWFuaW5nZnVsIGNsaWNrJyBoZXVy
aXN0aWMgd2hlbiBwbGF5aW5nIG9yIHBhdXNpbmcgYSB2aWRlbywgYW5kIHJlcXVpcmVzIFdlYktp
dFRlc3RSdW5uZXIuIik7CisgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJ2aWRlbyIpOworICAgICAgICBpZiAodmlkZW8ucGF1c2VkKSB7CisgICAgICAgICAg
ICBhd2FpdCB2aWRlby5wbGF5KCk7CisgICAgICAgICAgICBkaWRQbGF5VmlkZW8gPSB0cnVlOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXdhaXQgdmlkZW8ucGF1c2UoKTsKKyAgICAg
ICAgICAgIGRpZFBhdXNlVmlkZW8gPSB0cnVlOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBhc3luYyBmdW5j
dGlvbiBjaGVja0Zvck5vbk1lYW5pbmdmdWxDbGljayhzaG91bGRQbGF5KSB7CisgICAgICAgIGRp
ZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgPSBmYWxzZTsKKyAgICAgICAgdGVz
dFJ1bm5lci5pbnN0YWxsRGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFjaygo
KSA9PiB7CisgICAgICAgICAgICBkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNr
ID0gdHJ1ZTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KGRvY3VtZW50LmJvZHkpOworICAgICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yRG91
YmxlVGFwRGVsYXkoKTsKKyAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzaG91
bGRCZWNvbWVFcXVhbChzaG91bGRQbGF5ID8gImRpZFBsYXlWaWRlbyIgOiAiZGlkUGF1c2VWaWRl
byIsICJ0cnVlIiwgcmVzb2x2ZSkpOworICAgICAgICBzaG91bGRCZUZhbHNlKCJkaWREaXNwYXRj
aE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrIik7CisgICAgICAgIHRlc3RSdW5uZXIuY2xlYXJU
ZXN0UnVubmVyQ2FsbGJhY2tzKCk7CisgICAgfQorCisgICAgYXdhaXQgY2hlY2tGb3JOb25NZWFu
aW5nZnVsQ2xpY2sodHJ1ZSk7CisgICAgYXdhaXQgY2hlY2tGb3JOb25NZWFuaW5nZnVsQ2xpY2so
ZmFsc2UpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICA8dmlkZW8gbG9vcCBzcmM9Ii4uLy4uL2ltYWdlcy9yZXNvdXJjZXMv
YW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUubXA0Ij48L3ZpZGVvPgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430611</attachid>
            <date>2021-06-04 14:23:47 -0700</date>
            <delta_ts>2021-06-04 14:55:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226655-20210604142347.patch</filename>
            <type>text/plain</type>
            <size>12896</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYwMTliNGMyNjRkODdiYzhj
MzJhZTEyYzZkOWJjY2RlZDhiM2E2YzQuLjI4OTE3MTNmZjVlZGUwZjllOTAxNjk0YThhNTJiZjBl
NjI2MWQ2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjEtMDYtMDQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWVhbmluZ2Z1
bCBjbGljayBoZXVyaXN0aWMgc2hvdWxkIGFjY291bnQgZm9yIG1lZGlhIHN0YXRlIGNoYW5nZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY1NQor
ICAgICAgICByZGFyOi8vNzgzMzA2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9u
LgorCisgICAgICAgIFRlYWNoIHRoZSAibWVhbmluZ2Z1bCBjbGljayIgaGV1cmlzdGljIGFib3V0
IGNoYW5nZXMgdG8gbWVkaWEgZWxlbWVudCBzdGF0ZSBmbGFncy4gU2VlIGNvbW1lbnRzIGJlbG93
IGZvciBtb3JlCisgICAgICAgIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMv
aW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWwKKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjppc1BsYXlpbmdNZWRpYURpZENoYW5nZSk6CisKKyAgICAgICAgUmVmYWN0b3Igc29t
ZSBsb2dpYyBoZXJlIHNvIHRoYXQgdGhlIFdlYkNocm9tZUNsaWVudCBjYWxscyBpbnRvIFdlYlBh
Z2UsIHdoaWNoIHRoZW4gc2VuZHMgYW4gSVBDIG1lc3NhZ2UgdG8gdGhlCisgICAgICAgIFVJIHBy
b2Nlc3MgYW5kIGFkZGl0aW9uYWxseSBjYWxscyBpbnRvIGEgcHJpdmF0ZSBtZXRob2QgZm9yIHBs
YXRmb3JtLXNwZWNpZmljIGxvZ2ljIChzZWUgV2ViUGFnZUlPUy5tbSkuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorCisgICAgICAgIFJlcGxhY2UgYG1fZGlkSGFu
ZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVwRXZlbnREdXJpbmdTeW50aGV0aWNDbGlja2Ag
d2l0aCBhbm90aGVyIGZsYWcsCisgICAgICAgIGBtX2N1cnJlbnRTeW50aGV0aWNDbGlja01heUJl
Tm9uTWVhbmluZ2Z1bGAsIHRoYXQgaXMgaW5pdGlhbGx5IHNldCB0byBgdHJ1ZWAgYXQgdGhlIGJl
Z2lubmluZyBvZgorICAgICAgICBgV2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGlja2AsIGFu
ZCBjb25zdWx0ZWQgYWZ0ZXIgdGhlIGV2ZW50cyBoYXZlIGJlZW4gZGlzcGF0Y2hlZCB0byBzZWUg
aWYgYW55dGhpbmcgaGFzCisgICAgICAgIHNldCBpdCB0byBgZmFsc2VgIChjdXJyZW50bHksIHRo
aXMgaW5jbHVkZXMgb25seSBwbGF5aW5nIG1lZGlhIHN0YXRlIGNoYW5nZXMgYW5kIGhhbmRsZWQg
Y2xpY2sgZXZlbnRzIGJ5IHRoZQorICAgICAgICBwYWdlKS4gSWYgdGhlIGZsYWcgaXMgc2V0IHRv
IGBmYWxzZWAsIHdlIHRoZW4gY29uc2lkZXIgdGhlIGNsaWNrIHRvIGhhdmUgYmVlbiAibWVhbmlu
Z2Z1bCIsIHdpdGggcmVzcGVjdCB0byB0aGUKKyAgICAgICAgYC1fd2ViVmlldzpkaWROb3RIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6YCBVSSBkZWxlZ2F0ZSBtZXRob2QuCisKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGxhdGZvcm1Jc1BsYXlpbmdNZWRpYURpZENoYW5nZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6ZGlkSGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVwRXZlbnQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUlzUGxheWluZ01lZGlhRGlkQ2hh
bmdlKToKKworICAgICAgICBNYWtlIHRoZXNlIHNldCBgbV9jdXJyZW50U3ludGhldGljQ2xpY2tN
YXlCZU5vbk1lYW5pbmdmdWxgIHRvIGBmYWxzZWAuCisKIDIwMjEtMDYtMDQgIFJ5b3N1a2UgTml3
YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3RvcmUgTWVkaWFQbGF5ZXIgdXNpbmcg
V2Vha1B0ciBpbiBNZWRpYVBsYXllclByaXZhdGVSZW1vdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
aW5kZXggNWRiNTg4ZGUzZTIwNTdiMTY5MGEyZjA5MWYyZGE0YTE1MjdlMmZkNy4uZGNmZDdjNzU2
OTdmOTAxN2RlOGZmOTFiYzdkYWFiNTFmYTFkMmI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
QEAgLTEyMzUsNyArMTIzNSw3IEBAIGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVc2VUaWxl
ZEJhY2tpbmdGb3JGcmFtZVZpZXcoY29uc3QgRnJhbWVWaWV3JiBmcmFtZVZpCiAKIHZvaWQgV2Vi
Q2hyb21lQ2xpZW50Ojppc1BsYXlpbmdNZWRpYURpZENoYW5nZShNZWRpYVByb2R1Y2VyOjpNZWRp
YVN0YXRlRmxhZ3Mgc3RhdGUpCiB7Ci0gICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6SXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2Uoc3RhdGUpKTsKKyAgICBtX3BhZ2UuaXNQbGF5
aW5nTWVkaWFEaWRDaGFuZ2Uoc3RhdGUpOwogfQogCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6aGFu
ZGxlQXV0b3BsYXlFdmVudChBdXRvcGxheUV2ZW50IGV2ZW50LCBPcHRpb25TZXQ8QXV0b3BsYXlF
dmVudEZsYWdzPiBmbGFncykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggNmE3ZWMzZTJiMDUxNTk1ZTk1MzlkNjY4MGMxOWQ2NDkzZTNmNmVmNi4u
MzFiNTM3ZmMzZTQ2MGYxYzFmNmQ3M2U0YjE1NDkyYWEwM2U0NmRlZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTczNjAsNiArNzM2MCwxMSBA
QCB2b2lkIFdlYlBhZ2U6OnN5bmNocm9uaXplQ09SU0Rpc2FibGluZ1BhdHRlcm5zV2l0aE5ldHdv
cmtQcm9jZXNzKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OlNldENPUlNEaXNhYmxpbmdQYXR0ZXJucyhtX2lkZW50aWZpZXIs
IG1fY29yc0Rpc2FibGluZ1BhdHRlcm5zKSwgMCk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6aXNQbGF5
aW5nTWVkaWFEaWRDaGFuZ2UoV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6TWVkaWFTdGF0ZUZsYWdz
IHN0YXRlKQoreworICAgIHBsYXRmb3JtSXNQbGF5aW5nTWVkaWFEaWRDaGFuZ2UoKTsKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OklzUGxheWluZ01lZGlhRGlkQ2hhbmdlKHN0YXRl
KSk7Cit9CiAKICNpZiBFTkFCTEUoTUVESUFfVVNBR0UpCiB2b2lkIFdlYlBhZ2U6OmFkZE1lZGlh
VXNhZ2VNYW5hZ2VyU2Vzc2lvbihNZWRpYVNlc3Npb25JZGVudGlmaWVyIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllciwgY29uc3QgVVJMJiBwYWdlVVJMKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGY1Y2Q3ZWUwOTMzYzRk
YTYxOGZhNTgwNTc4ZWQyMDc3OWFmYTY4ODcuLjU0ZjYzOWYyMzhiNTk5YWM0ZTg4MTkwMmJjNzlk
NjQ0ZTI4NzFkNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKQEAgLTE0MDEsNiArMTQwMSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZU1lZGlhVXNh
Z2VNYW5hZ2VyU2Vzc2lvbihXZWJDb3JlOjpNZWRpYVNlc3Npb25JZGVudGlmaWVyKTsKICNlbmRp
ZgogCisgICAgdm9pZCBpc1BsYXlpbmdNZWRpYURpZENoYW5nZShXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNZWRpYVN0YXRlRmxhZ3MpOworCiAjaWYgRU5BQkxFKElNQUdFX0VYVFJBQ1RJT04pCiAg
ICAgdm9pZCByZXF1ZXN0SW1hZ2VFeHRyYWN0aW9uKFdlYkNvcmU6OkVsZW1lbnQmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFJlZlB0cjxXZWJDb3JlOjpFbGVtZW50PiYmKT4mJik7CiAgICAgdm9p
ZCB1cGRhdGVXaXRoSW1hZ2VFeHRyYWN0aW9uUmVzdWx0KFdlYkNvcmU6OkltYWdlRXh0cmFjdGlv
blJlc3VsdCYmLCBjb25zdCBXZWJDb3JlOjpFbGVtZW50Q29udGV4dCYsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UG9pbnQmIGxvY2F0aW9uLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEltYWdlRXh0cmFj
dGlvblVwZGF0ZVJlc3VsdCk+JiYpOwpAQCAtMTg5Nyw2ICsxODk5LDggQEAgcHJpdmF0ZToKICAg
ICAKICAgICB2b2lkIGNvbnN1bWVOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEV4dGVuc2lvbnMoY29u
c3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmKTsKIAorICAgIHZvaWQgcGxhdGZvcm1J
c1BsYXlpbmdNZWRpYURpZENoYW5nZSgpOworCiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIg
bV9pZGVudGlmaWVyOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBhZ2U+IG1fcGFn
ZTsKQEAgLTIxODUsOCArMjE4OSw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFdlYkNvcmU6Ok5v
ZGU+IG1fcG90ZW50aWFsVGFwTm9kZTsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1fcG90ZW50
aWFsVGFwTG9jYXRpb247CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBtX3Bv
dGVudGlhbFRhcFNlY3VyaXR5T3JpZ2luOwotICAgIGJvb2wgbV9kaWRIYW5kbGVPclByZXZlbnRN
b3VzZURvd25Pck1vdXNlVXBFdmVudER1cmluZ1N5bnRoZXRpY0NsaWNrIHsgZmFsc2UgfTsKIAor
ICAgIGJvb2wgbV9jdXJyZW50U3ludGhldGljQ2xpY2tNYXlCZU5vbk1lYW5pbmdmdWwgeyB0cnVl
IH07CiAgICAgYm9vbCBtX2hhc1JlY2VpdmVkVmlzaWJsZUNvbnRlbnRSZWN0c0FmdGVyRGlkQ29t
bWl0TG9hZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1Jlc3RvcmVkRXhwb3NlZENvbnRlbnRS
ZWN0QWZ0ZXJEaWRDb21taXRMb2FkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2NhbGVXYXNTZXRC
eVVJUHJvY2VzcyB7IGZhbHNlIH07CkBAIC0yMzU4LDYgKzIzNjIsNyBAQCBpbmxpbmUgdm9pZCBX
ZWJQYWdlOjpwbGF0Zm9ybVdpbGxQZXJmb3JtRWRpdGluZ0NvbW1hbmQoKSB7IH0KIGlubGluZSBi
b29sIFdlYlBhZ2U6OnBsYXRmb3JtTmVlZHNMYXlvdXRGb3JFZGl0b3JTdGF0ZShjb25zdCBXZWJD
b3JlOjpGcmFtZSYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiBpbmxpbmUgdm9pZCBXZWJQYWdl
OjpkaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudCgpIHsgfQogaW5saW5l
IHZvaWQgV2ViUGFnZTo6cHJlcGFyZVRvUnVuTW9kYWxKYXZhU2NyaXB0RGlhbG9nKCkgeyB9Citp
bmxpbmUgdm9pZCBXZWJQYWdlOjpwbGF0Zm9ybUlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKCkgeyB9
CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDUwNzA5NjZlYjdmZjZj
ZDhlNzI5OWQxNTM5ZjE1N2RiM2IxMDc0MGIuLmE1MWM2OTNkODAzODEzYTg2YWMxN2NkY2QyMTgw
YjM2NDBjZGRmZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCkBAIC04NzQsNyArODc0LDcgQEAgdm9pZCBXZWJQYWdlOjpjb21w
bGV0ZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywgY29uc3QgV2Vi
Q29yZToKICAgICBib29sIGFsdEtleSA9IG1vZGlmaWVycy5jb250YWlucyhXZWJFdmVudDo6TW9k
aWZpZXI6OkFsdEtleSk7CiAgICAgYm9vbCBtZXRhS2V5ID0gbW9kaWZpZXJzLmNvbnRhaW5zKFdl
YkV2ZW50OjpNb2RpZmllcjo6TWV0YUtleSk7CiAKLSAgICBtX2RpZEhhbmRsZU9yUHJldmVudE1v
dXNlRG93bk9yTW91c2VVcEV2ZW50RHVyaW5nU3ludGhldGljQ2xpY2sgPSBmYWxzZTsKKyAgICBt
X2N1cnJlbnRTeW50aGV0aWNDbGlja01heUJlTm9uTWVhbmluZ2Z1bCA9IHRydWU7CiAKICAgICB0
YXBXYXNIYW5kbGVkIHw9IG1haW5mcmFtZS5ldmVudEhhbmRsZXIoKS5oYW5kbGVNb3VzZVByZXNz
RXZlbnQoUGxhdGZvcm1Nb3VzZUV2ZW50KHJvdW5kZWRBZGp1c3RlZFBvaW50LCByb3VuZGVkQWRq
dXN0ZWRQb2ludCwgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkLCAxLCBz
aGlmdEtleSwgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBXYWxsVGltZTo6bm93KCksIFdlYkNv
cmU6OkZvcmNlQXRDbGljaywgc3ludGhldGljQ2xpY2tUeXBlLCBwb2ludGVySWQpKTsKICAgICBp
ZiAobV9pc0Nsb3NlZCkKQEAgLTkwMyw3ICs5MDMsNyBAQCB2b2lkIFdlYlBhZ2U6OmNvbXBsZXRl
U3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBjb25zdCBXZWJDb3Jl
OgogICAgICAgICByZXR1cm47CiAKICAgICBib29sIHNob3VsZERpc3BhdGNoRGlkTm90SGFuZGxl
VGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50ID0gKFsmXSB7Ci0gICAgICAgIGlmIChtX2RpZEhh
bmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50RHVyaW5nU3ludGhldGljQ2xpY2sp
CisgICAgICAgIGlmICghbV9jdXJyZW50U3ludGhldGljQ2xpY2tNYXlCZU5vbk1lYW5pbmdmdWwp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgaWYgKG9sZEZvY3VzZWRFbGVt
ZW50ICE9IG5ld0ZvY3VzZWRFbGVtZW50KQpAQCAtOTI0LDggKzkyNCw2IEBAIHZvaWQgV2ViUGFn
ZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNv
bnN0IFdlYkNvcmU6CiAgICAgaWYgKCF0YXBXYXNIYW5kbGVkIHx8ICFub2RlUmVzcG9uZGluZ1Rv
Q2xpY2suaXNFbGVtZW50Tm9kZSgpKQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkRpZE5vdEhhbmRsZVRhcEFzQ2xpY2socm91bmRlZEludFBvaW50KGxvY2F0aW9uKSkpOwog
Ci0gICAgbV9kaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudER1cmluZ1N5
bnRoZXRpY0NsaWNrID0gZmFsc2U7Ci0gICAgCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpEaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKCkpOwogfQogCkBAIC05NDcsNyArOTQ1LDcg
QEAgdm9pZCBXZWJQYWdlOjphdHRlbXB0U3ludGhldGljQ2xpY2soY29uc3QgSW50UG9pbnQmIHBv
aW50LCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok0KIAogdm9pZCBXZWJQYWdlOjpkaWRIYW5kbGVPclBy
ZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudCgpCiB7Ci0gICAgbV9kaWRIYW5kbGVPclByZXZl
bnRNb3VzZURvd25Pck1vdXNlVXBFdmVudER1cmluZ1N5bnRoZXRpY0NsaWNrID0gdHJ1ZTsKKyAg
ICBtX2N1cnJlbnRTeW50aGV0aWNDbGlja01heUJlTm9uTWVhbmluZ2Z1bCA9IGZhbHNlOwogfQog
CiB2b2lkIFdlYlBhZ2U6OmhhbmRsZURvdWJsZVRhcEZvckRvdWJsZUNsaWNrQXRQb2ludChjb25z
dCBJbnRQb2ludCYgcG9pbnQsIE9wdGlvblNldDxXZWJFdmVudDo6TW9kaWZpZXI+IG1vZGlmaWVy
cywgVHJhbnNhY3Rpb25JRCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCkKQEAgLTQ2OTQsNiAr
NDY5MiwxMSBAQCB2b2lkIFdlYlBhZ2U6OmFuaW1hdGlvbkRpZEZpbmlzaEZvckVsZW1lbnQoY29u
c3QgV2ViQ29yZTo6RWxlbWVudCYgYW5pbWF0ZWRFbGVtZQogICAgICAgICBzY2hlZHVsZUVkaXRv
clN0YXRlVXBkYXRlRm9yU3RhcnRPckVuZENvbnRhaW5lck5vZGVJZk5lZWRlZChlbmRDb250YWlu
ZXIuZ2V0KCkpOwogfQogCit2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtSXNQbGF5aW5nTWVkaWFEaWRD
aGFuZ2UoKQoreworICAgIG1fY3VycmVudFN5bnRoZXRpY0NsaWNrTWF5QmVOb25NZWFuaW5nZnVs
ID0gZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9M
T0dfSUZfQUxMT1dFRApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE3MTkwMTQzYmI5MTUwNDFjMTk3ODNjNTU5NzRiZDdlYTk0
Y2E4MTYuLjllZmVmZDQ0MmVkNmUyNzgwMjZjYTYyOGQ3Y2NjYTdhNzc0OTQ4MTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAyMS0wNi0wNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNZWFuaW5nZnVsIGNsaWNrIGhldXJpc3RpYyBzaG91
bGQgYWNjb3VudCBmb3IgbWVkaWEgc3RhdGUgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NjU1CisgICAgICAgIHJkYXI6Ly83ODMzMDY2
NAorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIGEgbGF5
b3V0IHRlc3QgdG8gdmVyaWZ5IHRoYXQgdGFwcGluZyB0byBwbGF5IG9yIHBhdXNlIGEgdmlkZW8g
dHJpZ2dlcnMgIm1lYW5pbmdmdWwiIHN5bnRoZXRpYyBjbGlja3MuCisKKyAgICAgICAgKiBmYXN0
L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13
aGVuLXBsYXlpbmctbWVkaWEuaHRtbDogQWRkZWQuCisKIDIwMjEtMDYtMDQgIEFudHRpIEtvaXZp
c3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKG1heWJlIHIyNzY4
ODIpOiBjdXN0b20gcHJvcGVydGllcyBub3QgYXZhaWxhYmxlIG9uIGhvc3Qgb24gaW5pdGlhbCBw
YWludApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwt
Y2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2EwYzY5OWE0YzdmZTJkZmZlZTRhNmJiN2I3YmE1M2NiMGNjOWQ3OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVs
LWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAor
VGhpcyB0ZXN0IGV4ZXJjaXNlcyB0aGUgJ21lYW5pbmdmdWwgY2xpY2snIGhldXJpc3RpYyB3aGVu
IHBsYXlpbmcgb3IgcGF1c2luZyBhIHZpZGVvLCBhbmQgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5l
ci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitQQVNTIGRpZFBsYXlWaWRlbyBiZWNh
bWUgdHJ1ZQorUEFTUyBkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrIGlzIGZh
bHNlCitQQVNTIGRpZFBhdXNlVmlkZW8gYmVjYW1lIHRydWUKK1BBU1MgZGlkRGlzcGF0Y2hOb25N
ZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1l
ZGlhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJkOGMxMmJiNmY0M2U4MWQzOGE2MDcxZDEzNGI1ODQwZGNm
NDMyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFu
aW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwh
RE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3Bv
cnQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1u
byI+Cis8c3R5bGU+Citib2R5LCBodG1sIHsKKyAgICBmb250LXNpemU6IDE4cHg7CisgICAgZm9u
dC1mYW1pbHk6IHN5c3RlbS11aTsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7
CisgICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgoranNUZXN0SXNBc3luYyA9IHRy
dWU7CitkaWRQYXVzZVZpZGVvID0gZmFsc2U7CitkaWRQbGF5VmlkZW8gPSBmYWxzZTsKKworYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0IGV4ZXJjaXNlcyB0aGUgJ21lYW5pbmdmdWwgY2xpY2snIGhldXJpc3RpYyB3aGVuIHBs
YXlpbmcgb3IgcGF1c2luZyBhIHZpZGVvLCBhbmQgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4i
KTsKKyAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgYXN5bmMgKCkg
PT4geworICAgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVv
Iik7CisgICAgICAgIGlmICh2aWRlby5wYXVzZWQpIHsKKyAgICAgICAgICAgIGF3YWl0IHZpZGVv
LnBsYXkoKTsKKyAgICAgICAgICAgIGRpZFBsYXlWaWRlbyA9IHRydWU7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBhd2FpdCB2aWRlby5wYXVzZSgpOworICAgICAgICAgICAgZGlkUGF1
c2VWaWRlbyA9IHRydWU7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGFzeW5jIGZ1bmN0aW9uIGNoZWNrRm9y
Tm9uTWVhbmluZ2Z1bENsaWNrKHNob3VsZFBsYXkpIHsKKyAgICAgICAgZGlkRGlzcGF0Y2hOb25N
ZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayA9IGZhbHNlOworICAgICAgICB0ZXN0UnVubmVyLmluc3Rh
bGxEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrKCgpID0+IHsKKyAgICAg
ICAgICAgIGRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgPSB0cnVlOworICAg
ICAgICB9KTsKKworICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1l
bnQuYm9keSk7CisgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JEb3VibGVUYXBEZWxheSgp
OworICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNob3VsZEJlY29tZUVxdWFs
KHNob3VsZFBsYXkgPyAiZGlkUGxheVZpZGVvIiA6ICJkaWRQYXVzZVZpZGVvIiwgInRydWUiLCBy
ZXNvbHZlKSk7CisgICAgICAgIHNob3VsZEJlRmFsc2UoImRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1
bENsaWNrQ2FsbGJhY2siKTsKKyAgICAgICAgdGVzdFJ1bm5lci5jbGVhclRlc3RSdW5uZXJDYWxs
YmFja3MoKTsKKyAgICB9CisKKyAgICBhd2FpdCBjaGVja0Zvck5vbk1lYW5pbmdmdWxDbGljayh0
cnVlKTsKKyAgICBhd2FpdCBjaGVja0Zvck5vbk1lYW5pbmdmdWxDbGljayhmYWxzZSk7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRp
diBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDx2aWRlbyBsb29wIHNyYz0iLi4vLi4vaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRlZC1yZWQt
Z3JlZW4tYmx1ZS5tcDQiPjwvdmlkZW8+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430616</attachid>
            <date>2021-06-04 14:55:29 -0700</date>
            <delta_ts>2021-06-04 17:57:51 -0700</delta_ts>
            <desc>Renaming</desc>
            <filename>bug-226655-20210604145528.patch</filename>
            <type>text/plain</type>
            <size>12930</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYwMTliNGMyNjRkODdiYzhj
MzJhZTEyYzZkOWJjY2RlZDhiM2E2YzQuLmQ2NjY1ZWY3OTUzMTZjZWVmODM2NjZlMThkNjUyZDVm
N2MyZTY1YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjEtMDYtMDQgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gTWVhbmluZ2Z1
bCBjbGljayBoZXVyaXN0aWMgc2hvdWxkIGFjY291bnQgZm9yIG1lZGlhIHN0YXRlIGNoYW5nZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY1NQor
ICAgICAgICByZGFyOi8vNzgzMzA2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9u
IGFuZCBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgVGVhY2ggdGhlICJtZWFuaW5nZnVsIGNsaWNr
IiBoZXVyaXN0aWMgYWJvdXQgY2hhbmdlcyB0byBtZWRpYSBlbGVtZW50IHN0YXRlIGZsYWdzLiBT
ZWUgY29tbWVudHMgYmVsb3cgZm9yIG1vcmUKKyAgICAgICAgZGV0YWlscy4KKworICAgICAgICBU
ZXN0OiBmYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEu
aHRtbAorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmlzUGxheWluZ01lZGlh
RGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKToKKworICAg
ICAgICBSZWZhY3RvciBzb21lIGxvZ2ljIGhlcmUgc28gdGhhdCB0aGUgV2ViQ2hyb21lQ2xpZW50
IGNhbGxzIGludG8gV2ViUGFnZSwgd2hpY2ggdGhlbiBzZW5kcyBhbiBJUEMgbWVzc2FnZSB0byB0
aGUKKyAgICAgICAgVUkgcHJvY2VzcyBhbmQgYWRkaXRpb25hbGx5IGNhbGxzIGludG8gYSBwcml2
YXRlIG1ldGhvZCBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgbG9naWMgKHNlZSBXZWJQYWdlSU9TLm1t
KS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisKKyAgICAgICAg
UmVwbGFjZSBgbV9kaWRIYW5kbGVPclByZXZlbnRNb3VzZURvd25Pck1vdXNlVXBFdmVudER1cmlu
Z1N5bnRoZXRpY0NsaWNrYCB3aXRoIGFub3RoZXIgZmxhZywKKyAgICAgICAgYG1fY3VycmVudFN5
bnRoZXRpY0NsaWNrTWF5Tm90QmVNZWFuaW5nZnVsYCwgdGhhdCBpcyBpbml0aWFsbHkgc2V0IHRv
IGB0cnVlYCBhdCB0aGUgYmVnaW5uaW5nIG9mCisgICAgICAgIGBXZWJQYWdlOjpjb21wbGV0ZVN5
bnRoZXRpY0NsaWNrYCwgYW5kIGNvbnN1bHRlZCBhZnRlciB0aGUgZXZlbnRzIGhhdmUgYmVlbiBk
aXNwYXRjaGVkIHRvIHNlZSBpZiBhbnl0aGluZyBoYXMKKyAgICAgICAgc2V0IGl0IHRvIGBmYWxz
ZWAgKGN1cnJlbnRseSwgdGhpcyBpbmNsdWRlcyBvbmx5IHBsYXlpbmcgbWVkaWEgc3RhdGUgY2hh
bmdlcyBhbmQgaGFuZGxlZCBjbGljayBldmVudHMgYnkgdGhlCisgICAgICAgIHBhZ2UpLiBJZiB0
aGUgZmxhZyBpcyBzZXQgdG8gYGZhbHNlYCwgd2UgdGhlbiBjb25zaWRlciB0aGUgY2xpY2sgdG8g
aGF2ZSBiZWVuICJtZWFuaW5nZnVsIiwgd2l0aCByZXNwZWN0IHRvIHRoZQorICAgICAgICBgLV93
ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDpgIFVJIGRlbGVn
YXRlIG1ldGhvZC4KKworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUlzUGxheWlu
Z01lZGlhRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBh
Z2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmNvbXBsZXRlU3ludGhldGljQ2xp
Y2spOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpkaWRIYW5kbGVPclByZXZlbnRNb3VzZURv
d25Pck1vdXNlVXBFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtSXNQ
bGF5aW5nTWVkaWFEaWRDaGFuZ2UpOgorCisgICAgICAgIE1ha2UgdGhlc2Ugc2V0IGBtX2N1cnJl
bnRTeW50aGV0aWNDbGlja01heU5vdEJlTWVhbmluZ2Z1bGAgdG8gYGZhbHNlYC4KKwogMjAyMS0w
Ni0wNCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBTdG9yZSBN
ZWRpYVBsYXllciB1c2luZyBXZWFrUHRyIGluIE1lZGlhUGxheWVyUHJpdmF0ZVJlbW90ZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAppbmRleCA1ZGI1ODhkZTNlMjA1N2IxNjkwYTJmMDkxZjJkYTRhMTUy
N2UyZmQ3Li5kY2ZkN2M3NTY5N2Y5MDE3ZGU4ZmY5MWJjN2RhYWI1MWZhMWQyYjZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcApAQCAtMTIzNSw3ICsxMjM1LDcgQEAgYm9vbCBXZWJDaHJvbWVDbGll
bnQ6OnNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcmIGZy
YW1lVmkKIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKE1l
ZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyBzdGF0ZSkKIHsKLSAgICBtX3BhZ2Uuc2VuZChN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpJc1BsYXlpbmdNZWRpYURpZENoYW5nZShzdGF0ZSkpOwor
ICAgIG1fcGFnZS5pc1BsYXlpbmdNZWRpYURpZENoYW5nZShzdGF0ZSk7CiB9CiAKIHZvaWQgV2Vi
Q2hyb21lQ2xpZW50OjpoYW5kbGVBdXRvcGxheUV2ZW50KEF1dG9wbGF5RXZlbnQgZXZlbnQsIE9w
dGlvblNldDxBdXRvcGxheUV2ZW50RmxhZ3M+IGZsYWdzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA2YTdlYzNlMmIwNTE1OTVlOTUzOWQ2Njgw
YzE5ZDY0OTNlM2Y2ZWY2Li4zMWI1MzdmYzNlNDYwZjFjMWY2ZDczZTRiMTU0OTJhYTAzZTQ2ZGVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
NzM2MCw2ICs3MzYwLDExIEBAIHZvaWQgV2ViUGFnZTo6c3luY2hyb25pemVDT1JTRGlzYWJsaW5n
UGF0dGVybnNXaXRoTmV0d29ya1Byb2Nlc3MoKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6U2V0Q09SU0Rpc2FibGluZ1BhdHRl
cm5zKG1faWRlbnRpZmllciwgbV9jb3JzRGlzYWJsaW5nUGF0dGVybnMpLCAwKTsKIH0KIAordm9p
ZCBXZWJQYWdlOjppc1BsYXlpbmdNZWRpYURpZENoYW5nZShXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
OjpNZWRpYVN0YXRlRmxhZ3Mgc3RhdGUpCit7CisgICAgcGxhdGZvcm1Jc1BsYXlpbmdNZWRpYURp
ZENoYW5nZSgpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SXNQbGF5aW5nTWVk
aWFEaWRDaGFuZ2Uoc3RhdGUpKTsKK30KIAogI2lmIEVOQUJMRShNRURJQV9VU0FHRSkKIHZvaWQg
V2ViUGFnZTo6YWRkTWVkaWFVc2FnZU1hbmFnZXJTZXNzaW9uKE1lZGlhU2Vzc2lvbklkZW50aWZp
ZXIgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyLCBjb25zdCBVUkwm
IHBhZ2VVUkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggZjVjZDdlZTA5MzNjNGRhNjE4ZmE1ODA1NzhlZDIwNzc5YWZhNjg4Ny4uNDRkMzNlMzc3Nzk3
ODQ2NDJjNGNjN2ZlZmFmMmQzMjMzY2M4ZjhmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTQwMSw2ICsxNDAxLDggQEAgcHVibGljOgogICAgIHZv
aWQgcmVtb3ZlTWVkaWFVc2FnZU1hbmFnZXJTZXNzaW9uKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbklk
ZW50aWZpZXIpOwogI2VuZGlmCiAKKyAgICB2b2lkIGlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKFdl
YkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok1lZGlhU3RhdGVGbGFncyk7CisKICNpZiBFTkFCTEUoSU1B
R0VfRVhUUkFDVElPTikKICAgICB2b2lkIHJlcXVlc3RJbWFnZUV4dHJhY3Rpb24oV2ViQ29yZTo6
RWxlbWVudCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUmVmUHRyPFdlYkNvcmU6OkVsZW1lbnQ+
JiYpPiYmKTsKICAgICB2b2lkIHVwZGF0ZVdpdGhJbWFnZUV4dHJhY3Rpb25SZXN1bHQoV2ViQ29y
ZTo6SW1hZ2VFeHRyYWN0aW9uUmVzdWx0JiYsIGNvbnN0IFdlYkNvcmU6OkVsZW1lbnRDb250ZXh0
JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgbG9jYXRpb24sIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoSW1hZ2VFeHRyYWN0aW9uVXBkYXRlUmVzdWx0KT4mJik7CkBAIC0xODk3LDYgKzE4OTks
OCBAQCBwcml2YXRlOgogICAgIAogICAgIHZvaWQgY29uc3VtZU5ldHdvcmtFeHRlbnNpb25TYW5k
Ym94RXh0ZW5zaW9ucyhjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYpOwogCisg
ICAgdm9pZCBwbGF0Zm9ybUlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKCk7CisKICAgICBXZWJDb3Jl
OjpQYWdlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
Q29yZTo6UGFnZT4gbV9wYWdlOwpAQCAtMjE4NSw4ICsyMTg5LDggQEAgcHJpdmF0ZToKICAgICBS
ZWZQdHI8V2ViQ29yZTo6Tm9kZT4gbV9wb3RlbnRpYWxUYXBOb2RlOwogICAgIFdlYkNvcmU6OkZs
b2F0UG9pbnQgbV9wb3RlbnRpYWxUYXBMb2NhdGlvbjsKICAgICBSZWZQdHI8V2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW4+IG1fcG90ZW50aWFsVGFwU2VjdXJpdHlPcmlnaW47Ci0gICAgYm9vbCBtX2Rp
ZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50RHVyaW5nU3ludGhldGljQ2xp
Y2sgeyBmYWxzZSB9OwogCisgICAgYm9vbCBtX2N1cnJlbnRTeW50aGV0aWNDbGlja01heU5vdEJl
TWVhbmluZ2Z1bCB7IHRydWUgfTsKICAgICBib29sIG1faGFzUmVjZWl2ZWRWaXNpYmxlQ29udGVu
dFJlY3RzQWZ0ZXJEaWRDb21taXRMb2FkIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzUmVzdG9y
ZWRFeHBvc2VkQ29udGVudFJlY3RBZnRlckRpZENvbW1pdExvYWQgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzIHsgZmFsc2UgfTsKQEAgLTIzNTgsNiArMjM2Miw3
IEBAIGlubGluZSB2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtV2lsbFBlcmZvcm1FZGl0aW5nQ29tbWFu
ZCgpIHsgfQogaW5saW5lIGJvb2wgV2ViUGFnZTo6cGxhdGZvcm1OZWVkc0xheW91dEZvckVkaXRv
clN0YXRlKGNvbnN0IFdlYkNvcmU6OkZyYW1lJikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIGlu
bGluZSB2b2lkIFdlYlBhZ2U6OmRpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2
ZW50KCkgeyB9CiBpbmxpbmUgdm9pZCBXZWJQYWdlOjpwcmVwYXJlVG9SdW5Nb2RhbEphdmFTY3Jp
cHREaWFsb2coKSB7IH0KK2lubGluZSB2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtSXNQbGF5aW5nTWVk
aWFEaWRDaGFuZ2UoKSB7IH0KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5k
ZXggNTA3MDk2NmViN2ZmNmNkOGU3Mjk5ZDE1MzlmMTU3ZGIzYjEwNzQwYi4uMmUzMmM5MDdhZmYx
ODEzZjA3ZGVlMDNjNDYyMWYxODI5MGUyNGVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTg3NCw3ICs4NzQsNyBAQCB2
b2lkIFdlYlBhZ2U6OmNvbXBsZXRlU3ludGhldGljQ2xpY2soTm9kZSYgbm9kZVJlc3BvbmRpbmdU
b0NsaWNrLCBjb25zdCBXZWJDb3JlOgogICAgIGJvb2wgYWx0S2V5ID0gbW9kaWZpZXJzLmNvbnRh
aW5zKFdlYkV2ZW50OjpNb2RpZmllcjo6QWx0S2V5KTsKICAgICBib29sIG1ldGFLZXkgPSBtb2Rp
ZmllcnMuY29udGFpbnMoV2ViRXZlbnQ6Ok1vZGlmaWVyOjpNZXRhS2V5KTsKIAotICAgIG1fZGlk
SGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVwRXZlbnREdXJpbmdTeW50aGV0aWNDbGlj
ayA9IGZhbHNlOworICAgIG1fY3VycmVudFN5bnRoZXRpY0NsaWNrTWF5Tm90QmVNZWFuaW5nZnVs
ID0gdHJ1ZTsKIAogICAgIHRhcFdhc0hhbmRsZWQgfD0gbWFpbmZyYW1lLmV2ZW50SGFuZGxlcigp
LmhhbmRsZU1vdXNlUHJlc3NFdmVudChQbGF0Zm9ybU1vdXNlRXZlbnQocm91bmRlZEFkanVzdGVk
UG9pbnQsIHJvdW5kZWRBZGp1c3RlZFBvaW50LCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpN
b3VzZVByZXNzZWQsIDEsIHNoaWZ0S2V5LCBjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIFdhbGxU
aW1lOjpub3coKSwgV2ViQ29yZTo6Rm9yY2VBdENsaWNrLCBzeW50aGV0aWNDbGlja1R5cGUsIHBv
aW50ZXJJZCkpOwogICAgIGlmIChtX2lzQ2xvc2VkKQpAQCAtOTAzLDcgKzkwMyw3IEBAIHZvaWQg
V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xp
Y2ssIGNvbnN0IFdlYkNvcmU6CiAgICAgICAgIHJldHVybjsKIAogICAgIGJvb2wgc2hvdWxkRGlz
cGF0Y2hEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQgPSAoWyZdIHsKLSAg
ICAgICAgaWYgKG1fZGlkSGFuZGxlT3JQcmV2ZW50TW91c2VEb3duT3JNb3VzZVVwRXZlbnREdXJp
bmdTeW50aGV0aWNDbGljaykKKyAgICAgICAgaWYgKCFtX2N1cnJlbnRTeW50aGV0aWNDbGlja01h
eU5vdEJlTWVhbmluZ2Z1bCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBp
ZiAob2xkRm9jdXNlZEVsZW1lbnQgIT0gbmV3Rm9jdXNlZEVsZW1lbnQpCkBAIC05MjQsOCArOTI0
LDYgQEAgdm9pZCBXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVSZXNw
b25kaW5nVG9DbGljaywgY29uc3QgV2ViQ29yZToKICAgICBpZiAoIXRhcFdhc0hhbmRsZWQgfHwg
IW5vZGVSZXNwb25kaW5nVG9DbGljay5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkTm90SGFuZGxlVGFwQXNDbGljayhyb3VuZGVkSW50UG9p
bnQobG9jYXRpb24pKSk7CiAKLSAgICBtX2RpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91
c2VVcEV2ZW50RHVyaW5nU3ludGhldGljQ2xpY2sgPSBmYWxzZTsKLSAgICAKICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKSk7CiB9CiAK
QEAgLTk0Nyw3ICs5NDUsNyBAQCB2b2lkIFdlYlBhZ2U6OmF0dGVtcHRTeW50aGV0aWNDbGljayhj
b25zdCBJbnRQb2ludCYgcG9pbnQsIE9wdGlvblNldDxXZWJFdmVudDo6TQogCiB2b2lkIFdlYlBh
Z2U6OmRpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50KCkKIHsKLSAgICBt
X2RpZEhhbmRsZU9yUHJldmVudE1vdXNlRG93bk9yTW91c2VVcEV2ZW50RHVyaW5nU3ludGhldGlj
Q2xpY2sgPSB0cnVlOworICAgIG1fY3VycmVudFN5bnRoZXRpY0NsaWNrTWF5Tm90QmVNZWFuaW5n
ZnVsID0gZmFsc2U7CiB9CiAKIHZvaWQgV2ViUGFnZTo6aGFuZGxlRG91YmxlVGFwRm9yRG91Ymxl
Q2xpY2tBdFBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpN
b2RpZmllcj4gbW9kaWZpZXJzLCBUcmFuc2FjdGlvbklEIGxhc3RMYXllclRyZWVUcmFuc2FjdGlv
bklkKQpAQCAtNDY5NCw2ICs0NjkyLDExIEBAIHZvaWQgV2ViUGFnZTo6YW5pbWF0aW9uRGlkRmlu
aXNoRm9yRWxlbWVudChjb25zdCBXZWJDb3JlOjpFbGVtZW50JiBhbmltYXRlZEVsZW1lCiAgICAg
ICAgIHNjaGVkdWxlRWRpdG9yU3RhdGVVcGRhdGVGb3JTdGFydE9yRW5kQ29udGFpbmVyTm9kZUlm
TmVlZGVkKGVuZENvbnRhaW5lci5nZXQoKSk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6cGxhdGZvcm1J
c1BsYXlpbmdNZWRpYURpZENoYW5nZSgpCit7CisgICAgbV9jdXJyZW50U3ludGhldGljQ2xpY2tN
YXlOb3RCZU1lYW5pbmdmdWwgPSBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAK
ICN1bmRlZiBSRUxFQVNFX0xPR19JRl9BTExPV0VECmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTcxOTAxNDNiYjkxNTA0MWMx
OTc4M2M1NTk3NGJkN2VhOTRjYTgxNi4uMjJlZjIxYmMyYmY0NjA4MzhlMTcxNzQzMTM3MTlhMmM3
ZGI3Y2QxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA2LTA0ICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1lYW5pbmdmdWwgY2xp
Y2sgaGV1cmlzdGljIHNob3VsZCBhY2NvdW50IGZvciBtZWRpYSBzdGF0ZSBjaGFuZ2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2NTUKKyAgICAg
ICAgcmRhcjovLzc4MzMwNjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbiBhbmQg
RGV2aW4gUm91c3NvLgorCisgICAgICAgIEFkZCBhIGxheW91dCB0ZXN0IHRvIHZlcmlmeSB0aGF0
IHRhcHBpbmcgdG8gcGxheSBvciBwYXVzZSBhIHZpZGVvIHRyaWdnZXJzICJtZWFuaW5nZnVsIiBz
eW50aGV0aWMgY2xpY2tzLgorCisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwt
Y2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWw6
IEFkZGVkLgorCiAyMDIxLTA2LTA0ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OIChtYXliZSByMjc2ODgyKTogY3VzdG9tIHByb3BlcnRpZXMg
bm90IGF2YWlsYWJsZSBvbiBob3N0IG9uIGluaXRpYWwgcGFpbnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRp
YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1j
bGljay13aGVuLXBsYXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMGM2OTlh
NGM3ZmUyZGZmZWU0YTZiYjdiN2JhNTNjYjBjYzlkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVk
aWEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK1RoaXMgdGVzdCBleGVyY2lzZXMgdGhl
ICdtZWFuaW5nZnVsIGNsaWNrJyBoZXVyaXN0aWMgd2hlbiBwbGF5aW5nIG9yIHBhdXNpbmcgYSB2
aWRlbywgYW5kIHJlcXVpcmVzIFdlYktpdFRlc3RSdW5uZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworUEFTUyBkaWRQbGF5VmlkZW8gYmVjYW1lIHRydWUKK1BBU1MgZGlkRGlzcGF0
Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayBpcyBmYWxzZQorUEFTUyBkaWRQYXVzZVZpZGVv
IGJlY2FtZSB0cnVlCitQQVNTIGRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sg
aXMgZmFsc2UKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1j
bGljay13aGVuLXBsYXlpbmctbWVkaWEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lv
cy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjky
ZDhjMTJiYjZmNDNlODFkMzhhNjA3MWQxMzRiNTg0MGRjZjQzMjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlp
bmctbWVkaWEuaHRtbApAQCAtMCwwICsxLDYxIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRo
LCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorPHN0eWxlPgorYm9keSwgaHRt
bCB7CisgICAgZm9udC1zaXplOiAxOHB4OworICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWk7Cisg
ICAgd2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAlOworICAgIG1hcmdpbjogMDsKK30KKzwv
c3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworZGlkUGF1c2VWaWRlbyA9IGZh
bHNlOworZGlkUGxheVZpZGVvID0gZmFsc2U7CisKK2FkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBh
c3luYyAoKSA9PiB7CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBleGVyY2lzZXMgdGhlICdt
ZWFuaW5nZnVsIGNsaWNrJyBoZXVyaXN0aWMgd2hlbiBwbGF5aW5nIG9yIHBhdXNpbmcgYSB2aWRl
bywgYW5kIHJlcXVpcmVzIFdlYktpdFRlc3RSdW5uZXIuIik7CisgICAgZG9jdW1lbnQuYm9keS5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKKyAgICAgICAgY29uc3Qgdmlk
ZW8gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpOworICAgICAgICBpZiAodmlkZW8u
cGF1c2VkKSB7CisgICAgICAgICAgICBhd2FpdCB2aWRlby5wbGF5KCk7CisgICAgICAgICAgICBk
aWRQbGF5VmlkZW8gPSB0cnVlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXdhaXQg
dmlkZW8ucGF1c2UoKTsKKyAgICAgICAgICAgIGRpZFBhdXNlVmlkZW8gPSB0cnVlOworICAgICAg
ICB9CisgICAgfSk7CisKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1
cm47CisKKyAgICBhc3luYyBmdW5jdGlvbiBjaGVja0Zvck5vbk1lYW5pbmdmdWxDbGljayhzaG91
bGRQbGF5KSB7CisgICAgICAgIGRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sg
PSBmYWxzZTsKKyAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkTm90SGFuZGxlVGFwQXNNZWFu
aW5nZnVsQ2xpY2tDYWxsYmFjaygoKSA9PiB7CisgICAgICAgICAgICBkaWREaXNwYXRjaE5vbk1l
YW5pbmdmdWxDbGlja0NhbGxiYWNrID0gdHJ1ZTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmJvZHkpOworICAgICAgICBhd2Fp
dCBVSUhlbHBlci53YWl0Rm9yRG91YmxlVGFwRGVsYXkoKTsKKyAgICAgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiBzaG91bGRCZWNvbWVFcXVhbChzaG91bGRQbGF5ID8gImRpZFBsYXlW
aWRlbyIgOiAiZGlkUGF1c2VWaWRlbyIsICJ0cnVlIiwgcmVzb2x2ZSkpOworICAgICAgICBzaG91
bGRCZUZhbHNlKCJkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrIik7CisgICAg
ICAgIHRlc3RSdW5uZXIuY2xlYXJUZXN0UnVubmVyQ2FsbGJhY2tzKCk7CisgICAgfQorCisgICAg
YXdhaXQgY2hlY2tGb3JOb25NZWFuaW5nZnVsQ2xpY2sodHJ1ZSk7CisgICAgYXdhaXQgY2hlY2tG
b3JOb25NZWFuaW5nZnVsQ2xpY2soZmFsc2UpOworICAgIGZpbmlzaEpTVGVzdCgpOworfSk7Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8dmlkZW8gbG9vcCBzcmM9Ii4u
Ly4uL2ltYWdlcy9yZXNvdXJjZXMvYW5pbWF0ZWQtcmVkLWdyZWVuLWJsdWUubXA0Ij48L3ZpZGVv
PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>