<?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>194411</bug_id>
          
          <creation_ts>2019-02-07 13:30:24 -0800</creation_ts>
          <short_desc>[Mac] WebInspectorUI.framework does not need to be soft-linked anymore</short_desc>
          <delta_ts>2019-02-15 11:02:04 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jberlin</cc>
    
    <cc>joepeck</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1503896</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-07 13:30:24 -0800</bug_when>
    <thetext>This was re-added by https://bugs.webkit.org/show_bug.cgi?id=118544. It is no longer needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503897</commentid>
    <comment_count>1</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-07 13:30:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/47787614&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503924</commentid>
    <comment_count>2</comment_count>
      <attachid>361440</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-07 14:05:46 -0800</bug_when>
    <thetext>Created attachment 361440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503984</commentid>
    <comment_count>3</comment_count>
      <attachid>361440</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-02-07 15:39:55 -0800</bug_when>
    <thetext>Comment on attachment 361440
Patch

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

&gt; Source/WebKit/Configurations/WebKit.xcconfig:131
&gt; +WK_WEBINSPECTORUI_LDFLAGS = $(WK_WEBINSPECTORUI_LDFLAGS_$(WK_PLATFORM_NAME));
&gt; +WK_WEBINSPECTORUI_LDFLAGS_macosx = -framework WebInspectorUI;

I don&apos;t think we can hard link WebInspectorUI as it doesn&apos;t look like WebInspectorUI.framework is available in the Base System.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503985</commentid>
    <comment_count>4</comment_count>
      <attachid>361440</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-02-07 15:41:35 -0800</bug_when>
    <thetext>Comment on attachment 361440
Patch

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

&gt;&gt; Source/WebKit/Configurations/WebKit.xcconfig:131
&gt;&gt; +WK_WEBINSPECTORUI_LDFLAGS_macosx = -framework WebInspectorUI;
&gt; 
&gt; I don&apos;t think we can hard link WebInspectorUI as it doesn&apos;t look like WebInspectorUI.framework is available in the Base System.

Correction: is *not* available</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504617</commentid>
    <comment_count>5</comment_count>
      <attachid>361440</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-02-09 12:44:06 -0800</bug_when>
    <thetext>Comment on attachment 361440
Patch

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

&gt;&gt;&gt; Source/WebKit/Configurations/WebKit.xcconfig:131
&gt;&gt;&gt; +WK_WEBINSPECTORUI_LDFLAGS_macosx = -framework WebInspectorUI;
&gt;&gt; 
&gt;&gt; I don&apos;t think we can hard link WebInspectorUI as it doesn&apos;t look like WebInspectorUI.framework is available in the Base System.
&gt; 
&gt; Correction: is *not* available

So we could consider switching from soft linking to weak linking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504936</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-02-11 11:03:51 -0800</bug_when>
    <thetext>Good point, weak linking should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506281</commentid>
    <comment_count>7</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-14 11:50:53 -0800</bug_when>
    <thetext>Reopening to try -weak_framework based approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506298</commentid>
    <comment_count>8</comment_count>
      <attachid>362046</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-14 12:21:56 -0800</bug_when>
    <thetext>Created attachment 362046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506303</commentid>
    <comment_count>9</comment_count>
      <attachid>362046</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-02-14 12:37:33 -0800</bug_when>
    <thetext>Comment on attachment 362046
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506330</commentid>
    <comment_count>10</comment_count>
      <attachid>362056</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-14 13:26:04 -0800</bug_when>
    <thetext>Created attachment 362056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506344</commentid>
    <comment_count>11</comment_count>
      <attachid>362056</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-02-14 13:49:15 -0800</bug_when>
    <thetext>Comment on attachment 362056
Patch

r=me still =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506381</commentid>
    <comment_count>12</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-14 14:32:27 -0800</bug_when>
    <thetext>Committed r241564: &lt;https://trac.webkit.org/changeset/241564&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506571</commentid>
    <comment_count>13</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-02-15 07:58:19 -0800</bug_when>
    <thetext>After the changes in https://trac.webkit.org/changeset/241564/webkit

Mac WK2 has 50+ Timeouts and is exiting early. These are mostly in the http/ directory. 

Results:
https://build.webkit.org/results/Apple%20Mojave%20Release%20WK2%20(Tests)/r241565%20(2502)/results.html

Build:
https://build.webkit.org/builders/Apple%20Mojave%20Release%20WK2%20%28Tests%29/builds/2502

Confirmed this locally with:
run-webkit-tests --root testbuild-241564 http/ -f

Timeouts occur throughout the directory on 241564 but not on 241563</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506573</commentid>
    <comment_count>14</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2019-02-15 08:11:11 -0800</bug_when>
    <thetext>Reverted r241564 for reason:

Caused 50+ Timeouts on Mac WK2, mostly in the http/ directory

Committed r241586: &lt;https://trac.webkit.org/changeset/241586&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506617</commentid>
    <comment_count>15</comment_count>
      <attachid>362056</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-15 10:20:07 -0800</bug_when>
    <thetext>Comment on attachment 362056
Patch

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

&gt; Source/WebKit/UIProcess/mac/WebInspectorProxyMac.mm:743
&gt; +    NSString *path = [bundle pathForResource:@&quot;Main&quot; ofType:@&quot;html&quot;];

When splitting up this line, I introduced a typo. Tests fail because it isn&apos;t loading Test.html. I must have run WKTR against a stale build, or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506634</commentid>
    <comment_count>16</comment_count>
      <attachid>362126</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-15 10:37:26 -0800</bug_when>
    <thetext>Created attachment 362126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506656</commentid>
    <comment_count>17</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-02-15 11:02:04 -0800</bug_when>
    <thetext>Committed r241597: &lt;https://trac.webkit.org/changeset/241597&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361440</attachid>
            <date>2019-02-07 14:05:46 -0800</date>
            <delta_ts>2019-02-14 12:21:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194411-20190207140545.patch</filename>
            <type>text/plain</type>
            <size>18339</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDY1Njg0MzMwNDI2ZTc1ODg0OWI1MWUy
NTkyMjNkMzdlMzI3MGU1OWUuLmNmOWQ2YzUxZjRjYTMyODYyM2E5NTRiMzkwMTNlOWM5ZTRhZWJj
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDItMDcgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViSW5zcGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMg
bm90IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS80Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHd0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oOgorICAgICAgICBSZW1vdmUgbWFjcm8gdGhh
dCBub3cgaGFzIG5vIHVzZXMuCisKIDIwMTktMDItMDUgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSB0aGUgYXV0b21hdGljIGNoZWNraW5nIGFuZCBy
ZWdlbmVyYXRpb25zIG9mIC54Y2ZpbGVsaXN0cyBkdXJpbmcgYnVpbGRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFi
YTA4ZjA5MmNjMzE4NWJjMTg5ZmZlNTI2YzFhZTk1NDJhNTk0NWQuLjc1OTFiMGIyN2UyNjllZDk5
YjYzYWY0ZmFjY2ExOTBiMzQ5OWI0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTkt
MDItMDcgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2Vi
SW5zcGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMgbm90IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55
bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0
NDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54
Y2NvbmZpZzoKKyAgICAgICAgQ29uZGl0aW9uYWxpemUgbGlua2luZyB0byBXZWJJbnNwZWN0b3JV
SS5mcmFtZXdvcmsgZm9yIE1hYyBvbmx5LgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJJ
bnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6
Omluc3BlY3RvclBhZ2VVUkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6
aW5zcGVjdG9yVGVzdFBhZ2VVUkwpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94
eTo6aW5zcGVjdG9yQmFzZVVSTCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJJbnNwZWN0b3JVSU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6d2ViSW5zcGVjdG9yVUlMb2Nh
bGl6ZWRTdHJpbmdzVVJMKToKKwogMjAxOS0wMi0wNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIERpZ2l0YWwgY3Jvd24gc2hvdWxkIHNjcm9s
bCBzYWZlIGJyb3dzaW5nIHdhcm5pbmcgb24gd2F0Y2hPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCmluZGV4IDlhMzY1ODY1MDFjMmRkMzlmNjc4MGI2NjMwMmE4MTE2M2RhNjQzOTcuLjg5Yzdl
ZGU3MDkxNjY1NzA5MTFjMWFhMGVlMGNiOGEzZjQxZGM0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMi0wNyAgQnJpYW4gQnVyZyAgPGJidXJn
QGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJJbnNwZWN0b3JVSS5mcmFtZXdvcmsgZG9l
cyBub3QgbmVlZCB0byBiZSBzb2Z0LWxpbmtlZCBhbnltb3JlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ0MTEKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQ3Nzg3NjE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnOgorICAgICAgICBD
b25kaXRpb25hbGl6ZSBsaW5raW5nIHRvIFdlYkluc3BlY3RvclVJLmZyYW1ld29yayBmb3IgTWFj
IG9ubHkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW06
CisgICAgICAgIChXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6bG9jYWxpemVkU3RyaW5nc1VS
TCk6CisgICAgICAgICgtW1dlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgaW5zcGVjdG9yUGFn
ZVBhdGhdKToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciBpbnNwZWN0
b3JUZXN0UGFnZVBhdGhdKToKKwogMjAxOS0wMi0wNiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gSXQgc2hvdWxkIGJlIHBvc3NpYmxl
IHRvIHJlcXVpcmUgYSBwaG9uZXRpYyBuYW1lIGZvciBzaGlwcGluZyBjb250YWN0cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtpbmcuaCBiL1NvdXJjZS9XVEYvd3Rm
L2NvY29hL1NvZnRMaW5raW5nLmgKaW5kZXggYzAyOGNkM2Y2NjVlYzY1NWNlNWNhNzg2MWRkYjU3
NWE4YjhmOWUxNC4uMTE2MDgyOWIwNzU2NjRlMjU4MzQwMmQ5ZWYwNmQ5ZDkxYTU1MzBmZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtpbmcuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oCkBAIC04NCwxOSArODQsNiBAQAogICAgICAgICBy
ZXR1cm4gZnJhbWV3b3JrTGlicmFyeTsgXAogICAgIH0KIAotI2RlZmluZSBTT0ZUX0xJTktfU1RB
R0VEX0ZSQU1FV09SSyhmcmFtZXdvcmssIHVuc3RhZ2VkTG9jYXRpb24sIHZlcnNpb24pIFwKLSAg
ICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrIyNMaWJyYXJ5KCkgXAotICAgIHsgXAotICAgICAgICBz
dGF0aWMgdm9pZCogZnJhbWV3b3JrTGlicmFyeSA9IF57IFwKLSAgICAgICAgICAgIHZvaWQqIHJl
c3VsdCA9IGRsb3BlbigiL1N5c3RlbS9MaWJyYXJ5LyIgI3Vuc3RhZ2VkTG9jYXRpb24gIi8iICNm
cmFtZXdvcmsgIi5mcmFtZXdvcmsvVmVyc2lvbnMvIiAjdmVyc2lvbiAiLyIgI2ZyYW1ld29yaywg
UlRMRF9MQVpZKTsgXAotICAgICAgICAgICAgaWYgKCFyZXN1bHQpIFwKLSAgICAgICAgICAgICAg
ICByZXN1bHQgPSBkbG9wZW4oIi9TeXN0ZW0vTGlicmFyeS9TdGFnZWRGcmFtZXdvcmtzL1NhZmFy
aS8iICNmcmFtZXdvcmsgIi5mcmFtZXdvcmsvVmVyc2lvbnMvIiAjdmVyc2lvbiAiLyIgI2ZyYW1l
d29yaywgUlRMRF9MQVpZKTsgXAotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNT
QUdFKHJlc3VsdCwgIiVzIiwgZGxlcnJvcigpKTsgXAotICAgICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsgXAotICAgICAgICB9KCk7IFwKLSAgICAgICAgcmV0dXJuIGZyYW1ld29ya0xpYnJhcnk7IFwK
LSAgICB9Ci0KICNkZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SS19JTl9VTUJSRUxMQSh1bWJyZWxs
YSwgZnJhbWV3b3JrKSBcCiAgICAgc3RhdGljIHZvaWQqIGZyYW1ld29yayMjTGlicmFyeSgpIFwK
ICAgICB7IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0
LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcK
aW5kZXggZDkyOTZhMzBiZTg2YTNjODY5MjM3Y2Y2NWE4NjIzYzk4NjJhNDEyZS4uY2VlMWYwNDI0
NjdjZGM0MDQ3NTkwNDE0ZTdjZDgzN2VkYzNjMDRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTEyNyw3ICsxMjcsMTAgQEAgV0tfVUlLSVRf
TERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBVSUtpdDsKIFdLX1VSTF9GT1JNQVRUSU5H
X0xERkxBR1MgPSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1NfJChXS19IQVZFX1VSTF9GT1JN
QVRUSU5HKSk7CiBXS19VUkxfRk9STUFUVElOR19MREZMQUdTX1lFUyA9IC1mcmFtZXdvcmsgVVJM
Rm9ybWF0dGluZzsKIAotRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAtbG9iamMgLWZy
YW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBDb3JlRm91
bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFt
ZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJh
bWV3b3JrIFdlYktpdExlZ2FjeSAtbG5ldHdvcmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxBR1Mp
ICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1MpICQo
V0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFHUykgJChXS19DT1JFX1BSRURJ
Q1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lE
RU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19JT1NV
UkZBQ0VfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xE
RkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VT
VEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAk
KFdLX1BST1hJTUlUWV9ORVRXT1JLSU5HX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19MREZM
QUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxBR1Mp
ICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUyk7CitXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdT
ID0gJChXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOworV0tf
V0VCSU5TUEVDVE9SVUlfTERGTEFHU19tYWNvc3ggPSAtZnJhbWV3b3JrIFdlYkluc3BlY3RvclVJ
OworCitGUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENG
TmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1m
cmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3Vu
ZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgV2Vi
S2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykgJChXS19BUFBL
SVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChXS19DQVJCT05f
TERGTEFHUykgJChXS19DT1JFX1BERl9MREZMQUdTKSAkKFdLX0NPUkVfUFJFRElDVElPTl9MREZM
QUdTKSAkKFdLX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19ERVZJQ0VfSURFTlRJVFlfTERG
TEFHUykgJChXS19HUkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX0lPU1VSRkFDRV9MREZM
QUdTKSAkKFdLX0xJQlNBTkRCT1hfTERGTEFHUykgJChXS19MSUJXRUJSVENfTERGTEFHUykgJChX
S19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX01PQklMRV9HRVNUQUxUX0xERkxB
R1MpICQoV0tfT1BFTkdMX0xERkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1MpICQoV0tfUFJPWElN
SVRZX05FVFdPUktJTkdfTERGTEFHUykgJChXS19TQUZFX0JST1dTSU5HX0xERkxBR1MpICQoV0tf
U0VDVVJJVFlfSU5URVJGQUNFX0xERkxBR1MpICQoV0tfVUlLSVRfTERGTEFHUykgJChXS19VUkxf
Rk9STUFUVElOR19MREZMQUdTKSAkKFdLX1dFQklOU1BFQ1RPUlVJX0xERkxBR1MpOwogCiAvLyBQ
cmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5IGJhc2ljX3N0cmluZ3N0cmVhbSwgb3BlcmF0b3Ig
bmV3LCBkZWxldGUgYW5kIHRoZWlyIHJlbGF0ZWQgZXhjZXB0aW9uIHR5cGVzIGZyb20gYmVpbmcg
ZXhwb3J0ZWQgYXMgd2VhayBzeW1ib2xzLgogVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRJU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWlRJU3Q5ZXhjZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVds
LF9fWlRTU3Q5YmFkX2FsbG9jIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRTU3Q5ZXhj
ZXB0aW9uIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWmRsUHZTXyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pud21QdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pud20g
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29y
ZTEyUG9saWN5QWN0aW9uRUVFQzJFT1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pO
U3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVPUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRWFTRURuIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5LU3QzX18x
OGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVjbEVTMl8gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0
aW9uRUVFNHN3YXBFUlM0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1
bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVSS1M0XyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rp
b25FRUVDMkVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMUV2IC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQy
RXYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2Vi
Q29yZTEyUG9saWN5QWN0aW9uRUVFYVNFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aVFZOU3QzX18xMTdiYWRfZnVuY3Rpb25fY2FsbEUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VF
TlNfOWFsbG9jYXRvckljRUVFRTBfTlNfMTNiYXNpY19pc3RyZWFtSWNTMl9FRSAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFj
aGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9OU18xNGJhc2ljX2lvc3RyZWFtSWNT
Ml9FRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmlu
Z3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMTZfTlNfMTNi
YXNpY19vc3RyZWFtSWNTMl9FRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVE5TdDNf
XzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9y
SWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRWTlN0M19fMTE1YmFzaWNfc3Ry
aW5nYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzEx
Y2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0lj
RUVOU185YWxsb2NhdG9ySWNFRUVFOF9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCmlu
ZGV4IDU4MGMzZjU4MjJlMDNjOTI1YWU5MTBkODljYmI1MmQ3YjE5YzUyYTQuLjNlZTQwMTllZWVj
NjlhNTEzYWIzMmQwNTY0YjRkMzkzNTcyOGQ5NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTQyLDExICs0Miw4IEBA
CiAjaW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9J
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXpl
ZFN0cmluZ3MuaD4KLSNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8d3RmL3Rl
eHQvQmFzZTY0Lmg+CiAKLVNPRlRfTElOS19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJ
LCBQcml2YXRlRnJhbWV3b3JrcywgQSkKLQogc3RhdGljIGNvbnN0IE5TVUludGVnZXIgd2luZG93
U3R5bGVNYXNrID0gTlNXaW5kb3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0eWxlTWFza0Ns
b3NhYmxlIHwgTlNXaW5kb3dTdHlsZU1hc2tNaW5pYXR1cml6YWJsZSB8IE5TV2luZG93U3R5bGVN
YXNrUmVzaXphYmxlIHwgTlNXaW5kb3dTdHlsZU1hc2tGdWxsU2l6ZUNvbnRlbnRWaWV3OwogCiAv
LyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9zaW5nIGl0IGFu
ZCBpdHMgcHJvY2Vzcy4KQEAgLTcyNCw5ICs3MjEsNiBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5
OjpwbGF0Zm9ybVN0YXJ0V2luZG93RHJhZygpCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6
aW5zcGVjdG9yUGFnZVVSTCgpCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29y
ayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlm
aWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgpOwotCiAgICAgTlNT
dHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxl
LldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291cmNlOkAiTWFpbiIgb2ZUeXBlOkAiaHRtbCJd
OwogICAgIEFTU0VSVChbcGF0aCBsZW5ndGhdKTsKIApAQCAtNzM1LDkgKzcyOSw2IEBAIFN0cmlu
ZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVSTCgpCiAKIFN0cmluZyBXZWJJbnNw
ZWN0b3JQcm94eTo6aW5zcGVjdG9yVGVzdFBhZ2VVUkwoKQogewotICAgIC8vIENhbGwgdGhlIHNv
ZnQgbGluayBmcmFtZXdvcmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRsZSBi
dW5kbGVXaXRoSWRlbnRpZmllcjpdIHdpbGwgd29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxpYnJh
cnkoKTsKLQogICAgIE5TU3RyaW5nICpwYXRoID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRp
ZmllcjpAImNvbS5hcHBsZS5XZWJJbnNwZWN0b3JVSSJdIHBhdGhGb3JSZXNvdXJjZTpAIlRlc3Qi
IG9mVHlwZTpAImh0bWwiXTsKIAogICAgIC8vIFdlIG1pZ2h0IG5vdCBoYXZlIGEgVGVzdC5odG1s
IGluIFByb2R1Y3Rpb24gYnVpbGRzLgpAQCAtNzQ5LDkgKzc0MCw2IEBAIFN0cmluZyBXZWJJbnNw
ZWN0b3JQcm94eTo6aW5zcGVjdG9yVGVzdFBhZ2VVUkwoKQogCiBTdHJpbmcgV2ViSW5zcGVjdG9y
UHJveHk6Omluc3BlY3RvckJhc2VVUkwoKQogewotICAgIC8vIENhbGwgdGhlIHNvZnQgbGluayBm
cmFtZXdvcmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRsZSBidW5kbGVXaXRo
SWRlbnRpZmllcjpdIHdpbGwgd29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxpYnJhcnkoKTsKLQog
ICAgIE5TU3RyaW5nICpwYXRoID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNv
bS5hcHBsZS5XZWJJbnNwZWN0b3JVSSJdIHJlc291cmNlUGF0aF07CiAgICAgQVNTRVJUKFtwYXRo
IGxlbmd0aF0pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvV2ViSW5zcGVjdG9yVUlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViSW5zcGVjdG9yVUlNYWMubW0KaW5kZXggOWFiNGI0MGQwOTU2NmJhMWUxM2Jj
NWQ0ZWFhMTY0MzQxNzljODkzNy4uNTJhZGVmZmRjYTczMGEzNjk3OTQ3ODg1OWI5ZTgzZTE2Yjgy
ZWJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dl
Ykluc3BlY3RvclVJTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9XZWJJbnNwZWN0b3JVSU1hYy5tbQpAQCAtMjcsMTAgKzI3LDYgQEAKICNpbXBvcnQgIldl
Ykluc3BlY3RvclVJLmgiCiAjaW1wb3J0ICJSZW1vdGVXZWJJbnNwZWN0b3JVSS5oIgogCi0jaW1w
b3J0IDx3dGYvU29mdExpbmtpbmcuaD4KLQotU09GVF9MSU5LX1NUQUdFRF9GUkFNRVdPUksoV2Vi
SW5zcGVjdG9yVUksIFByaXZhdGVGcmFtZXdvcmtzLCBBKQotCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogYm9vbCBXZWJJbnNwZWN0b3JVSTo6Y2FuU2F2ZSgpCkBAIC00MCw5ICszNiw2IEBAIGJvb2wg
V2ViSW5zcGVjdG9yVUk6OmNhblNhdmUoKQogCiBzdGF0aWMgU3RyaW5nIHdlYkluc3BlY3RvclVJ
TG9jYWxpemVkU3RyaW5nc1VSTCgpCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29mdCBsaW5rIGZyYW1l
d29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVu
dGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgpOwotCiAgICAg
TlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFw
cGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291cmNlOkAibG9jYWxpemVkU3RyaW5ncyIg
b2ZUeXBlOkAianMiXTsKICAgICBpZiAocGF0aC5sZW5ndGgpCiAgICAgICAgIHJldHVybiBbW05T
VVJMIGZpbGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0b3J5Ok5PXSBhYnNvbHV0ZVN0cmluZ107
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJL
aXRMZWdhY3kueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9u
cy9XZWJLaXRMZWdhY3kueGNjb25maWcKaW5kZXggZWExZTFkZGJjNzE1MGY3YzVhZmEwNTkzMzNh
MmJjZTVmYzgxYjdlMS4uNzQ1MzYzODQ5YzVhZTZmYmYyNTFhM2M3NmExZDFlMjhhYmUyNWNiNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2ViS2l0
TGVnYWN5LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRp
b25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZwpAQCAtOTIsNyArOTIsMTAgQEAgV0tfTU9CSUxFX0dF
U1RBTFRfTERGTEFHU19jb2NvYXRvdWNoID0gLWxNb2JpbGVHZXN0YWx0OwogV0tfU0VDVVJJVFlf
SU5URVJGQUNFX0xERkxBR1MgPSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTXyQoV0tf
UExBVEZPUk1fTkFNRSkpOwogV0tfU0VDVVJJVFlfSU5URVJGQUNFX0xERkxBR1NfbWFjb3N4ID0g
LWZyYW1ld29yayBTZWN1cml0eUludGVyZmFjZTsKIAotT1RIRVJfTERGTEFHUyA9IC1sb2JqYyAt
bHNxbGl0ZTMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAt
ZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91
bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAkKFdLX0FQUEtJVF9M
REZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxB
R1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFM
VF9MREZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKTsKK1dLX1dFQklOU1BF
Q1RPUlVJX0xERkxBR1MgPSAkKFdLX1dFQklOU1BFQ1RPUlVJX0xERkxBR1NfJChXS19QTEFURk9S
TV9OQU1FKSk7CitXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsg
V2ViSW5zcGVjdG9yVUk7CisKK09USEVSX0xERkxBR1MgPSAtbG9iamMgLWxzcWxpdGUzIC1mcmFt
ZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3Jl
R3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1l
d29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9LaXQgJChXS19BUFBLSVRfTERGTEFHUykgJChXS19D
QVJCT05fTERGTEFHUykgJChXS19HUkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX01PQklM
RV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTU9CSUxFX0dFU1RBTFRfTERGTEFHUykgJChX
S19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdT
KTsKIAogU0VDVE9SREVSX0ZMQUdTID0gJChTRUNUT1JERVJfRkxBR1NfJChDT05GSUdVUkFUSU9O
KSk7CiBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9aXBob25lb3MqXSA9IC1XbCwtb3Jk
ZXJfZmlsZSwkKFNES1JPT1QpL0FwcGxlSW50ZXJuYWwvT3JkZXJGaWxlcy9XZWJLaXRMZWdhY3ku
b3JkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KaW5kZXggMjg5NTFhNDhjN2RjNDcyMzAxMjEw
YWE2NjI1ZTU4ZTE2NDY5N2M1NS4uNzQwZmQ2NDE2Nzk0Y2VmZGFmN2RjMDM0Njc0N2I5NTUzODU0
ZWUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQpAQCAtNTMsMTEgKzUzLDggQEAKICNpbXBv
cnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViS2l0TGVnYWN5L0RP
TUV4dGVuc2lvbnMuaD4KICNpbXBvcnQgPGFsZ29yaXRobT4KLSNpbXBvcnQgPHd0Zi9Tb2Z0TGlu
a2luZy5oPgogI2ltcG9ydCA8d3RmL3RleHQvQmFzZTY0Lmg+CiAKLVNPRlRfTElOS19TVEFHRURf
RlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQcml2YXRlRnJhbWV3b3JrcywgQSkKLQogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCkBAIC0yMjQs
OSArMjIxLDYgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c3RhcnRXaW5kb3dE
cmFnKCkKIAogU3RyaW5nIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Ojpsb2NhbGl6ZWRTdHJp
bmdzVVJMKCkKIHsKLSAgICAvLyBDYWxsIHRoZSBzb2Z0IGxpbmsgZnJhbWV3b3JrIGZ1bmN0aW9u
IHRvIGRsb3BlbiBpdCwgdGhlbiBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6XSB3aWxs
IHdvcmsuCi0gICAgV2ViSW5zcGVjdG9yVUlMaWJyYXJ5KCk7Ci0KICAgICBOU1N0cmluZyAqcGF0
aCA9IFtbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUuV2ViSW5zcGVj
dG9yVUkiXSBwYXRoRm9yUmVzb3VyY2U6QCJsb2NhbGl6ZWRTdHJpbmdzIiBvZlR5cGU6QCJqcyJd
OwogICAgIGlmIChbcGF0aCBsZW5ndGhdKQogICAgICAgICByZXR1cm4gW1tOU1VSTCBmaWxlVVJM
V2l0aFBhdGg6cGF0aF0gYWJzb2x1dGVTdHJpbmddOwpAQCAtNDYzLDkgKzQ1Nyw2IEBAIC0gKHZv
aWQpZGVhbGxvYwogCiAtIChOU1N0cmluZyAqKWluc3BlY3RvclBhZ2VQYXRoCiB7Ci0gICAgLy8g
Q2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4g
W05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3Bl
Y3RvclVJTGlicmFyeSgpOwotCiAgICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRs
ZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291
cmNlOkAiTWFpbiIgb2ZUeXBlOkAiaHRtbCJdOwogICAgIEFTU0VSVChbcGF0aCBsZW5ndGhdKTsK
ICAgICByZXR1cm4gcGF0aDsKQEAgLTQ3Myw5ICs0NjQsNiBAQCAtIChOU1N0cmluZyAqKWluc3Bl
Y3RvclBhZ2VQYXRoCiAKIC0gKE5TU3RyaW5nICopaW5zcGVjdG9yVGVzdFBhZ2VQYXRoCiB7Ci0g
ICAgLy8gQ2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQs
IHRoZW4gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdl
Ykluc3BlY3RvclVJTGlicmFyeSgpOwotCiAgICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxl
IGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZv
clJlc291cmNlOkAiVGVzdCIgb2ZUeXBlOkAiaHRtbCJdOwogCiAgICAgLy8gV2UgbWlnaHQgbm90
IGhhdmUgYSBUZXN0Lmh0bWwgaW4gUHJvZHVjdGlvbiBidWlsZHMuCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTFkMzI0ZDViODUwMGRjNDIzZWM5
ODJkODdmNTgyNjFiOTlkNzE1Mi4uMDU1YWYwZWVjOTg5YzkwZTBmMDllMWE5NmRjNzgyZTBkZDVl
ZDUwZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDE5LTAyLTA3ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgorCisgICAgICAgIFtNYWNdIFdlYkluc3BlY3RvclVJLmZyYW1ld29yayBkb2VzIG5vdCBuZWVk
IHRvIGJlIHNvZnQtbGlua2VkIGFueW1vcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NDQxMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc3ODc2
MTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKFRlc3RSdW5uZXI6
Omluc3BlY3RvclRlc3RTdHViVVJMKToKKyAgICAgICAgKFNPRlRfTElOS19TVEFHRURfRlJBTUVX
T1JLKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L21hYy9UZXN0UnVubmVyTWFjLm1tOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjppbnNwZWN0
b3JUZXN0U3R1YlVSTCk6CisKIDIwMTktMDItMDcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTEZDXVtPdXQtb2YtZmxvd10gVXNlIHRoZSBjb250YWluaW5nIGJs
b2NrJ3MgcGFkZGluZyB3aWR0aCB3aGVuIGNvbXB1dGluZyBtaW4vbWF4IHdpZHRoLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0gYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQppbmRleCBjMTM3OGQ5ZTNjNTdjN2Y3
M2UxMjg0ZmI2ODY1MTRkNzQzZGJmZDc2Li43NDI1MTdjZmY3MTA1MjBiZGFhYTE3YWYyMmVhN2I5
OTg0YTlkZTMzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5l
ck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQpA
QCAtNzcsMTAgKzc3LDYgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0
Zi9XYWxsVGltZS5oPgogCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0jaW1wb3J0IDx3dGYv
U29mdExpbmtpbmcuaD4KLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbXBv
cnQgIlVJS2l0U1BJLmgiCiAjaW1wb3J0IDxXZWJLaXQvV2ViQ29yZVRocmVhZC5oPgpAQCAtODks
NyArODUsNiBAQAogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKLVNPRlRfTElO
S19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQcml2YXRlRnJhbWV3b3JrcywgQSkK
IAogQGludGVyZmFjZSBDb21tYW5kVmFsaWRhdGlvblRhcmdldCA6IE5TT2JqZWN0IDxOU1ZhbGlk
YXRlZFVzZXJJbnRlcmZhY2VJdGVtPgogewpAQCAtODM0LDkgKzgyOSw2IEBAIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjppbnNwZWN0b3JUZXN0U3R1YlVSTCgpCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICByZXR1cm4gbnVsbHB0cjsKICNlbHNlCi0gICAgLy8gQ2Fs
bCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gQ0ZC
dW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllciB3aWxsIHdvcmsuCi0gICAgV2ViSW5zcGVjdG9y
VUlMaWJyYXJ5KCk7Ci0KICAgICBDRkJ1bmRsZVJlZiBpbnNwZWN0b3JCdW5kbGUgPSBDRkJ1bmRs
ZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2ViSW5zcGVjdG9yVUki
KSk7CiAgICAgaWYgKCFpbnNwZWN0b3JCdW5kbGUpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvVGVz
dFJ1bm5lck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFj
L1Rlc3RSdW5uZXJNYWMubW0KaW5kZXggNTQzMzEzMzA3MzlmZWFhNjQwNTc4YTA0MTM3OGUxZWRl
OTM1MzE1MC4uYTNiZTY3OGE1MjBkZjMyYTIyYjU5ZWNiYTcwMjA5NTU2ZTI1ZDRjMiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvVGVzdFJ1bm5l
ck1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9U
ZXN0UnVubmVyTWFjLm1tCkBAIC0zMCwxMiArMzAsNiBAQAogI2ltcG9ydCAiSW5qZWN0ZWRCdW5k
bGUuaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTU3RyaW5nUmVmQ0YuaD4KIAotI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQotI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+Ci0KLVNPRlRf
TElOS19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQcml2YXRlRnJhbWV3b3Jrcywg
QSkKLSNlbmRpZgotCiBuYW1lc3BhY2UgV1RSIHsKIAogdm9pZCBUZXN0UnVubmVyOjpwbGF0Zm9y
bUluaXRpYWxpemUoKQpAQCAtNzYsOSArNzAsNiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
VGVzdFJ1bm5lcjo6aW5zcGVjdG9yVGVzdFN0dWJVUkwoKQogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgcmV0dXJuIG51bGxwdHI7CiAjZWxzZQotICAgIC8vIENhbGwgdGhlIHNvZnQgbGlu
ayBmcmFtZXdvcmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVuIENGQnVuZGxlR2V0QnVuZGxl
V2l0aElkZW50aWZpZXIgd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgpOwot
CiAgICAgQ0ZCdW5kbGVSZWYgaW5zcGVjdG9yQnVuZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRo
SWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIikpOwogICAgIGlmICgh
aW5zcGVjdG9yQnVuZGxlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362046</attachid>
            <date>2019-02-14 12:21:56 -0800</date>
            <delta_ts>2019-02-14 13:26:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194411-20190214122155.patch</filename>
            <type>text/plain</type>
            <size>21377</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxNTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZhYWExYThmYWMyZTJiZTM1Nzg3MmMz
OTZiYzk5YjM1MmY3Nzk1YTQuLmU2MzYyMDI4YWZkYjM5YjA4OTQ4YWJkMDQ2NWZiMTc4MzBkNmJi
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDItMTQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViSW5zcGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMg
bm90IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS80Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHd0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oOgorICAgICAgICBSZW1vdmUgbWFjcm8gdGhh
dCBub3cgaGFzIG5vIHVzZXMuCisKIDIwMTktMDItMTMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZSBzaG91bGQgb25seSBtYWtlIHJvcGUgc3RyaW5ncyB3
aGVuIGNvbmNhdGVuYXRpbmcgc3RyaW5ncyBsb25nIGVub3VnaC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMDA4Zjlk
NjU0NDA1NWIwNWJjMDFiNDgzN2JjY2M4OTk4OWFjMzc1Yy4uYjVlODM1OTNhNGNmNWMxMDYxYTQ1
MmYwNTdiYmU3OWQyYzU4OTY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOS0wMi0x
NCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJJbnNw
ZWN0b3JVSS5mcmFtZXdvcmsgZG9lcyBub3QgbmVlZCB0byBiZSBzb2Z0LWxpbmtlZCBhbnltb3Jl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ0MTEK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3Nzg3NjE0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnOgorICAgICAgICBDb25kaXRpb25hbGl6ZSB3ZWFrIGxpbmtpbmcgdG8gV2ViSW5zcGVjdG9y
VUkuZnJhbWV3b3JrIGZvciBNYWMgb25seS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2Vi
SW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5
OjppbnNwZWN0b3JQYWdlVVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6
Omluc3BlY3RvclRlc3RQYWdlVVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJv
eHk6Omluc3BlY3RvckJhc2VVUkwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViSW5zcGVjdG9yVUlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OndlYkluc3BlY3RvclVJTG9j
YWxpemVkU3RyaW5nc1VSTCk6CisgICAgICAgIFJld3JpdGUgdXNlcyBvZiB0aGUgYnVuZGxlIHRv
IGV4aXQgZWFybHkgaWYgYnVuZGxlIGNvdWxkbid0IGJlIGxvYWRlZC4KKwogMjAxOS0wMi0xNCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtQU09OXSBJbnRyb2R1
Y2UgYSBXZWJDb250ZW50IFByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpp
bmRleCBhMGY4NjkxZWIzNzdkMTQ1MGNmYzgxMjc3MDQ4NzVmMzQ3Y2VhZmI2Li4xMTkyZDQwZWFk
OTFmZWQ2Y2Q4OTllMDg3ODgzMmJjMzNlZmJlNDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDItMTQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViSW5zcGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMgbm90
IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZzoKKyAgICAgICAgQ29uZGl0
aW9uYWxpemUgd2VhayBsaW5raW5nIHRvIFdlYkluc3BlY3RvclVJLmZyYW1ld29yayBmb3IgTWFj
IG9ubHkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW06
CisgICAgICAgIChXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6bG9jYWxpemVkU3RyaW5nc1VS
TCk6CisgICAgICAgICgtW1dlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgaW5zcGVjdG9yUGFn
ZVBhdGhdKToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciBpbnNwZWN0
b3JUZXN0UGFnZVBhdGhdKToKKyAgICAgICAgUmV3cml0ZSB1c2VzIG9mIHRoZSBidW5kbGUgdG8g
ZXhpdCBlYXJseSBpZiBidW5kbGUgY291bGRuJ3QgYmUgbG9hZGVkLgorCiAyMDE5LTAyLTEyICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHBh
Z2VzIHRvIHRyaWdnZXIgcHJvZ3JhbW1hdGljIHBhc3RlIGZyb20gc2NyaXB0IG9uIGlPUwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtpbmcuaCBiL1NvdXJjZS9XVEYv
d3RmL2NvY29hL1NvZnRMaW5raW5nLmgKaW5kZXggZTAwODMyMjM3NWE3MjkzMzI2M2IwYmQ0ZWNh
ZTZhYmZjNzhkYjUzOS4uNDdmYjc4YWQ4MjZlY2MwYWQ4NDk3NWVlZTAzOTg1YzI0ZjQwMzRhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtpbmcuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oCkBAIC04NCwxOSArODQsNiBAQAogICAgICAg
ICByZXR1cm4gZnJhbWV3b3JrTGlicmFyeTsgXAogICAgIH0KIAotI2RlZmluZSBTT0ZUX0xJTktf
U1RBR0VEX0ZSQU1FV09SSyhmcmFtZXdvcmssIHVuc3RhZ2VkTG9jYXRpb24sIHZlcnNpb24pIFwK
LSAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrIyNMaWJyYXJ5KCkgXAotICAgIHsgXAotICAgICAg
ICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrTGlicmFyeSA9IF57IFwKLSAgICAgICAgICAgIHZvaWQq
IHJlc3VsdCA9IGRsb3BlbigiL1N5c3RlbS9MaWJyYXJ5LyIgI3Vuc3RhZ2VkTG9jYXRpb24gIi8i
ICNmcmFtZXdvcmsgIi5mcmFtZXdvcmsvVmVyc2lvbnMvIiAjdmVyc2lvbiAiLyIgI2ZyYW1ld29y
aywgUlRMRF9MQVpZKTsgXAotICAgICAgICAgICAgaWYgKCFyZXN1bHQpIFwKLSAgICAgICAgICAg
ICAgICByZXN1bHQgPSBkbG9wZW4oIi9TeXN0ZW0vTGlicmFyeS9TdGFnZWRGcmFtZXdvcmtzL1Nh
ZmFyaS8iICNmcmFtZXdvcmsgIi5mcmFtZXdvcmsvVmVyc2lvbnMvIiAjdmVyc2lvbiAiLyIgI2Zy
YW1ld29yaywgUlRMRF9MQVpZKTsgXAotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9N
RVNTQUdFKHJlc3VsdCwgIiVzIiwgZGxlcnJvcigpKTsgXAotICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsgXAotICAgICAgICB9KCk7IFwKLSAgICAgICAgcmV0dXJuIGZyYW1ld29ya0xpYnJhcnk7
IFwKLSAgICB9Ci0KICNkZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SS19JTl9VTUJSRUxMQSh1bWJy
ZWxsYSwgZnJhbWV3b3JrKSBcCiAgICAgc3RhdGljIHZvaWQqIGZyYW1ld29yayMjTGlicmFyeSgp
IFwKICAgICB7IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2Vi
S2l0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25m
aWcKaW5kZXggZDkyOTZhMzBiZTg2YTNjODY5MjM3Y2Y2NWE4NjIzYzk4NjJhNDEyZS4uNDc5YmQ2
ZDViODhiMmVhYjFhYzU5ODg2YzY3ODg4M2Q4OTc2OWQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTEyNyw3ICsxMjcsMTAgQEAgV0tfVUlL
SVRfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBVSUtpdDsKIFdLX1VSTF9GT1JNQVRU
SU5HX0xERkxBR1MgPSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1NfJChXS19IQVZFX1VSTF9G
T1JNQVRUSU5HKSk7CiBXS19VUkxfRk9STUFUVElOR19MREZMQUdTX1lFUyA9IC1mcmFtZXdvcmsg
VVJMRm9ybWF0dGluZzsKIAotRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAtbG9iamMg
LWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBDb3Jl
Rm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1m
cmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAt
ZnJhbWV3b3JrIFdlYktpdExlZ2FjeSAtbG5ldHdvcmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxB
R1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1Mp
ICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFHUykgJChXS19DT1JFX1BS
RURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfREVWSUNF
X0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19J
T1NVUkZBQ0VfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1BST1hJTUlUWV9ORVRXT1JLSU5HX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19M
REZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxB
R1MpICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUyk7CitXS19XRUJJTlNQRUNUT1JVSV9MREZM
QUdTID0gJChXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwor
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHU19tYWNvc3ggPSAtd2Vha19mcmFtZXdvcmsgV2ViSW5z
cGVjdG9yVUk7CisKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTID0gLWxvYmpjIC1mcmFt
ZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUZvdW5k
YXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3
b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1l
d29yayBXZWJLaXRMZWdhY3kgLWxuZXR3b3JrICQoV0tfQUNDRVNTSUJJTElUWV9MREZMQUdTKSAk
KFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTKSAkKFdL
X0NBUkJPTl9MREZMQUdTKSAkKFdLX0NPUkVfUERGX0xERkxBR1MpICQoV0tfQ09SRV9QUkVESUNU
SU9OX0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0RFVklDRV9JREVO
VElUWV9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfSU9TVVJG
QUNFX0xERkxBR1MpICQoV0tfTElCU0FOREJPWF9MREZMQUdTKSAkKFdLX0xJQldFQlJUQ19MREZM
QUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTU9CSUxFX0dFU1RB
TFRfTERGTEFHUykgJChXS19PUEVOR0xfTERGTEFHUykgJChXS19QREZLSVRfTERGTEFHUykgJChX
S19QUk9YSU1JVFlfTkVUV09SS0lOR19MREZMQUdTKSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFH
UykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAk
KFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7
CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBv
cGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJv
bSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZM
QUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
VFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVds
LF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2
TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9T
NF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2Vi
Q29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
TktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQ
b2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5T
dDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0
aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9u
SUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3Ry
YWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9OU18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9z
dHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUx
Nl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlh
bGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTVi
YXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVh
bUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJf
dHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJv
eHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlN
YWMubW0KaW5kZXggNTgwYzNmNTgyMmUwM2M5MjVhZTkxMGQ4OWNiYjUyZDdiMTljNTJhNC4uNTY4
Zjc0ODIyODVmYzViZjAyYzdjNTRhMWE1ZGE2YTgyOWJhYWZlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Miwx
MSArNDIsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQg
PFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+Ci0jaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBv
cnQgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCi1TT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJ
bnNwZWN0b3JVSSwgUHJpdmF0ZUZyYW1ld29ya3MsIEEpCi0KIHN0YXRpYyBjb25zdCBOU1VJbnRl
Z2VyIHdpbmRvd1N0eWxlTWFzayA9IE5TV2luZG93U3R5bGVNYXNrVGl0bGVkIHwgTlNXaW5kb3dT
dHlsZU1hc2tDbG9zYWJsZSB8IE5TV2luZG93U3R5bGVNYXNrTWluaWF0dXJpemFibGUgfCBOU1dp
bmRvd1N0eWxlTWFza1Jlc2l6YWJsZSB8IE5TV2luZG93U3R5bGVNYXNrRnVsbFNpemVDb250ZW50
VmlldzsKIAogLy8gVGhlIHRpbWUgd2Uga2VlcCBvdXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xv
c2luZyBpdCBhbmQgaXRzIHByb2Nlc3MuCkBAIC03MjQsMzggKzcyMSw0MiBAQCB2b2lkIFdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybVN0YXJ0V2luZG93RHJhZygpCiAKIFN0cmluZyBXZWJJbnNw
ZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVSTCgpCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29mdCBs
aW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1bmRs
ZVdpdGhJZGVudGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgp
OworICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6
QCJjb20uYXBwbGUuV2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKKyAgICAgICAg
cmV0dXJuIFN0cmluZygpOwogCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRs
ZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291
cmNlOkAiTWFpbiIgb2ZUeXBlOkAiaHRtbCJdOwotICAgIEFTU0VSVChbcGF0aCBsZW5ndGhdKTsK
KyAgICBOU1N0cmluZyAqcGF0aCA9IFtidW5kbGUgcGF0aEZvclJlc291cmNlOkAiTWFpbiIgb2ZU
eXBlOkAiaHRtbCJdOworICAgIEFTU0VSVChwYXRoICYmIHBhdGgubGVuZ3RoKTsKKyAgICBpZiAo
IXBhdGgpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAgIHJldHVybiBbW05TVVJMIGZp
bGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0b3J5Ok5PXSBhYnNvbHV0ZVN0cmluZ107CisgICAg
cmV0dXJuIFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0RpcmVjdG9yeTpOT10uYWJzb2x1
dGVTdHJpbmc7CiB9CiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yVGVzdFBh
Z2VVUkwoKQogewotICAgIC8vIENhbGwgdGhlIHNvZnQgbGluayBmcmFtZXdvcmsgZnVuY3Rpb24g
dG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpdIHdpbGwg
d29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxpYnJhcnkoKTsKLQotICAgIE5TU3RyaW5nICpwYXRo
ID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJJbnNwZWN0
b3JVSSJdIHBhdGhGb3JSZXNvdXJjZTpAIlRlc3QiIG9mVHlwZTpAImh0bWwiXTsKKyAgICBOU0J1
bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxl
LldlYkluc3BlY3RvclVJIl07CisgICAgaWYgKCFidW5kbGUpCisgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKIAogICAgIC8vIFdlIG1pZ2h0IG5vdCBoYXZlIGEgVGVzdC5odG1sIGluIFByb2R1Y3Rp
b24gYnVpbGRzLgorICAgIE5TU3RyaW5nICpwYXRoID0gW2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6
QCJNYWluIiBvZlR5cGU6QCJodG1sIl07CiAgICAgaWYgKCFwYXRoKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CiAKLSAgICByZXR1cm4gW1tOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0Rp
cmVjdG9yeTpOT10gYWJzb2x1dGVTdHJpbmddOworICAgIHJldHVybiBbTlNVUkwgZmlsZVVSTFdp
dGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6Tk9dLmFic29sdXRlU3RyaW5nOwogfQogCiBTdHJpbmcg
V2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RvckJhc2VVUkwoKQogewotICAgIC8vIENhbGwgdGhl
IHNvZnQgbGluayBmcmFtZXdvcmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRs
ZSBidW5kbGVXaXRoSWRlbnRpZmllcjpdIHdpbGwgd29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxp
YnJhcnkoKTsKKyAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVu
dGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl07CisgICAgaWYgKCFidW5kbGUpCisg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAgIE5TU3RyaW5nICpwYXRoID0gW1tOU0J1bmRs
ZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJJbnNwZWN0b3JVSSJdIHJlc291
cmNlUGF0aF07Ci0gICAgQVNTRVJUKFtwYXRoIGxlbmd0aF0pOworICAgIE5TU3RyaW5nICpwYXRo
ID0gYnVuZGxlLnJlc291cmNlUGF0aDsKKyAgICBBU1NFUlQocGF0aCAmJiBwYXRoLmxlbmd0aCkK
IAotICAgIHJldHVybiBbW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0b3J5OllF
U10gYWJzb2x1dGVTdHJpbmddOworICAgIHJldHVybiBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBh
dGggaXNEaXJlY3Rvcnk6WUVTXS5hYnNvbHV0ZVN0cmluZzsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViSW5zcGVjdG9yVUlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvV2ViSW5zcGVjdG9yVUlNYWMubW0KaW5kZXggOWFiNGI0MGQwOTU2NmJhMWUxM2JjNWQ0ZWFh
MTY0MzQxNzljODkzNy4uOGU0MWIwZDE1NTM3Yzg3MDgwZTU0ZGM4NTExMzI4YmYzNDcxYjdmNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYkluc3Bl
Y3RvclVJTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJJbnNwZWN0b3JVSU1hYy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTAsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNywxMCArMjcsNiBAQAogI2ltcG9ydCAiV2ViSW5z
cGVjdG9yVUkuaCIKICNpbXBvcnQgIlJlbW90ZVdlYkluc3BlY3RvclVJLmgiCiAKLSNpbXBvcnQg
PHd0Zi9Tb2Z0TGlua2luZy5oPgotCi1TT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJbnNw
ZWN0b3JVSSwgUHJpdmF0ZUZyYW1ld29ya3MsIEEpCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBi
b29sIFdlYkluc3BlY3RvclVJOjpjYW5TYXZlKCkKQEAgLTQwLDE0ICszNiwxNSBAQCBib29sIFdl
Ykluc3BlY3RvclVJOjpjYW5TYXZlKCkKIAogc3RhdGljIFN0cmluZyB3ZWJJbnNwZWN0b3JVSUxv
Y2FsaXplZFN0cmluZ3NVUkwoKQogewotICAgIC8vIENhbGwgdGhlIHNvZnQgbGluayBmcmFtZXdv
cmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRp
ZmllcjpdIHdpbGwgd29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxpYnJhcnkoKTsKLQotICAgIE5T
U3RyaW5nICpwYXRoID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBs
ZS5XZWJJbnNwZWN0b3JVSSJdIHBhdGhGb3JSZXNvdXJjZTpAImxvY2FsaXplZFN0cmluZ3MiIG9m
VHlwZTpAImpzIl07Ci0gICAgaWYgKHBhdGgubGVuZ3RoKQotICAgICAgICByZXR1cm4gW1tOU1VS
TCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0RpcmVjdG9yeTpOT10gYWJzb2x1dGVTdHJpbmddOwot
Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUg
YnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUuV2ViSW5zcGVjdG9yVUkiXTsKKyAgICBp
ZiAoIWJ1bmRsZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgTlNTdHJpbmcgKnBh
dGggPSBbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAImxvY2FsaXplZFN0cmluZ3MiIG9mVHlwZTpA
ImpzIl07CisgICAgaWYgKCFwYXRoKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgCisg
ICAgcmV0dXJuIFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0RpcmVjdG9yeTpOT10uYWJz
b2x1dGVTdHJpbmc7CiB9CiAKIFN0cmluZyBXZWJJbnNwZWN0b3JVSTo6bG9jYWxpemVkU3RyaW5n
c1VSTCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9u
cy9XZWJLaXRMZWdhY3kueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1
cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKaW5kZXggZWExZTFkZGJjNzE1MGY3YzVhZmEw
NTkzMzNhMmJjZTVmYzgxYjdlMS4uNWQ0Zjg1OWMzOTEwMjVlMGIyNjRiZWFhYzJkMDhhOTEyMWUx
ZTQxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMv
V2ViS2l0TGVnYWN5LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZp
Z3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZwpAQCAtOTIsNyArOTIsMTAgQEAgV0tfTU9C
SUxFX0dFU1RBTFRfTERGTEFHU19jb2NvYXRvdWNoID0gLWxNb2JpbGVHZXN0YWx0OwogV0tfU0VD
VVJJVFlfSU5URVJGQUNFX0xERkxBR1MgPSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdT
XyQoV0tfUExBVEZPUk1fTkFNRSkpOwogV0tfU0VDVVJJVFlfSU5URVJGQUNFX0xERkxBR1NfbWFj
b3N4ID0gLWZyYW1ld29yayBTZWN1cml0eUludGVyZmFjZTsKIAotT1RIRVJfTERGTEFHUyA9IC1s
b2JqYyAtbHNxbGl0ZTMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRh
dGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdv
cmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAkKFdLX0FQ
UEtJVF9MREZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VT
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKTsKK1dLX1dF
QklOU1BFQ1RPUlVJX0xERkxBR1MgPSAkKFdLX1dFQklOU1BFQ1RPUlVJX0xERkxBR1NfJChXS19Q
TEFURk9STV9OQU1FKSk7CitXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTX21hY29zeCA9IC13ZWFr
X2ZyYW1ld29yayBXZWJJbnNwZWN0b3JVSTsKKworT1RIRVJfTERGTEFHUyA9IC1sb2JqYyAtbHNx
bGl0ZTMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJh
bWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRh
dGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAkKFdLX0FQUEtJVF9MREZM
QUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAkKFdLX1dFQklOU1BFQ1RP
UlVJX0xERkxBR1MpOwogCiBTRUNUT1JERVJfRkxBR1MgPSAkKFNFQ1RPUkRFUl9GTEFHU18kKENP
TkZJR1VSQVRJT04pKTsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nkaz1pcGhvbmVvcypd
ID0gLVdsLC1vcmRlcl9maWxlLCQoU0RLUk9PVCkvQXBwbGVJbnRlcm5hbC9PcmRlckZpbGVzL1dl
YktpdExlZ2FjeS5vcmRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQppbmRleCAyODk1MWE0OGM3
ZGM0NzIzMDEyMTBhYTY2MjVlNThlMTY0Njk3YzU1Li42MzE1ZTY4YjYyOTZiYzdkNjQ2OGQwZjYx
OTdjYWE1ZDIzYjY4ODU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBAIC01MywxMSArNTMs
OCBAQAogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJL
aXRMZWdhY3kvRE9NRXh0ZW5zaW9ucy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgotI2ltcG9ydCA8
d3RmL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9CYXNlNjQuaD4KIAotU09GVF9M
SU5LX1NUQUdFRF9GUkFNRVdPUksoV2ViSW5zcGVjdG9yVUksIFByaXZhdGVGcmFtZXdvcmtzLCBB
KQotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7
CiAKQEAgLTIyNCwxMyArMjIxLDE1IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6
OnN0YXJ0V2luZG93RHJhZygpCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
bG9jYWxpemVkU3RyaW5nc1VSTCgpCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29mdCBsaW5rIGZyYW1l
d29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVu
dGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgpOworICAgIE5T
QnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBw
bGUuV2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKKyAgICAgICAgcmV0dXJuIFN0
cmluZygpOwogCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVu
dGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291cmNlOkAibG9j
YWxpemVkU3RyaW5ncyIgb2ZUeXBlOkAianMiXTsKLSAgICBpZiAoW3BhdGggbGVuZ3RoXSkKLSAg
ICAgICAgcmV0dXJuIFtbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGhdIGFic29sdXRlU3RyaW5n
XTsKLSAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgTlNTdHJpbmcgKnBhdGggPSBbYnVuZGxlIHBh
dGhGb3JSZXNvdXJjZTpAImxvY2FsaXplZFN0cmluZ3MiIG9mVHlwZTpAImpzIl07CisgICAgaWYg
KCFwYXRoLmxlbmd0aCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIAorICAgIHJldHVy
biBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6Tk9dLmFic29sdXRlU3Ry
aW5nOwogfQogCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpicmluZ1RvRnJvbnQo
KQpAQCAtNDYzLDI2ICs0NjIsMjEgQEAgLSAodm9pZClkZWFsbG9jCiAKIC0gKE5TU3RyaW5nICop
aW5zcGVjdG9yUGFnZVBhdGgKIHsKLSAgICAvLyBDYWxsIHRoZSBzb2Z0IGxpbmsgZnJhbWV3b3Jr
IGZ1bmN0aW9uIHRvIGRsb3BlbiBpdCwgdGhlbiBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZp
ZXI6XSB3aWxsIHdvcmsuCi0gICAgV2ViSW5zcGVjdG9yVUlMaWJyYXJ5KCk7CisgICAgTlNCdW5k
bGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5X
ZWJJbnNwZWN0b3JVSSJdOworICAgIGlmICghYnVuZGxlKQorICAgICAgICByZXR1cm4gbmlsOwog
Ci0gICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAi
Y29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291cmNlOkAiTWFpbiIgb2ZUeXBl
OkAiaHRtbCJdOwotICAgIEFTU0VSVChbcGF0aCBsZW5ndGhdKTsKLSAgICByZXR1cm4gcGF0aDsK
KyAgICByZXR1cm4gW2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJNYWluIiBvZlR5cGU6QCJodG1s
Il07CiB9CiAKIC0gKE5TU3RyaW5nICopaW5zcGVjdG9yVGVzdFBhZ2VQYXRoCiB7Ci0gICAgLy8g
Q2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4g
W05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3Bl
Y3RvclVJTGlicmFyeSgpOwotCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRs
ZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291
cmNlOkAiVGVzdCIgb2ZUeXBlOkAiaHRtbCJdOwotCi0gICAgLy8gV2UgbWlnaHQgbm90IGhhdmUg
YSBUZXN0Lmh0bWwgaW4gUHJvZHVjdGlvbiBidWlsZHMuCi0gICAgaWYgKCFwYXRoKQorICAgIE5T
QnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBw
bGUuV2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKICAgICAgICAgcmV0dXJuIG5p
bDsKIAotICAgIHJldHVybiBwYXRoOworICAgIC8vIFdlIG1pZ2h0IG5vdCBoYXZlIGEgVGVzdC5o
dG1sIGluIFByb2R1Y3Rpb24gYnVpbGRzLgorICAgIHJldHVybiBbYnVuZGxlIHBhdGhGb3JSZXNv
dXJjZTpAIlRlc3QiIG9mVHlwZTpAImh0bWwiXTsKIH0KIAogLy8gTUFSSzogLQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQ5NzUwZWU0MmYwMjhi
YWE4MzExMzEyZjQ1YTAyNTk0ZjY0NTMyZDIuLmEzYjg5ZTQ4ZmFkOTY4NWJjMTkyNmU1NDVmYmY5
OWYwZWQ5YmQ2MzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMi0xNCAgQnJpYW4gQnVyZyAgPGJidXJnQGFw
cGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJJbnNwZWN0b3JVSS5mcmFtZXdvcmsgZG9lcyBu
b3QgbmVlZCB0byBiZSBzb2Z0LWxpbmtlZCBhbnltb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ0MTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ3Nzg3NjE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBzb2Z0IGxpbmtpbmcgbWFjcm8gdXNhZ2UuCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKFRlc3RS
dW5uZXI6Omluc3BlY3RvclRlc3RTdHViVVJMKToKKyAgICAgICAgKFNPRlRfTElOS19TVEFHRURf
RlJBTUVXT1JLKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9UZXN0UnVubmVyTWFjLm1tOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpp
bnNwZWN0b3JUZXN0U3R1YlVSTCk6CisKIDIwMTktMDItMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KIAogICAgICAgICBbUFNPTl0gSW50cm9kdWNlIGEgV2ViQ29udGVudCBQcm9j
ZXNzIGNhY2hlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5l
ck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCmluZGV4
IGMxMzc4ZDllM2M1N2M3ZjczZTEyODRmYjY4NjUxNGQ3NDNkYmZkNzYuLjc0MjUxN2NmZjcxMDUy
MGJkYWFhMTdhZjIyZWE3Yjk5ODRhOWRlMzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9U
ZXN0UnVubmVyTWFjLm1tCkBAIC03NywxMCArNzcsNiBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgogI2ltcG9ydCA8d3RmL1dhbGxUaW1lLmg+CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKLSNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgotI2VuZGlmCi0KICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgPFdlYktpdC9XZWJDb3Jl
VGhyZWFkLmg+CkBAIC04OSw3ICs4NSw2IEBACiAjZW5kaWYKIAogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQotU09GVF9MSU5LX1NUQUdFRF9GUkFNRVdPUksoV2ViSW5zcGVjdG9yVUksIFByaXZh
dGVGcmFtZXdvcmtzLCBBKQogCiBAaW50ZXJmYWNlIENvbW1hbmRWYWxpZGF0aW9uVGFyZ2V0IDog
TlNPYmplY3QgPE5TVmFsaWRhdGVkVXNlckludGVyZmFjZUl0ZW0+CiB7CkBAIC04MzQsOSArODI5
LDYgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6Omluc3BlY3RvclRlc3RT
dHViVVJMKCkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHJldHVybiBudWxscHRyOwog
I2Vsc2UKLSAgICAvLyBDYWxsIHRoZSBzb2Z0IGxpbmsgZnJhbWV3b3JrIGZ1bmN0aW9uIHRvIGRs
b3BlbiBpdCwgdGhlbiBDRkJ1bmRsZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyIHdpbGwgd29yay4K
LSAgICBXZWJJbnNwZWN0b3JVSUxpYnJhcnkoKTsKLQogICAgIENGQnVuZGxlUmVmIGluc3BlY3Rv
ckJ1bmRsZSA9IENGQnVuZGxlR2V0QnVuZGxlV2l0aElkZW50aWZpZXIoQ0ZTVFIoImNvbS5hcHBs
ZS5XZWJJbnNwZWN0b3JVSSIpKTsKICAgICBpZiAoIWluc3BlY3RvckJ1bmRsZSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL21hYy9UZXN0UnVubmVyTWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQppbmRleCA1NDMzMTMzMDczOWZlYWE2
NDA1NzhhMDQxMzc4ZTFlZGU5MzUzMTUwLi5hM2JlNjc4YTUyMGRmMzJhMjJiNTllY2JhNzAyMDk1
NTZlMjVkNGMyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KQEAgLTMwLDEyICszMCw2IEBACiAjaW1w
b3J0ICJJbmplY3RlZEJ1bmRsZS5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNTdHJpbmdS
ZWZDRi5oPgogCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0jaW1wb3J0IDx3dGYvU29mdExp
bmtpbmcuaD4KLQotU09GVF9MSU5LX1NUQUdFRF9GUkFNRVdPUksoV2ViSW5zcGVjdG9yVUksIFBy
aXZhdGVGcmFtZXdvcmtzLCBBKQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXVFIgewogCiB2b2lkIFRl
c3RSdW5uZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCkBAIC03Niw5ICs3MCw2IEBAIEpTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjppbnNwZWN0b3JUZXN0U3R1YlVSTCgpCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICByZXR1cm4gbnVsbHB0cjsKICNlbHNlCi0gICAgLy8g
Q2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4g
Q0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllciB3aWxsIHdvcmsuCi0gICAgV2ViSW5zcGVj
dG9yVUlMaWJyYXJ5KCk7Ci0KICAgICBDRkJ1bmRsZVJlZiBpbnNwZWN0b3JCdW5kbGUgPSBDRkJ1
bmRsZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2ViSW5zcGVjdG9y
VUkiKSk7CiAgICAgaWYgKCFpbnNwZWN0b3JCdW5kbGUpCiAgICAgICAgIHJldHVybiBudWxscHRy
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362056</attachid>
            <date>2019-02-14 13:26:04 -0800</date>
            <delta_ts>2019-02-15 10:37:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194411-20190214132603.patch</filename>
            <type>text/plain</type>
            <size>21378</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxNTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZhYWExYThmYWMyZTJiZTM1Nzg3MmMz
OTZiYzk5YjM1MmY3Nzk1YTQuLmU2MzYyMDI4YWZkYjM5YjA4OTQ4YWJkMDQ2NWZiMTc4MzBkNmJi
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDItMTQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViSW5zcGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMg
bm90IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS80Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHd0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oOgorICAgICAgICBSZW1vdmUgbWFjcm8gdGhh
dCBub3cgaGFzIG5vIHVzZXMuCisKIDIwMTktMDItMTMgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZSBzaG91bGQgb25seSBtYWtlIHJvcGUgc3RyaW5ncyB3
aGVuIGNvbmNhdGVuYXRpbmcgc3RyaW5ncyBsb25nIGVub3VnaC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMDA4Zjlk
NjU0NDA1NWIwNWJjMDFiNDgzN2JjY2M4OTk4OWFjMzc1Yy4uYjVlODM1OTNhNGNmNWMxMDYxYTQ1
MmYwNTdiYmU3OWQyYzU4OTY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOS0wMi0x
NCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBbTWFjXSBXZWJJbnNw
ZWN0b3JVSS5mcmFtZXdvcmsgZG9lcyBub3QgbmVlZCB0byBiZSBzb2Z0LWxpbmtlZCBhbnltb3Jl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ0MTEK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3Nzg3NjE0PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnOgorICAgICAgICBDb25kaXRpb25hbGl6ZSB3ZWFrIGxpbmtpbmcgdG8gV2ViSW5zcGVjdG9y
VUkuZnJhbWV3b3JrIGZvciBNYWMgb25seS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2Vi
SW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5
OjppbnNwZWN0b3JQYWdlVVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6
Omluc3BlY3RvclRlc3RQYWdlVVJMKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJv
eHk6Omluc3BlY3RvckJhc2VVUkwpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViSW5zcGVjdG9yVUlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OndlYkluc3BlY3RvclVJTG9j
YWxpemVkU3RyaW5nc1VSTCk6CisgICAgICAgIFJld3JpdGUgdXNlcyBvZiB0aGUgYnVuZGxlIHRv
IGV4aXQgZWFybHkgaWYgYnVuZGxlIGNvdWxkbid0IGJlIGxvYWRlZC4KKwogMjAxOS0wMi0xNCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtQU09OXSBJbnRyb2R1
Y2UgYSBXZWJDb250ZW50IFByb2Nlc3MgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpp
bmRleCBhMGY4NjkxZWIzNzdkMTQ1MGNmYzgxMjc3MDQ4NzVmMzQ3Y2VhZmI2Li4xMTkyZDQwZWFk
OTFmZWQ2Y2Q4OTllMDg3ODgzMmJjMzNlZmJlNDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDItMTQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViSW5zcGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMgbm90
IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZzoKKyAgICAgICAgQ29uZGl0
aW9uYWxpemUgd2VhayBsaW5raW5nIHRvIFdlYkluc3BlY3RvclVJLmZyYW1ld29yayBmb3IgTWFj
IG9ubHkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW06
CisgICAgICAgIChXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6bG9jYWxpemVkU3RyaW5nc1VS
TCk6CisgICAgICAgICgtW1dlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgaW5zcGVjdG9yUGFn
ZVBhdGhdKToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciBpbnNwZWN0
b3JUZXN0UGFnZVBhdGhdKToKKyAgICAgICAgUmV3cml0ZSB1c2VzIG9mIHRoZSBidW5kbGUgdG8g
ZXhpdCBlYXJseSBpZiBidW5kbGUgY291bGRuJ3QgYmUgbG9hZGVkLgorCiAyMDE5LTAyLTEyICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHBh
Z2VzIHRvIHRyaWdnZXIgcHJvZ3JhbW1hdGljIHBhc3RlIGZyb20gc2NyaXB0IG9uIGlPUwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtpbmcuaCBiL1NvdXJjZS9XVEYv
d3RmL2NvY29hL1NvZnRMaW5raW5nLmgKaW5kZXggZTAwODMyMjM3NWE3MjkzMzI2M2IwYmQ0ZWNh
ZTZhYmZjNzhkYjUzOS4uNDdmYjc4YWQ4MjZlY2MwYWQ4NDk3NWVlZTAzOTg1YzI0ZjQwMzRhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvU29mdExpbmtpbmcuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oCkBAIC04NCwxOSArODQsNiBAQAogICAgICAg
ICByZXR1cm4gZnJhbWV3b3JrTGlicmFyeTsgXAogICAgIH0KIAotI2RlZmluZSBTT0ZUX0xJTktf
U1RBR0VEX0ZSQU1FV09SSyhmcmFtZXdvcmssIHVuc3RhZ2VkTG9jYXRpb24sIHZlcnNpb24pIFwK
LSAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrIyNMaWJyYXJ5KCkgXAotICAgIHsgXAotICAgICAg
ICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrTGlicmFyeSA9IF57IFwKLSAgICAgICAgICAgIHZvaWQq
IHJlc3VsdCA9IGRsb3BlbigiL1N5c3RlbS9MaWJyYXJ5LyIgI3Vuc3RhZ2VkTG9jYXRpb24gIi8i
ICNmcmFtZXdvcmsgIi5mcmFtZXdvcmsvVmVyc2lvbnMvIiAjdmVyc2lvbiAiLyIgI2ZyYW1ld29y
aywgUlRMRF9MQVpZKTsgXAotICAgICAgICAgICAgaWYgKCFyZXN1bHQpIFwKLSAgICAgICAgICAg
ICAgICByZXN1bHQgPSBkbG9wZW4oIi9TeXN0ZW0vTGlicmFyeS9TdGFnZWRGcmFtZXdvcmtzL1Nh
ZmFyaS8iICNmcmFtZXdvcmsgIi5mcmFtZXdvcmsvVmVyc2lvbnMvIiAjdmVyc2lvbiAiLyIgI2Zy
YW1ld29yaywgUlRMRF9MQVpZKTsgXAotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9N
RVNTQUdFKHJlc3VsdCwgIiVzIiwgZGxlcnJvcigpKTsgXAotICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsgXAotICAgICAgICB9KCk7IFwKLSAgICAgICAgcmV0dXJuIGZyYW1ld29ya0xpYnJhcnk7
IFwKLSAgICB9Ci0KICNkZWZpbmUgU09GVF9MSU5LX0ZSQU1FV09SS19JTl9VTUJSRUxMQSh1bWJy
ZWxsYSwgZnJhbWV3b3JrKSBcCiAgICAgc3RhdGljIHZvaWQqIGZyYW1ld29yayMjTGlicmFyeSgp
IFwKICAgICB7IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2Vi
S2l0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25m
aWcKaW5kZXggZDkyOTZhMzBiZTg2YTNjODY5MjM3Y2Y2NWE4NjIzYzk4NjJhNDEyZS4uNDc5YmQ2
ZDViODhiMmVhYjFhYzU5ODg2YzY3ODg4M2Q4OTc2OWQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9D
b25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTEyNyw3ICsxMjcsMTAgQEAgV0tfVUlL
SVRfTERGTEFHU19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBVSUtpdDsKIFdLX1VSTF9GT1JNQVRU
SU5HX0xERkxBR1MgPSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1NfJChXS19IQVZFX1VSTF9G
T1JNQVRUSU5HKSk7CiBXS19VUkxfRk9STUFUVElOR19MREZMQUdTX1lFUyA9IC1mcmFtZXdvcmsg
VVJMRm9ybWF0dGluZzsKIAotRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAtbG9iamMg
LWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBDb3Jl
Rm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1m
cmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAt
ZnJhbWV3b3JrIFdlYktpdExlZ2FjeSAtbG5ldHdvcmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxB
R1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1Mp
ICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFHUykgJChXS19DT1JFX1BS
RURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfREVWSUNF
X0lERU5USVRZX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19J
T1NVUkZBQ0VfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRD
X0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVf
R0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdT
KSAkKFdLX1BST1hJTUlUWV9ORVRXT1JLSU5HX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19M
REZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxB
R1MpICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUyk7CitXS19XRUJJTlNQRUNUT1JVSV9MREZM
QUdTID0gJChXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwor
V0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHU19tYWNvc3ggPSAtd2Vha19mcmFtZXdvcmsgV2ViSW5z
cGVjdG9yVUk7CisKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTID0gLWxvYmpjIC1mcmFt
ZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUZvdW5k
YXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3
b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1l
d29yayBXZWJLaXRMZWdhY3kgLWxuZXR3b3JrICQoV0tfQUNDRVNTSUJJTElUWV9MREZMQUdTKSAk
KFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTKSAkKFdL
X0NBUkJPTl9MREZMQUdTKSAkKFdLX0NPUkVfUERGX0xERkxBR1MpICQoV0tfQ09SRV9QUkVESUNU
SU9OX0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0RFVklDRV9JREVO
VElUWV9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfSU9TVVJG
QUNFX0xERkxBR1MpICQoV0tfTElCU0FOREJPWF9MREZMQUdTKSAkKFdLX0xJQldFQlJUQ19MREZM
QUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTU9CSUxFX0dFU1RB
TFRfTERGTEFHUykgJChXS19PUEVOR0xfTERGTEFHUykgJChXS19QREZLSVRfTERGTEFHUykgJChX
S19QUk9YSU1JVFlfTkVUV09SS0lOR19MREZMQUdTKSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFH
UykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChXS19VSUtJVF9MREZMQUdTKSAk
KFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpICQoV0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHUyk7
CiAKIC8vIFByZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBv
cGVyYXRvciBuZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJv
bSBiZWluZyBleHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZM
QUdTID0gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCAtV2wsX19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
VFNTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVds
LF9fWm53bSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2
TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9T
NF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2Vi
Q29yZTEyUG9saWN5QWN0aW9uRUVFYVNFRG4gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
TktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQ
b2xpY3lBY3Rpb25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5T
dDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBv
bGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNf
XzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0
aW9uRUVFRDJFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9u
SUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3lt
Ym9sIC1XbCxfX1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sIC1XbCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3Ry
YWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFMF9OU18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1X
bCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFt
SWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9z
dHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFz
aWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUx
Nl9OU18xM2Jhc2ljX29zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
WlRUTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlh
bGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTVi
YXNpY19zdHJpbmdidWZJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVh
bUljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJf
dHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUU4X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJv
eHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlN
YWMubW0KaW5kZXggNTgwYzNmNTgyMmUwM2M5MjVhZTkxMGQ4OWNiYjUyZDdiMTljNTJhNC4uODU0
NDc4NDdmN2U2YjdlMmY2NWZlNjY1NDFiNjQ5OGMyMzk0ZThiMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Miwx
MSArNDIsOCBAQAogI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbXBvcnQg
PFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+Ci0jaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBv
cnQgPHd0Zi90ZXh0L0Jhc2U2NC5oPgogCi1TT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJ
bnNwZWN0b3JVSSwgUHJpdmF0ZUZyYW1ld29ya3MsIEEpCi0KIHN0YXRpYyBjb25zdCBOU1VJbnRl
Z2VyIHdpbmRvd1N0eWxlTWFzayA9IE5TV2luZG93U3R5bGVNYXNrVGl0bGVkIHwgTlNXaW5kb3dT
dHlsZU1hc2tDbG9zYWJsZSB8IE5TV2luZG93U3R5bGVNYXNrTWluaWF0dXJpemFibGUgfCBOU1dp
bmRvd1N0eWxlTWFza1Jlc2l6YWJsZSB8IE5TV2luZG93U3R5bGVNYXNrRnVsbFNpemVDb250ZW50
VmlldzsKIAogLy8gVGhlIHRpbWUgd2Uga2VlcCBvdXIgV2ViVmlldyBhbGl2ZSBiZWZvcmUgY2xv
c2luZyBpdCBhbmQgaXRzIHByb2Nlc3MuCkBAIC03MjQsMzggKzcyMSw0MiBAQCB2b2lkIFdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybVN0YXJ0V2luZG93RHJhZygpCiAKIFN0cmluZyBXZWJJbnNw
ZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVSTCgpCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29mdCBs
aW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1bmRs
ZVdpdGhJZGVudGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgp
OworICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6
QCJjb20uYXBwbGUuV2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKKyAgICAgICAg
cmV0dXJuIFN0cmluZygpOwogCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRs
ZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291
cmNlOkAiTWFpbiIgb2ZUeXBlOkAiaHRtbCJdOwotICAgIEFTU0VSVChbcGF0aCBsZW5ndGhdKTsK
KyAgICBOU1N0cmluZyAqcGF0aCA9IFtidW5kbGUgcGF0aEZvclJlc291cmNlOkAiTWFpbiIgb2ZU
eXBlOkAiaHRtbCJdOworICAgIEFTU0VSVChwYXRoICYmIHBhdGgubGVuZ3RoKTsKKyAgICBpZiAo
IXBhdGgpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAgIHJldHVybiBbW05TVVJMIGZp
bGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0b3J5Ok5PXSBhYnNvbHV0ZVN0cmluZ107CisgICAg
cmV0dXJuIFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0RpcmVjdG9yeTpOT10uYWJzb2x1
dGVTdHJpbmc7CiB9CiAKIFN0cmluZyBXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yVGVzdFBh
Z2VVUkwoKQogewotICAgIC8vIENhbGwgdGhlIHNvZnQgbGluayBmcmFtZXdvcmsgZnVuY3Rpb24g
dG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpdIHdpbGwg
d29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxpYnJhcnkoKTsKLQotICAgIE5TU3RyaW5nICpwYXRo
ID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJJbnNwZWN0
b3JVSSJdIHBhdGhGb3JSZXNvdXJjZTpAIlRlc3QiIG9mVHlwZTpAImh0bWwiXTsKKyAgICBOU0J1
bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxl
LldlYkluc3BlY3RvclVJIl07CisgICAgaWYgKCFidW5kbGUpCisgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKIAogICAgIC8vIFdlIG1pZ2h0IG5vdCBoYXZlIGEgVGVzdC5odG1sIGluIFByb2R1Y3Rp
b24gYnVpbGRzLgorICAgIE5TU3RyaW5nICpwYXRoID0gW2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6
QCJNYWluIiBvZlR5cGU6QCJodG1sIl07CiAgICAgaWYgKCFwYXRoKQogICAgICAgICByZXR1cm4g
U3RyaW5nKCk7CiAKLSAgICByZXR1cm4gW1tOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0Rp
cmVjdG9yeTpOT10gYWJzb2x1dGVTdHJpbmddOworICAgIHJldHVybiBbTlNVUkwgZmlsZVVSTFdp
dGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6Tk9dLmFic29sdXRlU3RyaW5nOwogfQogCiBTdHJpbmcg
V2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RvckJhc2VVUkwoKQogewotICAgIC8vIENhbGwgdGhl
IHNvZnQgbGluayBmcmFtZXdvcmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRs
ZSBidW5kbGVXaXRoSWRlbnRpZmllcjpdIHdpbGwgd29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxp
YnJhcnkoKTsKKyAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVu
dGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl07CisgICAgaWYgKCFidW5kbGUpCisg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAgIE5TU3RyaW5nICpwYXRoID0gW1tOU0J1bmRs
ZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJJbnNwZWN0b3JVSSJdIHJlc291
cmNlUGF0aF07Ci0gICAgQVNTRVJUKFtwYXRoIGxlbmd0aF0pOworICAgIE5TU3RyaW5nICpwYXRo
ID0gYnVuZGxlLnJlc291cmNlUGF0aDsKKyAgICBBU1NFUlQocGF0aCAmJiBwYXRoLmxlbmd0aCk7
CiAKLSAgICByZXR1cm4gW1tOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0RpcmVjdG9yeTpZ
RVNdIGFic29sdXRlU3RyaW5nXTsKKyAgICByZXR1cm4gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpw
YXRoIGlzRGlyZWN0b3J5OllFU10uYWJzb2x1dGVTdHJpbmc7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dlYkluc3BlY3RvclVJTWFjLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1dlYkluc3BlY3RvclVJTWFjLm1tCmluZGV4IDlhYjRiNDBkMDk1NjZiYTFlMTNiYzVkNGVh
YTE2NDM0MTc5Yzg5MzcuLjhlNDFiMGQxNTUzN2M4NzA4MGU1NGRjODUxMTMyOGJmMzQ3MWI3Zjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJbnNw
ZWN0b3JVSU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViSW5zcGVjdG9yVUlNYWMubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDEwLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsMTAgKzI3LDYgQEAKICNpbXBvcnQgIldlYklu
c3BlY3RvclVJLmgiCiAjaW1wb3J0ICJSZW1vdGVXZWJJbnNwZWN0b3JVSS5oIgogCi0jaW1wb3J0
IDx3dGYvU29mdExpbmtpbmcuaD4KLQotU09GVF9MSU5LX1NUQUdFRF9GUkFNRVdPUksoV2ViSW5z
cGVjdG9yVUksIFByaXZhdGVGcmFtZXdvcmtzLCBBKQotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Ym9vbCBXZWJJbnNwZWN0b3JVSTo6Y2FuU2F2ZSgpCkBAIC00MCwxNCArMzYsMTUgQEAgYm9vbCBX
ZWJJbnNwZWN0b3JVSTo6Y2FuU2F2ZSgpCiAKIHN0YXRpYyBTdHJpbmcgd2ViSW5zcGVjdG9yVUlM
b2NhbGl6ZWRTdHJpbmdzVVJMKCkKIHsKLSAgICAvLyBDYWxsIHRoZSBzb2Z0IGxpbmsgZnJhbWV3
b3JrIGZ1bmN0aW9uIHRvIGRsb3BlbiBpdCwgdGhlbiBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50
aWZpZXI6XSB3aWxsIHdvcmsuCi0gICAgV2ViSW5zcGVjdG9yVUlMaWJyYXJ5KCk7Ci0KLSAgICBO
U1N0cmluZyAqcGF0aCA9IFtbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBw
bGUuV2ViSW5zcGVjdG9yVUkiXSBwYXRoRm9yUmVzb3VyY2U6QCJsb2NhbGl6ZWRTdHJpbmdzIiBv
ZlR5cGU6QCJqcyJdOwotICAgIGlmIChwYXRoLmxlbmd0aCkKLSAgICAgICAgcmV0dXJuIFtbTlNV
UkwgZmlsZVVSTFdpdGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6Tk9dIGFic29sdXRlU3RyaW5nXTsK
LQotICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxl
IGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl07CisgICAg
aWYgKCFidW5kbGUpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIE5TU3RyaW5nICpw
YXRoID0gW2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJsb2NhbGl6ZWRTdHJpbmdzIiBvZlR5cGU6
QCJqcyJdOworICAgIGlmICghcGF0aCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIAor
ICAgIHJldHVybiBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6Tk9dLmFi
c29sdXRlU3RyaW5nOwogfQogCiBTdHJpbmcgV2ViSW5zcGVjdG9yVUk6OmxvY2FsaXplZFN0cmlu
Z3NVUkwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlv
bnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmln
dXJhdGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnCmluZGV4IGVhMWUxZGRiYzcxNTBmN2M1YWZh
MDU5MzMzYTJiY2U1ZmM4MWI3ZTEuLjVkNGY4NTljMzkxMDI1ZTBiMjY0YmVhYWMyZDA4YTkxMjFl
MWU0MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L1dlYktpdExlZ2FjeS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25m
aWd1cmF0aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKQEAgLTkyLDcgKzkyLDEwIEBAIFdLX01P
QklMRV9HRVNUQUxUX0xERkxBR1NfY29jb2F0b3VjaCA9IC1sTW9iaWxlR2VzdGFsdDsKIFdLX1NF
Q1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTID0gJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFH
U18kKFdLX1BMQVRGT1JNX05BTUUpKTsKIFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTX21h
Y29zeCA9IC1mcmFtZXdvcmsgU2VjdXJpdHlJbnRlcmZhY2U7CiAKLU9USEVSX0xERkxBR1MgPSAt
bG9iamMgLWxzcWxpdGUzIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5k
YXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3
b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9LaXQgJChXS19B
UFBLSVRfTERGTEFHUykgJChXS19DQVJCT05fTERGTEFHUykgJChXS19HUkFQSElDU19TRVJWSUNF
U19MREZMQUdTKSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTU9CSUxF
X0dFU1RBTFRfTERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUyk7CitXS19X
RUJJTlNQRUNUT1JVSV9MREZMQUdTID0gJChXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTXyQoV0tf
UExBVEZPUk1fTkFNRSkpOworV0tfV0VCSU5TUEVDVE9SVUlfTERGTEFHU19tYWNvc3ggPSAtd2Vh
a19mcmFtZXdvcmsgV2ViSW5zcGVjdG9yVUk7CisKK09USEVSX0xERkxBR1MgPSAtbG9iamMgLWxz
cWxpdGUzIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZy
YW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5k
YXRpb24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9LaXQgJChXS19BUFBLSVRfTERG
TEFHUykgJChXS19DQVJCT05fTERGTEFHUykgJChXS19HUkFQSElDU19TRVJWSUNFU19MREZMQUdT
KSAkKFdLX01PQklMRV9DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfTU9CSUxFX0dFU1RBTFRf
TERGTEFHUykgJChXS19TRUNVUklUWV9JTlRFUkZBQ0VfTERGTEFHUykgJChXS19XRUJJTlNQRUNU
T1JVSV9MREZMQUdTKTsKIAogU0VDVE9SREVSX0ZMQUdTID0gJChTRUNUT1JERVJfRkxBR1NfJChD
T05GSUdVUkFUSU9OKSk7CiBTRUNUT1JERVJfRkxBR1NfUHJvZHVjdGlvbltzZGs9aXBob25lb3Mq
XSA9IC1XbCwtb3JkZXJfZmlsZSwkKFNES1JPT1QpL0FwcGxlSW50ZXJuYWwvT3JkZXJGaWxlcy9X
ZWJLaXRMZWdhY3kub3JkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KaW5kZXggMjg5NTFhNDhj
N2RjNDcyMzAxMjEwYWE2NjI1ZTU4ZTE2NDY5N2M1NS4uNjMxNWU2OGI2Mjk2YmM3ZDY0NjhkMGY2
MTk3Y2FhNWQyM2I2ODg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQpAQCAtNTMsMTEgKzUz
LDggQEAKICNpbXBvcnQgPFdlYkNvcmUvU2NyaXB0Q29udHJvbGxlci5oPgogI2ltcG9ydCA8V2Vi
S2l0TGVnYWN5L0RPTUV4dGVuc2lvbnMuaD4KICNpbXBvcnQgPGFsZ29yaXRobT4KLSNpbXBvcnQg
PHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8d3RmL3RleHQvQmFzZTY0Lmg+CiAKLVNPRlRf
TElOS19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQcml2YXRlRnJhbWV3b3Jrcywg
QSkKLQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9y
OwogCkBAIC0yMjQsMTMgKzIyMSwxNSBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50
OjpzdGFydFdpbmRvd0RyYWcoKQogCiBTdHJpbmcgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6
OmxvY2FsaXplZFN0cmluZ3NVUkwoKQogewotICAgIC8vIENhbGwgdGhlIHNvZnQgbGluayBmcmFt
ZXdvcmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRsZSBidW5kbGVXaXRoSWRl
bnRpZmllcjpdIHdpbGwgd29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxpYnJhcnkoKTsKKyAgICBO
U0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFw
cGxlLldlYkluc3BlY3RvclVJIl07CisgICAgaWYgKCFidW5kbGUpCisgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKIAotICAgIE5TU3RyaW5nICpwYXRoID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRl
bnRpZmllcjpAImNvbS5hcHBsZS5XZWJJbnNwZWN0b3JVSSJdIHBhdGhGb3JSZXNvdXJjZTpAImxv
Y2FsaXplZFN0cmluZ3MiIG9mVHlwZTpAImpzIl07Ci0gICAgaWYgKFtwYXRoIGxlbmd0aF0pCi0g
ICAgICAgIHJldHVybiBbW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpwYXRoXSBhYnNvbHV0ZVN0cmlu
Z107Ci0gICAgcmV0dXJuIFN0cmluZygpOworICAgIE5TU3RyaW5nICpwYXRoID0gW2J1bmRsZSBw
YXRoRm9yUmVzb3VyY2U6QCJsb2NhbGl6ZWRTdHJpbmdzIiBvZlR5cGU6QCJqcyJdOworICAgIGlm
ICghcGF0aC5sZW5ndGgpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICAKKyAgICByZXR1
cm4gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0b3J5Ok5PXS5hYnNvbHV0ZVN0
cmluZzsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6YnJpbmdUb0Zyb250
KCkKQEAgLTQ2MywyNiArNDYyLDIxIEBAIC0gKHZvaWQpZGVhbGxvYwogCiAtIChOU1N0cmluZyAq
KWluc3BlY3RvclBhZ2VQYXRoCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29y
ayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlm
aWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgpOworICAgIE5TQnVu
ZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUu
V2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKKyAgICAgICAgcmV0dXJuIG5pbDsK
IAotICAgIE5TU3RyaW5nICpwYXRoID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpA
ImNvbS5hcHBsZS5XZWJJbnNwZWN0b3JVSSJdIHBhdGhGb3JSZXNvdXJjZTpAIk1haW4iIG9mVHlw
ZTpAImh0bWwiXTsKLSAgICBBU1NFUlQoW3BhdGggbGVuZ3RoXSk7Ci0gICAgcmV0dXJuIHBhdGg7
CisgICAgcmV0dXJuIFtidW5kbGUgcGF0aEZvclJlc291cmNlOkAiTWFpbiIgb2ZUeXBlOkAiaHRt
bCJdOwogfQogCiAtIChOU1N0cmluZyAqKWluc3BlY3RvclRlc3RQYWdlUGF0aAogewotICAgIC8v
IENhbGwgdGhlIHNvZnQgbGluayBmcmFtZXdvcmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVu
IFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpdIHdpbGwgd29yay4KLSAgICBXZWJJbnNw
ZWN0b3JVSUxpYnJhcnkoKTsKLQotICAgIE5TU3RyaW5nICpwYXRoID0gW1tOU0J1bmRsZSBidW5k
bGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJJbnNwZWN0b3JVSSJdIHBhdGhGb3JSZXNv
dXJjZTpAIlRlc3QiIG9mVHlwZTpAImh0bWwiXTsKLQotICAgIC8vIFdlIG1pZ2h0IG5vdCBoYXZl
IGEgVGVzdC5odG1sIGluIFByb2R1Y3Rpb24gYnVpbGRzLgotICAgIGlmICghcGF0aCkKKyAgICBO
U0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFw
cGxlLldlYkluc3BlY3RvclVJIl07CisgICAgaWYgKCFidW5kbGUpCiAgICAgICAgIHJldHVybiBu
aWw7CiAKLSAgICByZXR1cm4gcGF0aDsKKyAgICAvLyBXZSBtaWdodCBub3QgaGF2ZSBhIFRlc3Qu
aHRtbCBpbiBQcm9kdWN0aW9uIGJ1aWxkcy4KKyAgICByZXR1cm4gW2J1bmRsZSBwYXRoRm9yUmVz
b3VyY2U6QCJUZXN0IiBvZlR5cGU6QCJodG1sIl07CiB9CiAKIC8vIE1BUks6IC0KZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkOTc1MGVlNDJmMDI4
YmFhODMxMTMxMmY0NWEwMjU5NGY2NDUzMmQyLi5hM2I4OWU0OGZhZDk2ODViYzE5MjZlNTQ1ZmJm
OTlmMGVkOWJkNjM4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMDItMTQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViSW5zcGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMg
bm90IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS80Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmUgdW5uZWNlc3Nhcnkgc29mdCBsaW5raW5nIG1hY3JvIHVzYWdlLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAgICAgIChUZXN0
UnVubmVyOjppbnNwZWN0b3JUZXN0U3R1YlVSTCk6CisgICAgICAgIChTT0ZUX0xJTktfU1RBR0VE
X0ZSQU1FV09SSyk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6
aW5zcGVjdG9yVGVzdFN0dWJVUkwpOgorCiAyMDE5LTAyLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW1BTT05dIEludHJvZHVjZSBhIFdlYkNvbnRlbnQgUHJv
Y2VzcyBjYWNoZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5u
ZXJNYWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQppbmRl
eCBjMTM3OGQ5ZTNjNTdjN2Y3M2UxMjg0ZmI2ODY1MTRkNzQzZGJmZDc2Li43NDI1MTdjZmY3MTA1
MjBiZGFhYTE3YWYyMmVhN2I5OTg0YTlkZTMzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
VGVzdFJ1bm5lck1hYy5tbQpAQCAtNzcsMTAgKzc3LDYgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KICNpbXBvcnQgPHd0Zi9XYWxsVGltZS5oPgogCi0jaWYgIVBMQVRGT1JNKElPU19GQU1J
TFkpCi0jaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KLSNlbmRpZgotCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjaW1wb3J0IDxXZWJLaXQvV2ViQ29y
ZVRocmVhZC5oPgpAQCAtODksNyArODUsNiBAQAogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLVNPRlRfTElOS19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQcml2
YXRlRnJhbWV3b3JrcywgQSkKIAogQGludGVyZmFjZSBDb21tYW5kVmFsaWRhdGlvblRhcmdldCA6
IE5TT2JqZWN0IDxOU1ZhbGlkYXRlZFVzZXJJbnRlcmZhY2VJdGVtPgogewpAQCAtODM0LDkgKzgy
OSw2IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjppbnNwZWN0b3JUZXN0
U3R1YlVSTCgpCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICByZXR1cm4gbnVsbHB0cjsK
ICNlbHNlCi0gICAgLy8gQ2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBk
bG9wZW4gaXQsIHRoZW4gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllciB3aWxsIHdvcmsu
Ci0gICAgV2ViSW5zcGVjdG9yVUlMaWJyYXJ5KCk7Ci0KICAgICBDRkJ1bmRsZVJlZiBpbnNwZWN0
b3JCdW5kbGUgPSBDRkJ1bmRsZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBw
bGUuV2ViSW5zcGVjdG9yVUkiKSk7CiAgICAgaWYgKCFpbnNwZWN0b3JCdW5kbGUpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9tYWMvVGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KaW5kZXggNTQzMzEzMzA3MzlmZWFh
NjQwNTc4YTA0MTM3OGUxZWRlOTM1MzE1MC4uYTNiZTY3OGE1MjBkZjMyYTIyYjU5ZWNiYTcwMjA5
NTU2ZTI1ZDRjMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC0zMCwxMiArMzAsNiBAQAogI2lt
cG9ydCAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0pTU3RyaW5n
UmVmQ0YuaD4KIAotI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQotI2ltcG9ydCA8d3RmL1NvZnRM
aW5raW5nLmg+Ci0KLVNPRlRfTElOS19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3BlY3RvclVJLCBQ
cml2YXRlRnJhbWV3b3JrcywgQSkKLSNlbmRpZgotCiBuYW1lc3BhY2UgV1RSIHsKIAogdm9pZCBU
ZXN0UnVubmVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQpAQCAtNzYsOSArNzAsNiBAQCBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gVGVzdFJ1bm5lcjo6aW5zcGVjdG9yVGVzdFN0dWJVUkwoKQogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgcmV0dXJuIG51bGxwdHI7CiAjZWxzZQotICAgIC8v
IENhbGwgdGhlIHNvZnQgbGluayBmcmFtZXdvcmsgZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVu
IENGQnVuZGxlR2V0QnVuZGxlV2l0aElkZW50aWZpZXIgd2lsbCB3b3JrLgotICAgIFdlYkluc3Bl
Y3RvclVJTGlicmFyeSgpOwotCiAgICAgQ0ZCdW5kbGVSZWYgaW5zcGVjdG9yQnVuZGxlID0gQ0ZC
dW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYkluc3BlY3Rv
clVJIikpOwogICAgIGlmICghaW5zcGVjdG9yQnVuZGxlKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362126</attachid>
            <date>2019-02-15 10:37:26 -0800</date>
            <delta_ts>2019-02-15 11:01:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194411-20190215103725.patch</filename>
            <type>text/plain</type>
            <size>21317</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxNTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUwZDE0YTM0ZmI3ZWFiMThiNjdlNWU3
ODFmOTVmMDhkYTM2NDljYzEuLjZhOTc4NmI5YTYwMWI1ZmFlZWY1MWNiM2QxYjY3OGJlOWFhMmRk
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDItMTUgIEJyaWFuIEJ1cmcgIDxiYnVyZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViSW5zcGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMg
bm90IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS80Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAg
ICAgICAgKiB3dGYvY29jb2EvU29mdExpbmtpbmcuaDoKKyAgICAgICAgUmVtb3ZlIG1hY3JvIHRo
YXQgbm93IGhhcyBubyB1c2VzLgorCiAyMDE5LTAyLTE1ICBUcnVpdHQgU2F2ZWxsICA8dHNhdmVs
bEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0MTU2NC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggOTI4ZjJhMjA3MjJkZDQ2MTAyMDE5ZTFjNTk5MDAzMWZmNGEzMzk0MS4uNGI5
NTc1NGZkYWJkN2U5MWJhOGE0YWY1NDhhYTUwYWNkMTMyNjg1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMiBAQAorMjAxOS0wMi0xNSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbTWFjXSBXZWJJbnNwZWN0b3JVSS5mcmFtZXdvcmsgZG9lcyBub3QgbmVlZCB0byBiZSBz
b2Z0LWxpbmtlZCBhbnltb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTQ0MTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3Nzg3NjE0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAgICAgQ29uZGl0aW9uYWxpemUgd2VhayBsaW5r
aW5nIHRvIFdlYkluc3BlY3RvclVJLmZyYW1ld29yayBmb3IgTWFjIG9ubHkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yUGFnZVVSTCk6CisgICAgICAgIChXZWJLaXQ6
OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JUZXN0UGFnZVVSTCk6CisgICAgICAgIChXZWJL
aXQ6OldlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JCYXNlVVJMKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1dlYkluc3BlY3RvclVJTWFjLm1tOgorICAgICAgICAoV2ViS2l0
Ojp3ZWJJbnNwZWN0b3JVSUxvY2FsaXplZFN0cmluZ3NVUkwpOgorICAgICAgICBSZXdyaXRlIHVz
ZXMgb2YgdGhlIGJ1bmRsZSB0byBleGl0IGVhcmx5IGlmIGJ1bmRsZSBjb3VsZG4ndCBiZSBsb2Fk
ZWQuCisKIDIwMTktMDItMTUgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtXUEVdW0dUS10gRGVmZXIgc2FuZGJveGluZyBBUElzIHRvIDIuMjYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA1M2IxOTdiZWE5OWZmMWQwNGNmNzFiODMw
MDc5MzE4MzFkN2E2ZDQxLi45YjEwZmU5NjYwNzExNmEwYzc4MjExYzFkNzk2NmNkOTYwMDUzN2Qz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDIt
MTUgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgW01hY10gV2ViSW5z
cGVjdG9yVUkuZnJhbWV3b3JrIGRvZXMgbm90IG5lZWQgdG8gYmUgc29mdC1saW5rZWQgYW55bW9y
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NDEx
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80Nzc4NzYxND4KKworICAgICAgICBSZXZpZXdlZCBi
eSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXRMZWdh
Y3kueGNjb25maWc6CisgICAgICAgIENvbmRpdGlvbmFsaXplIHdlYWsgbGlua2luZyB0byBXZWJJ
bnNwZWN0b3JVSS5mcmFtZXdvcmsgZm9yIE1hYyBvbmx5LgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OmxvY2FsaXplZFN0cmluZ3NVUkwpOgorICAgICAgICAoLVtXZWJJbnNwZWN0b3JX
aW5kb3dDb250cm9sbGVyIGluc3BlY3RvclBhZ2VQYXRoXSk6CisgICAgICAgICgtW1dlYkluc3Bl
Y3RvcldpbmRvd0NvbnRyb2xsZXIgaW5zcGVjdG9yVGVzdFBhZ2VQYXRoXSk6CisgICAgICAgIFJl
d3JpdGUgdXNlcyBvZiB0aGUgYnVuZGxlIHRvIGV4aXQgZWFybHkgaWYgYnVuZGxlIGNvdWxkbid0
IGJlIGxvYWRlZC4KKwogMjAxOS0wMi0xNSAgVHJ1aXR0IFNhdmVsbCAgPHRzYXZlbGxAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDE1NjQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oIGIvU291cmNlL1dURi93dGYv
Y29jb2EvU29mdExpbmtpbmcuaAppbmRleCBlMDA4MzIyMzc1YTcyOTMzMjYzYjBiZDRlY2FlNmFi
ZmM3OGRiNTM5Li40N2ZiNzhhZDgyNmVjYzBhZDg0OTc1ZWVlMDM5ODVjMjRmNDAzNGE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Tb2Z0TGlua2luZy5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL2NvY29hL1NvZnRMaW5raW5nLmgKQEAgLTg0LDE5ICs4NCw2IEBACiAgICAgICAgIHJl
dHVybiBmcmFtZXdvcmtMaWJyYXJ5OyBcCiAgICAgfQogCi0jZGVmaW5lIFNPRlRfTElOS19TVEFH
RURfRlJBTUVXT1JLKGZyYW1ld29yaywgdW5zdGFnZWRMb2NhdGlvbiwgdmVyc2lvbikgXAotICAg
IHN0YXRpYyB2b2lkKiBmcmFtZXdvcmsjI0xpYnJhcnkoKSBcCi0gICAgeyBcCi0gICAgICAgIHN0
YXRpYyB2b2lkKiBmcmFtZXdvcmtMaWJyYXJ5ID0gXnsgXAotICAgICAgICAgICAgdm9pZCogcmVz
dWx0ID0gZGxvcGVuKCIvU3lzdGVtL0xpYnJhcnkvIiAjdW5zdGFnZWRMb2NhdGlvbiAiLyIgI2Zy
YW1ld29yayAiLmZyYW1ld29yay9WZXJzaW9ucy8iICN2ZXJzaW9uICIvIiAjZnJhbWV3b3JrLCBS
VExEX0xBWlkpOyBcCi0gICAgICAgICAgICBpZiAoIXJlc3VsdCkgXAotICAgICAgICAgICAgICAg
IHJlc3VsdCA9IGRsb3BlbigiL1N5c3RlbS9MaWJyYXJ5L1N0YWdlZEZyYW1ld29ya3MvU2FmYXJp
LyIgI2ZyYW1ld29yayAiLmZyYW1ld29yay9WZXJzaW9ucy8iICN2ZXJzaW9uICIvIiAjZnJhbWV3
b3JrLCBSVExEX0xBWlkpOyBcCi0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NB
R0UocmVzdWx0LCAiJXMiLCBkbGVycm9yKCkpOyBcCi0gICAgICAgICAgICByZXR1cm4gcmVzdWx0
OyBcCi0gICAgICAgIH0oKTsgXAotICAgICAgICByZXR1cm4gZnJhbWV3b3JrTGlicmFyeTsgXAot
ICAgIH0KLQogI2RlZmluZSBTT0ZUX0xJTktfRlJBTUVXT1JLX0lOX1VNQlJFTExBKHVtYnJlbGxh
LCBmcmFtZXdvcmspIFwKICAgICBzdGF0aWMgdm9pZCogZnJhbWV3b3JrIyNMaWJyYXJ5KCkgXAog
ICAgIHsgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQu
eGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwpp
bmRleCBkOTI5NmEzMGJlODZhM2M4NjkyMzdjZjY1YTg2MjNjOTg2MmE0MTJlLi40NzliZDZkNWI4
OGIyZWFiMWFjNTk4ODZjNjc4ODgzZDg5NzY5ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZp
Z3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwpAQCAtMTI3LDcgKzEyNywxMCBAQCBXS19VSUtJVF9M
REZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFVJS2l0OwogV0tfVVJMX0ZPUk1BVFRJTkdf
TERGTEFHUyA9ICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHU18kKFdLX0hBVkVfVVJMX0ZPUk1B
VFRJTkcpKTsKIFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1NfWUVTID0gLWZyYW1ld29yayBVUkxG
b3JtYXR0aW5nOwogCi1GUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJh
bWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3Vu
ZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1l
d29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFt
ZXdvcmsgV2ViS2l0TGVnYWN5IC1sbmV0d29yayAkKFdLX0FDQ0VTU0lCSUxJVFlfTERGTEFHUykg
JChXS19BUFBLSVRfTERGTEFHUykgJChXS19BU1NFUlRJT05fU0VSVklDRVNfTERGTEFHUykgJChX
S19DQVJCT05fTERGTEFHUykgJChXS19DT1JFX1BERl9MREZMQUdTKSAkKFdLX0NPUkVfUFJFRElD
VElPTl9MREZMQUdTKSAkKFdLX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19ERVZJQ0VfSURF
TlRJVFlfTERGTEFHUykgJChXS19HUkFQSElDU19TRVJWSUNFU19MREZMQUdTKSAkKFdLX0lPU1VS
RkFDRV9MREZMQUdTKSAkKFdLX0xJQlNBTkRCT1hfTERGTEFHUykgJChXS19MSUJXRUJSVENfTERG
TEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX01PQklMRV9HRVNU
QUxUX0xERkxBR1MpICQoV0tfT1BFTkdMX0xERkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1MpICQo
V0tfUFJPWElNSVRZX05FVFdPUktJTkdfTERGTEFHUykgJChXS19TQUZFX0JST1dTSU5HX0xERkxB
R1MpICQoV0tfU0VDVVJJVFlfSU5URVJGQUNFX0xERkxBR1MpICQoV0tfVUlLSVRfTERGTEFHUykg
JChXS19VUkxfRk9STUFUVElOR19MREZMQUdTKTsKK1dLX1dFQklOU1BFQ1RPUlVJX0xERkxBR1Mg
PSAkKFdLX1dFQklOU1BFQ1RPUlVJX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1FKSk7CitXS19X
RUJJTlNQRUNUT1JVSV9MREZMQUdTX21hY29zeCA9IC13ZWFrX2ZyYW1ld29yayBXZWJJbnNwZWN0
b3JVSTsKKworRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAtbG9iamMgLWZyYW1ld29y
ayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBDb3JlRm91bmRhdGlv
biAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsg
Rm91bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3Jr
IFdlYktpdExlZ2FjeSAtbG5ldHdvcmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxBR1MpICQoV0tf
QVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfQ0FS
Qk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05f
TERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfREVWSUNFX0lERU5USVRZ
X0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19JT1NVUkZBQ0Vf
TERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1Mp
ICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9M
REZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1BS
T1hJTUlUWV9ORVRXT1JLSU5HX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTKSAk
KFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxBR1MpICQoV0tf
VVJMX0ZPUk1BVFRJTkdfTERGTEFHUykgJChXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTKTsKIAog
Ly8gUHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBiYXNpY19zdHJpbmdzdHJlYW0sIG9wZXJh
dG9yIG5ldywgZGVsZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBmcm9tIGJl
aW5nIGV4cG9ydGVkIGFzIHdlYWsgc3ltYm9scy4KIFVORVhQT1JURURfU1lNQk9MX0xERkxBR1Mg
PSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0
OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19a
bndtIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRU9TNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFT1M0XyAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3Jl
MTJQb2xpY3lBY3Rpb25FRUVhU0VEbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOS1N0
M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFY2xFUzJfIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGlj
eUFjdGlvbkVFRTRzd2FwRVJTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19f
MThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFUktTNF8gLVdsLC11bmV4
cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5
QWN0aW9uRUVFQzJFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThm
dW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDFFdiAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25F
RUVEMkV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWFTRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWlRWTlN0M19fMTE3YmFkX2Z1bmN0aW9uX2NhbGxFIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRz
SWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUwX05TXzEzYmFzaWNfaXN0cmVhbUljUzJfRUUgLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05T
XzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRTBfTlNfMTRiYXNpY19pb3N0cmVh
bUljUzJfRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVENOU3QzX18xMThiYXNpY19z
dHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRTE2X05T
XzEzYmFzaWNfb3N0cmVhbUljUzJfRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFRO
U3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9j
YXRvckljRUVFRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExNWJhc2lj
X3N0cmluZ2J1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFIC1XbCwt
dW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRWTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNO
U18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUgLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCAtV2wsX19aVENOU3QzX18xMThiYXNpY19zdHJpbmdzdHJlYW1JY05TXzExY2hhcl90cmFp
dHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRThfTlNfMTNiYXNpY19vc3RyZWFtSWNTMl9FRTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5t
bQppbmRleCA1ODBjM2Y1ODIyZTAzYzkyNWFlOTEwZDg5Y2JiNTJkN2IxOWM1MmE0Li4wZDEzNDhh
MTIwZGE3ODZkZDA3NDk3NjFiMGI2OGRkM2Q2YzllMGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQyLDExICs0
Miw4IEBACiAjaW1wb3J0IDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xv
Y2FsaXplZFN0cmluZ3MuaD4KLSNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8
d3RmL3RleHQvQmFzZTY0Lmg+CiAKLVNPRlRfTElOS19TVEFHRURfRlJBTUVXT1JLKFdlYkluc3Bl
Y3RvclVJLCBQcml2YXRlRnJhbWV3b3JrcywgQSkKLQogc3RhdGljIGNvbnN0IE5TVUludGVnZXIg
d2luZG93U3R5bGVNYXNrID0gTlNXaW5kb3dTdHlsZU1hc2tUaXRsZWQgfCBOU1dpbmRvd1N0eWxl
TWFza0Nsb3NhYmxlIHwgTlNXaW5kb3dTdHlsZU1hc2tNaW5pYXR1cml6YWJsZSB8IE5TV2luZG93
U3R5bGVNYXNrUmVzaXphYmxlIHwgTlNXaW5kb3dTdHlsZU1hc2tGdWxsU2l6ZUNvbnRlbnRWaWV3
OwogCiAvLyBUaGUgdGltZSB3ZSBrZWVwIG91ciBXZWJWaWV3IGFsaXZlIGJlZm9yZSBjbG9zaW5n
IGl0IGFuZCBpdHMgcHJvY2Vzcy4KQEAgLTcyNCwzOCArNzIxLDQyIEBAIHZvaWQgV2ViSW5zcGVj
dG9yUHJveHk6OnBsYXRmb3JtU3RhcnRXaW5kb3dEcmFnKCkKIAogU3RyaW5nIFdlYkluc3BlY3Rv
clByb3h5OjppbnNwZWN0b3JQYWdlVVJMKCkKIHsKLSAgICAvLyBDYWxsIHRoZSBzb2Z0IGxpbmsg
ZnJhbWV3b3JrIGZ1bmN0aW9uIHRvIGRsb3BlbiBpdCwgdGhlbiBbTlNCdW5kbGUgYnVuZGxlV2l0
aElkZW50aWZpZXI6XSB3aWxsIHdvcmsuCi0gICAgV2ViSW5zcGVjdG9yVUlMaWJyYXJ5KCk7Cisg
ICAgTlNCdW5kbGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNv
bS5hcHBsZS5XZWJJbnNwZWN0b3JVSSJdOworICAgIGlmICghYnVuZGxlKQorICAgICAgICByZXR1
cm4gU3RyaW5nKCk7CiAKLSAgICBOU1N0cmluZyAqcGF0aCA9IFtbTlNCdW5kbGUgYnVuZGxlV2l0
aElkZW50aWZpZXI6QCJjb20uYXBwbGUuV2ViSW5zcGVjdG9yVUkiXSBwYXRoRm9yUmVzb3VyY2U6
QCJNYWluIiBvZlR5cGU6QCJodG1sIl07Ci0gICAgQVNTRVJUKFtwYXRoIGxlbmd0aF0pOworICAg
IE5TU3RyaW5nICpwYXRoID0gW2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJNYWluIiBvZlR5cGU6
QCJodG1sIl07CisgICAgQVNTRVJUKHBhdGggJiYgcGF0aC5sZW5ndGgpOworICAgIGlmICghcGF0
aCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCi0gICAgcmV0dXJuIFtbTlNVUkwgZmlsZVVS
TFdpdGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6Tk9dIGFic29sdXRlU3RyaW5nXTsKKyAgICByZXR1
cm4gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0b3J5Ok5PXS5hYnNvbHV0ZVN0
cmluZzsKIH0KIAogU3RyaW5nIFdlYkluc3BlY3RvclByb3h5OjppbnNwZWN0b3JUZXN0UGFnZVVS
TCgpCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBk
bG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOl0gd2lsbCB3b3Jr
LgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgpOwotCi0gICAgTlNTdHJpbmcgKnBhdGggPSBb
W05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJ
Il0gcGF0aEZvclJlc291cmNlOkAiVGVzdCIgb2ZUeXBlOkAiaHRtbCJdOworICAgIE5TQnVuZGxl
ICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUuV2Vi
SW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygp
OwogCiAgICAgLy8gV2UgbWlnaHQgbm90IGhhdmUgYSBUZXN0Lmh0bWwgaW4gUHJvZHVjdGlvbiBi
dWlsZHMuCisgICAgTlNTdHJpbmcgKnBhdGggPSBbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIlRl
c3QiIG9mVHlwZTpAImh0bWwiXTsKICAgICBpZiAoIXBhdGgpCiAgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKIAotICAgIHJldHVybiBbW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0
b3J5Ok5PXSBhYnNvbHV0ZVN0cmluZ107CisgICAgcmV0dXJuIFtOU1VSTCBmaWxlVVJMV2l0aFBh
dGg6cGF0aCBpc0RpcmVjdG9yeTpOT10uYWJzb2x1dGVTdHJpbmc7CiB9CiAKIFN0cmluZyBXZWJJ
bnNwZWN0b3JQcm94eTo6aW5zcGVjdG9yQmFzZVVSTCgpCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29m
dCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1
bmRsZVdpdGhJZGVudGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFy
eSgpOworICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZp
ZXI6QCJjb20uYXBwbGUuV2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKKyAgICAg
ICAgcmV0dXJuIFN0cmluZygpOwogCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1
bmRsZVdpdGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcmVzb3VyY2VQ
YXRoXTsKLSAgICBBU1NFUlQoW3BhdGggbGVuZ3RoXSk7CisgICAgTlNTdHJpbmcgKnBhdGggPSBi
dW5kbGUucmVzb3VyY2VQYXRoOworICAgIEFTU0VSVChwYXRoICYmIHBhdGgubGVuZ3RoKTsKIAot
ICAgIHJldHVybiBbW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpwYXRoIGlzRGlyZWN0b3J5OllFU10g
YWJzb2x1dGVTdHJpbmddOworICAgIHJldHVybiBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGgg
aXNEaXJlY3Rvcnk6WUVTXS5hYnNvbHV0ZVN0cmluZzsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2Vi
SW5zcGVjdG9yVUlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
V2ViSW5zcGVjdG9yVUlNYWMubW0KaW5kZXggOWFiNGI0MGQwOTU2NmJhMWUxM2JjNWQ0ZWFhMTY0
MzQxNzljODkzNy4uOGU0MWIwZDE1NTM3Yzg3MDgwZTU0ZGM4NTExMzI4YmYzNDcxYjdmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYkluc3BlY3Rv
clVJTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJJ
bnNwZWN0b3JVSU1hYy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yNywxMCArMjcsNiBAQAogI2ltcG9ydCAiV2ViSW5zcGVj
dG9yVUkuaCIKICNpbXBvcnQgIlJlbW90ZVdlYkluc3BlY3RvclVJLmgiCiAKLSNpbXBvcnQgPHd0
Zi9Tb2Z0TGlua2luZy5oPgotCi1TT0ZUX0xJTktfU1RBR0VEX0ZSQU1FV09SSyhXZWJJbnNwZWN0
b3JVSSwgUHJpdmF0ZUZyYW1ld29ya3MsIEEpCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBib29s
IFdlYkluc3BlY3RvclVJOjpjYW5TYXZlKCkKQEAgLTQwLDE0ICszNiwxNSBAQCBib29sIFdlYklu
c3BlY3RvclVJOjpjYW5TYXZlKCkKIAogc3RhdGljIFN0cmluZyB3ZWJJbnNwZWN0b3JVSUxvY2Fs
aXplZFN0cmluZ3NVUkwoKQogewotICAgIC8vIENhbGwgdGhlIHNvZnQgbGluayBmcmFtZXdvcmsg
ZnVuY3Rpb24gdG8gZGxvcGVuIGl0LCB0aGVuIFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmll
cjpdIHdpbGwgd29yay4KLSAgICBXZWJJbnNwZWN0b3JVSUxpYnJhcnkoKTsKLQotICAgIE5TU3Ry
aW5nICpwYXRoID0gW1tOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5X
ZWJJbnNwZWN0b3JVSSJdIHBhdGhGb3JSZXNvdXJjZTpAImxvY2FsaXplZFN0cmluZ3MiIG9mVHlw
ZTpAImpzIl07Ci0gICAgaWYgKHBhdGgubGVuZ3RoKQotICAgICAgICByZXR1cm4gW1tOU1VSTCBm
aWxlVVJMV2l0aFBhdGg6cGF0aCBpc0RpcmVjdG9yeTpOT10gYWJzb2x1dGVTdHJpbmddOwotCi0g
ICAgcmV0dXJuIFN0cmluZygpOworICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVu
ZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUuV2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAo
IWJ1bmRsZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgTlNTdHJpbmcgKnBhdGgg
PSBbYnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAImxvY2FsaXplZFN0cmluZ3MiIG9mVHlwZTpAImpz
Il07CisgICAgaWYgKCFwYXRoKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgCisgICAg
cmV0dXJuIFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6cGF0aCBpc0RpcmVjdG9yeTpOT10uYWJzb2x1
dGVTdHJpbmc7CiB9CiAKIFN0cmluZyBXZWJJbnNwZWN0b3JVSTo6bG9jYWxpemVkU3RyaW5nc1VS
TCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9X
ZWJLaXRMZWdhY3kueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0
aW9ucy9XZWJLaXRMZWdhY3kueGNjb25maWcKaW5kZXggZWExZTFkZGJjNzE1MGY3YzVhZmEwNTkz
MzNhMmJjZTVmYzgxYjdlMS4uNWQ0Zjg1OWMzOTEwMjVlMGIyNjRiZWFhYzJkMDhhOTEyMWUxZTQx
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2Vi
S2l0TGVnYWN5LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3Vy
YXRpb25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZwpAQCAtOTIsNyArOTIsMTAgQEAgV0tfTU9CSUxF
X0dFU1RBTFRfTERGTEFHU19jb2NvYXRvdWNoID0gLWxNb2JpbGVHZXN0YWx0OwogV0tfU0VDVVJJ
VFlfSU5URVJGQUNFX0xERkxBR1MgPSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTXyQo
V0tfUExBVEZPUk1fTkFNRSkpOwogV0tfU0VDVVJJVFlfSU5URVJGQUNFX0xERkxBR1NfbWFjb3N4
ID0gLWZyYW1ld29yayBTZWN1cml0eUludGVyZmFjZTsKIAotT1RIRVJfTERGTEFHUyA9IC1sb2Jq
YyAtbHNxbGl0ZTMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlv
biAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsg
Rm91bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAkKFdLX0FQUEtJ
VF9MREZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xE
RkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VT
VEFMVF9MREZMQUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKTsKK1dLX1dFQklO
U1BFQ1RPUlVJX0xERkxBR1MgPSAkKFdLX1dFQklOU1BFQ1RPUlVJX0xERkxBR1NfJChXS19QTEFU
Rk9STV9OQU1FKSk7CitXS19XRUJJTlNQRUNUT1JVSV9MREZMQUdTX21hY29zeCA9IC13ZWFrX2Zy
YW1ld29yayBXZWJJbnNwZWN0b3JVSTsKKworT1RIRVJfTERGTEFHUyA9IC1sb2JqYyAtbHNxbGl0
ZTMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3
b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlv
biAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAkKFdLX0FQUEtJVF9MREZMQUdT
KSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQo
V0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9MREZM
QUdTKSAkKFdLX1NFQ1VSSVRZX0lOVEVSRkFDRV9MREZMQUdTKSAkKFdLX1dFQklOU1BFQ1RPUlVJ
X0xERkxBR1MpOwogCiBTRUNUT1JERVJfRkxBR1MgPSAkKFNFQ1RPUkRFUl9GTEFHU18kKENPTkZJ
R1VSQVRJT04pKTsKIFNFQ1RPUkRFUl9GTEFHU19Qcm9kdWN0aW9uW3Nkaz1pcGhvbmVvcypdID0g
LVdsLC1vcmRlcl9maWxlLCQoU0RLUk9PVCkvQXBwbGVJbnRlcm5hbC9PcmRlckZpbGVzL1dlYktp
dExlZ2FjeS5vcmRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQppbmRleCAyODk1MWE0OGM3ZGM0
NzIzMDEyMTBhYTY2MjVlNThlMTY0Njk3YzU1Li42MzE1ZTY4YjYyOTZiYzdkNjQ2OGQwZjYxOTdj
YWE1ZDIzYjY4ODU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBAIC01MywxMSArNTMsOCBA
QAogI2ltcG9ydCA8V2ViQ29yZS9TY3JpcHRDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJLaXRM
ZWdhY3kvRE9NRXh0ZW5zaW9ucy5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgotI2ltcG9ydCA8d3Rm
L1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9CYXNlNjQuaD4KIAotU09GVF9MSU5L
X1NUQUdFRF9GUkFNRVdPUksoV2ViSW5zcGVjdG9yVUksIFByaXZhdGVGcmFtZXdvcmtzLCBBKQot
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAK
QEAgLTIyNCwxMyArMjIxLDE1IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnN0
YXJ0V2luZG93RHJhZygpCiAKIFN0cmluZyBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6bG9j
YWxpemVkU3RyaW5nc1VSTCgpCiB7Ci0gICAgLy8gQ2FsbCB0aGUgc29mdCBsaW5rIGZyYW1ld29y
ayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlm
aWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3RvclVJTGlicmFyeSgpOworICAgIE5TQnVu
ZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUu
V2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOwogCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlm
aWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291cmNlOkAibG9jYWxp
emVkU3RyaW5ncyIgb2ZUeXBlOkAianMiXTsKLSAgICBpZiAoW3BhdGggbGVuZ3RoXSkKLSAgICAg
ICAgcmV0dXJuIFtbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGhdIGFic29sdXRlU3RyaW5nXTsK
LSAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgTlNTdHJpbmcgKnBhdGggPSBbYnVuZGxlIHBhdGhG
b3JSZXNvdXJjZTpAImxvY2FsaXplZFN0cmluZ3MiIG9mVHlwZTpAImpzIl07CisgICAgaWYgKCFw
YXRoLmxlbmd0aCkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIAorICAgIHJldHVybiBb
TlNVUkwgZmlsZVVSTFdpdGhQYXRoOnBhdGggaXNEaXJlY3Rvcnk6Tk9dLmFic29sdXRlU3RyaW5n
OwogfQogCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpicmluZ1RvRnJvbnQoKQpA
QCAtNDYzLDI2ICs0NjIsMjEgQEAgLSAodm9pZClkZWFsbG9jCiAKIC0gKE5TU3RyaW5nICopaW5z
cGVjdG9yUGFnZVBhdGgKIHsKLSAgICAvLyBDYWxsIHRoZSBzb2Z0IGxpbmsgZnJhbWV3b3JrIGZ1
bmN0aW9uIHRvIGRsb3BlbiBpdCwgdGhlbiBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6
XSB3aWxsIHdvcmsuCi0gICAgV2ViSW5zcGVjdG9yVUlMaWJyYXJ5KCk7CisgICAgTlNCdW5kbGUg
KmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVXaXRoSWRlbnRpZmllcjpAImNvbS5hcHBsZS5XZWJJ
bnNwZWN0b3JVSSJdOworICAgIGlmICghYnVuZGxlKQorICAgICAgICByZXR1cm4gbmlsOwogCi0g
ICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOkAiY29t
LmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291cmNlOkAiTWFpbiIgb2ZUeXBlOkAi
aHRtbCJdOwotICAgIEFTU0VSVChbcGF0aCBsZW5ndGhdKTsKLSAgICByZXR1cm4gcGF0aDsKKyAg
ICByZXR1cm4gW2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJNYWluIiBvZlR5cGU6QCJodG1sIl07
CiB9CiAKIC0gKE5TU3RyaW5nICopaW5zcGVjdG9yVGVzdFBhZ2VQYXRoCiB7Ci0gICAgLy8gQ2Fs
bCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gW05T
QnVuZGxlIGJ1bmRsZVdpdGhJZGVudGlmaWVyOl0gd2lsbCB3b3JrLgotICAgIFdlYkluc3BlY3Rv
clVJTGlicmFyeSgpOwotCi0gICAgTlNTdHJpbmcgKnBhdGggPSBbW05TQnVuZGxlIGJ1bmRsZVdp
dGhJZGVudGlmaWVyOkAiY29tLmFwcGxlLldlYkluc3BlY3RvclVJIl0gcGF0aEZvclJlc291cmNl
OkAiVGVzdCIgb2ZUeXBlOkAiaHRtbCJdOwotCi0gICAgLy8gV2UgbWlnaHQgbm90IGhhdmUgYSBU
ZXN0Lmh0bWwgaW4gUHJvZHVjdGlvbiBidWlsZHMuCi0gICAgaWYgKCFwYXRoKQorICAgIE5TQnVu
ZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlV2l0aElkZW50aWZpZXI6QCJjb20uYXBwbGUu
V2ViSW5zcGVjdG9yVUkiXTsKKyAgICBpZiAoIWJ1bmRsZSkKICAgICAgICAgcmV0dXJuIG5pbDsK
IAotICAgIHJldHVybiBwYXRoOworICAgIC8vIFdlIG1pZ2h0IG5vdCBoYXZlIGEgVGVzdC5odG1s
IGluIFByb2R1Y3Rpb24gYnVpbGRzLgorICAgIHJldHVybiBbYnVuZGxlIHBhdGhGb3JSZXNvdXJj
ZTpAIlRlc3QiIG9mVHlwZTpAImh0bWwiXTsKIH0KIAogLy8gTUFSSzogLQpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGZmZTA1ZmZiMmI3ZTIwNmYz
NTFkZjI4YmZlZTFkZDhmZWNjMDgwMWEuLmQzOGVjODE1Y2EwOTAxM2E0MmY0MWU3MWJmNzI3YThi
YmRhN2ZlZjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMi0xNSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxl
LmNvbT4KKworICAgICAgICBbTWFjXSBXZWJJbnNwZWN0b3JVSS5mcmFtZXdvcmsgZG9lcyBub3Qg
bmVlZCB0byBiZSBzb2Z0LWxpbmtlZCBhbnltb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ0MTEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3
Nzg3NjE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAg
ICBSZW1vdmUgdW5uZWNlc3Nhcnkgc29mdCBsaW5raW5nIG1hY3JvIHVzYWdlLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAgICAgIChUZXN0UnVu
bmVyOjppbnNwZWN0b3JUZXN0U3R1YlVSTCk6CisgICAgICAgIChTT0ZUX0xJTktfU1RBR0VEX0ZS
QU1FV09SSyk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6aW5z
cGVjdG9yVGVzdFN0dWJVUkwpOgorCiAyMDE5LTAyLTE1ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBh
cHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gT3V0LW9mLWZsb3cgYm94IGlzIG5ldmVyIGEgZmxv
YXQgYm94CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1h
Yy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCmluZGV4IGMx
Mzc4ZDllM2M1N2M3ZjczZTEyODRmYjY4NjUxNGQ3NDNkYmZkNzYuLjc0MjUxN2NmZjcxMDUyMGJk
YWFhMTdhZjIyZWE3Yjk5ODRhOWRlMzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0
UnVubmVyTWFjLm1tCkBAIC03NywxMCArNzcsNiBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgogI2ltcG9ydCA8d3RmL1dhbGxUaW1lLmg+CiAKLSNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
LSNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgPFdlYktpdC9XZWJDb3JlVGhy
ZWFkLmg+CkBAIC04OSw3ICs4NSw2IEBACiAjZW5kaWYKIAogI2lmICFQTEFURk9STShJT1NfRkFN
SUxZKQotU09GVF9MSU5LX1NUQUdFRF9GUkFNRVdPUksoV2ViSW5zcGVjdG9yVUksIFByaXZhdGVG
cmFtZXdvcmtzLCBBKQogCiBAaW50ZXJmYWNlIENvbW1hbmRWYWxpZGF0aW9uVGFyZ2V0IDogTlNP
YmplY3QgPE5TVmFsaWRhdGVkVXNlckludGVyZmFjZUl0ZW0+CiB7CkBAIC04MzQsOSArODI5LDYg
QEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IFRlc3RSdW5uZXI6Omluc3BlY3RvclRlc3RTdHVi
VVJMKCkKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHJldHVybiBudWxscHRyOwogI2Vs
c2UKLSAgICAvLyBDYWxsIHRoZSBzb2Z0IGxpbmsgZnJhbWV3b3JrIGZ1bmN0aW9uIHRvIGRsb3Bl
biBpdCwgdGhlbiBDRkJ1bmRsZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyIHdpbGwgd29yay4KLSAg
ICBXZWJJbnNwZWN0b3JVSUxpYnJhcnkoKTsKLQogICAgIENGQnVuZGxlUmVmIGluc3BlY3RvckJ1
bmRsZSA9IENGQnVuZGxlR2V0QnVuZGxlV2l0aElkZW50aWZpZXIoQ0ZTVFIoImNvbS5hcHBsZS5X
ZWJJbnNwZWN0b3JVSSIpKTsKICAgICBpZiAoIWluc3BlY3RvckJ1bmRsZSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9UZXN0UnVubmVyTWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQppbmRleCA1NDMzMTMzMDczOWZlYWE2NDA1
NzhhMDQxMzc4ZTFlZGU5MzUzMTUwLi5hM2JlNjc4YTUyMGRmMzJhMjJiNTllY2JhNzAyMDk1NTZl
MjVkNGMyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KQEAgLTMwLDEyICszMCw2IEBACiAjaW1wb3J0
ICJJbmplY3RlZEJ1bmRsZS5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSlNTdHJpbmdSZWZD
Ri5oPgogCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi0jaW1wb3J0IDx3dGYvU29mdExpbmtp
bmcuaD4KLQotU09GVF9MSU5LX1NUQUdFRF9GUkFNRVdPUksoV2ViSW5zcGVjdG9yVUksIFByaXZh
dGVGcmFtZXdvcmtzLCBBKQotI2VuZGlmCi0KIG5hbWVzcGFjZSBXVFIgewogCiB2b2lkIFRlc3RS
dW5uZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCkBAIC03Niw5ICs3MCw2IEBAIEpTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBUZXN0UnVubmVyOjppbnNwZWN0b3JUZXN0U3R1YlVSTCgpCiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICByZXR1cm4gbnVsbHB0cjsKICNlbHNlCi0gICAgLy8gQ2Fs
bCB0aGUgc29mdCBsaW5rIGZyYW1ld29yayBmdW5jdGlvbiB0byBkbG9wZW4gaXQsIHRoZW4gQ0ZC
dW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllciB3aWxsIHdvcmsuCi0gICAgV2ViSW5zcGVjdG9y
VUlMaWJyYXJ5KCk7Ci0KICAgICBDRkJ1bmRsZVJlZiBpbnNwZWN0b3JCdW5kbGUgPSBDRkJ1bmRs
ZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2ViSW5zcGVjdG9yVUki
KSk7CiAgICAgaWYgKCFpbnNwZWN0b3JCdW5kbGUpCiAgICAgICAgIHJldHVybiBudWxscHRyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>