<?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>234525</bug_id>
          
          <creation_ts>2021-12-20 13:31:47 -0800</creation_ts>
          <short_desc>Make it possible to enable log channels in WebKitTestRunner and DumpRenderTree</short_desc>
          <delta_ts>2021-12-20 17:32:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1825714</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-20 13:31:47 -0800</bug_when>
    <thetext>Make it possible to enable log channels in WebKitTestRunner and DumpRenderTree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825717</commentid>
    <comment_count>1</comment_count>
      <attachid>447629</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-20 13:34:10 -0800</bug_when>
    <thetext>Created attachment 447629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825722</commentid>
    <comment_count>2</comment_count>
      <attachid>447629</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-12-20 13:42:21 -0800</bug_when>
    <thetext>Comment on attachment 447629
Patch

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

&gt; Tools/WebKitTestRunner/cocoa/TestControllerCocoa.mm:124
&gt; +        [[NSUserDefaults standardUserDefaults] setValue:[NSString stringWithUTF8String:options.webCoreLogChannels.c_str()] forKey:@&quot;WebKitLogging&quot;];

This should be `options.webKitLogChannels.c_str()`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825726</commentid>
    <comment_count>3</comment_count>
      <attachid>447634</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-20 13:53:25 -0800</bug_when>
    <thetext>Created attachment 447634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825744</commentid>
    <comment_count>4</comment_count>
      <attachid>447639</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-20 14:31:27 -0800</bug_when>
    <thetext>Created attachment 447639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825763</commentid>
    <comment_count>5</comment_count>
      <attachid>447629</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-12-20 15:02:11 -0800</bug_when>
    <thetext>Comment on attachment 447629
Patch

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

&gt; Tools/DumpRenderTree/mac/DumpRenderTree.mm:1008
&gt; +        {&quot;WebCoreLogging&quot;, required_argument, nullptr, &apos;W&apos;},

The other options use dashes between words. For consistency, how about -webcore-logging?

&gt; Tools/WebKitTestRunner/Options.cpp:155
&gt; +static bool handleOptionLogChannels(Options&amp; options, const char* option, const char* channels)

Can you move this above the `handleOptionUnmatched` function? I think It makes sense to keep that one last.

&gt; Tools/WebKitTestRunner/Options.cpp:194
&gt; +    optionList.append(Option(&quot;--WebCoreLogging&quot;, &quot;Enable WebCore log channels&quot;, handleOptionLogChannels, true));
&gt; +    optionList.append(Option(&quot;--WebKitLogging&quot;, &quot;Enable WebKit log channels&quot;, handleOptionLogChannels, true));

Same comment as about. Can we keep these consistent as well? Also, I would recommend just using two different functions rather than reparsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825821</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-12-20 17:31:46 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/287292/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825822</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-20 17:32:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/86747488&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447629</attachid>
            <date>2021-12-20 13:34:10 -0800</date>
            <delta_ts>2021-12-20 14:22:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234525-20211220133409.patch</filename>
            <type>text/plain</type>
            <size>11213</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjQxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzQ3OTIwOWQ2YjI1YzVkNWUzNTFhMzhhMzE4Y2IwZDlm
MjU2MzdhMS4uMjQ1MmEzZGRmNDk0YTY2NWU2YThjYTdhYjM3ZGYzMzAwOTU2YmYxNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3
IEBACisyMDIxLTEyLTIwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgaXQgcG9zc2libGUgdG8gZW5hYmxlIGxvZyBjaGFubmVscyBpbiBXZWJL
aXRUZXN0UnVubmVyIGFuZCBEdW1wUmVuZGVyVHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU3VwcG9ydCBhICItLVdlYkNvcmVMb2dnaW5nIiBhcmd1
bWVudCB0byBEdW1wUmVuZGVyVHJlZSB0byBlbmFibGUgdGhlIFdlYkNvcmUKKyAgICAgICAgbG9n
IGNoYW5uZWxzLgorCisgICAgICAgIFN1cHBvcnQgIi0tV2ViQ29yZUxvZ2dpbmciIGFuZCAiLS1X
ZWJLaXRMb2dnaW5nIiBhcmd1bWVudHMgdG8gV2ViS2l0VGVzdFJ1bm5lciB0byBlbmFibGUgdGhl
IFdlYkNvcmUKKyAgICAgICAgYW5kIFdlYktpdCBsb2cgY2hhbm5lbHMuCisKKyAgICAgICAgRFJU
IHJlcXVpcmVzIHRoZSBkb3VibGUgZGFzaCBmb3JtYXQsIHNvIEkgY2hvc2UgdG8gaGF2ZSBib3Ro
IHVzZSBkb3VibGUgZGFzaGVzCisgICAgICAgIGZvciBjb25zaXN0ZW5jeSAoYWx0aG91Z2ggdGhp
cyBpcyBpbmNvbnNpc3RlbnQgd2l0aCB0aGUgc2luZ2xlIGRhc2ggZm9ybWF0IHVzZWQKKyAgICAg
ICAgYnkgQXBwS2l0IGFuZCBVSUtpdCBhcHBzKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKGluaXRpYWxpemVHbG9iYWxzRnJvbUNv
bW1hbmRMaW5lT3B0aW9ucyk6CisgICAgICAgIChwcmVwYXJlQ29uc2lzdGVudFRlc3RpbmdFbnZp
cm9ubWVudCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9PcHRpb25zLmNwcDoKKyAgICAg
ICAgKFdUUjo6aGFuZGxlT3B0aW9uTG9nQ2hhbm5lbHMpOgorICAgICAgICAoV1RSOjpPcHRpb25z
SGFuZGxlcjo6T3B0aW9uc0hhbmRsZXIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvT3B0
aW9ucy5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OmNvY29hUGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xs
ZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9tYWMv
VGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUluaXRpYWxpemUpOgorCiAyMDIxLTEyLTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW01vbnRlcmV5XSBUZXN0V2ViS2l0QVBJLlBy
aXZhdGVDbGlja01lYXN1cmVtZW50LkRhZW1vbiogdGVzdHMgdGltaW5nIG91dDogRmFpbGVkIHRv
IGNvbm5lY3QgdG8gbWFjaCBzZXJ2aWNlIG9yZy53ZWJraXQucGNtdGVzdGRhZW1vbi5zZXJ2aWNl
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0g
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggMGQ4ZWZm
MDljMWNjMjQ5ZGQzYzgzMzkyZWE4MTlmY2QzNmUyZWM4YS4uMzM2ZjVmYmJmMjczOGZkMGNmYjM1
ZGNjMGIzYzhlZjJlZjMwMmZjNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbQpAQCAtMjczLDYgKzI3Myw4IEBAIHN0YXRpYyBpbnQgc2hvd1dlYlZpZXc7CiBz
dGF0aWMgaW50IHByaW50VGVzdENvdW50Owogc3RhdGljIGludCBjaGVja0ZvcldvcmxkTGVha3M7
CiBzdGF0aWMgQk9PTCBwcmludFNlcGFyYXRvcnM7CitzdGF0aWMgc3RkOjpzZXQ8c3RkOjpzdHJp
bmc+IGFsbG93ZWRIb3N0czsKK3N0YXRpYyBzdGQ6OnN0cmluZyB3ZWJDb3JlTG9nZ2luZzsKIAog
c3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4mIHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExv
Y2F0aW9uKCkKIHsKQEAgLTI4MCw4ICsyODIsNiBAQCBzdGF0aWMgUmV0YWluUHRyPENGU3RyaW5n
UmVmPiYgcGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oKQogICAgIHJldHVybiBwZXJz
aXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKIH0KIAotc3RhdGljIHN0ZDo6c2V0PHN0ZDo6
c3RyaW5nPiBhbGxvd2VkSG9zdHM7Ci0KIHN0YXRpYyBSZXRhaW5QdHI8V2ViSGlzdG9yeUl0ZW0+
JiBwcmV2VGVzdEJGSXRlbSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0
cjxXZWJIaXN0b3J5SXRlbT4+IF9wcmV2VGVzdEJGSXRlbTsgLy8gY3VycmVudCBiL2YgaXRlbSBh
dCB0aGUgZW5kIG9mIHRoZSBwcmV2aW91cyB0ZXN0LgpAQCAtMTAwNSw2ICsxMDA1LDcgQEAgc3Rh
dGljIHZvaWQgaW5pdGlhbGl6ZUdsb2JhbHNGcm9tQ29tbWFuZExpbmVPcHRpb25zKGludCBhcmdj
LCBjb25zdCBjaGFyICphcmd2W10KICAgICAgICAgeyJzaG93LXdlYnZpZXciLCBub19hcmd1bWVu
dCwgJnNob3dXZWJWaWV3LCBZRVN9LAogICAgICAgICB7InByaW50LXRlc3QtY291bnQiLCBub19h
cmd1bWVudCwgJnByaW50VGVzdENvdW50LCBZRVN9LAogICAgICAgICB7IndvcmxkLWxlYWtzIiwg
bm9fYXJndW1lbnQsICZjaGVja0ZvcldvcmxkTGVha3MsIE5PfSwKKyAgICAgICAgeyJXZWJDb3Jl
TG9nZ2luZyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBudWxscHRyLCAnVyd9LAogICAgICAgICB7bnVs
bHB0ciwgMCwgbnVsbHB0ciwgMH0KICAgICB9OwogCkBAIC0xMDE4LDYgKzEwMTksOCBAQCBzdGF0
aWMgdm9pZCBpbml0aWFsaXplR2xvYmFsc0Zyb21Db21tYW5kTGluZU9wdGlvbnMoaW50IGFyZ2Ms
IGNvbnN0IGNoYXIgKmFyZ3ZbXQogICAgICAgICAgICAgY2FzZSAnYSc6IC8vICJhbGxvd2VkLWhv
c3QiCiAgICAgICAgICAgICAgICAgYWxsb3dlZEhvc3RzLmluc2VydChvcHRhcmcpOwogICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnVyc6IC8vICJXZWJDb3JlTG9nZ2lu
ZyIKKyAgICAgICAgICAgICAgICB3ZWJDb3JlTG9nZ2luZyA9IG9wdGFyZzsKICAgICAgICAgfQog
ICAgIH0KIH0KQEAgLTExMjUsNiArMTEyOCw5IEBAIHN0YXRpYyB2b2lkIHByZXBhcmVDb25zaXN0
ZW50VGVzdGluZ0Vudmlyb25tZW50KCkKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmV0YWlu
UHRyPGlkPj4gYXNzZXJ0aW9uID0gW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBiZWdpbkFj
dGl2aXR5V2l0aE9wdGlvbnM6b3B0aW9ucyByZWFzb246QCJEdW1wUmVuZGVyVHJlZSBzaG91bGQg
bm90IGJlIHN1YmplY3QgdG8gcHJvY2VzcyBzdXBwcmVzc2lvbiJdOwogICAgIEFTU0VSVF9VTlVT
RUQoYXNzZXJ0aW9uLCBhc3NlcnRpb24uZ2V0KCkpOwogI2VuZGlmCisKKyAgICBpZiAod2ViQ29y
ZUxvZ2dpbmcubGVuZ3RoKCkpCisgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHNldFZhbHVlOltOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzp3ZWJDb3Jl
TG9nZ2luZy5jX3N0cigpXSBmb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOwogfQogCiBjb25zdCBj
aGFyIGNyYXNoZWRNZXNzYWdlW10gPSAiI0NSQVNIRURcbiI7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9PcHRp
b25zLmNwcAppbmRleCBkNDVlNGIwN2E2ZTY0NzY5OGJjY2JkODQyOTNkODFkODlhZTBlNjNhLi4z
YmE1MGMwYmQ5ZmU5ZDdkM2M1NzU2MmRmNzIxOTVmZTE5M2FhM2FmIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvT3B0aW9ucy5jcHAKQEAgLTE1Miw2ICsxNTIsMjEgQEAgc3RhdGljIGJvb2wgaGFuZGxlT3B0
aW9uVW5tYXRjaGVkKE9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IGNoYXIqIG9wdGlvbiwgY29uc3Qg
Y2gKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGJvb2wgaGFuZGxlT3B0aW9uTG9nQ2hh
bm5lbHMoT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgY2hhciogb3B0aW9uLCBjb25zdCBjaGFyKiBj
aGFubmVscykKK3sKKyAgICBpZiAoIXN0cmNtcChvcHRpb24sICItLVdlYkNvcmVMb2dnaW5nIikp
IHsKKyAgICAgICAgb3B0aW9ucy53ZWJDb3JlTG9nQ2hhbm5lbHMgPSBjaGFubmVsczsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKCFzdHJjbXAob3B0aW9uLCAiLS1XZWJL
aXRMb2dnaW5nIikpIHsKKyAgICAgICAgb3B0aW9ucy53ZWJLaXRMb2dDaGFubmVscyA9IGNoYW5u
ZWxzOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKIE9wdGlvbnNIYW5kbGVyOjpPcHRpb25zSGFuZGxlcihPcHRpb25zJiBvKQogICAgIDogb3B0
aW9ucyhvKQogewpAQCAtMTc1LDYgKzE5MCw4IEBAIE9wdGlvbnNIYW5kbGVyOjpPcHRpb25zSGFu
ZGxlcihPcHRpb25zJiBvKQogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CiAgICAgb3B0aW9uTGlzdC5hcHBlbmQoT3B0aW9uKCItLWFjY2Vzc2liaWxpdHktaXNvbGF0ZWQt
dHJlZSIsICJFbmFibGUgYWNjZXNzaWJpbGl0eSBpc29sYXRlZCB0cmVlIG1vZGUgZm9yIHRlc3Rz
IiwgaGFuZGxlT3B0aW9uQWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUpKTsKICNlbmRpZgor
ICAgIG9wdGlvbkxpc3QuYXBwZW5kKE9wdGlvbigiLS1XZWJDb3JlTG9nZ2luZyIsICJFbmFibGUg
V2ViQ29yZSBsb2cgY2hhbm5lbHMiLCBoYW5kbGVPcHRpb25Mb2dDaGFubmVscywgdHJ1ZSkpOwor
ICAgIG9wdGlvbkxpc3QuYXBwZW5kKE9wdGlvbigiLS1XZWJLaXRMb2dnaW5nIiwgIkVuYWJsZSBX
ZWJLaXQgbG9nIGNoYW5uZWxzIiwgaGFuZGxlT3B0aW9uTG9nQ2hhbm5lbHMsIHRydWUpKTsKICAg
ICAKICAgICBvcHRpb25MaXN0LmFwcGVuZChPcHRpb24oMCwgMCwgaGFuZGxlT3B0aW9uVW5tYXRj
aGVkKSk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuaCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5oCmluZGV4IDhlZmVkNTJmYmVkNDMyOWE3
YjA0ZjFjMjUwOTYyMmRjMDJmMWM4ZmQuLmEwNzZiY2ExNGI0MGNiYjcxNWEwYjIzNDRiYmM4ZDUx
NGEzZWJlZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5oCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5oCkBAIC01Miw2ICs1Miw4IEBAIHN0
cnVjdCBPcHRpb25zIHsKICAgICBib29sIGVuYWJsZUFsbEV4cGVyaW1lbnRhbEZlYXR1cmVzIHsg
dHJ1ZSB9OwogICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBwYXRoczsKICAgICBzdGQ6OnNl
dDxzdGQ6OnN0cmluZz4gYWxsb3dlZEhvc3RzOworICAgIHN0ZDo6c3RyaW5nIHdlYkNvcmVMb2dD
aGFubmVsczsKKyAgICBzdGQ6OnN0cmluZyB3ZWJLaXRMb2dDaGFubmVsczsKICAgICBUZXN0RmVh
dHVyZXMgZmVhdHVyZXM7CiB9OwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwCmluZGV4IGFhMWQ1YmRlMTRiZWIzN2VlNTRlOTJiZjVlMjk1MzdlZjllYTU2NjUuLjU2
OWI5OGE1MjM5NDQ2NTZkNGFlNzgxZTdlMDM3NzIzMjc3MDExMTggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC01MjgsOCArNTI4LDYgQEAgdm9pZCBUZXN0
Q29udHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogICAg
IFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdlcygpKTsKICAgICBXZWJDb3Jl
VGVzdFN1cHBvcnQ6OnBvcHVsYXRlSklUT3BlcmF0aW9ucygpOwogCi0gICAgcGxhdGZvcm1Jbml0
aWFsaXplKCk7Ci0KICAgICBPcHRpb25zIG9wdGlvbnM7CiAgICAgT3B0aW9uc0hhbmRsZXIgb3B0
aW9uc0hhbmRsZXIob3B0aW9ucyk7CiAKQEAgLTU0MCw2ICs1MzgsOCBAQCB2b2lkIFRlc3RDb250
cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAgICAgaWYg
KCFvcHRpb25zSGFuZGxlci5wYXJzZShhcmdjLCBhcmd2KSkKICAgICAgICAgZXhpdCgxKTsKIAor
ICAgIHBsYXRmb3JtSW5pdGlhbGl6ZShvcHRpb25zKTsKKwogICAgIG1fdXNlV2FpdFRvRHVtcFdh
dGNoZG9nVGltZXIgPSBvcHRpb25zLnVzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyOwogICAgIG1f
Zm9yY2VOb1RpbWVvdXQgPSBvcHRpb25zLmZvcmNlTm9UaW1lb3V0OwogICAgIG1fdmVyYm9zZSA9
IG9wdGlvbnMudmVyYm9zZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApp
bmRleCA0MDNlZGMyM2U4NTBhMTQ4NGM2MTJkNTlkNGRiZGIwOTkxYTJjMTdiLi4wN2Y3NTAzNWJm
MzE5YzYzN2I5Yzc0NWRmNTEzYmU2NzQ2NmJlMzEyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5oCkBAIC01Niw2ICs1Niw3IEBAIGNsYXNzIE9yaWdpblNldHRpbmdzOwog
Y2xhc3MgUGxhdGZvcm1XZWJWaWV3OwogY2xhc3MgVGVzdEludm9jYXRpb247CiBjbGFzcyBUZXN0
T3B0aW9uczsKK3N0cnVjdCBPcHRpb25zOwogc3RydWN0IFRlc3RDb21tYW5kOwogCiBjbGFzcyBB
c3luY1Rhc2sgewpAQCAtMzg0LDcgKzM4NSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGhhbmRs
ZUNvbnRyb2xDb21tYW5kKGNvbnN0IGNoYXIqIGNvbW1hbmQpOwogCi0gICAgdm9pZCBwbGF0Zm9y
bUluaXRpYWxpemUoKTsKKyAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBPcHRpb25z
Jik7CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVEYXRhU3RvcmUoV0tQYWdlQ29uZmlndXJh
dGlvblJlZiwgY29uc3QgVGVzdE9wdGlvbnMmKTsKICAgICB2b2lkIHBsYXRmb3JtRGVzdHJveSgp
OwogICAgIFdLQ29udGV4dFJlZiBwbGF0Zm9ybUFkanVzdENvbnRleHQoV0tDb250ZXh0UmVmLCBX
S0NvbnRleHRDb25maWd1cmF0aW9uUmVmKTsKQEAgLTM5Niw3ICszOTcsNyBAQCBwcml2YXRlOgog
ICAgIGJvb2wgcGxhdGZvcm1SZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RP
cHRpb25zJik7CiAKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICB2b2lkIGNvY29hUGxhdGZvcm1J
bml0aWFsaXplKCk7CisgICAgdm9pZCBjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBPcHRp
b25zJik7CiAgICAgdm9pZCBjb2NvYVJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3Qg
VGVzdE9wdGlvbnMmKTsKICAgICB2b2lkIHNldEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihj
b25zdCBzdGQ6OnN0cmluZyYpOwogICAgIHZvaWQgY2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50
aWZpZXJUZXN0aW5nT3ZlcnJpZGUoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Y29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCAwNWUyZGEzNjM1MGZkYWZlZTgyMGU3
MmNhMmY3YjEzNjcwMzhiMjg2Li5mM2MxNjEyM2RlMGUyZmM2YTY3ZTExNDQzYjYzMzNhYzU0MzI4
MjY0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9s
bGVyQ29jb2EubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJv
bGxlckNvY29hLm1tCkBAIC0yNyw2ICsyNyw3IEBACiAjaW1wb3J0ICJUZXN0Q29udHJvbGxlci5o
IgogCiAjaW1wb3J0ICJDcmFzaFJlcG9ydGVySW5mby5oIgorI2ltcG9ydCAiT3B0aW9ucy5oIgog
I2ltcG9ydCAiUGxhdGZvcm1XZWJWaWV3LmgiCiAjaW1wb3J0ICJTdHJpbmdGdW5jdGlvbnMuaCIK
ICNpbXBvcnQgIlRlc3RJbnZvY2F0aW9uLmgiCkBAIC0xMDMsNyArMTA0LDcgQEAgdm9pZCBpbml0
aWFsaXplV2ViVmlld0NvbmZpZ3VyYXRpb24oY29uc3QgY2hhciogbGlicmFyeVBhdGgsIFdLU3Ry
aW5nUmVmIGluamVjdGUKICAgICB9KCk7CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OmNvY29h
UGxhdGZvcm1Jbml0aWFsaXplKCkKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmNvY29hUGxhdGZvcm1J
bml0aWFsaXplKGNvbnN0IE9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgY29uc3QgY2hhciogZHVt
cFJlbmRlclRyZWVUZW1wID0gbGlicmFyeVBhdGhGb3JUZXN0aW5nKCk7CiAgICAgaWYgKCFkdW1w
UmVuZGVyVHJlZVRlbXApCkBAIC0xMTUsNiArMTE2LDEyIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6
OmNvY29hUGxhdGZvcm1Jbml0aWFsaXplKCkKICAgICBOU0RpY3Rpb25hcnkgKnJlc291cmNlTG9n
UGxpc3QgPSBAeyBAInZlcnNpb24iOiBAKDEpIH07CiAgICAgaWYgKCFbcmVzb3VyY2VMb2dQbGlz
dCB3cml0ZVRvRmlsZTpmdWxsQnJvd3NpbmdTZXNzaW9uUmVzb3VyY2VMb2cgYXRvbWljYWxseTpZ
RVNdKQogICAgICAgICBXVEZDcmFzaCgpOworICAgIAorICAgIGlmIChvcHRpb25zLndlYkNvcmVM
b2dDaGFubmVscy5sZW5ndGgoKSkKKyAgICAgICAgW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gc2V0VmFsdWU6W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOm9wdGlv
bnMud2ViQ29yZUxvZ0NoYW5uZWxzLmNfc3RyKCldIGZvcktleTpAIldlYkNvcmVMb2dnaW5nIl07
CisKKyAgICBpZiAob3B0aW9ucy53ZWJLaXRMb2dDaGFubmVscy5sZW5ndGgoKSkKKyAgICAgICAg
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0VmFsdWU6W05TU3RyaW5n
IHN0cmluZ1dpdGhVVEY4U3RyaW5nOm9wdGlvbnMud2ViQ29yZUxvZ0NoYW5uZWxzLmNfc3RyKCld
IGZvcktleTpAIldlYktpdExvZ2dpbmciXTsKIH0KIAogV0tDb250ZXh0UmVmIFRlc3RDb250cm9s
bGVyOjpwbGF0Zm9ybUNvbnRleHQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9U
ZXN0Q29udHJvbGxlcklPUy5tbQppbmRleCA1ZDRhMDE5NzZjY2MxNGJlMGIxYzhhZjY0MzUyNWMz
Zjc0ZDFjOGQzLi5mMjI0ODkxYmYzYzgxMTQ5MDMwYTExZDY4MGQ5OTJhNzc5NDk4NDYxIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQpAQCAt
OTgsMTAgKzk4LDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6Om5vdGlmeURvbmUoKQogICAgIFtz
ZWxlY3Rpb25WaWV3IF9yZW1vdmVBbGxBbmltYXRpb25zOllFU107CiB9CiAKLXZvaWQgVGVzdENv
bnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0
Zm9ybUluaXRpYWxpemUoY29uc3QgT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBzZXRVcElPU0xh
eW91dFRlc3RDb21tdW5pY2F0aW9uKCk7Ci0gICAgY29jb2FQbGF0Zm9ybUluaXRpYWxpemUoKTsK
KyAgICBjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZShvcHRpb25zKTsKIAogICAgIFtVSUFwcGxpY2F0
aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5pZGxlVGltZXJEaXNhYmxlZCA9IFlFUzsKICAgICBbW1VJ
U2NyZWVuIG1haW5TY3JlZW5dIF9zZXRTY2FsZToyLjBdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQppbmRleCBhZDZhNDFiYWExNDA1NDJhYzUw
NDg1NDRhNmQyM2U5YzMyMjhkODFmLi5iZjVmYjdmNDBlNTg4NGE4YTI0N2YwYWRjNjJhYWMzYTcy
NzVjM2VmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJv
bGxlck1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxl
ck1hYy5tbQpAQCAtMTExLDEyICsxMTEsMTIgQEAgc3RhdGljIHZvaWQgc3dpenpsZWRDYW5jZWxU
cmFja2luZyhOU01lbnUgKm1lbnUsIFNFTCkKICAgICB9KTsKIH0KIAotdm9pZCBUZXN0Q29udHJv
bGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3Jt
SW5pdGlhbGl6ZShjb25zdCBPcHRpb25zJiBvcHRpb25zKQogewogICAgIHBvc2VBc0NsYXNzKCJX
ZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZCIsICJOU1Bhc3RlYm9hcmQiKTsKICAgICBwb3NlQXND
bGFzcygiV2ViS2l0VGVzdFJ1bm5lckV2ZW50IiwgIk5TRXZlbnQiKTsKICAgICAKLSAgICBjb2Nv
YVBsYXRmb3JtSW5pdGlhbGl6ZSgpOworICAgIGNvY29hUGxhdGZvcm1Jbml0aWFsaXplKG9wdGlv
bnMpOwogCiAgICAgW05TU291bmQgX3NldEFsZXJ0VHlwZTowXTsKIAo=
</data>
<flag name="review"
          id="473311"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
    <flag name="commit-queue"
          id="473323"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447634</attachid>
            <date>2021-12-20 13:53:25 -0800</date>
            <delta_ts>2021-12-20 14:47:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234525-20211220135324.patch</filename>
            <type>text/plain</type>
            <size>11210</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjQxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzQ3OTIwOWQ2YjI1YzVkNWUzNTFhMzhhMzE4Y2IwZDlm
MjU2MzdhMS4uMjc5ZTQwNDcyYjczMDRhNjIyNGM4ZGI1MGU4MTE1OTgwMDliYzQwZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3
IEBACisyMDIxLTEyLTIwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgaXQgcG9zc2libGUgdG8gZW5hYmxlIGxvZyBjaGFubmVscyBpbiBXZWJL
aXRUZXN0UnVubmVyIGFuZCBEdW1wUmVuZGVyVHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vu
c29uIEhzaWVoLgorCisgICAgICAgIFN1cHBvcnQgYSAiLS1XZWJDb3JlTG9nZ2luZyIgYXJndW1l
bnQgdG8gRHVtcFJlbmRlclRyZWUgdG8gZW5hYmxlIHRoZSBXZWJDb3JlCisgICAgICAgIGxvZyBj
aGFubmVscy4KKworICAgICAgICBTdXBwb3J0ICItLVdlYkNvcmVMb2dnaW5nIiBhbmQgIi0tV2Vi
S2l0TG9nZ2luZyIgYXJndW1lbnRzIHRvIFdlYktpdFRlc3RSdW5uZXIgdG8gZW5hYmxlIHRoZSBX
ZWJDb3JlCisgICAgICAgIGFuZCBXZWJLaXQgbG9nIGNoYW5uZWxzLgorCisgICAgICAgIERSVCBy
ZXF1aXJlcyB0aGUgZG91YmxlIGRhc2ggZm9ybWF0LCBzbyBJIGNob3NlIHRvIGhhdmUgYm90aCB1
c2UgZG91YmxlIGRhc2hlcworICAgICAgICBmb3IgY29uc2lzdGVuY3kgKGFsdGhvdWdoIHRoaXMg
aXMgaW5jb25zaXN0ZW50IHdpdGggdGhlIHNpbmdsZSBkYXNoIGZvcm1hdCB1c2VkCisgICAgICAg
IGJ5IEFwcEtpdCBhbmQgVUlLaXQgYXBwcykuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChpbml0aWFsaXplR2xvYmFsc0Zyb21Db21t
YW5kTGluZU9wdGlvbnMpOgorICAgICAgICAocHJlcGFyZUNvbnNpc3RlbnRUZXN0aW5nRW52aXJv
bm1lbnQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHA6CisgICAgICAg
IChXVFI6OmhhbmRsZU9wdGlvbkxvZ0NoYW5uZWxzKToKKyAgICAgICAgKFdUUjo6T3B0aW9uc0hh
bmRsZXI6Ok9wdGlvbnNIYW5kbGVyKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL09wdGlv
bnMuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUpOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVy
OjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvbWFjL1Rl
c3RDb250cm9sbGVyTWFjLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZv
cm1Jbml0aWFsaXplKToKKwogMjAyMS0xMi0xOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb250ZXJleV0gVGVzdFdlYktpdEFQSS5Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC5EYWVtb24qIHRlc3RzIHRpbWluZyBvdXQ6IEZhaWxlZCB0byBj
b25uZWN0IHRvIG1hY2ggc2VydmljZSBvcmcud2Via2l0LnBjbXRlc3RkYWVtb24uc2VydmljZQpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDBkOGVmZjA5
YzFjYzI0OWRkM2M4MzM5MmVhODE5ZmNkMzZlMmVjOGEuLjMzNmY1ZmJiZjI3MzhmZDBjZmIzNWRj
YzBiM2M4ZWYyZWYzMDJmYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW0KQEAgLTI3Myw2ICsyNzMsOCBAQCBzdGF0aWMgaW50IHNob3dXZWJWaWV3Owogc3Rh
dGljIGludCBwcmludFRlc3RDb3VudDsKIHN0YXRpYyBpbnQgY2hlY2tGb3JXb3JsZExlYWtzOwog
c3RhdGljIEJPT0wgcHJpbnRTZXBhcmF0b3JzOworc3RhdGljIHN0ZDo6c2V0PHN0ZDo6c3RyaW5n
PiBhbGxvd2VkSG9zdHM7CitzdGF0aWMgc3RkOjpzdHJpbmcgd2ViQ29yZUxvZ2dpbmc7CiAKIHN0
YXRpYyBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+JiBwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2Nh
dGlvbigpCiB7CkBAIC0yODAsOCArMjgyLDYgQEAgc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1Jl
Zj4mIHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uKCkKICAgICByZXR1cm4gcGVyc2lz
dGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb247CiB9CiAKLXN0YXRpYyBzdGQ6OnNldDxzdGQ6OnN0
cmluZz4gYWxsb3dlZEhvc3RzOwotCiBzdGF0aWMgUmV0YWluUHRyPFdlYkhpc3RvcnlJdGVtPiYg
cHJldlRlc3RCRkl0ZW0oKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8
V2ViSGlzdG9yeUl0ZW0+PiBfcHJldlRlc3RCRkl0ZW07IC8vIGN1cnJlbnQgYi9mIGl0ZW0gYXQg
dGhlIGVuZCBvZiB0aGUgcHJldmlvdXMgdGVzdC4KQEAgLTEwMDUsNiArMTAwNSw3IEBAIHN0YXRp
YyB2b2lkIGluaXRpYWxpemVHbG9iYWxzRnJvbUNvbW1hbmRMaW5lT3B0aW9ucyhpbnQgYXJnYywg
Y29uc3QgY2hhciAqYXJndltdCiAgICAgICAgIHsic2hvdy13ZWJ2aWV3Iiwgbm9fYXJndW1lbnQs
ICZzaG93V2ViVmlldywgWUVTfSwKICAgICAgICAgeyJwcmludC10ZXN0LWNvdW50Iiwgbm9fYXJn
dW1lbnQsICZwcmludFRlc3RDb3VudCwgWUVTfSwKICAgICAgICAgeyJ3b3JsZC1sZWFrcyIsIG5v
X2FyZ3VtZW50LCAmY2hlY2tGb3JXb3JsZExlYWtzLCBOT30sCisgICAgICAgIHsiV2ViQ29yZUxv
Z2dpbmciLCByZXF1aXJlZF9hcmd1bWVudCwgbnVsbHB0ciwgJ1cnfSwKICAgICAgICAge251bGxw
dHIsIDAsIG51bGxwdHIsIDB9CiAgICAgfTsKIApAQCAtMTAxOCw2ICsxMDE5LDggQEAgc3RhdGlj
IHZvaWQgaW5pdGlhbGl6ZUdsb2JhbHNGcm9tQ29tbWFuZExpbmVPcHRpb25zKGludCBhcmdjLCBj
b25zdCBjaGFyICphcmd2W10KICAgICAgICAgICAgIGNhc2UgJ2EnOiAvLyAiYWxsb3dlZC1ob3N0
IgogICAgICAgICAgICAgICAgIGFsbG93ZWRIb3N0cy5pbnNlcnQob3B0YXJnKTsKICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ1cnOiAvLyAiV2ViQ29yZUxvZ2dpbmci
CisgICAgICAgICAgICAgICAgd2ViQ29yZUxvZ2dpbmcgPSBvcHRhcmc7CiAgICAgICAgIH0KICAg
ICB9CiB9CkBAIC0xMTI1LDYgKzExMjgsOSBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlQ29uc2lzdGVu
dFRlc3RpbmdFbnZpcm9ubWVudCgpCiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0
cjxpZD4+IGFzc2VydGlvbiA9IFtbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gYmVnaW5BY3Rp
dml0eVdpdGhPcHRpb25zOm9wdGlvbnMgcmVhc29uOkAiRHVtcFJlbmRlclRyZWUgc2hvdWxkIG5v
dCBiZSBzdWJqZWN0IHRvIHByb2Nlc3Mgc3VwcHJlc3Npb24iXTsKICAgICBBU1NFUlRfVU5VU0VE
KGFzc2VydGlvbiwgYXNzZXJ0aW9uLmdldCgpKTsKICNlbmRpZgorCisgICAgaWYgKHdlYkNvcmVM
b2dnaW5nLmxlbmd0aCgpKQorICAgICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRl
ZmF1bHRzXSBzZXRWYWx1ZTpbTlNTdHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6d2ViQ29yZUxv
Z2dpbmcuY19zdHIoKV0gZm9yS2V5OkAiV2ViQ29yZUxvZ2dpbmciXTsKIH0KIAogY29uc3QgY2hh
ciBjcmFzaGVkTWVzc2FnZVtdID0gIiNDUkFTSEVEXG4iOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9PcHRpb25zLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9u
cy5jcHAKaW5kZXggZDQ1ZTRiMDdhNmU2NDc2OThiY2NiZDg0MjkzZDgxZDg5YWUwZTYzYS4uM2Jh
NTBjMGJkOWZlOWQ3ZDNjNTc1NjJkZjcyMTk1ZmUxOTNhYTNhZiAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9PcHRpb25zLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L09wdGlvbnMuY3BwCkBAIC0xNTIsNiArMTUyLDIxIEBAIHN0YXRpYyBib29sIGhhbmRsZU9wdGlv
blVubWF0Y2hlZChPcHRpb25zJiBvcHRpb25zLCBjb25zdCBjaGFyKiBvcHRpb24sIGNvbnN0IGNo
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGhhbmRsZU9wdGlvbkxvZ0NoYW5u
ZWxzKE9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IGNoYXIqIG9wdGlvbiwgY29uc3QgY2hhciogY2hh
bm5lbHMpCit7CisgICAgaWYgKCFzdHJjbXAob3B0aW9uLCAiLS1XZWJDb3JlTG9nZ2luZyIpKSB7
CisgICAgICAgIG9wdGlvbnMud2ViQ29yZUxvZ0NoYW5uZWxzID0gY2hhbm5lbHM7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIGlmICghc3RyY21wKG9wdGlvbiwgIi0tV2ViS2l0
TG9nZ2luZyIpKSB7CisgICAgICAgIG9wdGlvbnMud2ViS2l0TG9nQ2hhbm5lbHMgPSBjaGFubmVs
czsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQor
CiBPcHRpb25zSGFuZGxlcjo6T3B0aW9uc0hhbmRsZXIoT3B0aW9ucyYgbykKICAgICA6IG9wdGlv
bnMobykKIHsKQEAgLTE3NSw2ICsxOTAsOCBAQCBPcHRpb25zSGFuZGxlcjo6T3B0aW9uc0hhbmRs
ZXIoT3B0aW9ucyYgbykKICNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQog
ICAgIG9wdGlvbkxpc3QuYXBwZW5kKE9wdGlvbigiLS1hY2Nlc3NpYmlsaXR5LWlzb2xhdGVkLXRy
ZWUiLCAiRW5hYmxlIGFjY2Vzc2liaWxpdHkgaXNvbGF0ZWQgdHJlZSBtb2RlIGZvciB0ZXN0cyIs
IGhhbmRsZU9wdGlvbkFjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVNb2RlKSk7CiAjZW5kaWYKKyAg
ICBvcHRpb25MaXN0LmFwcGVuZChPcHRpb24oIi0tV2ViQ29yZUxvZ2dpbmciLCAiRW5hYmxlIFdl
YkNvcmUgbG9nIGNoYW5uZWxzIiwgaGFuZGxlT3B0aW9uTG9nQ2hhbm5lbHMsIHRydWUpKTsKKyAg
ICBvcHRpb25MaXN0LmFwcGVuZChPcHRpb24oIi0tV2ViS2l0TG9nZ2luZyIsICJFbmFibGUgV2Vi
S2l0IGxvZyBjaGFubmVscyIsIGhhbmRsZU9wdGlvbkxvZ0NoYW5uZWxzLCB0cnVlKSk7CiAgICAg
CiAgICAgb3B0aW9uTGlzdC5hcHBlbmQoT3B0aW9uKDAsIDAsIGhhbmRsZU9wdGlvblVubWF0Y2hl
ZCkpOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9PcHRpb25zLmggYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuaAppbmRleCA4ZWZlZDUyZmJlZDQzMjlhN2Iw
NGYxYzI1MDk2MjJkYzAyZjFjOGZkLi5hMDc2YmNhMTRiNDBjYmI3MTVhMGIyMzQ0YmJjOGQ1MTRh
M2ViZWZkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuaAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuaApAQCAtNTIsNiArNTIsOCBAQCBzdHJ1
Y3QgT3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVBbGxFeHBlcmltZW50YWxGZWF0dXJlcyB7IHRy
dWUgfTsKICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gcGF0aHM7CiAgICAgc3RkOjpzZXQ8
c3RkOjpzdHJpbmc+IGFsbG93ZWRIb3N0czsKKyAgICBzdGQ6OnN0cmluZyB3ZWJDb3JlTG9nQ2hh
bm5lbHM7CisgICAgc3RkOjpzdHJpbmcgd2ViS2l0TG9nQ2hhbm5lbHM7CiAgICAgVGVzdEZlYXR1
cmVzIGZlYXR1cmVzOwogfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcAppbmRleCBhYTFkNWJkZTE0YmViMzdlZTU0ZTkyYmY1ZTI5NTM3ZWY5ZWE1NjY1Li41Njli
OThhNTIzOTQ0NjU2ZDRhZTc4MWU3ZTAzNzcyMzI3NzAxMTE4IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtNTI4LDggKzUyOCw2IEBAIHZvaWQgVGVzdENv
bnRyb2xsZXI6OmluaXRpYWxpemUoaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICBX
VEY6OnNldFByb2Nlc3NQcml2aWxlZ2VzKGFsbFByaXZpbGVnZXMoKSk7CiAgICAgV2ViQ29yZVRl
c3RTdXBwb3J0Ojpwb3B1bGF0ZUpJVE9wZXJhdGlvbnMoKTsKIAotICAgIHBsYXRmb3JtSW5pdGlh
bGl6ZSgpOwotCiAgICAgT3B0aW9ucyBvcHRpb25zOwogICAgIE9wdGlvbnNIYW5kbGVyIG9wdGlv
bnNIYW5kbGVyKG9wdGlvbnMpOwogCkBAIC01NDAsNiArNTM4LDggQEAgdm9pZCBUZXN0Q29udHJv
bGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKQogICAgIGlmICgh
b3B0aW9uc0hhbmRsZXIucGFyc2UoYXJnYywgYXJndikpCiAgICAgICAgIGV4aXQoMSk7CiAKKyAg
ICBwbGF0Zm9ybUluaXRpYWxpemUob3B0aW9ucyk7CisKICAgICBtX3VzZVdhaXRUb0R1bXBXYXRj
aGRvZ1RpbWVyID0gb3B0aW9ucy51c2VXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcjsKICAgICBtX2Zv
cmNlTm9UaW1lb3V0ID0gb3B0aW9ucy5mb3JjZU5vVGltZW91dDsKICAgICBtX3ZlcmJvc2UgPSBv
cHRpb25zLnZlcmJvc2U7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5k
ZXggNDAzZWRjMjNlODUwYTE0ODRjNjEyZDU5ZDRkYmRiMDk5MWEyYzE3Yi4uMDdmNzUwMzViZjMx
OWM2MzdiOWM3NDVkZjUxM2JlNjc0NjZiZTMxMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuaApAQCAtNTYsNiArNTYsNyBAQCBjbGFzcyBPcmlnaW5TZXR0aW5nczsKIGNs
YXNzIFBsYXRmb3JtV2ViVmlldzsKIGNsYXNzIFRlc3RJbnZvY2F0aW9uOwogY2xhc3MgVGVzdE9w
dGlvbnM7CitzdHJ1Y3QgT3B0aW9uczsKIHN0cnVjdCBUZXN0Q29tbWFuZDsKIAogY2xhc3MgQXN5
bmNUYXNrIHsKQEAgLTM4NCw3ICszODUsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBoYW5kbGVD
b250cm9sQ29tbWFuZChjb25zdCBjaGFyKiBjb21tYW5kKTsKIAotICAgIHZvaWQgcGxhdGZvcm1J
bml0aWFsaXplKCk7CisgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoY29uc3QgT3B0aW9ucyYp
OwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplRGF0YVN0b3JlKFdLUGFnZUNvbmZpZ3VyYXRp
b25SZWYsIGNvbnN0IFRlc3RPcHRpb25zJik7CiAgICAgdm9pZCBwbGF0Zm9ybURlc3Ryb3koKTsK
ICAgICBXS0NvbnRleHRSZWYgcGxhdGZvcm1BZGp1c3RDb250ZXh0KFdLQ29udGV4dFJlZiwgV0tD
b250ZXh0Q29uZmlndXJhdGlvblJlZik7CkBAIC0zOTYsNyArMzk3LDcgQEAgcHJpdmF0ZToKICAg
ICBib29sIHBsYXRmb3JtUmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0
aW9ucyYpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdm9pZCBjb2NvYVBsYXRmb3JtSW5p
dGlhbGl6ZSgpOworICAgIHZvaWQgY29jb2FQbGF0Zm9ybUluaXRpYWxpemUoY29uc3QgT3B0aW9u
cyYpOwogICAgIHZvaWQgY29jb2FSZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRl
c3RPcHRpb25zJik7CiAgICAgdm9pZCBzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29u
c3Qgc3RkOjpzdHJpbmcmKTsKICAgICB2b2lkIGNsZWFyQXBwbGljYXRpb25CdW5kbGVJZGVudGlm
aWVyVGVzdGluZ092ZXJyaWRlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2Nv
Y29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KaW5kZXggMDVlMmRhMzYzNTBmZGFmZWU4MjBlNzJj
YTJmN2IxMzY3MDM4YjI4Ni4uNThjZjYxNTY1Y2U1NzM3MmIzMjhiMjg3NDM2ODM3MjcwOGYxYzA2
OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxl
ckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xs
ZXJDb2NvYS5tbQpAQCAtMjcsNiArMjcsNyBAQAogI2ltcG9ydCAiVGVzdENvbnRyb2xsZXIuaCIK
IAogI2ltcG9ydCAiQ3Jhc2hSZXBvcnRlckluZm8uaCIKKyNpbXBvcnQgIk9wdGlvbnMuaCIKICNp
bXBvcnQgIlBsYXRmb3JtV2ViVmlldy5oIgogI2ltcG9ydCAiU3RyaW5nRnVuY3Rpb25zLmgiCiAj
aW1wb3J0ICJUZXN0SW52b2NhdGlvbi5oIgpAQCAtMTAzLDcgKzEwNCw3IEBAIHZvaWQgaW5pdGlh
bGl6ZVdlYlZpZXdDb25maWd1cmF0aW9uKGNvbnN0IGNoYXIqIGxpYnJhcnlQYXRoLCBXS1N0cmlu
Z1JlZiBpbmplY3RlCiAgICAgfSgpOwogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpjb2NvYVBs
YXRmb3JtSW5pdGlhbGl6ZSgpCit2b2lkIFRlc3RDb250cm9sbGVyOjpjb2NvYVBsYXRmb3JtSW5p
dGlhbGl6ZShjb25zdCBPcHRpb25zJiBvcHRpb25zKQogewogICAgIGNvbnN0IGNoYXIqIGR1bXBS
ZW5kZXJUcmVlVGVtcCA9IGxpYnJhcnlQYXRoRm9yVGVzdGluZygpOwogICAgIGlmICghZHVtcFJl
bmRlclRyZWVUZW1wKQpAQCAtMTE1LDYgKzExNiwxMiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpj
b2NvYVBsYXRmb3JtSW5pdGlhbGl6ZSgpCiAgICAgTlNEaWN0aW9uYXJ5ICpyZXNvdXJjZUxvZ1Bs
aXN0ID0gQHsgQCJ2ZXJzaW9uIjogQCgxKSB9OwogICAgIGlmICghW3Jlc291cmNlTG9nUGxpc3Qg
d3JpdGVUb0ZpbGU6ZnVsbEJyb3dzaW5nU2Vzc2lvblJlc291cmNlTG9nIGF0b21pY2FsbHk6WUVT
XSkKICAgICAgICAgV1RGQ3Jhc2goKTsKKyAgICAKKyAgICBpZiAob3B0aW9ucy53ZWJDb3JlTG9n
Q2hhbm5lbHMubGVuZ3RoKCkpCisgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHNldFZhbHVlOltOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpvcHRpb25z
LndlYkNvcmVMb2dDaGFubmVscy5jX3N0cigpXSBmb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOwor
CisgICAgaWYgKG9wdGlvbnMud2ViS2l0TG9nQ2hhbm5lbHMubGVuZ3RoKCkpCisgICAgICAgIFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZhbHVlOltOU1N0cmluZyBz
dHJpbmdXaXRoVVRGOFN0cmluZzpvcHRpb25zLndlYktpdExvZ0NoYW5uZWxzLmNfc3RyKCldIGZv
cktleTpAIldlYktpdExvZ2dpbmciXTsKIH0KIAogV0tDb250ZXh0UmVmIFRlc3RDb250cm9sbGVy
OjpwbGF0Zm9ybUNvbnRleHQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9p
b3MvVGVzdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0
Q29udHJvbGxlcklPUy5tbQppbmRleCA1ZDRhMDE5NzZjY2MxNGJlMGIxYzhhZjY0MzUyNWMzZjc0
ZDFjOGQzLi5mMjI0ODkxYmYzYzgxMTQ5MDMwYTExZDY4MGQ5OTJhNzc5NDk4NDYxIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQpAQCAtOTgs
MTAgKzk4LDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6Om5vdGlmeURvbmUoKQogICAgIFtzZWxl
Y3Rpb25WaWV3IF9yZW1vdmVBbGxBbmltYXRpb25zOllFU107CiB9CiAKLXZvaWQgVGVzdENvbnRy
b2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9y
bUluaXRpYWxpemUoY29uc3QgT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBzZXRVcElPU0xheW91
dFRlc3RDb21tdW5pY2F0aW9uKCk7Ci0gICAgY29jb2FQbGF0Zm9ybUluaXRpYWxpemUoKTsKKyAg
ICBjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZShvcHRpb25zKTsKIAogICAgIFtVSUFwcGxpY2F0aW9u
IHNoYXJlZEFwcGxpY2F0aW9uXS5pZGxlVGltZXJEaXNhYmxlZCA9IFlFUzsKICAgICBbW1VJU2Ny
ZWVuIG1haW5TY3JlZW5dIF9zZXRTY2FsZToyLjBdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQppbmRleCBhZDZhNDFiYWExNDA1NDJhYzUwNDg1
NDRhNmQyM2U5YzMyMjhkODFmLi5iZjVmYjdmNDBlNTg4NGE4YTI0N2YwYWRjNjJhYWMzYTcyNzVj
M2VmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxl
ck1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1h
Yy5tbQpAQCAtMTExLDEyICsxMTEsMTIgQEAgc3RhdGljIHZvaWQgc3dpenpsZWRDYW5jZWxUcmFj
a2luZyhOU01lbnUgKm1lbnUsIFNFTCkKICAgICB9KTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5p
dGlhbGl6ZShjb25zdCBPcHRpb25zJiBvcHRpb25zKQogewogICAgIHBvc2VBc0NsYXNzKCJXZWJL
aXRUZXN0UnVubmVyUGFzdGVib2FyZCIsICJOU1Bhc3RlYm9hcmQiKTsKICAgICBwb3NlQXNDbGFz
cygiV2ViS2l0VGVzdFJ1bm5lckV2ZW50IiwgIk5TRXZlbnQiKTsKICAgICAKLSAgICBjb2NvYVBs
YXRmb3JtSW5pdGlhbGl6ZSgpOworICAgIGNvY29hUGxhdGZvcm1Jbml0aWFsaXplKG9wdGlvbnMp
OwogCiAgICAgW05TU291bmQgX3NldEFsZXJ0VHlwZTowXTsKIAo=
</data>
<flag name="commit-queue"
          id="473327"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447639</attachid>
            <date>2021-12-20 14:31:27 -0800</date>
            <delta_ts>2021-12-20 14:31:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234525-20211220143126.patch</filename>
            <type>text/plain</type>
            <size>13218</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjQxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzQ3OTIwOWQ2YjI1YzVkNWUzNTFhMzhhMzE4Y2IwZDlm
MjU2MzdhMS4uZDFhNjNmZDIwMWUxNTRmZTVkNzRjNmFmYzZjMTEwODQwYjdjYjMwOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDIxLTEyLTIwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgaXQgcG9zc2libGUgdG8gZW5hYmxlIGxvZyBjaGFubmVscyBpbiBXZWJL
aXRUZXN0UnVubmVyIGFuZCBEdW1wUmVuZGVyVHJlZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vu
c29uIEhzaWVoLgorCisgICAgICAgIFN1cHBvcnQgYSAiLS1XZWJDb3JlTG9nZ2luZyIgYXJndW1l
bnQgdG8gRHVtcFJlbmRlclRyZWUgdG8gZW5hYmxlIHRoZSBXZWJDb3JlCisgICAgICAgIGxvZyBj
aGFubmVscy4KKworICAgICAgICBTdXBwb3J0ICItLVdlYkNvcmVMb2dnaW5nIiBhbmQgIi0tV2Vi
S2l0TG9nZ2luZyIgYXJndW1lbnRzIHRvIFdlYktpdFRlc3RSdW5uZXIgdG8gZW5hYmxlIHRoZSBX
ZWJDb3JlCisgICAgICAgIGFuZCBXZWJLaXQgbG9nIGNoYW5uZWxzLgorCisgICAgICAgIERSVCBy
ZXF1aXJlcyB0aGUgZG91YmxlIGRhc2ggZm9ybWF0LCBzbyBJIGNob3NlIHRvIGhhdmUgYm90aCB1
c2UgZG91YmxlIGRhc2hlcworICAgICAgICBmb3IgY29uc2lzdGVuY3kgKGFsdGhvdWdoIHRoaXMg
aXMgaW5jb25zaXN0ZW50IHdpdGggdGhlIHNpbmdsZSBkYXNoIGZvcm1hdCB1c2VkCisgICAgICAg
IGJ5IEFwcEtpdCBhbmQgVUlLaXQgYXBwcykuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9t
YWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChpbml0aWFsaXplR2xvYmFsc0Zyb21Db21t
YW5kTGluZU9wdGlvbnMpOgorICAgICAgICAocHJlcGFyZUNvbnNpc3RlbnRUZXN0aW5nRW52aXJv
bm1lbnQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHA6CisgICAgICAg
IChXVFI6OmhhbmRsZU9wdGlvbkxvZ0NoYW5uZWxzKToKKyAgICAgICAgKFdUUjo6T3B0aW9uc0hh
bmRsZXI6Ok9wdGlvbnNIYW5kbGVyKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL09wdGlv
bnMuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUpOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9s
bGVyOjpjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9ndGsvVGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1Jbml0aWFsaXplKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9U
ZXN0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRm
b3JtSW5pdGlhbGl6ZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRy
b2xsZXJNYWMubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRp
YWxpemUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvd2luL1Rlc3RDb250cm9sbGVyV2lu
LmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci93cGUvVGVzdENvbnRyb2xsZXJXUEUuY3BwOgor
ICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKToKKwogMjAy
MS0xMi0xOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtNb250ZXJleV0gVGVzdFdlYktpdEFQSS5Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC5E
YWVtb24qIHRlc3RzIHRpbWluZyBvdXQ6IEZhaWxlZCB0byBjb25uZWN0IHRvIG1hY2ggc2Vydmlj
ZSBvcmcud2Via2l0LnBjbXRlc3RkYWVtb24uc2VydmljZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDBkOGVmZjA5YzFjYzI0OWRkM2M4MzM5MmVhODE5
ZmNkMzZlMmVjOGEuLjMzNmY1ZmJiZjI3MzhmZDBjZmIzNWRjYzBiM2M4ZWYyZWYzMDJmYzcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTI3Myw2ICsy
NzMsOCBAQCBzdGF0aWMgaW50IHNob3dXZWJWaWV3Owogc3RhdGljIGludCBwcmludFRlc3RDb3Vu
dDsKIHN0YXRpYyBpbnQgY2hlY2tGb3JXb3JsZExlYWtzOwogc3RhdGljIEJPT0wgcHJpbnRTZXBh
cmF0b3JzOworc3RhdGljIHN0ZDo6c2V0PHN0ZDo6c3RyaW5nPiBhbGxvd2VkSG9zdHM7CitzdGF0
aWMgc3RkOjpzdHJpbmcgd2ViQ29yZUxvZ2dpbmc7CiAKIHN0YXRpYyBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+JiBwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbigpCiB7CkBAIC0yODAsOCAr
MjgyLDYgQEAgc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4mIHBlcnNpc3RlbnRVc2VyU3R5
bGVTaGVldExvY2F0aW9uKCkKICAgICByZXR1cm4gcGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9j
YXRpb247CiB9CiAKLXN0YXRpYyBzdGQ6OnNldDxzdGQ6OnN0cmluZz4gYWxsb3dlZEhvc3RzOwot
CiBzdGF0aWMgUmV0YWluUHRyPFdlYkhpc3RvcnlJdGVtPiYgcHJldlRlc3RCRkl0ZW0oKQogewog
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8V2ViSGlzdG9yeUl0ZW0+PiBfcHJl
dlRlc3RCRkl0ZW07IC8vIGN1cnJlbnQgYi9mIGl0ZW0gYXQgdGhlIGVuZCBvZiB0aGUgcHJldmlv
dXMgdGVzdC4KQEAgLTEwMDUsNiArMTAwNSw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVHbG9i
YWxzRnJvbUNvbW1hbmRMaW5lT3B0aW9ucyhpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdCiAg
ICAgICAgIHsic2hvdy13ZWJ2aWV3Iiwgbm9fYXJndW1lbnQsICZzaG93V2ViVmlldywgWUVTfSwK
ICAgICAgICAgeyJwcmludC10ZXN0LWNvdW50Iiwgbm9fYXJndW1lbnQsICZwcmludFRlc3RDb3Vu
dCwgWUVTfSwKICAgICAgICAgeyJ3b3JsZC1sZWFrcyIsIG5vX2FyZ3VtZW50LCAmY2hlY2tGb3JX
b3JsZExlYWtzLCBOT30sCisgICAgICAgIHsiV2ViQ29yZUxvZ2dpbmciLCByZXF1aXJlZF9hcmd1
bWVudCwgbnVsbHB0ciwgJ1cnfSwKICAgICAgICAge251bGxwdHIsIDAsIG51bGxwdHIsIDB9CiAg
ICAgfTsKIApAQCAtMTAxOCw2ICsxMDE5LDggQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUdsb2Jh
bHNGcm9tQ29tbWFuZExpbmVPcHRpb25zKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10KICAg
ICAgICAgICAgIGNhc2UgJ2EnOiAvLyAiYWxsb3dlZC1ob3N0IgogICAgICAgICAgICAgICAgIGFs
bG93ZWRIb3N0cy5pbnNlcnQob3B0YXJnKTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGNhc2UgJ1cnOiAvLyAiV2ViQ29yZUxvZ2dpbmciCisgICAgICAgICAgICAgICAgd2Vi
Q29yZUxvZ2dpbmcgPSBvcHRhcmc7CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC0xMTI1LDYgKzEx
MjgsOSBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlQ29uc2lzdGVudFRlc3RpbmdFbnZpcm9ubWVudCgp
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0cjxpZD4+IGFzc2VydGlvbiA9IFtb
TlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gYmVnaW5BY3Rpdml0eVdpdGhPcHRpb25zOm9wdGlv
bnMgcmVhc29uOkAiRHVtcFJlbmRlclRyZWUgc2hvdWxkIG5vdCBiZSBzdWJqZWN0IHRvIHByb2Nl
c3Mgc3VwcHJlc3Npb24iXTsKICAgICBBU1NFUlRfVU5VU0VEKGFzc2VydGlvbiwgYXNzZXJ0aW9u
LmdldCgpKTsKICNlbmRpZgorCisgICAgaWYgKHdlYkNvcmVMb2dnaW5nLmxlbmd0aCgpKQorICAg
ICAgICBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWYWx1ZTpbTlNT
dHJpbmcgc3RyaW5nV2l0aFVURjhTdHJpbmc6d2ViQ29yZUxvZ2dpbmcuY19zdHIoKV0gZm9yS2V5
OkAiV2ViQ29yZUxvZ2dpbmciXTsKIH0KIAogY29uc3QgY2hhciBjcmFzaGVkTWVzc2FnZVtdID0g
IiNDUkFTSEVEXG4iOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9PcHRpb25z
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvT3B0aW9ucy5jcHAKaW5kZXggZDQ1ZTRiMDdh
NmU2NDc2OThiY2NiZDg0MjkzZDgxZDg5YWUwZTYzYS4uM2JhNTBjMGJkOWZlOWQ3ZDNjNTc1NjJk
ZjcyMTk1ZmUxOTNhYTNhZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9PcHRp
b25zLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuY3BwCkBAIC0xNTIs
NiArMTUyLDIxIEBAIHN0YXRpYyBib29sIGhhbmRsZU9wdGlvblVubWF0Y2hlZChPcHRpb25zJiBv
cHRpb25zLCBjb25zdCBjaGFyKiBvcHRpb24sIGNvbnN0IGNoCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKK3N0YXRpYyBib29sIGhhbmRsZU9wdGlvbkxvZ0NoYW5uZWxzKE9wdGlvbnMmIG9wdGlvbnMs
IGNvbnN0IGNoYXIqIG9wdGlvbiwgY29uc3QgY2hhciogY2hhbm5lbHMpCit7CisgICAgaWYgKCFz
dHJjbXAob3B0aW9uLCAiLS1XZWJDb3JlTG9nZ2luZyIpKSB7CisgICAgICAgIG9wdGlvbnMud2Vi
Q29yZUxvZ0NoYW5uZWxzID0gY2hhbm5lbHM7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIGlmICghc3RyY21wKG9wdGlvbiwgIi0tV2ViS2l0TG9nZ2luZyIpKSB7CisgICAgICAg
IG9wdGlvbnMud2ViS2l0TG9nQ2hhbm5lbHMgPSBjaGFubmVsczsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCiBPcHRpb25zSGFuZGxlcjo6T3B0
aW9uc0hhbmRsZXIoT3B0aW9ucyYgbykKICAgICA6IG9wdGlvbnMobykKIHsKQEAgLTE3NSw2ICsx
OTAsOCBAQCBPcHRpb25zSGFuZGxlcjo6T3B0aW9uc0hhbmRsZXIoT3B0aW9ucyYgbykKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogICAgIG9wdGlvbkxpc3QuYXBwZW5k
KE9wdGlvbigiLS1hY2Nlc3NpYmlsaXR5LWlzb2xhdGVkLXRyZWUiLCAiRW5hYmxlIGFjY2Vzc2li
aWxpdHkgaXNvbGF0ZWQgdHJlZSBtb2RlIGZvciB0ZXN0cyIsIGhhbmRsZU9wdGlvbkFjY2Vzc2li
aWxpdHlJc29sYXRlZFRyZWVNb2RlKSk7CiAjZW5kaWYKKyAgICBvcHRpb25MaXN0LmFwcGVuZChP
cHRpb24oIi0tV2ViQ29yZUxvZ2dpbmciLCAiRW5hYmxlIFdlYkNvcmUgbG9nIGNoYW5uZWxzIiwg
aGFuZGxlT3B0aW9uTG9nQ2hhbm5lbHMsIHRydWUpKTsKKyAgICBvcHRpb25MaXN0LmFwcGVuZChP
cHRpb24oIi0tV2ViS2l0TG9nZ2luZyIsICJFbmFibGUgV2ViS2l0IGxvZyBjaGFubmVscyIsIGhh
bmRsZU9wdGlvbkxvZ0NoYW5uZWxzLCB0cnVlKSk7CiAgICAgCiAgICAgb3B0aW9uTGlzdC5hcHBl
bmQoT3B0aW9uKDAsIDAsIGhhbmRsZU9wdGlvblVubWF0Y2hlZCkpOwogfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9PcHRpb25zLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L09wdGlvbnMuaAppbmRleCA4ZWZlZDUyZmJlZDQzMjlhN2IwNGYxYzI1MDk2MjJkYzAyZjFjOGZk
Li5hMDc2YmNhMTRiNDBjYmI3MTVhMGIyMzQ0YmJjOGQ1MTRhM2ViZWZkIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL09wdGlvbnMuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL09wdGlvbnMuaApAQCAtNTIsNiArNTIsOCBAQCBzdHJ1Y3QgT3B0aW9ucyB7CiAgICAgYm9v
bCBlbmFibGVBbGxFeHBlcmltZW50YWxGZWF0dXJlcyB7IHRydWUgfTsKICAgICBzdGQ6OnZlY3Rv
cjxzdGQ6OnN0cmluZz4gcGF0aHM7CiAgICAgc3RkOjpzZXQ8c3RkOjpzdHJpbmc+IGFsbG93ZWRI
b3N0czsKKyAgICBzdGQ6OnN0cmluZyB3ZWJDb3JlTG9nQ2hhbm5lbHM7CisgICAgc3RkOjpzdHJp
bmcgd2ViS2l0TG9nQ2hhbm5lbHM7CiAgICAgVGVzdEZlYXR1cmVzIGZlYXR1cmVzOwogfTsKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBhYTFkNWJkZTE0
YmViMzdlZTU0ZTkyYmY1ZTI5NTM3ZWY5ZWE1NjY1Li41NjliOThhNTIzOTQ0NjU2ZDRhZTc4MWU3
ZTAzNzcyMzI3NzAxMTE4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcApAQCAtNTI4LDggKzUyOCw2IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUo
aW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICBXVEY6OnNldFByb2Nlc3NQcml2aWxl
Z2VzKGFsbFByaXZpbGVnZXMoKSk7CiAgICAgV2ViQ29yZVRlc3RTdXBwb3J0Ojpwb3B1bGF0ZUpJ
VE9wZXJhdGlvbnMoKTsKIAotICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwotCiAgICAgT3B0aW9u
cyBvcHRpb25zOwogICAgIE9wdGlvbnNIYW5kbGVyIG9wdGlvbnNIYW5kbGVyKG9wdGlvbnMpOwog
CkBAIC01NDAsNiArNTM4LDggQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQg
YXJnYywgY29uc3QgY2hhciogYXJndltdKQogICAgIGlmICghb3B0aW9uc0hhbmRsZXIucGFyc2Uo
YXJnYywgYXJndikpCiAgICAgICAgIGV4aXQoMSk7CiAKKyAgICBwbGF0Zm9ybUluaXRpYWxpemUo
b3B0aW9ucyk7CisKICAgICBtX3VzZVdhaXRUb0R1bXBXYXRjaGRvZ1RpbWVyID0gb3B0aW9ucy51
c2VXYWl0VG9EdW1wV2F0Y2hkb2dUaW1lcjsKICAgICBtX2ZvcmNlTm9UaW1lb3V0ID0gb3B0aW9u
cy5mb3JjZU5vVGltZW91dDsKICAgICBtX3ZlcmJvc2UgPSBvcHRpb25zLnZlcmJvc2U7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggNDAzZWRjMjNlODUwYTE0ODRj
NjEyZDU5ZDRkYmRiMDk5MWEyYzE3Yi4uMDdmNzUwMzViZjMxOWM2MzdiOWM3NDVkZjUxM2JlNjc0
NjZiZTMxMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApAQCAtNTYs
NiArNTYsNyBAQCBjbGFzcyBPcmlnaW5TZXR0aW5nczsKIGNsYXNzIFBsYXRmb3JtV2ViVmlldzsK
IGNsYXNzIFRlc3RJbnZvY2F0aW9uOwogY2xhc3MgVGVzdE9wdGlvbnM7CitzdHJ1Y3QgT3B0aW9u
czsKIHN0cnVjdCBUZXN0Q29tbWFuZDsKIAogY2xhc3MgQXN5bmNUYXNrIHsKQEAgLTM4NCw3ICsz
ODUsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBoYW5kbGVDb250cm9sQ29tbWFuZChjb25zdCBj
aGFyKiBjb21tYW5kKTsKIAotICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKCk7CisgICAgdm9p
ZCBwbGF0Zm9ybUluaXRpYWxpemUoY29uc3QgT3B0aW9ucyYpOwogICAgIHZvaWQgcGxhdGZvcm1J
bml0aWFsaXplRGF0YVN0b3JlKFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYsIGNvbnN0IFRlc3RPcHRp
b25zJik7CiAgICAgdm9pZCBwbGF0Zm9ybURlc3Ryb3koKTsKICAgICBXS0NvbnRleHRSZWYgcGxh
dGZvcm1BZGp1c3RDb250ZXh0KFdLQ29udGV4dFJlZiwgV0tDb250ZXh0Q29uZmlndXJhdGlvblJl
Zik7CkBAIC0zOTYsNyArMzk3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHBsYXRmb3JtUmVzZXRT
dGF0ZVRvQ29uc2lzdGVudFZhbHVlcyhjb25zdCBUZXN0T3B0aW9ucyYpOwogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCi0gICAgdm9pZCBjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZSgpOworICAgIHZvaWQg
Y29jb2FQbGF0Zm9ybUluaXRpYWxpemUoY29uc3QgT3B0aW9ucyYpOwogICAgIHZvaWQgY29jb2FS
ZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJik7CiAgICAgdm9p
ZCBzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29uc3Qgc3RkOjpzdHJpbmcmKTsKICAg
ICB2b2lkIGNsZWFyQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyVGVzdGluZ092ZXJyaWRlKCk7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVy
Q29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29j
b2EubW0KaW5kZXggMDVlMmRhMzYzNTBmZGFmZWU4MjBlNzJjYTJmN2IxMzY3MDM4YjI4Ni4uNThj
ZjYxNTY1Y2U1NzM3MmIzMjhiMjg3NDM2ODM3MjcwOGYxYzA2OCAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMjcsNiAr
MjcsNyBAQAogI2ltcG9ydCAiVGVzdENvbnRyb2xsZXIuaCIKIAogI2ltcG9ydCAiQ3Jhc2hSZXBv
cnRlckluZm8uaCIKKyNpbXBvcnQgIk9wdGlvbnMuaCIKICNpbXBvcnQgIlBsYXRmb3JtV2ViVmll
dy5oIgogI2ltcG9ydCAiU3RyaW5nRnVuY3Rpb25zLmgiCiAjaW1wb3J0ICJUZXN0SW52b2NhdGlv
bi5oIgpAQCAtMTAzLDcgKzEwNCw3IEBAIHZvaWQgaW5pdGlhbGl6ZVdlYlZpZXdDb25maWd1cmF0
aW9uKGNvbnN0IGNoYXIqIGxpYnJhcnlQYXRoLCBXS1N0cmluZ1JlZiBpbmplY3RlCiAgICAgfSgp
OwogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZSgpCit2
b2lkIFRlc3RDb250cm9sbGVyOjpjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBPcHRpb25z
JiBvcHRpb25zKQogewogICAgIGNvbnN0IGNoYXIqIGR1bXBSZW5kZXJUcmVlVGVtcCA9IGxpYnJh
cnlQYXRoRm9yVGVzdGluZygpOwogICAgIGlmICghZHVtcFJlbmRlclRyZWVUZW1wKQpAQCAtMTE1
LDYgKzExNiwxMiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpjb2NvYVBsYXRmb3JtSW5pdGlhbGl6
ZSgpCiAgICAgTlNEaWN0aW9uYXJ5ICpyZXNvdXJjZUxvZ1BsaXN0ID0gQHsgQCJ2ZXJzaW9uIjog
QCgxKSB9OwogICAgIGlmICghW3Jlc291cmNlTG9nUGxpc3Qgd3JpdGVUb0ZpbGU6ZnVsbEJyb3dz
aW5nU2Vzc2lvblJlc291cmNlTG9nIGF0b21pY2FsbHk6WUVTXSkKICAgICAgICAgV1RGQ3Jhc2go
KTsKKyAgICAKKyAgICBpZiAob3B0aW9ucy53ZWJDb3JlTG9nQ2hhbm5lbHMubGVuZ3RoKCkpCisg
ICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZhbHVlOltO
U1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpvcHRpb25zLndlYkNvcmVMb2dDaGFubmVscy5j
X3N0cigpXSBmb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOworCisgICAgaWYgKG9wdGlvbnMud2Vi
S2l0TG9nQ2hhbm5lbHMubGVuZ3RoKCkpCisgICAgICAgIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIHNldFZhbHVlOltOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpv
cHRpb25zLndlYktpdExvZ0NoYW5uZWxzLmNfc3RyKCldIGZvcktleTpAIldlYktpdExvZ2dpbmci
XTsKIH0KIAogV0tDb250ZXh0UmVmIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbnRleHQoKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVGVzdENvbnRyb2xsZXJHdGsu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9ndGsvVGVzdENvbnRyb2xsZXJHdGsuY3BwCmlu
ZGV4IDE2OWU3N2RlOGViNTNiNjJkN2Q5OWM0MzRjNDkxNTcxOTllNzRlZGYuLmUxYjk0Y2ZkYmE4
ZWM5ODZjMDBiYmUzNDg5ZjcyYTJjOWY2MDgxODYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvZ3RrL1Rlc3RDb250cm9sbGVyR3RrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2d0ay9UZXN0Q29udHJvbGxlckd0ay5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgdm9pZCBU
ZXN0Q29udHJvbGxlcjo6bm90aWZ5RG9uZSgpCiAgICAgUnVuTG9vcDo6bWFpbigpLnN0b3AoKTsK
IH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKK3ZvaWQgVGVz
dENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBPcHRpb25zJikKIHsKIH0KIApk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1Mu
bW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRl
eCA1ZDRhMDE5NzZjY2MxNGJlMGIxYzhhZjY0MzUyNWMzZjc0ZDFjOGQzLi5mMjI0ODkxYmYzYzgx
MTQ5MDMwYTExZDY4MGQ5OTJhNzc5NDk4NDYxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQpAQCAtOTgsMTAgKzk4LDEwIEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6Om5vdGlmeURvbmUoKQogICAgIFtzZWxlY3Rpb25WaWV3IF9yZW1vdmVBbGxB
bmltYXRpb25zOllFU107CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlh
bGl6ZSgpCit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoY29uc3QgT3B0
aW9ucyYgb3B0aW9ucykKIHsKICAgICBzZXRVcElPU0xheW91dFRlc3RDb21tdW5pY2F0aW9uKCk7
Ci0gICAgY29jb2FQbGF0Zm9ybUluaXRpYWxpemUoKTsKKyAgICBjb2NvYVBsYXRmb3JtSW5pdGlh
bGl6ZShvcHRpb25zKTsKIAogICAgIFtVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXS5p
ZGxlVGltZXJEaXNhYmxlZCA9IFlFUzsKICAgICBbW1VJU2NyZWVuIG1haW5TY3JlZW5dIF9zZXRT
Y2FsZToyLjBdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENv
bnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxl
ck1hYy5tbQppbmRleCBhZDZhNDFiYWExNDA1NDJhYzUwNDg1NDRhNmQyM2U5YzMyMjhkODFmLi5i
ZjVmYjdmNDBlNTg4NGE4YTI0N2YwYWRjNjJhYWMzYTcyNzVjM2VmIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQpAQCAtMTExLDEyICsxMTEs
MTIgQEAgc3RhdGljIHZvaWQgc3dpenpsZWRDYW5jZWxUcmFja2luZyhOU01lbnUgKm1lbnUsIFNF
TCkKICAgICB9KTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXpl
KCkKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBPcHRpb25z
JiBvcHRpb25zKQogewogICAgIHBvc2VBc0NsYXNzKCJXZWJLaXRUZXN0UnVubmVyUGFzdGVib2Fy
ZCIsICJOU1Bhc3RlYm9hcmQiKTsKICAgICBwb3NlQXNDbGFzcygiV2ViS2l0VGVzdFJ1bm5lckV2
ZW50IiwgIk5TRXZlbnQiKTsKICAgICAKLSAgICBjb2NvYVBsYXRmb3JtSW5pdGlhbGl6ZSgpOwor
ICAgIGNvY29hUGxhdGZvcm1Jbml0aWFsaXplKG9wdGlvbnMpOwogCiAgICAgW05TU291bmQgX3Nl
dEFsZXJ0VHlwZTowXTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93aW4v
VGVzdENvbnRyb2xsZXJXaW4uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93aW4vVGVzdENv
bnRyb2xsZXJXaW4uY3BwCmluZGV4IDAyNzM3YmRhNzk1MDQ4MjA5MmM5YTk5YTE2OWY5OThkMTFj
NjE2OTAuLjA3N2NjOTdmZWFlYzQ2ZTUwMDY1NzY3NzQ4YmI4ODY1NWZlNjQ5ZDEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvd2luL1Rlc3RDb250cm9sbGVyV2luLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3dpbi9UZXN0Q29udHJvbGxlcldpbi5jcHAKQEAgLTEw
NCw3ICsxMDQsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpzZXRIaWRkZW4oYm9vbCkKIHsKIH0K
IAotdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Jbml0aWFsaXplKCkKK3ZvaWQgVGVzdENv
bnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBPcHRpb25zJikKIHsKICAgICAvLyBD
eWd3aW4gY2FsbHMgOjpTZXRFcnJvck1vZGUoU0VNX0ZBSUxDUklUSUNBTEVSUk9SUyksIHdoaWNo
IHdlIHdpbGwgaW5oZXJpdC4gVGhpcyBpcyBiYWQgZm9yCiAgICAgLy8gdGVzdGluZy9kZWJ1Z2dp
bmcsIGFzIGl0IGNhdXNlcyB0aGUgcG9zdC1tb3J0ZW0gZGVidWdnZXIgbm90IHRvIGJlIGludm9r
ZWQuIFdlIHJlc2V0IHRoZQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93cGUv
VGVzdENvbnRyb2xsZXJXUEUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93cGUvVGVzdENv
bnRyb2xsZXJXUEUuY3BwCmluZGV4IGQ3NjE5Y2MxYzcwMGE2ODYwMTg3ZTgwZjYwMTRiZmFkYjEx
MzJjOGYuLmNlNjIxODRjYTE1YTk0MWFhNWE5Njk1ZDA1ZDlhMmQ2YTg4MWM3MTAgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvd3BlL1Rlc3RDb250cm9sbGVyV1BFLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3dwZS9UZXN0Q29udHJvbGxlcldQRS5jcHAKQEAgLTQ0
LDcgKzQ0LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0SGlkZGVuKGJvb2wpCiB7CiB9CiAK
LXZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCit2b2lkIFRlc3RDb250
cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoY29uc3QgT3B0aW9ucyYpCiB7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>