<?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>176250</bug_id>
          
          <creation_ts>2017-09-01 15:40:30 -0700</creation_ts>
          <short_desc>Rename WebKit2 API tests after directory rename</short_desc>
          <delta_ts>2017-09-27 12:41:56 -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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>buildbot</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1344624</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-01 15:40:30 -0700</bug_when>
    <thetext>Rename WebKit2 API tests after directory rename</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344627</commentid>
    <comment_count>1</comment_count>
      <attachid>319657</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-01 15:45:14 -0700</bug_when>
    <thetext>Created attachment 319657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344628</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-01 15:48:21 -0700</bug_when>
    <thetext>Attachment 319657 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:180:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 1 in 140 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344633</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-09-01 15:56:41 -0700</bug_when>
    <thetext>http://trac.webkit.org/r221505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353608</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:41:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319657</attachid>
            <date>2017-09-01 15:45:14 -0700</date>
            <delta_ts>2017-09-01 15:56:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176250-20170901154513.patch</filename>
            <type>text/plain</type>
            <size>132641</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyMTUwMykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI4OSBAQAorMjAxNy0wOS0wMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBXZWJLaXQyIEFQSSB0ZXN0cyBhZnRlciBkaXJl
Y3RvcnkgcmVuYW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzYyNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9MaW5lQnJlYWtpbmcubW06CisgICAg
ICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BYm91dEJs
YW5rTG9hZC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9DYW5IYW5kbGVSZXF1ZXN0LmNwcDoKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L0Nsb3NlRnJvbVdpdGhpbkNyZWF0ZVBhZ2UuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ2xvc2VUaGVu
VGVybWluYXRlLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Nvb2tpZU1hbmFnZXIuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0
ZW5zaW9uTm9DYWNoZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9EZWZlcnJlZFZpZXdJbldpbmRvd1N0YXRl
Q2hhbmdlLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzLmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L0RpZE5vdEhhbmRsZUtleURvd24uY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRGlkUmVtb3Zl
RnJhbWVGcm9tSGllYXJjaHlJblBhZ2VDYWNoZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Eb2N1bWVudFN0
YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRG93bmxvYWREZWNpZGVE
ZXN0aW5hdGlvbkNyYXNoLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0VudW1lcmF0ZU1lZGlhRGV2aWNlcy5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9FbnZpcm9ubWVudFV0aWxpdGllc1Rlc3QuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRXBoZW1lcmFsU2Vzc2lvblB1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcDoKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L0V2YWx1YXRlSmF2YVNjcmlwdC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FdmVudE1vZGlmaWVy
cy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9GYWlsZWRMb2FkLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZpbmQuY3Bw
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvRmluZE1hdGNoZXMubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Gb3JjZVJlcGFpbnQu
Y3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvRnJhbWVIYW5kbGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRnJhbWVNSU1F
VHlwZUhUTUwuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRnJhbWVNSU1FVHlwZVBORy5jcHA6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9HZW9sb2NhdGlvbi5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRJbmplY3RlZEJ1bmRsZUluaXRp
YWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWFO
YXZpZ2F0aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSGl0VGVzdFJlc3VsdE5vZGVIYW5kbGUuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVCYXNpYy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3Rl
ZEJ1bmRsZUZyYW1lSGl0VGVzdC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3RlZEJ1bmRsZUluaXRp
YWxpemF0aW9uVXNlckRhdGFDYWxsYmFja1dpbnMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRC
dW5kbGVNYWtlQWxsU2hhZG93Um9vdHNPcGVuLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xheW91dE1pbGVz
dG9uZXNXaXRoQWxsQ29udGVudEluRnJhbWUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTGltaXRUaXRsZVNp
emUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmdXaXRoTm9uRGlyZWN0
b3J5VVJMLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xvYWRDYW5jZWxlZE5vU2VydmVyUmVkaXJlY3RDYWxs
YmFjay5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Mb2FkUGFnZU9uQ3Jhc2guY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
TWVkaWFTdHJlYW1UcmFja0RldGFjaGVkLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTWVudVR5cGVzRm9yTW91
c2VFdmVudHMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTW9kYWxBbGVydHNTUEkuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvTW91c2VNb3ZlQWZ0ZXJDcmFzaC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNU
KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9OYXZpZ2F0aW9uQ2xpZW50
RGVmYXVsdENyeXB0by5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9OZXR3b3JrUHJvY2Vzc0NyYXNoV2l0aFBl
bmRpbmdDb25uZWN0aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZh
aWxzLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvcklt
YWdlcy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFt
ZXMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvUGFnZUxvYWRCYXNpYy5jcHA6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QYWdl
TG9hZERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZvckZyYW1lLmNwcDoKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L1BhcmVudEZyYW1lLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Bhc3RlYm9hcmROb3RpZmljYXRpb25zLm1t
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvUGVuZGluZ0FQSVJlcXVlc3RVUkwuY3BwOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJl
dmVudEVtcHR5VXNlckFnZW50LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByaXZhdGVCcm93c2luZ1B1c2hT
dGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Qp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Byb2Nlc3NEaWRUZXJtaW5h
dGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvUmVsb2FkUGFnZUFmdGVyQ3Jhc2guY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvUmVzaXplUmV2ZXJzZVBhZ2luYXRlZFdlYlZpZXcuY3BwOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUmVzaXpl
V2luZG93QWZ0ZXJDcmFzaC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L1Jlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZXN0b3Jl
U2Vzc2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRhLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3RvcmVT
ZXNzaW9uU3RhdGVXaXRob3V0TmF2aWdhdGlvbi5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TY3JvbGxQaW5u
aW5nQmVoYXZpb3JzLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Nob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJ
dGVtLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Nob3VsZEtlZXBDdXJyZW50QmFja0ZvcndhcmRMaXN0SXRl
bUluTGlzdC5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TcGFjZWJhclNjcm9sbGluZy5jcHA6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9TdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExvYWQuY3BwOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvVGVybWluYXRlVHdpY2UuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVXNlck1lZGlhLmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1ZpZXdwb3J0U2l6ZUZvclZpZXdwb3J0VW5pdHMubW06CisgICAgICAgIChURVNU
KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0J1bmRsZUZpbGVIYW5k
bGUuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvV0tJbWFnZUNyZWF0ZUNHSW1hZ2VDcmFzaC5jcHA6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9XS1BhZ2VDb25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUGFnZUNvcHlT
ZXNzaW9uU3RhdGVXaXRoRmlsdGVyaW5nLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUGFnZUdldFNjYWxl
RmFjdG9yTm90WmVyby5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS1BhZ2VJc1BsYXlpbmdBdWRpby5jcHA6
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUmV0YWluUHRy
LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L1dLU3RyaW5nLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLU3RyaW5nSlNT
dHJpbmcuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tUaHVtYm5haWxWaWV3Lm1tOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
V2ViQXJjaGl2ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XZWJDb3JlU3RhdGlzdGljc1dpdGhOb1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV2lsbFNlbmRTdWJtaXRFdmVudC5jcHA6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9tYWMvQXR0cmlidXRlZFN1YnN0cmluZ0ZvclByb3Bvc2VkUmFuZ2VXaXRoSW1hZ2UubW06
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9tYWMvQ29udGV4dE1lbnVEb3dubG9hZC5tbToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21h
Yy9FZGl0b3JDb21tYW5kcy5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21hYy9HZXRCYWNraW5nU2NhbGVGYWN0
b3IubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9tYWMvR2V0UElEQWZ0ZXJBYm9ydGVkUHJvY2Vzc0xhdW5jaC5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9tYWMvSW5qZWN0ZWRCdW5kbGVBcHBsZUV2ZW50LmNwcDoKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L21hYy9SZXN0b3JlU3RhdGVBZnRlclRlcm1pbmF0aW9uLm1tOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9BZGRpdGlvbmFsUmVhZEFjY2Vzc0FsbG93ZWRVUkxzLm1tOgorICAgICAgICAoVEVTVCk6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BbHdheXNSZXZhbGlk
YXRlZFVSTFNjaGVtZXMubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0FuaW1hdGVkUmVzaXplLm1tOgorICAgICAgICAoVEVTVCk6
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BdXRvTGF5b3V0SW50
ZWdyYXRpb24ubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL0J1bmRsZUVkaXRpbmdEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFRFU1Qp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQnVuZGxlUGFyYW1l
dGVycy5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvQnVuZGxlUmFuZ2VIYW5kbGUubW06CisgICAgICAgIChURVNUKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0Nvb2tpZUFjY2VwdFBvbGljeS5t
bToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvRGF0YURldGVjdGlvbi5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bi5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvRG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGVBZnRlckNyYXNoLm1tOgorICAg
ICAgICAoVEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9E
dXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzLm1tOgorICAgICAgICAoVEVTVCk6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9GaW5kSW5QYWdlLm1tOgorICAg
ICAgICAoVEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9G
aXhlZExheW91dFNpemUubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL0dlb2xvY2F0aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktp
dEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9J
bnRlcmFjdGlvbkRlYWRsb2NrQWZ0ZXJDcmFzaC5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTG9hZERhdGFXaXRoTmlsTUlNRVR5
cGUubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0xvYWRJbnZhbGlkVVJMUmVxdWVzdC5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRB
UEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTW9k
YWxBbGVydHMubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL05TRmlsZU1hbmFnZXJFeHRyYXMubW06CisgICAgICAgIChURVNUKToK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL09ic2VydmVkUmVuZGVy
aW5nUHJvZ3Jlc3NFdmVudHNBZnRlckNyYXNoLm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9PcGVuQW5kQ2xvc2VXaW5kb3cubW06
CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1ByZWZlcmVuY2VzLm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbToKKyAgICAgICAg
KFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVuZGVy
ZWRJbWFnZVdpdGhPcHRpb25zLm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SdW5PcGVuUGFuZWwubW06CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1Nob3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnMubW06CisgICAgICAg
IChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Nocmlu
a1RvRml0Lm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9WaXNpYmxlQ29udGVudFJlY3QubW06Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1dLQ29udGVudFZpZXdFZGl0aW5nQWN0aW9ucy5tbToKKyAgICAgICAg
KFRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tDb250
ZW50Vmlld1RhcmdldEZvckFjdGlvbi5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tIVFRQQ29va2llU3RvcmUubW06CisgICAg
ICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dL
TlNOdW1iZXIubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLT2JqZWN0Lm1tOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9XS1BERlZpZXdSZXNpemVDcmFzaC5tbToKKyAgICAgICAgKFRFU1QpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tQREZWaWV3U3RhYmxlUHJlc2VudGF0
aW9uVXBkYXRlQ2FsbGJhY2subW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLUmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1t
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJHTFBvbGljeS5tbToKKyAgICAgICAgKFRFU1QpOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZURhdGFTdG9yZUN1
c3RvbVBhdGhzLm1tOgorICAgICAgICAoVEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgIChURVNUKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdE9iakMvUHJldmVudEltYWdlTG9hZFdp
dGhBdXRvUmVzaXppbmcubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9GaXJzdFJlc3BvbmRlclNjcm9sbGluZ1Bvc2l0
aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9tYWMvRmlyc3RSZXNwb25kZXJTdXBwcmVzc2lvbi5tbToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvbWFj
L0lzTmF2aWdhdGlvbkFjdGlvblRydXN0ZWQubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpU
RVNUKToKKwogMjAxNy0wOS0wMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEFkZCBXS1VJRGVsZWdhdGVQcml2YXRlIGVxdWl2YWxlbnQgb2Yg
V0tQYWdlVUlDbGllbnQncyB0b29sYmFyc0FyZVZpc2libGUKSW5kZXg6IFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9MaW5lQnJlYWtpbmcubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xpbmVCcmVha2luZy5tbQkocmV2aXNpb24gMjIx
NDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0xpbmVCcmVha2luZy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTA1LDcgKzEwNSw3IEBAIHN0YXRpYyB2b2lkIHRlc3RBRmV3
U3RyaW5ncyhWZWN0b3I8VmVjdG8KIH0KIAogLy8gU3BsaXQgdXAgdGhlIHRlc3RzIGJlY2F1c2Ug
dGhleSB0YWtlIHRvbyBsb25nIG90aGVyd2lzZSBhbmQgcGVvcGxlIHN0YXJ0IHRoaW5raW5nIHRo
ZWlyIGNvbXB1dGVyIGlzIGh1bmcuCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzEpCitURVNU
KFdlYktpdCwgTGluZUJyZWFraW5nMSkKIHsKICAgICBWZWN0b3I8VmVjdG9yPFVJbnQxNj4+IHRl
c3RTdHJpbmdzID0gewogICAgICAgICB7MHgwMDI0LCAweDMxLCAweDMyLCAweDMzfSwKQEAgLTEx
Nyw3ICsxMTcsNyBAQCBURVNUKFdlYktpdDIsIExpbmVCcmVha2luZzEpCiAgICAgdGVzdEFGZXdT
dHJpbmdzKHRlc3RTdHJpbmdzKTsKIH0KIAotVEVTVChXZWJLaXQyLCBMaW5lQnJlYWtpbmcyKQor
VEVTVChXZWJLaXQsIExpbmVCcmVha2luZzIpCiB7CiAgICAgVmVjdG9yPFZlY3RvcjxVSW50MTY+
PiB0ZXN0U3RyaW5ncyA9IHsKICAgICAgICAgezB4NGUwMCwgMHgyMDI1LCAweDIwMjV9LApAQCAt
MTI5LDcgKzEyOSw3IEBAIFRFU1QoV2ViS2l0MiwgTGluZUJyZWFraW5nMikKICAgICB0ZXN0QUZl
d1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzMp
CitURVNUKFdlYktpdCwgTGluZUJyZWFraW5nMykKIHsKICAgICBWZWN0b3I8VmVjdG9yPFVJbnQx
Nj4+IHRlc3RTdHJpbmdzID0gewogICAgICAgICB7MHg0ZTAwLCAweDRlOGMsIDB4NGUwOSwgMHg1
NmRiLCAweDAwMjV9LApAQCAtMTQxLDcgKzE0MSw3IEBAIFRFU1QoV2ViS2l0MiwgTGluZUJyZWFr
aW5nMykKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktp
dDIsIExpbmVCcmVha2luZzQpCitURVNUKFdlYktpdCwgTGluZUJyZWFraW5nNCkKIHsKICAgICBW
ZWN0b3I8VmVjdG9yPFVJbnQxNj4+IHRlc3RTdHJpbmdzID0gewogICAgICAgICB7MHg0ZTAwLCAw
eDRlOGMsIDB4NGUwOSwgMHg1NmRiLCAweDAwYjB9LApAQCAtMTUzLDcgKzE1Myw3IEBAIFRFU1Qo
V2ViS2l0MiwgTGluZUJyZWFraW5nNCkKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3Mp
OwogfQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzUpCitURVNUKFdlYktpdCwgTGluZUJy
ZWFraW5nNSkKIHsKICAgICBWZWN0b3I8VmVjdG9yPFVJbnQxNj4+IHRlc3RTdHJpbmdzID0gewog
ICAgICAgICB7MHg0ZTAwLCAweDRlOGMsIDB4NGUwOSwgMHg1NmRiLCAweDIwMzN9LApAQCAtMTY1
LDcgKzE2NSw3IEBAIFRFU1QoV2ViS2l0MiwgTGluZUJyZWFraW5nNSkKICAgICB0ZXN0QUZld1N0
cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzYpCitU
RVNUKFdlYktpdCwgTGluZUJyZWFraW5nNikKIHsKICAgICBWZWN0b3I8VmVjdG9yPFVJbnQxNj4+
IHRlc3RTdHJpbmdzID0gewogICAgICAgICB7MHg0ZTAwLCAweDRlOGMsIDB4NGUwOSwgMHg1NmRi
LCAweDIxMDN9LApAQCAtMTc3LDcgKzE3Nyw3IEBAIFRFU1QoV2ViS2l0MiwgTGluZUJyZWFraW5n
NikKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIs
IExpbmVCcmVha2luZzcpCitURVNUKFdlYktpdCwgTGluZUJyZWFraW5nNykKIHsKICAgICBWZWN0
b3I8VmVjdG9yPFVJbnQxNj4+IHRlc3RTdHJpbmdzID0gewogICAgICAgICB7MHg0ZTAwLCAweDRl
OGMsIDB4NGUwOSwgMHg1NmRiLCAweDMwNDN9LApAQCAtMTg5LDcgKzE4OSw3IEBAIFRFU1QoV2Vi
S2l0MiwgTGluZUJyZWFraW5nNykKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwog
fQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzgpCitURVNUKFdlYktpdCwgTGluZUJyZWFr
aW5nOCkKIHsKICAgICBWZWN0b3I8VmVjdG9yPFVJbnQxNj4+IHRlc3RTdHJpbmdzID0gewogICAg
ICAgICB7MHg0ZTAwLCAweDRlOGMsIDB4NGUwOSwgMHg1NmRiLCAweDMwODN9LApAQCAtMjAxLDcg
KzIwMSw3IEBAIFRFU1QoV2ViS2l0MiwgTGluZUJyZWFraW5nOCkKICAgICB0ZXN0QUZld1N0cmlu
Z3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzkpCitURVNU
KFdlYktpdCwgTGluZUJyZWFraW5nOSkKIHsKICAgICBWZWN0b3I8VmVjdG9yPFVJbnQxNj4+IHRl
c3RTdHJpbmdzID0gewogICAgICAgICB7MHg0ZTAwLCAweDRlOGMsIDB4NGUwOSwgMHg1NmRiLCAw
eDMwOTZ9LApAQCAtMjEzLDcgKzIxMyw3IEBAIFRFU1QoV2ViS2l0MiwgTGluZUJyZWFraW5nOSkK
ICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIsIExp
bmVCcmVha2luZzEwKQorVEVTVChXZWJLaXQsIExpbmVCcmVha2luZzEwKQogewogICAgIFZlY3Rv
cjxWZWN0b3I8VUludDE2Pj4gdGVzdFN0cmluZ3MgPSB7CiAgICAgICAgIHsweDRlMDAsIDB4NGU4
YywgMHg0ZTA5LCAweDU2ZGIsIDB4MzBhM30sCkBAIC0yMjUsNyArMjI1LDcgQEAgVEVTVChXZWJL
aXQyLCBMaW5lQnJlYWtpbmcxMCkKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwog
fQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzExKQorVEVTVChXZWJLaXQsIExpbmVCcmVh
a2luZzExKQogewogICAgIFZlY3RvcjxWZWN0b3I8VUludDE2Pj4gdGVzdFN0cmluZ3MgPSB7CiAg
ICAgICAgIHsweDRlMDAsIDB4NGU4YywgMHg0ZTA5LCAweDU2ZGIsIDB4MzBlM30sCkBAIC0yMzcs
NyArMjM3LDcgQEAgVEVTVChXZWJLaXQyLCBMaW5lQnJlYWtpbmcxMSkKICAgICB0ZXN0QUZld1N0
cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzEyKQor
VEVTVChXZWJLaXQsIExpbmVCcmVha2luZzEyKQogewogICAgIFZlY3RvcjxWZWN0b3I8VUludDE2
Pj4gdGVzdFN0cmluZ3MgPSB7CiAgICAgICAgIHsweDRlMDAsIDB4NGU4YywgMHg0ZTA5LCAweDU2
ZGIsIDB4MzBmNn0sCkBAIC0yNDksNyArMjQ5LDcgQEAgVEVTVChXZWJLaXQyLCBMaW5lQnJlYWtp
bmcxMikKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktp
dDIsIExpbmVCcmVha2luZzEzKQorVEVTVChXZWJLaXQsIExpbmVCcmVha2luZzEzKQogewogICAg
IFZlY3RvcjxWZWN0b3I8VUludDE2Pj4gdGVzdFN0cmluZ3MgPSB7CiAgICAgICAgIHsweDRlMDAs
IDB4NGU4YywgMHg0ZTA5LCAweDU2ZGIsIDB4MzFmMH0sCkBAIC0yNjEsNyArMjYxLDcgQEAgVEVT
VChXZWJLaXQyLCBMaW5lQnJlYWtpbmcxMykKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmlu
Z3MpOwogfQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzE0KQorVEVTVChXZWJLaXQsIExp
bmVCcmVha2luZzE0KQogewogICAgIFZlY3RvcjxWZWN0b3I8VUludDE2Pj4gdGVzdFN0cmluZ3Mg
PSB7CiAgICAgICAgIHsweDRlMDAsIDB4NGU4YywgMHg0ZTA5LCAweDU2ZGIsIDB4MzFmNX0sCkBA
IC0yNzMsNyArMjczLDcgQEAgVEVTVChXZWJLaXQyLCBMaW5lQnJlYWtpbmcxNCkKICAgICB0ZXN0
QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2lu
ZzE1KQorVEVTVChXZWJLaXQsIExpbmVCcmVha2luZzE1KQogewogICAgIFZlY3RvcjxWZWN0b3I8
VUludDE2Pj4gdGVzdFN0cmluZ3MgPSB7CiAgICAgICAgIHsweDRlMDAsIDB4NGU4YywgMHg0ZTA5
LCAweDU2ZGIsIDB4MzFmYX0sCkBAIC0yODUsNyArMjg1LDcgQEAgVEVTVChXZWJLaXQyLCBMaW5l
QnJlYWtpbmcxNSkKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNU
KFdlYktpdDIsIExpbmVCcmVha2luZzE2KQorVEVTVChXZWJLaXQsIExpbmVCcmVha2luZzE2KQog
ewogICAgIFZlY3RvcjxWZWN0b3I8VUludDE2Pj4gdGVzdFN0cmluZ3MgPSB7CiAgICAgICAgIHsw
eDRlMDAsIDB4NGU4YywgMHg0ZTA5LCAweDU2ZGIsIDB4MzFmZn0sCkBAIC0yOTcsNyArMjk3LDcg
QEAgVEVTVChXZWJLaXQyLCBMaW5lQnJlYWtpbmcxNikKICAgICB0ZXN0QUZld1N0cmluZ3ModGVz
dFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzE3KQorVEVTVChXZWJL
aXQsIExpbmVCcmVha2luZzE3KQogewogICAgIFZlY3RvcjxWZWN0b3I8VUludDE2Pj4gdGVzdFN0
cmluZ3MgPSB7CiAgICAgICAgIHsweDRlMDAsIDB4NGU4YywgMHg0ZTA5LCAweDU2ZGIsIDB4ZmYx
Zn0sCkBAIC0zMDksNyArMzA5LDcgQEAgVEVTVChXZWJLaXQyLCBMaW5lQnJlYWtpbmcxNykKICAg
ICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQogCi1URVNUKFdlYktpdDIsIExpbmVC
cmVha2luZzE4KQorVEVTVChXZWJLaXQsIExpbmVCcmVha2luZzE4KQogewogICAgIFZlY3RvcjxW
ZWN0b3I8VUludDE2Pj4gdGVzdFN0cmluZ3MgPSB7CiAgICAgICAgIHsweDRlMDAsIDB4NGU4Yywg
MHg0ZTA5LCAweDU2ZGIsIDB4ZmY2YX0sCkBAIC0zMjEsNyArMzIxLDcgQEAgVEVTVChXZWJLaXQy
LCBMaW5lQnJlYWtpbmcxOCkKICAgICB0ZXN0QUZld1N0cmluZ3ModGVzdFN0cmluZ3MpOwogfQog
Ci1URVNUKFdlYktpdDIsIExpbmVCcmVha2luZzE5KQorVEVTVChXZWJLaXQsIExpbmVCcmVha2lu
ZzE5KQogewogICAgIFZlY3RvcjxWZWN0b3I8VUludDE2Pj4gdGVzdFN0cmluZ3MgPSB7CiAgICAg
ICAgIHsweDRlMDAsIDB4NGU4YywgMHg0ZTA5LCAweDU2ZGIsIDB4ZmY2Zn0sCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BYm91dEJsYW5rTG9hZC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQWJvdXRCbGFua0xvYWQuY3Bw
CShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9B
Ym91dEJsYW5rTG9hZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDcgQEAgc3RhdGlj
IHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZQogICAgIGRvbmUgPSB0cnVlOwogfQog
Ci1URVNUKFdlYktpdDIsIEFib3V0QmxhbmtMb2FkKQorVEVTVChXZWJLaXQsIEFib3V0QmxhbmtM
b2FkKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0so
V0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQu
Z2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ2FuSGFuZGxl
UmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvQ2FuSGFuZGxlUmVxdWVzdC5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0NhbkhhbmRsZVJlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Nyw3ICs1Nyw3IEBAIHN0YXRpYyB2b2lkIHNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdL
Q28KICAgICBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LCAmaW5qZWN0
ZWRCdW5kbGVDbGllbnQuYmFzZSk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgQ2FuSGFuZGxlUmVxdWVz
dCkKK1RFU1QoV2ViS2l0LCBDYW5IYW5kbGVSZXF1ZXN0KQogewogICAgIFdLUmV0YWluUHRyPFdL
Q29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVj
dGVkQnVuZGxlVGVzdCgiQ2FuSGFuZGxlUmVxdWVzdFRlc3QiKSk7CiAgICAgc2V0SW5qZWN0ZWRC
dW5kbGVDbGllbnQoY29udGV4dC5nZXQoKSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9DbG9zZUZyb21XaXRoaW5DcmVhdGVQYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9DbG9zZUZyb21XaXRoaW5DcmVhdGVQYWdl
LmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvQ2xvc2VGcm9tV2l0aGluQ3JlYXRlUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYxLDcg
KzYxLDcgQEAgc3RhdGljIFdLUGFnZVJlZiBjcmVhdGVOZXdQYWdlKFdLUGFnZVJlZgogICAgIHJl
dHVybiBvcGVuZWRXZWJWaWV3LT5wYWdlKCk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgQ2xvc2VGcm9t
V2l0aGluQ3JlYXRlUGFnZSkKK1RFU1QoV2ViS2l0LCBDbG9zZUZyb21XaXRoaW5DcmVhdGVQYWdl
KQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0Nv
bnRleHRDcmVhdGUoKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0Nsb3NlVGhlblRlcm1pbmF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvQ2xvc2VUaGVuVGVybWluYXRlLmNwcAkocmV2aXNpb24gMjIxNDY3KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ2xvc2VUaGVuVGVybWluYXRlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hM
b2FkRm9yRnJhbWUoV0tQYWdlCiAvLyBUZXN0IGZvciBodHRwczovL3dlYmtpdC5vcmcvYi8xMTU2
MDcKIC8vIFRoaXMgdGVzdHMgdGhhdCB3ZSBkb24ndCBjcmFzaCB3aGVuIGNhbGxpbmcgV0tQYWdl
Q2xvc2UgYW5kIFdLUGFnZVRlcm1pbmF0ZS4KIAotVEVTVChXZWJLaXQyLCBDbG9zZVRoZW5UZXJt
aW5hdGUpCitURVNUKFdlYktpdCwgQ2xvc2VUaGVuVGVybWluYXRlKQogewogICAgIFdLUmV0YWlu
UHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlKCkpOwog
ICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ29va2llTWFuYWdlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQ29va2llTWFuYWdlci5jcHAJKHJl
dmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Nvb2tp
ZU1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIHN0YXRpYyB2b2lk
IGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS1BhZ2UKICAgICBXS0Nvb2tpZU1hbmFnZXJHZXRIVFRQ
Q29va2llQWNjZXB0UG9saWN5KGNvb2tpZU1hbmFnZXIsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KDB4MTIzNDU3OCksIGRpZEdldFVzZXJIVFRQQ29va2llQWNjZXB0UG9saWN5KTsKIH0KIAotVEVT
VChXZWJLaXQyLCBDb29raWVNYW5hZ2VyKQorVEVTVChXZWJLaXQsIENvb2tpZU1hbmFnZXIpCiB7
CiAgICAgd2tDb250ZXh0LmFkb3B0KFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdl
YlZpZXcgd2ViVmlldyh3a0NvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVuc2lvbkJhc2lj
LmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MCw3ICs4
MCw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGUKICAgICAgICAg
ZmluaXNoZWQgPSB0cnVlOwogfQogCi1URVNUKFdlYktpdDIsIERJU0FCTEVEX0RPTVdpbmRvd0V4
dGVuc2lvbkJhc2ljKQorVEVTVChXZWJLaXQsIERJU0FCTEVEX0RPTVdpbmRvd0V4dGVuc2lvbkJh
c2ljKQogewogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBwYWdlR3JvdXAoQWRvcHRX
SywgV0tQYWdlR3JvdXBDcmVhdGVXaXRoSWRlbnRpZmllcihXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZygiRE9NV2luZG93RXh0ZW5zaW9uQmFzaWNQYWdlR3JvdXAiKSkpOyAKIApJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uTm9DYWNo
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRE9N
V2luZG93RXh0ZW5zaW9uTm9DYWNoZS5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVuc2lvbk5vQ2FjaGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlRnJvbUluamVjdGUKICAgICAgIGZpbmlzaGVkID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQy
LCBESVNBQkxFRF9ET01XaW5kb3dFeHRlbnNpb25Ob0NhY2hlKQorVEVTVChXZWJLaXQsIERJU0FC
TEVEX0RPTVdpbmRvd0V4dGVuc2lvbk5vQ2FjaGUpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tQYWdl
R3JvdXBSZWY+IHBhZ2VHcm91cChBZG9wdFdLLCBXS1BhZ2VHcm91cENyZWF0ZVdpdGhJZGVudGlm
aWVyKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJET01XaW5kb3dFeHRlbnNpb25Ob0Nh
Y2hlUGFnZUdyb3VwIikpKTsKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRGVmZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9EZWZlcnJlZFZpZXdJbldpbmRvd1N0YXRlQ2hh
bmdlLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9EZWZlcnJlZFZpZXdJbldpbmRvd1N0YXRlQ2hhbmdlLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC01Miw3ICs1Miw3IEBAIHN0YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmUK
ICAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQuYmFzZSk7
CiB9CiAKLVRFU1QoV2ViS2l0MiwgRGVmZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZSkKK1RF
U1QoV2ViS2l0LCBEZWZlcnJlZFZpZXdJbldpbmRvd1N0YXRlQ2hhbmdlKQogewogICAgIFdLUmV0
YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4
dEZvckluamVjdGVkQnVuZGxlVGVzdCgiTW91c2VNb3ZlQWZ0ZXJDcmFzaFRlc3QiKSk7CiAKSW5k
ZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RpZEFzc29jaWF0ZUZvcm1Db250
cm9scy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
RGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgdm9pZCBzZXRJbmplY3RlZEJ1
bmRsZUNsaWVudChXS0NvCiAgICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29u
dGV4dCwgJmluamVjdGVkQnVuZGxlQ2xpZW50LmJhc2UpOwogfQogCi1URVNUKFdlYktpdDIsIERp
ZEFzc29jaWF0ZUZvcm1Db250cm9scykKK1RFU1QoV2ViS2l0LCBEaWRBc3NvY2lhdGVGb3JtQ29u
dHJvbHMpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRX
SyhVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJEaWRBc3NvY2lhdGVG
b3JtQ29udHJvbHNUZXN0IikpOwogICAgIHNldEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQu
Z2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRGlkTm90SGFu
ZGxlS2V5RG93bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvRGlkTm90SGFuZGxlS2V5RG93bi5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RpZE5vdEhhbmRsZUtleURvd24uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyB2b2lkIGRpZE5vdEhhbmRsZUtleUV2
ZW50Q2FsbGJhY2sKICAgICBkaWRGaW5pc2hUZXN0ID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQy
LCBEaWROb3RIYW5kbGVLZXlEb3duKQorVEVTVChXZWJLaXQsIERpZE5vdEhhbmRsZUtleURvd24p
CiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFV0aWw6
OmNyZWF0ZUNvbnRleHRXaXRoSW5qZWN0ZWRCdW5kbGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3
IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9EaWRSZW1vdmVGcmFtZUZyb21IaWVhcmNoeUluUGFnZUNhY2hlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9EaWRSZW1vdmVGcmFtZUZy
b21IaWVhcmNoeUluUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRGlkUmVtb3ZlRnJhbWVGcm9tSGllYXJjaHlJblBhZ2VD
YWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDcgKzc0LDcgQEAgc3RhdGljIHZvaWQgc2V0
SW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tQYQogICAgIFdLUGFnZVNldFBhZ2VJbmplY3RlZEJ1bmRs
ZUNsaWVudChwYWdlLCAmaW5qZWN0ZWRCdW5kbGVDbGllbnQuYmFzZSk7CiB9CiAKLVRFU1QoV2Vi
S2l0MiwgRGlkUmVtb3ZlRnJhbWVGcm9tSGllYXJjaHlJblBhZ2VDYWNoZSkKK1RFU1QoV2ViS2l0
LCBEaWRSZW1vdmVGcmFtZUZyb21IaWVhcmNoeUluUGFnZUNhY2hlKQogewogICAgIFdLUmV0YWlu
UHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4dEZv
ckluamVjdGVkQnVuZGxlVGVzdCgiRGlkUmVtb3ZlRnJhbWVGcm9tSGllYXJjaHlJblBhZ2VDYWNo
ZSIpKTsKICAgICAvLyBFbmFibGUgdGhlIHBhZ2UgY2FjaGUgc28gd2UgY2FuIHRlc3QgdGhlIFdL
QnVuZGxlUGFnZURpZFJlbW92ZUZyYW1lRnJvbUhpZXJhcmNoeUNhbGxiYWNrIEFQSQpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRB
bGVydENyYXNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9Eb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2guY3BwCShyZXZpc2lvbiAyMjE0
NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Eb2N1bWVudFN0YXJ0VXNl
clNjcmlwdEFsZXJ0Q3Jhc2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIHN0
YXRpYyB2b2lkIHJ1bkphdmFTY3JpcHRBbGVydChXS1BhZ2VSZWYKICAgICBkb25lID0gdHJ1ZTsK
IH0KIAotVEVTVChXZWJLaXQyLCBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hUZXN0
KQorVEVTVChXZWJLaXQsIERvY3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaFRlc3QpCiB7
CiAgICAgV0tSZXRhaW5QdHI8V0tQYWdlR3JvdXBSZWY+IHBhZ2VHcm91cChBZG9wdFdLLCBXS1Bh
Z2VHcm91cENyZWF0ZVdpdGhJZGVudGlmaWVyKFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hUZXN0UGFnZUdyb3VwIikpKTsgCiAK
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Rvd25sb2FkRGVjaWRlRGVz
dGluYXRpb25DcmFzaC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvRG93bmxvYWREZWNpZGVEZXN0aW5hdGlvbkNyYXNoLmNwcAkocmV2aXNpb24gMjIx
NDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRG93bmxvYWREZWNpZGVE
ZXN0aW5hdGlvbkNyYXNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCBzdGF0
aWMgdm9pZCBzZXRQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlCiAgICAgV0tQYWdlU2V0UGFnZVBv
bGljeUNsaWVudChwYWdlLCAmcG9saWN5Q2xpZW50LmJhc2UpOwogfQogCi1URVNUKFdlYktpdDIs
IERvd25sb2FkRGVjaWRlRGVzdGluYXRpb25DcmFzaCkKK1RFU1QoV2ViS2l0LCBEb3dubG9hZERl
Y2lkZURlc3RpbmF0aW9uQ3Jhc2gpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBj
b250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGUoKSk7CiAgICAgc2V0Q29udGV4dERvd25s
b2FkQ2xpZW50KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvRW51bWVyYXRlTWVkaWFEZXZpY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FbnVtZXJhdGVNZWRpYURldmljZXMuY3BwCShyZXZp
c2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FbnVtZXJh
dGVNZWRpYURldmljZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIHZvaWQg
Y2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uQ2FsbGJhY2soV0sKICAgICBsb2FkZWRTZWNvbmRUaW1l
ID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQyLCBFbnVtZXJhdGVEZXZpY2VzKQorVEVTVChXZWJL
aXQsIEVudW1lcmF0ZURldmljZXMpCiB7CiAgICAgYXV0byBjb250ZXh0ID0gYWRvcHRXSyhXS0Nv
bnRleHRDcmVhdGUoKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L0Vudmlyb25tZW50VXRpbGl0aWVzVGVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcAkocmV2aXNp
b24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRW52aXJvbm1l
bnRVdGlsaXRpZXNUZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBzdGF0
aWMgY29uc3QgY2hhciogc3RyaXAoY29uc3QgY2hhciogaW5wCiAgICAgcmV0dXJuIGdldGVudihl
bnZpcm9ubWVudFZhcmlhYmxlKTsKIH0KIAotVEVTVChXZWJLaXQyLCBTdHJpcFZhbHVlc0VuZGlu
Z1dpdGhTdHJpbmcpCitURVNUKFdlYktpdCwgU3RyaXBWYWx1ZXNFbmRpbmdXaXRoU3RyaW5nKQog
ewogICAgIEVYUEVDVF9TVFJFUShzdHJpcCgiIiksICIiKTsKICAgICBFWFBFQ1RfU1RSRVEoc3Ry
aXAoIjoiKSwgIjoiKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Vw
aGVtZXJhbFNlc3Npb25QdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRXBoZW1lcmFsU2Vzc2lvblB1c2hT
dGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRXBoZW1lcmFsU2Vzc2lvblB1c2hTdGF0ZU5vSGlzdG9y
eUNhbGxiYWNrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQCBzdGF0aWMgdm9p
ZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yCiAgICAgdGVzdERvbmUgPSB0cnVlOwogfQog
Ci1URVNUKFdlYktpdDIsIEVwaGVtZXJhbFNlc3Npb25QdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFj
aykKK1RFU1QoV2ViS2l0LCBFcGhlbWVyYWxTZXNzaW9uUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJh
Y2spCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHRXSyhXS1BhZ2VDb25maWd1cmF0
aW9uQ3JlYXRlKCkpOwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9F
dmFsdWF0ZUphdmFTY3JpcHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L0V2YWx1YXRlSmF2YVNjcmlwdC5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0V2YWx1YXRlSmF2YVNjcmlwdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAgc3RhdGljIHZvaWQgZGlkUnVuSmF2YVNj
cmlwdChXS1NlcmlhbGl6ZQogICAgIHRlc3REb25lID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQy
LCBFdmFsdWF0ZUphdmFTY3JpcHRUaGF0VGhyb3dzQW5FeGNlcHRpb24pCitURVNUKFdlYktpdCwg
RXZhbHVhdGVKYXZhU2NyaXB0VGhhdFRocm93c0FuRXhjZXB0aW9uKQogewogICAgIFdLUmV0YWlu
UHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CiAg
ICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FdmVudE1vZGlmaWVycy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRXZlbnRNb2RpZmllcnMuY3BwCShy
ZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9FdmVu
dE1vZGlmaWVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIHZv
aWQgc2V0Q2xpZW50cyhXS1BhZ2VSZWYgcGFnZSkKICAgICBXS1BhZ2VTZXRQYWdlVUlDbGllbnQo
cGFnZSwgJnVpQ2xpZW50LmJhc2UpOwogfQogCi1URVNUKFdlYktpdDIsIEV2ZW50TW9kaWZpZXJz
KQorVEVTVChXZWJLaXQsIEV2ZW50TW9kaWZpZXJzKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29u
dGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIApJbmRl
eDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmFpbGVkTG9hZC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmFpbGVkTG9hZC5jcHAJ
KHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0Zh
aWxlZExvYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyB2b2lk
IGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXIKICAgICB0ZXN0RG9uZSA9IHRydWU7CiB9CiAK
LVRFU1QoV2ViS2l0MiwgRmFpbGVkTG9hZCkKK1RFU1QoV2ViS2l0LCBGYWlsZWRMb2FkKQogewog
ICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRD
cmVhdGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7Cklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GaW5kLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GaW5kLmNwcAkocmV2aXNpb24g
MjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmluZC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAgc3RhdGljIHZvaWQgZGlkQ291bnRTdHJpbmdN
YXRjaGVzKFdLUGFnZQogICAgIGRpZENhbGxDb3VudFN0cmluZ01hdGNoZXMgPSB0cnVlOwogfQog
Ci1URVNUKFdlYktpdDIsIEZpbmQpCitURVNUKFdlYktpdCwgRmluZCkKIHsKICAgICBXS1JldGFp
blB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwog
ICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmluZE1hdGNoZXMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmluZE1hdGNoZXMubW0JKHJldmlzaW9u
IDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZpbmRNYXRjaGVz
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIHZvaWQgZGlkR2V0
SW1hZ2VGb3JNYXRjaFJlc3VsdChXSwogICAgIGRpZENhbGxHZXRJbWFnZSA9IHRydWU7CiB9CiAK
LVRFU1QoV2ViS2l0MiwgRmluZE1hdGNoZXMpCitURVNUKFdlYktpdCwgRmluZE1hdGNoZXMpCiB7
CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4
dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsK
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZvcmNlUmVwYWludC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRm9yY2VSZXBh
aW50LmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvRm9yY2VSZXBhaW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBz
dGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlCiAgICAgV0tQYWdlRm9yY2VS
ZXBhaW50KHBhZ2UsIDAsIGRpZEZvcmNlUmVwYWludCk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgRm9y
Y2VSZXBhaW50KQorVEVTVChXZWJLaXQsIEZvcmNlUmVwYWludCkKIHsKICAgICBXS1JldGFpblB0
cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwogICAg
IFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRnJhbWVIYW5kbGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZyYW1lSGFuZGxlLmNwcAkocmV2aXNpb24g
MjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRnJhbWVIYW5kbGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlz
aExvYWRGb3JGcmFtZShXS1BhZ2UKICAgICBkb25lID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQy
LCBGcmFtZUhhbmRsZSkKK1RFU1QoV2ViS2l0LCBGcmFtZUhhbmRsZSkKIHsKICAgICBXS1JldGFp
blB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwog
ICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRnJhbWVNSU1FVHlwZUhUTUwuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZyYW1lTUlNRVR5cGVIVE1M
LmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRnJhbWVNSU1FVHlwZUhUTUwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBA
IHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS1BhZ2UKICAgICB0ZXN0RG9uZSA9
IHRydWU7CiB9CiAKLVRFU1QoV2ViS2l0MiwgRnJhbWVNSU1FVHlwZUhUTUwpCitURVNUKFdlYktp
dCwgRnJhbWVNSU1FVHlwZUhUTUwpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBj
b250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcg
d2ViVmlldyhjb250ZXh0LmdldCgpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L0ZyYW1lTUlNRVR5cGVQTkcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L0ZyYW1lTUlNRVR5cGVQTkcuY3BwCShyZXZpc2lvbiAyMjE0Njcp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GcmFtZU1JTUVUeXBlUE5HLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hM
b2FkRm9yRnJhbWUoV0tQYWdlCiAgICAgdGVzdERvbmUgPSB0cnVlOwogfQogCi1URVNUKFdlYktp
dDIsIEZyYW1lTUlNRVR5cGVQTkcpCitURVNUKFdlYktpdCwgRnJhbWVNSU1FVHlwZVBORykKIHsK
ICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0
Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2VvbG9jYXRpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dlb2xvY2F0aW9u
LmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvR2VvbG9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsNyArMTU0LDcgQEAgc3Ry
dWN0IEdlb2xvY2F0aW9uQmFzaWNTdGF0ZVRyYWNrZXIgOiBHZQogICAgIH0KIH07CiAKLVRFU1Qo
V2ViS2l0MiwgR2VvbG9jYXRpb25CYXNpYykKK1RFU1QoV2ViS2l0LCBHZW9sb2NhdGlvbkJhc2lj
KQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0Nv
bnRleHRDcmVhdGUoKSk7CiAKQEAgLTE5NSw3ICsxOTUsNyBAQCBzdHJ1Y3QgR2VvbG9jYXRpb25C
YXNpY1dpdGhIaWdoQWNjdXJhY3lTCiAgICAgfQogfTsKIAotVEVTVChXZWJLaXQyLCBHZW9sb2Nh
dGlvbkJhc2ljV2l0aEhpZ2hBY2N1cmFjeSkKK1RFU1QoV2ViS2l0LCBHZW9sb2NhdGlvbkJhc2lj
V2l0aEhpZ2hBY2N1cmFjeSkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRl
eHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwogCkBAIC0yNDcsNyArMjQ3LDcgQEAgc3Ry
dWN0IEdlb2xvY2F0aW9uVHJhbnNpdGlvblRvSGlnaEFjY3VyYQogICAgIH0KIH07CiAKLVRFU1Qo
V2ViS2l0MiwgR2VvbG9jYXRpb25UcmFuc2l0aW9uVG9IaWdoQWNjdXJhY3kpCitURVNUKFdlYktp
dCwgR2VvbG9jYXRpb25UcmFuc2l0aW9uVG9IaWdoQWNjdXJhY3kpCiB7CiAgICAgV0tSZXRhaW5Q
dHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAg
ICBXS0NvbnRleHRTZXRNYXhpbXVtTnVtYmVyT2ZQcm9jZXNzZXMoY29udGV4dC5nZXQoKSwgMSk7
CkBAIC0zMTIsNyArMzEyLDcgQEAgc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdL
UGFnZQogICAgICpzdGF0aWNfY2FzdDxib29sKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5m
bykpID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQyLCBHZW9sb2NhdGlvblRyYW5zaXRpb25Ub0xv
d0FjY3VyYWN5KQorVEVTVChXZWJLaXQsIEdlb2xvY2F0aW9uVHJhbnNpdGlvblRvTG93QWNjdXJh
Y3kpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdL
Q29udGV4dENyZWF0ZSgpKTsKICAgICBXS0NvbnRleHRTZXRNYXhpbXVtTnVtYmVyT2ZQcm9jZXNz
ZXMoY29udGV4dC5nZXQoKSwgMSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9HZXRJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvR2V0SW5qZWN0
ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2suY3BwCShyZXZpc2lvbiAyMjE0
NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRJbmplY3RlZEJ1bmRs
ZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDcgKzQ2LDcgQEAgc3RhdGljIFdLVHlwZVJlZiBnZXRJbmplY3RlZEJ1bmRsZUluaXRpYQogICAg
IHJldHVybiBVdGlsOjpjcmVhdGVJbml0aWFsaXphdGlvbkRpY3Rpb25hcnlGb3JJbmplY3RlZEJ1
bmRsZVRlc3QoIkdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNr
VGVzdCIsICBVdGlsOjp0b1dLKCJFeHRyYSBpbml0aWFsaXphdGlvbiBkYXRhIikuZ2V0KCkpOwog
fQogCi1URVNUKFdlYktpdDIsIEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0
YUNhbGxiYWNrKQorVEVTVChXZWJLaXQsIEdldEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25V
c2VyRGF0YUNhbGxiYWNrKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4
dChBZG9wdFdLLCBVdGlsOjpjcmVhdGVDb250ZXh0V2l0aEluamVjdGVkQnVuZGxlKCkpOwogCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9HZXRVc2VyTWVkaWFOYXZpZ2F0
aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dl
dFVzZXJNZWRpYU5hdmlnYXRpb24ubW0JKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0dldFVzZXJNZWRpYU5hdmlnYXRpb24ubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTY3LDcgKzY3LDcgQEAgLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBjaAogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKLVRFU1QoV2ViS2l0MiwgTmF2
aWdhdGVEdXJpbmdHZXRVc2VyTWVkaWFQcm9tcHQpCitURVNUKFdlYktpdCwgTmF2aWdhdGVEdXJp
bmdHZXRVc2VyTWVkaWFQcm9tcHQpCiB7CiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHRO
UyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBhdXRvIHByb2Nl
c3NQb29sQ29uZmlnID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBhbGxv
Y10gaW5pdF0pOwpAQCAtODQsNyArODQsNyBAQCBURVNUKFdlYktpdDIsIE5hdmlnYXRlRHVyaW5n
R2V0VXNlck1lZGlhCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZva1RvUHJvY2VlZCk7
CiB9CiAKLVRFU1QoV2ViS2l0MiwgTmF2aWdhdGVEdXJpbmdEZXZpY2VFbnVtZXJhdGlvbikKK1RF
U1QoV2ViS2l0LCBOYXZpZ2F0ZUR1cmluZ0RldmljZUVudW1lcmF0aW9uKQogewogICAgIGF1dG8g
Y29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBp
bml0XSk7CiAgICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZyA9IGFkb3B0TlMoW1tfV0tQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L0hpdFRlc3RSZXN1bHROb2RlSGFuZGxlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9IaXRUZXN0UmVzdWx0Tm9kZUhhbmRs
ZS5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L0hpdFRlc3RSZXN1bHROb2RlSGFuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNyAr
NzEsNyBAQCBzdGF0aWMgdm9pZCBzZXRJbmplY3RlZEJ1bmRsZUNsaWVudChXS0NvCiAgICAgV0tD
b250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dCwgJmluamVjdGVkQnVuZGxlQ2xp
ZW50LmJhc2UpOwogfQogCi1URVNUKFdlYktpdDIsIEhpdFRlc3RSZXN1bHROb2RlSGFuZGxlKQor
VEVTVChXZWJLaXQsIEhpdFRlc3RSZXN1bHROb2RlSGFuZGxlKQogewogICAgIFdLUmV0YWluUHRy
PFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5q
ZWN0ZWRCdW5kbGVUZXN0KCJIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZVRlc3QiKSk7CiAgICAgCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3RlZEJ1bmRsZUJhc2lj
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Jbmpl
Y3RlZEJ1bmRsZUJhc2ljLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVCYXNpYy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUxLDcgKzUxLDcgQEAgc3RhdGljIHZvaWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFn
ZQogICAgICAgICBkb25lID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQyLCBJbmplY3RlZEJ1bmRs
ZUJhc2ljKQorVEVTVChXZWJLaXQsIEluamVjdGVkQnVuZGxlQmFzaWMpCiB7CiAgICAgV0tSZXRh
aW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFV0aWw6OmNyZWF0ZUNvbnRleHRG
b3JJbmplY3RlZEJ1bmRsZVRlc3QoIkluamVjdGVkQnVuZGxlQmFzaWNUZXN0IikpOwogCkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3RlZEJ1bmRsZUZyYW1lSGl0
VGVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
SW5qZWN0ZWRCdW5kbGVGcmFtZUhpdFRlc3QuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgc3RhdGljIHZvaWQgc2V0SW5qZWN0
ZWRCdW5kbGVDbGllbnQoV0tDbwogICAgIFdLQ29udGV4dFNldEluamVjdGVkQnVuZGxlQ2xpZW50
KGNvbnRleHQsICZpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlKTsKIH0KIAotVEVTVChXZWJLaXQy
LCBJbmplY3RlZEJ1bmRsZUZyYW1lSGl0VGVzdCkKK1RFU1QoV2ViS2l0LCBJbmplY3RlZEJ1bmRs
ZUZyYW1lSGl0VGVzdCkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQo
QWRvcHRXSywgVXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW5qZWN0
ZWRCdW5kbGVGcmFtZUhpdFRlc3RUZXN0IikpOwogICAgIApJbmRleDogVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2Fs
bGJhY2tXaW5zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9JbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFja1dpbnMuY3Bw
CShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9J
bmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFja1dpbnMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBXS1R5cGVSZWYgZ2V0SW5qZWN0ZWRC
dW5kbGVJbml0aWEKICAgICByZXR1cm4gVXRpbDo6Y3JlYXRlSW5pdGlhbGl6YXRpb25EaWN0aW9u
YXJ5Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNl
ckRhdGFDYWxsYmFja1dpbnNUZXN0IiwgIFV0aWw6OnRvV0soIlNldCBpbiB0aGUgZ2V0SW5qZWN0
ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhIGNhbGxiYWNrIikuZ2V0KCkpOwogfQogCi1U
RVNUKFdlYktpdDIsIEluamVjdGVkQnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNr
V2lucykKK1RFU1QoV2ViS2l0LCBJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFD
YWxsYmFja1dpbnMpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFk
b3B0V0ssIFV0aWw6OmNyZWF0ZUNvbnRleHRXaXRoSW5qZWN0ZWRCdW5kbGUoKSk7CiAgICAgV0tS
ZXRhaW5QdHI8V0tEaWN0aW9uYXJ5UmVmPiBpbml0aWFsaXphdGlvbkRpY3Rpb25hcnkoQWRvcHRX
SywgVXRpbDo6Y3JlYXRlSW5pdGlhbGl6YXRpb25EaWN0aW9uYXJ5Rm9ySW5qZWN0ZWRCdW5kbGVU
ZXN0KCJJbmplY3RlZEJ1bmRsZUluaXRpYWxpemF0aW9uVXNlckRhdGFDYWxsYmFja1dpbnNUZXN0
IiwgIFV0aWw6OnRvV0soIlNldCB3aXRoIFdLQ29udGV4dFNldEluaXRpYWxpemF0aW9uVXNlckRh
dGFGb3JJbmplY3RlZEJ1bmRsZSIpLmdldCgpKSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9JbmplY3RlZEJ1bmRsZU1ha2VBbGxTaGFkb3dSb290c09wZW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0luamVjdGVkQnVu
ZGxlTWFrZUFsbFNoYWRvd1Jvb3RzT3Blbi5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0luamVjdGVkQnVuZGxlTWFrZUFsbFNoYWRvd1Jv
b3RzT3Blbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIHZvaWQg
cnVuSmF2YVNjcmlwdEFsZXJ0KFdLUGFnZVJlZgogICAgIH0KIH0KIAotVEVTVChXZWJLaXQyLCBJ
bmplY3RlZEJ1bmRsZU1ha2VBbGxTaGFkb3dSb290T3BlblRlc3QpCitURVNUKFdlYktpdCwgSW5q
ZWN0ZWRCdW5kbGVNYWtlQWxsU2hhZG93Um9vdE9wZW5UZXN0KQogewogICAgIFdLUmV0YWluUHRy
PFdLUGFnZUdyb3VwUmVmPiBwYWdlR3JvdXAoQWRvcHRXSywgV0tQYWdlR3JvdXBDcmVhdGVXaXRo
SWRlbnRpZmllcihXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiSW5qZWN0ZWRCdW5kbGVN
YWtlQWxsU2hhZG93Um9vdE9wZW5UZXN0UGFnZUdyb3VwIikpKTsKIApJbmRleDogVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTGF5b3V0TWlsZXN0b25lc1dpdGhBbGxDb250ZW50SW5G
cmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
TGF5b3V0TWlsZXN0b25lc1dpdGhBbGxDb250ZW50SW5GcmFtZS5jcHAJKHJldmlzaW9uIDIyMTQ2
NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xheW91dE1pbGVzdG9uZXNX
aXRoQWxsQ29udGVudEluRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBA
IHN0YXRpYyB2b2lkIGRpZExheW91dChXS1BhZ2VSZWYgcGFnZSwgV0sKICAgICAgICAgdGVzdERv
bmUgPSB0cnVlOwogfQogCi1URVNUKFdlYktpdDIsIExheW91dE1pbGVzdG9uZXNXaXRoQWxsQ29u
dGVudEluRnJhbWUpCitURVNUKFdlYktpdCwgTGF5b3V0TWlsZXN0b25lc1dpdGhBbGxDb250ZW50
SW5GcmFtZSkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRX
SywgV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRl
eHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTGltaXRU
aXRsZVNpemUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L0xpbWl0VGl0bGVTaXplLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvTGltaXRUaXRsZVNpemUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01NCw3ICs1NCw3IEBAIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKFdLUGEK
ICAgICB3YWl0VW50aWxMb25nVGl0bGVSZWNlaXZlZCA9IHRydWU7CiB9CiAKLVRFU1QoV2ViS2l0
MiwgTGltaXRUaXRsZVNpemUpCitURVNUKFdlYktpdCwgTGltaXRUaXRsZVNpemUpCiB7CiAgICAg
V0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0
ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xvYWRBbHRlcm5hdGVIVE1MU3RyaW5n
V2l0aE5vbkRpcmVjdG9yeVVSTC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmdXaXRoTm9uRGlyZWN0b3J5VVJM
LmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmdXaXRoTm9uRGlyZWN0b3J5VVJMLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjQsMTQgKzY0LDE0IEBAIHN0YXRpYyB2b2lkIGxvYWRBbHRlcm5hdGVIVE1M
U3RyaW5nKFdLVVIKICAgICBVdGlsOjpydW4oJmRpZEZpbmlzaExvYWQpOwogfQogCi1URVNUKFdl
YktpdDIsIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nV2l0aE5vbkRpcmVjdG9yeVVSTCkKK1RFU1Qo
V2ViS2l0LCBMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZ1dpdGhOb25EaXJlY3RvcnlVUkwpCiB7CiAg
ICAgLy8gQ2FsbCBXS1BhZ2VMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZygpIHdpdGggZmlsZVVSTCB3
aGljaCBkb2VzIG5vdCBwb2ludCB0byBhIGRpcmVjdG9yeS4KICAgICBXS1JldGFpblB0cjxXS1VS
TFJlZj4gZmlsZVVSTChBZG9wdFdLLCBVdGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgic2ltcGxl
IiwgImh0bWwiKSk7CiAgICAgbG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcoZmlsZVVSTC5nZXQoKSwg
ZmlsZVVSTC5nZXQoKSk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgTG9hZEFsdGVybmF0ZUhUTUxTdHJp
bmdXaXRoRW1wdHlCYXNlVVJMKQorVEVTVChXZWJLaXQsIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5n
V2l0aEVtcHR5QmFzZVVSTCkKIHsKICAgICAvLyBDYWxsIFdLUGFnZUxvYWRBbHRlcm5hdGVIVE1M
U3RyaW5nKCkgd2l0aCBlbXB0eSBiYXNlVVJMIHRvIG1ha2Ugc3VyZSB0aGlzIHRlc3Qgd29ya3MK
ICAgICAvLyB3aGVuIGJhc2VVUkwgZG9lcyBub3QgZ3JhbnQgcmVhZCBhY2Nlc3MgdG8gdGhlIHVu
cmVhY2hhYmxlVVJMLiBXZSB1c2UgYSBzZXBhcmF0ZSB0ZXN0CkluZGV4OiBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9Mb2FkQ2FuY2VsZWROb1NlcnZlclJlZGlyZWN0Q2FsbGJhY2su
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xvYWRD
YW5jZWxlZE5vU2VydmVyUmVkaXJlY3RDYWxsYmFjay5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0xvYWRDYW5jZWxlZE5vU2VydmVyUmVk
aXJlY3RDYWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAgc3RhdGlj
IHZvaWQgZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0KFdLQwogICAgIHBlcmZvcm1lZFNlcnZlclJl
ZGlyZWN0ID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQyLCBMb2FkQ2FuY2VsZWROb1NlcnZlclJl
ZGlyZWN0Q2FsbGJhY2spCitURVNUKFdlYktpdCwgTG9hZENhbmNlbGVkTm9TZXJ2ZXJSZWRpcmVj
dENhbGxiYWNrKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9w
dFdLLCBVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJMb2FkQ2FuY2Vs
ZWROb1NlcnZlclJlZGlyZWN0Q2FsbGJhY2tUZXN0IikpOwogICAgIApJbmRleDogVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTG9hZFBhZ2VPbkNyYXNoLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Mb2FkUGFnZU9uQ3Jhc2guY3BwCShy
ZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Mb2Fk
UGFnZU9uQ3Jhc2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgZGlk
RmluaXNoTG9hZChXS1BhZ2VSZWYgcGFnZSwgV0tGcmEKIAogLy8gVGhpcyB0ZXN0IHdpbGwgbG9h
ZCBhIGJsYW5rIHBhZ2UgYW5kIG5leHQga2lsbCBXZWJQcm9jZXNzLCB0aGUgZXhwZWN0ZWQKIC8v
IHJlc3VsdCBpcyB0aGF0IGEgY2FsbCB0byBwYWdlIGxvYWQgc2hvdWxkIHNwYXduIGEgbmV3IFdl
YlByb2Nlc3MuCi1URVNUKFdlYktpdDIsIExvYWRQYWdlQWZ0ZXJDcmFzaCkKK1RFU1QoV2ViS2l0
LCBMb2FkUGFnZUFmdGVyQ3Jhc2gpCiB7CiAgICAgV2ViS2l0MkNyYXNoTG9hZGVyIGhlbHBlcjsK
ICAgICBoZWxwZXIubG9hZFVybCgpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvTWVkaWFTdHJlYW1UcmFja0RldGFjaGVkLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L01lZGlhU3RyZWFtVHJhY2tEZXRhY2hlZC5tbQkocmV2
aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTWVkaWFT
dHJlYW1UcmFja0RldGFjaGVkLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw3IEBAIC0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbWUKIAogbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgewogCi1URVNUKFdlYktpdDIsIE1lZGlhU3RyZWFtVHJhY2tEZXRhY2hlZCkKK1RF
U1QoV2ViS2l0LCBNZWRpYVN0cmVhbVRyYWNrRGV0YWNoZWQpCiB7CiAgICAgYXV0byBjb25maWd1
cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
ICAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlnID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvTWVudVR5cGVzRm9yTW91c2VFdmVudHMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L01lbnVUeXBlc0Zvck1vdXNlRXZlbnRzLmNwcAko
cmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTWVu
dVR5cGVzRm9yTW91c2VFdmVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3NyArNjksNzcg
QEAgc3RhdGljIHZvaWQgYnVpbGRBbmRQZXJmb3JtVGVzdChXS0V2ZW50TQogICAgIEVYUEVDVF9K
U19FUSh3ZWJWaWV3LnBhZ2UoKSwgImRpc3BsYXllZE1lbnUoKSIsIGV4cGVjdGVkTWVudVR5cGUp
OwogfQogCi1URVNUKFdlYktpdDIsIE1lbnVBbmRCdXR0b25Gb3JOb3JtYWxMZWZ0Q2xpY2spCitU
RVNUKFdlYktpdCwgTWVudUFuZEJ1dHRvbkZvck5vcm1hbExlZnRDbGljaykKIHsKICAgICBidWls
ZEFuZFBlcmZvcm1UZXN0KGtXS0V2ZW50TW91c2VCdXR0b25MZWZ0QnV0dG9uLCAwLCAiMCIsICJu
b25lIik7CiB9CiAKLVRFU1QoV2ViS2l0MiwgTWVudUFuZEJ1dHRvbkZvck5vcm1hbFJpZ2h0Q2xp
Y2spCitURVNUKFdlYktpdCwgTWVudUFuZEJ1dHRvbkZvck5vcm1hbFJpZ2h0Q2xpY2spCiB7CiAg
ICAgYnVpbGRBbmRQZXJmb3JtVGVzdChrV0tFdmVudE1vdXNlQnV0dG9uUmlnaHRCdXR0b24sIDAs
ICIyIiwgImNvbnRleHQiKTsKIH0KIAotVEVTVChXZWJLaXQyLCBNZW51QW5kQnV0dG9uRm9yTm9y
bWFsTWlkZGxlQ2xpY2spCitURVNUKFdlYktpdCwgTWVudUFuZEJ1dHRvbkZvck5vcm1hbE1pZGRs
ZUNsaWNrKQogewogICAgIGJ1aWxkQW5kUGVyZm9ybVRlc3Qoa1dLRXZlbnRNb3VzZUJ1dHRvbk1p
ZGRsZUJ1dHRvbiwgMCwgIjEiLCAibm9uZSIpOwogfQogCi1URVNUKFdlYktpdDIsIE1lbnVBbmRC
dXR0b25Gb3JDb250cm9sTGVmdENsaWNrKQorVEVTVChXZWJLaXQsIE1lbnVBbmRCdXR0b25Gb3JD
b250cm9sTGVmdENsaWNrKQogewogICAgIGJ1aWxkQW5kUGVyZm9ybVRlc3Qoa1dLRXZlbnRNb3Vz
ZUJ1dHRvbkxlZnRCdXR0b24sIGtXS0V2ZW50TW9kaWZpZXJzQ29udHJvbEtleSwgIjAiLCAiY29u
dGV4dCIpOwogfQogCi1URVNUKFdlYktpdDIsIE1lbnVBbmRCdXR0b25Gb3JDb250cm9sUmlnaHRD
bGljaykKK1RFU1QoV2ViS2l0LCBNZW51QW5kQnV0dG9uRm9yQ29udHJvbFJpZ2h0Q2xpY2spCiB7
CiAgICAgYnVpbGRBbmRQZXJmb3JtVGVzdChrV0tFdmVudE1vdXNlQnV0dG9uUmlnaHRCdXR0b24s
IGtXS0V2ZW50TW9kaWZpZXJzQ29udHJvbEtleSwgIjIiLCAiY29udGV4dCIpOwogfQogCi1URVNU
KFdlYktpdDIsIE1lbnVBbmRCdXR0b25Gb3JDb250cm9sTWlkZGxlQ2xpY2spCitURVNUKFdlYktp
dCwgTWVudUFuZEJ1dHRvbkZvckNvbnRyb2xNaWRkbGVDbGljaykKIHsKICAgICBidWlsZEFuZFBl
cmZvcm1UZXN0KGtXS0V2ZW50TW91c2VCdXR0b25NaWRkbGVCdXR0b24sIGtXS0V2ZW50TW9kaWZp
ZXJzQ29udHJvbEtleSwgIjEiLCAibm9uZSIpOwogfQogCi1URVNUKFdlYktpdDIsIE1lbnVBbmRC
dXR0b25Gb3JTaGlmdExlZnRDbGljaykKK1RFU1QoV2ViS2l0LCBNZW51QW5kQnV0dG9uRm9yU2hp
ZnRMZWZ0Q2xpY2spCiB7CiAgICAgYnVpbGRBbmRQZXJmb3JtVGVzdChrV0tFdmVudE1vdXNlQnV0
dG9uTGVmdEJ1dHRvbiwga1dLRXZlbnRNb2RpZmllcnNTaGlmdEtleSwgIjAiLCAibm9uZSIpOwog
fQogCi1URVNUKFdlYktpdDIsIE1lbnVBbmRCdXR0b25Gb3JTaGlmdFJpZ2h0Q2xpY2spCitURVNU
KFdlYktpdCwgTWVudUFuZEJ1dHRvbkZvclNoaWZ0UmlnaHRDbGljaykKIHsKICAgICBidWlsZEFu
ZFBlcmZvcm1UZXN0KGtXS0V2ZW50TW91c2VCdXR0b25SaWdodEJ1dHRvbiwga1dLRXZlbnRNb2Rp
ZmllcnNTaGlmdEtleSwgIjIiLCAiY29udGV4dCIpOwogfQogCi1URVNUKFdlYktpdDIsIE1lbnVB
bmRCdXR0b25Gb3JTaGlmdE1pZGRsZUNsaWNrKQorVEVTVChXZWJLaXQsIE1lbnVBbmRCdXR0b25G
b3JTaGlmdE1pZGRsZUNsaWNrKQogewogICAgIGJ1aWxkQW5kUGVyZm9ybVRlc3Qoa1dLRXZlbnRN
b3VzZUJ1dHRvbk1pZGRsZUJ1dHRvbiwga1dLRXZlbnRNb2RpZmllcnNTaGlmdEtleSwgIjEiLCAi
bm9uZSIpOwogfQogCi1URVNUKFdlYktpdDIsIE1lbnVBbmRCdXR0b25Gb3JDb21tYW5kTGVmdENs
aWNrKQorVEVTVChXZWJLaXQsIE1lbnVBbmRCdXR0b25Gb3JDb21tYW5kTGVmdENsaWNrKQogewog
ICAgIGJ1aWxkQW5kUGVyZm9ybVRlc3Qoa1dLRXZlbnRNb3VzZUJ1dHRvbkxlZnRCdXR0b24sIGtX
S0V2ZW50TW9kaWZpZXJzTWV0YUtleSwgIjAiLCAibm9uZSIpOwogfQogCi1URVNUKFdlYktpdDIs
IE1lbnVBbmRCdXR0b25Gb3JDb21tYW5kUmlnaHRDbGljaykKK1RFU1QoV2ViS2l0LCBNZW51QW5k
QnV0dG9uRm9yQ29tbWFuZFJpZ2h0Q2xpY2spCiB7CiAgICAgYnVpbGRBbmRQZXJmb3JtVGVzdChr
V0tFdmVudE1vdXNlQnV0dG9uUmlnaHRCdXR0b24sIGtXS0V2ZW50TW9kaWZpZXJzTWV0YUtleSwg
IjIiLCAiY29udGV4dCIpOwogfQogCi1URVNUKFdlYktpdDIsIE1lbnVBbmRCdXR0b25Gb3JDb21t
YW5kTWlkZGxlQ2xpY2spCitURVNUKFdlYktpdCwgTWVudUFuZEJ1dHRvbkZvckNvbW1hbmRNaWRk
bGVDbGljaykKIHsKICAgICBidWlsZEFuZFBlcmZvcm1UZXN0KGtXS0V2ZW50TW91c2VCdXR0b25N
aWRkbGVCdXR0b24sIGtXS0V2ZW50TW9kaWZpZXJzTWV0YUtleSwgIjEiLCAibm9uZSIpOwogfQog
Ci1URVNUKFdlYktpdDIsIE1lbnVBbmRCdXR0b25Gb3JBbHRMZWZ0Q2xpY2spCitURVNUKFdlYktp
dCwgTWVudUFuZEJ1dHRvbkZvckFsdExlZnRDbGljaykKIHsKICAgICBidWlsZEFuZFBlcmZvcm1U
ZXN0KGtXS0V2ZW50TW91c2VCdXR0b25MZWZ0QnV0dG9uLCBrV0tFdmVudE1vZGlmaWVyc0FsdEtl
eSwgIjAiLCAibm9uZSIpOwogfQogCi1URVNUKFdlYktpdDIsIE1lbnVBbmRCdXR0b25Gb3JBbHRS
aWdodENsaWNrKQorVEVTVChXZWJLaXQsIE1lbnVBbmRCdXR0b25Gb3JBbHRSaWdodENsaWNrKQog
ewogICAgIGJ1aWxkQW5kUGVyZm9ybVRlc3Qoa1dLRXZlbnRNb3VzZUJ1dHRvblJpZ2h0QnV0dG9u
LCBrV0tFdmVudE1vZGlmaWVyc0FsdEtleSwgIjIiLCAiY29udGV4dCIpOwogfQogCi1URVNUKFdl
YktpdDIsIE1lbnVBbmRCdXR0b25Gb3JBbHRNaWRkbGVDbGljaykKK1RFU1QoV2ViS2l0LCBNZW51
QW5kQnV0dG9uRm9yQWx0TWlkZGxlQ2xpY2spCiB7CiAgICAgYnVpbGRBbmRQZXJmb3JtVGVzdChr
V0tFdmVudE1vdXNlQnV0dG9uTWlkZGxlQnV0dG9uLCBrV0tFdmVudE1vZGlmaWVyc0FsdEtleSwg
IjEiLCAibm9uZSIpOwogfQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
TW9kYWxBbGVydHNTUEkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L01vZGFsQWxlcnRzU1BJLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTW9kYWxBbGVydHNTUEkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjAsNyArMTIwLDcgQEAgc3RhdGljIFdLUGFnZVJlZiBjcmVhdGVOZXdQYWdlKFdL
UGFnZVJlZgogICAgIHJldHVybiBvcGVuZWRXZWJWaWV3LT5wYWdlKCk7CiB9CiAKLVRFU1QoV2Vi
S2l0MiwgTW9kYWxBbGVydHNTUEkpCitURVNUKFdlYktpdCwgTW9kYWxBbGVydHNTUEkpCiB7CiAg
ICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRD
cmVhdGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7Cklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Nb3VzZU1vdmVBZnRlckNyYXNo
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Nb3Vz
ZU1vdmVBZnRlckNyYXNoLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvTW91c2VNb3ZlQWZ0ZXJDcmFzaC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUxLDcgKzUxLDcgQEAgc3RhdGljIHZvaWQgc2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VS
ZQogICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudC5iYXNl
KTsKIH0KIAotVEVTVChXZWJLaXQyLCBNb3VzZU1vdmVBZnRlckNyYXNoKQorVEVTVChXZWJLaXQs
IE1vdXNlTW92ZUFmdGVyQ3Jhc2gpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBj
b250ZXh0ID0gYWRvcHRXSyhVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0
KCJNb3VzZU1vdmVBZnRlckNyYXNoVGVzdCIpKTsKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvTmF2aWdhdGlvbkNsaWVudERlZmF1bHRDcnlwdG8uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L05hdmlnYXRpb25DbGllbnRE
ZWZhdWx0Q3J5cHRvLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvTmF2aWdhdGlvbkNsaWVudERlZmF1bHRDcnlwdG8uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25SZXMKICAgICBXS0ZyYW1lUG9saWN5TGlzdGVuZXJVc2UobGlzdGVuZXIpOwogfQogCi1U
RVNUKFdlYktpdDIsIE5hdmlnYXRpb25DbGllbnREZWZhdWx0Q3J5cHRvKQorVEVTVChXZWJLaXQs
IE5hdmlnYXRpb25DbGllbnREZWZhdWx0Q3J5cHRvKQogewogICAgIGF1dG8gY29udGV4dCA9IGFk
b3B0V0soV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNv
bnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTmV0
d29ya1Byb2Nlc3NDcmFzaFdpdGhQZW5kaW5nQ29ubmVjdGlvbi5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9OZXR3b3JrUHJvY2Vzc0NyYXNoV2l0aFBl
bmRpbmdDb25uZWN0aW9uLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9OZXR3b3JrUHJvY2Vzc0NyYXNoV2l0aFBlbmRpbmdDb25uZWN0aW9u
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBAIHN0YXRpYyBib29sIGxvYWRlZCA9
IGZhbHNlOwogc3RhdGljIGJvb2wgd2ViUHJvY2Vzc0NyYXNoZWQgPSBmYWxzZTsKIHN0YXRpYyBi
b29sIG5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCA9IGZhbHNlOwogCi1URVNUKFdlYktpdDIsIE5ldHdv
cmtQcm9jZXNzQ3Jhc2hXaXRoUGVuZGluZ0Nvbm5lY3Rpb24pCitURVNUKFdlYktpdCwgTmV0d29y
a1Byb2Nlc3NDcmFzaFdpdGhQZW5kaW5nQ29ubmVjdGlvbikKIHsKICAgICBSZXRhaW5QdHI8V0tX
ZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdD
b25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgUmV0YWluUHRyPFdLUHJvY2Vzc1Bvb2w+
IHByb2Nlc3NQb29sID0gYWRvcHROUyhbW1dLUHJvY2Vzc1Bvb2wgYWxsb2NdIGluaXRdKTsKSW5k
ZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L05ld0ZpcnN0VmlzdWFsbHlOb25F
bXB0eUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0LmNwcAkocmV2aXNpb24gMjIxNDY3
KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTmV3Rmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBAQCBzdGF0aWMg
dm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlCiAvLyB0aGUgZnJhbWUgbG9hZCBpcyBj
b21wbGV0aW5nIGJlZm9yZSBkaWRMYXlvdXQoKSBtYW5hZ2VzIHRvIHVubG9jayB0aGUKIC8vIGtX
S0RpZEhpdFJlbGV2YW50UmVwYWludGVkT2JqZWN0c0FyZWFUaHJlc2hvbGQgYWNoaWV2ZW1lbnQu
IFdlIHByb2JhYmx5IG5lZWQgdG8gZml4IHRoaXMgYnkgbWFraW5nCiAvLyB0aGlzIHRlc3QgaGF2
ZSBhIGxvbmctcnVubmluZyByZXNvdXJjZS4KLVRFU1QoV2ViS2l0MiwgRElTQUJMRURfTmV3Rmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KQorVEVTVChXZWJLaXQsIERJU0FCTEVEX05ld0ZpcnN0
VmlzdWFsbHlOb25FbXB0eUxheW91dCkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+
IGNvbnRleHQoQWRvcHRXSywgVXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVz
dCgiTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0VGVzdCIpKTsKIApJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0
RmFpbHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZhaWxzLmNwcAkocmV2aXNpb24gMjIxNDY3
KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTmV3Rmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0RmFpbHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIHN0
YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmUKICAgICBXS1BhZ2VTZXRQYWdl
TG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQuYmFzZSk7CiB9CiAKLVRFU1QoV2ViS2l0
MiwgTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RmFpbHMpCitURVNUKFdlYktpdCwgTmV3
Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RmFpbHMpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tD
b250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3Rl
ZEJ1bmRsZVRlc3QoIk5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZhaWxzVGVzdCIpKTsK
IApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvTmV3Rmlyc3RWaXN1YWxs
eU5vbkVtcHR5TGF5b3V0Rm9ySW1hZ2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JJbWFn
ZXMuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JJbWFnZXMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03Myw3ICs3Myw3IEBAIHN0YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQo
V0tQYWdlUmUKIC8vIHRoZSBmcmFtZSBsb2FkIGlzIGNvbXBsZXRpbmcgYmVmb3JlIGRpZExheW91
dCgpIG1hbmFnZXMgdG8gdW5sb2NrIHRoZQogLy8ga1dLRGlkSGl0UmVsZXZhbnRSZXBhaW50ZWRP
YmplY3RzQXJlYVRocmVzaG9sZCBhY2hpZXZlbWVudC4gV2UgcHJvYmFibHkgbmVlZCB0byBmaXgg
dGhpcyBieSBtYWtpbmcKIC8vIHRoaXMgdGVzdCBoYXZlIGEgbG9uZy1ydW5uaW5nIHJlc291cmNl
LgotVEVTVChXZWJLaXQyLCBESVNBQkxFRF9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRG
b3JJbWFnZXMpCitURVNUKFdlYktpdCwgRElTQUJMRURfTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0Rm9ySW1hZ2VzKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4
dChBZG9wdFdLLCBVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJOZXdG
aXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JJbWFnZXNUZXN0IikpOwogCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlv
dXRGcmFtZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZyYW1lcy5jcHAJKHJldmlzaW9uIDIy
MTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L05ld0ZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dEZyYW1lcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDcgKzc0LDcg
QEAgc3RhdGljIHZvaWQgc2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VSZQogICAgIFdLUGFnZVNl
dFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIH0KIAotVEVTVChX
ZWJLaXQyLCBOZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMpCitURVNUKFdlYktp
dCwgTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RnJhbWVzKQogewogICAgIGRpZEhpdFJl
bGV2YW50UmVwYWludGVkT2JqZWN0c0FyZWFUaHJlc2hvbGRDb3VudGVyID0gMDsKICAgICBXS1Jl
dGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgVXRpbDo6Y3JlYXRlQ29udGV4
dEZvckluamVjdGVkQnVuZGxlVGVzdCgiTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RnJh
bWVzVGVzdCIpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1BhZ2VM
b2FkQmFzaWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1BhZ2VMb2FkQmFzaWMuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9QYWdlTG9hZEJhc2ljLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTExLDcgKzExMSw3IEBAIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdLUGEK
ICAgICBXS0ZyYW1lUG9saWN5TGlzdGVuZXJVc2UobGlzdGVuZXIpOwogfQogCi1URVNUKFdlYktp
dDIsIFBhZ2VMb2FkQmFzaWMpCitURVNUKFdlYktpdCwgUGFnZUxvYWRCYXNpYykKIHsKICAgICBT
dGF0ZSBzdGF0ZTsKIApAQCAtMTU0LDcgKzE1NCw3IEBAIFRFU1QoV2ViS2l0MiwgUGFnZUxvYWRC
YXNpYykKICAgICBVdGlsOjpydW4oJnRlc3QxRG9uZSk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgUGFn
ZVJlbG9hZCkKK1RFU1QoV2ViS2l0LCBQYWdlUmVsb2FkKQogewogICAgIFdLUmV0YWluUHRyPFdL
Q29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CiAgICAgUGxh
dGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CkluZGV4OiBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9QYWdlTG9hZERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZv
ckZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9QYWdlTG9hZERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZvckZyYW1lLmNwcAkocmV2aXNp
b24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUGFnZUxvYWRE
aWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2VGb3JGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU4LDcgKzU4LDcgQEAgc3RhdGljIHZvaWQgZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvcgog
ICAgIGRpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZSA9IHRydWU7CiB9CiAKLVRFU1QoV2ViS2l0
MiwgUGFnZUxvYWREaWRDaGFuZ2VMb2NhdGlvbldpdGhpblBhZ2VGb3JGcmFtZSkKK1RFU1QoV2Vi
S2l0LCBQYWdlTG9hZERpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZUZvckZyYW1lKQogewogICAg
IFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVh
dGUoKSk7CiAgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QYXJlbnRGcmFtZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUGFyZW50RnJhbWUuY3Bw
CShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Q
YXJlbnRGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcgQEAgc3RhdGljIHZv
aWQgc2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tDbwogICAgIFdLQ29udGV4dFNldEluamVjdGVk
QnVuZGxlQ2xpZW50KGNvbnRleHQsICZpbmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlKTsKIH0KIAot
VEVTVChXZWJLaXQyLCBQYXJlbnRGcmFtZSkKK1RFU1QoV2ViS2l0LCBQYXJlbnRGcmFtZSkKIHsK
ICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFV0aWw6OmNy
ZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIlBhcmVudEZyYW1lVGVzdCIpKTsKICAg
ICBzZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LmdldCgpKTsKSW5kZXg6IFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Bhc3RlYm9hcmROb3RpZmljYXRpb25zLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Bhc3RlYm9hcmROb3Rp
ZmljYXRpb25zLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9QYXN0ZWJvYXJkTm90aWZpY2F0aW9ucy5tbQkod29ya2luZyBjb3B5KQpAQCAt
NTgsNyArNTgsNyBAQCBzdGF0aWMgdm9pZCBzZXRJbmplY3RlZEJ1bmRsZUNsaWVudChXS0NvCiAg
ICAgV0tDb250ZXh0U2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dCwgJmluamVjdGVkQnVu
ZGxlQ2xpZW50LmJhc2UpOwogfQogCi1URVNUKFdlYktpdDIsIFBhc3RlYm9hcmROb3RpZmljYXRp
b25zKQorVEVTVChXZWJLaXQsIFBhc3RlYm9hcmROb3RpZmljYXRpb25zKQogewogICAgIFtbTlNQ
YXN0ZWJvYXJkIGdlbmVyYWxQYXN0ZWJvYXJkXSBjbGVhckNvbnRlbnRzXTsKICAgICAKSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1BlbmRpbmdBUElSZXF1ZXN0VVJMLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9QZW5kaW5n
QVBJUmVxdWVzdFVSTC5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L1BlbmRpbmdBUElSZXF1ZXN0VVJMLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIHN0YXRpYyBib29s
IGRvbmU7CiAKLVRFU1QoV2ViS2l0MiwgUGVuZGluZ0FQSVJlcXVlc3RVUkwpCitURVNUKFdlYktp
dCwgUGVuZGluZ0FQSVJlcXVlc3RVUkwpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVm
PiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZp
ZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1ByZXZlbnRFbXB0eVVzZXJBZ2VudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJldmVudEVtcHR5VXNlckFnZW50LmNwcAkocmV2
aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJldmVu
dEVtcHR5VXNlckFnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBAQCBzdGF0
aWMgdm9pZCBkaWRSdW5KYXZhU2NyaXB0KFdLU2VyaWFsaXplCiAgICAgdGVzdERvbmUgPSB0cnVl
OwogfQogCi1URVNUKFdlYktpdDIsIFByZXZlbnRFbXB0eVVzZXJBZ2VudCkKK1RFU1QoV2ViS2l0
LCBQcmV2ZW50RW1wdHlVc2VyQWdlbnQpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVm
PiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZp
ZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1ByaXZhdGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9Qcml2YXRlQnJv
d3NpbmdQdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ByaXZhdGVCcm93c2luZ1B1c2hTdGF0
ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBz
dGF0aWMgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yCiAgICAgZGlkU2FtZURvY3Vt
ZW50TmF2aWdhdGlvbiA9IHRydWU7CiB9CiAKLVRFU1QoV2ViS2l0MiwgUHJpdmF0ZUJyb3dzaW5n
UHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2spCitURVNUKFdlYktpdCwgUHJpdmF0ZUJyb3dzaW5n
UHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2spCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0
UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKIApJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJvY2Vzc0RpZFRlcm1pbmF0ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUHJvY2Vzc0RpZFRlcm1p
bmF0ZS5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1Byb2Nlc3NEaWRUZXJtaW5hdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3
Niw3IEBAIHN0YXRpYyB2b2lkIHdlYlByb2Nlc3NDcmFzaGVkKFdLUGFnZVJlZiAKICAgICBjcmFz
aEhhbmRsZXJDYWxsZWQgPSB0cnVlOwogfQogCi1URVNUKFdlYktpdDIsIFByb2Nlc3NEaWRUZXJt
aW5hdGVSZXF1ZXN0ZWRCeUNsaWVudCkKK1RFU1QoV2ViS2l0LCBQcm9jZXNzRGlkVGVybWluYXRl
UmVxdWVzdGVkQnlDbGllbnQpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250
ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2Vi
Vmlldyhjb250ZXh0LmdldCgpKTsKQEAgLTEwMCw3ICsxMDAsNyBAQCBURVNUKFdlYktpdDIsIFBy
b2Nlc3NEaWRUZXJtaW5hdGVSZXF1ZXN0CiAgICAgVXRpbDo6cnVuKCZjbGllbnRUZXJtaW5hdGlv
bkhhbmRsZXJDYWxsZWQpOwogfQogCi1URVNUKFdlYktpdDIsIFByb2Nlc3NEaWRUZXJtaW5hdGVX
aXRoUmVhc29uQ3Jhc2gpCitURVNUKFdlYktpdCwgUHJvY2Vzc0RpZFRlcm1pbmF0ZVdpdGhSZWFz
b25DcmFzaCkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRX
SywgV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRl
eHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUmVsb2Fk
UGFnZUFmdGVyQ3Jhc2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1JlbG9hZFBhZ2VBZnRlckNyYXNoLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUmVsb2FkUGFnZUFmdGVyQ3Jhc2guY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyB2b2lkIGRpZENyYXNoKFdL
UGFnZVJlZiBwYWdlLCBjb24KICAgICBXS1BhZ2VSZWxvYWQocGFnZSk7CiB9CiAKLVRFU1QoV2Vi
S2l0MiwgUmVsb2FkUGFnZUFmdGVyQ3Jhc2gpCitURVNUKFdlYktpdCwgUmVsb2FkUGFnZUFmdGVy
Q3Jhc2gpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ss
IFdLQ29udGV4dENyZWF0ZSgpKTsKICAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0
LmdldCgpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc2l6ZVJl
dmVyc2VQYWdpbmF0ZWRXZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9SZXNpemVSZXZlcnNlUGFnaW5hdGVkV2ViVmlldy5jcHAJKHJldmlz
aW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc2l6ZVJl
dmVyc2VQYWdpbmF0ZWRXZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBA
QCBzdGF0aWMgdm9pZCBkaWRMYXlvdXQoV0tQYWdlUmVmIHBhZ2UsIFdLCiAgICAgfQogfQogCi1U
RVNUKFdlYktpdDIsIFJlc2l6ZVJldmVyc2VQYWdpbmF0ZWRXZWJWaWV3KQorVEVTVChXZWJLaXQs
IFJlc2l6ZVJldmVyc2VQYWdpbmF0ZWRXZWJWaWV3KQogewogICAgIFdLUmV0YWluUHRyPFdLQ29u
dGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CiAgICAgUGxhdGZv
cm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9SZXNpemVXaW5kb3dBZnRlckNyYXNoLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZXNpemVXaW5kb3dBZnRlckNyYXNo
LmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvUmVzaXplV2luZG93QWZ0ZXJDcmFzaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzcz
LDcgQEAgc3RhdGljIHZvaWQgZGlkQ3Jhc2goV0tQYWdlUmVmIHBhZ2UsIGNvbgogICAgIFdLUGFn
ZVJlbG9hZChwYWdlKTsKIH0KIAotVEVTVChXZWJLaXQyLCBSZXNpemVXaW5kb3dBZnRlckNyYXNo
KQorVEVTVChXZWJLaXQsIFJlc2l6ZVdpbmRvd0FmdGVyQ3Jhc2gpCiB7CiAgICAgV0tSZXRhaW5Q
dHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKICAg
ICBUZXN0U3RhdGVzRGF0YSBzdGF0ZXMoY29udGV4dC5nZXQoKSk7CkluZGV4OiBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZXNwb25zaXZlbmVzc1RpbWVy
LmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDcg
QEAgc3RhdGljIHZvaWQgc2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VSZQogICAgIFdLUGFnZVNl
dFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJmxvYWRlckNsaWVudC5iYXNlKTsKIH0KIAotVEVTVChX
ZWJLaXQyLCBSZXNwb25zaXZlbmVzc1RpbWVyU2hvdWxkTm90RmlyZUFmdGVyVGVhckRvd24pCitU
RVNUKFdlYktpdCwgUmVzcG9uc2l2ZW5lc3NUaW1lclNob3VsZE5vdEZpcmVBZnRlclRlYXJEb3du
KQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0Nv
bnRleHRDcmVhdGUoKSk7CiAgICAgLy8gVGhlIHR3byB2aWV3cyBuZWVkIHRvIHNoYXJlIHRoZSBz
YW1lIFdlYkNvbnRlbnQgcHJvY2Vzcy4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1Jlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3BvbnNpdmVuZXNzVGltZXJE
b2VzbnRGaXJlRWFybHkuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9SZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVy
Q2xpZW50KFdLUGFnZVJlCiAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9h
ZGVyQ2xpZW50LmJhc2UpOwogfQogCi1URVNUKFdlYktpdDIsIFJlc3BvbnNpdmVuZXNzVGltZXJE
b2VzbnRGaXJlRWFybHkpCitURVNUKFdlYktpdCwgUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZp
cmVFYXJseSkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9w
dFdLKFV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIlJlc3BvbnNpdmVu
ZXNzVGltZXJEb2VzbnRGaXJlRWFybHlUZXN0IikpOwogICAgIHNldEluamVjdGVkQnVuZGxlQ2xp
ZW50KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAJKHJldmlzaW9uIDIyMTQ2
NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3RvcmVTZXNzaW9uU3Rh
dGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2Niw3IEBAIHN0YXRpYyBXS1JldGFpblB0
cjxXS0RhdGFSZWY+IGNyZWF0ZVNlc3MKICAgICByZXR1cm4gYWRvcHRXSyhXS1Nlc3Npb25TdGF0
ZUNvcHlEYXRhKHNlc3Npb25TdGF0ZS5nZXQoKSkpOwogfQogCi1URVNUKFdlYktpdDIsIFJlc3Rv
cmVTZXNzaW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0KQorVEVTVChX
ZWJLaXQsIFJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZh
dWx0KQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBX
S0NvbnRleHRDcmVhdGUoKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1Jlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5nRm9ybURhdGEuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Jlc3RvcmVTZXNzaW9uU3RhdGVD
b250YWluaW5nRm9ybURhdGEuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9SZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRh
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMgV0tSZXRhaW5QdHI8
V0tEYXRhUmVmPiBjcmVhdGVTZXNzCiAgICAgcmV0dXJuIGFkb3B0V0soV0tTZXNzaW9uU3RhdGVD
b3B5RGF0YShzZXNzaW9uU3RhdGUuZ2V0KCkpKTsKIH0KIAotVEVTVChXZWJLaXQyLCBSZXN0b3Jl
U2Vzc2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRhKQorVEVTVChXZWJLaXQsIFJlc3RvcmVTZXNz
aW9uU3RhdGVDb250YWluaW5nRm9ybURhdGEpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0
UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKIApJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvUmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXROYXZp
Z2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9SZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5hdmlnYXRpb24uY3BwCShyZXZpc2lvbiAyMjE0
NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9SZXN0b3JlU2Vzc2lvblN0
YXRlV2l0aG91dE5hdmlnYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw3ICs3NCw3IEBA
IHN0YXRpYyBXS1JldGFpblB0cjxXS0RhdGFSZWY+IGNyZWF0ZVNlc3MKICAgICByZXR1cm4gYWRv
cHRXSyhXS1Nlc3Npb25TdGF0ZUNvcHlEYXRhKHNlc3Npb25TdGF0ZS5nZXQoKSkpOwogfQogCi1U
RVNUKFdlYktpdDIsIFJlc3RvcmVTZXNzaW9uU3RhdGVXaXRob3V0TmF2aWdhdGlvbikKK1RFU1Qo
V2ViS2l0LCBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5hdmlnYXRpb24pCiB7CiAgICAgV0tS
ZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgp
KTsKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU2Nyb2xsUGlubmlu
Z0JlaGF2aW9ycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvU2Nyb2xsUGlubmluZ0JlaGF2aW9ycy5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Njcm9sbFBpbm5pbmdCZWhhdmlvcnMuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaERv
Y3VtZW50TG9hZEZvckZyYW0KICAgICB0ZXN0RG9uZSA9IHRydWU7CiB9CiAKLVRFU1QoV2ViS2l0
MiwgU2Nyb2xsUGlubmluZ0JlaGF2aW9ycykKK1RFU1QoV2ViS2l0LCBTY3JvbGxQaW5uaW5nQmVo
YXZpb3JzKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdL
LCBXS0NvbnRleHRDcmVhdGUoKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1Nob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1Nob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjksNyArNjksNyBAQCBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJl
CiAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVyQ2xpZW50LmJhc2Up
OwogfQogCi1URVNUKFdlYktpdDIsIFNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKQorVEVT
VChXZWJLaXQsIFNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtKQogewogICAgIFdLUmV0YWlu
UHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4dEZv
ckluamVjdGVkQnVuZGxlVGVzdCgiU2hvdWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW1UZXN0Iikp
OwogICAgIC8vIEVuYWJsZSB0aGUgcGFnZSBjYWNoZSBzbyB3ZSBjYW4gdGVzdCB0aGUgV0tCdW5k
bGVCYWNrRm9yd2FyZExpc3RJdGVtSXNJblBhZ2VDYWNoZSBBUEkKSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Nob3VsZEtlZXBDdXJyZW50QmFja0ZvcndhcmRMaXN0SXRl
bUluTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvU2hvdWxkS2VlcEN1cnJlbnRCYWNrRm9yd2FyZExpc3RJdGVtSW5MaXN0LmNwcAkocmV2aXNp
b24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvU2hvdWxkS2Vl
cEN1cnJlbnRCYWNrRm9yd2FyZExpc3RJdGVtSW5MaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTI4LDcgKzEyOCw3IEBAIHN0YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmUK
ICAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQuYmFzZSk7
CiB9CiAKLVRFU1QoV2ViS2l0MiwgU2hvdWxkS2VlcEN1cnJlbnRCYWNrRm9yd2FyZExpc3RJdGVt
SW5MaXN0KQorVEVTVChXZWJLaXQsIFNob3VsZEtlZXBDdXJyZW50QmFja0ZvcndhcmRMaXN0SXRl
bUluTGlzdCkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRX
SywgV0tDb250ZXh0Q3JlYXRlKCkpOwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9TcGFjZWJhclNjcm9sbGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvU3BhY2ViYXJTY3JvbGxpbmcuY3BwCShyZXZpc2lvbiAyMjE0
NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TcGFjZWJhclNjcm9sbGlu
Zy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcgQEAgc3RhdGljIHZvaWQgZGlkTm90
SGFuZGxlS2V5RXZlbnRDYWxsYmFjawogICAgICAgICBkaWROb3RIYW5kbGVLZXlEb3duRXZlbnQg
PSB0cnVlOwogfQogCi1URVNUKFdlYktpdDIsIFNwYWNlYmFyU2Nyb2xsaW5nKQorVEVTVChXZWJL
aXQsIFNwYWNlYmFyU2Nyb2xsaW5nKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4g
Y29udGV4dChBZG9wdFdLLCBVdGlsOjpjcmVhdGVDb250ZXh0V2l0aEluamVjdGVkQnVuZGxlKCkp
OwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9TdG9wTG9hZGluZ0R1
cmluZ0RpZEZhaWxQcm92aXNpb25hbExvYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1N0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFs
TG9hZC5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1N0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIHZvaWQgZGlkRmFpbFByb3Zpc2lvbmFs
TG9hZFdpdGhFcgogICAgIGRvbmUgPSB0cnVlOwogfQogCi1URVNUKFdlYktpdDIsIFN0b3BMb2Fk
aW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZFRlc3QpCitURVNUKFdlYktpdCwgU3RvcExv
YWRpbmdEdXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2FkVGVzdCkKIHsKICAgICBXS1JldGFpblB0
cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgVXRpbDo6Y3JlYXRlQ29udGV4dEZvcklu
amVjdGVkQnVuZGxlVGVzdCgiU3RvcExvYWRpbmdEdXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2Fk
VGVzdCIpKTsKICAgICBzZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LmdldCgpKTsKSW5k
ZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1Rlcm1pbmF0ZVR3aWNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9UZXJtaW5hdGVU
d2ljZS5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1Rlcm1pbmF0ZVR3aWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBA
QCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlCiAgICAgbG9hZGVkID0g
dHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQyLCBUZXJtaW5hdGVUd2ljZSkKK1RFU1QoV2ViS2l0LCBU
ZXJtaW5hdGVUd2ljZSkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQo
QWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3
KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
VXNlck1lZGlhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9Vc2VyTWVkaWEuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9Vc2VyTWVkaWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Niw3ICs2
Niw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrVXNlck1lZGlhUGVybWlzc2lvbkNhbGwKICAgICBXS1Vz
ZXJNZWRpYVBlcm1pc3Npb25DaGVja1NldFVzZXJNZWRpYUFjY2Vzc0luZm8ocGVybWlzc2lvblJl
cXVlc3QsIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCIweDEyMzQ1Njc4OSIpLCBmYWxz
ZSk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgVXNlck1lZGlhQmFzaWMpCitURVNUKFdlYktpdCwgVXNl
ck1lZGlhQmFzaWMpCiB7CiAgICAgYXV0byBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVh
dGUoKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1ZpZXdwb3J0
U2l6ZUZvclZpZXdwb3J0VW5pdHMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvVmlld3BvcnRTaXplRm9yVmlld3BvcnRVbml0cy5tbQkocmV2aXNpb24g
MjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvVmlld3BvcnRTaXpl
Rm9yVmlld3BvcnRVbml0cy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQAogCiBz
dGF0aWMgYm9vbCB2aWV3cG9ydFNpemVUZXN0RG9uZTsKIAotVEVTVChXZWJLaXQyLCBWaWV3cG9y
dFNpemVGb3JWaWV3cG9ydFVuaXRzKQorVEVTVChXZWJLaXQsIFZpZXdwb3J0U2l6ZUZvclZpZXdw
b3J0VW5pdHMpCiB7CiAgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMo
W1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAsIDEw
MCldKTsKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCdW5kbGVG
aWxlSGFuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9XS0J1bmRsZUZpbGVIYW5kbGUuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0J1bmRsZUZpbGVIYW5kbGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFt
ZShXS1BhZ2UKICAgICBsb2FkRG9uZSA9IHRydWU7CiB9CiAKLVRFU1QoV2ViS2l0MiwgV0tCdW5k
bGVGaWxlSGFuZGxlKQorVEVTVChXZWJLaXQsIFdLQnVuZGxlRmlsZUhhbmRsZSkKIHsKICAgICBX
S1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFV0aWw6OmNyZWF0ZUNv
bnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIldLQnVuZGxlRmlsZUhhbmRsZVRlc3QiKSk7CiAK
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLSW1hZ2VDcmVhdGVDR0lt
YWdlQ3Jhc2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1dLSW1hZ2VDcmVhdGVDR0ltYWdlQ3Jhc2guY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0ltYWdlQ3JlYXRlQ0dJbWFnZUNyYXNo
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSSB7CiAKLVRFU1QoV2ViS2l0MiwgV0tJbWFnZUNyZWF0ZUNHSW1hZ2VDcmFzaCkKK1RF
U1QoV2ViS2l0LCBXS0ltYWdlQ3JlYXRlQ0dJbWFnZUNyYXNoKQogewogICAgIEVYUEVDVF9GQUxT
RShXS0ltYWdlQ3JlYXRlQ0dJbWFnZShudWxscHRyKSk7CiB9CkluZGV4OiBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9XS1BhZ2VDb25maWd1cmF0aW9uLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS1BhZ2VDb25maWd1cmF0aW9uLmNw
cAkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
V0tQYWdlQ29uZmlndXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAK
IAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCi1URVNUKFdlYktpdDIsIFdLUGFnZUNvbmZp
Z3VyYXRpb25FbXB0eSkKK1RFU1QoV2ViS2l0LCBXS1BhZ2VDb25maWd1cmF0aW9uRW1wdHkpCiB7
CiAgICAgV0tSZXRhaW5QdHI8V0tQYWdlQ29uZmlndXJhdGlvblJlZj4gY29uZmlndXJhdGlvbiA9
IGFkb3B0V0soV0tQYWdlQ29uZmlndXJhdGlvbkNyZWF0ZSgpKTsKIApAQCAtNjQsNyArNjQsNyBA
QCBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xpZW50KFdLUGFnZVJlCiAgICAgV0tQYWdlU2V0
UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwogfQogCi1URVNUKFdl
YktpdDIsIFdLUGFnZUNvbmZpZ3VyYXRpb25CYXNpYykKK1RFU1QoV2ViS2l0LCBXS1BhZ2VDb25m
aWd1cmF0aW9uQmFzaWMpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tQYWdlQ29uZmlndXJhdGlvblJl
Zj4gY29uZmlndXJhdGlvbiA9IGFkb3B0V0soV0tQYWdlQ29uZmlndXJhdGlvbkNyZWF0ZSgpKTsK
ICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFdLQ29udGV4
dENyZWF0ZSgpKTsKQEAgLTgzLDcgKzgzLDcgQEAgVEVTVChXZWJLaXQyLCBXS1BhZ2VDb25maWd1
cmF0aW9uQmFzaWMpCiAgICAgVXRpbDo6cnVuKCZkaWRGaW5pc2hMb2FkKTsKIH0KIAotVEVTVChX
ZWJLaXQyLCBXS1BhZ2VDb25maWd1cmF0aW9uQmFzaWNXaXRoRGF0YVN0b3JlKQorVEVTVChXZWJL
aXQsIFdLUGFnZUNvbmZpZ3VyYXRpb25CYXNpY1dpdGhEYXRhU3RvcmUpCiB7CiAgICAgV0tSZXRh
aW5QdHI8V0tQYWdlQ29uZmlndXJhdGlvblJlZj4gY29uZmlndXJhdGlvbiA9IGFkb3B0V0soV0tQ
YWdlQ29uZmlndXJhdGlvbkNyZWF0ZSgpKTsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+
IGNvbnRleHQgPSBhZG9wdFdLKFdLQ29udGV4dENyZWF0ZSgpKTsKQEAgLTEwNSw3ICsxMDUsNyBA
QCBURVNUKFdlYktpdDIsIFdLUGFnZUNvbmZpZ3VyYXRpb25CYXNpY1dpCiAgICAgVXRpbDo6cnVu
KCZkaWRGaW5pc2hMb2FkKTsKIH0KIAotVEVTVChXZWJLaXQyLCBXS1BhZ2VDb25maWd1cmF0aW9u
QmFzaWNXaXRoTm9uUGVyc2lzdGVudERhdGFTdG9yZSkKK1RFU1QoV2ViS2l0LCBXS1BhZ2VDb25m
aWd1cmF0aW9uQmFzaWNXaXRoTm9uUGVyc2lzdGVudERhdGFTdG9yZSkKIHsKICAgICBXS1JldGFp
blB0cjxXS1BhZ2VDb25maWd1cmF0aW9uUmVmPiBjb25maWd1cmF0aW9uID0gYWRvcHRXSyhXS1Bh
Z2VDb25maWd1cmF0aW9uQ3JlYXRlKCkpOwogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4g
Y29udGV4dCA9IGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlKCkpOwpJbmRleDogVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvV0tQYWdlQ29weVNlc3Npb25TdGF0ZVdpdGhGaWx0ZXJpbmcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUGFn
ZUNvcHlTZXNzaW9uU3RhdGVXaXRoRmlsdGVyaW5nLmNwcAkocmV2aXNpb24gMjIxNDY3KQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tQYWdlQ29weVNlc3Npb25TdGF0ZVdp
dGhGaWx0ZXJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsNyArMTAzLDcgQEAgc3RhdGlj
IHZvaWQgY3JlYXRlU2Vzc2lvblN0YXRlcyhXS0NvbnRleAogICAgIHNlc3Npb25TdGF0ZVdpdGhB
bGxJdGVtc1JlbW92ZWQgPSBhZG9wdFdLKHN0YXRpY19jYXN0PFdLU2Vzc2lvblN0YXRlUmVmPihX
S1BhZ2VDb3B5U2Vzc2lvblN0YXRlKHdlYlZpZXcucGFnZSgpLCByZWludGVycHJldF9jYXN0PHZv
aWQqPigxKSwgZmlsdGVyQWxsSXRlbXNDYWxsYmFjaykpKTsKIH0KIAotVEVTVChXZWJLaXQyLCBX
S1BhZ2VDb3B5U2Vzc2lvblN0YXRlV2l0aEZpbHRlcmluZykKK1RFU1QoV2ViS2l0LCBXS1BhZ2VD
b3B5U2Vzc2lvblN0YXRlV2l0aEZpbHRlcmluZykKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRl
eHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOwogCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS1BhZ2VHZXRTY2FsZUZhY3Rvck5vdFplcm8u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUGFn
ZUdldFNjYWxlRmFjdG9yTm90WmVyby5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUGFnZUdldFNjYWxlRmFjdG9yTm90WmVyby5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDcgQEAgc3RhdGljIFdLUmV0YWluUHRyPFdLU2Vz
c2lvblN0YXRlUmVmPiBjcgogICAgIHJldHVybiBhZG9wdFdLKHN0YXRpY19jYXN0PFdLU2Vzc2lv
blN0YXRlUmVmPihXS1BhZ2VDb3B5U2Vzc2lvblN0YXRlKHdlYlZpZXcucGFnZSgpLCByZWludGVy
cHJldF9jYXN0PHZvaWQqPigxKSwgbnVsbHB0cikpKTsKIH0KIAotVEVTVChXZWJLaXQyLCBXS1Bh
Z2VHZXRTY2FsZUZhY3Rvck5vdFplcm8pCitURVNUKFdlYktpdCwgV0tQYWdlR2V0U2NhbGVGYWN0
b3JOb3RaZXJvKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9w
dFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1dLUGFnZUlzUGxheWluZ0F1ZGlvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS1BhZ2VJc1BsYXlpbmdBdWRpby5jcHAJKHJldmlz
aW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUGFnZUlz
UGxheWluZ0F1ZGlvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsNyBAQCBzdGF0aWMg
dm9pZCBzZXRVcENsaWVudHMoV0tQYWdlUmVmIHBhZ2UpCiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xp
ZW50KHBhZ2UsICZ1aUNsaWVudC5iYXNlKTsKIH0KIAotVEVTVChXZWJLaXQyLCBXS1BhZ2VJc1Bs
YXlpbmdBdWRpbykKK1RFU1QoV2ViS2l0LCBXS1BhZ2VJc1BsYXlpbmdBdWRpbykKIHsKICAgICBX
S1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFdLQ29udGV4dENyZWF0
ZSgpKTsKIApAQCAtMTE0LDcgKzExNCw3IEBAIFRFU1QoV2ViS2l0MiwgV0tQYWdlSXNQbGF5aW5n
QXVkaW8pCiAgICAgRVhQRUNUX1RSVUUoV0tQYWdlSXNQbGF5aW5nQXVkaW8od2ViVmlldy5wYWdl
KCkpKTsKIH0KIAotVEVTVChXZWJLaXQyLCBNU0VJc1BsYXlpbmdBdWRpbykKK1RFU1QoV2ViS2l0
LCBNU0VJc1BsYXlpbmdBdWRpbykKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNv
bnRleHQgPSBhZG9wdFdLKFdLQ29udGV4dENyZWF0ZSgpKTsKIApJbmRleDogVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvV0tQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9u
IDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUHJlZmVyZW5j
ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiAKIG5hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJIHsKIAotVEVTVChXZWJLaXQyLCBXS1ByZWZlcmVuY2VzQmFzaWMpCitURVNUKFdl
YktpdCwgV0tQcmVmZXJlbmNlc0Jhc2ljKQogewogICAgIFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZSA9IFdLUHJlZmVyZW5jZXNDcmVhdGUoKTsKIApAQCAtNDIsNyArNDIsNyBAQCBURVNUKFdl
YktpdDIsIFdLUHJlZmVyZW5jZXNCYXNpYykKICAgICBXS1JlbGVhc2UocHJlZmVyZW5jZSk7CiB9
CiAKLVRFU1QoV2ViS2l0MiwgV0tQcmVmZXJlbmNlc0RlZmF1bHRzKQorVEVTVChXZWJLaXQsIFdL
UHJlZmVyZW5jZXNEZWZhdWx0cykKIHsKICNpZiBQTEFURk9STShHVEspCiAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIGV4cGVjdGVkU3RhbmRhcmRGb250RmFtaWx5ID0gIlRpbWVzIjsKQEAgLTEwNiw3
ICsxMDYsNyBAQCBURVNUKFdlYktpdDIsIFdLUHJlZmVyZW5jZXNEZWZhdWx0cykKICAgICBXS1Jl
bGVhc2UocHJlZmVyZW5jZSk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgV0tQcmVmZXJlbmNlc0NvcHlp
bmcpCitURVNUKFdlYktpdCwgV0tQcmVmZXJlbmNlc0NvcHlpbmcpCiB7CiAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IGlkZW50aWZpZXIoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoImlkZW50aWZpZXIiKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L1dLUmV0YWluUHRyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9XS1JldGFpblB0ci5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLUmV0YWluUHRyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKLVRF
U1QoV2ViS2l0MiwgV0tSZXRhaW5QdHIpCitURVNUKFdlYktpdCwgV0tSZXRhaW5QdHIpCiB7CiAg
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHN0cmluZzEgPSBhZG9wdFdLKFdLU3RyaW5nQ3Jl
YXRlV2l0aFVURjhDU3RyaW5nKCJhIikpOwogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBz
dHJpbmcyID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYSIpKTsKSW5k
ZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLU3RyaW5nLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS1N0cmluZy5jcHAJKHJl
dmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLU3Ry
aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiBuYW1lc3BhY2UgVGVz
dFdlYktpdEFQSSB7CiAKLVRFU1QoV2ViS2l0MiwgV0tTdHJpbmcpCitURVNUKFdlYktpdCwgV0tT
dHJpbmcpCiB7CiAgICAgV0tTdHJpbmdSZWYgc3RyaW5nID0gV0tTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoImhlbGxvIik7CiAgICAgRVhQRUNUX1RSVUUoIVdLU3RyaW5nSXNFbXB0eShzdHJp
bmcpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLU3RyaW5nSlNT
dHJpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L1dLU3RyaW5nSlNTdHJpbmcuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9XS1N0cmluZ0pTU3RyaW5nLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKLVRFU1QoV2Vi
S2l0MiwgV0tTdHJpbmdKU1N0cmluZykKK1RFU1QoV2ViS2l0LCBXS1N0cmluZ0pTU3RyaW5nKQog
ewogICAgIFdLU3RyaW5nUmVmIHdrU3RyaW5nID0gV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoImhlbGxvIik7CiAgICAgSlNTdHJpbmdSZWYganNTdHJpbmcgPSBKU1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluZygiaGVsbG8iKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1dLVGh1bWJuYWlsVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9XS1RodW1ibmFpbFZpZXcubW0JKHJldmlzaW9uIDIyMTQ2NykKKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLVGh1bWJuYWlsVmlldy5tbQkod29y
a2luZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgdm9pZCBzZXRQYWdlTG9hZGVyQ2xp
ZW50KFdLUGFnZVJlCiAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVy
Q2xpZW50LmJhc2UpOwogfQogCi1URVNUKFdlYktpdDIsIFdLVGh1bWJuYWlsVmlld0tlZXBTbmFw
c2hvdFdoZW5SZW1vdmVkRnJvbVN1cGVydmlldykKK1RFU1QoV2ViS2l0LCBXS1RodW1ibmFpbFZp
ZXdLZWVwU25hcHNob3RXaGVuUmVtb3ZlZEZyb21TdXBlcnZpZXcpCiB7CiAgICAgV0tSZXRhaW5Q
dHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhXS0NvbnRleHRDcmVhdGUoKSk7CiAg
ICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQoKSk7CkBAIC0xMjAsNyArMTIw
LDcgQEAgVEVTVChXZWJLaXQyLCBXS1RodW1ibmFpbFZpZXdLZWVwU25hcHNobwogICAgIFt0aHVt
Ym5haWxWaWV3IHJlbW92ZU9ic2VydmVyOm9ic2VydmVyLmdldCgpIGZvcktleVBhdGg6QCJzbmFw
c2hvdFNpemUiIGNvbnRleHQ6c25hcHNob3RTaXplQ2hhbmdlS1ZPQ29udGV4dF07CiB9CiAKLVRF
U1QoV2ViS2l0MiwgV0tUaHVtYm5haWxWaWV3TWF4aW11bVNuYXBzaG90U2l6ZSkKK1RFU1QoV2Vi
S2l0LCBXS1RodW1ibmFpbFZpZXdNYXhpbXVtU25hcHNob3RTaXplKQogewogICAgIFdLUmV0YWlu
UHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlKCkpOwog
ICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV2ViQXJjaGl2ZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV2ViQXJjaGl2ZS5jcHAJKHJldmlzaW9u
IDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dlYkFyY2hpdmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNyArMTA1LDcgQEAgc3RhdGljIHZvaWQgZGlkRmlu
aXNoTG9hZEZvckZyYW1lKFdLUGFnZQogICAgIGRpZEZpbmlzaExvYWQgPSB0cnVlOwogfQogCi1U
RVNUKFdlYktpdDIsIFdlYkFyY2hpdmUpCitURVNUKFdlYktpdCwgV2ViQXJjaGl2ZSkKIHsKICAg
ICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFV0aWw6OmNyZWF0
ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIldlYkFyY2hpdmVUZXN0IikpOwogICAgIHNl
dEluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvV2ViQ29yZVN0YXRpc3RpY3NXaXRoTm9XZWJQcm9jZXNzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XZWJDb3Jl
U3RhdGlzdGljc1dpdGhOb1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XZWJDb3JlU3RhdGlzdGljc1dpdGhOb1dlYlBy
b2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIHN0YXRpYyB2b2lkIHdr
Q29udGV4dEdldFN0YXRpc3RpY3NDYWxsYmEKICAgICBkb25lID0gdHJ1ZTsKIH0KIAotVEVTVChX
ZWJLaXQyLCBXZWJDb3JlU3RhdGlzdGljc1dpdGhOb1dlYlByb2Nlc3MpCitURVNUKFdlYktpdCwg
V2ViQ29yZVN0YXRpc3RpY3NXaXRoTm9XZWJQcm9jZXNzKQogewogICAgIFdLUmV0YWluUHRyPFdL
Q29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soV0tDb250ZXh0Q3JlYXRlKCkpOwogICAgIApJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV2lsbFNlbmRTdWJtaXRFdmVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV2ls
bFNlbmRTdWJtaXRFdmVudC5jcHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L1dpbGxTZW5kU3VibWl0RXZlbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02OSw3ICs2OSw3IEBAIHN0YXRpYyB2b2lkIHNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdL
Q28KICAgICBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LCAmaW5qZWN0
ZWRCdW5kbGVDbGllbnQuYmFzZSk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgV2lsbFNlbmRTdWJtaXRF
dmVudCkKK1RFU1QoV2ViS2l0LCBXaWxsU2VuZFN1Ym1pdEV2ZW50KQogewogICAgIFdLUmV0YWlu
UHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4dEZv
ckluamVjdGVkQnVuZGxlVGVzdCgiV2lsbFNlbmRTdWJtaXRFdmVudFRlc3QiKSk7CiAgICAgc2V0
SW5qZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dC5nZXQoKSk7CkluZGV4OiBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9tYWMvQXR0cmlidXRlZFN1YnN0cmluZ0ZvclByb3Bvc2VkUmFu
Z2VXaXRoSW1hZ2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvbWFjL0F0dHJpYnV0ZWRTdWJzdHJpbmdGb3JQcm9wb3NlZFJhbmdlV2l0aEltYWdlLm1t
CShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9t
YWMvQXR0cmlidXRlZFN1YnN0cmluZ0ZvclByb3Bvc2VkUmFuZ2VXaXRoSW1hZ2UubW0JKHdvcmtp
bmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgc3RhdGljIHZvaWQgaW52YWxpZE1lc3NhZ2VGdW5j
dGlvbihXS1N0cgogICAgIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSA9IHRydWU7CiB9CiAKLVRF
U1QoV2ViS2l0MiwgQXR0cmlidXRlZFN1YnN0cmluZ0ZvclByb3Bvc2VkUmFuZ2VXaXRoSW1hZ2Up
CitURVNUKFdlYktpdCwgQXR0cmlidXRlZFN1YnN0cmluZ0ZvclByb3Bvc2VkUmFuZ2VXaXRoSW1h
Z2UpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFV0
aWw6OmNyZWF0ZUNvbnRleHRXaXRoSW5qZWN0ZWRCdW5kbGUoKSk7CiAgICAgV0tSZXRhaW5QdHI8
V0tQYWdlR3JvdXBSZWY+IHBhZ2VHcm91cChBZG9wdFdLLCBXS1BhZ2VHcm91cENyZWF0ZVdpdGhJ
ZGVudGlmaWVyKFV0aWw6OnRvV0soIkF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JQcm9wb3NlZFJhbmdl
V2l0aEltYWdlUGFnZUdyb3VwIikuZ2V0KCkpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L21hYy9Db250ZXh0TWVudURvd25sb2FkLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21hYy9Db250ZXh0TWVudURvd25sb2FkLm1t
CShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9t
YWMvQ29udGV4dE1lbnVEb3dubG9hZC5tbQkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBA
QCBzdGF0aWMgV0tTdHJpbmdSZWYgZGVjaWRlRGVzdGluYXRpb25XaXRoCiAKIC8vIENoZWNrcyB0
aGF0IHRoZSBIVE1MIGRvd25sb2FkIGF0dHJpYnV0ZSBpcyB1c2VkIGFzIHN1Z2dlc3RlZCBmaWxl
bmFtZSB3aGVuIHNlbGVjdGluZwogLy8gdGhlICJEb3dubG9hZCBMaW5rZWQgRmlsZSIgaXRlbSBp
biB0aGUgY29udGV4dCBtZW51LgotVEVTVChXZWJLaXQyLCBDb250ZXh0TWVudURvd25sb2FkSFRN
TERvd25sb2FkQXR0cmlidXRlKQorVEVTVChXZWJLaXQsIENvbnRleHRNZW51RG93bmxvYWRIVE1M
RG93bmxvYWRBdHRyaWJ1dGUpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250
ZXh0KEFkb3B0V0ssIFV0aWw6OmNyZWF0ZUNvbnRleHRXaXRoSW5qZWN0ZWRCdW5kbGUoKSk7CiAK
QEAgLTExOSw3ICsxMTksNyBAQCBzdGF0aWMgV0tTdHJpbmdSZWYgZGVjaWRlRGVzdGluYXRpb25X
aXRoCiAgICAgcmV0dXJuIFV0aWw6OnRvV0soIi90bXAvV2ViS2l0QVBJVGVzdC9Db250ZXh0TWVu
dURvd25sb2FkIikubGVha1JlZigpOwogfQogCi1URVNUKFdlYktpdDIsIENvbnRleHRNZW51RG93
bmxvYWRIVE1MRG93bmxvYWRBdHRyaWJ1dGVXaXRoU2xhc2hlcykKK1RFU1QoV2ViS2l0LCBDb250
ZXh0TWVudURvd25sb2FkSFRNTERvd25sb2FkQXR0cmlidXRlV2l0aFNsYXNoZXMpCiB7CiAgICAg
V0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFV0aWw6OmNyZWF0ZUNv
bnRleHRXaXRoSW5qZWN0ZWRCdW5kbGUoKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L21hYy9FZGl0b3JDb21tYW5kcy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9tYWMvRWRpdG9yQ29tbWFuZHMubW0JKHJldmlzaW9u
IDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21hYy9FZGl0b3JD
b21tYW5kcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBzdGF0aWMgdm9pZCBk
aWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlCiAgICAgZGlkRmluaXNoTG9hZCA9IHRydWU7CiB9
CiAKLVRFU1QoV2ViS2l0MiwgU2Nyb2xsQnlMaW5lQ29tbWFuZHMpCitURVNUKFdlYktpdCwgU2Ny
b2xsQnlMaW5lQ29tbWFuZHMpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250
ZXh0KEFkb3B0V0ssIFV0aWw6OmNyZWF0ZUNvbnRleHRXaXRoSW5qZWN0ZWRCdW5kbGUoKSk7CiAK
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21hYy9HZXRCYWNraW5nU2Nh
bGVGYWN0b3IubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvbWFjL0dldEJhY2tpbmdTY2FsZUZhY3Rvci5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvbWFjL0dldEJhY2tpbmdTY2FsZUZhY3Rvci5t
bQkod29ya2luZyBjb3B5KQpAQCAtNjMsNyArNjMsNyBAQCBzdGF0aWMgUmV0YWluUHRyPFN5bnRo
ZXRpY0JhY2tpbmdTY2FsZUZhCiAgICAgcmV0dXJuIHdpbmRvdzsKIH0KIAotVEVTVChXZWJLaXQy
LCBHZXRCYWNraW5nU2NhbGVGYWN0b3IpCitURVNUKFdlYktpdCwgR2V0QmFja2luZ1NjYWxlRmFj
dG9yKQogewogICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0V0so
VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiR2V0QmFja2luZ1NjYWxl
RmFjdG9yVGVzdCIpKTsKICAgICBzZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LmdldCgp
KTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21hYy9HZXRQSURBZnRl
ckFib3J0ZWRQcm9jZXNzTGF1bmNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9tYWMvR2V0UElEQWZ0ZXJBYm9ydGVkUHJvY2Vzc0xhdW5jaC5jcHAJ
KHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21h
Yy9HZXRQSURBZnRlckFib3J0ZWRQcm9jZXNzTGF1bmNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDAsNyArNDAsNyBAQCBzdGF0aWMgdm9pZCBkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlCiAg
ICAgbG9hZGVkID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQyLCBHZXRQSURBZnRlckFib3J0ZWRQ
cm9jZXNzTGF1bmNoKQorVEVTVChXZWJLaXQsIEdldFBJREFmdGVyQWJvcnRlZFByb2Nlc3NMYXVu
Y2gpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFdL
Q29udGV4dENyZWF0ZSgpKTsKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvbWFjL0luamVjdGVkQnVuZGxlQXBwbGVFdmVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvbWFjL0luamVjdGVkQnVuZGxlQXBwbGVFdmVudC5j
cHAJKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L21hYy9JbmplY3RlZEJ1bmRsZUFwcGxlRXZlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw3
ICs2NSw3IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS1BhZ2UKICAgICAg
ICAgZG9uZSA9IHRydWU7CiB9CiAKLVRFU1QoV2ViS2l0MiwgSW5qZWN0ZWRCdW5kbGVBcHBsZUV2
ZW50KQorVEVTVChXZWJLaXQsIEluamVjdGVkQnVuZGxlQXBwbGVFdmVudCkKIHsKICAgICBXS1Jl
dGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgVXRpbDo6Y3JlYXRlQ29udGV4
dEZvckluamVjdGVkQnVuZGxlVGVzdCgiSW5qZWN0ZWRCdW5kbGVBcHBsZUV2ZW50VGVzdCIpKTsK
IApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvbWFjL1Jlc3RvcmVTdGF0
ZUFmdGVyVGVybWluYXRpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvbWFjL1Jlc3RvcmVTdGF0ZUFmdGVyVGVybWluYXRpb24ubW0JKHJldmlzaW9u
IDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L21hYy9SZXN0b3Jl
U3RhdGVBZnRlclRlcm1pbmF0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02OSw3ICs2OSw3IEBA
IHN0YXRpYyB2b2lkIGRpZENyYXNoKFdLUGFnZVJlZiBwYWdlLCBjb24KICAgICBFWFBFQ1RfVFJV
RShsb2FkQmVmb3JlQ3Jhc2gpOwogfQogCi1URVNUKFdlYktpdDIsIFJlc3RvcmVTdGF0ZUFmdGVy
VGVybWluYXRpb24pCitURVNUKFdlYktpdCwgUmVzdG9yZVN0YXRlQWZ0ZXJUZXJtaW5hdGlvbikK
IHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250
ZXh0Q3JlYXRlKCkpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkp
OwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BZGRpdGlvbmFs
UmVhZEFjY2Vzc0FsbG93ZWRVUkxzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvQWRkaXRpb25hbFJlYWRBY2Nlc3NBbGxvd2VkVVJMcy5tbQko
cmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9BZGRpdGlvbmFsUmVhZEFjY2Vzc0FsbG93ZWRVUkxzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00
MSw3ICs0MSw3IEBACiAKIHN0YXRpYyBib29sIGRvbmU7CiAKLVRFU1QoV2ViS2l0MiwgQWRkaXRp
b25hbFJlYWRBY2Nlc3NBbGxvd2VkVVJMcykKK1RFU1QoV2ViS2l0LCBBZGRpdGlvbmFsUmVhZEFj
Y2Vzc0FsbG93ZWRVUkxzKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9u
PiBjb25maWd1cmF0aW9uID0gcmV0YWluUHRyKFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0
X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIkFkZGl0aW9uYWxSZWFkQWNj
ZXNzQWxsb3dlZFVSTHNQbHVnSW4iXSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvQWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQWx3YXlzUmV2YWxpZGF0
ZWRVUkxTY2hlbWVzLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0Fsd2F5c1JldmFsaWRhdGVkVVJMU2NoZW1lcy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCAtICh2b2lkKXN0b3BMb2FkaW5nCiAKIEBlbmQKIAot
VEVTVChXZWJLaXQyLCBBbHdheXNSZXZhbGlkYXRlZFVSTFNjaGVtZXMpCitURVNUKFdlYktpdCwg
QWx3YXlzUmV2YWxpZGF0ZWRVUkxTY2hlbWVzKQogewogICAgIEBhdXRvcmVsZWFzZXBvb2wgewog
ICAgICAgICBbTlNVUkxQcm90b2NvbCByZWdpc3RlckNsYXNzOltBbHdheXNSZXZhbGlkYXRlZFVS
TFNjaGVtZVByb3RvY29sIGNsYXNzXV07CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL0FuaW1hdGVkUmVzaXplLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQW5pbWF0ZWRSZXNpemUubW0JKHJldmlzaW9uIDIy
MTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQW5pbWF0ZWRS
ZXNpemUubW0JKHdvcmtpbmcgY29weSkKQEAgLTg1LDcgKzg1LDcgQEAgc3RhdGljIFJldGFpblB0
cjxUZXN0TmF2aWdhdGlvbkRlbGVnYXRlPgogICAgIHJldHVybiBuYXZpZ2F0aW9uRGVsZWdhdGU7
CiB9CiAKLVRFU1QoV2ViS2l0MiwgRElTQUJMRURfUmVzaXplV2l0aEhpZGRlbkNvbnRlbnREb2Vz
Tm90SGFuZykKK1RFU1QoV2ViS2l0LCBESVNBQkxFRF9SZXNpemVXaXRoSGlkZGVuQ29udGVudERv
ZXNOb3RIYW5nKQogewogICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZUFuaW1hdGVkUmVzaXplV2Vi
VmlldygpOwogICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdp
dGhVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAImJsaW5raW5nLWRp
diIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVz
b3VyY2VzIl1dXTsKQEAgLTEwOSw3ICsxMDksNyBAQCBURVNUKFdlYktpdDIsIERJU0FCTEVEX1Jl
c2l6ZVdpdGhIaWRkZW5DCiAgICAgfQogfQogCi1URVNUKFdlYktpdDIsIEFuaW1hdGVkUmVzaXpl
RG9lc05vdEhhbmcpCitURVNUKFdlYktpdCwgQW5pbWF0ZWRSZXNpemVEb2VzTm90SGFuZykKIHsK
ICAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVBbmltYXRlZFJlc2l6ZVdlYlZpZXcoKTsKICAgICBb
d2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5k
bGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJibGlua2luZy1kaXYiIHdpdGhFeHRlbnNp
b246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdXV07CkBA
IC0xMzcsNyArMTM3LDcgQEAgVEVTVChXZWJLaXQyLCBBbmltYXRlZFJlc2l6ZURvZXNOb3RIYW5n
KQogICAgIH0KIH0KIAotVEVTVChXZWJLaXQyLCBBbmltYXRlZFJlc2l6ZUJsb2Nrc1ZpZXdwb3J0
Rml0Q2hhbmdlcykKK1RFU1QoV2ViS2l0LCBBbmltYXRlZFJlc2l6ZUJsb2Nrc1ZpZXdwb3J0Rml0
Q2hhbmdlcykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVBbmltYXRlZFJlc2l6ZVdlYlZp
ZXcoKTsKICAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOndlYlZpZXcuZ2V0KCldOwpAQCAtMTg0
LDcgKzE4NCw3IEBAIFRFU1QoV2ViS2l0MiwgQW5pbWF0ZWRSZXNpemVCbG9ja3NWaWV3cG8KICAg
ICBFWFBFQ1RfVFJVRShkaWRDaGFuZ2VTYWZlQXJlYVNob3VsZEFmZmVjdE9ic2N1cmVkSW5zZXRz
KTsKIH0KIAotVEVTVChXZWJLaXQyLCBPdmVycmlkZUxheW91dFNpemVDaGFuZ2VzRHVyaW5nQW5p
bWF0ZWRSZXNpemVTdWNjZWVkKQorVEVTVChXZWJLaXQsIE92ZXJyaWRlTGF5b3V0U2l6ZUNoYW5n
ZXNEdXJpbmdBbmltYXRlZFJlc2l6ZVN1Y2NlZWQpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gY3Jl
YXRlQW5pbWF0ZWRSZXNpemVXZWJWaWV3KCk7CiAgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTp3
ZWJWaWV3LmdldCgpXTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXV0b0xheW91dEludGVncmF0aW9uLm1tCShyZXZpc2lv
biAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0F1dG9M
YXlvdXRJbnRlZ3JhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzExOCw3IEBAIC0g
KHZvaWQpaW52YWxpZGF0ZUludHJpbnNpY0NvbnRlbnRTaXplCiAKIEBlbmQKIAotVEVTVChXZWJL
aXQyLCBBdXRvTGF5b3V0SW50ZWdyYXRpb24pCitURVNUKFdlYktpdCwgQXV0b0xheW91dEludGVn
cmF0aW9uKQogewogICAgIFJldGFpblB0cjxBdXRvTGF5b3V0V0tXZWJWaWV3PiB3ZWJWaWV3ID0g
YWRvcHROUyhbW0F1dG9MYXlvdXRXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtl
UmVjdCgwLCAwLCAxMDAwLCAxMDAwKV0pOwogCkBAIC0xNzMsNyArMTczLDcgQEAgVEVTVChXZWJL
aXQyLCBBdXRvTGF5b3V0SW50ZWdyYXRpb24pCiAgICAgW3dlYlZpZXcgX3NldFNob3VsZEV4cGFu
ZENvbnRlbnRUb1ZpZXdIZWlnaHRGb3JBdXRvTGF5b3V0Ok5PXTsKIH0KIAotVEVTVChXZWJLaXQy
LCBBdXRvTGF5b3V0UmVuZGVyaW5nUHJvZ3Jlc3NSZWxhdGl2ZU9yZGVyaW5nKQorVEVTVChXZWJL
aXQsIEF1dG9MYXlvdXRSZW5kZXJpbmdQcm9ncmVzc1JlbGF0aXZlT3JkZXJpbmcpCiB7CiAgICAg
UmV0YWluUHRyPEF1dG9MYXlvdXRXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbQXV0b0xh
eW91dFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEwMDAs
IDEwMDApXSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvQnVuZGxlRWRpdGluZ0RlbGVnYXRlLm1tCShyZXZpc2lvbiAy
MjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0J1bmRsZUVk
aXRpbmdEZWxlZ2F0ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzEsNyArNzEsNyBAQCAtICh2b2lk
KWRpZFdyaXRlVG9QYXN0ZWJvYXJkCiAKIEBlbmQKIAotVEVTVChXZWJLaXQyLCBXS1dlYlByb2Nl
c3NQbHVnSW5FZGl0aW5nRGVsZWdhdGUpCitURVNUKFdlYktpdCwgV0tXZWJQcm9jZXNzUGx1Z0lu
RWRpdGluZ0RlbGVnYXRlKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9u
PiBjb25maWd1cmF0aW9uID0gcmV0YWluUHRyKFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0
X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIkJ1bmRsZUVkaXRpbmdEZWxl
Z2F0ZVBsdWdJbiJdKTsKICAgICBbW2NvbmZpZ3VyYXRpb24gcHJvY2Vzc1Bvb2xdIF9zZXRPYmpl
Y3Q6W05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSBmb3JCdW5kbGVQYXJhbWV0ZXI6QCJFZGl0
aW5nRGVsZWdhdGVTaG91bGRJbnNlcnRUZXh0Il07CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0J1bmRsZVBhcmFtZXRlcnMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9CdW5kbGVQYXJhbWV0ZXJzLm1tCShy
ZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L0J1bmRsZVBhcmFtZXRlcnMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDcgQEAKIAog
c3RhdGljIGJvb2wgaXNEb25lOwogCi1URVNUKFdlYktpdDIsIEJ1bmRsZVBhcmFtZXRlcnMpCitU
RVNUKFdlYktpdCwgQnVuZGxlUGFyYW1ldGVycykKIHsKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsK
ICAgICAgICAgTlNTdHJpbmcgKiBjb25zdCB0ZXN0UGx1Z0luQ2xhc3NOYW1lID0gQCJCdW5kbGVQ
YXJhbWV0ZXJzUGx1Z0luIjsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvQnVuZGxlUmFuZ2VIYW5kbGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9CdW5kbGVSYW5nZUhhbmRsZS5tbQkocmV2aXNpb24gMjIx
NDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9CdW5kbGVSYW5n
ZUhhbmRsZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQCAtICh2b2lkKWJvZHlJ
bm5lckhUTUxBZnRlckRldGVjdGluZ0RhdGE6CiBAZW5kCiAKIC8vIEZJWE1FOiBSZS1lbmFibGUg
dGhpcyB0ZXN0IG9uY2Ugd2Via2l0Lm9yZy9iLzE2NzU5NCBpcyBmaXhlZC4KLVRFU1QoV2ViS2l0
MiwgRElTQUJMRURfV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUpCitURVNUKFdlYktpdCwg
RElTQUJMRURfV0tXZWJQcm9jZXNzUGx1Z0luUmFuZ2VIYW5kbGUpCiB7CiAgICAgUmV0YWluUHRy
PFdLV2ViVmlld0NvbmZpZ3VyYXRpb24+IGNvbmZpZ3VyYXRpb24gPSByZXRhaW5QdHIoW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NO
YW1lOkAiQnVuZGxlUmFuZ2VIYW5kbGVQbHVnSW4iXSk7CiAgICAgUmV0YWluUHRyPFdLV2ViVmll
dz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgp
XSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0Nvb2tpZUFj
Y2VwdFBvbGljeS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL0Nvb2tpZUFjY2VwdFBvbGljeS5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Db29raWVBY2NlcHRQb2xpY3kubW0J
KHdvcmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDcgQEAgLSAodm9pZCl1c2VyQ29udGVudENvbnRy
b2xsZXI6KFdLVXNlckNvbgogCiBAZW5kCiAKLVRFU1QoV2ViS2l0MiwgQ29va2llQWNjZXB0UG9s
aWN5KQorVEVTVChXZWJLaXQsIENvb2tpZUFjY2VwdFBvbGljeSkKIHsKICAgICBhdXRvIG9yaWdp
bmFsQ29va2llQWNjZXB0UG9saWN5ID0gW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBD
b29raWVTdG9yYWdlXSBjb29raWVBY2NlcHRQb2xpY3ldOwogICAgIApJbmRleDogVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRGF0YURldGVjdGlvbi5t
bQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9EYXRhRGV0ZWN0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIHZv
aWQgZXhwZWN0TGlua0NvdW50KFdLV2ViVmlldyAqd2ViVmlldywKIH0KIAogLy8gRklYTUU6IFJl
LWVuYWJsZSB0aGlzIHRlc3Qgb25jZSB3ZWJraXQub3JnL2IvMTYxOTY3IGlzIGZpeGVkLgotVEVT
VChXZWJLaXQyLCBESVNBQkxFRF9EYXRhRGV0ZWN0aW9uUmVmZXJlbmNlRGF0ZSkKK1RFU1QoV2Vi
S2l0LCBESVNBQkxFRF9EYXRhRGV0ZWN0aW9uUmVmZXJlbmNlRGF0ZSkKIHsKICAgICBSZXRhaW5Q
dHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dl
YlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0
RGF0YURldGVjdG9yVHlwZXM6V0tEYXRhRGV0ZWN0b3JUeXBlQ2FsZW5kYXJFdmVudF07CkluZGV4
OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9EZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uLm1tCShyZXZpc2lv
biAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0RlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzcz
LDcgQEAgLSAoV0tXZWJWaWV3ICopd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVgogCiBAZW5kCiAK
LVRFU1QoV2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvblJlbG9hZCkKK1RF
U1QoV2ViS2l0LCBEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uUmVsb2FkKQogewogICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKIApAQCAtMTAzLDcgKzEwMyw3IEBAIFRFU1Qo
V2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkEKICAgICBhY3Rpb24gPSBudWxscHRy
OwogfQogCi1URVNUKFdlYktpdDIsIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25SZWxv
YWRGcm9tT3JpZ2luKQorVEVTVChXZWJLaXQsIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b25SZWxvYWRGcm9tT3JpZ2luKQogewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsK
IApAQCAtMTMzLDcgKzEzMyw3IEBAIFRFU1QoV2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkEKICAgICBhY3Rpb24gPSBudWxscHRyOwogfQogCi1URVNUKFdlYktpdDIsIERlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb25Hb0JhY2spCitURVNUKFdlYktpdCwgRGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbkdvQmFjaykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5T
KFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2
MDApXSk7CiAKQEAgLTE2Nyw3ICsxNjcsNyBAQCBURVNUKFdlYktpdDIsIERlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BCiAgICAgYWN0aW9uID0gbnVsbHB0cjsKIH0KIAotVEVTVChXZWJLaXQyLCBE
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uR29Gb3J3YXJkKQorVEVTVChXZWJLaXQsIERl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25Hb0ZvcndhcmQpCiB7CiAgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKV0pOwogCkBAIC0yMDUsNyArMjA1LDcgQEAgVEVTVChXZWJLaXQyLCBE
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQQogICAgIGFjdGlvbiA9IG51bGxwdHI7CiB9CiAKLVRF
U1QoV2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbk9wZW5OZXdXaW5kb3dB
bmREZWFsbG9jU291cmNlV2ViVmlldykKK1RFU1QoV2ViS2l0LCBEZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uT3Blbk5ld1dpbmRvd0FuZERlYWxsb2NTb3VyY2VXZWJWaWV3KQogewogICAg
IGF1dG8gY29udHJvbGxlciA9IGFkb3B0TlMoW1tEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uQ29udHJvbGxlciBhbGxvY10gaW5pdF0pOwogCkBAIC0yMzYsNyArMjM2LDcgQEAgVEVTVChX
ZWJLaXQyLCBEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQQogICAgIGFjdGlvbiA9IG51bGxwdHI7
CiB9CiAKLVRFU1QoV2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkZvclRh
cmdldGVkSHlwZXJsaW5rKQorVEVTVChXZWJLaXQsIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb25Gb3JUYXJnZXRlZEh5cGVybGluaykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5T
KFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2
MDApXSk7CiAKQEAgLTI4NSw3ICsyODUsNyBAQCBURVNUKFdlYktpdDIsIERlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BCiAgICAgYWN0aW9uID0gbnVsbHB0cjsKIH0KIAotVEVTVChXZWJLaXQyLCBE
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uRm9yVGFyZ2V0ZWRXaW5kb3dPcGVuKQorVEVT
VChXZWJLaXQsIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25Gb3JUYXJnZXRlZFdpbmRv
d09wZW4pCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOwogCkBAIC0zMzQsNyAr
MzM0LDcgQEAgVEVTVChXZWJLaXQyLCBEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQQogICAgIGFj
dGlvbiA9IG51bGxwdHI7CiB9CiAKLVRFU1QoV2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbkZvclRhcmdldGVkRm9ybVN1Ym1pc3Npb24pCitURVNUKFdlYktpdCwgRGVjaWRl
UG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkZvclRhcmdldGVkRm9ybVN1Ym1pc3Npb24pCiB7CiAg
ICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOwogCkBAIC0zODIsNyArMzgyLDcgQEAgVEVT
VChXZWJLaXQyLCBEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQQogICAgIGFjdGlvbiA9IG51bGxw
dHI7CiB9CiAKLVRFU1QoV2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkZv
ckh5cGVybGlua1RoYXRSZWRpcmVjdHMpCitURVNUKFdlYktpdCwgRGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbkZvckh5cGVybGlua1RoYXRSZWRpcmVjdHMpCiB7CiAgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKV0pOwogCkBAIC00MzIsNyArNDMyLDcgQEAgVEVTVChXZWJLaXQyLCBE
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQQogICAgIGFjdGlvbiA9IG51bGxwdHI7CiB9CiAKLVRF
U1QoV2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkZvclBPU1RGb3JtU3Vi
bWlzc2lvblRoYXRSZWRpcmVjdHNUb0dFVCkKK1RFU1QoV2ViS2l0LCBEZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uRm9yUE9TVEZvcm1TdWJtaXNzaW9uVGhhdFJlZGlyZWN0c1RvR0VUKQog
ewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKIApAQCAtNDc5LDcgKzQ3OSw3IEBA
IFRFU1QoV2ViS2l0MiwgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkEKICAgICBhY3Rpb24gPSBu
dWxscHRyOwogfQogCi1URVNUKFdlYktpdDIsIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b25Gb3JQT1NURm9ybVN1Ym1pc3Npb25UaGF0UmVkaXJlY3RzVG9QT1NUKQorVEVTVChXZWJLaXQs
IERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25Gb3JQT1NURm9ybVN1Ym1pc3Npb25UaGF0
UmVkaXJlY3RzVG9QT1NUKQogewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKIApJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZUFmdGVyQ3Jhc2gubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Eb0FmdGVyTmV4dFByZXNlbnRhdGlvblVwZGF0ZUFm
dGVyQ3Jhc2gubW0JKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvRG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGVBZnRlckNyYXNoLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiAKICNpZiBQTEFURk9STShJT1MpICYm
IFdLX0FQSV9FTkFCTEVECiAKLVRFU1QoV2ViS2l0MiwgRG9BZnRlck5leHRQcmVzZW50YXRpb25V
cGRhdGVBZnRlckNyYXNoKQorVEVTVChXZWJLaXQsIERvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBk
YXRlQWZ0ZXJDcmFzaCkKIHsKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRv
cHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEw
MCwgMTAwKV0pOwogCkBAIC01Myw3ICs1Myw3IEBAIFRFU1QoV2ViS2l0MiwgRG9BZnRlck5leHRQ
cmVzZW50YXRpb25VcGQKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmdvdENhbGxiYWNr
KTsKIH0KIAotVEVTVChXZWJLaXQyLCBEb0FmdGVyTmV4dFN0YWJsZVByZXNlbnRhdGlvblVwZGF0
ZUFmdGVyQ3Jhc2gpCitURVNUKFdlYktpdCwgRG9BZnRlck5leHRTdGFibGVQcmVzZW50YXRpb25V
cGRhdGVBZnRlckNyYXNoKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
MTAwLCAxMDApXSk7CiAgICAgCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9EdXBsaWNhdGVDb21wbGV0aW9u
SGFuZGxlckNhbGxzLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL0R1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTEyMyw3ICsxMjMsNyBAQCAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IHdpCiAKIEBlbmQKIAotVEVTVChXZWJLaXQyLCBEdXBsaWNhdGVDb21wbGV0
aW9uSGFuZGxlckNhbGxzKQorVEVTVChXZWJLaXQsIER1cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVy
Q2FsbHMpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKV0pOwogICAgIGF1dG8gZGVs
ZWdhdGUgPSBhZG9wdE5TKFtbRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxsc0RlbGVnYXRl
IGFsbG9jXSBpbml0XSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL0ZpbmRJblBhZ2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9GaW5kSW5QYWdlLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0ZpbmRJblBhZ2UubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTc2LDcgKzc2LDcgQEAgc3RhdGljIEZpbmRSZXN1bHQgZmluZE1hdGNoZXMoV0tXZWJW
aWV3IAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVRFU1QoV2ViS2l0MiwgRmluZEluUGFnZSkK
K1RFU1QoV2ViS2l0LCBGaW5kSW5QYWdlKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdl
YlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgMjAwLCAyMDApXSk7CiAgICAgW3dlYlZpZXcgX3NldE92ZXJyaWRlRGV2aWNlU2Nh
bGVGYWN0b3I6Ml07CkBAIC0xMjYsNyArMTI2LDcgQEAgVEVTVChXZWJLaXQyLCBGaW5kSW5QYWdl
KQogICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikxMDAwLCBbcmVzdWx0Lm1hdGNoZXMgY291bnRd
KTsKIH0KIAotVEVTVChXZWJLaXQyLCBGaW5kSW5QYWdlV3JhcHBpbmcpCitURVNUKFdlYktpdCwg
RmluZEluUGFnZVdyYXBwaW5nKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcg
PSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwg
MCwgMTAwLCAxMDApXSk7CiAgICAgW3dlYlZpZXcgX3NldE92ZXJyaWRlRGV2aWNlU2NhbGVGYWN0
b3I6Ml07CkBAIC0xNTQsNyArMTU0LDcgQEAgVEVTVChXZWJLaXQyLCBGaW5kSW5QYWdlV3JhcHBp
bmcpCiAgICAgRVhQRUNUX1RSVUUocmVzdWx0LmRpZFdyYXApOwogfQogCi1URVNUKFdlYktpdDIs
IEZpbmRJblBhZ2VXcmFwcGluZ0Rpc2FibGVkKQorVEVTVChXZWJLaXQsIEZpbmRJblBhZ2VXcmFw
cGluZ0Rpc2FibGVkKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9w
dE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMTAw
LCAxMDApXSk7CiAgICAgW3dlYlZpZXcgX3NldE92ZXJyaWRlRGV2aWNlU2NhbGVGYWN0b3I6Ml07
CkBAIC0xNzcsNyArMTc3LDcgQEAgVEVTVChXZWJLaXQyLCBGaW5kSW5QYWdlV3JhcHBpbmdEaXNh
YmxlZAogICAgIEVYUEVDVF9GQUxTRShyZXN1bHQuZGlkV3JhcCk7CiB9CiAKLVRFU1QoV2ViS2l0
MiwgRmluZEluUGFnZVdyYXBwaW5nU3ViZnJhbWUpCitURVNUKFdlYktpdCwgRmluZEluUGFnZVdy
YXBwaW5nU3ViZnJhbWUpCiB7CiAgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9IGFk
b3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCAx
MDAsIDEwMCldKTsKICAgICBbd2ViVmlldyBfc2V0T3ZlcnJpZGVEZXZpY2VTY2FsZUZhY3Rvcjoy
XTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvRml4ZWRMYXlv
dXRTaXplLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvRml4ZWRMYXlvdXRTaXplLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0ZpeGVkTGF5b3V0U2l6ZS5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzcsNyArMzcsNyBAQCBzdGF0aWMgYm9vbCBmaXhlZExheW91dFNpemVEb25lOwog
c3RhdGljIGJvb2wgZml4ZWRMYXlvdXRTaXplQWZ0ZXJOYXZpZ2F0aW9uRG9uZTsKIHN0YXRpYyBi
b29sIGZpeGVkTGF5b3V0U2l6ZURpc2FibGVkRG9uZTsKIAotVEVTVChXZWJLaXQyLCBGaXhlZExh
eW91dFNpemUpCitURVNUKFdlYktpdCwgRml4ZWRMYXlvdXRTaXplKQogewogICAgIFJldGFpblB0
cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMTAwLCAxMDApXSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvR2VvbG9jYXRpb24ubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9HZW9sb2NhdGlvbi5tbQkocmV2
aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9H
ZW9sb2NhdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMTQzLDcgKzE0Myw3IEBAIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJIHsKIC8vIHZpZXcuIFdpdGhvdXQgdGhpcywgdGhlIHdlYiBwcm9jZXNz
IHdvdWxkIHdhaXQgdW50aWwgdGhlIHBhZ2UgaXMgdmlzaWJsZSBiZWZvcmUgc2VuZGluZwogLy8g
dGhlIHJlcXVlc3RzIHRvIHRoZSBVSSBwcm9jZXNzLgogCi1URVNUKFdlYktpdDIsIEdlb2xvY2F0
aW9uRGVuaWVkQnlMb2NhdGlvblByb3ZpZGVyKQorVEVTVChXZWJLaXQsIEdlb2xvY2F0aW9uRGVu
aWVkQnlMb2NhdGlvblByb3ZpZGVyKQogewogICAgIGF1dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0TlMo
W1tHZW9sb2NhdGlvblRlc3RVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byBjb3Jl
TG9jYXRpb25Qcm92aWRlciA9IGFkb3B0TlMoW1tUZXN0Q29yZUxvY2F0aW9uUHJvdmlkZXIgYWxs
b2NdIGluaXRdKTsKQEAgLTE2Nyw3ICsxNjcsNyBAQCBURVNUKFdlYktpdDIsIEdlb2xvY2F0aW9u
RGVuaWVkQnlMb2NhdGlvCiAgICAgRVhQRUNUX0ZBTFNFKHVpRGVsZWdhdGUuZ2V0KCkuYXV0aG9y
aXphdGlvbldhc1JlcXVlc3RlZCk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgR2VvbG9jYXRpb25EZW5p
ZWRCeUFQSSkKK1RFU1QoV2ViS2l0LCBHZW9sb2NhdGlvbkRlbmllZEJ5QVBJKQogewogICAgIGF1
dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0TlMoW1tHZW9sb2NhdGlvblRlc3RVSURlbGVnYXRlIGFsbG9j
XSBpbml0XSk7CiAgICAgYXV0byBjb3JlTG9jYXRpb25Qcm92aWRlciA9IGFkb3B0TlMoW1tUZXN0
Q29yZUxvY2F0aW9uUHJvdmlkZXIgYWxsb2NdIGluaXRdKTsKQEAgLTE5MSw3ICsxOTEsNyBAQCBU
RVNUKFdlYktpdDIsIEdlb2xvY2F0aW9uRGVuaWVkQnlBUEkpCiAgICAgRVhQRUNUX1RSVUUodWlE
ZWxlZ2F0ZS5nZXQoKS5hdXRob3JpemF0aW9uV2FzUmVxdWVzdGVkKTsKIH0KIAotVEVTVChXZWJL
aXQyLCBHZW9sb2NhdGlvbkFsbG93ZWRCeUFQSSkKK1RFU1QoV2ViS2l0LCBHZW9sb2NhdGlvbkFs
bG93ZWRCeUFQSSkKIHsKICAgICBhdXRvIHVpRGVsZWdhdGUgPSBhZG9wdE5TKFtbR2VvbG9jYXRp
b25UZXN0VUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIGF1dG8gY29yZUxvY2F0aW9uUHJv
dmlkZXIgPSBhZG9wdE5TKFtbVGVzdENvcmVMb2NhdGlvblByb3ZpZGVyIGFsbG9jXSBpbml0XSk7
CkBAIC0yMTUsNyArMjE1LDcgQEAgVEVTVChXZWJLaXQyLCBHZW9sb2NhdGlvbkFsbG93ZWRCeUFQ
SSkKICAgICBFWFBFQ1RfVFJVRSh1aURlbGVnYXRlLmdldCgpLmF1dGhvcml6YXRpb25XYXNSZXF1
ZXN0ZWQpOwogfQogCi1URVNUKFdlYktpdDIsIEdlb2xvY2F0aW9uRXJyb3IpCitURVNUKFdlYktp
dCwgR2VvbG9jYXRpb25FcnJvcikKIHsKICAgICBhdXRvIHVpRGVsZWdhdGUgPSBhZG9wdE5TKFtb
R2VvbG9jYXRpb25UZXN0VUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIGF1dG8gY29yZUxv
Y2F0aW9uUHJvdmlkZXIgPSBhZG9wdE5TKFtbVGVzdENvcmVMb2NhdGlvblByb3ZpZGVyIGFsbG9j
XSBpbml0XSk7CkBAIC0yNDAsNyArMjQwLDcgQEAgVEVTVChXZWJLaXQyLCBHZW9sb2NhdGlvbkVy
cm9yKQogICAgIEVYUEVDVF9UUlVFKHVpRGVsZWdhdGUuZ2V0KCkuYXV0aG9yaXphdGlvbldhc1Jl
cXVlc3RlZCk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgRHVwbGljYXRlR2VvbG9jYXRpb25BdXRob3Jp
emF0aW9uQ2FsbGJhY2tDYWxscykKK1RFU1QoV2ViS2l0LCBEdXBsaWNhdGVHZW9sb2NhdGlvbkF1
dGhvcml6YXRpb25DYWxsYmFja0NhbGxzKQogewogICAgIGF1dG8gdWlEZWxlZ2F0ZSA9IGFkb3B0
TlMoW1tHZW9sb2NhdGlvblRlc3RVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byBj
b3JlTG9jYXRpb25Qcm92aWRlciA9IGFkb3B0TlMoW1tUZXN0Q29yZUxvY2F0aW9uUHJvdmlkZXIg
YWxsb2NdIGluaXRdKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvSW50ZXJhY3Rpb25EZWFkbG9ja0FmdGVyQ3Jhc2gubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbnRlcmFjdGlvbkRlYWRsb2NrQWZ0ZXJD
cmFzaC5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9JbnRlcmFjdGlvbkRlYWRsb2NrQWZ0ZXJDcmFzaC5tbQkod29ya2luZyBjb3B5
KQpAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgVUlHZXN0dXJlUmVjb2duaXplciAqcmVjdXJzaXZl
RmluCiAgICAgcmV0dXJuIG5pbDsKIH0KIAotVEVTVChXZWJLaXQyLCBJbnRlcmFjdGlvbkRlYWRs
b2NrQWZ0ZXJDcmFzaCkKK1RFU1QoV2ViS2l0LCBJbnRlcmFjdGlvbkRlYWRsb2NrQWZ0ZXJDcmFz
aCkKIHsKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlv
biA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAKSW5k
ZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTG9hZERhdGFXaXRoTmls
TUlNRVR5cGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9Mb2FkRGF0YVdpdGhOaWxNSU1FVHlwZS5tbQkocmV2aXNpb24gMjIxNDY3KQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Mb2FkRGF0YVdpdGhOaWxNSU1F
VHlwZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2ltcG9ydCA8V2ViS2l0
L1dlYktpdC5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi1URVNUKFdlYktpdDIsIExv
YWREYXRhV2l0aE5pbE1JTUVUeXBlKQorVEVTVChXZWJLaXQsIExvYWREYXRhV2l0aE5pbE1JTUVU
eXBlKQogewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGlu
aXRXaXRoRnJhbWU6TlNaZXJvUmVjdF0pOwogICAgIE5TU3RyaW5nICptaW1lVHlwZSA9IG5pbDsK
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTG9hZEludmFsaWRV
UkxSZXF1ZXN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvTG9hZEludmFsaWRVUkxSZXF1ZXN0Lm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0xvYWRJbnZhbGlkVVJMUmVxdWVz
dC5tbQkod29ya2luZyBjb3B5KQpAQCAtNjYsNyArNjYsNyBAQCAtICh2b2lkKXdlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgZGlkCiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAotVEVT
VChXZWJLaXQyLCBMb2FkSW52YWxpZFVSTFJlcXVlc3QpCitURVNUKFdlYktpdCwgTG9hZEludmFs
aWRVUkxSZXF1ZXN0KQogewogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBSZXRhaW5Q
dHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOwpJbmRleDogVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Nb2RhbEFsZXJ0cy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01vZGFsQWxlcnRzLm1tCShyZXZp
c2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01v
ZGFsQWxlcnRzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNyArMTI5LDcgQEAgLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBydQogCiBAZW5kCiAKLVRFU1QoV2ViS2l0Miwg
TW9kYWxBbGVydHMpCitURVNUKFdlYktpdCwgTW9kYWxBbGVydHMpCiB7CiAgICAgUmV0YWluUHRy
PFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKIApJbmRleDogVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9OU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTlNGaWxlTWFuYWdl
ckV4dHJhcy5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9OU0ZpbGVNYW5hZ2VyRXh0cmFzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00
MCw3ICs0MCw3IEBAIHN0YXRpYyB2b2lkIGV4cGVjdEF0dHJpYnV0ZXMoTlNEaWN0aW9uYXIKICAg
ICBFWFBFQ1RfV0tfU1RSRVEoZXhwZWN0ZWRGaWxlVHlwZSwgYXR0cmlidXRlc1tOU0ZpbGVUeXBl
XSk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgX1dLTlNGaWxlTWFuYWdlckV4dHJhcykKK1RFU1QoV2Vi
S2l0LCBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzKQogewogICAgIE5TU3RyaW5nICpmaWxlTmFtZSA9
IEAidGVzdC5wZGYiOwogICAgIE5TRmlsZU1hbmFnZXIgKmZpbGVNYW5hZ2VyID0gW05TRmlsZU1h
bmFnZXIgZGVmYXVsdE1hbmFnZXJdOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9PYnNlcnZlZFJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzQWZ0ZXJDcmFzaC5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL09ic2Vy
dmVkUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNBZnRlckNyYXNoLm1tCShyZXZpc2lvbiAyMjE0Njcp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL09ic2VydmVkUmVuZGVy
aW5nUHJvZ3Jlc3NFdmVudHNBZnRlckNyYXNoLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICsz
Myw3IEBACiAKICNpZiBQTEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECiAKLVRFU1QoV2Vi
S2l0MiwgT2JzZXJ2ZWRSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0FmdGVyQ3Jhc2gpCitURVNUKFdl
YktpdCwgT2JzZXJ2ZWRSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0FmdGVyQ3Jhc2gpCiB7CiAgICAg
X19ibG9jayBib29sIGRvbmUgPSBmYWxzZTsKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmln
dXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL09wZW5BbmRDbG9zZVdpbmRvdy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL09wZW5BbmRDbG9zZVdpbmRvdy5tbQkocmV2aXNpb24gMjIx
NDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9PcGVuQW5kQ2xv
c2VXaW5kb3cubW0JKHdvcmtpbmcgY29weSkKQEAgLTc3LDcgKzc3LDcgQEAgLSAoV0tXZWJWaWV3
ICopd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVgogCiBAZW5kCiAKLVRFU1QoV2ViS2l0MiwgT3Bl
bkFuZENsb3NlV2luZG93KQorVEVTVChXZWJLaXQsIE9wZW5BbmRDbG9zZVdpbmRvdykKIHsKICAg
ICByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAKQEAgLTEzOSw3ICsxMzksNyBAQCAtICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNyCiAKIEBlbmQKIAotVEVTVChXZWJLaXQy
LCBPcGVuQW5kQ2xvc2VXaW5kb3dBc3luYykKK1RFU1QoV2ViS2l0LCBPcGVuQW5kQ2xvc2VXaW5k
b3dBc3luYykKIHsKICAgICByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAKQEAgLTE1Nyw3ICsx
NTcsNyBAQCBURVNUKFdlYktpdDIsIE9wZW5BbmRDbG9zZVdpbmRvd0FzeW5jKQogICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmaXNEb25lKTsKIH0KIAotVEVTVChXZWJLaXQyLCBPcGVuQXN5
bmNXaXRoTmlsKQorVEVTVChXZWJLaXQsIE9wZW5Bc3luY1dpdGhOaWwpCiB7CiAgICAgcmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZSgpOwogCkBAIC0xNzcsNyArMTc3LDcgQEAgVEVTVChXZWJLaXQyLCBP
cGVuQXN5bmNXaXRoTmlsKQogfQogCiAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTcxMDgzIC0gVHJ5IHRvIGZpZ3VyZSBvdXQgd2h5IHRoaXMgZmFpbHMgZm9yIHNv
bWUgY29uZmlncyBidXQgbm90IG90aGVycywgYW5kIHJlc29sdmUuCi0vL1RFU1QoV2ViS2l0Miwg
T3BlbkFuZENsb3NlV2luZG93QXN5bmNDYWxsYmFja0V4Y2VwdGlvbikKKy8vVEVTVChXZWJLaXQs
IE9wZW5BbmRDbG9zZVdpbmRvd0FzeW5jQ2FsbGJhY2tFeGNlcHRpb24pCiAvL3sKIC8vICAgIHJl
c2V0VG9Db25zaXN0ZW50U3RhdGUoKTsKIC8vCkBAIC0yMjgsNyArMjI4LDcgQEAgLSAoV0tXZWJW
aWV3ICopd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVgogCiBAZW5kCiAKLVRFU1QoV2ViS2l0Miwg
T3BlbldpbmRvd0ZlYXR1cmVzKQorVEVTVChXZWJLaXQsIE9wZW5XaW5kb3dGZWF0dXJlcykKIHsK
ICAgICByZXNldFRvQ29uc2lzdGVudFN0YXRlKCk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVmZXJlbmNlcy5tbQkocmV2aXNpb24g
MjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVmZXJl
bmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogI2ltcG9ydCA8V2ViS2l0
L19XS0V4cGVyaW1lbnRhbEZlYXR1cmUuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAot
VEVTVChXZWJLaXQyLCBEZWZhdWx0V0tQcmVmZXJlbmNlcykKK1RFU1QoV2ViS2l0LCBEZWZhdWx0
V0tQcmVmZXJlbmNlcykKIHsKICAgICBSZXRhaW5QdHI8V0tQcmVmZXJlbmNlcz4gcHJlZmVyZW5j
ZXMgPSBhZG9wdE5TKFtbV0tQcmVmZXJlbmNlcyBhbGxvY10gaW5pdF0pOwogCkBAIC00Miw3ICs0
Miw3IEBAIFRFU1QoV2ViS2l0MiwgRGVmYXVsdFdLUHJlZmVyZW5jZXMpCiAgICAgRVhQRUNUX1RS
VUUoW3ByZWZlcmVuY2VzIF9pc1N0YW5kYWxvbmVdKTsKIH0KIAotVEVTVChXZWJLaXQyLCBMb2Fk
c0ltYWdlc0F1dG9tYXRpY2FsbHkpCitURVNUKFdlYktpdCwgTG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5KQogewogICAgIFJldGFpblB0cjxXS1ByZWZlcmVuY2VzPiBwcmVmZXJlbmNlcyA9IGFkb3B0
TlMoW1tXS1ByZWZlcmVuY2VzIGFsbG9jXSBpbml0XSk7CiAKQEAgLTUzLDcgKzUzLDcgQEAgVEVT
VChXZWJLaXQyLCBMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpCiAgICAgRVhQRUNUX1RSVUUoW3By
ZWZlcmVuY2VzIF9sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHldKTsKIH0KIAotVEVTVChXZWJLaXQy
LCBFeHBlcmltZW50YWxGZWF0dXJlcykKK1RFU1QoV2ViS2l0LCBFeHBlcmltZW50YWxGZWF0dXJl
cykKIHsKICAgICBOU0FycmF5ICpmZWF0dXJlcyA9IFtXS1ByZWZlcmVuY2VzIF9leHBlcmltZW50
YWxGZWF0dXJlc107CiAgICAgRVhQRUNUX05PVF9OVUxMKGZlYXR1cmVzKTsKSW5kZXg6IFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZW1v
dGVPYmplY3RSZWdpc3RyeS5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZW1vdGVPYmplY3RSZWdpc3RyeS5tbQkod29ya2luZyBj
b3B5KQpAQCAtNDAsNyArNDAsNyBAQAogCiBzdGF0aWMgYm9vbCBpc0RvbmU7CiAKLVRFU1QoV2Vi
S2l0MiwgUmVtb3RlT2JqZWN0UmVnaXN0cnkpCitURVNUKFdlYktpdCwgUmVtb3RlT2JqZWN0UmVn
aXN0cnkpCiB7CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIE5TU3RyaW5nICogY29u
c3QgdGVzdFBsdWdJbkNsYXNzTmFtZSA9IEAiUmVtb3RlT2JqZWN0UmVnaXN0cnlQbHVnSW4iOwpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZW5kZXJlZEltYWdl
V2l0aE9wdGlvbnMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9SZW5kZXJlZEltYWdlV2l0aE9wdGlvbnMubW0JKHJldmlzaW9uIDIyMTQ2NykK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVuZGVyZWRJbWFnZVdp
dGhPcHRpb25zLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NSwxMiArNjUsMTIgQEAgICAgIGF1dG8g
cmVtb3RlT2JqZWN0ID0gcmV0YWluUHRyKFtbd2ViVgogICAgIFV0aWw6OnJ1bigmdGVzdEZpbmlz
aGVkKTsKIH0KIAotVEVTVChXZWJLaXQyLCBOb2RlSGFuZGxlUmVuZGVyZWRJbWFnZUV4Y2x1ZGlu
Z092ZXJmbG93KQorVEVTVChXZWJLaXQsIE5vZGVIYW5kbGVSZW5kZXJlZEltYWdlRXhjbHVkaW5n
T3ZlcmZsb3cpCiB7CiAgICAgcnVuVGVzdFdpdGhXaWR0aChuaWwsIHsgNzIwLCA1NDAgfSk7CiB9
CiAKLVRFU1QoV2ViS2l0MiwgTm9kZUhhbmRsZVJlbmRlcmVkSW1hZ2VXaXRoV2lkdGgpCitURVNU
KFdlYktpdCwgTm9kZUhhbmRsZVJlbmRlcmVkSW1hZ2VXaXRoV2lkdGgpCiB7CiAgICAgcnVuVGVz
dFdpdGhXaWR0aChAKC0xKSwgeyAwLCAwIH0pOwogICAgIHJ1blRlc3RXaXRoV2lkdGgoQDAsIHsg
MCwgMCB9KTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUnVu
T3BlblBhbmVsLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvUnVuT3BlblBhbmVsLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1J1bk9wZW5QYW5lbC5tbQkod29ya2luZyBjb3B5
KQpAQCAtNTIsNyArNTIsNyBAQCAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
cnVuCiAKIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAotVEVTVChXZWJLaXQyLCBSdW5PcGVu
UGFuZWxOb25MYXRpbjEpCitURVNUKFdlYktpdCwgUnVuT3BlblBhbmVsTm9uTGF0aW4xKQogewog
ICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6TlNNYWtlUmVjdCgwLCAwLCAxMDAsIDEwMCldKTsKICAgICBhdXRvIHVpRGVsZWdhdGUgPSBh
ZG9wdE5TKFtbUnVuT3BlblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwpJbmRleDogVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TaG91bGRPcGVuRXh0ZXJuYWxVUkxz
SW5OZXdXaW5kb3dBY3Rpb25zLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2luZG93QWN0aW9u
cy5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9TaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIC0gKFdLV2ViVmlldyAqKXdlYlZpZXc6KFdLV2Vi
VmlldyAqKXdlYlYKIAogQGVuZAogCi1URVNUKFdlYktpdDIsIFNob3VsZE9wZW5FeHRlcm5hbFVS
THNJbldpbmRvd09wZW4pCitURVNUKFdlYktpdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luV2lu
ZG93T3BlbikKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CiAKQEAgLTEzMSw3
ICsxMzEsNyBAQCBURVNUKFdlYktpdDIsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNJbldpCiAgICAg
YWN0aW9uID0gbnVsbHB0cjsKIH0KIAotVEVTVChXZWJLaXQyLCBTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzSW5UYXJnZXRlZExpbmspCitURVNUKFdlYktpdCwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc0lu
VGFyZ2V0ZWRMaW5rKQogewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCldKTsKIApAQCAt
MjA4LDcgKzIwOCw3IEBAIFRFU1QoV2ViS2l0MiwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luVGEK
ICAgICBhY3Rpb24gPSBudWxscHRyOwogfQogCi1URVNUKFdlYktpdDIsIFJlc3RvcmVTaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5QWZ0ZXJDcmFzaCkKK1RFU1QoV2ViS2l0LCBSZXN0b3JlU2hv
dWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeUFmdGVyQ3Jhc2gpCiB7CiAgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAs
IDAsIDgwMCwgNjAwKV0pOwogICAgIGF1dG8gd2luZG93ID0gYWRvcHROUyhbW05TV2luZG93IGFs
bG9jXSBpbml0V2l0aENvbnRlbnRSZWN0Olt3ZWJWaWV3IGZyYW1lXSBzdHlsZU1hc2s6TlNXaW5k
b3dTdHlsZU1hc2tCb3JkZXJsZXNzIGJhY2tpbmc6TlNCYWNraW5nU3RvcmVCdWZmZXJlZCBkZWZl
cjpZRVNdKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2hy
aW5rVG9GaXQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9TaHJpbmtUb0ZpdC5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TaHJpbmtUb0ZpdC5tbQkod29ya2luZyBjb3B5KQpA
QCAtMzYsNyArMzYsNyBAQCBzdGF0aWMgYm9vbCBzaHJpbmtUb0ZpdERvbmU7CiBzdGF0aWMgYm9v
bCBzaHJpbmtUb0ZpdEFmdGVyTmF2aWdhdGlvbkRvbmU7CiBzdGF0aWMgYm9vbCBzaHJpbmtUb0Zp
dERpc2FibGVkRG9uZTsKIAotVEVTVChXZWJLaXQyLCBTaHJpbmtUb0ZpdCkKK1RFU1QoV2ViS2l0
LCBTaHJpbmtUb0ZpdCkKIHsKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRv
cHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDEw
MCwgMTAwKV0pOwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1VJRGVsZWdhdGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9VSURlbGVnYXRlLm1tCShyZXZpc2lvbiAyMjE1MDMpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkK
QEAgLTU5LDcgKzU5LDcgQEAgLSAodm9pZClvYnNlcnZlVmFsdWVGb3JLZXlQYXRoOihOU1N0cmlu
ZwogCiBAZW5kCiAKLVRFU1QoV2ViS2l0MiwgV0tXZWJWaWV3SXNQbGF5aW5nQXVkaW8pCitURVNU
KFdlYktpdCwgV0tXZWJWaWV3SXNQbGF5aW5nQXVkaW8pCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0g
YWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgw
LCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpbW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSBhdXRvcmVsZWFzZV1dKTsKICAgICBhdXRvIG9ic2VydmVyID0gYWRvcHROUyhb
W0F1ZGlvT2JzZXJ2ZXIgYWxsb2NdIGluaXRdKTsKQEAgLTEwOSw3ICsxMDksNyBAQCAtICh2b2lk
KXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc3RvCiAKIEBlbmQKIAotVEVTVChXZWJLaXQy
LCBTaG93V2ViVmlldykKK1RFU1QoV2ViS2l0LCBTaG93V2ViVmlldykKIHsKICAgICBkZWxlZ2F0
ZSA9IGFkb3B0TlMoW1tVSVRlc3REZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIGF1dG8gY29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CkBAIC0xNDgsNyArMTQ4LDcgQEAgLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IHJ1bgogCiBAZW5kCiAKLVRFU1QoV2ViS2l0MiwgVG9vbGJhclZpc2libGUpCitURVNUKFdl
YktpdCwgVG9vbGJhclZpc2libGUpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rl
c3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYw
MCkgY29uZmlndXJhdGlvbjpbW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSBh
dXRvcmVsZWFzZV1dKTsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rvb2xiYXJEZWxl
Z2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtMTgwLDcgKzE4MCw3IEBAIC0gKHZvaWQpd2ViVmlldzoo
V0tXZWJWaWV3ICopd2ViVmlldyBydW4KIAogQGVuZAogCi1URVNUKFdlYktpdDIsIENsaWNrQXV0
b0ZpbGxCdXR0b24pCitURVNUKFdlYktpdCwgQ2xpY2tBdXRvRmlsbEJ1dHRvbikKIHsKICAgICBX
S1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24gX3Rlc3RfY29uZmlndXJhdGlvbldpdGhUZXN0UGx1Z0luQ2xhc3NOYW1lOkAiQ2xpY2tB
dXRvRmlsbEJ1dHRvbiJdOwogCkBAIC0yMjYsNyArMjI2LDcgQEAgLSAodm9pZCl3ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IHJ1bgogCiBAZW5kCiAKLVRFU1QoV2ViS2l0MiwgRm9jdXMpCitU
RVNUKFdlYktpdCwgRm9jdXMpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKV0pOwog
ICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbRm9jdXNEZWxlZ2F0ZSBhbGxvY10gaW5pdF0p
OwpAQCAtMjY3LDcgKzI2Nyw3IEBAIC0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmll
dyBkaWQKIAogQGVuZAogCi1URVNUKFdlYktpdDIsIFNhdmVEYXRhVG9GaWxlKQorVEVTVChXZWJL
aXQsIFNhdmVEYXRhVG9GaWxlKQogewogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgODAwLCA2MDAp
XSk7CiAgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tTYXZlRGF0YVRvRmlsZURlbGVnYXRl
IGFsbG9jXSBpbml0XSk7CkBAIC0zMTUsNyArMzE1LDcgQEAgLSAodm9pZCl3ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IHJ1bgogCiBAZW5kCiAKLVRFU1QoV2ViS2l0MiwgRGlkTm90SGFuZGxl
V2hlZWxFdmVudCkKK1RFU1QoV2ViS2l0LCBEaWROb3RIYW5kbGVXaGVlbEV2ZW50KQogewogICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6
Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCldKTsKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHRO
UyhbW1doZWVsRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvVmlzaWJsZUNvbnRlbnRSZWN0Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVmlzaWJsZUNvbnRlbnRSZWN0
Lm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1Zpc2libGVDb250ZW50UmVjdC5tbQkod29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEs
NyBAQCAtIChVSVZpZXcgKilfZW5jbG9zaW5nVmlld0ZvckV4cG9zZWRSZWN0CiAKIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJIHsKIAotVEVTVChXZWJLaXQyLCBWaXNpYmxlQ29udGVudFJlY3RfRnVs
bEJvdW5kcykKK1RFU1QoV2ViS2l0LCBWaXNpYmxlQ29udGVudFJlY3RfRnVsbEJvdW5kcykKIHsK
ICAgICBhdXRvIGNvbmZpZyA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9j
XSBpbml0XSk7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXdXaXRo
RW5jbG9zaW5nVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwg
NjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZy5nZXQoKV0pOwpAQCAtNTksNyArNTksNyBAQCBURVNU
KFdlYktpdDIsIFZpc2libGVDb250ZW50UmVjdF9GdWxsQm91CiAgICAgRVhQRUNUX1RSVUUoQ0dS
ZWN0RXF1YWxUb1JlY3QoW3dlYlZpZXcgX3Zpc2libGVDb250ZW50UmVjdF0sIENHUmVjdE1ha2Uo
MCwgMCwgODAwLCA2MDApKSk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgVmlzaWJsZUNvbnRlbnRSZWN0
X0Z1bGxCb3VuZHNXaXRoaW5TY3JvbGxWaWV3KQorVEVTVChXZWJLaXQsIFZpc2libGVDb250ZW50
UmVjdF9GdWxsQm91bmRzV2l0aGluU2Nyb2xsVmlldykKIHsKICAgICBhdXRvIGNvbmZpZyA9IGFk
b3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXdXaXRoRW5jbG9zaW5nVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNv
bmZpZy5nZXQoKV0pOwpAQCAtNzEsNyArNzEsNyBAQCBURVNUKFdlYktpdDIsIFZpc2libGVDb250
ZW50UmVjdF9GdWxsQm91CiAgICAgRVhQRUNUX1RSVUUoQ0dSZWN0RXF1YWxUb1JlY3QoW3dlYlZp
ZXcgX3Zpc2libGVDb250ZW50UmVjdF0sIENHUmVjdE1ha2UoMCwgMCwgODAwLCA2MDApKSk7CiB9
CiAKLVRFU1QoV2ViS2l0MiwgVmlzaWJsZUNvbnRlbnRSZWN0X0Z1bGxCb3VuZHNXaGVuQ2xpcHBl
ZEJ5Tm9uU2Nyb2xsVmlldykKK1RFU1QoV2ViS2l0LCBWaXNpYmxlQ29udGVudFJlY3RfRnVsbEJv
dW5kc1doZW5DbGlwcGVkQnlOb25TY3JvbGxWaWV3KQogewogICAgIGF1dG8gY29uZmlnID0gYWRv
cHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKICAgICBhdXRvIHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlld1dpdGhFbmNsb3NpbmdWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOkNHUmVjdE1ha2UoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29u
ZmlnLmdldCgpXSk7CkBAIC04NSw3ICs4NSw3IEBAIFRFU1QoV2ViS2l0MiwgVmlzaWJsZUNvbnRl
bnRSZWN0X0Z1bGxCb3UKICAgICBFWFBFQ1RfVFJVRShDR1JlY3RFcXVhbFRvUmVjdChbd2ViVmll
dyBfdmlzaWJsZUNvbnRlbnRSZWN0XSwgQ0dSZWN0TWFrZSgwLCAwLCAxMDAwLCA4MDApKSk7CiB9
CiAKLVRFU1QoV2ViS2l0MiwgVmlzaWJsZUNvbnRlbnRSZWN0X0NsaXBwZWRCb3VuZHNXaGVuQ2xp
cHBlZEJ5U2Nyb2xsVmlldykKK1RFU1QoV2ViS2l0LCBWaXNpYmxlQ29udGVudFJlY3RfQ2xpcHBl
ZEJvdW5kc1doZW5DbGlwcGVkQnlTY3JvbGxWaWV3KQogewogICAgIENHUmVjdCB3aW5kb3dCb3Vu
ZHMgPSBDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKTsKICAgICBhdXRvIGNvbmZpZyA9IGFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CkBAIC0xMDIsNyArMTAy
LDcgQEAgVEVTVChXZWJLaXQyLCBWaXNpYmxlQ29udGVudFJlY3RfQ2xpcHBlZAogICAgIEVYUEVD
VF9UUlVFKENHUmVjdEVxdWFsVG9SZWN0KFt3ZWJWaWV3IF92aXNpYmxlQ29udGVudFJlY3RdLCBD
R1JlY3RNYWtlKDE1MCwgMTUwLCA4MDAsIDYwMCkpKTsKIH0KIAotVEVTVChXZWJLaXQyLCBWaXNp
YmxlQ29udGVudFJlY3RfQ2xpcHBlZEJvdW5kc1doZW5DbGlwcGVkQnlFbmNsb3NpbmdWaWV3KQor
VEVTVChXZWJLaXQsIFZpc2libGVDb250ZW50UmVjdF9DbGlwcGVkQm91bmRzV2hlbkNsaXBwZWRC
eUVuY2xvc2luZ1ZpZXcpCiB7CiAgICAgYXV0byBjb25maWcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3
Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3V2l0aEVuY2xvc2luZ1ZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dS
ZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWcuZ2V0KCldKTsKSW5k
ZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tDb250ZW50Vmlld0Vk
aXRpbmdBY3Rpb25zLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvV0tDb250ZW50Vmlld0VkaXRpbmdBY3Rpb25zLm1tCShyZXZpc2lvbiAyMjE0
NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQ29udGVudFZp
ZXdFZGl0aW5nQWN0aW9ucy5tbQkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQCBzdGF0
aWMgVUlWaWV3ICpyZWN1cnNpdmVGaW5kV0tDb250ZW50VmllCiAgICAgcmV0dXJuIG5pbDsKIH0K
IAotVEVTVChXZWJLaXQyLCBXS0NvbnRlbnRWaWV3RWRpdGluZ0FjdGlvbnMpCitURVNUKFdlYktp
dCwgV0tDb250ZW50Vmlld0VkaXRpbmdBY3Rpb25zKQogewogICAgIFtVSVBhc3RlYm9hcmQgZ2Vu
ZXJhbFBhc3RlYm9hcmRdLml0ZW1zID0gQFtdOwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1dLQ29udGVudFZpZXdUYXJnZXRGb3JBY3Rpb24ubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS0NvbnRlbnRW
aWV3VGFyZ2V0Rm9yQWN0aW9uLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLQ29udGVudFZpZXdUYXJnZXRGb3JBY3Rpb24ubW0J
KHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgLSAodm9pZCl0ZXN0QWN0aW9uOihpZClz
ZW5kZXIKIAogQGVuZAogCi1URVNUKFdlYktpdDIsIFdLQ29udGVudFZpZXdUYXJnZXRGb3JBY3Rp
b24pCitURVNUKFdlYktpdCwgV0tDb250ZW50Vmlld1RhcmdldEZvckFjdGlvbikKIHsKICAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLQ29udGVudFZpZXdUYXJnZXRGb3JBY3Rpb25W
aWV3IGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFn
ZU5hbWVkOkAicmljaC1hbmQtcGxhaW4tdGV4dCJdOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XS0hUVFBDb29raWVTdG9yZS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLSFRUUENvb2tpZVN0b3JlLm1t
CShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1dLSFRUUENvb2tpZVN0b3JlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xODIsMTIgKzE4Miwx
MiBAQCBzdGF0aWMgdm9pZCBydW5UZXN0V2l0aFdlYnNpdGVEYXRhU3RvcmUoCiAgICAgW2dsb2Jh
bENvb2tpZVN0b3JlIHJlbW92ZU9ic2VydmVyOm9ic2VydmVyMi5nZXQoKV07CiB9CiAKLVRFU1Qo
V2ViS2l0MiwgV0tIVFRQQ29va2llU3RvcmUpCitURVNUKFdlYktpdCwgV0tIVFRQQ29va2llU3Rv
cmUpCiB7CiAgICAgcnVuVGVzdFdpdGhXZWJzaXRlRGF0YVN0b3JlKFtXS1dlYnNpdGVEYXRhU3Rv
cmUgZGVmYXVsdERhdGFTdG9yZV0pOwogfQogCi1URVNUKFdlYktpdDIsIFdLSFRUUENvb2tpZVN0
b3JlTm9uUGVyc2lzdGVudCkKK1RFU1QoV2ViS2l0LCBXS0hUVFBDb29raWVTdG9yZU5vblBlcnNp
c3RlbnQpCiB7CiAgICAgUmV0YWluUHRyPFdLV2Vic2l0ZURhdGFTdG9yZT4gbm9uUGVyc2lzdGVu
dERhdGFTdG9yZTsKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKQEAgLTE5Nyw3ICsxOTcsNyBAQCBU
RVNUKFdlYktpdDIsIFdLSFRUUENvb2tpZVN0b3JlTm9uUGVyc2lzCiAgICAgcnVuVGVzdFdpdGhX
ZWJzaXRlRGF0YVN0b3JlKG5vblBlcnNpc3RlbnREYXRhU3RvcmUuZ2V0KCkpOwogfQogCi1URVNU
KFdlYktpdDIsIFdLSFRUUENvb2tpZVN0b3JlQ3VzdG9tKQorVEVTVChXZWJLaXQsIFdLSFRUUENv
b2tpZVN0b3JlQ3VzdG9tKQogewogICAgIE5TVVJMICpjb29raWVTdG9yYWdlRmlsZSA9IFtOU1VS
TCBmaWxlVVJMV2l0aFBhdGg6W0Aifi9MaWJyYXJ5L1dlYktpdC9UZXN0V2ViS2l0QVBJL0N1c3Rv
bVdlYnNpdGVEYXRhL0Nvb2tpZVN0b3JhZ2UvQ29va2llLkZpbGUiIHN0cmluZ0J5RXhwYW5kaW5n
VGlsZGVJblBhdGhdIGlzRGlyZWN0b3J5Ok5PXTsKICAgICBOU1VSTCAqaWRiUGF0aCA9IFtOU1VS
TCBmaWxlVVJMV2l0aFBhdGg6W0Aifi9MaWJyYXJ5L1dlYktpdC9UZXN0V2ViS2l0QVBJL0N1c3Rv
bVdlYnNpdGVEYXRhL0luZGV4ZWREQi8iIHN0cmluZ0J5RXhwYW5kaW5nVGlsZGVJblBhdGhdIGlz
RGlyZWN0b3J5OllFU107CkBAIC0yMTYsNyArMjE2LDcgQEAgVEVTVChXZWJLaXQyLCBXS0hUVFBD
b29raWVTdG9yZUN1c3RvbSkKICAgICBydW5UZXN0V2l0aFdlYnNpdGVEYXRhU3RvcmUoY3VzdG9t
RGF0YVN0b3JlLmdldCgpKTsKIH0KIAotVEVTVChXZWJLaXQyLCBDb29raWVPYnNlcnZlckNyYXNo
KQorVEVTVChXZWJLaXQsIENvb2tpZU9ic2VydmVyQ3Jhc2gpCiB7CiAgICAgUmV0YWluUHRyPFdL
V2Vic2l0ZURhdGFTdG9yZT4gbm9uUGVyc2lzdGVudERhdGFTdG9yZTsKICAgICBAYXV0b3JlbGVh
c2Vwb29sIHsKQEAgLTI1Niw3ICsyNTYsNyBAQCAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAq
KXdlYlZpZXcgcnVuCiB9CiBAZW5kCiAKLVRFU1QoV2ViS2l0MiwgV0tIVFRQQ29va2llU3RvcmVX
aXRob3V0UHJvY2Vzc1Bvb2wpCitURVNUKFdlYktpdCwgV0tIVFRQQ29va2llU3RvcmVXaXRob3V0
UHJvY2Vzc1Bvb2wpCiB7CiAgICAgTlNIVFRQQ29va2llICpjb29raWUgPSBbTlNIVFRQQ29va2ll
IGNvb2tpZVdpdGhQcm9wZXJ0aWVzOltOU0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3Rz
QW5kS2V5czpAIjEyNy4wLjAuMSIsIE5TSFRUUENvb2tpZURvbWFpbiwgQCIvIiwgTlNIVFRQQ29v
a2llUGF0aCwgQCJjb29raWVuYW1lIiwgTlNIVFRQQ29va2llTmFtZSwgQCJjb29raWV2YWx1ZSIs
IE5TSFRUUENvb2tpZVZhbHVlLCBbTlNEYXRlIGRpc3RhbnRGdXR1cmVdLCBOU0hUVFBDb29raWVF
eHBpcmVzLCBuaWxdXTsKICAgICBOU1N0cmluZyAqYWxlcnRDb29raWVIVE1MID0gQCI8c2NyaXB0
PmFsZXJ0KCdjb29raWU6Jytkb2N1bWVudC5jb29raWUpOzwvc2NyaXB0PiI7CkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLTlNOdW1iZXIubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS05TTnVtYmVyLm1t
CShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1dLTlNOdW1iZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCi1URVNUKFdlYktpdDIsIFdLTlNOdW1iZXIpCitURVNU
KFdlYktpdCwgV0tOU051bWJlcikKIHsKICAgICBhdXRvIGJvb2xlYW5SZWYgPSBhZG9wdFdLKFdL
Qm9vbGVhbkNyZWF0ZSh0cnVlKSk7CiAgICAgYXV0byB1aW50NjRSZWYgPSBhZG9wdFdLKFdLVUlu
dDY0Q3JlYXRlKDM5KSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1dLT2JqZWN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvV0tPYmplY3QubW0JKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tPYmplY3QubW0JKHdvcmtpbmcgY29weSkKQEAg
LTM1LDcgKzM1LDcgQEAKIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCi1URVNUKFdlYktp
dDIsIFdLT2JqZWN0KQorVEVTVChXZWJLaXQsIFdLT2JqZWN0KQogewogICAgIFdLU3RyaW5nUmVm
IHN0cmluZ1JlZiA9IFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJqdXN0IHRlc3Rpbmci
KTsKICAgICBBU1NFUlRfVFJVRShbQCJqdXN0IHRlc3RpbmciIGlzRXF1YWxUb1N0cmluZzooTlNT
dHJpbmcgKilzdHJpbmdSZWZdKTsKQEAgLTUwLDcgKzUwLDcgQEAgVEVTVChXZWJLaXQyLCBXS09i
amVjdCkKICAgICBBU1NFUlRfRVEoKGlkKTAsIHdlYWtTdHJpbmcpOwogfQogCi1URVNUKFdlYktp
dDIsIFdLT2JqZWN0X2NsYXNzTWV0aG9kcykKK1RFU1QoV2ViS2l0LCBXS09iamVjdF9jbGFzc01l
dGhvZHMpCiB7CiAgICAgQ2xhc3Mgd2tPYmplY3RDbGFzcyA9IE5TQ2xhc3NGcm9tU3RyaW5nKEAi
V0tPYmplY3QiKTsKICAgICBBU1NFUlRfTkUoKENsYXNzKTAsIHdrT2JqZWN0Q2xhc3MpOwpAQCAt
NTgsNyArNTgsNyBAQCBURVNUKFdlYktpdDIsIFdLT2JqZWN0X2NsYXNzTWV0aG9kcykKICAgICBB
U1NFUlRfVFJVRShbd2tPYmplY3RDbGFzcyBjb25mb3Jtc1RvUHJvdG9jb2w6QHByb3RvY29sKE5T
T2JqZWN0KV0pOwogfQogCi1URVNUKFdlYktpdDIsIFdLT2JqZWN0X2NsYXNzSW5EaWN0aW9uYXJ5
KQorVEVTVChXZWJLaXQsIFdLT2JqZWN0X2NsYXNzSW5EaWN0aW9uYXJ5KQogewogICAgIENsYXNz
IHdrT2JqZWN0Q2xhc3MgPSBOU0NsYXNzRnJvbVN0cmluZyhAIldLT2JqZWN0Iik7CiAgICAgQVNT
RVJUX05FKChDbGFzcykwLCB3a09iamVjdENsYXNzKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tQREZWaWV3UmVzaXplQ3Jhc2gubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1BERlZpZXdSZXNpemVD
cmFzaC5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9XS1BERlZpZXdSZXNpemVDcmFzaC5tbQkod29ya2luZyBjb3B5KQpAQCAtMzUs
NyArMzUsNyBAQAogCiBzdGF0aWMgYm9vbCBmaW5pc2hlZERpc3BhdGNoOwogCi1URVNUKFdlYktp
dDIsIFdLUERGVmlld1Jlc2l6ZUNyYXNoKQorVEVTVChXZWJLaXQsIFdLUERGVmlld1Jlc2l6ZUNy
YXNoKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7
CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tQREZWaWV3
U3RhYmxlUHJlc2VudGF0aW9uVXBkYXRlQ2FsbGJhY2subW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1BERlZpZXdTdGFibGVQcmVzZW50YXRp
b25VcGRhdGVDYWxsYmFjay5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1BERlZpZXdTdGFibGVQcmVzZW50YXRpb25VcGRhdGVD
YWxsYmFjay5tbQkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogCiAjaWYgV0tfQVBJ
X0VOQUJMRUQgJiYgUExBVEZPUk0oSU9TKQogCi1URVNUKFdlYktpdDIsIFdLUERGVmlld1N0YWJs
ZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrKQorVEVTVChXZWJLaXQsIFdLUERGVmlld1N0YWJs
ZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrKQogewogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+
IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV0tSZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZm8ubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1JlcXVlc3RBY3Rp
dmF0ZWRFbGVtZW50SW5mby5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbQko
d29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgdm9pZCBjaGVja0VsZW1lbnRU
eXBlQW5kQm91bmRpbmdSCiAgICAgRVhQRUNUX0VRKGV4cGVjdGVkVHlwZSwgZWxlbWVudEluZm8u
dHlwZSk7CiB9CiAgICAgCi1URVNUKFdlYktpdDIsIFJlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5m
b0ZvckxpbmspCitURVNUKFdlYktpdCwgUmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvRm9yTGlu
aykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwogICAgIFt3ZWJWaWV3
IGxvYWRIVE1MU3RyaW5nOkAiPGh0bWw+PGhlYWQ+PG1ldGEgbmFtZT0ndmlld3BvcnQnIGNvbnRl
bnQ9J2luaXRpYWwtc2NhbGU9MSc+PC9oZWFkPjxib2R5IHN0eWxlID0gJ21hcmdpbjogMHB4Oyc+
PGEgaHJlZj0ndGVzdFVSTC50ZXN0JyBzdHlsZT0nZGlzcGxheTogYmxvY2s7IGhlaWdodDogMTAw
JTsnIHRpdGxlPSdIaXRUZXN0TGlua1RpdGxlJyBpZD0ndGVzdElEJz48L2E+PC9ib2R5PjwvaHRt
bD4iIGJhc2VVUkw6bmlsXTsKQEAgLTcyLDcgKzcyLDcgQEAgVEVTVChXZWJLaXQyLCBSZXF1ZXN0
QWN0aXZhdGVkRWxlbWVudEluZgogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZmluaXNo
ZWQpOwogfQogICAgIAotVEVTVChXZWJLaXQyLCBSZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZm9G
b3JCbGFuaykKK1RFU1QoV2ViS2l0LCBSZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZm9Gb3JCbGFu
aykKIHsKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwogICAgIFt3ZWJWaWV3
IGxvYWRIVE1MU3RyaW5nOkAiPGh0bWw+PGhlYWQ+PG1ldGEgbmFtZT0ndmlld3BvcnQnIGNvbnRl
bnQ9J2luaXRpYWwtc2NhbGU9MSc+PC9oZWFkPjxib2R5IHN0eWxlID0gJ21hcmdpbjogMHB4Oyc+
PC9ib2R5PjwvaHRtbD4iIGJhc2VVUkw6bmlsXTsKQEAgLTkxLDcgKzkxLDcgQEAgVEVTVChXZWJL
aXQyLCBSZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZgogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZmluaXNoZWQpOwogfQogICAgIAotVEVTVChXZWJLaXQyLCBSZXF1ZXN0QWN0aXZhdGVk
RWxlbWVudEluZm9XaXRoTmVzdGVkU3luY2hyb25vdXNVcGRhdGVzKQorVEVTVChXZWJLaXQsIFJl
cXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mb1dpdGhOZXN0ZWRTeW5jaHJvbm91c1VwZGF0ZXMpCiB7
CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAzMjAsIDUwMCldKTsKICAgICBbd2ViVmlldyBzeW5j
aHJvbm91c2x5TG9hZEhUTUxTdHJpbmc6QCI8bWV0YSBuYW1lPSd2aWV3cG9ydCcgY29udGVudD0n
aW5pdGlhbC1zY2FsZT0xJz48c3R5bGU+Ym9keSB7IG1hcmdpbjowIH0gYSB7IGRpc3BsYXk6Ymxv
Y2s7IHdpZHRoOjIwMHB4OyBoZWlnaHQ6MjAwcHggfTwvc3R5bGU+PGEgaHJlZj0naHR0cHM6Ly93
d3cuYXBwbGUuY29tJz5GT088L2E+Il07CkBAIC0xMTUsNyArMTE1LDcgQEAgVEVTVChXZWJLaXQy
LCBSZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZgogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZmluaXNoZWQpOwogfQogCi1URVNUKFdlYktpdDIsIFJlcXVlc3RBY3RpdmF0ZWRFbGVtZW50
SW5mb1dpdGhOZXN0ZWRSZXF1ZXN0cykKK1RFU1QoV2ViS2l0LCBSZXF1ZXN0QWN0aXZhdGVkRWxl
bWVudEluZm9XaXRoTmVzdGVkUmVxdWVzdHMpCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHRO
UyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCAz
MjAsIDUwMCldKTsKICAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6
QCJpbWFnZS1hbmQtY29udGVudGVkaXRhYmxlIl07CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1dlYkdMUG9saWN5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2ViR0xQb2xpY3kubW0JKHJldmlzaW9uIDIy
MTQ4NikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2ViR0xQb2xp
Y3kubW0JKHdvcmtpbmcgY29weSkKQEAgLTExNCw3ICsxMTQsNyBAQCBzdGF0aWMgdm9pZCBydW5U
ZXN0KF9XS1dlYkdMTG9hZFBvbGljeSBmCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZ0
ZXN0Q29tcGxldGUpOwogfQogCi1URVNUKFdlYktpdDIsIFdlYkdMUG9saWN5KQorVEVTVChXZWJL
aXQsIFdlYkdMUG9saWN5KQogewogICAgIGh0bWxVUkwgPSBbTlNVUkwgVVJMV2l0aFN0cmluZzpA
InRlc3Q6Ly8vaHRtbCJdOwogICAgIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9XZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlRGF0YVN0b3JlQ3Vz
dG9tUGF0aHMubW0JKHJldmlzaW9uIDIyMTQ2NykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyBXS1NjcmlwdE1lc3NhZ2UgKmdldE5leHRNZXNz
YWdlKCkKICAgICByZXR1cm4gW1tzY3JpcHRNZXNzYWdlcy50YWtlRmlyc3QoKSByZXRhaW5dIGF1
dG9yZWxlYXNlXTsKIH0KIAotVEVTVChXZWJLaXQyLCBXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0
aHMpCitURVNUKFdlYktpdCwgV2Vic2l0ZURhdGFTdG9yZUN1c3RvbVBhdGhzKQogewogICAgIFJl
dGFpblB0cjxXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHNNZXNzYWdlSGFuZGxlcj4gaGFuZGxl
ciA9IGFkb3B0TlMoW1tXZWJzaXRlRGF0YVN0b3JlQ3VzdG9tUGF0aHNNZXNzYWdlSGFuZGxlciBh
bGxvY10gaW5pdF0pOwogICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25m
aWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
KTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBv
bGljaWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdl
YlZpZXcgZGUKIAogQGVuZAogCi1URVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc0NvbnRlbnRC
bG9ja2Vyc0VuYWJsZWQpCitURVNUKFdlYktpdCwgV2Vic2l0ZVBvbGljaWVzQ29udGVudEJsb2Nr
ZXJzRW5hYmxlZCkKIHsKICAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVs
dFN0b3JlXSBfcmVtb3ZlQWxsQ29udGVudEV4dGVuc2lvbnNdOwogCkBAIC0xOTcsNyArMTk3LDcg
QEAgLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBoYQogCiBAZW5kCiAKLVRF
U1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVzQXV0b3BsYXlFbmFibGVkKQorVEVTVChXZWJLaXQs
IFdlYnNpdGVQb2xpY2llc0F1dG9wbGF5RW5hYmxlZCkKIHsKICAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogCkBA
IC0yOTgsNyArMjk4LDcgQEAgc3RhdGljIHZvaWQgcnVuVW50aWxSZWNlaXZlc0F1dG9wbGF5RXZl
bgogICAgICAgICBDRlJ1bkxvb3BSdW5Jbk1vZGUoa0NGUnVuTG9vcERlZmF1bHRNb2RlLCAwLjEs
IHRydWUpOwogfQogCi1URVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc1BsYXlBZnRlclByZXZl
bnRlZEF1dG9wbGF5KQorVEVTVChXZWJLaXQsIFdlYnNpdGVQb2xpY2llc1BsYXlBZnRlclByZXZl
bnRlZEF1dG9wbGF5KQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dl
YlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRv
cHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCAzMzYsIDI3NikgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CkBAIC0zNjYs
NyArMzY2LDcgQEAgVEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNQbGF5QWZ0ZXJQcgogICAg
IEFTU0VSVF9UUlVFKCpyZWNlaXZlZEF1dG9wbGF5RXZlbnRGbGFncyAmIGtXS0F1dG9wbGF5RXZl
bnRGbGFnc0hhc0F1ZGlvKTsKIH0KIAotVEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNQbGF5
aW5nV2l0aG91dEludGVyZmVyZW5jZSkKK1RFU1QoV2ViS2l0LCBXZWJzaXRlUG9saWNpZXNQbGF5
aW5nV2l0aG91dEludGVyZmVyZW5jZSkKIHsKICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9w
dE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgMzM2LCAyNzYpIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0p
OwpAQCAtMzg1LDcgKzM4NSw3IEBAIFRFU1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVzUGxheWlu
Z1dpdGgKICAgICBBU1NFUlRfVFJVRSgqcmVjZWl2ZWRBdXRvcGxheUV2ZW50RmxhZ3MgJiBrV0tB
dXRvcGxheUV2ZW50RmxhZ3NIYXNBdWRpbyk7CiB9CiAKLVRFU1QoV2ViS2l0MiwgV2Vic2l0ZVBv
bGljaWVzVXNlckludGVyZmVyZW5jZVdpdGhQbGF5aW5nKQorVEVTVChXZWJLaXQsIFdlYnNpdGVQ
b2xpY2llc1VzZXJJbnRlcmZlcmVuY2VXaXRoUGxheWluZykKIHsKICAgICBhdXRvIGNvbmZpZ3Vy
YXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwog
ICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzM2LCAyNzYpIGNvbmZpZ3VyYXRpb246Y29uZmlndXJh
dGlvbi5nZXQoKV0pOwpAQCAtNTA5LDcgKzUwOSw3IEBAIC0gKHZvaWQpd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBzdG8KIAogQGVuZAogCi1URVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2ll
c0R1cmluZ1JlZGlyZWN0KQorVEVTVChXZWJLaXQsIFdlYnNpdGVQb2xpY2llc0R1cmluZ1JlZGly
ZWN0KQogewogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAgICAgYXV0byB2aWRlb0RhdGEgPSBhZG9wdE5TKFtb
TlNEYXRhIGFsbG9jXSBpbml0V2l0aENvbnRlbnRzT2ZVUkw6W1tOU0J1bmRsZSBtYWluQnVuZGxl
XSBVUkxGb3JSZXNvdXJjZTpAInRlc3QiIHdpdGhFeHRlbnNpb246QCJtcDQiIHN1YmRpcmVjdG9y
eTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dKTsKQEAgLTUyOSw3ICs1MjksNyBAQCBURVNU
KFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc0R1cmluZ1JlZGlyCiAgICAgW3dlYlZpZXcgd2FpdEZv
ck1lc3NhZ2U6QCJhdXRvcGxheWVkIl07CiB9CiAKLVRFU1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGlj
aWVzVXBkYXRlcykKK1RFU1QoV2ViS2l0LCBXZWJzaXRlUG9saWNpZXNVcGRhdGVzKQogewogICAg
IGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CiAgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcg
YWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJh
dGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CkBAIC01NjUsNyArNTY1LDcgQEAgVEVTVChXZWJL
aXQyLCBXZWJzaXRlUG9saWNpZXNVcGRhdGVzKQogICAgIHJ1blVudGlsUmVjZWl2ZXNBdXRvcGxh
eUV2ZW50KGtXS0F1dG9wbGF5RXZlbnREaWRQcmV2ZW50RnJvbUF1dG9wbGF5aW5nKTsKIH0KIAot
VEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNBdXRvcGxheVF1aXJrcykKK1RFU1QoV2ViS2l0
LCBXZWJzaXRlUG9saWNpZXNBdXRvcGxheVF1aXJrcykKIHsKICAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwogICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlv
bi5nZXQoKV0pOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRPYmpDL1By
ZXZlbnRJbWFnZUxvYWRXaXRoQXV0b1Jlc2l6aW5nLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0T2JqQy9QcmV2ZW50SW1hZ2VMb2FkV2l0aEF1dG9SZXNp
emluZy5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRPYmpDL1ByZXZlbnRJbWFnZUxvYWRXaXRoQXV0b1Jlc2l6aW5nLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC00MCw3ICs0MCw3IEBAIHN0YXRpYyBib29sIHRlc3RGaW5pc2hlZCA9IGZhbHNlOwog
CiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKLVRFU1QoV2ViS2l0MiwgUHJldmVudEltYWdl
TG9hZFdpdGhBdXRvUmVzaXppbmdUZXN0KQorVEVTVChXZWJLaXQsIFByZXZlbnRJbWFnZUxvYWRX
aXRoQXV0b1Jlc2l6aW5nVGVzdCkKIHsKICAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNv
bnRleHQgPSBhZG9wdFdLKFV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3Qo
IkRlbnlXaWxsU2VuZFJlcXVlc3RUZXN0IikpOwogICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3
KGNvbnRleHQuZ2V0KCkpOwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRmly
c3RSZXNwb25kZXJTY3JvbGxpbmdQb3NpdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL21hYy9GaXJzdFJlc3BvbmRlclNjcm9sbGluZ1Bvc2l0aW9uLm1tCShy
ZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9GaXJzdFJl
c3BvbmRlclNjcm9sbGluZ1Bvc2l0aW9uLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3
IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS1BhZ2UKICAgICBkaWRGaW5p
c2hMb2FkID0gdHJ1ZTsKIH0KIAotVEVTVChXZWJLaXQyLCBGaXJzdFJlc3BvbmRlclNjcm9sbGlu
Z1Bvc2l0aW9uKQorVEVTVChXZWJLaXQsIEZpcnN0UmVzcG9uZGVyU2Nyb2xsaW5nUG9zaXRpb24p
CiB7CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFkb3B0V0ssIFV0aWw6
OmNyZWF0ZUNvbnRleHRXaXRoSW5qZWN0ZWRCdW5kbGUoKSk7CiAKSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvbWFjL0ZpcnN0UmVzcG9uZGVyU3VwcHJlc3Npb24ubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRmlyc3RSZXNwb25kZXJTdXBwcmVz
c2lvbi5tbQkocmV2aXNpb24gMjIxNDY3KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9t
YWMvRmlyc3RSZXNwb25kZXJTdXBwcmVzc2lvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtNDUsNyAr
NDUsNyBAQCAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkCiAKIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJIHsKIAotVEVTVChXZWJLaXQyLCBGaXJzdFJlc3BvbmRlclN1cHBy
ZXNzaW9uKQorVEVTVChXZWJLaXQsIEZpcnN0UmVzcG9uZGVyU3VwcHJlc3Npb24pCiB7CiAgICAg
UmV0YWluUHRyPE5TV2luZG93PiB3aW5kb3cgPSBhZG9wdE5TKFtbTlNXaW5kb3cgYWxsb2NdIGlu
aXRXaXRoQ29udGVudFJlY3Q6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgc3R5bGVNYXNrOk5T
Qm9yZGVybGVzc1dpbmRvd01hc2sgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVy
Ok5PXSk7CiAgICAgW3dpbmRvdyBtYWtlS2V5QW5kT3JkZXJGcm9udDpuaWxdOwpJbmRleDogVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZC5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9Jc05hdmlnYXRpb25B
Y3Rpb25UcnVzdGVkLm1tCShyZXZpc2lvbiAyMjE0NjcpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL21hYy9Jc05hdmlnYXRpb25BY3Rpb25UcnVzdGVkLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC04MSw3ICs4MSw3IEBAIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKIAogI2lmIFdLX0FQSV9F
TkFCTEVECiAKLVRFU1QoV2ViS2l0MiwgSXNOYXZpZ2F0aW9uQWN0aW9uVHJ1c3RlZCkKK1RFU1Qo
V2ViS2l0LCBJc05hdmlnYXRpb25BY3Rpb25UcnVzdGVkKQogewogICAgIEBhdXRvcmVsZWFzZXBv
b2wgewogICAgICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0p
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>