<?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>132626</bug_id>
          
          <creation_ts>2014-05-06 15:02:59 -0700</creation_ts>
          <short_desc>Can&apos;t make a booking at virginamerica.com</short_desc>
          <delta_ts>2014-05-06 23:56:27 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>alecflett</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
    
    <cc>mkwst</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1007092</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-05-06 15:02:59 -0700</bug_when>
    <thetext>Can&apos;t make a booking at virginamerica.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007093</commentid>
    <comment_count>1</comment_count>
      <attachid>230936</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-05-06 15:08:03 -0700</bug_when>
    <thetext>Created attachment 230936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007099</commentid>
    <comment_count>2</comment_count>
      <attachid>230936</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-05-06 15:12:36 -0700</bug_when>
    <thetext>Comment on attachment 230936
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007104</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-05-06 15:17:37 -0700</bug_when>
    <thetext>Committed r168385: &lt;http://trac.webkit.org/changeset/168385&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007233</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-05-06 23:51:46 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Committed r168385: &lt;http://trac.webkit.org/changeset/168385&gt;

It broke the Apple Windows build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007234</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-05-06 23:56:27 -0700</bug_when>
    <thetext>The build is still broken on ToT after the not mentioned buildfix attempt - https://trac.webkit.org/changeset/168389 :

    1&gt;WebCoreTestSupport.lib(JSTypeConversions.obj) : error LNK2019: unresolved external symbol &quot;void __cdecl WebCore::reportDeprecatedSetterError(class JSC::ExecState &amp;,char const *,char const *)&quot; (?reportDeprecatedSetterError@WebCore@@YAXAAVExecState@JSC@@PBD1@Z) referenced in function &quot;public: static bool __cdecl WebCore::JSTypeConversionsPrototype::getOwnPropertySlot(class JSC::JSObject *,class JSC::ExecState *,class JSC::PropertyName,class JSC::PropertySlot &amp;)&quot; (?getOwnPropertySlot@JSTypeConversionsPrototype@WebCore@@SA_NPAVJSObject@JSC@@PAVExecState@4@VPropertyName@4@AAVPropertySlot@4@@Z)
     1&gt;C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\bin32\DumpRenderTree.dll : fatal error LNK1120: 1 unresolved externals
     1&gt;Done Building Project &quot;C:\cygwin\home\buildbot\slave\win-release\build\Tools\DumpRenderTree\DumpRenderTree.vcxproj\DumpRenderTree\DumpRenderTree.vcxproj&quot; (Build target(s)) -- FAILED.

Build FAILED.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230936</attachid>
            <date>2014-05-06 15:08:03 -0700</date>
            <delta_ts>2014-05-06 15:12:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132626-20140506150740.patch</filename>
            <type>text/plain</type>
            <size>61455</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTkyYzU2ODFmZGU2YWRm
NWM2NGU2ZGVkOGQ5NzkxODUxNjFiMzczNi4uYTY3NWVlN2I0YTU2ZjZiZjNhMWYzYjVjZTgzNTU2
MmI0NWZmZTE1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDE0LTA1LTA2ICBPbGl2
ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2FuJ3QgbWFrZSBhIGJvb2tp
bmcgYXQgdmlyZ2luYW1lcmljYS5jb20KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzMjYyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL2Fzc2lnbi10by1wcm90b3R5cGUtYWNjZXNz
b3Itb24tcHJvdG90eXBlLXNob3VsZC1iZS1zaWxlbnQuaHRtbAorCisgICAgICAgIFdlIGNhbid0
IHRocm93IGFuIGV4Y2VwdGlvbiB3aGVuIGEgc2l0ZSBpbmNvcnJlY3RseSBhdHRlbXB0cworICAg
ICAgICB0byB1c2UgYSBkb20gcHJvcGVydHkgc2V0dGVyIGRpcmVjdGx5IG9uIHRoZSBwcm90b3R5
cGUgYXMKKyAgICAgICAgdGhlcmUgYXJlIHNpdGVzIHRoYXQgZG8gdGhpcyBhcyBjb21wYXRpYmls
aXR5IHdvcmthcm91bmRzCisgICAgICAgIGZvciBvbGQgYnJvd3NlcnMuIEluc3RlYWQgd2UgdHJl
YXQgdXNlIG9mIHRoZSBzZXR0ZXIgb24KKyAgICAgICAgdGhlIHByb3RvdHlwZSBvYmplY3QgaW4g
dGhlIHNhbWUgd2F5IHdlIGRvIGdldHRlcnMsIGFuZCBqdXN0CisgICAgICAgIGxvZyBhIHdhcm5p
bmcgdG8gdGhlIGNvbnNvbGUuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKToKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRp
b24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjIp
OgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjMpOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c05vZGUpOgorICAg
ICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0SW50ZXJmYWNlU3VwcGxlbWVudGFsU3RyMik6CisgICAg
ICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RJbnRlcmZhY2VTdXBwbGVtZW50YWxTdHIzKToKKyAgICAg
ICAgKFdlYkNvcmU6OnNldEpTVGVzdEludGVyZmFjZVN1cHBsZW1lbnRhbE5vZGUpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRlcm1pbmlzdGljLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE5vbmRldGVybWluaXN0aWNOb25kZXRlcm1pbmlz
dGljV3JpdGVhYmxlQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3ROb25kZXRlcm1p
bmlzdGljTm9uZGV0ZXJtaW5pc3RpY0V4Y2VwdGlvbkF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0Tm9uZGV0ZXJtaW5pc3RpY05vbmRldGVybWluaXN0aWNHZXR0ZXJFeGNlcHRpb25B
dHRyKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE5vbmRldGVybWluaXN0aWNOb25kZXRl
cm1pbmlzdGljU2V0dGVyRXhjZXB0aW9uQXR0cik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpU
ZXN0U3ViT2JqRW5hYmxlZEJ5U2V0dGluZ0NvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6
OnNldEpTVGVzdE9iakVudW1BdHRyKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iakJ5
dGVBdHRyKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iak9jdGV0QXR0cik6CisgICAg
ICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpTaG9ydEF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0T2JqVW5zaWduZWRTaG9ydEF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNU
ZXN0T2JqTG9uZ0F0dHIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqTG9uZ0xvbmdB
dHRyKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ialVuc2lnbmVkTG9uZ0xvbmdBdHRy
KToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ialN0cmluZ0F0dHIpOgorICAgICAgICAo
V2ViQ29yZTo6c2V0SlNUZXN0T2JqVGVzdE9iakF0dHIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0
SlNUZXN0T2JqWE1MT2JqQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpDcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqUmVmbGVjdGVkU3RyaW5nQXR0cik6
CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRJbnRlZ3JhbEF0dHIpOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqUmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0
dHIpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqUmVmbGVjdGVkQm9vbGVhbkF0dHIp
OgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqUmVmbGVjdGVkVVJMQXR0cik6CisgICAg
ICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIpOgor
ICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIp
OgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tVVJMQXR0cik6
CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpUeXBlZEFycmF5QXR0cik6CisgICAgICAg
IChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpBdHRyV2l0aEdldHRlckV4Y2VwdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpBdHRyV2l0aFNldHRlckV4Y2VwdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpTdHJpbmdBdHRyV2l0aFNldHRlckV4Y2VwdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpDdXN0b21BdHRyKToKKyAgICAgICAg
KFdlYkNvcmU6OnNldEpTVGVzdE9ialdpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0U3RhdGVBdHRyaWJ1
dGVSYWlzZXMpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlzZXMpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0
T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFu
ZFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVz
dE9ialdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5kU2NyaXB0U3RhdGVXaXRoU3BhY2VzQXR0
cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ialdpdGhTY3JpcHRBcmd1bWVu
dHNBbmRDYWxsU3RhY2tBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2Jq
Q29uZGl0aW9uYWxBdHRyMSk6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpDb25kaXRp
b25hbEF0dHIyKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iakNvbmRpdGlvbmFsQXR0
cjMpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqQ29uZGl0aW9uYWxBdHRyNENvbnN0
cnVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iakNvbmRpdGlvbmFsQXR0cjVD
b25zdHJ1Y3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpDb25kaXRpb25hbEF0
dHI2Q29uc3RydWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqQW55QXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iak11dGFibGVQb2ludCk6CisgICAg
ICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RPYmpJbW11dGFibGVQb2ludCk6CisgICAgICAgIChXZWJD
b3JlOjpzZXRKU1Rlc3RPYmpTdHJhd2JlcnJ5KToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVz
dE9ialN0cmljdEZsb2F0KToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iaklkKToKKyAg
ICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ialJlcGxhY2VhYmxlQXR0cmlidXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iak51bGxhYmxlTG9uZ1NldHRhYmxlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9iak51bGxhYmxlU3RyaW5nVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0T2JqQXR0cmlidXRlV2l0aFJlc2VydmVkRW51bVR5cGUp
OgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNU
ZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2FjaGVkVmFsdWUpOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRKU1Rlc3RUeXBlZGVmc1Vuc2lnbmVkTG9uZ0xvbmdBdHRyKToKKyAgICAgICAg
KFdlYkNvcmU6OnNldEpTVGVzdFR5cGVkZWZzSW1tdXRhYmxlU2VyaWFsaXplZFNjcmlwdFZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdFR5cGVkZWZzQXR0cldpdGhHZXR0ZXJFeGNl
cHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6c2V0SlNUZXN0VHlwZWRlZnNBdHRyV2l0aFNldHRl
ckV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RUeXBlZGVmc1N0cmluZ0F0
dHJXaXRoR2V0dGVyRXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdFR5cGVk
ZWZzU3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24pOgorCiAyMDE0LTA1LTA2ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgaU9TIGJ1
aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKaW5kZXgg
YWRlMjgyNmU3Yzc4NjAxNGRkYjFiMWY2YThiMmI3OTc0ZmMyYWYyZS4uZDljNDdlM2FmOWFkZDVj
NWUzYjFiNjdhMDdkMDZkMzNjNWQ2Nzg5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuY3BwCkBAIC01NzYsNiArNTc2LDEyIEBAIEpTQzo6RW5jb2RlZEpTVmFs
dWUgcmVwb3J0RGVwcmVjYXRlZEdldHRlckVycm9yKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgY29u
c3QgY2hhCiAgICAgY29udGV4dC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywg
TWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiRGVwcmVjYXRlZCBhdHRlbXB0IHRvIGFj
Y2VzcyBwcm9wZXJ0eSAnIiwgYXR0cmlidXRlTmFtZSwgIicgb24gYSBub24tIiwgaW50ZXJmYWNl
TmFtZSwgIiBvYmplY3QuIikpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CiB9CisgICAgCit2b2lkIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcihKU0M6OkV4
ZWNTdGF0ZSYgc3RhdGUsIGNvbnN0IGNoYXIqIGludGVyZmFjZU5hbWUsIGNvbnN0IGNoYXIqIGF0
dHJpYnV0ZU5hbWUpCit7CisgICAgYXV0byYgY29udGV4dCA9ICpqc0Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihzdGF0ZS5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CisgICAgY29udGV4dC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywg
TWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiRGVwcmVjYXRlZCBhdHRlbXB0IHRvIHNl
dCBwcm9wZXJ0eSAnIiwgYXR0cmlidXRlTmFtZSwgIicgb24gYSBub24tIiwgaW50ZXJmYWNlTmFt
ZSwgIiBvYmplY3QuIikpOworfQogCiBKU0M6OkVuY29kZWRKU1ZhbHVlIHRocm93QXJndW1lbnRN
dXN0QmVFbnVtRXJyb3IoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCB1bnNpZ25lZCBhcmd1bWVudElu
ZGV4LCBjb25zdCBjaGFyKiBhcmd1bWVudE5hbWUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uSW50ZXJm
YWNlTmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBjb25zdCBjaGFyKiBleHBlY3RlZFZh
bHVlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmlu
ZGluZy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXgg
MzdjYzRhYWI0OWQ4Mzg4MGM1NmI4ZDE1NDAzNTM2M2JlYjRjNDk3Yy4uMGQxMjE0YWRhZTNlMDg5
MmFlYjllODVlODMzYTU2ZjU5NTQ5NTk3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nLmgKQEAgLTY3LDYgKzY3LDcgQEAgRE9NV2luZG93JiBhY3RpdmVET01XaW5k
b3coSlNDOjpFeGVjU3RhdGUqKTsKIERPTVdpbmRvdyYgZmlyc3RET01XaW5kb3coSlNDOjpFeGVj
U3RhdGUqKTsKIAogSlNDOjpFbmNvZGVkSlNWYWx1ZSByZXBvcnREZXByZWNhdGVkR2V0dGVyRXJy
b3IoSlNDOjpFeGVjU3RhdGUmLCBjb25zdCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFy
KiBhdHRyaWJ1dGVOYW1lKTsKK3ZvaWQgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKEpTQzo6
RXhlY1N0YXRlJiwgY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSwgY29uc3QgY2hhciogYXR0cmli
dXRlTmFtZSk7CiAKIHZvaWQgdGhyb3dBcnJheUVsZW1lbnRUeXBlRXJyb3IoSlNDOjpFeGVjU3Rh
dGUmKTsKIHZvaWQgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IoSlNDOjpFeGVjU3RhdGUmLCBjb25z
dCBjaGFyKiBpbnRlcmZhY2VOYW1lLCBjb25zdCBjaGFyKiBhdHRyaWJ1dGVOYW1lLCBjb25zdCBj
aGFyKiBleHBlY3RlZFR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBhZDhmZDZjZTAyZmY1YWYxYzIyZjkyYTM4OTYy
YzdlMzczN2FhOTYxLi4wMzVmN2RiY2NmYjFjNDcyNmY1YjgzM2UxZGFkYzYxNDI3YWMwNTE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQpAQCAtMjQ4Myw3ICsyNDgzLDEwIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFt
ZX0qIGNhc3RlZFRoaXMgPSAiIC4gR2V0Q2FzdGluZ0hlbHBlckZvclRoaXNPYmplY3QoJGludGVy
ZmFjZSkgLiAiKEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTtcbiIpOwogICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGlm
IChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsIFwiJGlu
dGVyZmFjZU5hbWVcIiwgXCIkbmFtZVwiKTtcbiIpOworICAgICAgICAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgIiAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8JHtjbGFzc05hbWV9UHJv
dG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKVxuIik7CisgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNl
dHRlckVycm9yKCpleGVjLCBcIiRpbnRlcmZhY2VOYW1lXCIsIFwiJG5hbWVcIik7XG4iKTsKKyAg
ICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIGVsc2VcbiIpOwor
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgICAgIHRocm93
U2V0dGVyVHlwZUVycm9yKCpleGVjLCBcIiRpbnRlcmZhY2VOYW1lXCIsIFwiJG5hbWVcIik7XG4i
KTsKICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVy
bjtcbiIpOwogICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICB9XG4i
KTsKICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGQ2YzBmZWUw
YjBlMjM5MzdkNzllZDE1MzA2ZGQwZWEyMmZmN2Q2ZDIuLjFlYTFlNmYwMjBhM2IwZDRjYjYyZjM1
OWI2NWRiYmUzMWRjN2VjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC02MjUsNyArNjI1
LDEwIEBAIHZvaWQgc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c1N0cjIoRXhlY1N0YXRlKiBl
eGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdCAqCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdEludGVyZmFjZSogY2FzdGVkVGhp
cyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0SW50ZXJmYWNlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNW
YWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dT
ZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0SW50ZXJmYWNlIiwgImltcGxlbWVudHNTdHIyIik7
CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdEludGVyZmFjZVByb3RvdHlwZSo+KEpT
VmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRT
ZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RJbnRlcmZhY2UiLCAiaW1wbGVtZW50c1N0cjIiKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0
SW50ZXJmYWNlIiwgImltcGxlbWVudHNTdHIyIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgVGVzdEludGVyZmFjZSYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTY0Myw3ICs2
NDYsMTAgQEAgdm9pZCBzZXRKU1Rlc3RJbnRlcmZhY2VJbXBsZW1lbnRzU3RyMyhFeGVjU3RhdGUq
IGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2JqZWN0ICoKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0SW50ZXJmYWNlKiBjYXN0ZWRU
aGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RJbnRlcmZhY2UqPihKU1ZhbHVlOjpkZWNvZGUodGhp
c1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJv
d1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RJbnRlcmZhY2UiLCAiaW1wbGVtZW50c1N0cjMi
KTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0SW50ZXJmYWNlUHJvdG90eXBlKj4o
SlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRl
ZFNldHRlckVycm9yKCpleGVjLCAiVGVzdEludGVyZmFjZSIsICJpbXBsZW1lbnRzU3RyMyIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRl
c3RJbnRlcmZhY2UiLCAiaW1wbGVtZW50c1N0cjMiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICBjYXN0ZWRUaGlzLT5zZXRJbXBsZW1lbnRzU3RyMyhleGVjLCB2YWx1ZSk7CkBAIC02NTcs
NyArNjYzLDEwIEBAIHZvaWQgc2V0SlNUZXN0SW50ZXJmYWNlSW1wbGVtZW50c05vZGUoRXhlY1N0
YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdCAqCiAgICAgSlNWYWx1ZSB2YWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdEludGVyZmFjZSogY2Fz
dGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0SW50ZXJmYWNlKj4oSlNWYWx1ZTo6ZGVjb2Rl
KHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAg
dGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0SW50ZXJmYWNlIiwgImltcGxlbWVudHNO
b2RlIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdEludGVyZmFjZVByb3RvdHlw
ZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJl
Y2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RJbnRlcmZhY2UiLCAiaW1wbGVtZW50c05vZGUi
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMs
ICJUZXN0SW50ZXJmYWNlIiwgImltcGxlbWVudHNOb2RlIik7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgVGVzdEludGVyZmFjZSYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTY4
Nyw3ICs2OTYsMTAgQEAgdm9pZCBzZXRKU1Rlc3RJbnRlcmZhY2VTdXBwbGVtZW50YWxTdHIyKEV4
ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJhc2VPYmplY3QKICAgICBKU1ZhbHVlIHZhbHVl
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0SW50ZXJmYWNlKiBj
YXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RJbnRlcmZhY2UqPihKU1ZhbHVlOjpkZWNv
ZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAg
ICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RJbnRlcmZhY2UiLCAic3VwcGxlbWVu
dGFsU3RyMiIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RJbnRlcmZhY2VQcm90
b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAgICByZXBvcnRE
ZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0SW50ZXJmYWNlIiwgInN1cHBsZW1lbnRh
bFN0cjIiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3Io
KmV4ZWMsICJUZXN0SW50ZXJmYWNlIiwgInN1cHBsZW1lbnRhbFN0cjIiKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICBUZXN0SW50ZXJmYWNlJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgp
OwpAQCAtNzA1LDcgKzcxNywxMCBAQCB2b2lkIHNldEpTVGVzdEludGVyZmFjZVN1cHBsZW1lbnRh
bFN0cjMoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdAogICAgIEpTVmFs
dWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RJbnRl
cmZhY2UqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdEludGVyZmFjZSo+KEpTVmFs
dWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7
Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdEludGVyZmFjZSIsICJz
dXBwbGVtZW50YWxTdHIzIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdEludGVy
ZmFjZVByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAg
IHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RJbnRlcmZhY2UiLCAic3Vw
cGxlbWVudGFsU3RyMyIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5
cGVFcnJvcigqZXhlYywgIlRlc3RJbnRlcmZhY2UiLCAic3VwcGxlbWVudGFsU3RyMyIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc3RlZFRoaXMtPnNldFN1cHBsZW1lbnRhbFN0cjMo
ZXhlYywgdmFsdWUpOwpAQCAtNzE5LDcgKzczNCwxMCBAQCB2b2lkIHNldEpTVGVzdEludGVyZmFj
ZVN1cHBsZW1lbnRhbE5vZGUoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVj
dAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAg
ICBKU1Rlc3RJbnRlcmZhY2UqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdEludGVy
ZmFjZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNh
c3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdElu
dGVyZmFjZSIsICJzdXBwbGVtZW50YWxOb2RlIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0
PEpTVGVzdEludGVyZmFjZVByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkK
KyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RJbnRl
cmZhY2UiLCAic3VwcGxlbWVudGFsTm9kZSIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0
aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RJbnRlcmZhY2UiLCAic3VwcGxlbWVudGFs
Tm9kZSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RJbnRlcmZhY2UmIGltcGwg
PSBjYXN0ZWRUaGlzLT5pbXBsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Tm9uZGV0ZXJtaW5pc3RpYy5jcHAK
aW5kZXggZWJiZmRhZDQxN2I0MjgxODczNjAwNWM0NjI0MTQwZjEyYzExYTNiZS4uMzk5MzZiYjhj
NGZkMGRkMjcyM2MxMWY2ZWZlNTYzZDMyZWZjZWMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5vbmRldGVybWluaXN0aWMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3ROb25kZXRl
cm1pbmlzdGljLmNwcApAQCAtMzM5LDcgKzMzOSwxMCBAQCB2b2lkIHNldEpTVGVzdE5vbmRldGVy
bWluaXN0aWNOb25kZXRlcm1pbmlzdGljV3JpdGVhYmxlQXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpT
TwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAg
ICBKU1Rlc3ROb25kZXRlcm1pbmlzdGljKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rl
c3ROb25kZXRlcm1pbmlzdGljKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlm
IChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3Io
KmV4ZWMsICJUZXN0Tm9uZGV0ZXJtaW5pc3RpYyIsICJub25kZXRlcm1pbmlzdGljV3JpdGVhYmxl
QXR0ciIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3ROb25kZXRlcm1pbmlzdGlj
UHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVw
b3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE5vbmRldGVybWluaXN0aWMiLCAi
bm9uZGV0ZXJtaW5pc3RpY1dyaXRlYWJsZUF0dHIiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0Tm9uZGV0ZXJtaW5pc3RpYyIsICJu
b25kZXRlcm1pbmlzdGljV3JpdGVhYmxlQXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIFRlc3ROb25kZXRlcm1pbmlzdGljJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAt
MzU1LDcgKzM1OCwxMCBAQCB2b2lkIHNldEpTVGVzdE5vbmRldGVybWluaXN0aWNOb25kZXRlcm1p
bmlzdGljRXhjZXB0aW9uQXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTTwogICAgIEpTVmFsdWUgdmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3ROb25kZXRlcm1p
bmlzdGljKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3ROb25kZXRlcm1pbmlzdGlj
Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVk
VGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0Tm9uZGV0
ZXJtaW5pc3RpYyIsICJub25kZXRlcm1pbmlzdGljRXhjZXB0aW9uQXR0ciIpOworICAgICAgICBp
ZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3ROb25kZXRlcm1pbmlzdGljUHJvdG90eXBlKj4oSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRl
ckVycm9yKCpleGVjLCAiVGVzdE5vbmRldGVybWluaXN0aWMiLCAibm9uZGV0ZXJtaW5pc3RpY0V4
Y2VwdGlvbkF0dHIiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBl
RXJyb3IoKmV4ZWMsICJUZXN0Tm9uZGV0ZXJtaW5pc3RpYyIsICJub25kZXRlcm1pbmlzdGljRXhj
ZXB0aW9uQXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3ROb25kZXRlcm1p
bmlzdGljJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMzcxLDcgKzM3NywxMCBAQCB2
b2lkIHNldEpTVGVzdE5vbmRldGVybWluaXN0aWNOb25kZXRlcm1pbmlzdGljR2V0dGVyRXhjZXB0
aW9uQXR0cihFeGVjU3RhdGUqIGV4ZQogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3ROb25kZXRlcm1pbmlzdGljKiBjYXN0ZWRUaGlz
ID0ganNEeW5hbWljQ2FzdDxKU1Rlc3ROb25kZXRlcm1pbmlzdGljKj4oSlNWYWx1ZTo6ZGVjb2Rl
KHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAg
dGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0Tm9uZGV0ZXJtaW5pc3RpYyIsICJub25k
ZXRlcm1pbmlzdGljR2V0dGVyRXhjZXB0aW9uQXR0ciIpOworICAgICAgICBpZiAoanNEeW5hbWlj
Q2FzdDxKU1Rlc3ROb25kZXRlcm1pbmlzdGljUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVj
LCAiVGVzdE5vbmRldGVybWluaXN0aWMiLCAibm9uZGV0ZXJtaW5pc3RpY0dldHRlckV4Y2VwdGlv
bkF0dHIiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3Io
KmV4ZWMsICJUZXN0Tm9uZGV0ZXJtaW5pc3RpYyIsICJub25kZXRlcm1pbmlzdGljR2V0dGVyRXhj
ZXB0aW9uQXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3ROb25kZXRlcm1p
bmlzdGljJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMzg3LDcgKzM5NiwxMCBAQCB2
b2lkIHNldEpTVGVzdE5vbmRldGVybWluaXN0aWNOb25kZXRlcm1pbmlzdGljU2V0dGVyRXhjZXB0
aW9uQXR0cihFeGVjU3RhdGUqIGV4ZQogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3ROb25kZXRlcm1pbmlzdGljKiBjYXN0ZWRUaGlz
ID0ganNEeW5hbWljQ2FzdDxKU1Rlc3ROb25kZXRlcm1pbmlzdGljKj4oSlNWYWx1ZTo6ZGVjb2Rl
KHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAg
dGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0Tm9uZGV0ZXJtaW5pc3RpYyIsICJub25k
ZXRlcm1pbmlzdGljU2V0dGVyRXhjZXB0aW9uQXR0ciIpOworICAgICAgICBpZiAoanNEeW5hbWlj
Q2FzdDxKU1Rlc3ROb25kZXRlcm1pbmlzdGljUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVj
LCAiVGVzdE5vbmRldGVybWluaXN0aWMiLCAibm9uZGV0ZXJtaW5pc3RpY1NldHRlckV4Y2VwdGlv
bkF0dHIiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3Io
KmV4ZWMsICJUZXN0Tm9uZGV0ZXJtaW5pc3RpYyIsICJub25kZXRlcm1pbmlzdGljU2V0dGVyRXhj
ZXB0aW9uQXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3ROb25kZXRlcm1p
bmlzdGljJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCA4MWIzZDlm
MWU4MDM0NGU1M2IwNjI5NGI1ZDI5MGJiMmY3MDBkMWM0Li4wZWNkNjUxMWM4MmQ0NzE4ZmQxZTli
OTI4ZTRhMzA0ZGFjOGE2NGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMjAyNiw3ICsyMDI2LDEwIEBAIHZv
aWQgc2V0SlNUZXN0T2JqVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmdDb25zdHJ1Y3RvcihFeGVj
U3RhdGUqIGV4ZWMsIEpTT2JqZWN0CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nh
c3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJ
S0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMs
ICJUZXN0T2JqIiwgIlRlc3RTdWJPYmpFbmFibGVkQnlTZXR0aW5nIik7CisgICAgICAgIGlmIChq
c0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFs
dWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRl
c3RPYmoiLCAiVGVzdFN1Yk9iakVuYWJsZWRCeVNldHRpbmciKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgIlRlc3RTdWJP
YmpFbmFibGVkQnlTZXR0aW5nIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgLy8gU2hh
ZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IKQEAgLTIwMzksNyArMjA0MiwxMCBAQCB2b2lk
IHNldEpTVGVzdE9iakVudW1BdHRyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJhc2VP
YmplY3QgKi8sIEVuY29kZWRKUwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0
PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtF
TFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAi
VGVzdE9iaiIsICJlbnVtQXR0ciIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RP
YmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAgICBy
ZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImVudW1BdHRyIik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAi
VGVzdE9iaiIsICJlbnVtQXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RP
YmomIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yMDU3LDcgKzIwNjMsMTAgQEAgdm9p
ZCBzZXRKU1Rlc3RPYmpCeXRlQXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNl
T2JqZWN0ICovLCBFbmNvZGVkSlMKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2Fz
dDxKU1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElL
RUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywg
IlRlc3RPYmoiLCAiYnl0ZUF0dHIiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0
T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAg
cmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJieXRlQXR0ciIp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywg
IlRlc3RPYmoiLCAiYnl0ZUF0dHIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0
T2JqJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjA3Myw3ICsyMDgyLDEwIEBAIHZv
aWQgc2V0SlNUZXN0T2JqT2N0ZXRBdHRyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJh
c2VPYmplY3QgKi8sIEVuY29kZWRKCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nh
c3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJ
S0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMs
ICJUZXN0T2JqIiwgIm9jdGV0QXR0ciIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rl
c3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAg
ICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgIm9jdGV0QXR0
ciIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhl
YywgIlRlc3RPYmoiLCAib2N0ZXRBdHRyIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAg
VGVzdE9iaiYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTIwODksNyArMjEwMSwxMCBA
QCB2b2lkIHNldEpTVGVzdE9ialNob3J0QXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAv
KiBiYXNlT2JqZWN0ICovLCBFbmNvZGVkSgogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFt
aWNDYXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAo
VU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpl
eGVjLCAiVGVzdE9iaiIsICJzaG9ydEF0dHIiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8
SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAg
ICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJzaG9y
dEF0dHIiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3Io
KmV4ZWMsICJUZXN0T2JqIiwgInNob3J0QXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yMTA1LDcgKzIxMjAs
MTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpVbnNpZ25lZFNob3J0QXR0cihFeGVjU3RhdGUqIGV4ZWMs
IEpTT2JqZWN0KiAvKiBiYXNlT2JqZWN0ICovLAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVl
OjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5
bmFtaWNDYXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBp
ZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9y
KCpleGVjLCAiVGVzdE9iaiIsICJ1bnNpZ25lZFNob3J0QXR0ciIpOworICAgICAgICBpZiAoanNE
eW5hbWljQ2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0
T2JqIiwgInVuc2lnbmVkU2hvcnRBdHRyIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRo
cm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ1bnNpZ25lZFNob3J0QXR0ciIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRUaGlz
LT5pbXBsKCk7CkBAIC0yMTIxLDcgKzIxMzksMTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpMb25nQXR0
cihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2JqZWN0ICovLCBFbmNvZGVkSlMK
ICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAg
SlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVl
OjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewot
ICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAibG9uZ0F0dHIi
KTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRl
ckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJsb25nQXR0ciIpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAibG9uZ0F0dHIi
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2FzdGVkVGhp
cy0+aW1wbCgpOwpAQCAtMjEzNyw3ICsyMTU4LDEwIEBAIHZvaWQgc2V0SlNUZXN0T2JqTG9uZ0xv
bmdBdHRyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJhc2VPYmplY3QgKi8sIEVuY29k
CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAg
IEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsK
LSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImxvbmdMb25n
QXR0ciIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihK
U1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVk
U2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImxvbmdMb25nQXR0ciIpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAi
bG9uZ0xvbmdBdHRyIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1w
bCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTIxNTMsNyArMjE3NywxMCBAQCB2b2lkIHNldEpT
VGVzdE9ialVuc2lnbmVkTG9uZ0xvbmdBdHRyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8q
IGJhc2VPYmplY3QgKgogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVz
dE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNh
c3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9i
aiIsICJ1bnNpZ25lZExvbmdMb25nQXR0ciIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxK
U1Rlc3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAg
ICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInVuc2ln
bmVkTG9uZ0xvbmdBdHRyIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0dGVy
VHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ1bnNpZ25lZExvbmdMb25nQXR0ciIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBs
KCk7CkBAIC0yMTY5LDcgKzIxOTYsMTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpTdHJpbmdBdHRyKEV4
ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJhc2VPYmplY3QgKi8sIEVuY29kZWQKICAgICBK
U1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0
T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNv
ZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAg
ICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAic3RyaW5nQXR0ciIpOwor
ICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpk
ZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJy
b3IoKmV4ZWMsICJUZXN0T2JqIiwgInN0cmluZ0F0dHIiKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInN0cmluZ0F0dHIi
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2FzdGVkVGhp
cy0+aW1wbCgpOwpAQCAtMjE4NSw3ICsyMjE1LDEwIEBAIHZvaWQgc2V0SlNUZXN0T2JqVGVzdE9i
akF0dHIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdCAqLywgRW5jb2Rl
CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAg
IEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsK
LSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInRlc3RPYmpB
dHRyIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpT
VmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRT
ZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAidGVzdE9iakF0dHIiKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInRl
c3RPYmpBdHRyIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9
IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTIyMDEsNyArMjIzNCwxMCBAQCB2b2lkIHNldEpTVGVz
dE9ialhNTE9iakF0dHIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdCAq
LywgRW5jb2RlZAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZh
bHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9i
aio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3Rl
ZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIs
ICJYTUxPYmpBdHRyIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3Rv
dHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERl
cHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAiWE1MT2JqQXR0ciIpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAiWE1MT2JqQXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmom
IGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yMjE3LDcgKzIyNTMsMTAgQEAgdm9pZCBz
ZXRKU1Rlc3RPYmpDcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVj
dCAqLywgRW5jb2RlZEpTVmEKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxK
U1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZ
KCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRl
c3RPYmoiLCAiY3JlYXRlIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialBy
b3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9y
dERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAiY3JlYXRlIik7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9i
aiIsICJjcmVhdGUiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBpbXBs
ID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjIzMyw3ICsyMjcyLDEwIEBAIHZvaWQgc2V0SlNU
ZXN0T2JqUmVmbGVjdGVkU3RyaW5nQXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBi
YXNlT2JqZWN0ICovCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
VmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0
T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2Fz
dGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2Jq
IiwgInJlZmxlY3RlZFN0cmluZ0F0dHIiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNU
ZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAg
ICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJyZWZsZWN0
ZWRTdHJpbmdBdHRyIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlw
ZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJyZWZsZWN0ZWRTdHJpbmdBdHRyIik7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsK
QEAgLTIyNDksNyArMjI5MSwxMCBAQCB2b2lkIHNldEpTVGVzdE9ialJlZmxlY3RlZEludGVncmFs
QXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2JqZWN0CiAgICAgSlNWYWx1
ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiog
Y2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhy
b3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInJlZmxlY3RlZEludGVncmFsQXR0
ciIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihKU1Zh
bHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0
dGVyRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInJlZmxlY3RlZEludGVncmFsQXR0ciIpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAicmVmbGVjdGVkSW50ZWdyYWxBdHRyIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgVGVzdE9iaiYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTIyNjUsNyArMjMxMCwx
MCBAQCB2b2lkIHNldEpTVGVzdE9ialJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKEV4ZWNT
dGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJhcwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVl
OjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5
bmFtaWNDYXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBp
ZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9y
KCpleGVjLCAiVGVzdE9iaiIsICJyZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0ciIpOworICAg
ICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNv
ZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3Io
KmV4ZWMsICJUZXN0T2JqIiwgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIik7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9i
aiIsICJyZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0ciIpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yMjgxLDcg
KzIzMjksMTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpSZWZsZWN0ZWRCb29sZWFuQXR0cihFeGVjU3Rh
dGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2JqZWN0ICoKICAgICBKU1ZhbHVlIHZhbHVlID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlz
ID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7
CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5
cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAicmVmbGVjdGVkQm9vbGVhbkF0dHIiKTsKKyAgICAg
ICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2Rl
KHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpl
eGVjLCAiVGVzdE9iaiIsICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAicmVmbGVj
dGVkQm9vbGVhbkF0dHIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBp
bXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjI5Nyw3ICsyMzQ4LDEwIEBAIHZvaWQgc2V0
SlNUZXN0T2JqUmVmbGVjdGVkVVJMQXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBi
YXNlT2JqZWN0ICovLCBFCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNU
ZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSgh
Y2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0
T2JqIiwgInJlZmxlY3RlZFVSTEF0dHIiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNU
ZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAg
ICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJyZWZsZWN0
ZWRVUkxBdHRyIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVy
cm9yKCpleGVjLCAiVGVzdE9iaiIsICJyZWZsZWN0ZWRVUkxBdHRyIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTIz
MTMsNyArMjM2NywxMCBAQCB2b2lkIHNldEpTVGVzdE9ialJlZmxlY3RlZFN0cmluZ0F0dHIoRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdCAqLwogICAgIEpTVmFsdWUgdmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3Rl
ZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFs
dWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0
dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJyZWZsZWN0ZWRTdHJpbmdBdHRyIik7Cisg
ICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRl
Y29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJv
cigqZXhlYywgIlRlc3RPYmoiLCAicmVmbGVjdGVkU3RyaW5nQXR0ciIpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAicmVm
bGVjdGVkU3RyaW5nQXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmom
IGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yMzI5LDcgKzIzODYsMTAgQEAgdm9pZCBz
ZXRKU1Rlc3RPYmpSZWZsZWN0ZWRDdXN0b21JbnRlZ3JhbEF0dHIoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogLyogYmFzZU8KICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxK
U1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZ
KCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRl
c3RPYmoiLCAicmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyIik7CisgICAgICAgIGlmIChqc0R5
bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUp
KSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAicmVmbGVjdGVkQ3VzdG9tSW50ZWdyYWxBdHRyIik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJyZWZsZWN0ZWRD
dXN0b21JbnRlZ3JhbEF0dHIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0T2Jq
JiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjM0NSw3ICsyNDA1LDEwIEBAIHZvaWQg
c2V0SlNUZXN0T2JqUmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogLyogYmFzZU9iCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8
SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VM
WSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJU
ZXN0T2JqIiwgInJlZmxlY3RlZEN1c3RvbUJvb2xlYW5BdHRyIik7CisgICAgICAgIGlmIChqc0R5
bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUp
KSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAicmVmbGVjdGVkQ3VzdG9tQm9vbGVhbkF0dHIiKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInJlZmxlY3RlZEN1
c3RvbUJvb2xlYW5BdHRyIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYg
aW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTIzNjEsNyArMjQyNCwxMCBAQCB2b2lkIHNl
dEpTVGVzdE9ialJlZmxlY3RlZEN1c3RvbVVSTEF0dHIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVj
dCogLyogYmFzZU9iamVjdAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpT
VGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFko
IWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVz
dE9iaiIsICJyZWZsZWN0ZWRDdXN0b21VUkxBdHRyIik7CisgICAgICAgIGlmIChqc0R5bmFtaWND
YXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAg
ICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAi
cmVmbGVjdGVkQ3VzdG9tVVJMQXR0ciIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJv
d1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAicmVmbGVjdGVkQ3VzdG9tVVJMQXR0
ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRU
aGlzLT5pbXBsKCk7CkBAIC0yMzc3LDcgKzI0NDMsMTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpUeXBl
ZEFycmF5QXR0cihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2JqZWN0ICovLCBF
bmMKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAg
ICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihKU1Zh
bHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkg
ewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAidHlwZWRB
cnJheUF0dHIiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBl
Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVj
YXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ0eXBlZEFycmF5QXR0ciIpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAidHlwZWRBcnJheUF0dHIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0
T2JqJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjM5Myw3ICsyNDYyLDEwIEBAIHZv
aWQgc2V0SlNUZXN0T2JqQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogLyogYmFzZU9iamVjCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nh
c3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJ
S0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMs
ICJUZXN0T2JqIiwgImF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIik7CisgICAgICAgIGlmIChqc0R5
bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUp
KSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAiYXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImF0dHJXaXRoR2V0dGVy
RXhjZXB0aW9uIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9
IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTI0MDksNyArMjQ4MSwxMCBAQCB2b2lkIHNldEpTVGVz
dE9iakF0dHJXaXRoU2V0dGVyRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8q
IGJhc2VPYmplYwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZh
bHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9i
aio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3Rl
ZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIs
ICJhdHRyV2l0aFNldHRlckV4Y2VwdGlvbiIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxK
U1Rlc3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAg
ICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImF0dHJX
aXRoU2V0dGVyRXhjZXB0aW9uIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0
dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJhdHRyV2l0aFNldHRlckV4Y2VwdGlvbiIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRUaGlz
LT5pbXBsKCk7CkBAIC0yNDI3LDcgKzI1MDIsMTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpTdHJpbmdB
dHRyV2l0aEdldHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXMK
ICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAg
SlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVl
OjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewot
ICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAic3RyaW5nQXR0
cldpdGhHZXR0ZXJFeGNlcHRpb24iKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0
T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAg
cmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJzdHJpbmdBdHRy
V2l0aEdldHRlckV4Y2VwdGlvbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1Nl
dHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAic3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNl
cHRpb24iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2Fz
dGVkVGhpcy0+aW1wbCgpOwpAQCAtMjQ0Myw3ICsyNTIxLDEwIEBAIHZvaWQgc2V0SlNUZXN0T2Jq
U3RyaW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCog
LyogYmFzCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
OwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4o
SlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhp
cykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInN0
cmluZ0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0
PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAg
ICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAic3Ry
aW5nQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
dGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInN0cmluZ0F0dHJXaXRoU2V0
dGVyRXhjZXB0aW9uIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1w
bCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTI0NjEsNyArMjU0MiwxMCBAQCB2b2lkIHNldEpT
VGVzdE9iakN1c3RvbUF0dHIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVj
dCAqLywgRW5jb2RlZAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVz
dE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNh
c3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9i
aiIsICJjdXN0b21BdHRyIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialBy
b3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9y
dERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAiY3VzdG9tQXR0ciIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRl
c3RPYmoiLCAiY3VzdG9tQXR0ciIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNhc3Rl
ZFRoaXMtPnNldEN1c3RvbUF0dHIoZXhlYywgdmFsdWUpOwpAQCAtMjQ3Myw3ICsyNTU3LDEwIEBA
IHZvaWQgc2V0SlNUZXN0T2JqV2l0aFNjcmlwdFN0YXRlQXR0cmlidXRlKEV4ZWNTdGF0ZSogZXhl
YywgSlNPYmplY3QqIC8qIGJhc2VPYmplCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1p
Y0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChV
TkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4
ZWMsICJUZXN0T2JqIiwgIndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZSIpOworICAgICAgICBpZiAo
anNEeW5hbWljQ2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1Zh
bHVlKSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJU
ZXN0T2JqIiwgIndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZSIpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAid2l0aFNjcmlw
dFN0YXRlQXR0cmlidXRlIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYg
aW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTI0ODksNyArMjU3NiwxMCBAQCB2b2lkIHNl
dEpTVGVzdE9ialdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlKEV4ZWNTdGF0ZSog
ZXhlYywgSlNPYmplY3QqCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNU
ZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSgh
Y2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0
T2JqIiwgIndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlIik7CisgICAgICAgIGlm
IChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlz
VmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywg
IlRlc3RPYmoiLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGUiKTsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2Jq
IiwgIndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QXR0cmlidXRlIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTI1
MDgsNyArMjU5OCwxMCBAQCB2b2lkIHNldEpTVGVzdE9ialdpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0
ZVJhaXNlcyhFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYQogICAgIEpTVmFsdWUgdmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3Rl
ZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFs
dWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0
dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVS
YWlzZXMiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBlKj4o
SlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRl
ZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ3aXRoU2NyaXB0U3RhdGVBdHRyaWJ1dGVS
YWlzZXMiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3Io
KmV4ZWMsICJUZXN0T2JqIiwgIndpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBs
KCk7CkBAIC0yNTI0LDcgKzI2MTcsMTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlcyhFeGVjU3RhdGUqIGV4ZWMsIEpTT2IKICAgICBK
U1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0
T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNv
ZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAg
ICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAid2l0aFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlzZXMiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8
SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAg
ICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ3aXRo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dEF0dHJpYnV0ZVJhaXNlcyIpOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAid2l0aFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlzZXMiKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjU0Myw3
ICsyNjM5LDEwIEBAIHZvaWQgc2V0SlNUZXN0T2JqV2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRB
bmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZShFeGVjU3RhdGUqIGV4CiAgICAgSlNWYWx1ZSB2YWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhp
cyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkp
OwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJU
eXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgIndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5k
U2NyaXB0U3RhdGVBdHRyaWJ1dGUiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0
T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAg
cmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ3aXRoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlIik7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ3aXRo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlIik7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsK
QEAgLTI1NjIsNyArMjY2MSwxMCBAQCB2b2lkIHNldEpTVGVzdE9ialdpdGhTY3JpcHRFeGVjdXRp
b25Db250ZXh0QW5kU2NyaXB0U3RhdGVBdHRyaWJ1dGVSYWlzZXMoRXhlY1N0YQogICAgIEpTVmFs
dWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoq
IGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0
aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRo
cm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ3aXRoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzIik7CisgICAgICAgIGlmIChqc0R5
bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUp
KSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJh
aXNlcyIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigq
ZXhlYywgIlRlc3RPYmoiLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0
ZUF0dHJpYnV0ZVJhaXNlcyIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmom
IGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yNTgxLDcgKzI2ODMsMTAgQEAgdm9pZCBz
ZXRKU1Rlc3RPYmpXaXRoU2NyaXB0RXhlY3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlV2l0aFNw
YWNlc0F0dHJpYnV0ZShFeGUKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxK
U1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZ
KCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRl
c3RPYmoiLCAid2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFj
ZXNBdHRyaWJ1dGUiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90
eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVw
cmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ3aXRoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dEFuZFNjcmlwdFN0YXRlV2l0aFNwYWNlc0F0dHJpYnV0ZSIpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAid2l0
aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZVdpdGhTcGFjZXNBdHRyaWJ1dGUi
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2FzdGVkVGhp
cy0+aW1wbCgpOwpAQCAtMjYwMCw3ICsyNzA1LDEwIEBAIHZvaWQgc2V0SlNUZXN0T2JqV2l0aFNj
cmlwdEFyZ3VtZW50c0FuZENhbGxTdGFja0F0dHJpYnV0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTT2Jq
CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAg
IEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsK
LSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgIndpdGhTY3Jp
cHRBcmd1bWVudHNBbmRDYWxsU3RhY2tBdHRyaWJ1dGUiKTsKKyAgICAgICAgaWYgKGpzRHluYW1p
Y0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQor
ICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIs
ICJ3aXRoU2NyaXB0QXJndW1lbnRzQW5kQ2FsbFN0YWNrQXR0cmlidXRlIik7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJ3
aXRoU2NyaXB0QXJndW1lbnRzQW5kQ2FsbFN0YWNrQXR0cmlidXRlIik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTI2
MTcsNyArMjcyNSwxMCBAQCB2b2lkIHNldEpTVGVzdE9iakNvbmRpdGlvbmFsQXR0cjEoRXhlY1N0
YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdCAqLywgRQogICAgIEpTVmFsdWUgdmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3Rl
ZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFs
dWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0
dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJjb25kaXRpb25hbEF0dHIxIik7CisgICAg
ICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29k
ZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigq
ZXhlYywgIlRlc3RPYmoiLCAiY29uZGl0aW9uYWxBdHRyMSIpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAiY29uZGl0aW9u
YWxBdHRyMSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmomIGltcGwgPSBj
YXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yNjM1LDcgKzI3NDYsMTAgQEAgdm9pZCBzZXRKU1Rlc3RP
YmpDb25kaXRpb25hbEF0dHIyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJhc2VPYmpl
Y3QgKi8sIEUKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1
ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoq
PihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRU
aGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAi
Y29uZGl0aW9uYWxBdHRyMiIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RPYmpQ
cm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAgICByZXBv
cnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImNvbmRpdGlvbmFsQXR0
cjIiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4
ZWMsICJUZXN0T2JqIiwgImNvbmRpdGlvbmFsQXR0cjIiKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjY1Myw3ICsy
NzY3LDEwIEBAIHZvaWQgc2V0SlNUZXN0T2JqQ29uZGl0aW9uYWxBdHRyMyhFeGVjU3RhdGUqIGV4
ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2JqZWN0ICovLCBFCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9
IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwog
ICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBl
RXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImNvbmRpdGlvbmFsQXR0cjMiKTsKKyAgICAgICAgaWYg
KGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNW
YWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAi
VGVzdE9iaiIsICJjb25kaXRpb25hbEF0dHIzIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJjb25kaXRpb25hbEF0dHIz
Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9IGNhc3RlZFRo
aXMtPmltcGwoKTsKQEAgLTI2NzEsNyArMjc4OCwxMCBAQCB2b2lkIHNldEpTVGVzdE9iakNvbmRp
dGlvbmFsQXR0cjRDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNl
TwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAg
ICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+KEpTVmFs
dWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7
Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJjb25kaXRp
b25hbEF0dHI0Iik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlw
ZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJl
Y2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAiY29uZGl0aW9uYWxBdHRyNCIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRl
c3RPYmoiLCAiY29uZGl0aW9uYWxBdHRyNCIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
IC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yCkBAIC0yNjg2LDcgKzI4MDYsMTAg
QEAgdm9pZCBzZXRKU1Rlc3RPYmpDb25kaXRpb25hbEF0dHI1Q29uc3RydWN0b3IoRXhlY1N0YXRl
KiBleGVjLCBKU09iamVjdCogLyogYmFzZU8KICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5h
bWljQ2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYg
KFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigq
ZXhlYywgIlRlc3RPYmoiLCAiY29uZGl0aW9uYWxBdHRyNSIpOworICAgICAgICBpZiAoanNEeW5h
bWljQ2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkp
CisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0T2Jq
IiwgImNvbmRpdGlvbmFsQXR0cjUiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dT
ZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImNvbmRpdGlvbmFsQXR0cjUiKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KICAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1
Y3RvcgpAQCAtMjcwMSw3ICsyODI0LDEwIEBAIHZvaWQgc2V0SlNUZXN0T2JqQ29uZGl0aW9uYWxB
dHRyNkNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8qIGJhc2VPCiAgICAg
SlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVz
dE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVj
b2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAg
ICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImNvbmRpdGlvbmFsQXR0
cjYiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNW
YWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNl
dHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJjb25kaXRpb25hbEF0dHI2Iik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIs
ICJjb25kaXRpb25hbEF0dHI2Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgLy8gU2hh
ZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IKQEAgLTI3MTUsNyArMjg0MSwxMCBAQCB2b2lk
IHNldEpTVGVzdE9iakFueUF0dHJpYnV0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBi
YXNlT2JqZWN0ICovLCBFbmNvZAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0
PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtF
TFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAi
VGVzdE9iaiIsICJhbnlBdHRyaWJ1dGUiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNU
ZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAg
ICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJhbnlBdHRy
aWJ1dGUiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3Io
KmV4ZWMsICJUZXN0T2JqIiwgImFueUF0dHJpYnV0ZSIpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yNzMxLDcgKzI4
NjAsMTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpNdXRhYmxlUG9pbnQoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogLyogYmFzZU9iamVjdCAqLywgRW5jb2QKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0g
anNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAg
ICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVF
cnJvcigqZXhlYywgIlRlc3RPYmoiLCAibXV0YWJsZVBvaW50Iik7CisgICAgICAgIGlmIChqc0R5
bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUp
KSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAibXV0YWJsZVBvaW50Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0
dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJtdXRhYmxlUG9pbnQiKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpA
QCAtMjc0Nyw3ICsyODc5LDEwIEBAIHZvaWQgc2V0SlNUZXN0T2JqSW1tdXRhYmxlUG9pbnQoRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdCAqLywgRW5jCiAgICAgSlNWYWx1
ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiog
Y2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhy
b3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImltbXV0YWJsZVBvaW50Iik7Cisg
ICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlwZSo+KEpTVmFsdWU6OmRl
Y29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJv
cigqZXhlYywgIlRlc3RPYmoiLCAiaW1tdXRhYmxlUG9pbnQiKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgImltbXV0YWJs
ZVBvaW50Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdE9iaiYgaW1wbCA9IGNh
c3RlZFRoaXMtPmltcGwoKTsKQEAgLTI3NjMsNyArMjg5OCwxMCBAQCB2b2lkIHNldEpTVGVzdE9i
alN0cmF3YmVycnkoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9iamVjdCAqLywg
RW5jb2RlZAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE9iaio+
KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRo
aXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJz
dHJhd2JlcnJ5Iik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9ialByb3RvdHlw
ZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJl
Y2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAic3RyYXdiZXJyeSIpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoi
LCAic3RyYXdiZXJyeSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RPYmomIGlt
cGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0yNzc5LDcgKzI5MTcsMTAgQEAgdm9pZCBzZXRK
U1Rlc3RPYmpTdHJpY3RGbG9hdChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2Jq
ZWN0ICovLCBFbmNvZGUKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rl
c3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFj
YXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RP
YmoiLCAic3RyaWN0RmxvYXQiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2Jq
UHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVw
b3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJzdHJpY3RGbG9hdCIp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywg
IlRlc3RPYmoiLCAic3RyaWN0RmxvYXQiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBU
ZXN0T2JqJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjc5NSw3ICsyOTM2LDEwIEBA
IHZvaWQgc2V0SlNUZXN0T2JqSWQoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9i
amVjdCAqLywgRW5jb2RlZEpTVmFsdWUKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5hbWlj
Q2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVO
TElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhl
YywgIlRlc3RPYmoiLCAiaWQiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2Jq
UHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVw
b3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJpZCIpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoi
LCAiaWQiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2Fz
dGVkVGhpcy0+aW1wbCgpOwpAQCAtMjgxMSw3ICsyOTU1LDEwIEBAIHZvaWQgc2V0SlNUZXN0T2Jq
UmVwbGFjZWFibGVBdHRyaWJ1dGUoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZU9i
amVjdCAqCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
OwogICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4o
SlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhp
cykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgInJl
cGxhY2VhYmxlQXR0cmlidXRlIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdE9i
alByb3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJl
cG9ydERlcHJlY2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAicmVwbGFjZWFibGVB
dHRyaWJ1dGUiKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJy
b3IoKmV4ZWMsICJUZXN0T2JqIiwgInJlcGxhY2VhYmxlQXR0cmlidXRlIik7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAgICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gb2JqZWN0CkBAIC0yODI0
LDcgKzI5NzEsMTAgQEAgdm9pZCBzZXRKU1Rlc3RPYmpOdWxsYWJsZUxvbmdTZXR0YWJsZUF0dHJp
YnV0ZShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXMKICAgICBKU1ZhbHVlIHZhbHVl
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0T2JqKiBjYXN0ZWRU
aGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RPYmoqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRl
clR5cGVFcnJvcigqZXhlYywgIlRlc3RPYmoiLCAibnVsbGFibGVMb25nU2V0dGFibGVBdHRyaWJ1
dGUiKTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNW
YWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNl
dHRlckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJudWxsYWJsZUxvbmdTZXR0YWJsZUF0dHJpYnV0
ZSIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhl
YywgIlRlc3RPYmoiLCAibnVsbGFibGVMb25nU2V0dGFibGVBdHRyaWJ1dGUiKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBUZXN0T2JqJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpA
QCAtMjg0MCw3ICsyOTkwLDEwIEBAIHZvaWQgc2V0SlNUZXN0T2JqTnVsbGFibGVTdHJpbmdWYWx1
ZShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvKiBiYXNlT2JqZWN0ICovCiAgICAgSlNWYWx1
ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdE9iaiog
Y2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4oSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhy
b3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0T2JqIiwgIm51bGxhYmxlU3RyaW5nVmFsdWUi
KTsKKyAgICAgICAgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqUHJvdG90eXBlKj4oSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRl
ckVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJudWxsYWJsZVN0cmluZ1ZhbHVlIik7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIs
ICJudWxsYWJsZVN0cmluZ1ZhbHVlIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVz
dE9iaiYgaW1wbCA9IGNhc3RlZFRoaXMtPmltcGwoKTsKQEAgLTI4NTYsNyArMzAwOSwxMCBAQCB2
b2lkIHNldEpTVGVzdE9iakF0dHJpYnV0ZVdpdGhSZXNlcnZlZEVudW1UeXBlKEV4ZWNTdGF0ZSog
ZXhlYywgSlNPYmplY3QqIC8qIGJhcwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWND
YXN0PEpTVGVzdE9iaio+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5M
SUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVj
LCAiVGVzdE9iaiIsICJhdHRyaWJ1dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZSIpOworICAgICAgICBp
ZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RPYmpQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhp
c1ZhbHVlKSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMs
ICJUZXN0T2JqIiwgImF0dHJpYnV0ZVdpdGhSZXNlcnZlZEVudW1UeXBlIik7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdE9iaiIsICJh
dHRyaWJ1dGVXaXRoUmVzZXJ2ZWRFbnVtVHlwZSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIFRlc3RPYmomIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IGZlMzkw
MjQyOTcxYTAxMzc5YjcxNTFlYTIwM2I1NGMyOGE2ZWYyMjAuLjY5ZjgxZTJmYWI0YzRlMzI5MGQz
ZThlN2RhYjcyOWQ3NDk2MmI5MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0yMzYsNyArMjM2LDEwIEBAIHZvaWQg
c2V0SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVmFsdWUoRXhlY1N0YXRlKiBl
eGVjLCBKU09iamVjdCogLyoKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiBj
YXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFj
YXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UiLCAidmFsdWUiKTsKKyAgICAgICAgaWYgKGpz
RHluYW1pY0Nhc3Q8SlNUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUHJvdG90eXBl
Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVj
YXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZSIsICJ2YWx1ZSIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVF
cnJvcigqZXhlYywgIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UiLCAidmFsdWUi
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtMjUyLDcgKzI1NSwxMCBA
QCB2b2lkIHNldEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNhY2hlZFZhbHVl
KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplYwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2UqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5M
SUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVj
LCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSIsICJjYWNoZWRWYWx1ZSIpOwor
ICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRl
cmZhY2VQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpCisgICAgICAgICAg
ICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlIiwgImNhY2hlZFZhbHVlIik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZSIsICJjYWNoZWRWYWx1ZSIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAg
IFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UmIGltcGwgPSBjYXN0ZWRUaGlzLT5p
bXBsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAppbmRleCA0ODU4MTFlNjA3ZmQ4NmIzMjRkMThlNzFj
MzZiNmFlMmFmMGIxMWRiLi5hNDdiN2U2YTk0MTRhYThmYTEwZDE3ZTc1M2Y2YzAwMzA5ZGRiMzMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKQEAgLTM2Myw3ICszNjMsMTAgQEAgdm9pZCBzZXRKU1Rl
c3RUeXBlZGVmc1Vuc2lnbmVkTG9uZ0xvbmdBdHRyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3Qq
IC8qIGJhc2VPYmoKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRW
YWx1ZSk7CiAgICAgSlNUZXN0VHlwZWRlZnMqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpT
VGVzdFR5cGVkZWZzKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJ
S0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMs
ICJUZXN0VHlwZWRlZnMiLCAidW5zaWduZWRMb25nTG9uZ0F0dHIiKTsKKyAgICAgICAgaWYgKGpz
RHluYW1pY0Nhc3Q8SlNUZXN0VHlwZWRlZnNQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhp
c1ZhbHVlKSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMs
ICJUZXN0VHlwZWRlZnMiLCAidW5zaWduZWRMb25nTG9uZ0F0dHIiKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0VHlwZWRlZnMiLCAi
dW5zaWduZWRMb25nTG9uZ0F0dHIiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0
VHlwZWRlZnMmIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0zNzksNyArMzgyLDEwIEBA
IHZvaWQgc2V0SlNUZXN0VHlwZWRlZnNJbW11dGFibGVTZXJpYWxpemVkU2NyaXB0VmFsdWUoRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCoKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNUZXN0VHlwZWRlZnMqIGNhc3RlZFRoaXMgPSBqc0R5
bmFtaWNDYXN0PEpTVGVzdFR5cGVkZWZzKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwog
ICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBl
RXJyb3IoKmV4ZWMsICJUZXN0VHlwZWRlZnMiLCAiaW1tdXRhYmxlU2VyaWFsaXplZFNjcmlwdFZh
bHVlIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdFR5cGVkZWZzUHJvdG90eXBl
Kj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVj
YXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdFR5cGVkZWZzIiwgImltbXV0YWJsZVNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZSIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5
cGVFcnJvcigqZXhlYywgIlRlc3RUeXBlZGVmcyIsICJpbW11dGFibGVTZXJpYWxpemVkU2NyaXB0
VmFsdWUiKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBUZXN0VHlwZWRlZnMmIGltcGwg
PSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC0zOTUsNyArNDAxLDEwIEBAIHZvaWQgc2V0SlNUZXN0
VHlwZWRlZnNBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0
KiAvKiBiYXNlCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFs
dWUpOwogICAgIEpTVGVzdFR5cGVkZWZzKiBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rl
c3RUeXBlZGVmcyo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtF
TFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAi
VGVzdFR5cGVkZWZzIiwgImF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIik7CisgICAgICAgIGlmIChq
c0R5bmFtaWNDYXN0PEpTVGVzdFR5cGVkZWZzUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpKQorICAgICAgICAgICAgcmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVj
LCAiVGVzdFR5cGVkZWZzIiwgImF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIik7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHRocm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdFR5cGVkZWZz
IiwgImF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgVGVzdFR5cGVkZWZzJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpAQCAtNDExLDcgKzQy
MCwxMCBAQCB2b2lkIHNldEpTVGVzdFR5cGVkZWZzQXR0cldpdGhTZXR0ZXJFeGNlcHRpb24oRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogLyogYmFzZQogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1Rlc3RUeXBlZGVmcyogY2FzdGVkVGhp
cyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0VHlwZWRlZnMqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1Zh
bHVlKSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkgewotICAgICAgICB0aHJvd1Nl
dHRlclR5cGVFcnJvcigqZXhlYywgIlRlc3RUeXBlZGVmcyIsICJhdHRyV2l0aFNldHRlckV4Y2Vw
dGlvbiIpOworICAgICAgICBpZiAoanNEeW5hbWljQ2FzdDxKU1Rlc3RUeXBlZGVmc1Byb3RvdHlw
ZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSkKKyAgICAgICAgICAgIHJlcG9ydERlcHJl
Y2F0ZWRTZXR0ZXJFcnJvcigqZXhlYywgIlRlc3RUeXBlZGVmcyIsICJhdHRyV2l0aFNldHRlckV4
Y2VwdGlvbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aHJvd1NldHRlclR5cGVFcnJv
cigqZXhlYywgIlRlc3RUeXBlZGVmcyIsICJhdHRyV2l0aFNldHRlckV4Y2VwdGlvbiIpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIFRlc3RUeXBlZGVmcyYgaW1wbCA9IGNhc3RlZFRoaXMt
PmltcGwoKTsKQEAgLTQyOSw3ICs0NDEsMTAgQEAgdm9pZCBzZXRKU1Rlc3RUeXBlZGVmc1N0cmlu
Z0F0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIC8KICAg
ICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNU
ZXN0VHlwZWRlZnMqIGNhc3RlZFRoaXMgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdFR5cGVkZWZzKj4o
SlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhp
cykpIHsKLSAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0VHlwZWRlZnMi
LCAic3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iKTsKKyAgICAgICAgaWYgKGpzRHluYW1p
Y0Nhc3Q8SlNUZXN0VHlwZWRlZnNQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVl
KSkpCisgICAgICAgICAgICByZXBvcnREZXByZWNhdGVkU2V0dGVyRXJyb3IoKmV4ZWMsICJUZXN0
VHlwZWRlZnMiLCAic3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgdGhyb3dTZXR0ZXJUeXBlRXJyb3IoKmV4ZWMsICJUZXN0VHlwZWRlZnMi
LCAic3RyaW5nQXR0cldpdGhHZXR0ZXJFeGNlcHRpb24iKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBUZXN0VHlwZWRlZnMmIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CkBAIC00NDUs
NyArNDYwLDEwIEBAIHZvaWQgc2V0SlNUZXN0VHlwZWRlZnNTdHJpbmdBdHRyV2l0aFNldHRlckV4
Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiAvCiAgICAgSlNWYWx1ZSB2YWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVGVzdFR5cGVkZWZzKiBjYXN0
ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RUeXBlZGVmcyo+KEpTVmFsdWU6OmRlY29kZSh0
aGlzVmFsdWUpKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKSB7Ci0gICAgICAgIHRo
cm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdFR5cGVkZWZzIiwgInN0cmluZ0F0dHJXaXRo
U2V0dGVyRXhjZXB0aW9uIik7CisgICAgICAgIGlmIChqc0R5bmFtaWNDYXN0PEpTVGVzdFR5cGVk
ZWZzUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKQorICAgICAgICAgICAg
cmVwb3J0RGVwcmVjYXRlZFNldHRlckVycm9yKCpleGVjLCAiVGVzdFR5cGVkZWZzIiwgInN0cmlu
Z0F0dHJXaXRoU2V0dGVyRXhjZXB0aW9uIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRo
cm93U2V0dGVyVHlwZUVycm9yKCpleGVjLCAiVGVzdFR5cGVkZWZzIiwgInN0cmluZ0F0dHJXaXRo
U2V0dGVyRXhjZXB0aW9uIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgVGVzdFR5cGVk
ZWZzJiBpbXBsID0gY2FzdGVkVGhpcy0+aW1wbCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGYxZGI5MDJjZWY1NDVkZjIw
YTVmNjIyMjhkNTU2NjhmYzE2NDljNmYuLmI4N2Y4NTk3ZjZmM2QxMGJiYmVmMDc0ZGMwNzljM2I5
NDgzODAwYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wNS0wNiAgT2xpdmVyIEh1bnQg
IDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIENhbid0IG1ha2UgYSBib29raW5nIGF0IHZp
cmdpbmFtZXJpY2EuY29tCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzI2MjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdGNhc2UgdG8gbWFrZSBzdXJlIHRoYXQgd2UgYXJlIHNpbGVudGx5IGln
bm9yaW5nIHVzYWdlCisgICAgICAgIG9mIHByb3RvdHlwZSBzZXR0ZXJzIGFuZCB0aGUgcHJvdG90
eXBlIGl0c2VsZi4gV2UgZHVtcCBhIHdhcm5pbmcKKyAgICAgICAgdG8gdGhlIGNvbnNvbGUgYXMg
dGhyb3dpbmcgYW4gZXhjZXB0aW9uIGJyZWFrcyBzaXRlcyB0aGF0IHVzZWQKKyAgICAgICAgdG8g
cmVseSBvbiBlc3NlbnRpYWxseSBuby1vcCBiZWhhdmlvci4KKworICAgICAgICAqIGZhc3QvZG9t
L2Fzc2lnbi10by1wcm90b3R5cGUtYWNjZXNzb3Itb24tcHJvdG90eXBlLXNob3VsZC1iZS1zaWxl
bnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9hc3NpZ24tdG8tcHJv
dG90eXBlLWFjY2Vzc29yLW9uLXByb3RvdHlwZS1zaG91bGQtYmUtc2lsZW50Lmh0bWw6IEFkZGVk
LgorCiAyMDE0LTA1LTA2ICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAg
ICBCZWdpbiBSZW1vdmFsIG9mIE9sZCBNdWx0aS1Db2x1bW4gQ29kZS4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL2Fzc2lnbi10by1wcm90b3R5cGUtYWNjZXNzb3Itb24tcHJvdG90
eXBlLXNob3VsZC1iZS1zaWxlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
YXNzaWduLXRvLXByb3RvdHlwZS1hY2Nlc3Nvci1vbi1wcm90b3R5cGUtc2hvdWxkLWJlLXNpbGVu
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjhmOGM4Zjc5YWMwNDBiYWVhOWViNWI1YTE4OTVj
MTAwZDJlMGRjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fzc2ln
bi10by1wcm90b3R5cGUtYWNjZXNzb3Itb24tcHJvdG90eXBlLXNob3VsZC1iZS1zaWxlbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0NPTlNPTEUgTUVTU0FHRTogRGVwcmVjYXRlZCBh
dHRlbXB0IHRvIHNldCBwcm9wZXJ0eSAnb25jb3B5JyBvbiBhIG5vbi1Eb2N1bWVudCBvYmplY3Qu
CitDT05TT0xFIE1FU1NBR0U6IERlcHJlY2F0ZWQgYXR0ZW1wdCB0byBzZXQgcHJvcGVydHkgJ3Nl
bGVjdGVkU3R5bGVzaGVldFNldCcgb24gYSBub24tRG9jdW1lbnQgb2JqZWN0LgorQ09OU09MRSBN
RVNTQUdFOiBEZXByZWNhdGVkIGF0dGVtcHQgdG8gc2V0IHByb3BlcnR5ICdpbm5lclRleHQnIG9u
IGEgbm9uLUhUTUxFbGVtZW50IG9iamVjdC4KK01ha2VzIHN1cmUgdGhhdCBhc3NpZ25pbmcgdG8g
YSBET00gcHJvcGVydHkgZGlyZWN0bHkgb24gdGhlIHByb3RvdHlwZSBwcm9kdWNlcyBhIHNpbGVu
dCBlcnJvci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9hc3NpZ24tdG8tcHJvdG90eXBlLWFjY2Vzc29yLW9uLXByb3RvdHlwZS1z
aG91bGQtYmUtc2lsZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9hc3NpZ24tdG8tcHJv
dG90eXBlLWFjY2Vzc29yLW9uLXByb3RvdHlwZS1zaG91bGQtYmUtc2lsZW50Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWZlNWY5MjU1YmRjYzUxZTRmZDA5YzQ1NThkYjQ0Mjg5M2MyNmE5YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2Fzc2lnbi10by1wcm90b3R5cGUtYWNjZXNz
b3Itb24tcHJvdG90eXBlLXNob3VsZC1iZS1zaWxlbnQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiTWFr
ZXMgc3VyZSB0aGF0IGFzc2lnbmluZyB0byBhIERPTSBwcm9wZXJ0eSBkaXJlY3RseSBvbiB0aGUg
cHJvdG90eXBlIHByb2R1Y2VzIGEgc2lsZW50IGVycm9yLiIpOworCitEb2N1bWVudC5wcm90b3R5
cGUub25jb3B5ID0gImZhaWwiOworRG9jdW1lbnQucHJvdG90eXBlLnNlbGVjdGVkU3R5bGVzaGVl
dFNldCA9ICJmYWlsIjsKK0RvY3VtZW50LnByb3RvdHlwZS5kaXIgPSAiZmFpbCI7CitIVE1MRWxl
bWVudC5wcm90b3R5cGUuaW5uZXJUZXh0ID0gImZhaWwiOworCis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>
<flag name="review"
          id="255343"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>