<?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>224847</bug_id>
          
          <creation_ts>2021-04-20 18:36:09 -0700</creation_ts>
          <short_desc>Long-pressing a data detectors link causes the link to be followed</short_desc>
          <delta_ts>2021-04-21 00:38:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1752570</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-20 18:36:09 -0700</bug_when>
    <thetext>Long-pressing a data detectors link causes the link to be followed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752573</commentid>
    <comment_count>1</comment_count>
      <attachid>426628</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-20 18:39:37 -0700</bug_when>
    <thetext>Created attachment 426628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752575</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-20 18:40:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/72889738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752588</commentid>
    <comment_count>3</comment_count>
      <attachid>426633</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-20 19:26:43 -0700</bug_when>
    <thetext>Created attachment 426633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752594</commentid>
    <comment_count>4</comment_count>
      <attachid>426633</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-20 19:32:58 -0700</bug_when>
    <thetext>Comment on attachment 426633
Patch

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

r=mews

&gt; Source/WebKit/Shared/NativeWebMouseEvent.h:73
&gt; +    NativeWebMouseEvent(Type, Button, unsigned short buttons, const WebCore::IntPoint&amp; position, const WebCore::IntPoint&amp; globalPosition, float deltaX, float deltaY, float deltaZ, int clickCount, OptionSet&lt;Modifier&gt;, WallTime timestamp, double force, bool gestureCancelled);

Should `gestureCancelled` be an enum class type instead of a bool?

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:251
&gt; +    RetainPtr&lt;WKTestingTouch&gt; touch = adoptNS([[WKTestingTouch alloc] init]);

Nit - auto?

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:255
&gt; +    RetainPtr&lt;WKTestingEvent&gt; event = adoptNS([[WKTestingEvent alloc] init]);

(Ditto)

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:268
&gt; +    [webView _doAfterProcessingAllPendingMouseEvents:^{

Nit - this could be made slightly cleaner by using `[webView waitForPendingMouseEvents];`

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:291
&gt; +    RetainPtr&lt;WKTestingTouch&gt; touch = adoptNS([[WKTestingTouch alloc] init]);

(Ditto)

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:295
&gt; +    RetainPtr&lt;WKTestingEvent&gt; event = adoptNS([[WKTestingEvent alloc] init]);

(Ditto)

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm:308
&gt; +    [webView _doAfterProcessingAllPendingMouseEvents:^{

(Ditto)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752649</commentid>
    <comment_count>5</comment_count>
      <attachid>426652</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-20 23:50:01 -0700</bug_when>
    <thetext>Created attachment 426652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752658</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-21 00:38:29 -0700</bug_when>
    <thetext>Committed r276351 (236829@main): &lt;https://commits.webkit.org/236829@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426652.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426628</attachid>
            <date>2021-04-20 18:39:37 -0700</date>
            <delta_ts>2021-04-20 19:49:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224847-20210420183936.patch</filename>
            <type>text/plain</type>
            <size>21839</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmY5NmU5MjU5N2I5OGQz
NDQ1ZDk0OGNmMjBiNDM3ZTJjMmQzYjI3My4uNzgyNDQzYTA5ZmE1YjBhMWRkOTlkZGM3Nzc1MDli
NTYwNDM2MTRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTIwICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExvbmctcHJlc3Np
bmcgYSBkYXRhIGRldGVjdG9ycyBsaW5rIGNhdXNlcyB0aGUgbGluayB0byBiZSBmb2xsb3dlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0ODQ3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83Mjg4OTczOD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgQVBJIHRlc3RzOiBpT1NNb3VzZVN1cHBvcnQu
e0VuZGVkVG91Y2hlc1RyaWdnZXJDbGljayxDYW5jZWxsZWRUb3VjaGVzRG9Ob3RUcmlnZ2VyQ2xp
Y2t9CisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorCiAyMDIxLTA0LTIwICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gUHJldmVu
dCBHUFUgYW5kIFdlYkNvbnRlbnQgcHJvY2Vzc2VzIGZyb20gYXR0ZW1wdGluZyB0byBjb25uZWN0
IHRvIHRoZSBBcHBTU08gc2VydmljZSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOWQ5NzczY2E5ZmRmOWU2ZDRjNjU5
MjE1YWIzZjg2YTFlMDg0ZGIxMS4uYjBkNDgyNGExYjk5OTI5NGQwZDQxNzRiOTUxYWY3MjA3YTll
ZDAyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAyMS0wNC0yMCAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBMb25nLXByZXNzaW5nIGEgZGF0
YSBkZXRlY3RvcnMgbGluayBjYXVzZXMgdGhlIGxpbmsgdG8gYmUgZm9sbG93ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDg0NworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzI4ODk3Mzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oOgorICAgICAg
ICAqIFNoYXJlZC9XZWJNb3VzZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTW91c2VF
dmVudDo6V2ViTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1vdXNlRXZlbnQ6OmVu
Y29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1vdXNlRXZlbnQ6OmRlY29kZSk6Cisg
ICAgICAgICogU2hhcmVkL1dlYk1vdXNlRXZlbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViTW91
c2VFdmVudDo6Z2VzdHVyZUNhbmNlbGxlZCBjb25zdCk6CisgICAgICAgICogU2hhcmVkL2lvcy9O
YXRpdmVXZWJNb3VzZUV2ZW50SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3Vz
ZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
TW91c2VHZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAgICAgKC1bV0tNb3VzZUdlc3R1cmVSZWNv
Z25pemVyIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTp3YXNDYW5jZWxsZWQ6XSk6CisgICAgICAg
ICgtW1dLTW91c2VHZXN0dXJlUmVjb2duaXplciB0b3VjaGVzQmVnYW46d2l0aEV2ZW50Ol0pOgor
ICAgICAgICAoLVtXS01vdXNlR2VzdHVyZVJlY29nbml6ZXIgdG91Y2hlc01vdmVkOndpdGhFdmVu
dDpdKToKKyAgICAgICAgKC1bV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNFbmRlZDp3
aXRoRXZlbnQ6XSk6CisgICAgICAgICgtW1dLTW91c2VHZXN0dXJlUmVjb2duaXplciB0b3VjaGVz
Q2FuY2VsbGVkOndpdGhFdmVudDpdKToKKyAgICAgICAgKC1bV0tNb3VzZUdlc3R1cmVSZWNvZ25p
emVyIF9ob3ZlckVudGVyZWQ6d2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS01vdXNlR2VzdHVy
ZVJlY29nbml6ZXIgX2hvdmVyTW92ZWQ6d2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS01vdXNl
R2VzdHVyZVJlY29nbml6ZXIgX2hvdmVyRXhpdGVkOndpdGhFdmVudDpdKToKKyAgICAgICAgKC1b
V0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpdKTogRGVs
ZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OmhhbmRsZU1vdXNlRXZlbnQpOgorICAgICAgICBBZGQgYSBiaXQgdG8gV2ViS2l0
OjpXZWJNb3VzZUV2ZW50IGluZGljYXRpbmcgdGhhdCB0aGUgZ2VzdHVyZSBpdCBpcyBhIHBhcnQg
b2YKKyAgICAgICAgd2FzIGNhbmNlbGxlZC4gVGhpcyB3aWxsIG9ubHkgYmUgc2V0IG9uIHRoZSBt
b3VzZSByZWxlYXNlIGV2ZW50IGRpc3BhdGNoZWQgZnJvbQorICAgICAgICB0b3VjaGVzQ2FuY2Vs
bGVkIGZyb20gV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyLCBhbmQgd2lsbCBjYXVzZSBXZWJDb3Jl
IHRvCisgICAgICAgIGF2b2lkIGRpc3BhdGNoaW5nIHRoZSBjbGljayBldmVudCwgYXMgeW91IHdv
dWxkIG9uIG1hY09TIGlmIHlvdSBlLmcuCisgICAgICAgIG1vdmVkIHRoZSBtb3VzZSB0b28gZmFy
IGZyb20gaXRzIG9yaWdpbiBkdXJpbmcgdGhlIHByZXNzLgorCisgICAgICAgIFBsdW1iIHRoZSBi
aXQgYWxsIHRoZSB3YXkgZnJvbSBXS01vdXNlR2VzdHVyZVJlY29nbml6ZXIsIHRocm91Z2ggdGhl
CisgICAgICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQgY29uc3RydWN0b3IsIHRvIFdlYk1vdXNlRXZl
bnQsIGFuZCB0aGVuIGNoZWNrIGl0CisgICAgICAgIGFuZCBjYWxsIGludmFsaWRhdGVDbGljaygp
IGltbWVkaWF0ZWx5IGJlZm9yZSBoYW5kaW5nIFdlYkNvcmUgdGhlCisgICAgICAgIG1vdXNlIHJl
bGVhc2UgZXZlbnQsIHRvIGF2b2lkIHRoZSBjbGljayBldmVudC4KKwogMjAyMS0wNC0yMCAgSWFu
IEdpbGJlcnQgIDxpYW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBkdWUgdG8gVmVjdG9y
QnVmZmVyIHByZS1hbGxvY2F0aW9uIGZhaWx1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
CmluZGV4IDVkMDQyMDM4YmYzNGJmODlmZmUzZGI5OTQ3NjM3Mzc4ODk0NTI4NzkuLjIxZTYzYTMw
ZWMxMWNkNzM5ZGE0ZDVhODliOWI1NDhhZWZhOTU3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuaApAQCAtMzE2LDggKzMxNiw2IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgc3RhdGljIFdlYkV2ZW50ICpjdXJyZW50RXZlbnQoKTsKLQotICAgIHZvaWQg
aW52YWxpZGF0ZUNsaWNrKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCkBA
IC0zNTMsNiArMzUxLDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAg
RWxlbWVudCogZHJhZ2dpbmdFbGVtZW50KCkgY29uc3Q7CiAjZW5kaWYKKworICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgaW52YWxpZGF0ZUNsaWNrKCk7CisKIHByaXZhdGU6CiAjaWYgRU5BQkxFKERS
QUdfU1VQUE9SVCkKICAgICBzdGF0aWMgRHJhZ1N0YXRlJiBkcmFnU3RhdGUoKTsKQEAgLTQwOSwx
MCArNDEwLDYgQEAgcHJpdmF0ZToKICAgICBib29sIGRpc3BhdGNoU3ludGhldGljVG91Y2hFdmVu
dElmRW5hYmxlZChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKICNlbmRpZgogCi0jaWYgIVBM
QVRGT1JNKElPU19GQU1JTFkpCi0gICAgdm9pZCBpbnZhbGlkYXRlQ2xpY2soKTsKLSNlbmRpZgot
CiAgICAgTm9kZSogbm9kZVVuZGVyTW91c2UoKSBjb25zdDsKICAgICAKICAgICBlbnVtIGNsYXNz
IEZpcmVNb3VzZU92ZXJPdXQgeyBObywgWWVzIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRp
dmVXZWJNb3VzZUV2ZW50LmgKaW5kZXggYjgzOGZjYTk3MDJjMTQzMjYwMjE3NmJiMTNlZjA1MmRi
MjI0ZTgyZS4uYTBkOTk3YWNkZTEyOWY2ZjhjNzYxMjNlMDgyZjIzZTJhNDkyZjExNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaApAQCAtNzAsNyArNzAsNyBA
QCBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmF0aXZlV2ViTW91c2VFdmVudChjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYpOwogI2VsaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBOYXRpdmVXZWJN
b3VzZUV2ZW50KDo6V2ViRXZlbnQgKik7Ci0gICAgTmF0aXZlV2ViTW91c2VFdmVudChUeXBlLCBC
dXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBw
b3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBk
ZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9u
U2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UpOworICAgIE5h
dGl2ZVdlYk1vdXNlRXZlbnQoVHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBnbG9iYWxQb3NpdGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRh
WiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFt
cCwgZG91YmxlIGZvcmNlLCBib29sIGdlc3R1cmVDYW5jZWxsZWQpOwogI2VsaWYgVVNFKExJQldQ
RSkKICAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KHN0cnVjdCB3cGVfaW5wdXRfcG9pbnRlcl9ldmVu
dCosIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKTsKICNlbGlmIFBMQVRGT1JNKFdJTikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5jcHAKaW5kZXggNDFiMjQzNTk3ODM4MjBlMzllZDI0
MmNlOWEyYTRiZTRhNjlkNDU3ZS4uNTg3NDZhNDc0NTJhNmJmMjVjNDdkZjZhNGZhYjc5MjAyNTAw
OGMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5jcHAKQEAgLTM2LDcgKzM2
LDcgQEAgV2ViTW91c2VFdmVudDo6V2ViTW91c2VFdmVudCgpID0gZGVmYXVsdDsKICNpZiBQTEFU
Rk9STShNQUMpCiBXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5cGUgdHlwZSwgQnV0dG9u
IGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9u
SW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxv
YXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZp
ZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UsIFN5bnRoZXRp
Y0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIGludCBldmVudE51bWJlciwgaW50IG1lbnVU
eXBlKQogI2Vsc2UKLVdlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0
b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBJbnRQb2ludCYgcG9zaXRp
b25JblZpZXcsIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgZmxvYXQgZGVsdGFYLCBm
bG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2Rp
Zmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAsIGRvdWJsZSBmb3JjZSwgU3ludGhl
dGljQ2xpY2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgV2ViQ29yZTo6UG9pbnRlcklEIHBvaW50
ZXJJZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSkKK1dlYk1vdXNlRXZlbnQ6OldlYk1vdXNl
RXZlbnQoVHlwZSB0eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBj
b25zdCBJbnRQb2ludCYgcG9zaXRpb25JblZpZXcsIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3Np
dGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNr
Q291bnQsIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAs
IGRvdWJsZSBmb3JjZSwgU3ludGhldGljQ2xpY2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgV2Vi
Q29yZTo6UG9pbnRlcklEIHBvaW50ZXJJZCwgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlwZSwgYm9v
bCBnZXN0dXJlQ2FuY2VsbGVkKQogI2VuZGlmCiAgICAgOiBXZWJFdmVudCh0eXBlLCBtb2RpZmll
cnMsIHRpbWVzdGFtcCkKICAgICAsIG1fYnV0dG9uKGJ1dHRvbikKQEAgLTU3LDYgKzU3LDcgQEAg
V2ViTW91c2VFdmVudDo6V2ViTW91c2VFdmVudChUeXBlIHR5cGUsIEJ1dHRvbiBidXR0b24sIHVu
c2lnbmVkIHNob3J0IGJ1dHRvbnMsIGMKICAgICAsIG1fcG9pbnRlcklkKHBvaW50ZXJJZCkKICAg
ICAsIG1fcG9pbnRlclR5cGUocG9pbnRlclR5cGUpCiAjZW5kaWYKKyAgICAsIG1fZ2VzdHVyZUNh
bmNlbGxlZChnZXN0dXJlQ2FuY2VsbGVkKQogewogICAgIEFTU0VSVChpc01vdXNlRXZlbnRUeXBl
KHR5cGUpKTsKIH0KQEAgLTgxLDYgKzgyLDcgQEAgdm9pZCBXZWJNb3VzZUV2ZW50OjplbmNvZGUo
SVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgbV9zeW50aGV0aWND
bGlja1R5cGU7CiAgICAgZW5jb2RlciA8PCBtX3BvaW50ZXJJZDsKICAgICBlbmNvZGVyIDw8IG1f
cG9pbnRlclR5cGU7CisgICAgZW5jb2RlciA8PCBtX2dlc3R1cmVDYW5jZWxsZWQ7CiB9CiAKIGJv
b2wgV2ViTW91c2VFdmVudDo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViTW91c2VF
dmVudCYgcmVzdWx0KQpAQCAtMTE5LDYgKzEyMSw4IEBAIGJvb2wgV2ViTW91c2VFdmVudDo6ZGVj
b2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgV2ViTW91c2VFdmVudCYgcmVzdWx0KQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9wb2ludGVy
VHlwZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJl
c3VsdC5tX2dlc3R1cmVDYW5jZWxsZWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNl
RXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuaAppbmRleCA0NGU2
NzFjMWFlN2QyNTU3YzU1ZWE2YjMyNmU0MTVhODk0Y2EwY2U3Li43NThhM2E4MmJmOTkyNDFkNmQ4
YzlmNWM2NGI0MTllMjEwYjBjZjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJNb3VzZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5o
CkBAIC0yNiw3ICsyNiw3IEBACiAKICNwcmFnbWEgb25jZQogCi0vLyBGSVhNRTogV2Ugc2hvdWxk
IHByb2JhYmx5IG1vdmUgdG8gbWFrZWluZyB0aGUgV2ViQ29yZS9QbGF0Zm9ybUZvb0V2ZW50cyB0
cml2aWFsIGNsYXNzZXMgc28gdGhhdAorLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBtb3Zl
IHRvIG1ha2luZyB0aGUgV2ViQ29yZS9QbGF0Zm9ybUZvb0V2ZW50cyB0cml2aWFsIGNsYXNzZXMg
c28gdGhhdAogLy8gd2UgY2FuIHVzZSB0aGVtIGFzIHRoZSBldmVudCB0eXBlLgogCiAjaW5jbHVk
ZSAiV2ViRXZlbnQuaCIKQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogI2lmIFBMQVRGT1JNKE1B
QykKICAgICBXZWJNb3VzZUV2ZW50KFR5cGUsIEJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9u
cywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBm
bG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGlt
ZSB0aW1lc3RhbXAsIGRvdWJsZSBmb3JjZSwgU3ludGhldGljQ2xpY2tUeXBlID0gTm9UYXAsIGlu
dCBldmVudE51bWJlciA9IC0xLCBpbnQgbWVudVR5cGUgPSAwKTsKICNlbHNlCi0gICAgV2ViTW91
c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBp
bnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBk
b3VibGUgZm9yY2UgPSAwLCBTeW50aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwgV2ViQ29yZTo6UG9p
bnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5
cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSk7CisgICAgV2ViTW91c2VFdmVu
dChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBv
c2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xp
Y2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUg
Zm9yY2UgPSAwLCBTeW50aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwgV2ViQ29yZTo6UG9pbnRlcklE
ID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUgPSBX
ZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgYm9vbCBnZXN0dXJlQ2FuY2VsbGVkID0g
ZmFsc2UpOwogI2VuZGlmCiAKICAgICBCdXR0b24gYnV0dG9uKCkgY29uc3QgeyByZXR1cm4gc3Rh
dGljX2Nhc3Q8QnV0dG9uPihtX2J1dHRvbik7IH0KQEAgLTcxLDYgKzcxLDcgQEAgcHVibGljOgog
ICAgIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUoKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxTeW50aGV0aWNDbGlja1R5cGU+KG1fc3ludGhldGljQ2xpY2tUeXBlKTsg
fQogICAgIFdlYkNvcmU6OlBvaW50ZXJJRCBwb2ludGVySWQoKSBjb25zdCB7IHJldHVybiBtX3Bv
aW50ZXJJZDsgfQogICAgIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUoKSBjb25zdCB7IHJldHVy
biBtX3BvaW50ZXJUeXBlOyB9CisgICAgYm9vbCBnZXN0dXJlQ2FuY2VsbGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9nZXN0dXJlQ2FuY2VsbGVkOyB9CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29k
ZXImKSBjb25zdDsKICAgICBzdGF0aWMgV0FSTl9VTlVTRURfUkVUVVJOIGJvb2wgZGVjb2RlKElQ
Qzo6RGVjb2RlciYsIFdlYk1vdXNlRXZlbnQmKTsKQEAgLTk0LDYgKzk1LDcgQEAgcHJpdmF0ZToK
ICAgICB1aW50MzJfdCBtX3N5bnRoZXRpY0NsaWNrVHlwZSB7IE5vVGFwIH07CiAgICAgV2ViQ29y
ZTo6UG9pbnRlcklEIG1fcG9pbnRlcklkIHsgV2ViQ29yZTo6bW91c2VQb2ludGVySUQgfTsKICAg
ICBTdHJpbmcgbV9wb2ludGVyVHlwZSB7IFdlYkNvcmU6Om1vdXNlUG9pbnRlckV2ZW50VHlwZSgp
IH07CisgICAgYm9vbCBtX2dlc3R1cmVDYW5jZWxsZWQgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9pb3MvTmF0
aXZlV2ViTW91c2VFdmVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9OYXRpdmVX
ZWJNb3VzZUV2ZW50SU9TLm1tCmluZGV4IDdkYjAwZjE1YWJiMjNiZDY1YzcyMjEzZjgwYzFmNzhk
YzEwNjQwNTkuLjVmMGEwYjc5OGQ0Y2ZlOTViM2VhMDBmNDI1ODJlZjhlNDIwNzAyYmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9OYXRpdmVXZWJNb3VzZUV2ZW50SU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9OYXRpdmVXZWJNb3VzZUV2ZW50SU9TLm1t
CkBAIC0zOCw4ICszOCw4IEBAIE5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZl
bnQoOjpXZWJFdmVudCAqZXZlbnQpCiB7CiB9CiAKLU5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2
ZVdlYk1vdXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBi
dXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZs
b2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJz
LCBXYWxsVGltZSB0aW1lc3RhbXAsIGRvdWJsZSBmb3JjZSkKLSAgICA6IFdlYk1vdXNlRXZlbnQo
dHlwZSwgYnV0dG9uLCBidXR0b25zLCBwb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIGRlbHRhWCwg
ZGVsdGFZLCBkZWx0YVosIGNsaWNrQ291bnQsIG1vZGlmaWVycywgdGltZXN0YW1wLCBmb3JjZSkK
K05hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0
b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgZmxv
YXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQsIE9w
dGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAsIGRvdWJsZSBm
b3JjZSwgYm9vbCBnZXN0dXJlQ2FuY2VsbGVkKQorICAgIDogV2ViTW91c2VFdmVudCh0eXBlLCBi
dXR0b24sIGJ1dHRvbnMsIHBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgZGVsdGFYLCBkZWx0YVks
IGRlbHRhWiwgY2xpY2tDb3VudCwgbW9kaWZpZXJzLCB0aW1lc3RhbXAsIGZvcmNlLCBOb1RhcCwg
V2ViQ29yZTo6bW91c2VQb2ludGVySUQsIFdlYkNvcmU6Om1vdXNlUG9pbnRlckV2ZW50VHlwZSgp
LCBnZXN0dXJlQ2FuY2VsbGVkKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLTW91c2VHZXN0dXJlUmVjb2duaXplci5tbQppbmRleCBjMzliYmVkMTBi
N2VkNTQ2ZTRkODcwMGIwZjhjYTEyMTNmOTIyYTJlLi4zZDY5ZDU4OWU1ZWZlMTM3YzVjMWJkNzA5
ZDYwOTU1OTlmNWQxYmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS01vdXNlR2VzdHVyZVJlY29nbml6ZXIubW0KQEAgLTExOSw3ICsxMTksNyBAQCAtIChC
T09MKV9zaG91bGRSZWNlaXZlUHJlc3M6KFVJUHJlc3MgKilwcmVzcwogICAgIHJldHVybiBOTzsK
IH0KIAotLSAoc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudD4pY3Jl
YXRlTW91c2VFdmVudFdpdGhUeXBlOihXZWJLaXQ6OldlYkV2ZW50OjpUeXBlKXR5cGUKKy0gKHN0
ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ+KWNyZWF0ZU1vdXNlRXZl
bnRXaXRoVHlwZTooV2ViS2l0OjpXZWJFdmVudDo6VHlwZSl0eXBlIHdhc0NhbmNlbGxlZDooQk9P
TCljYW5jZWxsZWQKIHsKICAgICBhdXRvIG1vZGlmaWVycyA9IHdlYkV2ZW50TW9kaWZpZXJzRm9y
VUlLZXlNb2RpZmllckZsYWdzKHNlbGYubW9kaWZpZXJGbGFncyk7CiAgICAgQk9PTCBpc1JpZ2h0
QnV0dG9uID0gbW9kaWZpZXJzLmNvbnRhaW5zKFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyOjpD
b250cm9sS2V5KSB8fCAoX3ByZXNzZWRCdXR0b25NYXNrICYmICgqX3ByZXNzZWRCdXR0b25NYXNr
ICYgVUlFdmVudEJ1dHRvbk1hc2tTZWNvbmRhcnkpKTsKQEAgLTE0NSw3ICsxNDUsNyBAQCAtIChz
dGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50PiljcmVhdGVNb3VzZUV2
ZW50V2l0aFR5cGU6KFdlYktpdAogCiAgICAgLy8gVUlUb3VjaCdzIHRpbWVzdGFtcCB1c2VzIG1h
Y2hfYWJzb2x1dGVfdGltZSBhcyBpdHMgdGltZWJhc2UsIHNhbWUgYXMgTW9ub3RvbmljVGltZS4K
ICAgICBhdXRvIHRpbWVzdGFtcCA9IE1vbm90b25pY1RpbWU6OmZyb21SYXdTZWNvbmRzKFtfY3Vy
cmVudFRvdWNoIHRpbWVzdGFtcF0pLmFwcHJveGltYXRlV2FsbFRpbWUoKTsKLSAgICByZXR1cm4g
V1RGOjptYWtlVW5pcXVlPFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudD4odHlwZSwgYnV0dG9u
LCBidXR0b25zLCBwb2ludCwgcG9pbnQsIDAsIDAsIDAsIFtfY3VycmVudFRvdWNoIHRhcENvdW50
XSwgbW9kaWZpZXJzLCB0aW1lc3RhbXAsIDApOworICAgIHJldHVybiBXVEY6Om1ha2VVbmlxdWU8
V2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50Pih0eXBlLCBidXR0b24sIGJ1dHRvbnMsIHBvaW50
LCBwb2ludCwgMCwgMCwgMCwgW19jdXJyZW50VG91Y2ggdGFwQ291bnRdLCBtb2RpZmllcnMsIHRp
bWVzdGFtcCwgMCwgY2FuY2VsbGVkKTsKIH0KIAogLSAodm9pZCl0b3VjaGVzQmVnYW46KE5TU2V0
PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CkBAIC0xNTMs
NyArMTUzLDcgQEAgLSAodm9pZCl0b3VjaGVzQmVnYW46KE5TU2V0PFVJVG91Y2ggKj4gKil0b3Vj
aGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiAgICAgX3RvdWNoaW5nID0gWUVTOwogICAg
IF9wcmVzc2VkQnV0dG9uTWFzayA9IFtldmVudCBfYnV0dG9uTWFza107CiAKLSAgICBfbGFzdEV2
ZW50ID0gW3NlbGYgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6Ok1v
dXNlRG93bl07CisgICAgX2xhc3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlw
ZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZURvd24gd2FzQ2FuY2VsbGVkOk5PXTsKICAgICBfbGFz
dExvY2F0aW9uID0gW3NlbGYgbG9jYXRpb25JblZpZXc6c2VsZi52aWV3XTsKIAogICAgIHNlbGYu
c3RhdGUgPSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVDaGFuZ2VkOwpAQCAtMTYxLDcgKzE2MSw3
IEBAIC0gKHZvaWQpdG91Y2hlc0JlZ2FuOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRo
RXZlbnQ6KFVJRXZlbnQgKilldmVudAogCiAtICh2b2lkKXRvdWNoZXNNb3ZlZDooTlNTZXQ8VUlU
b3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKIHsKLSAgICBfbGFz
dEV2ZW50ID0gW3NlbGYgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6
Ok1vdXNlTW92ZV07CisgICAgX2xhc3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNlRXZlbnRXaXRo
VHlwZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZU1vdmUgd2FzQ2FuY2VsbGVkOk5PXTsKICAgICBf
bGFzdExvY2F0aW9uID0gW3NlbGYgbG9jYXRpb25JblZpZXc6c2VsZi52aWV3XTsKIAogICAgIHNl
bGYuc3RhdGUgPSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVDaGFuZ2VkOwpAQCAtMTY5LDcgKzE2
OSw3IEBAIC0gKHZvaWQpdG91Y2hlc01vdmVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3
aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudAogCiAtICh2b2lkKXRvdWNoZXNFbmRlZDooTlNTZXQ8
VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKIHsKLSAgICBf
bGFzdEV2ZW50ID0gW3NlbGYgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZl
bnQ6Ok1vdXNlVXBdOworICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0
aFR5cGU6V2ViS2l0OjpXZWJFdmVudDo6TW91c2VVcCB3YXNDYW5jZWxsZWQ6Tk9dOwogICAgIF9s
YXN0TG9jYXRpb24gPSBbc2VsZiBsb2NhdGlvbkluVmlldzpzZWxmLnZpZXddOwogCiAgICAgX3Rv
dWNoaW5nID0gTk87CkBAIC0xODAsMTIgKzE4MCwxOCBAQCAtICh2b2lkKXRvdWNoZXNFbmRlZDoo
TlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKIAog
LSAodm9pZCl0b3VjaGVzQ2FuY2VsbGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRo
RXZlbnQ6KFVJRXZlbnQgKilldmVudAogewotICAgIFtzZWxmIHRvdWNoZXNFbmRlZDp0b3VjaGVz
IHdpdGhFdmVudDpldmVudF07CisgICAgX2xhc3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNlRXZl
bnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZVVwIHdhc0NhbmNlbGxlZDpZRVNdOwor
ICAgIF9sYXN0TG9jYXRpb24gPSBbc2VsZiBsb2NhdGlvbkluVmlldzpzZWxmLnZpZXddOworCisg
ICAgX3RvdWNoaW5nID0gTk87CisgICAgX3ByZXNzZWRCdXR0b25NYXNrID0gV1RGOjpudWxsb3B0
OworCisgICAgc2VsZi5zdGF0ZSA9IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUNoYW5nZWQ7CiB9
CiAKIC0gKHZvaWQpX2hvdmVyRW50ZXJlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0
aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKIHsKLSAgICBfbGFzdEV2ZW50ID0gW3NlbGYgY3JlYXRl
TW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNlTW92ZV07CisgICAgX2xh
c3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50
OjpNb3VzZU1vdmUgd2FzQ2FuY2VsbGVkOk5PXTsKIAogICAgIGlmIChfY3VycmVudEhvdmVyRXZl
bnQgPT0gbmlsICYmIHRvdWNoZXMuY291bnQgPT0gMSAmJiBbZXZlbnQgaXNLaW5kT2ZDbGFzczpO
U0NsYXNzRnJvbVN0cmluZyhAIlVJSG92ZXJFdmVudCIpXSkgewogICAgICAgICBfY3VycmVudEhv
dmVyRXZlbnQgPSBldmVudDsKQEAgLTIwMiw3ICsyMDgsNyBAQCAtICh2b2lkKV9ob3Zlck1vdmVk
OihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudAog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgX2xhc3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1v
dXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZU1vdmVdOworICAgIF9sYXN0
RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0aFR5cGU6V2ViS2l0OjpXZWJFdmVudDo6
TW91c2VNb3ZlIHdhc0NhbmNlbGxlZDpOT107CiAgICAgX2xhc3RMb2NhdGlvbiA9IFtzZWxmIGxv
Y2F0aW9uSW5WaWV3OnNlbGYudmlld107CiAKICAgICBpZiAoX2N1cnJlbnRIb3ZlckV2ZW50ID09
IGV2ZW50ICYmIFt0b3VjaGVzIGNvbnRhaW5zT2JqZWN0Ol9jdXJyZW50VG91Y2guZ2V0KCldKQpA
QCAtMjExLDcgKzIxNyw3IEBAIC0gKHZvaWQpX2hvdmVyTW92ZWQ6KE5TU2V0PFVJVG91Y2ggKj4g
Kil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiAKIC0gKHZvaWQpX2hvdmVyRXhp
dGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVu
dAogewotICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0aFR5cGU6V2Vi
S2l0OjpXZWJFdmVudDo6TW91c2VNb3ZlXTsKKyAgICBfbGFzdEV2ZW50ID0gW3NlbGYgY3JlYXRl
TW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNlTW92ZSB3YXNDYW5jZWxs
ZWQ6Tk9dOwogICAgIF9sYXN0TG9jYXRpb24gPSBbc2VsZiBsb2NhdGlvbkluVmlldzpzZWxmLnZp
ZXddOwogCiAgICAgaWYgKF9jdXJyZW50SG92ZXJFdmVudCA9PSBldmVudCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBjZDljMmMwODQxOGU4
YzA2ZjE0ZDFhMTdlZjlhZWYwOWVjMDJiNjQxLi4wYzMxMzNkN2RlOTM2OWEzMmM0MmQ3ZjhkYjhh
YWZkMWY4ZjdjMTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMjkwMyw2ICsyOTAzLDggQEAgc3RhdGljIGJvb2wgaGFuZGxlTW91c2VFdmVu
dChjb25zdCBXZWJNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBXZWJQYWdlKiBwYWdlKQogICAgICAg
ICAgICAgcmV0dXJuIGhhbmRsZWQ7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBQbGF0Zm9ybUV2
ZW50OjpNb3VzZVJlbGVhc2VkOgorICAgICAgICAgICAgaWYgKG1vdXNlRXZlbnQuZ2VzdHVyZUNh
bmNlbGxlZCgpKQorICAgICAgICAgICAgICAgIGZyYW1lLmV2ZW50SGFuZGxlcigpLmludmFsaWRh
dGVDbGljaygpOwogICAgICAgICAgICAgcmV0dXJuIHBhZ2UtPmNvcmVQYWdlKCktPnVzZXJJbnB1
dEJyaWRnZSgpLmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KHBsYXRmb3JtTW91c2VFdmVudCk7CiAK
ICAgICAgICAgY2FzZSBQbGF0Zm9ybUV2ZW50OjpNb3VzZU1vdmVkOgpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGUwMWE5NDk1MTg4NjY2YzU1ZWM2
ZmM2MTFlYTk4NTQyZWY0ODJjZWMuLjIxYmIzMGY2MmFjMTk5Y2E0ODRjYTZlNzI0YzA3MzdhNzkw
NWI4ZWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNC0yMCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KKworICAgICAgICBMb25nLXByZXNzaW5nIGEgZGF0YSBkZXRlY3RvcnMgbGlu
ayBjYXVzZXMgdGhlIGxpbmsgdG8gYmUgZm9sbG93ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDg0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzI4ODk3Mzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2lPU01vdXNlU3VwcG9ydC5tbToK
KyAgICAgICAgKFRFU1QpOgorICAgICAgICBBZGQgdGVzdHMgZW5zdXJpbmcgdGhhdCB3ZSBnZXQg
YSBjbGljayBldmVudCBmb3IgY29tcGxldGVkIHRvdWNoZXMsIGFuZCBub3QgZm9yIGNhbmNlbGxl
ZCB0b3VjaGVzLgorCiAyMDIxLTA0LTIwICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KIAogICAgICAgICBQYXJzZSBgdGhlbWVfY29sb3JgIGluIHdlYiBhcHBsaWNhdGlvbiBtYW5p
ZmVzdHMgYW5kIHBhc3MgaXQgYWxvbmcgdG8gYC1bV0tXZWJWaWV3IHRoZW1lQ29sb3JdYApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9pT1NNb3VzZVN1
cHBvcnQubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2lPU01vdXNl
U3VwcG9ydC5tbQppbmRleCA2NGE4ZDg3MjQ4YTViZjczYjljNDc2ZDNhYTBkNmNiYjUwMDcxZGU3
Li5jZTg1OGJhYzMxYTE5MmZhZTQ2MzQ2YTBkYzBkYzllNmUzOTE4N2NhIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2lPU01vdXNlU3VwcG9ydC5tbQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2lPU01vdXNlU3VwcG9y
dC5tbQpAQCAtMjM0LDYgKzIzNCw4NiBAQCBURVNUKGlPU01vdXNlU3VwcG9ydCwgTW91c2VUaW1l
c3RhbXBUaW1lYmFzZSkKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogfQog
CitURVNUKGlPU01vdXNlU3VwcG9ydCwgRW5kZWRUb3VjaGVzVHJpZ2dlckNsaWNrKQoreworICAg
IGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNv
bmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBbd2ViVmlldyBz
eW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8c2NyaXB0PiIKKyAgICAid2luZG93Lndhc0Ns
aWNrZWQgPSBmYWxzZTsiCisgICAgImRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7IgorICAgICIgICAgd2luZG93Lndhc0NsaWNr
ZWQgPSB0cnVlOyIKKyAgICAifSk7IgorICAgICI8L3NjcmlwdD4iXTsKKworICAgIGF1dG8gY29u
dGVudFZpZXcgPSBbd2ViVmlldyB3a0NvbnRlbnRWaWV3XTsKKyAgICBhdXRvIGdlc3R1cmUgPSBt
b3VzZUdlc3R1cmUoY29udGVudFZpZXcpOworCisgICAgUmV0YWluUHRyPFdLVGVzdGluZ1RvdWNo
PiB0b3VjaCA9IGFkb3B0TlMoW1tXS1Rlc3RpbmdUb3VjaCBhbGxvY10gaW5pdF0pOworICAgIFJl
dGFpblB0cjxOU1NldD4gdG91Y2hTZXQgPSBbTlNTZXQgc2V0V2l0aE9iamVjdDp0b3VjaC5nZXQo
KV07CisKKyAgICBSZXRhaW5QdHI8V0tUZXN0aW5nRXZlbnQ+IGhvdmVyRXZlbnQgPSBhZG9wdE5T
KFtbTlNDbGFzc0Zyb21TdHJpbmcoQCJVSUhvdmVyRXZlbnQiKSBhbGxvY10gaW5pdF0pOworICAg
IFJldGFpblB0cjxXS1Rlc3RpbmdFdmVudD4gZXZlbnQgPSBhZG9wdE5TKFtbV0tUZXN0aW5nRXZl
bnQgYWxsb2NdIGluaXRdKTsKKworICAgIFtnZXN0dXJlIF9ob3ZlckVudGVyZWQ6dG91Y2hTZXQu
Z2V0KCkgd2l0aEV2ZW50OmhvdmVyRXZlbnQuZ2V0KCldOworICAgIFtjb250ZW50VmlldyBtb3Vz
ZUdlc3R1cmVSZWNvZ25pemVyQ2hhbmdlZDpnZXN0dXJlXTsKKyAgICBbdG91Y2ggc2V0VGFwQ291
bnQ6MV07CisgICAgW2V2ZW50IF9zZXRCdXR0b25NYXNrOlVJRXZlbnRCdXR0b25NYXNrUHJpbWFy
eV07CisgICAgW2dlc3R1cmUgdG91Y2hlc0JlZ2FuOnRvdWNoU2V0LmdldCgpIHdpdGhFdmVudDpl
dmVudC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3IG1vdXNlR2VzdHVyZVJlY29nbml6ZXJDaGFu
Z2VkOmdlc3R1cmVdOworICAgIFtnZXN0dXJlIHRvdWNoZXNFbmRlZDp0b3VjaFNldC5nZXQoKSB3
aXRoRXZlbnQ6ZXZlbnQuZ2V0KCldOworICAgIFtjb250ZW50VmlldyBtb3VzZUdlc3R1cmVSZWNv
Z25pemVyQ2hhbmdlZDpnZXN0dXJlXTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7
CisKKyAgICBbd2ViVmlldyBfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6
XnsKKyAgICAgICAgYm9vbCB3YXNDbGlja2VkID0gW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGlu
Z0phdmFTY3JpcHQ6QCJ3aW5kb3cud2FzQ2xpY2tlZCJdIGJvb2xWYWx1ZV07CisgICAgICAgIEVY
UEVDVF9UUlVFKHdhc0NsaWNrZWQpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9CisKK1RFU1QoaU9TTW91c2VT
dXBwb3J0LCBDYW5jZWxsZWRUb3VjaGVzRG9Ob3RUcmlnZ2VyQ2xpY2spCit7CisgICAgYXV0byB3
ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJh
dGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIFt3ZWJWaWV3IHN5bmNocm9u
b3VzbHlMb2FkSFRNTFN0cmluZzpAIjxzY3JpcHQ+IgorICAgICJ3aW5kb3cud2FzQ2xpY2tlZCA9
IGZhbHNlOyIKKyAgICAiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
J2NsaWNrJywgZnVuY3Rpb24gKGUpIHsiCisgICAgIiAgICB3aW5kb3cud2FzQ2xpY2tlZCA9IHRy
dWU7IgorICAgICJ9KTsiCisgICAgIjwvc2NyaXB0PiJdOworCisgICAgYXV0byBjb250ZW50Vmll
dyA9IFt3ZWJWaWV3IHdrQ29udGVudFZpZXddOworICAgIGF1dG8gZ2VzdHVyZSA9IG1vdXNlR2Vz
dHVyZShjb250ZW50Vmlldyk7CisKKyAgICBSZXRhaW5QdHI8V0tUZXN0aW5nVG91Y2g+IHRvdWNo
ID0gYWRvcHROUyhbW1dLVGVzdGluZ1RvdWNoIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRy
PE5TU2V0PiB0b3VjaFNldCA9IFtOU1NldCBzZXRXaXRoT2JqZWN0OnRvdWNoLmdldCgpXTsKKwor
ICAgIFJldGFpblB0cjxXS1Rlc3RpbmdFdmVudD4gaG92ZXJFdmVudCA9IGFkb3B0TlMoW1tOU0Ns
YXNzRnJvbVN0cmluZyhAIlVJSG92ZXJFdmVudCIpIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWlu
UHRyPFdLVGVzdGluZ0V2ZW50PiBldmVudCA9IGFkb3B0TlMoW1tXS1Rlc3RpbmdFdmVudCBhbGxv
Y10gaW5pdF0pOworCisgICAgW2dlc3R1cmUgX2hvdmVyRW50ZXJlZDp0b3VjaFNldC5nZXQoKSB3
aXRoRXZlbnQ6aG92ZXJFdmVudC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3IG1vdXNlR2VzdHVy
ZVJlY29nbml6ZXJDaGFuZ2VkOmdlc3R1cmVdOworICAgIFt0b3VjaCBzZXRUYXBDb3VudDoxXTsK
KyAgICBbZXZlbnQgX3NldEJ1dHRvbk1hc2s6VUlFdmVudEJ1dHRvbk1hc2tQcmltYXJ5XTsKKyAg
ICBbZ2VzdHVyZSB0b3VjaGVzQmVnYW46dG91Y2hTZXQuZ2V0KCkgd2l0aEV2ZW50OmV2ZW50Lmdl
dCgpXTsKKyAgICBbY29udGVudFZpZXcgbW91c2VHZXN0dXJlUmVjb2duaXplckNoYW5nZWQ6Z2Vz
dHVyZV07CisgICAgW2dlc3R1cmUgdG91Y2hlc0NhbmNlbGxlZDp0b3VjaFNldC5nZXQoKSB3aXRo
RXZlbnQ6ZXZlbnQuZ2V0KCldOworICAgIFtjb250ZW50VmlldyBtb3VzZUdlc3R1cmVSZWNvZ25p
emVyQ2hhbmdlZDpnZXN0dXJlXTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisK
KyAgICBbd2ViVmlldyBfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6XnsK
KyAgICAgICAgYm9vbCB3YXNDbGlja2VkID0gW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0ph
dmFTY3JpcHQ6QCJ3aW5kb3cud2FzQ2xpY2tlZCJdIGJvb2xWYWx1ZV07CisgICAgICAgIEVYUEVD
VF9GQUxTRSh3YXNDbGlja2VkKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisKKyAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworfQorCiAjaWYgRU5BQkxFKElPU19U
T1VDSF9FVkVOVFMpCiAKIFRFU1QoaU9TTW91c2VTdXBwb3J0LCBXZWJzaXRlTW91c2VFdmVudFBv
bGljaWVzKQo=
</data>
<flag name="commit-queue"
          id="446982"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426633</attachid>
            <date>2021-04-20 19:26:43 -0700</date>
            <delta_ts>2021-04-20 23:49:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224847-20210420192642.patch</filename>
            <type>text/plain</type>
            <size>23053</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmY5NmU5MjU5N2I5OGQz
NDQ1ZDk0OGNmMjBiNDM3ZTJjMmQzYjI3My4uNzgyNDQzYTA5ZmE1YjBhMWRkOTlkZGM3Nzc1MDli
NTYwNDM2MTRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTIwICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExvbmctcHJlc3Np
bmcgYSBkYXRhIGRldGVjdG9ycyBsaW5rIGNhdXNlcyB0aGUgbGluayB0byBiZSBmb2xsb3dlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0ODQ3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83Mjg4OTczOD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgQVBJIHRlc3RzOiBpT1NNb3VzZVN1cHBvcnQu
e0VuZGVkVG91Y2hlc1RyaWdnZXJDbGljayxDYW5jZWxsZWRUb3VjaGVzRG9Ob3RUcmlnZ2VyQ2xp
Y2t9CisKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorCiAyMDIxLTA0LTIwICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gUHJldmVu
dCBHUFUgYW5kIFdlYkNvbnRlbnQgcHJvY2Vzc2VzIGZyb20gYXR0ZW1wdGluZyB0byBjb25uZWN0
IHRvIHRoZSBBcHBTU08gc2VydmljZSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOWQ5NzczY2E5ZmRmOWU2ZDRjNjU5
MjE1YWIzZjg2YTFlMDg0ZGIxMS4uZmFiZTU3ZWZhNmQxNGQyYTFhZjJmMjFlYjRkN2M2NGZlZmJh
NjUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MCBAQAorMjAyMS0wNC0yMCAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBMb25nLXByZXNzaW5nIGEgZGF0
YSBkZXRlY3RvcnMgbGluayBjYXVzZXMgdGhlIGxpbmsgdG8gYmUgZm9sbG93ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDg0NworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzI4ODk3Mzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgT24gaU9TLCBpdCBpcyBwb3NzaWJsZSBmb3IgYSBnZXN0dXJlIHRv
IGJlIGV4dGVybmFsbHkgY2FuY2VsbGVkIChpbiB0aGlzIGNhc2UsCisgICAgICAgIHdoZW4gYSBk
YXRhIGRldGVjdG9ycyBjb250ZXh0IG1lbnUgaXMgcHJlc2VudGVkIGJ5IGxvbmcgcHJlc3Npbmcg
YSBsaW5rKS4KKyAgICAgICAgVGhpcyBpcyByZXBvcnRlZCB0byBXS01vdXNlR2VzdHVyZVJlY29n
bml6ZXIgYXMgInRvdWNoZXMgY2FuY2VsbGVkIi4KKyAgICAgICAgQ3VycmVudGx5LCBXS01vdXNl
R2VzdHVyZVJlY29nbml6ZXIganVzdCBydW5zIHdpdGggdGhhdCBhcyBhIG5vcm1hbAorICAgICAg
ICAibW91c2UgYnV0dG9uIHJlbGVhc2UiIGV2ZW50LCB3aGljaCB0aGVuIGNhdXNlcyB0aGUgbGlu
ayB0aGF0IHlvdSdyZSBsb25nCisgICAgICAgIHByZXNzaW5nIHRvIGFsc28gYmUgZm9sbG93ZWQu
CisKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oOgorICAgICAgICAqIFNo
YXJlZC9XZWJNb3VzZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTW91c2VFdmVudDo6
V2ViTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1vdXNlRXZlbnQ6OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1vdXNlRXZlbnQ6OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL1dlYk1vdXNlRXZlbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViTW91c2VFdmVu
dDo6Z2VzdHVyZUNhbmNlbGxlZCBjb25zdCk6CisgICAgICAgICogU2hhcmVkL2lvcy9OYXRpdmVX
ZWJNb3VzZUV2ZW50SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50
OjpOYXRpdmVXZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLTW91c2VH
ZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAgICAgKC1bV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVy
IGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTp3YXNDYW5jZWxsZWQ6XSk6CisgICAgICAgICgtW1dL
TW91c2VHZXN0dXJlUmVjb2duaXplciB0b3VjaGVzQmVnYW46d2l0aEV2ZW50Ol0pOgorICAgICAg
ICAoLVtXS01vdXNlR2VzdHVyZVJlY29nbml6ZXIgdG91Y2hlc01vdmVkOndpdGhFdmVudDpdKToK
KyAgICAgICAgKC1bV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNFbmRlZDp3aXRoRXZl
bnQ6XSk6CisgICAgICAgICgtW1dLTW91c2VHZXN0dXJlUmVjb2duaXplciB0b3VjaGVzQ2FuY2Vs
bGVkOndpdGhFdmVudDpdKToKKyAgICAgICAgKC1bV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyIF9o
b3ZlckVudGVyZWQ6d2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS01vdXNlR2VzdHVyZVJlY29n
bml6ZXIgX2hvdmVyTW92ZWQ6d2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS01vdXNlR2VzdHVy
ZVJlY29nbml6ZXIgX2hvdmVyRXhpdGVkOndpdGhFdmVudDpdKToKKyAgICAgICAgKC1bV0tNb3Vz
ZUdlc3R1cmVSZWNvZ25pemVyIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpdKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OmhhbmRsZU1vdXNlRXZlbnQpOgorICAgICAgICBBZGQgYSBiaXQgdG8gV2ViS2l0OjpXZWJN
b3VzZUV2ZW50IGluZGljYXRpbmcgdGhhdCB0aGUgZ2VzdHVyZSBpdCBpcyBhIHBhcnQgb2YKKyAg
ICAgICAgd2FzIGNhbmNlbGxlZC4gVGhpcyB3aWxsIG9ubHkgYmUgc2V0IG9uIHRoZSBtb3VzZSBy
ZWxlYXNlIGV2ZW50IGRpc3BhdGNoZWQgZnJvbQorICAgICAgICB0b3VjaGVzQ2FuY2VsbGVkIGZy
b20gV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyLCBhbmQgd2lsbCBjYXVzZSBXZWJDb3JlIHRvCisg
ICAgICAgIGF2b2lkIGRpc3BhdGNoaW5nIHRoZSBjbGljayBldmVudCwgYXMgeW91IHdvdWxkIG9u
IG1hY09TIGlmIHlvdSBlLmcuCisgICAgICAgIG1vdmVkIHRoZSBtb3VzZSB0b28gZmFyIGZyb20g
aXRzIG9yaWdpbiBkdXJpbmcgdGhlIHByZXNzLgorCisgICAgICAgIFBsdW1iIHRoZSBiaXQgYWxs
IHRoZSB3YXkgZnJvbSBXS01vdXNlR2VzdHVyZVJlY29nbml6ZXIsIHRocm91Z2ggdGhlCisgICAg
ICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQgY29uc3RydWN0b3IsIHRvIFdlYk1vdXNlRXZlbnQsIGFu
ZCB0aGVuIGNoZWNrIGl0CisgICAgICAgIGFuZCBjYWxsIGludmFsaWRhdGVDbGljaygpIGltbWVk
aWF0ZWx5IGJlZm9yZSBoYW5kaW5nIFdlYkNvcmUgdGhlCisgICAgICAgIG1vdXNlIHJlbGVhc2Ug
ZXZlbnQsIHRvIGF2b2lkIHRoZSBjbGljayBldmVudC4KKwogMjAyMS0wNC0yMCAgSWFuIEdpbGJl
cnQgIDxpYW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBkdWUgdG8gVmVjdG9yQnVmZmVy
IHByZS1hbGxvY2F0aW9uIGZhaWx1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4
IDVkMDQyMDM4YmYzNGJmODlmZmUzZGI5OTQ3NjM3Mzc4ODk0NTI4NzkuLjIxZTYzYTMwZWMxMWNk
NzM5ZGE0ZDVhODliOWI1NDhhZWZhOTU3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aApAQCAtMzE2LDggKzMxNiw2IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgc3RhdGljIFdlYkV2ZW50ICpjdXJyZW50RXZlbnQoKTsKLQotICAgIHZvaWQgaW52YWxp
ZGF0ZUNsaWNrKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCkBAIC0zNTMs
NiArMzUxLDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgRWxlbWVu
dCogZHJhZ2dpbmdFbGVtZW50KCkgY29uc3Q7CiAjZW5kaWYKKworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgaW52YWxpZGF0ZUNsaWNrKCk7CisKIHByaXZhdGU6CiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKICAgICBzdGF0aWMgRHJhZ1N0YXRlJiBkcmFnU3RhdGUoKTsKQEAgLTQwOSwxMCArNDEw
LDYgQEAgcHJpdmF0ZToKICAgICBib29sIGRpc3BhdGNoU3ludGhldGljVG91Y2hFdmVudElmRW5h
YmxlZChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKICNlbmRpZgogCi0jaWYgIVBMQVRGT1JN
KElPU19GQU1JTFkpCi0gICAgdm9pZCBpbnZhbGlkYXRlQ2xpY2soKTsKLSNlbmRpZgotCiAgICAg
Tm9kZSogbm9kZVVuZGVyTW91c2UoKSBjb25zdDsKICAgICAKICAgICBlbnVtIGNsYXNzIEZpcmVN
b3VzZU92ZXJPdXQgeyBObywgWWVzIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJN
b3VzZUV2ZW50LmgKaW5kZXggYjgzOGZjYTk3MDJjMTQzMjYwMjE3NmJiMTNlZjA1MmRiMjI0ZTgy
ZS4uYTBkOTk3YWNkZTEyOWY2ZjhjNzYxMjNlMDgyZjIzZTJhNDkyZjExNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL05hdGl2ZVdlYk1vdXNlRXZlbnQuaApAQCAtNzAsNyArNzAsNyBAQCBwdWJs
aWM6CiAgICAgZXhwbGljaXQgTmF0aXZlV2ViTW91c2VFdmVudChjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYpOwogI2VsaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBOYXRpdmVXZWJNb3VzZUV2
ZW50KDo6V2ViRXZlbnQgKik7Ci0gICAgTmF0aXZlV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24s
IHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlv
biwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgs
IGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1v
ZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UpOworICAgIE5hdGl2ZVdl
Yk1vdXNlRXZlbnQoVHlwZSwgQnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9i
YWxQb3NpdGlvbiwgZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50
IGNsaWNrQ291bnQsIE9wdGlvblNldDxNb2RpZmllcj4sIFdhbGxUaW1lIHRpbWVzdGFtcCwgZG91
YmxlIGZvcmNlLCBib29sIGdlc3R1cmVDYW5jZWxsZWQpOwogI2VsaWYgVVNFKExJQldQRSkKICAg
ICBOYXRpdmVXZWJNb3VzZUV2ZW50KHN0cnVjdCB3cGVfaW5wdXRfcG9pbnRlcl9ldmVudCosIGZs
b2F0IGRldmljZVNjYWxlRmFjdG9yKTsKICNlbGlmIFBMQVRGT1JNKFdJTikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViTW91c2VFdmVudC5jcHAKaW5kZXggNDFiMjQzNTk3ODM4MjBlMzllZDI0MmNlOWEy
YTRiZTRhNjlkNDU3ZS4uMGI0ZjFmM2Q2YjgyNzI1N2JkMjQyNGZlNWZmMDYxNGIxZDM3Nzk0NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5jcHAKQEAgLTM0LDkgKzM0LDkgQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KCkg
PSBkZWZhdWx0OwogCiAjaWYgUExBVEZPUk0oTUFDKQotV2ViTW91c2VFdmVudDo6V2ViTW91c2VF
dmVudChUeXBlIHR5cGUsIEJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNv
bnN0IEludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tD
b3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIFdhbGxUaW1lIHRpbWVzdGFtcCwg
ZG91YmxlIGZvcmNlLCBTeW50aGV0aWNDbGlja1R5cGUgc3ludGhldGljQ2xpY2tUeXBlLCBpbnQg
ZXZlbnROdW1iZXIsIGludCBtZW51VHlwZSkKK1dlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQo
VHlwZSB0eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBJ
bnRQb2ludCYgcG9zaXRpb25JblZpZXcsIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwg
ZmxvYXQgZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQs
IE9wdGlvblNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAsIGRvdWJs
ZSBmb3JjZSwgU3ludGhldGljQ2xpY2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgaW50IGV2ZW50
TnVtYmVyLCBpbnQgbWVudVR5cGUsIGJvb2wgZ2VzdHVyZUNhbmNlbGxlZCkKICNlbHNlCi1XZWJN
b3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWdu
ZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBJ
bnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9h
dCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywg
V2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50
aGV0aWNDbGlja1R5cGUsIFdlYkNvcmU6OlBvaW50ZXJJRCBwb2ludGVySWQsIGNvbnN0IFN0cmlu
ZyYgcG9pbnRlclR5cGUpCitXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5cGUgdHlwZSwg
QnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50UG9pbnQmIHBv
c2l0aW9uSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRh
WCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8
TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UsIFN5
bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIFdlYkNvcmU6OlBvaW50ZXJJRCBw
b2ludGVySWQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIGJvb2wgZ2VzdHVyZUNhbmNlbGxl
ZCkKICNlbmRpZgogICAgIDogV2ViRXZlbnQodHlwZSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApCiAg
ICAgLCBtX2J1dHRvbihidXR0b24pCkBAIC01Nyw2ICs1Nyw3IEBAIFdlYk1vdXNlRXZlbnQ6Oldl
Yk1vdXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0
b25zLCBjCiAgICAgLCBtX3BvaW50ZXJJZChwb2ludGVySWQpCiAgICAgLCBtX3BvaW50ZXJUeXBl
KHBvaW50ZXJUeXBlKQogI2VuZGlmCisgICAgLCBtX2dlc3R1cmVDYW5jZWxsZWQoZ2VzdHVyZUNh
bmNlbGxlZCkKIHsKICAgICBBU1NFUlQoaXNNb3VzZUV2ZW50VHlwZSh0eXBlKSk7CiB9CkBAIC04
MSw2ICs4Miw3IEBAIHZvaWQgV2ViTW91c2VFdmVudDo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fc3ludGhldGljQ2xpY2tUeXBlOwogICAgIGVu
Y29kZXIgPDwgbV9wb2ludGVySWQ7CiAgICAgZW5jb2RlciA8PCBtX3BvaW50ZXJUeXBlOworICAg
IGVuY29kZXIgPDwgbV9nZXN0dXJlQ2FuY2VsbGVkOwogfQogCiBib29sIFdlYk1vdXNlRXZlbnQ6
OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYk1vdXNlRXZlbnQmIHJlc3VsdCkKQEAg
LTExOSw2ICsxMjEsOCBAQCBib29sIFdlYk1vdXNlRXZlbnQ6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIsIFdlYk1vdXNlRXZlbnQmIHJlc3VsdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fcG9pbnRlclR5cGUpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9nZXN0dXJlQ2Fu
Y2VsbGVkKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmgKaW5kZXggNDRlNjcxYzFhZTdkMjU1N2M1NWVh
NmIzMjZlNDE1YTg5NGNhMGNlNy4uOGYyMDY1ZWI1MWQ4NDNmNWYwOWUyMDYzZTU5MmRlNGQ3N2I1
NzMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuaApAQCAtMjYsNyArMjYsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBtb3ZlIHRv
IG1ha2VpbmcgdGhlIFdlYkNvcmUvUGxhdGZvcm1Gb29FdmVudHMgdHJpdmlhbCBjbGFzc2VzIHNv
IHRoYXQKKy8vIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgbW92ZSB0byBtYWtpbmcgdGhlIFdl
YkNvcmUvUGxhdGZvcm1Gb29FdmVudHMgdHJpdmlhbCBjbGFzc2VzIHNvIHRoYXQKIC8vIHdlIGNh
biB1c2UgdGhlbSBhcyB0aGUgZXZlbnQgdHlwZS4KIAogI2luY2x1ZGUgIldlYkV2ZW50LmgiCkBA
IC01MCw5ICs1MCw5IEBAIHB1YmxpYzoKICAgICBXZWJNb3VzZUV2ZW50KCk7CiAKICNpZiBQTEFU
Rk9STShNQUMpCi0gICAgV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0
IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3Qg
V2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRl
bHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwg
V2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSA9IE5v
VGFwLCBpbnQgZXZlbnROdW1iZXIgPSAtMSwgaW50IG1lbnVUeXBlID0gMCk7CisgICAgV2ViTW91
c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBp
bnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBk
b3VibGUgZm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSA9IE5vVGFwLCBpbnQgZXZlbnROdW1iZXIg
PSAtMSwgaW50IG1lbnVUeXBlID0gMCwgYm9vbCBnZXN0dXJlQ2FuY2VsbGVkID0gZmFsc2UpOwog
I2Vsc2UKLSAgICBXZWJNb3VzZUV2ZW50KFR5cGUsIEJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0
dG9ucywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZ
LCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxs
VGltZSB0aW1lc3RhbXAsIGRvdWJsZSBmb3JjZSA9IDAsIFN5bnRoZXRpY0NsaWNrVHlwZSA9IE5v
VGFwLCBXZWJDb3JlOjpQb2ludGVySUQgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJJRCwgY29uc3Qg
U3RyaW5nJiBwb2ludGVyVHlwZSA9IFdlYkNvcmU6Om1vdXNlUG9pbnRlckV2ZW50VHlwZSgpKTsK
KyAgICBXZWJNb3VzZUV2ZW50KFR5cGUsIEJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9h
dCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+LCBXYWxsVGltZSB0
aW1lc3RhbXAsIGRvdWJsZSBmb3JjZSA9IDAsIFN5bnRoZXRpY0NsaWNrVHlwZSA9IE5vVGFwLCBX
ZWJDb3JlOjpQb2ludGVySUQgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJJRCwgY29uc3QgU3RyaW5n
JiBwb2ludGVyVHlwZSA9IFdlYkNvcmU6Om1vdXNlUG9pbnRlckV2ZW50VHlwZSgpLCBib29sIGdl
c3R1cmVDYW5jZWxsZWQgPSBmYWxzZSk7CiAjZW5kaWYKIAogICAgIEJ1dHRvbiBidXR0b24oKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCdXR0b24+KG1fYnV0dG9uKTsgfQpAQCAtNzEsNiAr
NzEsNyBAQCBwdWJsaWM6CiAgICAgU3ludGhldGljQ2xpY2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFN5bnRoZXRpY0NsaWNrVHlwZT4obV9zeW50
aGV0aWNDbGlja1R5cGUpOyB9CiAgICAgV2ViQ29yZTo6UG9pbnRlcklEIHBvaW50ZXJJZCgpIGNv
bnN0IHsgcmV0dXJuIG1fcG9pbnRlcklkOyB9CiAgICAgY29uc3QgU3RyaW5nJiBwb2ludGVyVHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcG9pbnRlclR5cGU7IH0KKyAgICBib29sIGdlc3R1cmVDYW5j
ZWxsZWQoKSBjb25zdCB7IHJldHVybiBtX2dlc3R1cmVDYW5jZWxsZWQ7IH0KIAogICAgIHZvaWQg
ZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRV
Uk4gYm9vbCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgV2ViTW91c2VFdmVudCYpOwpAQCAtOTQsNiAr
OTUsNyBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IG1fc3ludGhldGljQ2xpY2tUeXBlIHsgTm9U
YXAgfTsKICAgICBXZWJDb3JlOjpQb2ludGVySUQgbV9wb2ludGVySWQgeyBXZWJDb3JlOjptb3Vz
ZVBvaW50ZXJJRCB9OwogICAgIFN0cmluZyBtX3BvaW50ZXJUeXBlIHsgV2ViQ29yZTo6bW91c2VQ
b2ludGVyRXZlbnRUeXBlKCkgfTsKKyAgICBib29sIG1fZ2VzdHVyZUNhbmNlbGxlZCB7IGZhbHNl
IH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL2lvcy9OYXRpdmVXZWJNb3VzZUV2ZW50SU9TLm1tIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvaW9zL05hdGl2ZVdlYk1vdXNlRXZlbnRJT1MubW0KaW5kZXggN2RiMDBmMTVhYmIyM2Jk
NjVjNzIyMTNmODBjMWY3OGRjMTA2NDA1OS4uNWYwYTBiNzk4ZDRjZmU5NWIzZWEwMGY0MjU4MmVm
OGU0MjA3MDJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL05hdGl2ZVdl
Yk1vdXNlRXZlbnRJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL05hdGl2ZVdl
Yk1vdXNlRXZlbnRJT1MubW0KQEAgLTM4LDggKzM4LDggQEAgTmF0aXZlV2ViTW91c2VFdmVudDo6
TmF0aXZlV2ViTW91c2VFdmVudCg6OldlYkV2ZW50ICpldmVudCkKIHsKIH0KIAotTmF0aXZlV2Vi
TW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVudChUeXBlIHR5cGUsIEJ1dHRvbiBidXR0b24s
IHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlv
biwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgs
IGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1v
ZGlmaWVyPiBtb2RpZmllcnMsIFdhbGxUaW1lIHRpbWVzdGFtcCwgZG91YmxlIGZvcmNlKQotICAg
IDogV2ViTW91c2VFdmVudCh0eXBlLCBidXR0b24sIGJ1dHRvbnMsIHBvc2l0aW9uLCBnbG9iYWxQ
b3NpdGlvbiwgZGVsdGFYLCBkZWx0YVksIGRlbHRhWiwgY2xpY2tDb3VudCwgbW9kaWZpZXJzLCB0
aW1lc3RhbXAsIGZvcmNlKQorTmF0aXZlV2ViTW91c2VFdmVudDo6TmF0aXZlV2ViTW91c2VFdmVu
dChUeXBlIHR5cGUsIEJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBp
bnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIFdhbGxUaW1lIHRp
bWVzdGFtcCwgZG91YmxlIGZvcmNlLCBib29sIGdlc3R1cmVDYW5jZWxsZWQpCisgICAgOiBXZWJN
b3VzZUV2ZW50KHR5cGUsIGJ1dHRvbiwgYnV0dG9ucywgcG9zaXRpb24sIGdsb2JhbFBvc2l0aW9u
LCBkZWx0YVgsIGRlbHRhWSwgZGVsdGFaLCBjbGlja0NvdW50LCBtb2RpZmllcnMsIHRpbWVzdGFt
cCwgZm9yY2UsIE5vVGFwLCBXZWJDb3JlOjptb3VzZVBvaW50ZXJJRCwgV2ViQ29yZTo6bW91c2VQ
b2ludGVyRXZlbnRUeXBlKCksIGdlc3R1cmVDYW5jZWxsZWQpCiB7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vdXNlR2VzdHVyZVJlY29nbml6ZXIubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyLm1t
CmluZGV4IGMzOWJiZWQxMGI3ZWQ1NDZlNGQ4NzAwYjBmOGNhMTIxM2Y5MjJhMmUuLjNkNjlkNTg5
ZTVlZmUxMzdjNWMxYmQ3MDlkNjA5NTU5OWY1ZDFiZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS01vdXNlR2VzdHVyZVJlY29nbml6ZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW91c2VHZXN0dXJlUmVjb2duaXplci5tbQpAQCAtMTE5
LDcgKzExOSw3IEBAIC0gKEJPT0wpX3Nob3VsZFJlY2VpdmVQcmVzczooVUlQcmVzcyAqKXByZXNz
CiAgICAgcmV0dXJuIE5POwogfQogCi0tIChzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpOYXRpdmVX
ZWJNb3VzZUV2ZW50PiljcmVhdGVNb3VzZUV2ZW50V2l0aFR5cGU6KFdlYktpdDo6V2ViRXZlbnQ6
OlR5cGUpdHlwZQorLSAoc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVu
dD4pY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOihXZWJLaXQ6OldlYkV2ZW50OjpUeXBlKXR5cGUg
d2FzQ2FuY2VsbGVkOihCT09MKWNhbmNlbGxlZAogewogICAgIGF1dG8gbW9kaWZpZXJzID0gd2Vi
RXZlbnRNb2RpZmllcnNGb3JVSUtleU1vZGlmaWVyRmxhZ3Moc2VsZi5tb2RpZmllckZsYWdzKTsK
ICAgICBCT09MIGlzUmlnaHRCdXR0b24gPSBtb2RpZmllcnMuY29udGFpbnMoV2ViS2l0OjpXZWJF
dmVudDo6TW9kaWZpZXI6OkNvbnRyb2xLZXkpIHx8IChfcHJlc3NlZEJ1dHRvbk1hc2sgJiYgKCpf
cHJlc3NlZEJ1dHRvbk1hc2sgJiBVSUV2ZW50QnV0dG9uTWFza1NlY29uZGFyeSkpOwpAQCAtMTQ1
LDcgKzE0NSw3IEBAIC0gKHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZl
bnQ+KWNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTooV2ViS2l0CiAKICAgICAvLyBVSVRvdWNoJ3Mg
dGltZXN0YW1wIHVzZXMgbWFjaF9hYnNvbHV0ZV90aW1lIGFzIGl0cyB0aW1lYmFzZSwgc2FtZSBh
cyBNb25vdG9uaWNUaW1lLgogICAgIGF1dG8gdGltZXN0YW1wID0gTW9ub3RvbmljVGltZTo6ZnJv
bVJhd1NlY29uZHMoW19jdXJyZW50VG91Y2ggdGltZXN0YW1wXSkuYXBwcm94aW1hdGVXYWxsVGlt
ZSgpOwotICAgIHJldHVybiBXVEY6Om1ha2VVbmlxdWU8V2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2
ZW50Pih0eXBlLCBidXR0b24sIGJ1dHRvbnMsIHBvaW50LCBwb2ludCwgMCwgMCwgMCwgW19jdXJy
ZW50VG91Y2ggdGFwQ291bnRdLCBtb2RpZmllcnMsIHRpbWVzdGFtcCwgMCk7CisgICAgcmV0dXJu
IFdURjo6bWFrZVVuaXF1ZTxXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ+KHR5cGUsIGJ1dHRv
biwgYnV0dG9ucywgcG9pbnQsIHBvaW50LCAwLCAwLCAwLCBbX2N1cnJlbnRUb3VjaCB0YXBDb3Vu
dF0sIG1vZGlmaWVycywgdGltZXN0YW1wLCAwLCBjYW5jZWxsZWQpOwogfQogCiAtICh2b2lkKXRv
dWNoZXNCZWdhbjooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50
ICopZXZlbnQKQEAgLTE1Myw3ICsxNTMsNyBAQCAtICh2b2lkKXRvdWNoZXNCZWdhbjooTlNTZXQ8
VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKICAgICBfdG91
Y2hpbmcgPSBZRVM7CiAgICAgX3ByZXNzZWRCdXR0b25NYXNrID0gW2V2ZW50IF9idXR0b25NYXNr
XTsKIAotICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0aFR5cGU6V2Vi
S2l0OjpXZWJFdmVudDo6TW91c2VEb3duXTsKKyAgICBfbGFzdEV2ZW50ID0gW3NlbGYgY3JlYXRl
TW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNlRG93biB3YXNDYW5jZWxs
ZWQ6Tk9dOwogICAgIF9sYXN0TG9jYXRpb24gPSBbc2VsZiBsb2NhdGlvbkluVmlldzpzZWxmLnZp
ZXddOwogCiAgICAgc2VsZi5zdGF0ZSA9IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUNoYW5nZWQ7
CkBAIC0xNjEsNyArMTYxLDcgQEAgLSAodm9pZCl0b3VjaGVzQmVnYW46KE5TU2V0PFVJVG91Y2gg
Kj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiAKIC0gKHZvaWQpdG91Y2hl
c01vdmVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKill
dmVudAogewotICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0aFR5cGU6
V2ViS2l0OjpXZWJFdmVudDo6TW91c2VNb3ZlXTsKKyAgICBfbGFzdEV2ZW50ID0gW3NlbGYgY3Jl
YXRlTW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNlTW92ZSB3YXNDYW5j
ZWxsZWQ6Tk9dOwogICAgIF9sYXN0TG9jYXRpb24gPSBbc2VsZiBsb2NhdGlvbkluVmlldzpzZWxm
LnZpZXddOwogCiAgICAgc2VsZi5zdGF0ZSA9IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUNoYW5n
ZWQ7CkBAIC0xNjksNyArMTY5LDcgQEAgLSAodm9pZCl0b3VjaGVzTW92ZWQ6KE5TU2V0PFVJVG91
Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiAKIC0gKHZvaWQpdG91
Y2hlc0VuZGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQg
KilldmVudAogewotICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0aFR5
cGU6V2ViS2l0OjpXZWJFdmVudDo6TW91c2VVcF07CisgICAgX2xhc3RFdmVudCA9IFtzZWxmIGNy
ZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZVVwIHdhc0NhbmNl
bGxlZDpOT107CiAgICAgX2xhc3RMb2NhdGlvbiA9IFtzZWxmIGxvY2F0aW9uSW5WaWV3OnNlbGYu
dmlld107CiAKICAgICBfdG91Y2hpbmcgPSBOTzsKQEAgLTE4MCwxMiArMTgwLDE4IEBAIC0gKHZv
aWQpdG91Y2hlc0VuZGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJ
RXZlbnQgKilldmVudAogCiAtICh2b2lkKXRvdWNoZXNDYW5jZWxsZWQ6KE5TU2V0PFVJVG91Y2gg
Kj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiB7Ci0gICAgW3NlbGYgdG91
Y2hlc0VuZGVkOnRvdWNoZXMgd2l0aEV2ZW50OmV2ZW50XTsKKyAgICBfbGFzdEV2ZW50ID0gW3Nl
bGYgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNlVXAgd2Fz
Q2FuY2VsbGVkOllFU107CisgICAgX2xhc3RMb2NhdGlvbiA9IFtzZWxmIGxvY2F0aW9uSW5WaWV3
OnNlbGYudmlld107CisKKyAgICBfdG91Y2hpbmcgPSBOTzsKKyAgICBfcHJlc3NlZEJ1dHRvbk1h
c2sgPSBXVEY6Om51bGxvcHQ7CisKKyAgICBzZWxmLnN0YXRlID0gVUlHZXN0dXJlUmVjb2duaXpl
clN0YXRlQ2hhbmdlZDsKIH0KIAogLSAodm9pZClfaG92ZXJFbnRlcmVkOihOU1NldDxVSVRvdWNo
ICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudAogewotICAgIF9sYXN0RXZl
bnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0aFR5cGU6V2ViS2l0OjpXZWJFdmVudDo6TW91
c2VNb3ZlXTsKKyAgICBfbGFzdEV2ZW50ID0gW3NlbGYgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBl
OldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNlTW92ZSB3YXNDYW5jZWxsZWQ6Tk9dOwogCiAgICAgaWYg
KF9jdXJyZW50SG92ZXJFdmVudCA9PSBuaWwgJiYgdG91Y2hlcy5jb3VudCA9PSAxICYmIFtldmVu
dCBpc0tpbmRPZkNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiVUlIb3ZlckV2ZW50IildKSB7CiAg
ICAgICAgIF9jdXJyZW50SG92ZXJFdmVudCA9IGV2ZW50OwpAQCAtMjAyLDcgKzIwOCw3IEBAIC0g
KHZvaWQpX2hvdmVyTW92ZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDoo
VUlFdmVudCAqKWV2ZW50CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBfbGFzdEV2ZW50
ID0gW3NlbGYgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNl
TW92ZV07CisgICAgX2xhc3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpX
ZWJLaXQ6OldlYkV2ZW50OjpNb3VzZU1vdmUgd2FzQ2FuY2VsbGVkOk5PXTsKICAgICBfbGFzdExv
Y2F0aW9uID0gW3NlbGYgbG9jYXRpb25JblZpZXc6c2VsZi52aWV3XTsKIAogICAgIGlmIChfY3Vy
cmVudEhvdmVyRXZlbnQgPT0gZXZlbnQgJiYgW3RvdWNoZXMgY29udGFpbnNPYmplY3Q6X2N1cnJl
bnRUb3VjaC5nZXQoKV0pCkBAIC0yMTEsNyArMjE3LDcgQEAgLSAodm9pZClfaG92ZXJNb3ZlZDoo
TlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKIAog
LSAodm9pZClfaG92ZXJFeGl0ZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVu
dDooVUlFdmVudCAqKWV2ZW50CiB7Ci0gICAgX2xhc3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNl
RXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZU1vdmVdOworICAgIF9sYXN0RXZl
bnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0aFR5cGU6V2ViS2l0OjpXZWJFdmVudDo6TW91
c2VNb3ZlIHdhc0NhbmNlbGxlZDpOT107CiAgICAgX2xhc3RMb2NhdGlvbiA9IFtzZWxmIGxvY2F0
aW9uSW5WaWV3OnNlbGYudmlld107CiAKICAgICBpZiAoX2N1cnJlbnRIb3ZlckV2ZW50ID09IGV2
ZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IGNkOWMyYzA4NDE4ZThjMDZmMTRkMWExN2VmOWFlZjA5ZWMwMmI2NDEuLjBjMzEzM2Q3ZGU5
MzY5YTMyYzQyZDdmOGRiOGFhZmQxZjhmN2MxMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yOTAzLDYgKzI5MDMsOCBAQCBzdGF0aWMgYm9v
bCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIG1vdXNlRXZlbnQsIFdlYlBh
Z2UqIHBhZ2UpCiAgICAgICAgICAgICByZXR1cm4gaGFuZGxlZDsKICAgICAgICAgfQogICAgICAg
ICBjYXNlIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUmVsZWFzZWQ6CisgICAgICAgICAgICBpZiAobW91
c2VFdmVudC5nZXN0dXJlQ2FuY2VsbGVkKCkpCisgICAgICAgICAgICAgICAgZnJhbWUuZXZlbnRI
YW5kbGVyKCkuaW52YWxpZGF0ZUNsaWNrKCk7CiAgICAgICAgICAgICByZXR1cm4gcGFnZS0+Y29y
ZVBhZ2UoKS0+dXNlcklucHV0QnJpZGdlKCkuaGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocGxhdGZv
cm1Nb3VzZUV2ZW50KTsKIAogICAgICAgICBjYXNlIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQ6
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTAx
YTk0OTUxODg2NjZjNTVlYzZmYzYxMWVhOTg1NDJlZjQ4MmNlYy4uMjFiYjMwZjYyYWMxOTljYTQ4
NGNhNmU3MjRjMDczN2E3OTA1YjhlYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTIwICBUaW0gSG9ydG9u
ICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExvbmctcHJlc3NpbmcgYSBk
YXRhIGRldGVjdG9ycyBsaW5rIGNhdXNlcyB0aGUgbGluayB0byBiZSBmb2xsb3dlZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0ODQ3CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83Mjg4OTczOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvaU9T
TW91c2VTdXBwb3J0Lm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAgIEFkZCB0ZXN0cyBlbnN1
cmluZyB0aGF0IHdlIGdldCBhIGNsaWNrIGV2ZW50IGZvciBjb21wbGV0ZWQgdG91Y2hlcywgYW5k
IG5vdCBmb3IgY2FuY2VsbGVkIHRvdWNoZXMuCisKIDIwMjEtMDQtMjAgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFBhcnNlIGB0aGVtZV9jb2xvcmAgaW4gd2Vi
IGFwcGxpY2F0aW9uIG1hbmlmZXN0cyBhbmQgcGFzcyBpdCBhbG9uZyB0byBgLVtXS1dlYlZpZXcg
dGhlbWVDb2xvcl1gCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL2lPU01vdXNlU3VwcG9ydC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvaU9TTW91c2VTdXBwb3J0Lm1tCmluZGV4IDY0YThkODcyNDhhNWJmNzNiOWM0NzZk
M2FhMGQ2Y2JiNTAwNzFkZTcuLmNlODU4YmFjMzFhMTkyZmFlNDYzNDZhMGRjMGRjOWU2ZTM5MTg3
Y2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvaU9T
TW91c2VTdXBwb3J0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvaU9TTW91c2VTdXBwb3J0Lm1tCkBAIC0yMzQsNiArMjM0LDg2IEBAIFRFU1QoaU9TTW91c2VT
dXBwb3J0LCBNb3VzZVRpbWVzdGFtcFRpbWViYXNlKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZG9uZSk7CiB9CiAKK1RFU1QoaU9TTW91c2VTdXBwb3J0LCBFbmRlZFRvdWNoZXNUcmln
Z2VyQ2xpY2spCit7CisgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tX
S1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byB3ZWJWaWV3ID0g
YWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgw
LCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0p
OworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAIjxzY3JpcHQ+Igor
ICAgICJ3aW5kb3cud2FzQ2xpY2tlZCA9IGZhbHNlOyIKKyAgICAiZG9jdW1lbnQuZG9jdW1lbnRF
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsiCisgICAgIiAg
ICB3aW5kb3cud2FzQ2xpY2tlZCA9IHRydWU7IgorICAgICJ9KTsiCisgICAgIjwvc2NyaXB0PiJd
OworCisgICAgYXV0byBjb250ZW50VmlldyA9IFt3ZWJWaWV3IHdrQ29udGVudFZpZXddOworICAg
IGF1dG8gZ2VzdHVyZSA9IG1vdXNlR2VzdHVyZShjb250ZW50Vmlldyk7CisKKyAgICBSZXRhaW5Q
dHI8V0tUZXN0aW5nVG91Y2g+IHRvdWNoID0gYWRvcHROUyhbW1dLVGVzdGluZ1RvdWNoIGFsbG9j
XSBpbml0XSk7CisgICAgUmV0YWluUHRyPE5TU2V0PiB0b3VjaFNldCA9IFtOU1NldCBzZXRXaXRo
T2JqZWN0OnRvdWNoLmdldCgpXTsKKworICAgIFJldGFpblB0cjxXS1Rlc3RpbmdFdmVudD4gaG92
ZXJFdmVudCA9IGFkb3B0TlMoW1tOU0NsYXNzRnJvbVN0cmluZyhAIlVJSG92ZXJFdmVudCIpIGFs
bG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPFdLVGVzdGluZ0V2ZW50PiBldmVudCA9IGFkb3B0
TlMoW1tXS1Rlc3RpbmdFdmVudCBhbGxvY10gaW5pdF0pOworCisgICAgW2dlc3R1cmUgX2hvdmVy
RW50ZXJlZDp0b3VjaFNldC5nZXQoKSB3aXRoRXZlbnQ6aG92ZXJFdmVudC5nZXQoKV07CisgICAg
W2NvbnRlbnRWaWV3IG1vdXNlR2VzdHVyZVJlY29nbml6ZXJDaGFuZ2VkOmdlc3R1cmVdOworICAg
IFt0b3VjaCBzZXRUYXBDb3VudDoxXTsKKyAgICBbZXZlbnQgX3NldEJ1dHRvbk1hc2s6VUlFdmVu
dEJ1dHRvbk1hc2tQcmltYXJ5XTsKKyAgICBbZ2VzdHVyZSB0b3VjaGVzQmVnYW46dG91Y2hTZXQu
Z2V0KCkgd2l0aEV2ZW50OmV2ZW50LmdldCgpXTsKKyAgICBbY29udGVudFZpZXcgbW91c2VHZXN0
dXJlUmVjb2duaXplckNoYW5nZWQ6Z2VzdHVyZV07CisgICAgW2dlc3R1cmUgdG91Y2hlc0VuZGVk
OnRvdWNoU2V0LmdldCgpIHdpdGhFdmVudDpldmVudC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3
IG1vdXNlR2VzdHVyZVJlY29nbml6ZXJDaGFuZ2VkOmdlc3R1cmVdOworCisgICAgX19ibG9jayBi
b29sIGRvbmUgPSBmYWxzZTsKKworICAgIFt3ZWJWaWV3IF9kb0FmdGVyUHJvY2Vzc2luZ0FsbFBl
bmRpbmdNb3VzZUV2ZW50czpeeworICAgICAgICBib29sIHdhc0NsaWNrZWQgPSBbW3dlYlZpZXcg
b2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy53YXNDbGlja2VkIl0gYm9vbFZh
bHVlXTsKKyAgICAgICAgRVhQRUNUX1RSVUUod2FzQ2xpY2tlZCk7CisgICAgICAgIGRvbmUgPSB0
cnVlOworICAgIH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKK30K
KworVEVTVChpT1NNb3VzZVN1cHBvcnQsIENhbmNlbGxlZFRvdWNoZXNEb05vdFRyaWdnZXJDbGlj
aykKK3sKKyAgICBhdXRvIHdlYlZpZXdDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5T
KFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgw
MCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAg
W3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nOkAiPHNjcmlwdD4iCisgICAgIndp
bmRvdy53YXNDbGlja2VkID0gZmFsc2U7IgorICAgICJkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQu
YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZSkgeyIKKyAgICAiICAgIHdpbmRv
dy53YXNDbGlja2VkID0gdHJ1ZTsiCisgICAgIn0pOyIKKyAgICAiPC9zY3JpcHQ+Il07CisKKyAg
ICBhdXRvIGNvbnRlbnRWaWV3ID0gW3dlYlZpZXcgd2tDb250ZW50Vmlld107CisgICAgYXV0byBn
ZXN0dXJlID0gbW91c2VHZXN0dXJlKGNvbnRlbnRWaWV3KTsKKworICAgIFJldGFpblB0cjxXS1Rl
c3RpbmdUb3VjaD4gdG91Y2ggPSBhZG9wdE5TKFtbV0tUZXN0aW5nVG91Y2ggYWxsb2NdIGluaXRd
KTsKKyAgICBSZXRhaW5QdHI8TlNTZXQ+IHRvdWNoU2V0ID0gW05TU2V0IHNldFdpdGhPYmplY3Q6
dG91Y2guZ2V0KCldOworCisgICAgUmV0YWluUHRyPFdLVGVzdGluZ0V2ZW50PiBob3ZlckV2ZW50
ID0gYWRvcHROUyhbW05TQ2xhc3NGcm9tU3RyaW5nKEAiVUlIb3ZlckV2ZW50IikgYWxsb2NdIGlu
aXRdKTsKKyAgICBSZXRhaW5QdHI8V0tUZXN0aW5nRXZlbnQ+IGV2ZW50ID0gYWRvcHROUyhbW1dL
VGVzdGluZ0V2ZW50IGFsbG9jXSBpbml0XSk7CisKKyAgICBbZ2VzdHVyZSBfaG92ZXJFbnRlcmVk
OnRvdWNoU2V0LmdldCgpIHdpdGhFdmVudDpob3ZlckV2ZW50LmdldCgpXTsKKyAgICBbY29udGVu
dFZpZXcgbW91c2VHZXN0dXJlUmVjb2duaXplckNoYW5nZWQ6Z2VzdHVyZV07CisgICAgW3RvdWNo
IHNldFRhcENvdW50OjFdOworICAgIFtldmVudCBfc2V0QnV0dG9uTWFzazpVSUV2ZW50QnV0dG9u
TWFza1ByaW1hcnldOworICAgIFtnZXN0dXJlIHRvdWNoZXNCZWdhbjp0b3VjaFNldC5nZXQoKSB3
aXRoRXZlbnQ6ZXZlbnQuZ2V0KCldOworICAgIFtjb250ZW50VmlldyBtb3VzZUdlc3R1cmVSZWNv
Z25pemVyQ2hhbmdlZDpnZXN0dXJlXTsKKyAgICBbZ2VzdHVyZSB0b3VjaGVzQ2FuY2VsbGVkOnRv
dWNoU2V0LmdldCgpIHdpdGhFdmVudDpldmVudC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3IG1v
dXNlR2VzdHVyZVJlY29nbml6ZXJDaGFuZ2VkOmdlc3R1cmVdOworCisgICAgX19ibG9jayBib29s
IGRvbmUgPSBmYWxzZTsKKworICAgIFt3ZWJWaWV3IF9kb0FmdGVyUHJvY2Vzc2luZ0FsbFBlbmRp
bmdNb3VzZUV2ZW50czpeeworICAgICAgICBib29sIHdhc0NsaWNrZWQgPSBbW3dlYlZpZXcgb2Jq
ZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy53YXNDbGlja2VkIl0gYm9vbFZhbHVl
XTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHdhc0NsaWNrZWQpOworICAgICAgICBkb25lID0gdHJ1
ZTsKKyAgICB9XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9CisK
ICNpZiBFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKIAogVEVTVChpT1NNb3VzZVN1cHBvcnQsIFdl
YnNpdGVNb3VzZUV2ZW50UG9saWNpZXMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426652</attachid>
            <date>2021-04-20 23:50:01 -0700</date>
            <delta_ts>2021-04-21 00:38:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224847-20210420235000.patch</filename>
            <type>text/plain</type>
            <size>25389</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmY5NmU5MjU5N2I5OGQz
NDQ1ZDk0OGNmMjBiNDM3ZTJjMmQzYjI3My4uZmE5ZjJiNWJjMWM3Mjg2NmJiZmE0NGEwMjQzMTBm
MWVjNTEzNzA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTIwICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIExvbmctcHJlc3Np
bmcgYSBkYXRhIGRldGVjdG9ycyBsaW5rIGNhdXNlcyB0aGUgbGluayB0byBiZSBmb2xsb3dlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0ODQ3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83Mjg4OTczOD4KKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgTmV3IEFQSSB0ZXN0czogaU9TTW91c2VTdXBwb3J0LntF
bmRlZFRvdWNoZXNUcmlnZ2VyQ2xpY2ssQ2FuY2VsbGVkVG91Y2hlc0RvTm90VHJpZ2dlckNsaWNr
fQorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKwogMjAyMS0wNC0yMCAgQnJlbnQg
RnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFByZXZlbnQg
R1BVIGFuZCBXZWJDb250ZW50IHByb2Nlc3NlcyBmcm9tIGF0dGVtcHRpbmcgdG8gY29ubmVjdCB0
byB0aGUgQXBwU1NPIHNlcnZpY2UgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlkOTc3M2NhOWZkZjllNmQ0YzY1OTIx
NWFiM2Y4NmExZTA4NGRiMTEuLmQwMDk3ZDhmMjRmMDIzZWM2ZDQxNzZlODkxNDQ4ODk4MTU2NmJi
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjEtMDQtMjAgIFRpbSBIb3J0b24gIDx0
aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTG9uZy1wcmVzc2luZyBhIGRhdGEg
ZGV0ZWN0b3JzIGxpbmsgY2F1c2VzIHRoZSBsaW5rIHRvIGJlIGZvbGxvd2VkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ4NDcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzcyODg5NzM4PgorCisgICAgICAgIFJldmlld2VkIGJ5IFdlbnNvbiBIc2ll
aC4KKworICAgICAgICBPbiBpT1MsIGl0IGlzIHBvc3NpYmxlIGZvciBhIGdlc3R1cmUgdG8gYmUg
ZXh0ZXJuYWxseSBjYW5jZWxsZWQgKGluIHRoaXMgY2FzZSwKKyAgICAgICAgd2hlbiBhIGRhdGEg
ZGV0ZWN0b3JzIGNvbnRleHQgbWVudSBpcyBwcmVzZW50ZWQgYnkgbG9uZyBwcmVzc2luZyBhIGxp
bmspLgorICAgICAgICBUaGlzIGlzIHJlcG9ydGVkIHRvIFdLTW91c2VHZXN0dXJlUmVjb2duaXpl
ciBhcyAidG91Y2hlcyBjYW5jZWxsZWQiLgorICAgICAgICBDdXJyZW50bHksIFdLTW91c2VHZXN0
dXJlUmVjb2duaXplciBqdXN0IHJ1bnMgd2l0aCB0aGF0IGFzIGEgbm9ybWFsCisgICAgICAgICJt
b3VzZSBidXR0b24gcmVsZWFzZSIgZXZlbnQsIHdoaWNoIHRoZW4gY2F1c2VzIHRoZSBsaW5rIHRo
YXQgeW91J3JlIGxvbmcKKyAgICAgICAgcHJlc3NpbmcgdG8gYWxzbyBiZSBmb2xsb3dlZC4KKwor
ICAgICAgICAqIFNoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50Lmg6CisgICAgICAgICogU2hhcmVk
L1dlYk1vdXNlRXZlbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNb3VzZUV2ZW50OjpXZWJN
b3VzZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViTW91c2VFdmVudDo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViTW91c2VFdmVudDo6ZGVjb2RlKToKKyAgICAgICAgKiBT
aGFyZWQvV2ViTW91c2VFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJNb3VzZUV2ZW50Ojpn
ZXN0dXJlQ2FuY2VsbGVkIGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvaW9zL05hdGl2ZVdlYk1v
dXNlRXZlbnRJT1MubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ6Ok5h
dGl2ZVdlYk1vdXNlRXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tNb3VzZUdlc3R1
cmVSZWNvZ25pemVyLm1tOgorICAgICAgICAoLVtXS01vdXNlR2VzdHVyZVJlY29nbml6ZXIgY3Jl
YXRlTW91c2VFdmVudFdpdGhUeXBlOndhc0NhbmNlbGxlZDpdKToKKyAgICAgICAgKC1bV0tNb3Vz
ZUdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNCZWdhbjp3aXRoRXZlbnQ6XSk6CisgICAgICAgICgt
W1dLTW91c2VHZXN0dXJlUmVjb2duaXplciB0b3VjaGVzTW92ZWQ6d2l0aEV2ZW50Ol0pOgorICAg
ICAgICAoLVtXS01vdXNlR2VzdHVyZVJlY29nbml6ZXIgdG91Y2hlc0VuZGVkOndpdGhFdmVudDpd
KToKKyAgICAgICAgKC1bV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyIHRvdWNoZXNDYW5jZWxsZWQ6
d2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS01vdXNlR2VzdHVyZVJlY29nbml6ZXIgX2hvdmVy
RW50ZXJlZDp3aXRoRXZlbnQ6XSk6CisgICAgICAgICgtW1dLTW91c2VHZXN0dXJlUmVjb2duaXpl
ciBfaG92ZXJNb3ZlZDp3aXRoRXZlbnQ6XSk6CisgICAgICAgICgtW1dLTW91c2VHZXN0dXJlUmVj
b2duaXplciBfaG92ZXJFeGl0ZWQ6d2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS01vdXNlR2Vz
dHVyZVJlY29nbml6ZXIgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOl0pOiBEZWxldGVkLgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
aGFuZGxlTW91c2VFdmVudCk6CisgICAgICAgIEFkZCBhIGJpdCB0byBXZWJLaXQ6OldlYk1vdXNl
RXZlbnQgaW5kaWNhdGluZyB0aGF0IHRoZSBnZXN0dXJlIGl0IGlzIGEgcGFydCBvZgorICAgICAg
ICB3YXMgY2FuY2VsbGVkLiBUaGlzIHdpbGwgb25seSBiZSBzZXQgb24gdGhlIG1vdXNlIHJlbGVh
c2UgZXZlbnQgZGlzcGF0Y2hlZCBmcm9tCisgICAgICAgIHRvdWNoZXNDYW5jZWxsZWQgZnJvbSBX
S01vdXNlR2VzdHVyZVJlY29nbml6ZXIsIGFuZCB3aWxsIGNhdXNlIFdlYkNvcmUgdG8KKyAgICAg
ICAgYXZvaWQgZGlzcGF0Y2hpbmcgdGhlIGNsaWNrIGV2ZW50LCBhcyB5b3Ugd291bGQgb24gbWFj
T1MgaWYgeW91IGUuZy4KKyAgICAgICAgbW92ZWQgdGhlIG1vdXNlIHRvbyBmYXIgZnJvbSBpdHMg
b3JpZ2luIGR1cmluZyB0aGUgcHJlc3MuCisKKyAgICAgICAgUGx1bWIgdGhlIGJpdCBhbGwgdGhl
IHdheSBmcm9tIFdLTW91c2VHZXN0dXJlUmVjb2duaXplciwgdGhyb3VnaCB0aGUKKyAgICAgICAg
TmF0aXZlV2ViTW91c2VFdmVudCBjb25zdHJ1Y3RvciwgdG8gV2ViTW91c2VFdmVudCwgYW5kIHRo
ZW4gY2hlY2sgaXQKKyAgICAgICAgYW5kIGNhbGwgaW52YWxpZGF0ZUNsaWNrKCkgaW1tZWRpYXRl
bHkgYmVmb3JlIGhhbmRpbmcgV2ViQ29yZSB0aGUKKyAgICAgICAgbW91c2UgcmVsZWFzZSBldmVu
dCwgdG8gYXZvaWQgdGhlIGNsaWNrIGV2ZW50LgorCiAyMDIxLTA0LTIwICBJYW4gR2lsYmVydCAg
PGlhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGR1ZSB0byBWZWN0b3JCdWZmZXIgcHJl
LWFsbG9jYXRpb24gZmFpbHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggNWQw
NDIwMzhiZjM0YmY4OWZmZTNkYjk5NDc2MzczNzg4OTQ1Mjg3OS4uMjFlNjNhMzBlYzExY2Q3Mzlk
YTRkNWE4OWI5YjU0OGFlZmE5NTc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBA
IC0zMTYsOCArMzE2LDYgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBzdGF0aWMgV2ViRXZlbnQgKmN1cnJlbnRFdmVudCgpOwotCi0gICAgdm9pZCBpbnZhbGlkYXRl
Q2xpY2soKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKQEAgLTM1Myw2ICsz
NTEsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBFbGVtZW50KiBk
cmFnZ2luZ0VsZW1lbnQoKSBjb25zdDsKICNlbmRpZgorCisgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBpbnZhbGlkYXRlQ2xpY2soKTsKKwogcHJpdmF0ZToKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogICAgIHN0YXRpYyBEcmFnU3RhdGUmIGRyYWdTdGF0ZSgpOwpAQCAtNDA5LDEwICs0MTAsNiBA
QCBwcml2YXRlOgogICAgIGJvb2wgZGlzcGF0Y2hTeW50aGV0aWNUb3VjaEV2ZW50SWZFbmFibGVk
KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogI2VuZGlmCiAKLSNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKLSAgICB2b2lkIGludmFsaWRhdGVDbGljaygpOwotI2VuZGlmCi0KICAgICBOb2Rl
KiBub2RlVW5kZXJNb3VzZSgpIGNvbnN0OwogICAgIAogICAgIGVudW0gY2xhc3MgRmlyZU1vdXNl
T3Zlck91dCB7IE5vLCBZZXMgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05h
dGl2ZVdlYk1vdXNlRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdGl2ZVdlYk1vdXNl
RXZlbnQuaAppbmRleCBiODM4ZmNhOTcwMmMxNDMyNjAyMTc2YmIxM2VmMDUyZGIyMjRlODJlLi45
YjhkZDQyYjJlM2NjMmU2ZjZjMjRiMjEwNGM2ODJjYjhmOThlYTczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9OYXRpdmVXZWJNb3VzZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvTmF0aXZlV2ViTW91c2VFdmVudC5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBOYXRpdmVXZWJNb3VzZUV2ZW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50
Jik7CiAjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIE5hdGl2ZVdlYk1vdXNlRXZlbnQo
OjpXZWJFdmVudCAqKTsKLSAgICBOYXRpdmVXZWJNb3VzZUV2ZW50KFR5cGUsIEJ1dHRvbiwgdW5z
aWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxv
YXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZp
ZXI+LCBXYWxsVGltZSB0aW1lc3RhbXAsIGRvdWJsZSBmb3JjZSk7CisgICAgTmF0aXZlV2ViTW91
c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBv
c2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xp
Y2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUg
Zm9yY2UsIEdlc3R1cmVXYXNDYW5jZWxsZWQpOwogI2VsaWYgVVNFKExJQldQRSkKICAgICBOYXRp
dmVXZWJNb3VzZUV2ZW50KHN0cnVjdCB3cGVfaW5wdXRfcG9pbnRlcl9ldmVudCosIGZsb2F0IGRl
dmljZVNjYWxlRmFjdG9yKTsKICNlbGlmIFBMQVRGT1JNKFdJTikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViTW91c2VFdmVudC5jcHAKaW5kZXggNDFiMjQzNTk3ODM4MjBlMzllZDI0MmNlOWEyYTRiZTRh
NjlkNDU3ZS4uNGIyODE2MzYxZjE2MGYyM2FkNWY3ZDhmZjZjN2ZmMDRiMjUzMjk4NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5jcHAKQEAgLTM0LDkgKzM0LDkgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiBXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KCkgPSBkZWZh
dWx0OwogCiAjaWYgUExBVEZPUk0oTUFDKQotV2ViTW91c2VFdmVudDo6V2ViTW91c2VFdmVudChU
eXBlIHR5cGUsIEJ1dHRvbiBidXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IElu
dFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBm
bG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwg
T3B0aW9uU2V0PE1vZGlmaWVyPiBtb2RpZmllcnMsIFdhbGxUaW1lIHRpbWVzdGFtcCwgZG91Ymxl
IGZvcmNlLCBTeW50aGV0aWNDbGlja1R5cGUgc3ludGhldGljQ2xpY2tUeXBlLCBpbnQgZXZlbnRO
dW1iZXIsIGludCBtZW51VHlwZSkKK1dlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQoVHlwZSB0
eXBlLCBCdXR0b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjb25zdCBJbnRQb2lu
dCYgcG9zaXRpb25JblZpZXcsIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgZmxvYXQg
ZGVsdGFYLCBmbG9hdCBkZWx0YVksIGZsb2F0IGRlbHRhWiwgaW50IGNsaWNrQ291bnQsIE9wdGlv
blNldDxNb2RpZmllcj4gbW9kaWZpZXJzLCBXYWxsVGltZSB0aW1lc3RhbXAsIGRvdWJsZSBmb3Jj
ZSwgU3ludGhldGljQ2xpY2tUeXBlIHN5bnRoZXRpY0NsaWNrVHlwZSwgaW50IGV2ZW50TnVtYmVy
LCBpbnQgbWVudVR5cGUsIEdlc3R1cmVXYXNDYW5jZWxsZWQgZ2VzdHVyZVdhc0NhbmNlbGxlZCkK
ICNlbHNlCi1XZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KFR5cGUgdHlwZSwgQnV0dG9uIGJ1
dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uSW5W
aWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQg
ZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+
IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UsIFN5bnRoZXRpY0Ns
aWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIFdlYkNvcmU6OlBvaW50ZXJJRCBwb2ludGVySWQs
IGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUpCitXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50
KFR5cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3Qg
SW50UG9pbnQmIHBvc2l0aW9uSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24s
IGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50
LCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3Vi
bGUgZm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSBzeW50aGV0aWNDbGlja1R5cGUsIFdlYkNvcmU6
OlBvaW50ZXJJRCBwb2ludGVySWQsIGNvbnN0IFN0cmluZyYgcG9pbnRlclR5cGUsIEdlc3R1cmVX
YXNDYW5jZWxsZWQgZ2VzdHVyZVdhc0NhbmNlbGxlZCkKICNlbmRpZgogICAgIDogV2ViRXZlbnQo
dHlwZSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApCiAgICAgLCBtX2J1dHRvbihidXR0b24pCkBAIC01
Nyw2ICs1Nyw3IEBAIFdlYk1vdXNlRXZlbnQ6OldlYk1vdXNlRXZlbnQoVHlwZSB0eXBlLCBCdXR0
b24gYnV0dG9uLCB1bnNpZ25lZCBzaG9ydCBidXR0b25zLCBjCiAgICAgLCBtX3BvaW50ZXJJZChw
b2ludGVySWQpCiAgICAgLCBtX3BvaW50ZXJUeXBlKHBvaW50ZXJUeXBlKQogI2VuZGlmCisgICAg
LCBtX2dlc3R1cmVXYXNDYW5jZWxsZWQoZ2VzdHVyZVdhc0NhbmNlbGxlZCkKIHsKICAgICBBU1NF
UlQoaXNNb3VzZUV2ZW50VHlwZSh0eXBlKSk7CiB9CkBAIC04MSw2ICs4Miw3IEBAIHZvaWQgV2Vi
TW91c2VFdmVudDo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNv
ZGVyIDw8IG1fc3ludGhldGljQ2xpY2tUeXBlOwogICAgIGVuY29kZXIgPDwgbV9wb2ludGVySWQ7
CiAgICAgZW5jb2RlciA8PCBtX3BvaW50ZXJUeXBlOworICAgIGVuY29kZXIgPDwgbV9nZXN0dXJl
V2FzQ2FuY2VsbGVkOwogfQogCiBib29sIFdlYk1vdXNlRXZlbnQ6OmRlY29kZShJUEM6OkRlY29k
ZXImIGRlY29kZXIsIFdlYk1vdXNlRXZlbnQmIHJlc3VsdCkKQEAgLTExOSw2ICsxMjEsOCBAQCBi
b29sIFdlYk1vdXNlRXZlbnQ6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdlYk1vdXNl
RXZlbnQmIHJlc3VsdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUocmVzdWx0Lm1fcG9pbnRlclR5cGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQubV9nZXN0dXJlV2FzQ2FuY2VsbGVkKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJNb3VzZUV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJNb3VzZUV2ZW50LmgKaW5kZXggNDRlNjcxYzFhZTdkMjU1N2M1NWVhNmIzMjZlNDE1YTg5NGNh
MGNlNy4uM2RiZTEwZDQ5YjRkZTM0NjM2OTAwZWZlMzFmYjU3ZTdlNjBlMzQxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViTW91c2VFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYk1vdXNlRXZlbnQuaApAQCAtMjYsNyArMjYsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBtb3ZlIHRvIG1ha2VpbmcgdGhlIFdl
YkNvcmUvUGxhdGZvcm1Gb29FdmVudHMgdHJpdmlhbCBjbGFzc2VzIHNvIHRoYXQKKy8vIEZJWE1F
OiBXZSBzaG91bGQgcHJvYmFibHkgbW92ZSB0byBtYWtpbmcgdGhlIFdlYkNvcmUvUGxhdGZvcm1G
b29FdmVudHMgdHJpdmlhbCBjbGFzc2VzIHNvIHRoYXQKIC8vIHdlIGNhbiB1c2UgdGhlbSBhcyB0
aGUgZXZlbnQgdHlwZS4KIAogI2luY2x1ZGUgIldlYkV2ZW50LmgiCkBAIC0zNiw2ICszNiw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitlbnVtIGNsYXNzIEdlc3R1cmVXYXNDYW5jZWxsZWQg
OiBib29sIHsgTm8sIFllcyB9OworCiBjbGFzcyBXZWJNb3VzZUV2ZW50IDogcHVibGljIFdlYkV2
ZW50IHsKIHB1YmxpYzoKICAgICBlbnVtIEJ1dHRvbiB7CkBAIC01MCw5ICs1Miw5IEBAIHB1Ymxp
YzoKICAgICBXZWJNb3VzZUV2ZW50KCk7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgV2ViTW91
c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBp
bnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBk
b3VibGUgZm9yY2UsIFN5bnRoZXRpY0NsaWNrVHlwZSA9IE5vVGFwLCBpbnQgZXZlbnROdW1iZXIg
PSAtMSwgaW50IG1lbnVUeXBlID0gMCk7CisgICAgV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24s
IHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlv
bkluVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBk
ZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9u
U2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UsIFN5bnRoZXRp
Y0NsaWNrVHlwZSA9IE5vVGFwLCBpbnQgZXZlbnROdW1iZXIgPSAtMSwgaW50IG1lbnVUeXBlID0g
MCwgR2VzdHVyZVdhc0NhbmNlbGxlZCA9IEdlc3R1cmVXYXNDYW5jZWxsZWQ6Ok5vKTsKICNlbHNl
Ci0gICAgV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMs
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxv
YXQgZGVsdGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUg
dGltZXN0YW1wLCBkb3VibGUgZm9yY2UgPSAwLCBTeW50aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwg
V2ViQ29yZTo6UG9pbnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmlu
ZyYgcG9pbnRlclR5cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSk7CisgICAg
V2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24sIHVuc2lnbmVkIHNob3J0IGJ1dHRvbnMsIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbkluVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGdsb2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVs
dGFaLCBpbnQgY2xpY2tDb3VudCwgT3B0aW9uU2V0PE1vZGlmaWVyPiwgV2FsbFRpbWUgdGltZXN0
YW1wLCBkb3VibGUgZm9yY2UgPSAwLCBTeW50aGV0aWNDbGlja1R5cGUgPSBOb1RhcCwgV2ViQ29y
ZTo6UG9pbnRlcklEID0gV2ViQ29yZTo6bW91c2VQb2ludGVySUQsIGNvbnN0IFN0cmluZyYgcG9p
bnRlclR5cGUgPSBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgR2VzdHVyZVdhc0Nh
bmNlbGxlZCA9IEdlc3R1cmVXYXNDYW5jZWxsZWQ6Ok5vKTsKICNlbmRpZgogCiAgICAgQnV0dG9u
IGJ1dHRvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJ1dHRvbj4obV9idXR0b24pOyB9
CkBAIC03MSw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICBTeW50aGV0aWNDbGlja1R5cGUgc3ludGhl
dGljQ2xpY2tUeXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8U3ludGhldGljQ2xpY2tU
eXBlPihtX3N5bnRoZXRpY0NsaWNrVHlwZSk7IH0KICAgICBXZWJDb3JlOjpQb2ludGVySUQgcG9p
bnRlcklkKCkgY29uc3QgeyByZXR1cm4gbV9wb2ludGVySWQ7IH0KICAgICBjb25zdCBTdHJpbmcm
IHBvaW50ZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wb2ludGVyVHlwZTsgfQorICAgIEdlc3R1
cmVXYXNDYW5jZWxsZWQgZ2VzdHVyZVdhc0NhbmNlbGxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2Vz
dHVyZVdhc0NhbmNlbGxlZDsgfQogCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29u
c3Q7CiAgICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShJUEM6OkRlY29k
ZXImLCBXZWJNb3VzZUV2ZW50Jik7CkBAIC05NCw2ICs5Nyw3IEBAIHByaXZhdGU6CiAgICAgdWlu
dDMyX3QgbV9zeW50aGV0aWNDbGlja1R5cGUgeyBOb1RhcCB9OwogICAgIFdlYkNvcmU6OlBvaW50
ZXJJRCBtX3BvaW50ZXJJZCB7IFdlYkNvcmU6Om1vdXNlUG9pbnRlcklEIH07CiAgICAgU3RyaW5n
IG1fcG9pbnRlclR5cGUgeyBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSB9OworICAg
IEdlc3R1cmVXYXNDYW5jZWxsZWQgbV9nZXN0dXJlV2FzQ2FuY2VsbGVkIHsgR2VzdHVyZVdhc0Nh
bmNlbGxlZDo6Tm8gfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TaGFyZWQvaW9zL05hdGl2ZVdlYk1vdXNlRXZlbnRJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9pb3MvTmF0aXZlV2ViTW91c2VFdmVudElPUy5tbQppbmRleCA3ZGIw
MGYxNWFiYjIzYmQ2NWM3MjIxM2Y4MGMxZjc4ZGMxMDY0MDU5Li5lNDJkNjlhNDEwZGY0ODA0ZWQ0
YWRjZjRiY2I2MzhjZjFiNDBkYzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9p
b3MvTmF0aXZlV2ViTW91c2VFdmVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9p
b3MvTmF0aXZlV2ViTW91c2VFdmVudElPUy5tbQpAQCAtMzgsOCArMzgsOCBAQCBOYXRpdmVXZWJN
b3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KDo6V2ViRXZlbnQgKmV2ZW50KQogewogfQog
Ci1OYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVXZWJNb3VzZUV2ZW50KFR5cGUgdHlwZSwgQnV0
dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0dG9ucywgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIHBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZs
b2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9hdCBkZWx0YVosIGludCBjbGlja0NvdW50LCBP
cHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywgV2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUg
Zm9yY2UpCi0gICAgOiBXZWJNb3VzZUV2ZW50KHR5cGUsIGJ1dHRvbiwgYnV0dG9ucywgcG9zaXRp
b24sIGdsb2JhbFBvc2l0aW9uLCBkZWx0YVgsIGRlbHRhWSwgZGVsdGFaLCBjbGlja0NvdW50LCBt
b2RpZmllcnMsIHRpbWVzdGFtcCwgZm9yY2UpCitOYXRpdmVXZWJNb3VzZUV2ZW50OjpOYXRpdmVX
ZWJNb3VzZUV2ZW50KFR5cGUgdHlwZSwgQnV0dG9uIGJ1dHRvbiwgdW5zaWduZWQgc2hvcnQgYnV0
dG9ucywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIGZsb2F0IGRlbHRhWCwgZmxvYXQgZGVsdGFZLCBmbG9h
dCBkZWx0YVosIGludCBjbGlja0NvdW50LCBPcHRpb25TZXQ8TW9kaWZpZXI+IG1vZGlmaWVycywg
V2FsbFRpbWUgdGltZXN0YW1wLCBkb3VibGUgZm9yY2UsIEdlc3R1cmVXYXNDYW5jZWxsZWQgZ2Vz
dHVyZVdhc0NhbmNlbGxlZCkKKyAgICA6IFdlYk1vdXNlRXZlbnQodHlwZSwgYnV0dG9uLCBidXR0
b25zLCBwb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIGRlbHRhWCwgZGVsdGFZLCBkZWx0YVosIGNs
aWNrQ291bnQsIG1vZGlmaWVycywgdGltZXN0YW1wLCBmb3JjZSwgTm9UYXAsIFdlYkNvcmU6Om1v
dXNlUG9pbnRlcklELCBXZWJDb3JlOjptb3VzZVBvaW50ZXJFdmVudFR5cGUoKSwgZ2VzdHVyZVdh
c0NhbmNlbGxlZCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLTW91c2VHZXN0dXJlUmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS01vdXNlR2VzdHVyZVJlY29nbml6ZXIubW0KaW5kZXggYzM5YmJlZDEwYjdlZDU0NmU0
ZDg3MDBiMGY4Y2ExMjEzZjkyMmEyZS4uZDc2NzkxYjBmZWVhNjdkYzg1MDlhYjg2OWNhODE1MGUx
MjM4Nzg1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW91c2VH
ZXN0dXJlUmVjb2duaXplci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tN
b3VzZUdlc3R1cmVSZWNvZ25pemVyLm1tCkBAIC0xMTksNyArMTE5LDcgQEAgLSAoQk9PTClfc2hv
dWxkUmVjZWl2ZVByZXNzOihVSVByZXNzICopcHJlc3MKICAgICByZXR1cm4gTk87CiB9CiAKLS0g
KHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ+KWNyZWF0ZU1vdXNl
RXZlbnRXaXRoVHlwZTooV2ViS2l0OjpXZWJFdmVudDo6VHlwZSl0eXBlCistIChzdGQ6OnVuaXF1
ZV9wdHI8V2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50PiljcmVhdGVNb3VzZUV2ZW50V2l0aFR5
cGU6KFdlYktpdDo6V2ViRXZlbnQ6OlR5cGUpdHlwZSB3YXNDYW5jZWxsZWQ6KEJPT0wpY2FuY2Vs
bGVkCiB7CiAgICAgYXV0byBtb2RpZmllcnMgPSB3ZWJFdmVudE1vZGlmaWVyc0ZvclVJS2V5TW9k
aWZpZXJGbGFncyhzZWxmLm1vZGlmaWVyRmxhZ3MpOwogICAgIEJPT0wgaXNSaWdodEJ1dHRvbiA9
IG1vZGlmaWVycy5jb250YWlucyhXZWJLaXQ6OldlYkV2ZW50OjpNb2RpZmllcjo6Q29udHJvbEtl
eSkgfHwgKF9wcmVzc2VkQnV0dG9uTWFzayAmJiAoKl9wcmVzc2VkQnV0dG9uTWFzayAmIFVJRXZl
bnRCdXR0b25NYXNrU2Vjb25kYXJ5KSk7CkBAIC0xNDUsNyArMTQ1LDcgQEAgLSAoc3RkOjp1bmlx
dWVfcHRyPFdlYktpdDo6TmF0aXZlV2ViTW91c2VFdmVudD4pY3JlYXRlTW91c2VFdmVudFdpdGhU
eXBlOihXZWJLaXQKIAogICAgIC8vIFVJVG91Y2gncyB0aW1lc3RhbXAgdXNlcyBtYWNoX2Fic29s
dXRlX3RpbWUgYXMgaXRzIHRpbWViYXNlLCBzYW1lIGFzIE1vbm90b25pY1RpbWUuCiAgICAgYXV0
byB0aW1lc3RhbXAgPSBNb25vdG9uaWNUaW1lOjpmcm9tUmF3U2Vjb25kcyhbX2N1cnJlbnRUb3Vj
aCB0aW1lc3RhbXBdKS5hcHByb3hpbWF0ZVdhbGxUaW1lKCk7Ci0gICAgcmV0dXJuIFdURjo6bWFr
ZVVuaXF1ZTxXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ+KHR5cGUsIGJ1dHRvbiwgYnV0dG9u
cywgcG9pbnQsIHBvaW50LCAwLCAwLCAwLCBbX2N1cnJlbnRUb3VjaCB0YXBDb3VudF0sIG1vZGlm
aWVycywgdGltZXN0YW1wLCAwKTsKKyAgICByZXR1cm4gV1RGOjptYWtlVW5pcXVlPFdlYktpdDo6
TmF0aXZlV2ViTW91c2VFdmVudD4odHlwZSwgYnV0dG9uLCBidXR0b25zLCBwb2ludCwgcG9pbnQs
IDAsIDAsIDAsIFtfY3VycmVudFRvdWNoIHRhcENvdW50XSwgbW9kaWZpZXJzLCB0aW1lc3RhbXAs
IDAsIGNhbmNlbGxlZCA/IFdlYktpdDo6R2VzdHVyZVdhc0NhbmNlbGxlZDo6WWVzIDogV2ViS2l0
OjpHZXN0dXJlV2FzQ2FuY2VsbGVkOjpObyk7CiB9CiAKIC0gKHZvaWQpdG91Y2hlc0JlZ2FuOihO
U1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudApAQCAt
MTUzLDcgKzE1Myw3IEBAIC0gKHZvaWQpdG91Y2hlc0JlZ2FuOihOU1NldDxVSVRvdWNoICo+ICop
dG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudAogICAgIF90b3VjaGluZyA9IFlFUzsK
ICAgICBfcHJlc3NlZEJ1dHRvbk1hc2sgPSBbZXZlbnQgX2J1dHRvbk1hc2tdOwogCi0gICAgX2xh
c3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50
OjpNb3VzZURvd25dOworICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0
aFR5cGU6V2ViS2l0OjpXZWJFdmVudDo6TW91c2VEb3duIHdhc0NhbmNlbGxlZDpOT107CiAgICAg
X2xhc3RMb2NhdGlvbiA9IFtzZWxmIGxvY2F0aW9uSW5WaWV3OnNlbGYudmlld107CiAKICAgICBz
ZWxmLnN0YXRlID0gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlQ2hhbmdlZDsKQEAgLTE2MSw3ICsx
NjEsNyBAQCAtICh2b2lkKXRvdWNoZXNCZWdhbjooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMg
d2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKIAogLSAodm9pZCl0b3VjaGVzTW92ZWQ6KE5TU2V0
PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiB7Ci0gICAg
X2xhc3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2
ZW50OjpNb3VzZU1vdmVdOworICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50
V2l0aFR5cGU6V2ViS2l0OjpXZWJFdmVudDo6TW91c2VNb3ZlIHdhc0NhbmNlbGxlZDpOT107CiAg
ICAgX2xhc3RMb2NhdGlvbiA9IFtzZWxmIGxvY2F0aW9uSW5WaWV3OnNlbGYudmlld107CiAKICAg
ICBzZWxmLnN0YXRlID0gVUlHZXN0dXJlUmVjb2duaXplclN0YXRlQ2hhbmdlZDsKQEAgLTE2OSw3
ICsxNjksNyBAQCAtICh2b2lkKXRvdWNoZXNNb3ZlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNo
ZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKIAogLSAodm9pZCl0b3VjaGVzRW5kZWQ6KE5T
U2V0PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiB7Ci0g
ICAgX2xhc3RFdmVudCA9IFtzZWxmIGNyZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6Oldl
YkV2ZW50OjpNb3VzZVVwXTsKKyAgICBfbGFzdEV2ZW50ID0gW3NlbGYgY3JlYXRlTW91c2VFdmVu
dFdpdGhUeXBlOldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNlVXAgd2FzQ2FuY2VsbGVkOk5PXTsKICAg
ICBfbGFzdExvY2F0aW9uID0gW3NlbGYgbG9jYXRpb25JblZpZXc6c2VsZi52aWV3XTsKIAogICAg
IF90b3VjaGluZyA9IE5POwpAQCAtMTgwLDEyICsxODAsMTggQEAgLSAodm9pZCl0b3VjaGVzRW5k
ZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50
CiAKIC0gKHZvaWQpdG91Y2hlc0NhbmNlbGxlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMg
d2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQKIHsKLSAgICBbc2VsZiB0b3VjaGVzRW5kZWQ6dG91
Y2hlcyB3aXRoRXZlbnQ6ZXZlbnRdOworICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3Vz
ZUV2ZW50V2l0aFR5cGU6V2ViS2l0OjpXZWJFdmVudDo6TW91c2VVcCB3YXNDYW5jZWxsZWQ6WUVT
XTsKKyAgICBfbGFzdExvY2F0aW9uID0gW3NlbGYgbG9jYXRpb25JblZpZXc6c2VsZi52aWV3XTsK
KworICAgIF90b3VjaGluZyA9IE5POworICAgIF9wcmVzc2VkQnV0dG9uTWFzayA9IFdURjo6bnVs
bG9wdDsKKworICAgIHNlbGYuc3RhdGUgPSBVSUdlc3R1cmVSZWNvZ25pemVyU3RhdGVDaGFuZ2Vk
OwogfQogCiAtICh2b2lkKV9ob3ZlckVudGVyZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0b3VjaGVz
IHdpdGhFdmVudDooVUlFdmVudCAqKWV2ZW50CiB7Ci0gICAgX2xhc3RFdmVudCA9IFtzZWxmIGNy
ZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZU1vdmVdOworICAg
IF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVhdGVNb3VzZUV2ZW50V2l0aFR5cGU6V2ViS2l0OjpXZWJF
dmVudDo6TW91c2VNb3ZlIHdhc0NhbmNlbGxlZDpOT107CiAKICAgICBpZiAoX2N1cnJlbnRIb3Zl
ckV2ZW50ID09IG5pbCAmJiB0b3VjaGVzLmNvdW50ID09IDEgJiYgW2V2ZW50IGlzS2luZE9mQ2xh
c3M6TlNDbGFzc0Zyb21TdHJpbmcoQCJVSUhvdmVyRXZlbnQiKV0pIHsKICAgICAgICAgX2N1cnJl
bnRIb3ZlckV2ZW50ID0gZXZlbnQ7CkBAIC0yMDIsNyArMjA4LDcgQEAgLSAodm9pZClfaG92ZXJN
b3ZlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZl
bnQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIF9sYXN0RXZlbnQgPSBbc2VsZiBjcmVh
dGVNb3VzZUV2ZW50V2l0aFR5cGU6V2ViS2l0OjpXZWJFdmVudDo6TW91c2VNb3ZlXTsKKyAgICBf
bGFzdEV2ZW50ID0gW3NlbGYgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOldlYktpdDo6V2ViRXZl
bnQ6Ok1vdXNlTW92ZSB3YXNDYW5jZWxsZWQ6Tk9dOwogICAgIF9sYXN0TG9jYXRpb24gPSBbc2Vs
ZiBsb2NhdGlvbkluVmlldzpzZWxmLnZpZXddOwogCiAgICAgaWYgKF9jdXJyZW50SG92ZXJFdmVu
dCA9PSBldmVudCAmJiBbdG91Y2hlcyBjb250YWluc09iamVjdDpfY3VycmVudFRvdWNoLmdldCgp
XSkKQEAgLTIxMSw3ICsyMTcsNyBAQCAtICh2b2lkKV9ob3Zlck1vdmVkOihOU1NldDxVSVRvdWNo
ICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudAogCiAtICh2b2lkKV9ob3Zl
ckV4aXRlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICop
ZXZlbnQKIHsKLSAgICBfbGFzdEV2ZW50ID0gW3NlbGYgY3JlYXRlTW91c2VFdmVudFdpdGhUeXBl
OldlYktpdDo6V2ViRXZlbnQ6Ok1vdXNlTW92ZV07CisgICAgX2xhc3RFdmVudCA9IFtzZWxmIGNy
ZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZU1vdmUgd2FzQ2Fu
Y2VsbGVkOk5PXTsKICAgICBfbGFzdExvY2F0aW9uID0gW3NlbGYgbG9jYXRpb25JblZpZXc6c2Vs
Zi52aWV3XTsKIAogICAgIGlmIChfY3VycmVudEhvdmVyRXZlbnQgPT0gZXZlbnQpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggY2Q5YzJjMDg0
MThlOGMwNmYxNGQxYTE3ZWY5YWVmMDllYzAyYjY0MS4uZTA3NzkxYmJmNGMwMmExNzQ3YjE5NzFm
MzgyM2NmN2VmNzliYTFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTI5MDMsNiArMjkwMyw4IEBAIHN0YXRpYyBib29sIGhhbmRsZU1vdXNl
RXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVudCwgV2ViUGFnZSogcGFnZSkKICAg
ICAgICAgICAgIHJldHVybiBoYW5kbGVkOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgUGxhdGZv
cm1FdmVudDo6TW91c2VSZWxlYXNlZDoKKyAgICAgICAgICAgIGlmIChtb3VzZUV2ZW50Lmdlc3R1
cmVXYXNDYW5jZWxsZWQoKSA9PSBHZXN0dXJlV2FzQ2FuY2VsbGVkOjpZZXMpCisgICAgICAgICAg
ICAgICAgZnJhbWUuZXZlbnRIYW5kbGVyKCkuaW52YWxpZGF0ZUNsaWNrKCk7CiAgICAgICAgICAg
ICByZXR1cm4gcGFnZS0+Y29yZVBhZ2UoKS0+dXNlcklucHV0QnJpZGdlKCkuaGFuZGxlTW91c2VS
ZWxlYXNlRXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKIAogICAgICAgICBjYXNlIFBsYXRmb3Jt
RXZlbnQ6Ok1vdXNlTW92ZWQ6CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggZTAxYTk0OTUxODg2NjZjNTVlYzZmYzYxMWVhOTg1NDJlZjQ4MmNlYy4u
NWU3ZWViMmE0MDcyYTYxNzAyNjhjM2FiNzMwN2VhYjY4ZDVlZGY2ZCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTA0LTIwICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAg
IExvbmctcHJlc3NpbmcgYSBkYXRhIGRldGVjdG9ycyBsaW5rIGNhdXNlcyB0aGUgbGluayB0byBi
ZSBmb2xsb3dlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI0ODQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83Mjg4OTczOD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBXZW5zb24gSHNpZWguCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL2lPU01vdXNlU3VwcG9ydC5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAg
ICBBZGQgdGVzdHMgZW5zdXJpbmcgdGhhdCB3ZSBnZXQgYSBjbGljayBldmVudCBmb3IgY29tcGxl
dGVkIHRvdWNoZXMsIGFuZCBub3QgZm9yIGNhbmNlbGxlZCB0b3VjaGVzLgorCiAyMDIxLTA0LTIw
ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBQYXJzZSBgdGhl
bWVfY29sb3JgIGluIHdlYiBhcHBsaWNhdGlvbiBtYW5pZmVzdHMgYW5kIHBhc3MgaXQgYWxvbmcg
dG8gYC1bV0tXZWJWaWV3IHRoZW1lQ29sb3JdYApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9pT1NNb3VzZVN1cHBvcnQubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL2lPU01vdXNlU3VwcG9ydC5tbQppbmRleCA2NGE4ZDg3
MjQ4YTViZjczYjljNDc2ZDNhYTBkNmNiYjUwMDcxZGU3Li5kZWIyMTQzMGIzOTQ1ZTIyYTU1MDVl
YTc5NWM1YmJjNzdmYWY5M2Q5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL2lPU01vdXNlU3VwcG9ydC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL2lPU01vdXNlU3VwcG9ydC5tbQpAQCAtMjM0LDYgKzIzNCw3NiBA
QCBURVNUKGlPU01vdXNlU3VwcG9ydCwgTW91c2VUaW1lc3RhbXBUaW1lYmFzZSkKICAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogfQogCitURVNUKGlPU01vdXNlU3VwcG9ydCwg
RW5kZWRUb3VjaGVzVHJpZ2dlckNsaWNrKQoreworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJp
bmc6QCI8c2NyaXB0PiIKKyAgICAid2luZG93Lndhc0NsaWNrZWQgPSBmYWxzZTsiCisgICAgImRv
Y3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9u
IChlKSB7IgorICAgICIgICAgd2luZG93Lndhc0NsaWNrZWQgPSB0cnVlOyIKKyAgICAifSk7Igor
ICAgICI8L3NjcmlwdD4iXTsKKworICAgIGF1dG8gY29udGVudFZpZXcgPSBbd2ViVmlldyB3a0Nv
bnRlbnRWaWV3XTsKKyAgICBhdXRvIGdlc3R1cmUgPSBtb3VzZUdlc3R1cmUoY29udGVudFZpZXcp
OworCisgICAgYXV0byB0b3VjaCA9IGFkb3B0TlMoW1tXS1Rlc3RpbmdUb3VjaCBhbGxvY10gaW5p
dF0pOworICAgIFJldGFpblB0cjxOU1NldD4gdG91Y2hTZXQgPSBbTlNTZXQgc2V0V2l0aE9iamVj
dDp0b3VjaC5nZXQoKV07CisKKyAgICBhdXRvIGhvdmVyRXZlbnQgPSBhZG9wdE5TKFtbTlNDbGFz
c0Zyb21TdHJpbmcoQCJVSUhvdmVyRXZlbnQiKSBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gZXZl
bnQgPSBhZG9wdE5TKFtbV0tUZXN0aW5nRXZlbnQgYWxsb2NdIGluaXRdKTsKKworICAgIFtnZXN0
dXJlIF9ob3ZlckVudGVyZWQ6dG91Y2hTZXQuZ2V0KCkgd2l0aEV2ZW50OmhvdmVyRXZlbnQuZ2V0
KCldOworICAgIFtjb250ZW50VmlldyBtb3VzZUdlc3R1cmVSZWNvZ25pemVyQ2hhbmdlZDpnZXN0
dXJlXTsKKyAgICBbdG91Y2ggc2V0VGFwQ291bnQ6MV07CisgICAgW2V2ZW50IF9zZXRCdXR0b25N
YXNrOlVJRXZlbnRCdXR0b25NYXNrUHJpbWFyeV07CisgICAgW2dlc3R1cmUgdG91Y2hlc0JlZ2Fu
OnRvdWNoU2V0LmdldCgpIHdpdGhFdmVudDpldmVudC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3
IG1vdXNlR2VzdHVyZVJlY29nbml6ZXJDaGFuZ2VkOmdlc3R1cmVdOworICAgIFtnZXN0dXJlIHRv
dWNoZXNFbmRlZDp0b3VjaFNldC5nZXQoKSB3aXRoRXZlbnQ6ZXZlbnQuZ2V0KCldOworICAgIFtj
b250ZW50VmlldyBtb3VzZUdlc3R1cmVSZWNvZ25pemVyQ2hhbmdlZDpnZXN0dXJlXTsKKworICAg
IFt3ZWJWaWV3IHdhaXRGb3JQZW5kaW5nTW91c2VFdmVudHNdOworCisgICAgYm9vbCB3YXNDbGlj
a2VkID0gW1t3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cud2Fz
Q2xpY2tlZCJdIGJvb2xWYWx1ZV07CisgICAgRVhQRUNUX1RSVUUod2FzQ2xpY2tlZCk7Cit9CisK
K1RFU1QoaU9TTW91c2VTdXBwb3J0LCBDYW5jZWxsZWRUb3VjaGVzRG9Ob3RUcmlnZ2VyQ2xpY2sp
Cit7CisgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhb
W1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAs
IDYwMCkgY29uZmlndXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIFt3
ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZzpAIjxzY3JpcHQ+IgorICAgICJ3aW5k
b3cud2FzQ2xpY2tlZCA9IGZhbHNlOyIKKyAgICAiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsiCisgICAgIiAgICB3aW5kb3cu
d2FzQ2xpY2tlZCA9IHRydWU7IgorICAgICJ9KTsiCisgICAgIjwvc2NyaXB0PiJdOworCisgICAg
YXV0byBjb250ZW50VmlldyA9IFt3ZWJWaWV3IHdrQ29udGVudFZpZXddOworICAgIGF1dG8gZ2Vz
dHVyZSA9IG1vdXNlR2VzdHVyZShjb250ZW50Vmlldyk7CisKKyAgICBhdXRvIHRvdWNoID0gYWRv
cHROUyhbW1dLVGVzdGluZ1RvdWNoIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPE5TU2V0
PiB0b3VjaFNldCA9IFtOU1NldCBzZXRXaXRoT2JqZWN0OnRvdWNoLmdldCgpXTsKKworICAgIGF1
dG8gaG92ZXJFdmVudCA9IGFkb3B0TlMoW1tOU0NsYXNzRnJvbVN0cmluZyhAIlVJSG92ZXJFdmVu
dCIpIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byBldmVudCA9IGFkb3B0TlMoW1tXS1Rlc3RpbmdF
dmVudCBhbGxvY10gaW5pdF0pOworCisgICAgW2dlc3R1cmUgX2hvdmVyRW50ZXJlZDp0b3VjaFNl
dC5nZXQoKSB3aXRoRXZlbnQ6aG92ZXJFdmVudC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3IG1v
dXNlR2VzdHVyZVJlY29nbml6ZXJDaGFuZ2VkOmdlc3R1cmVdOworICAgIFt0b3VjaCBzZXRUYXBD
b3VudDoxXTsKKyAgICBbZXZlbnQgX3NldEJ1dHRvbk1hc2s6VUlFdmVudEJ1dHRvbk1hc2tQcmlt
YXJ5XTsKKyAgICBbZ2VzdHVyZSB0b3VjaGVzQmVnYW46dG91Y2hTZXQuZ2V0KCkgd2l0aEV2ZW50
OmV2ZW50LmdldCgpXTsKKyAgICBbY29udGVudFZpZXcgbW91c2VHZXN0dXJlUmVjb2duaXplckNo
YW5nZWQ6Z2VzdHVyZV07CisgICAgW2dlc3R1cmUgdG91Y2hlc0NhbmNlbGxlZDp0b3VjaFNldC5n
ZXQoKSB3aXRoRXZlbnQ6ZXZlbnQuZ2V0KCldOworICAgIFtjb250ZW50VmlldyBtb3VzZUdlc3R1
cmVSZWNvZ25pemVyQ2hhbmdlZDpnZXN0dXJlXTsKKworICAgIFt3ZWJWaWV3IHdhaXRGb3JQZW5k
aW5nTW91c2VFdmVudHNdOworCisgICAgYm9vbCB3YXNDbGlja2VkID0gW1t3ZWJWaWV3IG9iamVj
dEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cud2FzQ2xpY2tlZCJdIGJvb2xWYWx1ZV07
CisgICAgRVhQRUNUX0ZBTFNFKHdhc0NsaWNrZWQpOworfQorCiAjaWYgRU5BQkxFKElPU19UT1VD
SF9FVkVOVFMpCiAKIFRFU1QoaU9TTW91c2VTdXBwb3J0LCBXZWJzaXRlTW91c2VFdmVudFBvbGlj
aWVzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3
LmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcuaAppbmRleCAzZjE3
YTk0YTE0NzExNGFkNTRiYTA1M2RmZDhlYTYwNjc2YWZkZjViLi4wZTUyMTY2NWFmYTA1YmJlN2Yx
ZjE0N2JjMDc3YTMzNjhhYWIyOTIzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2Nv
Y29hL1Rlc3RXS1dlYlZpZXcuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RX
S1dlYlZpZXcuaApAQCAtOTcsNiArOTcsNyBAQAogLSAodm9pZClhZGRUb1Rlc3RXaW5kb3c7CiAt
IChCT09MKXNlbGVjdGlvblJhbmdlSGFzU3RhcnRPZmZzZXQ6KGludClzdGFydCBlbmRPZmZzZXQ6
KGludCllbmQ7CiAtICh2b2lkKWNsaWNrT25FbGVtZW50SUQ6KE5TU3RyaW5nICopZWxlbWVudElE
OworLSAodm9pZCl3YWl0Rm9yUGVuZGluZ01vdXNlRXZlbnRzOwogQGVuZAogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTEzNSw3ICsxMzYsNiBAQAogLSAodm9pZClzZW5kQ2xpY2tBdFBv
aW50OihOU1BvaW50KXBvaW50SW5XaW5kb3c7CiAtIChOU1dpbmRvdyAqKWhvc3RXaW5kb3c7CiAt
ICh2b2lkKXR5cGVDaGFyYWN0ZXI6KGNoYXIpY2hhcmFjdGVyOwotLSAodm9pZCl3YWl0Rm9yUGVu
ZGluZ01vdXNlRXZlbnRzOwogLSAodm9pZClzZXRFdmVudFRpbWVzdGFtcE9mZnNldDooTlNUaW1l
SW50ZXJ2YWwpb2Zmc2V0OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1RpbWVJ
bnRlcnZhbCBldmVudFRpbWVzdGFtcDsKIEBlbmQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvY29jb2EvVGVzdFdLV2ViVmlldy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvY29jb2Ev
VGVzdFdLV2ViVmlldy5tbQppbmRleCA1MmM0ZmNlMjgwZjI1MzY4OGNmNGI0NGI5NTliZTAzYjJi
ZDI0MjJmLi40NTM5MDdlYTUzMzQzMjUzMjg2MjI2NDM4NDk3ZmZkYzZmYWJmYTJlIDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2NvY29hL1Rlc3RXS1dlYlZpZXcubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9jb2NvYS9UZXN0V0tXZWJWaWV3Lm1tCkBAIC02MzYsNiArNjM2LDE1
IEBAIC0gKHZvaWQpY2xpY2tPbkVsZW1lbnRJRDooTlNTdHJpbmcgKillbGVtZW50SUQKICAgICBb
c2VsZiBldmFsdWF0ZUphdmFTY3JpcHQ6W05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnJUAnKS5jbGljaygpOyIsIGVsZW1lbnRJRF0gY29tcGxldGlv
bkhhbmRsZXI6bmlsXTsKIH0KIAorLSAodm9pZCl3YWl0Rm9yUGVuZGluZ01vdXNlRXZlbnRzCit7
CisgICAgX19ibG9jayBib29sIGRvbmVQcm9jZXNzaW5nTW91c2VFdmVudHMgPSBmYWxzZTsKKyAg
ICBbc2VsZiBfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6XnsKKyAgICAg
ICAgZG9uZVByb2Nlc3NpbmdNb3VzZUV2ZW50cyA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lUHJvY2Vzc2luZ01vdXNlRXZlbnRzKTsKK30KKwogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAKIC0gKHZvaWQpZGlkU3RhcnRGb3JtQ29udHJvbEludGVy
YWN0aW9uCkBAIC04NDAsMTUgKzg0OSw2IEBAIC0gKHZvaWQpdHlwZUNoYXJhY3RlcjooY2hhcilj
aGFyYWN0ZXIKICAgICBbc2VsZiBrZXlVcDpbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOmtleVVw
RXZlbnRUeXBlIGxvY2F0aW9uOk5TWmVyb1BvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6
c2VsZi5ldmVudFRpbWVzdGFtcCB3aW5kb3dOdW1iZXI6W19ob3N0V2luZG93IHdpbmRvd051bWJl
cl0gY29udGV4dDpuaWwgY2hhcmFjdGVyczpjaGFyYWN0ZXJBc1N0cmluZyBjaGFyYWN0ZXJzSWdu
b3JpbmdNb2RpZmllcnM6Y2hhcmFjdGVyQXNTdHJpbmcgaXNBUmVwZWF0Ok5PIGtleUNvZGU6Y2hh
cmFjdGVyXV07CiB9CiAKLS0gKHZvaWQpd2FpdEZvclBlbmRpbmdNb3VzZUV2ZW50cwotewotICAg
IF9fYmxvY2sgYm9vbCBkb25lUHJvY2Vzc2luZ01vdXNlRXZlbnRzID0gZmFsc2U7Ci0gICAgW3Nl
bGYgX2RvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzOl57Ci0gICAgICAgIGRv
bmVQcm9jZXNzaW5nTW91c2VFdmVudHMgPSB0cnVlOwotICAgIH1dOwotICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZG9uZVByb2Nlc3NpbmdNb3VzZUV2ZW50cyk7Ci19Ci0KIEBlbmQKIAog
I2VuZGlmIC8vIFBMQVRGT1JNKE1BQykK
</data>

          </attachment>
      

    </bug>

</bugzilla>